/* Generated by Cython 0.25 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/tmp/pip-install-9i_72p5f/cython_58c0ae716fd246eb8843b3dfd03bc38a/Cython/Compiler/Code.pxd"
        ]
    },
    "module_name": "Cython.Compiler.Code"
}
END: Cython Metadata */

#define PY_SSIZE_T_CLEAN
#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 < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
    #error Cython requires Python 2.6+ or Python 3.2+.
#else
#define CYTHON_ABI "0_25"
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !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
#ifndef HAVE_LONG_LONG
  #if PY_VERSION_HEX >= 0x03030000 || (PY_MAJOR_VERSION == 2 && PY_VERSION_HEX >= 0x02070000)
    #define HAVE_LONG_LONG
  #endif
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 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_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
#elif defined(PYSTON_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #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_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #if PY_MAJOR_VERSION < 3
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if PY_VERSION_HEX < 0x030300F0
    #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
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #include "longintrepr.h"
  #undef SHIFT
  #undef BASE
  #undef MASK
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  #define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_PyCode_New(a, 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)
  #define __Pyx_DefaultClassType PyClass_Type
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_PyCode_New(a, 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)
  #define __Pyx_DefaultClassType PyType_Type
#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 METH_FASTCALL
  #define METH_FASTCALL 0x80
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,
                                              Py_ssize_t nargs, PyObject *kwnames);
#else
  #define __Pyx_PyCFunctionFast _PyCFunctionFast
#endif
#if CYTHON_FAST_PYCCALL
#define __Pyx_PyFastCFunction_Check(func)\
    ((PyCFunction_Check(func) && METH_FASTCALL == PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST)))
#else
#define __Pyx_PyFastCFunction_Check(func) 0
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #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)         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, ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
#else
  #define CYTHON_PEP393_ENABLED 0
  #define PyUnicode_1BYTE_KIND  1
  #define PyUnicode_2BYTE_KIND  2
  #define PyUnicode_4BYTE_KIND  4
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
#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 && !defined(PyUnicode_Contains)
  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
#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_PYSTON
  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
  #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
#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
#else
  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  #define PyObject_ASCII(o)            PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  #define PyNumber_Int                 PyNumber_Long
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  #ifndef PyUnicode_InternFromString
    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  #endif
#endif
#if PY_VERSION_HEX < 0x030200A4
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
#else
  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
#endif
#if CYTHON_USE_ASYNC_SLOTS
  #if PY_VERSION_HEX >= 0x030500B1
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  #else
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
    } __Pyx_PyAsyncMethodsStruct;
    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  #endif
#else
  #define __Pyx_PyType_AsAsync(obj) NULL
#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
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)

#ifndef CYTHON_INLINE
  #if 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

#if defined(WIN32) || defined(MS_WINDOWS)
  #define _USE_MATH_DEFINES
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif


#define __PYX_ERR(f_index, lineno, Ln_error) \
{ \
  __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
}

#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif

#ifndef __PYX_EXTERN_C
  #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
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#ifdef PYREX_WITHOUT_ASSERTIONS
#define CYTHON_WITHOUT_ASSERTIONS
#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_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 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)))  )
#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) && defined (_M_X64)
    #define __Pyx_sst_abs(value) _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 char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
#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 PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#define __Pyx_PyObject_AsSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((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_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#if PY_MAJOR_VERSION < 3
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
{
    const Py_UNICODE *u_end = u;
    while (*u_end++) ;
    return (size_t)(u_end - u - 1);
}
#else
#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
#endif
#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
#define __Pyx_PyBool_FromLong(b) ((b) ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False))
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    const char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    if (strcmp(default_encoding_c, "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (!ascii_chars_u) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
        Py_DECREF(ascii_chars_u);
        Py_DECREF(ascii_chars_b);
    }
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#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__ */

static PyObject *__pyx_m;
static PyObject *__pyx_d;
static PyObject *__pyx_b;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static PyObject *__pyx_empty_unicode;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;


static const char *__pyx_f[] = {
  "Cython/Compiler/Code.py",
  "Cython/Compiler/Code.pxd",
};

/*--- Type declarations ---*/
struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState;
struct __pyx_obj_6Cython_8Compiler_4Code_IntConst;
struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst;
struct __pyx_obj_6Cython_8Compiler_4Code_StringConst;
struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr;
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property;
struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label;
struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const;
struct __pyx_defaults;
typedef struct __pyx_defaults __pyx_defaults;
struct __pyx_defaults1;
typedef struct __pyx_defaults1 __pyx_defaults1;
struct __pyx_defaults2;
typedef struct __pyx_defaults2 __pyx_defaults2;
struct __pyx_defaults3;
typedef struct __pyx_defaults3 __pyx_defaults3;

/* "Cython/Compiler/Code.pxd":51
 * 
 *     @cython.locals(n=size_t)
 *     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":78
 * 
 *     @cython.locals(intern=bint, is_str=bint, is_unicode=bint)
 *     cpdef get_py_string_const(self, encoding, identifier=*, is_str=*, py3str_cstring=*)             # <<<<<<<<<<<<<<
 * 
 * ## cdef class PyStringConst:
 */
struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const {
  int __pyx_n;
  PyObject *identifier;
  int is_str;
  PyObject *py3str_cstring;
};
struct __pyx_defaults {
  PyObject *__pyx_arg___cache;
};
struct __pyx_defaults1 {
  PyObject *__pyx_arg_replace_empty_lines;
};
struct __pyx_defaults2 {
  PyObject *__pyx_arg___cache;
};
struct __pyx_defaults3 {
  PyObject *__pyx_arg_mapper;
};

/* "Cython/Compiler/Code.pxd":20
 * #    cpdef format_code(self, code_string, replace_empty_lines=*)
 * 
 * cdef class FunctionState:             # <<<<<<<<<<<<<<
 *     cdef public set names_taken
 *     cdef public object owner
 */
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;
  int in_try_finally;
  int can_trace;
  int gil_owned;
  PyObject *temps_allocated;
  PyObject *temps_free;
  PyObject *temps_used_type;
  size_t temp_counter;
  PyObject *collect_temps_stack;
  PyObject *closure_temps;
  int should_declare_error_indicator;
  int uses_error_indicator;
};


/* "Cython/Compiler/Code.pxd":61
 *     cpdef list temps_in_use(self)
 * 
 * cdef class IntConst:             # <<<<<<<<<<<<<<
 *     cdef public object cname
 *     cdef public object value
 */
struct __pyx_obj_6Cython_8Compiler_4Code_IntConst {
  PyObject_HEAD
  PyObject *cname;
  PyObject *value;
  int is_long;
};


/* "Cython/Compiler/Code.pxd":66
 *     cdef public bint is_long
 * 
 * cdef class PyObjectConst:             # <<<<<<<<<<<<<<
 *     cdef public object cname
 *     cdef public object type
 */
struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst {
  PyObject_HEAD
  PyObject *cname;
  PyObject *type;
};


/* "Cython/Compiler/Code.pxd":70
 *     cdef public object type
 * 
 * cdef class StringConst:             # <<<<<<<<<<<<<<
 *     cdef public object cname
 *     cdef public object text
 */
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;
  PyObject *py_versions;
};


/* "Cython/Compiler/Code.pxd":93
 * #class CCodeWriter(object):
 * 
 * cdef class PyrexCodeWriter:             # <<<<<<<<<<<<<<
 *     cdef public object f
 *     cdef public Py_ssize_t level
 */
struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter {
  PyObject_HEAD
  PyObject *f;
  Py_ssize_t level;
};


/* "Cython/Compiler/Code.py":410
 *             return s
 * 
 *     def inject_string_constants(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 */
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants {
  PyObject_HEAD
  PyObject *__pyx_v_output;
  PyObject *__pyx_v_replacements;
};


/* "Cython/Compiler/Code.py":430
 *         return bool(replacements), impl
 * 
 *     def inject_unbound_methods(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 */
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods {
  PyObject_HEAD
  PyObject *__pyx_v_output;
  PyObject *__pyx_v_utility_code;
};


/* "Cython/Compiler/Code.py":465
 *             return impl
 * 
 *         def split_string(matchobj):             # <<<<<<<<<<<<<<
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 */
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string {
  PyObject_HEAD
  PyObject *__pyx_v_content;
};


/* "Cython/Compiler/Code.py":468
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]             # <<<<<<<<<<<<<<
 *                 for line in content.splitlines())
 * 
 */
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr {
  PyObject_HEAD
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *__pyx_outer_scope;
  PyObject *__pyx_v_line;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
  PyObject *(*__pyx_t_2)(PyObject *);
};


/* "Cython/Compiler/Code.py":1494
 * 
 * 
 * def funccontext_property(name):             # <<<<<<<<<<<<<<
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
 */
struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property {
  PyObject_HEAD
  PyObject *__pyx_v_attribute_of;
  PyObject *__pyx_v_name;
};



/* "Cython/Compiler/Code.py":575
 * 
 * 
 * class FunctionState(object):             # <<<<<<<<<<<<<<
 *     # 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;


/* "Cython/Compiler/Code.py":843
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
 * 
 * class StringConst(object):             # <<<<<<<<<<<<<<
 *     """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;

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, 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;
#ifdef WITH_THREAD
  #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__);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #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) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #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_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)

/* PyObjectGetAttrStr.proto */
#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);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_getattr))
        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
    return PyObject_GetAttr(obj, attr_name);
}
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

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

/* GetModuleGlobalName.proto */
static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name);

/* PyCFunctionFastCall.proto */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
#else
#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
#endif

/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs);
#else
#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
#endif
#endif

/* PyObjectCall.proto */
#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 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

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

/* 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);

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

/* ParseKeywords.proto */
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
    const char* function_name);

/* StringJoin.proto */
#if PY_MAJOR_VERSION < 3
#define __Pyx_PyString_Join __Pyx_PyBytes_Join
#define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v))
#else
#define __Pyx_PyString_Join PyUnicode_Join
#define __Pyx_PyBaseString_Join PyUnicode_Join
#endif
#if CYTHON_COMPILING_IN_CPYTHON
    #if PY_MAJOR_VERSION < 3
    #define __Pyx_PyBytes_Join _PyString_Join
    #else
    #define __Pyx_PyBytes_Join _PyBytes_Join
    #endif
#else
static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);
#endif

/* 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));
}

/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = PyThreadState_GET();
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#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

/* PyErrExceptionMatches.proto */
#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

/* 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

/* PyErrFetchRestore.proto */
#if CYTHON_FAST_THREAD_STATE
#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);
#else
#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(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

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

/* IncludeStringH.proto */
#include <string.h>

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

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

/* StrEquals.proto */
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
#else
#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
#endif

/* SetItemInt.proto */
#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
               __Pyx_SetItemInt_Generic(o, to_py_func(i), v)))
static CYTHON_INLINE 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);

/* 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);

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
    (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)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (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);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (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);
static CYTHON_INLINE 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);

/* PyObjectCallNoArg.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
#else
#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
#endif

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

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

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

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

/* PyObjectLookupSpecial.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x02070000
static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) {
    PyObject *res;
    PyTypeObject *tp = Py_TYPE(obj);
#if PY_MAJOR_VERSION < 3
    if (unlikely(PyInstance_Check(obj)))
        return __Pyx_PyObject_GetAttrStr(obj, attr_name);
#endif
    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 {
        PyErr_SetObject(PyExc_AttributeError, attr_name);
    }
    return res;
}
#else
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* FetchCommonType.proto */
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);

/* CythonFunction.proto */
#define __Pyx_CyFunction_USED 1
#include <structmember.h>
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#define __Pyx_CyFunction_GetClassObj(f)\
    (((__pyx_CyFunctionObject *) (f))->func_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 {
    PyCFunctionObject func;
#if PY_VERSION_HEX < 0x030500A0
    PyObject *func_weakreflist;
#endif
    PyObject *func_dict;
    PyObject *func_name;
    PyObject *func_qualname;
    PyObject *func_doc;
    PyObject *func_globals;
    PyObject *func_code;
    PyObject *func_closure;
    PyObject *func_classobj;
    void *defaults;
    int defaults_pyobjects;
    int flags;
    PyObject *defaults_tuple;
    PyObject *defaults_kwdict;
    PyObject *(*defaults_getter)(PyObject *);
    PyObject *func_annotations;
} __pyx_CyFunctionObject;
static PyTypeObject *__pyx_CyFunctionType = 0;
#define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code)\
    __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code)
static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *self,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);
static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
                                                         size_t size,
                                                         int pyobjects);
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(void);

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

/* PyIntBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace);
#else
#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace)\
    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
#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);

/* 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);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);

/* 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);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif

/* 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));
}

/* 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) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_setattro))
        return tp->tp_setattro(obj, attr_name, value);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_setattr))
        return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
#endif
    return PyObject_SetAttr(obj, attr_name, value);
}
#else
#define __Pyx_PyObject_DelAttrStr(o,n)   PyObject_DelAttr(o,n)
#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
#endif

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

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

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

/* UnpackUnboundCMethod.proto */
typedef struct {
    PyObject *type;
    PyObject **method_name;
    PyCFunction func;
    PyObject *method;
    int flag;
} __Pyx_CachedCFunction;

/* CallUnboundCMethod0.proto */
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CallUnboundCMethod0(cfunc, self)\
    ((likely((cfunc)->func)) ?\
        (likely((cfunc)->flag == METH_NOARGS) ?  (*((cfunc)->func))(self, NULL) :\
         (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ?  ((*(PyCFunctionWithKeywords)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
             ((cfunc)->flag == METH_VARARGS ?  (*((cfunc)->func))(self, __pyx_empty_tuple) :\
              (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ?  (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
                __Pyx__CallUnboundCMethod0(cfunc, self))))) :\
        __Pyx__CallUnboundCMethod0(cfunc, self))
#else
#define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
#endif

/* PyObjectCallMethod1.proto */
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);

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

/* DictGetItem.proto */
#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
    PyObject *value;
    value = PyDict_GetItemWithError(d, key);
    if (unlikely(!value)) {
        if (!PyErr_Occurred()) {
            PyObject* args = PyTuple_Pack(1, key);
            if (likely(args))
                PyErr_SetObject(PyExc_KeyError, args);
            Py_XDECREF(args);
        }
        return NULL;
    }
    Py_INCREF(value);
    return value;
}
#else
    #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#endif

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

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

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

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

/* UnpackTuple2.proto */
static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** value1, PyObject** value2,
                                             int is_tuple, 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);

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

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

/* pop.proto */
static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L);
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
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

/* 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

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

/* PyIntBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, int inplace);
#else
#define __Pyx_PyInt_EqObjC(op1, op2, intval, inplace)\
    PyObject_RichCompare(op1, op2, Py_EQ)
    #endif

/* 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

/* 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
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

/* SetVTable.proto */
static int __Pyx_SetVtable(PyObject *dict, void *vtable);

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

/* ClassMethod.proto */
#include "descrobject.h"
static PyObject* __Pyx_Method_ClassMethod(PyObject *method);

/* 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);

/* decode_c_bytes.proto */
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)) {
    return __Pyx_decode_c_bytes(
        PyBytes_AS_STRING(string), PyBytes_GET_SIZE(string),
        start, stop, encoding, errors, decode_func);
}

/* CodeObjectCache.proto */
typedef struct {
    PyCodeObject* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);

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

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

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

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

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

/* CoroutineBase.proto */
typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyObject *);
typedef struct {
    PyObject_HEAD
    __pyx_coroutine_body_t body;
    PyObject *closure;
    PyObject *exc_type;
    PyObject *exc_value;
    PyObject *exc_traceback;
    PyObject *gi_weakreflist;
    PyObject *classobj;
    PyObject *yieldfrom;
    PyObject *gi_name;
    PyObject *gi_qualname;
    PyObject *gi_modulename;
    int resume_label;
    char is_running;
} __pyx_CoroutineObject;
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
    PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *closure,
    PyObject *name, PyObject *qualname, PyObject *module_name);
static int __Pyx_Coroutine_clear(PyObject *self);
#if 1 || PY_VERSION_HEX < 0x030300B0
static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue);
#else
#define __Pyx_PyGen_FetchStopIterationValue(pvalue) PyGen_FetchStopIterationValue(pvalue)
#endif

/* PatchModuleWithCoroutine.proto */
static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);

/* PatchGeneratorABC.proto */
static int __Pyx_patch_abc(void);

/* Generator.proto */
#define __Pyx_Generator_USED
static PyTypeObject *__pyx_GeneratorType = 0;
#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType)
#define __Pyx_Generator_New(body, closure, name, qualname, module_name)\
    __Pyx__Coroutine_New(__pyx_GeneratorType, body, closure, name, qualname, module_name)
static PyObject *__Pyx_Generator_Next(PyObject *self);
static int __pyx_Generator_init(void);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(void);

/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);

static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, 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, 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, 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, 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, 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, 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, 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, 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, int __pyx_skip_dispatch, struct __pyx_opt_args_6Cython_8Compiler_4Code_11StringConst_get_py_string_const *__pyx_optional_args); /* proto*/

/* Module declarations from 'cython' */

/* Module declarations from 'Cython.Compiler.Code' */
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_FunctionState = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_IntConst = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_StringConst = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr = 0;
static PyTypeObject *__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property = 0;
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_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_StringIOTree = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_DebugFlags = 0;
static PyObject *__pyx_v_6Cython_8Compiler_4Code_basestring = 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;
#define __Pyx_MODULE_NAME "Cython.Compiler.Code"
int __pyx_module_is_main_Cython__Compiler__Code = 0;

/* Implementation of 'Cython.Compiler.Code' */
static PyObject *__pyx_builtin_ImportError;
static PyObject *__pyx_builtin_object;
static PyObject *__pyx_builtin_vars;
static PyObject *__pyx_builtin_KeyError;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_RuntimeError;
static PyObject *__pyx_builtin_enumerate;
static PyObject *__pyx_builtin_OSError;
static PyObject *__pyx_builtin_super;
static PyObject *__pyx_builtin_zip;
static PyObject *__pyx_builtin_property;
static const char __pyx_k_[] = "\n";
static const char __pyx_k_0[] = "0";
static const char __pyx_k_1[] = "\\1";
static const char __pyx_k_C[] = "C";
static const char __pyx_k_F[] = "F";
static const char __pyx_k_L[] = "L";
static const char __pyx_k_U[] = "U";
static const char __pyx_k_X[] = "X";
static const char __pyx_k_b[] = "b";
static const char __pyx_k_c[] = "c";
static const char __pyx_k_e[] = "e";
static const char __pyx_k_f[] = "f";
static const char __pyx_k_m[] = "m";
static const char __pyx_k_r[] = "r";
static const char __pyx_k_s[] = "^\\s*#.*";
static const char __pyx_k_u[] = "u";
static const char __pyx_k_w[] = "w";
static const char __pyx_k_Py[] = "Py";
static const char __pyx_k__6[] = "#";
static const char __pyx_k__8[] = "";
static const char __pyx_k__9[] = "/";
static const char __pyx_k_dl[] = "dl";
static const char __pyx_k_eq[] = "__eq__";
static const char __pyx_k_lt[] = "__lt__";
static const char __pyx_k_os[] = "os";
static const char __pyx_k_py[] = ".py";
static const char __pyx_k_re[] = "re";
static const char __pyx_k_Pyx[] = "__Pyx";
static const char __pyx_k__19[] = "::";
static const char __pyx_k__21[] = ".";
static const char __pyx_k__23[] = "\n\n";
static const char __pyx_k__28[] = ",";
static const char __pyx_k__30[] = ", ";
static const char __pyx_k__33[] = "\\";
static const char __pyx_k__35[] = "\\\\";
static const char __pyx_k__39[] = "\"";
static const char __pyx_k__44[] = "_";
static const char __pyx_k__62[] = "}";
static const char __pyx_k__73[] = "+";
static const char __pyx_k__75[] = "-";
static const char __pyx_k__83[] = "<";
static const char __pyx_k__84[] = ">=";
static const char __pyx_k__95[] = "};";
static const char __pyx_k__98[] = " * ";
static const char __pyx_k__99[] = "*/";
static const char __pyx_k_add[] = "add";
static const char __pyx_k_arg[] = "arg";
static const char __pyx_k_bol[] = "bol";
static const char __pyx_k_cls[] = "cls";
static const char __pyx_k_col[] = "col";
static const char __pyx_k_dep[] = "dep";
static const char __pyx_k_doc[] = "doc";
static const char __pyx_k_end[] = "end";
static const char __pyx_k_ext[] = "ext";
static const char __pyx_k_get[] = "get";
static const char __pyx_k_int[] = "int";
static const char __pyx_k_key[] = "key";
static const char __pyx_k_lbl[] = "lbl";
static const char __pyx_k_md5[] = "md5";
static const char __pyx_k_n_n[] = "\\n\\n+";
static const char __pyx_k_neg[] = "neg_";
static const char __pyx_k_pop[] = "pop";
static const char __pyx_k_pos[] = "pos";
static const char __pyx_k_put[] = "put";
static const char __pyx_k_pxd[] = ".pxd";
static const char __pyx_k_pxi[] = ".pxi";
static const char __pyx_k_pyx[] = ".pyx";
static const char __pyx_k_s_0[] = "%s < 0";
static const char __pyx_k_s_2[] = "^\\s*//.*|/\\*[^*]*\\*/";
static const char __pyx_k_s_3[] = "\\s+(\\\\?)$";
static const char __pyx_k_s_4[] = "s";
static const char __pyx_k_s_5[] = "\"%s\"\n";
static const char __pyx_k_s_6[] = "/* %s */";
static const char __pyx_k_s_7[] = "_%s";
static const char __pyx_k_s_8[] = "\"%s\"";
static const char __pyx_k_s_9[] = "/* %s */\n";
static const char __pyx_k_s_d[] = "%s%d";
static const char __pyx_k_s_n[] = "\"%s\\n\"\n";
static const char __pyx_k_s_s[] = "<%s(%s)>";
static const char __pyx_k_set[] = "set";
static const char __pyx_k_str[] = "str";
static const char __pyx_k_sub[] = "sub";
static const char __pyx_k_sys[] = "sys";
static const char __pyx_k_tag[] = "tag";
static const char __pyx_k_zip[] = "zip";
static const char __pyx_k_NULL[] = " = NULL";
static const char __pyx_k_UTF8[] = "UTF8";
static const char __pyx_k__101[] = "/*";
static const char __pyx_k__112[] = "             # <<<<<<<<<<<<<<";
static const char __pyx_k__115[] = "{";
static const char __pyx_k__120[] = "  ";
static const char __pyx_k__124[] = ";";
static const char __pyx_k__127[] = " ";
static const char __pyx_k__129[] = "|";
static const char __pyx_k__164[] = "    ";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_call[] = "call";
static const char __pyx_k_code[] = "code";
static const char __pyx_k_cond[] = "cond";
static const char __pyx_k_data[] = "data";
static const char __pyx_k_decl[] = "decl";
static const char __pyx_k_else[] = "#else";
static const char __pyx_k_exit[] = "__exit__";
static const char __pyx_k_file[] = "__file__";
static const char __pyx_k_func[] = "func";
static const char __pyx_k_hash[] = "__hash__";
static const char __pyx_k_if_s[] = "#if %s";
static const char __pyx_k_impl[] = "impl";
static const char __pyx_k_init[] = "init";
static const char __pyx_k_join[] = "join";
static const char __pyx_k_lazy[] = "<lazy>";
static const char __pyx_k_line[] = "line";
static const char __pyx_k_load[] = "load";
static const char __pyx_k_long[] = "long";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_next[] = "__next__";
static const char __pyx_k_part[] = "part";
static const char __pyx_k_path[] = "path";
static const char __pyx_k_s_10[] = "%s:;";
static const char __pyx_k_s_11[] = "%s ";
static const char __pyx_k_s_12[] = " = %s";
static const char __pyx_k_s_13[] = "%s";
static const char __pyx_k_s_14[] = "!%s";
static const char __pyx_k_s__d[] = "%s_%d";
static const char __pyx_k_s__s[] = "%s_%s";
static const char __pyx_k_safe[] = "safe";
static const char __pyx_k_self[] = "self";
static const char __pyx_k_send[] = "send";
static const char __pyx_k_tags[] = "tags";
static const char __pyx_k_term[] = "term";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_text[] = "text";
static const char __pyx_k_type[] = "type";
static const char __pyx_k_used[] = "used";
static const char __pyx_k_utf8[] = "utf8";
static const char __pyx_k_util[] = "util";
static const char __pyx_k_vars[] = "vars";
static const char __pyx_k_0_9_w[] = "(?![0-9])\\w+$";
static const char __pyx_k_ASCII[] = "ASCII";
static const char __pyx_k_UTF_8[] = "UTF-8";
static const char __pyx_k_Utils[] = "Utils";
static const char __pyx_k_aiter[] = "__aiter__";
static const char __pyx_k_anext[] = "__anext__";
static const char __pyx_k_ascii[] = "ascii";
static const char __pyx_k_await[] = "__await__";
static const char __pyx_k_break[] = "break";
static const char __pyx_k_bytes[] = "bytes";
static const char __pyx_k_cache[] = "__cache";
static const char __pyx_k_chunk[] = "chunk";
static const char __pyx_k_cinfo[] = "cinfo";
static const char __pyx_k_cinit[] = "__cinit__";
static const char __pyx_k_clear[] = "clear";
static const char __pyx_k_close[] = "close";
static const char __pyx_k_cname[] = "cname";
static const char __pyx_k_const[] = "const";
static const char __pyx_k_count[] = "count";
static const char __pyx_k_decls[] = "decls";
static const char __pyx_k_doc_2[] = "__doc__";
static const char __pyx_k_endif[] = "#endif";
static const char __pyx_k_enter[] = "__enter__";
static const char __pyx_k_entry[] = "entry";
static const char __pyx_k_error[] = "error";
static const char __pyx_k_files[] = "files";
static const char __pyx_k_float[] = "float";
static const char __pyx_k_group[] = "group";
static const char __pyx_k_guard[] = "guard";
static const char __pyx_k_index[] = "index";
static const char __pyx_k_input[] = "input";
static const char __pyx_k_items[] = "items";
static const char __pyx_k_klass[] = "klass";
static const char __pyx_k_label[] = "label";
static const char __pyx_k_level[] = "level";
static const char __pyx_k_lines[] = "lines";
static const char __pyx_k_lower[] = "lower";
static const char __pyx_k_match[] = "match";
static const char __pyx_k_mtype[] = "mtype";
static const char __pyx_k_nanny[] = "nanny";
static const char __pyx_k_nogil[] = "nogil";
static const char __pyx_k_other[] = "other";
static const char __pyx_k_owner[] = "owner";
static const char __pyx_k_parts[] = "parts";
static const char __pyx_k_proto[] = "proto";
static const char __pyx_k_putln[] = "putln";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_reset[] = "reset";
static const char __pyx_k_s_d_s[] = "\"%s\":%d\n%s\n";
static const char __pyx_k_s_s_2[] = "%s:%s";
static const char __pyx_k_s_s_3[] = "%s%s";
static const char __pyx_k_s_s_4[] = "%s = %s;";
static const char __pyx_k_s_s_5[] = "%s%s;";
static const char __pyx_k_s_s_6[] = " %s = %s;";
static const char __pyx_k_s_s_7[] = "%s%s\n";
static const char __pyx_k_s_s_s[] = "%s(&%s, %s)";
static const char __pyx_k_scope[] = "scope";
static const char __pyx_k_split[] = "split";
static const char __pyx_k_str_2[] = "__str__";
static const char __pyx_k_strip[] = "strip";
static const char __pyx_k_super[] = "super";
static const char __pyx_k_throw[] = "throw";
static const char __pyx_k_trace[] = "trace";
static const char __pyx_k_utf_8[] = "utf-8";
static const char __pyx_k_value[] = "value";
static const char __pyx_k_w_1_s[] = " *(\\w+) = (\\1);\\s*$";
static const char __pyx_k_write[] = "write";
static const char __pyx_k_Naming[] = "Naming";
static const char __pyx_k_append[] = "append";
static const char __pyx_k_buffer[] = "buffer";
static const char __pyx_k_cnames[] = "cnames";
static const char __pyx_k_consts[] = "consts";
static const char __pyx_k_copyto[] = "copyto";
static const char __pyx_k_decode[] = "decode";
static const char __pyx_k_dedent[] = "dedent";
static const char __pyx_k_encode[] = "encode";
static const char __pyx_k_exists[] = "exists";
static const char __pyx_k_extend[] = "extend";
static const char __pyx_k_file_2[] = "file";
static const char __pyx_k_getpid[] = "getpid";
static const char __pyx_k_goto_s[] = "goto %s;";
static const char __pyx_k_groups[] = "groups";
static const char __pyx_k_h_code[] = "h_code";
static const char __pyx_k_helper[] = "helper";
static const char __pyx_k_if_s_s[] = "if (%s) %s";
static const char __pyx_k_ignore[] = "ignore";
static const char __pyx_k_import[] = "__import__";
static const char __pyx_k_indent[] = "indent";
static const char __pyx_k_init_2[] = "__init__";
static const char __pyx_k_inline[] = "inline";
static const char __pyx_k_insert[] = "insert";
static const char __pyx_k_intern[] = "intern";
static const char __pyx_k_is_str[] = "is_str";
static const char __pyx_k_kwargs[] = "kwargs";
static const char __pyx_k_labels[] = "labels";
static const char __pyx_k_levels[] = "levels";
static const char __pyx_k_lineno[] = "lineno";
static const char __pyx_k_loader[] = "__loader__";
static const char __pyx_k_lstrip[] = "lstrip";
static const char __pyx_k_mapper[] = "mapper";
static const char __pyx_k_module[] = "__module__";
static const char __pyx_k_name_2[] = "__name__";
static const char __pyx_k_name_3[] = "__name";
static const char __pyx_k_naming[] = "naming";
static const char __pyx_k_object[] = "object";
static const char __pyx_k_output[] = "output";
static const char __pyx_k_prefix[] = "prefix";
static const char __pyx_k_remove[] = "remove";
static const char __pyx_k_rename[] = "rename";
static const char __pyx_k_result[] = "result";
static const char __pyx_k_return[] = "return";
static const char __pyx_k_rsplit[] = "rsplit";
static const char __pyx_k_rstrip[] = "rstrip";
static const char __pyx_k_s_NULL[] = "%s = NULL;";
static const char __pyx_k_s__s_h[] = "%s_%s.h";
static const char __pyx_k_s_impl[] = "%s_impl";
static const char __pyx_k_s_init[] = "/* %s.init */";
static const char __pyx_k_save_s[] = "_save = %s;";
static const char __pyx_k_static[] = "static";
static const char __pyx_k_string[] = "string";
static const char __pyx_k_unused[] = "unused";
static const char __pyx_k_update[] = "update";
static const char __pyx_k_values[] = "values";
static const char __pyx_k_writer[] = "writer";
static const char __pyx_k_xrange[] = "xrange";
static const char __pyx_k_CSTRING[] = "CSTRING(";
static const char __pyx_k_OSError[] = "OSError";
static const char __pyx_k_Options[] = "Options";
static const char __pyx_k_PYIDENT[] = "PYIDENT(";
static const char __pyx_k_Py_None[] = "Py_None";
static const char __pyx_k_Tempita[] = "Tempita";
static const char __pyx_k_USASCII[] = "USASCII";
static const char __pyx_k_Utility[] = "Utility";
static const char __pyx_k_Version[] = "Version";
static const char __pyx_k_ZipFile[] = "ZipFile";
static const char __pyx_k_abspath[] = "abspath";
static const char __pyx_k_archive[] = "archive";
static const char __pyx_k_builtin[] = "__builtin__";
static const char __pyx_k_c_cname[] = "c_cname";
static const char __pyx_k_cache_2[] = "_cache";
static const char __pyx_k_cf_used[] = "cf_used";
static const char __pyx_k_cleanup[] = "cleanup";
static const char __pyx_k_closing[] = "closing";
static const char __pyx_k_codeobj[] = "codeobj";
static const char __pyx_k_comment[] = "comment";
static const char __pyx_k_compile[] = "compile";
static const char __pyx_k_content[] = "content";
static const char __pyx_k_context[] = "context";
static const char __pyx_k_counter[] = "counter";
static const char __pyx_k_dealloc[] = "__dealloc__";
static const char __pyx_k_dirname[] = "dirname";
static const char __pyx_k_entries[] = "entries";
static const char __pyx_k_fileobj[] = "fileobj";
static const char __pyx_k_findall[] = "findall";
static const char __pyx_k_genexpr[] = "genexpr";
static const char __pyx_k_getattr[] = "__getattr__";
static const char __pyx_k_getitem[] = "__getitem__";
static const char __pyx_k_hashlib[] = "hashlib";
static const char __pyx_k_is_cdef[] = "is_cdef";
static const char __pyx_k_listdir[] = "listdir";
static const char __pyx_k_listing[] = "listing";
static const char __pyx_k_markers[] = "markers";
static const char __pyx_k_partial[] = "partial";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_private[] = "private";
static const char __pyx_k_proto_2[] = "proto.";
static const char __pyx_k_putln_2[] = "_putln";
static const char __pyx_k_py_none[] = "py_none";
static const char __pyx_k_py_type[] = "py_type";
static const char __pyx_k_replace[] = "replace";
static const char __pyx_k_richcmp[] = "__richcmp__";
static const char __pyx_k_s__save[] = "%s = _save;";
static const char __pyx_k_s_proto[] = "/* %s.proto */";
static const char __pyx_k_s_s_s_2[] = "%s = %s; %s";
static const char __pyx_k_s_tmp_s[] = "%s.tmp%s";
static const char __pyx_k_umethod[] = "umethod";
static const char __pyx_k_unicode[] = "_unicode";
static const char __pyx_k_usascii[] = "usascii";
static const char __pyx_k_utility[] = "utility";
static const char __pyx_k_version[] = "version";
static const char __pyx_k_zipfile[] = "zipfile";
static const char __pyx_k_KeyError[] = "KeyError";
static const char __pyx_k_NumConst[] = "NumConst";
static const char __pyx_k_PyObject[] = "(PyObject *)";
static const char __pyx_k_Scanning[] = "Scanning";
static const char __pyx_k_Template[] = "Template";
static const char __pyx_k_US_ASCII[] = "US-ASCII";
static const char __pyx_k_all_tags[] = "all_tags";
static const char __pyx_k_basename[] = "basename";
static const char __pyx_k_builtins[] = "builtins";
static const char __pyx_k_c_consts[] = "c_consts";
static const char __pyx_k_c_string[] = "c_string";
static const char __pyx_k_callback[] = "callback";
static const char __pyx_k_contents[] = "contents";
static const char __pyx_k_continue[] = "continue";
static const char __pyx_k_define_s[] = "#define %s";
static const char __pyx_k_doc_code[] = "doc_code";
static const char __pyx_k_encoding[] = "encoding";
static const char __pyx_k_endswith[] = "endswith";
static const char __pyx_k_filename[] = "filename";
static const char __pyx_k_freelist[] = "freelist";
static const char __pyx_k_function[] = "function";
static const char __pyx_k_get_tree[] = "get_tree";
static const char __pyx_k_getvalue[] = "getvalue";
static const char __pyx_k_have_gil[] = "have_gil";
static const char __pyx_k_if_s_0_s[] = "if (%s < 0) %s";
static const char __pyx_k_ifndef_s[] = "#ifndef %s";
static const char __pyx_k_indenter[] = "indenter";
static const char __pyx_k_is_const[] = "is_const";
static const char __pyx_k_last_pos[] = "last_pos";
static const char __pyx_k_line_s_s[] = "\n#line %s \"%s\"\n";
static const char __pyx_k_loader_2[] = "loader";
static const char __pyx_k_longness[] = "longness";
static const char __pyx_k_mark_pos[] = "mark_pos";
static const char __pyx_k_matchobj[] = "matchobj";
static const char __pyx_k_namelist[] = "namelist";
static const char __pyx_k_operator[] = "operator";
static const char __pyx_k_property[] = "property";
static const char __pyx_k_put_code[] = "put_code";
static const char __pyx_k_put_goto[] = "put_goto";
static const char __pyx_k_put_safe[] = "put_safe";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_requires[] = "requires";
static const char __pyx_k_return_0[] = "return 0;";
static const char __pyx_k_return_1[] = "return -1;";
static const char __pyx_k_s_s_s__s[] = "%s%s%s_%s";
static const char __pyx_k_sint_s_0[] = "%sint %s = 0;";
static const char __pyx_k_splitext[] = "splitext";
static const char __pyx_k_static_2[] = "static ";
static const char __pyx_k_static_s[] = "static %s;";
static const char __pyx_k_template[] = "template";
static const char __pyx_k_textwrap[] = "textwrap";
static const char __pyx_k_tmp_path[] = "tmp_path";
static const char __pyx_k_typecast[] = "typecast";
static const char __pyx_k_typeinfo[] = "typeinfo";
static const char __pyx_k_unlikely[] = "unlikely";
static const char __pyx_k_us_ascii[] = "us-ascii";
static const char __pyx_k_variable[] = "variable";
static const char __pyx_k_ExprNodes[] = "ExprNodes";
static const char __pyx_k_PYIDENT_2[] = "PYIDENT\\(\"([^\"]+)\"\\)";
static const char __pyx_k_TypeSlots[] = "TypeSlots";
static const char __pyx_k_a_zA_Z0_9[] = "[^a-zA-Z0-9_]+";
static const char __pyx_k_all_lines[] = "all_lines";
static const char __pyx_k_can_trace[] = "can_trace";
static const char __pyx_k_condition[] = "condition";
static const char __pyx_k_doc_cname[] = "doc_cname";
static const char __pyx_k_end_block[] = "end_block";
static const char __pyx_k_enumerate[] = "enumerate";
static const char __pyx_k_from_file[] = "from_file";
static const char __pyx_k_funcstate[] = "funcstate";
static const char __pyx_k_functools[] = "functools";
static const char __pyx_k_get_lines[] = "get_lines";
static const char __pyx_k_getbuffer[] = "__getbuffer__";
static const char __pyx_k_gil_owned[] = "gil_owned";
static const char __pyx_k_hexdigest[] = "hexdigest";
static const char __pyx_k_include_s[] = "#include \"%s\"\n";
static const char __pyx_k_linetrace[] = "linetrace";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_modifiers[] = "modifiers";
static const char __pyx_k_new_label[] = "new_label";
static const char __pyx_k_old_label[] = "old_label";
static const char __pyx_k_put_chunk[] = "put_chunk";
static const char __pyx_k_put_label[] = "put_label";
static const char __pyx_k_py_string[] = "py_string";
static const char __pyx_k_pyversion[] = "pyversion";
static const char __pyx_k_raw_input[] = "raw_input";
static const char __pyx_k_readlines[] = "readlines";
static const char __pyx_k_rhs_cname[] = "rhs_cname";
static const char __pyx_k_s_cleanup[] = "/* %s.cleanup */";
static const char __pyx_k_s_memview[] = "%s.memview";
static const char __pyx_k_s_proto_2[] = "%s_proto";
static const char __pyx_k_self_type[] = "self_type";
static const char __pyx_k_signature[] = "signature";
static const char __pyx_k_str_value[] = "str_value";
static const char __pyx_k_type_name[] = "type_name";
static const char __pyx_k_unicode_2[] = "unicode";
static const char __pyx_k_use_label[] = "use_label";
static const char __pyx_k_used_only[] = "used_only";
static const char __pyx_k_utilities[] = "utilities";
static const char __pyx_k_watermark[] = "watermark";
static const char __pyx_k_Cython_dir[] = "Cython_dir";
static const char __pyx_k_DebugFlags[] = "DebugFlags";
static const char __pyx_k_MemoryView[] = "MemoryView";
static const char __pyx_k_Py_CLEAR_s[] = "Py_CLEAR(%s);";
static const char __pyx_k_PyrexTypes[] = "PyrexTypes";
static const char __pyx_k_ValueError[] = "ValueError";
static const char __pyx_k_allow_skip[] = "allow_skip";
static const char __pyx_k_args_count[] = "args_count";
static const char __pyx_k_attrgetter[] = "attrgetter";
static const char __pyx_k_basestring[] = "basestring";
static const char __pyx_k_byteencode[] = "byteencode";
static const char __pyx_k_call_level[] = "call_level";
static const char __pyx_k_contextlib[] = "contextlib";
static const char __pyx_k_create_new[] = "create_new";
static const char __pyx_k_definition[] = "definition";
static const char __pyx_k_dependency[] = "dependency";
static const char __pyx_k_directives[] = "directives";
static const char __pyx_k_error_goto[] = "error_goto";
static const char __pyx_k_fix_indent[] = "fix_indent";
static const char __pyx_k_func_cname[] = "func_cname";
static const char __pyx_k_get_py_int[] = "get_py_int";
static const char __pyx_k_global_var[] = "global_var";
static const char __pyx_k_identifier[] = "identifier";
static const char __pyx_k_in_closure[] = "in_closure";
static const char __pyx_k_is_builtin[] = "is_builtin";
static const char __pyx_k_is_special[] = "is_special";
static const char __pyx_k_is_unicode[] = "is_unicode";
static const char __pyx_k_label_used[] = "label_used";
static const char __pyx_k_manage_ref[] = "manage_ref";
static const char __pyx_k_match_type[] = "match_type";
static const char __pyx_k_module_pos[] = "module_pos";
static const char __pyx_k_new_labels[] = "new_labels";
static const char __pyx_k_new_writer[] = "new_writer";
static const char __pyx_k_null_check[] = "null_check";
static const char __pyx_k_old_labels[] = "old_labels";
static const char __pyx_k_other_type[] = "other_type";
static const char __pyx_k_put_decref[] = "_put_decref";
static const char __pyx_k_put_gotref[] = "put_gotref";
static const char __pyx_k_put_incref[] = "put_incref";
static const char __pyx_k_py_strings[] = "py_strings";
static const char __pyx_k_py_version[] = "py_version";
static const char __pyx_k_pyrex_type[] = "pyrex_type";
static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static const char __pyx_k_rootwriter[] = "rootwriter";
static const char __pyx_k_s_released[] = "/* %s released */";
static const char __pyx_k_self_proto[] = "self_proto";
static const char __pyx_k_setdefault[] = "setdefault";
static const char __pyx_k_specialize[] = "specialize";
static const char __pyx_k_splitlines[] = "splitlines";
static const char __pyx_k_startswith[] = "startswith";
static const char __pyx_k_substitute[] = "substitute";
static const char __pyx_k_temps_free[] = "temps_free";
static const char __pyx_k_type_cname[] = "type_cname";
static const char __pyx_k_unlikely_s[] = "unlikely(%s)";
static const char __pyx_k_utf8encode[] = "utf8encode";
static const char __pyx_k_value_code[] = "value_code";
static const char __pyx_k_visibility[] = "visibility";
static const char __pyx_k_CCodeConfig[] = "CCodeConfig";
static const char __pyx_k_CCodeWriter[] = "CCodeWriter";
static const char __pyx_k_CSTRING_s_s[] = "CSTRING\\(\\s*\"\"\"([^\"]*(?:\"[^\"]+)*)\"\"\"\\s*\\)";
static const char __pyx_k_GlobalState[] = "GlobalState";
static const char __pyx_k_ImportError[] = "ImportError";
static const char __pyx_k_InitStrings[] = "InitStrings";
static const char __pyx_k_Py_INCREF_s[] = "Py_INCREF(%s);";
static const char __pyx_k_UtilityCode[] = "UtilityCode";
static const char __pyx_k_a_zA_Z0_9_2[] = "([a-zA-Z0-9]+)";
static const char __pyx_k_acquire_gil[] = "acquire_gil";
static const char __pyx_k_add_utility[] = "_add_utility";
static const char __pyx_k_as_pyobject[] = "as_pyobject";
static const char __pyx_k_begin_block[] = "begin_block";
static const char __pyx_k_break_label[] = "break_label";
static const char __pyx_k_byte_string[] = "byte_string";
static const char __pyx_k_bytes_value[] = "bytes_value";
static const char __pyx_k_code_config[] = "code_config";
static const char __pyx_k_code_layout[] = "code_layout";
static const char __pyx_k_code_string[] = "code_string";
static const char __pyx_k_collections[] = "collections";
static const char __pyx_k_conditional[] = "conditional";
static const char __pyx_k_context_key[] = "context_key";
static const char __pyx_k_create_from[] = "create_from";
static const char __pyx_k_declare_var[] = "declare_var";
static const char __pyx_k_defaultdict[] = "defaultdict";
static const char __pyx_k_dll_linkage[] = "dll_linkage";
static const char __pyx_k_emit_marker[] = "emit_marker";
static const char __pyx_k_error_label[] = "error_label";
static const char __pyx_k_externalise[] = "externalise";
static const char __pyx_k_format_code[] = "format_code";
static const char __pyx_k_getsegcount[] = "__getsegcount__";
static const char __pyx_k_globalstate[] = "globalstate";
static const char __pyx_k_include_dir[] = "include_dir";
static const char __pyx_k_init_module[] = "init_module";
static const char __pyx_k_is_complete[] = "is_complete";
static const char __pyx_k_is_pyobject[] = "is_pyobject";
static const char __pyx_k_is_self_arg[] = "is_self_arg";
static const char __pyx_k_labels_used[] = "labels_used";
static const char __pyx_k_load_cached[] = "load_cached";
static const char __pyx_k_main_method[] = "main_method";
static const char __pyx_k_method_name[] = "method_name";
static const char __pyx_k_module_node[] = "module_node";
static const char __pyx_k_name_suffix[] = "name_suffix";
static const char __pyx_k_names_taken[] = "names_taken";
static const char __pyx_k_none_or_sub[] = "none_or_sub";
static const char __pyx_k_old_err_lbl[] = "old_err_lbl";
static const char __pyx_k_orig_kwargs[] = "orig_kwargs";
static const char __pyx_k_other_proto[] = "other_proto";
static const char __pyx_k_proto_block[] = "proto_block";
static const char __pyx_k_put_giveref[] = "put_giveref";
static const char __pyx_k_put_h_guard[] = "put_h_guard";
static const char __pyx_k_put_tempita[] = "put_tempita";
static const char __pyx_k_put_xdecref[] = "put_xdecref";
static const char __pyx_k_put_xgotref[] = "put_xgotref";
static const char __pyx_k_py_versions[] = "py_versions";
static const char __pyx_k_replacement[] = "replacement";
static const char __pyx_k_s__sCLEAR_s[] = "%s_%sCLEAR(%s);";
static const char __pyx_k_s_cleanup_2[] = "%s_cleanup";
static const char __pyx_k_s_s_s_s_s_s[] = "%s = %s[%s]; %s = %s;%s";
static const char __pyx_k_slice_cname[] = "slice_cname";
static const char __pyx_k_source_desc[] = "source_desc";
static const char __pyx_k_source_file[] = "source_file";
static const char __pyx_k_sub_tempita[] = "sub_tempita";
static const char __pyx_k_temps_count[] = "temps_count";
static const char __pyx_k_utf16_array[] = "utf16_array";
static const char __pyx_k_utf32_array[] = "utf32_array";
static const char __pyx_k_utility_dir[] = "utility_dir";
static const char __pyx_k_Exceptions_c[] = "Exceptions.c";
static const char __pyx_k_PyTypeObject[] = "PyTypeObject";
static const char __pyx_k_Pyx_GOTREF_s[] = "__Pyx_GOTREF(%s);";
static const char __pyx_k_Pyx_INCREF_s[] = "__Pyx_INCREF(%s);";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_StringIOTree[] = "StringIOTree";
static const char __pyx_k_WindowsError[] = "WindowsError";
static const char __pyx_k_all_the_rest[] = "all_the_rest";
static const char __pyx_k_attribute_of[] = "attribute_of";
static const char __pyx_k_begin_lineno[] = "begin_lineno";
static const char __pyx_k_build_marker[] = "_build_marker";
static const char __pyx_k_const_prefix[] = "const_prefix";
static const char __pyx_k_decls_writer[] = "decls_writer";
static const char __pyx_k_fast_getattr[] = "fast_getattr";
static const char __pyx_k_format_tuple[] = "format_tuple";
static const char __pyx_k_from_closure[] = "from_closure";
static const char __pyx_k_func_context[] = "func_context";
static const char __pyx_k_get_py_const[] = "get_py_const";
static const char __pyx_k_get_py_float[] = "get_py_float";
static const char __pyx_k_getattribute[] = "__getattribute__";
static const char __pyx_k_global_state[] = "global_state";
static const char __pyx_k_include_file[] = "include_file";
static const char __pyx_k_indent_level[] = "indent_level";
static const char __pyx_k_init_globals[] = "init_globals";
static const char __pyx_k_is_reference[] = "is_reference";
static const char __pyx_k_label_prefix[] = "label_prefix";
static const char __pyx_k_line_c_macro[] = "line_c_macro";
static const char __pyx_k_lineno_cname[] = "lineno_cname";
static const char __pyx_k_literal_code[] = "literal_code";
static const char __pyx_k_long_literal[] = "long_literal";
static const char __pyx_k_method_flags[] = "method_flags";
static const char __pyx_k_new_py_const[] = "new_py_const";
static const char __pyx_k_outfile_name[] = "outfile_name";
static const char __pyx_k_put_decref_2[] = "put_decref";
static const char __pyx_k_put_xgiveref[] = "put_xgiveref";
static const char __pyx_k_putln_openmp[] = "putln_openmp";
static const char __pyx_k_py_constants[] = "py_constants";
static const char __pyx_k_release_temp[] = "release_temp";
static const char __pyx_k_replacements[] = "replacements";
static const char __pyx_k_return_label[] = "return_label";
static const char __pyx_k_s__sDECREF_s[] = "%s_%sDECREF(%s);";
static const char __pyx_k_split_string[] = "split_string";
static const char __pyx_k_string_decls[] = "string_decls";
static const char __pyx_k_temps_in_use[] = "temps_in_use";
static const char __pyx_k_undef_likely[] = "    #undef likely";
static const char __pyx_k_utility_code[] = "utility_code";
static const char __pyx_k_version_info[] = "version_info";
static const char __pyx_k_yield_labels[] = "yield_labels";
static const char __pyx_k_0_0_0_0_0_0_0[] = "{0, 0, 0, 0, 0, 0, 0}";
static const char __pyx_k_CYTHON_INLINE[] = "CYTHON_INLINE";
static const char __pyx_k_CYTHON_UNUSED[] = "CYTHON_UNUSED ";
static const char __pyx_k_EncodedString[] = "EncodedString";
static const char __pyx_k_PYX_ERR_s_s_s[] = "__PYX_ERR(%s, %s, %s)";
static const char __pyx_k_PyStringConst[] = "PyStringConst";
static const char __pyx_k_PyxCodeWriter[] = "PyxCodeWriter";
static const char __pyx_k_Pyx_GIVEREF_s[] = "__Pyx_GIVEREF(%s);";
static const char __pyx_k_Pyx_XDECREF_s[] = "__Pyx_XDECREF(%s);";
static const char __pyx_k_Pyx_XGOTREF_s[] = "__Pyx_XGOTREF(%s);";
static const char __pyx_k_Pyx_XINCREF_s[] = "__Pyx_XINCREF(%s);";
static const char __pyx_k_Pyx__sCLEAR_s[] = "__Pyx_%sCLEAR(%s);";
static const char __pyx_k_StringTools_c[] = "StringTools.c";
static const char __pyx_k_allocate_temp[] = "allocate_temp";
static const char __pyx_k_cleanup_level[] = "cleanup_level";
static const char __pyx_k_clineno_cname[] = "clineno_cname";
static const char __pyx_k_cython_lineno[] = "cython_lineno";
static const char __pyx_k_emit_linenums[] = "emit_linenums";
static const char __pyx_k_endif__OPENMP[] = "#endif /* _OPENMP */";
static const char __pyx_k_error_goto_if[] = "error_goto_if";
static const char __pyx_k_escaped_value[] = "escaped_value";
static const char __pyx_k_filename_list[] = "filename_list";
static const char __pyx_k_get_int_const[] = "get_int_const";
static const char __pyx_k_getcharbuffer[] = "__getcharbuffer__";
static const char __pyx_k_getreadbuffer[] = "__getreadbuffer__";
static const char __pyx_k_ifdef__OPENMP[] = "#ifdef _OPENMP";
static const char __pyx_k_label_counter[] = "label_counter";
static const char __pyx_k_match_special[] = "match_special";
static const char __pyx_k_new_num_const[] = "new_num_const";
static const char __pyx_k_num_and_label[] = "num_and_label";
static const char __pyx_k_open_new_file[] = "open_new_file";
static const char __pyx_k_putln_tempita[] = "putln_tempita";
static const char __pyx_k_pyclass_stack[] = "pyclass_stack";
static const char __pyx_k_ref_base_type[] = "ref_base_type";
static const char __pyx_k_releasebuffer[] = "__releasebuffer__";
static const char __pyx_k_s_allocated_s[] = "/* %s allocated (%s) */";
static const char __pyx_k_storage_class[] = "storage_class";
static const char __pyx_k_unicode_value[] = "unicode_value";
static const char __pyx_k_utility_cache[] = "_utility_cache";
static const char __pyx_k_utility_codes[] = "utility_codes";
static const char __pyx_k_GetBuiltinName[] = "GetBuiltinName";
static const char __pyx_k_PyErr_Occurred[] = "PyErr_Occurred()";
static const char __pyx_k_Pyx_XGIVEREF_s[] = "__Pyx_XGIVEREF(%s);";
static const char __pyx_k_StringEncoding[] = "StringEncoding";
static const char __pyx_k_add_py_version[] = "add_py_version";
static const char __pyx_k_all_new_labels[] = "all_new_labels";
static const char __pyx_k_cache_builtins[] = "cache_builtins";
static const char __pyx_k_cleanup_module[] = "cleanup_module";
static const char __pyx_k_cleanup_writer[] = "cleanup_writer";
static const char __pyx_k_continue_label[] = "continue_label";
static const char __pyx_k_defined_in_pxd[] = "defined_in_pxd";
static const char __pyx_k_error_handling[] = "error_handling";
static const char __pyx_k_filename_cname[] = "filename_cname";
static const char __pyx_k_filename_table[] = "filename_table";
static const char __pyx_k_get_all_labels[] = "get_all_labels";
static const char __pyx_k_getwritebuffer[] = "__getwritebuffer__";
static const char __pyx_k_interned_cname[] = "interned_cname";
static const char __pyx_k_load_as_string[] = "load_as_string";
static const char __pyx_k_method_coexist[] = "method_coexist";
static const char __pyx_k_put_decref_set[] = "put_decref_set";
static const char __pyx_k_put_ensure_gil[] = "put_ensure_gil";
static const char __pyx_k_put_or_include[] = "put_or_include";
static const char __pyx_k_put_trace_call[] = "put_trace_call";
static const char __pyx_k_put_unraisable[] = "put_unraisable";
static const char __pyx_k_put_var_decref[] = "put_var_decref";
static const char __pyx_k_put_var_gotref[] = "put_var_gotref";
static const char __pyx_k_put_var_incref[] = "put_var_incref";
static const char __pyx_k_py3str_cstring[] = "py3str_cstring";
static const char __pyx_k_py_object_type[] = "py_object_type";
static const char __pyx_k_pystring_table[] = "pystring_table";
static const char __pyx_k_qualified_name[] = "qualified_name";
static const char __pyx_k_retvalue_cname[] = "retvalue_cname";
static const char __pyx_k_set_all_labels[] = "set_all_labels";
static const char __pyx_k_set_error_info[] = "set_error_info";
static const char __pyx_k_should_declare[] = "should_declare";
static const char __pyx_k_strip_comments[] = "strip_comments";
static const char __pyx_k_undef_unlikely[] = "    #undef unlikely";
static const char __pyx_k_util_code_name[] = "util_code_name";
static const char __pyx_k_wrap_c_strings[] = "wrap_c_strings";
static const char __pyx_k_CCodeWriter_put[] = "CCodeWriter.put";
static const char __pyx_k_LazyUtilityCode[] = "LazyUtilityCode";
static const char __pyx_k_NumConst___init[] = "NumConst.__init__";
static const char __pyx_k_TypeConversions[] = "TypeConversions";
static const char __pyx_k_UtilityCodeBase[] = "UtilityCodeBase";
static const char __pyx_k_cached_builtins[] = "cached_builtins";
static const char __pyx_k_cached_cmethods[] = "cached_cmethods";
static const char __pyx_k_cleanup_globals[] = "cleanup_globals";
static const char __pyx_k_const_base_type[] = "const_base_type";
static const char __pyx_k_copy_formatting[] = "copy_formatting";
static const char __pyx_k_declared_cnames[] = "declared_cnames";
static const char __pyx_k_decrease_indent[] = "decrease_indent";
static const char __pyx_k_filetable_cname[] = "filetable_cname";
static const char __pyx_k_get_float_const[] = "get_float_const";
static const char __pyx_k_get_loop_labels[] = "get_loop_labels";
static const char __pyx_k_get_utility_dir[] = "get_utility_dir";
static const char __pyx_k_increase_indent[] = "increase_indent";
static const char __pyx_k_insertion_point[] = "insertion_point";
static const char __pyx_k_is_specialised1[] = "is_specialised1";
static const char __pyx_k_is_specialised2[] = "is_specialised2";
static const char __pyx_k_last_marked_pos[] = "last_marked_pos";
static const char __pyx_k_lookup_filename[] = "lookup_filename";
static const char __pyx_k_new_const_cname[] = "new_const_cname";
static const char __pyx_k_new_error_label[] = "new_error_label";
static const char __pyx_k_new_loop_labels[] = "new_loop_labels";
static const char __pyx_k_new_yield_label[] = "new_yield_label";
static const char __pyx_k_num_const_index[] = "num_const_index";
static const char __pyx_k_put_acquire_gil[] = "put_acquire_gil";
static const char __pyx_k_put_pymethoddef[] = "put_pymethoddef";
static const char __pyx_k_put_release_gil[] = "put_release_gil";
static const char __pyx_k_put_var_decrefs[] = "put_var_decrefs";
static const char __pyx_k_put_var_giveref[] = "put_var_giveref";
static const char __pyx_k_put_var_xdecref[] = "put_var_xdecref";
static const char __pyx_k_put_var_xgotref[] = "put_var_xgotref";
static const char __pyx_k_put_var_xincref[] = "put_var_xincref";
static const char __pyx_k_put_xdecref_set[] = "put_xdecref_set";
static const char __pyx_k_py_const_prefix[] = "py_const_prefix";
static const char __pyx_k_set_loop_labels[] = "set_loop_labels";
static const char __pyx_k_specialize_list[] = "specialize_list";
static const char __pyx_k_stringtab_cname[] = "stringtab_cname";
static const char __pyx_k_temps_allocated[] = "temps_allocated";
static const char __pyx_k_xdecref_cleanup[] = "xdecref_cleanup";
static const char __pyx_k_ForceInitThreads[] = "ForceInitThreads";
static const char __pyx_k_ObjectHandling_c[] = "ObjectHandling.c";
static const char __pyx_k_PyGILState_STATE[] = "PyGILState_STATE ";
static const char __pyx_k_PyHeapTypeObject[] = "PyHeapTypeObject";
static const char __pyx_k_PyInt_FromLong_s[] = "PyInt_FromLong(%s)";
static const char __pyx_k_Py_BLOCK_THREADS[] = "Py_BLOCK_THREADS";
static const char __pyx_k_SourceDescriptor[] = "SourceDescriptor";
static const char __pyx_k_TypeConversion_c[] = "TypeConversion.c";
static const char __pyx_k_UtilityCode___eq[] = "UtilityCode.__eq__";
static const char __pyx_k_cached_constants[] = "cached_constants";
static const char __pyx_k_declaration_code[] = "declaration_code";
static const char __pyx_k_declare_gilstate[] = "declare_gilstate";
static const char __pyx_k_exit_cfunc_scope[] = "exit_cfunc_scope";
static const char __pyx_k_gcc_branch_hints[] = "gcc_branch_hints";
static const char __pyx_k_get_string_const[] = "get_string_const";
static const char __pyx_k_in_nogil_context[] = "in_nogil_context";
static const char __pyx_k_new_string_const[] = "new_string_const";
static const char __pyx_k_numeric_typedefs[] = "numeric_typedefs";
static const char __pyx_k_open_source_file[] = "open_source_file";
static const char __pyx_k_put_decref_clear[] = "put_decref_clear";
static const char __pyx_k_put_error_if_neg[] = "put_error_if_neg";
static const char __pyx_k_put_generated_by[] = "put_generated_by";
static const char __pyx_k_put_trace_return[] = "put_trace_return";
static const char __pyx_k_put_var_xdecrefs[] = "put_var_xdecrefs";
static const char __pyx_k_put_var_xgiveref[] = "put_var_xgiveref";
static const char __pyx_k_s__sDECREF_s_s_0[] = "%s_%sDECREF(%s); %s = 0;";
static const char __pyx_k_set_global_state[] = "set_global_state";
static const char __pyx_k_use_utility_code[] = "use_utility_code";
static const char __pyx_k_utility_code_def[] = "utility_code_def";
static const char __pyx_k_CCodeWriter_putln[] = "CCodeWriter.putln";
static const char __pyx_k_CCodeWriter_write[] = "CCodeWriter.write";
static const char __pyx_k_ModuleSetupCode_c[] = "ModuleSetupCode.c";
static const char __pyx_k_PyInt_FromLong_sL[] = "PyInt_FromLong(%sL)";
static const char __pyx_k_Py_CLEAR_s_method[] = "Py_CLEAR(%s.method);";
static const char __pyx_k_all_managed_temps[] = "all_managed_temps";
static const char __pyx_k_before_global_var[] = "before_global_var";
static const char __pyx_k_const_cnames_used[] = "const_cnames_used";
static const char __pyx_k_define_likely_x_x[] = "    #define likely(x)   (x)";
static const char __pyx_k_enter_cfunc_scope[] = "enter_cfunc_scope";
static const char __pyx_k_entry_as_pyobject[] = "entry_as_pyobject";
static const char __pyx_k_error_goto_if_neg[] = "error_goto_if_neg";
static const char __pyx_k_ifdef_WITH_THREAD[] = "#ifdef WITH_THREAD";
static const char __pyx_k_intern_identifier[] = "intern_identifier";
static const char __pyx_k_interned_prefixes[] = "interned_prefixes";
static const char __pyx_k_is_cython_utility[] = "is_cython_utility";
static const char __pyx_k_is_extension_type[] = "is_extension_type";
static const char __pyx_k_is_fake_reference[] = "is_fake_reference";
static const char __pyx_k_method_name_cname[] = "method_name_cname";
static const char __pyx_k_put_add_traceback[] = "put_add_traceback";
static const char __pyx_k_put_pyobject_decl[] = "put_pyobject_decl";
static const char __pyx_k_put_xdecref_clear[] = "put_xdecref_clear";
static const char __pyx_k_pyx_gilstate_save[] = "__pyx_gilstate_save";
static const char __pyx_k_resume_from_yield[] = "resume_from_yield";
static const char __pyx_k_s_type_PyObject_s[] = "%s.type = (PyObject*)&%s;";
static const char __pyx_k_static_PyObject_s[] = "static PyObject *%s;";
static const char __pyx_k_type_declarations[] = "type_declarations";
static const char __pyx_k_utility_code_name[] = "utility_code_name";
static const char __pyx_k_0x_02X_02X_02X_02X[] = "0x%02X%02X%02X%02X";
static const char __pyx_k_CCodeConfig___init[] = "CCodeConfig.__init__";
static const char __pyx_k_CCodeWriter___init[] = "CCodeWriter.__init__";
static const char __pyx_k_CCodeWriter_copyto[] = "CCodeWriter.copyto";
static const char __pyx_k_CCodeWriter_indent[] = "CCodeWriter.indent";
static const char __pyx_k_CCodeWriter_insert[] = "CCodeWriter.insert";
static const char __pyx_k_CCodeWriter_intern[] = "CCodeWriter.intern";
static const char __pyx_k_GlobalState___init[] = "GlobalState.__init__";
static const char __pyx_k_PY_MAJOR_VERSION_3[] = "PY_MAJOR_VERSION < 3";
static const char __pyx_k_PyStringConst___lt[] = "PyStringConst.__lt__";
static const char __pyx_k_Py_UNBLOCK_THREADS[] = "Py_UNBLOCK_THREADS";
static const char __pyx_k_Pyx_DECREF_SET_s_s[] = "__Pyx_DECREF_SET(%s, %s);";
static const char __pyx_k_Pyx_TraceException[] = "__Pyx_TraceException();";
static const char __pyx_k_Pyx__sDECREF_s_s_0[] = "__Pyx_%sDECREF(%s); %s = 0;";
static const char __pyx_k_Temp_s_freed_twice[] = "Temp %s freed twice!";
static const char __pyx_k_TempitaUtilityCode[] = "TempitaUtilityCode";
static const char __pyx_k_UtilityCode___hash[] = "UtilityCode.__hash__";
static const char __pyx_k_UtilityCode___init[] = "UtilityCode.__init__";
static const char __pyx_k_close_global_decls[] = "close_global_decls";
static const char __pyx_k_emit_code_comments[] = "emit_code_comments";
static const char __pyx_k_error_goto_if_null[] = "error_goto_if_null";
static const char __pyx_k_escape_byte_string[] = "escape_byte_string";
static const char __pyx_k_get_py_version_hex[] = "get_py_version_hex";
static const char __pyx_k_init_closure_temps[] = "init_closure_temps";
static const char __pyx_k_is_memoryviewslice[] = "is_memoryviewslice";
static const char __pyx_k_is_self_assignment[] = "is_self_assignment";
static const char __pyx_k_sconst_char_s_NULL[] = "%sconst char *%s = NULL;";
static const char __pyx_k_special_py_methods[] = "special_py_methods";
static const char __pyx_k_string_const_index[] = "string_const_index";
static const char __pyx_k_utility_code_proto[] = "utility_code_proto";
static const char __pyx_k_CALL_UNBOUND_METHOD[] = "CALL_UNBOUND_METHOD(";
static const char __pyx_k_CallUnboundCMethod0[] = "CallUnboundCMethod0";
static const char __pyx_k_CallUnboundCMethod1[] = "CallUnboundCMethod1";
static const char __pyx_k_PYX_INC_MEMVIEW_s_d[] = "__PYX_INC_MEMVIEW(&%s, %d);";
static const char __pyx_k_PyThreadState__save[] = "PyThreadState *_save;";
static const char __pyx_k_PyxCodeWriter_putln[] = "PyxCodeWriter.putln";
static const char __pyx_k_Pyx_TraceLine_d_d_s[] = "__Pyx_TraceLine(%d,%d,%s)\n";
static const char __pyx_k_Pyx_TraceReturn_s_d[] = "__Pyx_TraceReturn(%s, %d);";
static const char __pyx_k_Pyx_XDECREF_SET_s_s[] = "__Pyx_XDECREF_SET(%s, %s);";
static const char __pyx_k_c_line_in_traceback[] = "c_line_in_traceback";
static const char __pyx_k_check_for_null_code[] = "check_for_null_code";
static const char __pyx_k_clear_before_decref[] = "clear_before_decref";
static const char __pyx_k_define_unlikely_x_x[] = "    #define unlikely(x) (x)";
static const char __pyx_k_error_goto_if_PyErr[] = "error_goto_if_PyErr";
static const char __pyx_k_get_py_string_const[] = "get_py_string_const";
static const char __pyx_k_if_unlikely_s_s_s_s[] = "if (unlikely(!%s)) { %s(\"%s\"); %s }";
static const char __pyx_k_input_file_contents[] = "input_file_contents";
static const char __pyx_k_memslice_entry_init[] = "memslice_entry_init";
static const char __pyx_k_module_declarations[] = "module_declarations";
static const char __pyx_k_new_num_const_cname[] = "new_num_const_cname";
static const char __pyx_k_put_init_to_py_none[] = "put_init_to_py_none";
static const char __pyx_k_put_trace_exception[] = "put_trace_exception";
static const char __pyx_k_put_var_declaration[] = "put_var_declaration";
static const char __pyx_k_replace_empty_lines[] = "replace_empty_lines";
static const char __pyx_k_s_PyGILState_Ensure[] = "%s = PyGILState_Ensure();";
static const char __pyx_k_specialization_name[] = "specialization_name";
static const char __pyx_k_uncachable_builtins[] = "uncachable_builtins";
static const char __pyx_k_CCodeWriter_getvalue[] = "CCodeWriter.getvalue";
static const char __pyx_k_CCodeWriter_mark_pos[] = "CCodeWriter.mark_pos";
static const char __pyx_k_CCodeWriter_put_goto[] = "CCodeWriter.put_goto";
static const char __pyx_k_CCodeWriter_put_safe[] = "CCodeWriter.put_safe";
static const char __pyx_k_CCodeWriter_unlikely[] = "CCodeWriter.unlikely";
static const char __pyx_k_ClosureTempAllocator[] = "ClosureTempAllocator";
static const char __pyx_k_Cython_Compiler_Code[] = "Cython.Compiler.Code";
static const char __pyx_k_PYX_XDEC_MEMVIEW_s_d[] = "__PYX_XDEC_MEMVIEW(&%s, %d);";
static const char __pyx_k_PY_MAJOR_VERSION_3_2[] = "PY_MAJOR_VERSION >= 3";
static const char __pyx_k_PyFloat_FromDouble_s[] = "PyFloat_FromDouble(%s)";
static const char __pyx_k_PyGILState_Release_s[] = "PyGILState_Release(%s);";
static const char __pyx_k_PyStringConst___init[] = "PyStringConst.__init__";
static const char __pyx_k_PyxCodeWriter___init[] = "PyxCodeWriter.__init__";
static const char __pyx_k_PyxCodeWriter__putln[] = "PyxCodeWriter._putln";
static const char __pyx_k_PyxCodeWriter_dedent[] = "PyxCodeWriter.dedent";
static const char __pyx_k_PyxCodeWriter_indent[] = "PyxCodeWriter.indent";
static const char __pyx_k_Pyx_TraceFrameInit_s[] = "__Pyx_TraceFrameInit(%s)";
static const char __pyx_k_Runtime_support_code[] = "/* --- Runtime support code --- */";
static const char __pyx_k_UtilityCodeBase_load[] = "UtilityCodeBase.load";
static const char __pyx_k_UtilityCode_put_code[] = "UtilityCode.put_code";
static const char __pyx_k_finalize_main_c_code[] = "finalize_main_c_code";
static const char __pyx_k_funccontext_property[] = "funccontext_property";
static const char __pyx_k_put_error_if_unbound[] = "put_error_if_unbound";
static const char __pyx_k_put_trace_frame_init[] = "put_trace_frame_init";
static const char __pyx_k_put_var_decref_clear[] = "_put_var_decref_clear";
static const char __pyx_k_redef_builtin_expect[] = "redef_builtin_expect";
static const char __pyx_k_s_s_sizeof_s_s_d_d_d[] = "{&%s, %s, sizeof(%s), %s, %d, %d, %d},";
static const char __pyx_k_split_string_literal[] = "split_string_literal";
static const char __pyx_k_undef_builtin_expect[] = "undef_builtin_expect";
static const char __pyx_k_uses_error_indicator[] = "uses_error_indicator";
static const char __pyx_k_CCodeWriter_end_block[] = "CCodeWriter.end_block";
static const char __pyx_k_CCodeWriter_new_label[] = "CCodeWriter.new_label";
static const char __pyx_k_CCodeWriter_put_label[] = "CCodeWriter.put_label";
static const char __pyx_k_CCodeWriter_use_label[] = "CCodeWriter.use_label";
static const char __pyx_k_Generated_by_Cython_s[] = "/* Generated by Cython %s */";
static const char __pyx_k_GlobalState___getitem[] = "GlobalState.__getitem__";
static const char __pyx_k_PyrexCodeWriter_putln[] = "PyrexCodeWriter.putln";
static const char __pyx_k_Pyx_TraceDeclarations[] = "__Pyx_TraceDeclarations";
static const char __pyx_k_UtilityCodeBase___str[] = "UtilityCodeBase.__str__";
static const char __pyx_k_generate_cleanup_code[] = "generate_cleanup_code";
static const char __pyx_k_if_PY_MAJOR_VERSION_3[] = "#if PY_MAJOR_VERSION >= 3";
static const char __pyx_k_ifdef_Py_UNICODE_WIDE[] = "#ifdef Py_UNICODE_WIDE";
static const char __pyx_k_line_1_cython_utility[] = "\n#line 1 \"cython_utility\"\n";
static const char __pyx_k_named_insertion_point[] = "named_insertion_point";
static const char __pyx_k_put_temp_declarations[] = "put_temp_declarations";
static const char __pyx_k_put_var_xdecref_clear[] = "put_var_xdecref_clear";
static const char __pyx_k_s_PyCFunction_s_s_s_s[] = "{\"%s\", (PyCFunction)%s, %s, %s}%s";
static const char __pyx_k_s_s_Py_INCREF_Py_None[] = "%s = %s; Py_INCREF(Py_None);";
static const char __pyx_k_static_Py_UNICODE_s_s[] = "static Py_UNICODE %s[] = { %s };";
static const char __pyx_k_static_const_char_s_s[] = "static const char %s[] = \"%s\";";
static const char __pyx_k_stop_collecting_temps[] = "stop_collecting_temps";
static const char __pyx_k_unraisable_tracebacks[] = "unraisable_tracebacks";
static const char __pyx_k_CCodeWriter_create_new[] = "CCodeWriter.create_new";
static const char __pyx_k_CCodeWriter_error_goto[] = "CCodeWriter.error_goto";
static const char __pyx_k_CCodeWriter_get_py_int[] = "CCodeWriter.get_py_int";
static const char __pyx_k_CCodeWriter_label_used[] = "CCodeWriter.label_used";
static const char __pyx_k_CCodeWriter_new_writer[] = "CCodeWriter.new_writer";
static const char __pyx_k_CCodeWriter_put_decref[] = "CCodeWriter.put_decref";
static const char __pyx_k_CCodeWriter_put_gotref[] = "CCodeWriter.put_gotref";
static const char __pyx_k_CCodeWriter_put_incref[] = "CCodeWriter.put_incref";
static const char __pyx_k_KEYWORDS_MUST_BE_BYTES[] = "KEYWORDS_MUST_BE_BYTES";
static const char __pyx_k_LazyUtilityCode___init[] = "LazyUtilityCode.__init__";
static const char __pyx_k_PyrexCodeWriter_dedent[] = "PyrexCodeWriter.dedent";
static const char __pyx_k_PyrexCodeWriter_indent[] = "PyrexCodeWriter.indent";
static const char __pyx_k_PyxCodeWriter_getvalue[] = "PyxCodeWriter.getvalue";
static const char __pyx_k_PyxCodeWriter_indenter[] = "PyxCodeWriter.indenter";
static const char __pyx_k_UtilityCode_specialize[] = "UtilityCode.specialize";
static const char __pyx_k_all_free_managed_temps[] = "all_free_managed_temps";
static const char __pyx_k_basicsize_builtins_map[] = "basicsize_builtins_map";
static const char __pyx_k_codewriter_temp_prefix[] = "codewriter_temp_prefix";
static const char __pyx_k_empty_declaration_code[] = "empty_declaration_code";
static const char __pyx_k_generate_num_constants[] = "generate_num_constants";
static const char __pyx_k_initialize_main_c_code[] = "initialize_main_c_code";
static const char __pyx_k_inject_unbound_methods[] = "inject_unbound_methods";
static const char __pyx_k_memviewslice_init_code[] = "memviewslice_init_code";
static const char __pyx_k_modifier_output_mapper[] = "modifier_output_mapper";
static const char __pyx_k_new_string_const_cname[] = "new_string_const_cname";
static const char __pyx_k_put_trace_declarations[] = "put_trace_declarations";
static const char __pyx_k_put_var_decref_clear_2[] = "put_var_decref_clear";
static const char __pyx_k_put_var_xdecrefs_clear[] = "put_var_xdecrefs_clear";
static const char __pyx_k_start_collecting_temps[] = "start_collecting_temps";
static const char __pyx_k_use_entry_utility_code[] = "use_entry_utility_code";
static const char __pyx_k_CCodeWriter__put_decref[] = "CCodeWriter._put_decref";
static const char __pyx_k_CCodeWriter_as_pyobject[] = "CCodeWriter.as_pyobject";
static const char __pyx_k_CCodeWriter_begin_block[] = "CCodeWriter.begin_block";
static const char __pyx_k_CCodeWriter_emit_marker[] = "CCodeWriter.emit_marker";
static const char __pyx_k_CCodeWriter_put_giveref[] = "CCodeWriter.put_giveref";
static const char __pyx_k_CCodeWriter_put_h_guard[] = "CCodeWriter.put_h_guard";
static const char __pyx_k_CCodeWriter_put_tempita[] = "CCodeWriter.put_tempita";
static const char __pyx_k_CCodeWriter_put_xdecref[] = "CCodeWriter.put_xdecref";
static const char __pyx_k_CCodeWriter_put_xgotref[] = "CCodeWriter.put_xgotref";
static const char __pyx_k_Empty_utility_code_file[] = "Empty utility code file";
static const char __pyx_k_FunctionState_new_label[] = "FunctionState.new_label";
static const char __pyx_k_FunctionState_use_label[] = "FunctionState.use_label";
static const char __pyx_k_PyxCodeWriter_put_chunk[] = "PyxCodeWriter.put_chunk";
static const char __pyx_k_Pyx_CallUnboundCMethod0[] = "__Pyx_CallUnboundCMethod0";
static const char __pyx_k_Pyx_CallUnboundCMethod1[] = "__Pyx_CallUnboundCMethod1";
static const char __pyx_k_Pyx_InitCachedConstants[] = "__Pyx_InitCachedConstants";
static const char __pyx_k_UtilityCode_none_or_sub[] = "UtilityCode.none_or_sub";
static const char __pyx_k_add_cached_builtin_decl[] = "add_cached_builtin_decl";
static const char __pyx_k_commented_file_contents[] = "commented_file_contents";
static const char __pyx_k_encode_pyunicode_string[] = "encode_pyunicode_string";
static const char __pyx_k_get_escaped_description[] = "get_escaped_description";
static const char __pyx_k_get_filenametable_entry[] = "get_filenametable_entry";
static const char __pyx_k_get_interned_identifier[] = "get_interned_identifier";
static const char __pyx_k_get_pyunicode_ptr_const[] = "get_pyunicode_ptr_const";
static const char __pyx_k_if_PY_MAJOR_VERSION_s_3[] = "#if PY_MAJOR_VERSION %s 3";
static const char __pyx_k_inject_string_constants[] = "inject_string_constants";
static const char __pyx_k_put_cached_builtin_init[] = "put_cached_builtin_init";
static const char __pyx_k_put_init_var_to_py_none[] = "put_init_var_to_py_none";
static const char __pyx_k_put_release_ensured_gil[] = "put_release_ensured_gil";
static const char __pyx_k_temps_holding_reference[] = "temps_holding_reference";
static const char __pyx_k_utility_code_definition[] = "utility_code_definition";
static const char __pyx_k_CCodeWriter_get_py_const[] = "CCodeWriter.get_py_const";
static const char __pyx_k_CCodeWriter_get_py_float[] = "CCodeWriter.get_py_float";
static const char __pyx_k_CCodeWriter_put_xgiveref[] = "CCodeWriter.put_xgiveref";
static const char __pyx_k_CCodeWriter_putln_openmp[] = "CCodeWriter.putln_openmp";
static const char __pyx_k_FunctionState_label_used[] = "FunctionState.label_used";
static const char __pyx_k_GlobalState_get_py_const[] = "GlobalState.get_py_const";
static const char __pyx_k_GlobalState_new_py_const[] = "GlobalState.new_py_const";
static const char __pyx_k_LazyUtilityCode_put_code[] = "LazyUtilityCode.put_code";
static const char __pyx_k_Pyx_AddTraceback_s_s_s_s[] = "__Pyx_AddTraceback(\"%s\", %s, %s, %s);";
static const char __pyx_k_Pyx_RefNannyDeclarations[] = "__Pyx_RefNannyDeclarations";
static const char __pyx_k_UtilityCodeBase_get_tree[] = "UtilityCodeBase.get_tree";
static const char __pyx_k_WriteUnraisableException[] = "WriteUnraisableException";
static const char __pyx_k_build_function_modifiers[] = "build_function_modifiers";
static const char __pyx_k_debug_temp_code_comments[] = "debug_temp_code_comments";
static const char __pyx_k_load_utilities_from_file[] = "load_utilities_from_file";
static const char __pyx_k_s_s___Pyx_INCREF_Py_None[] = "%s = %s; __Pyx_INCREF(Py_None);";
static const char __pyx_k_CCodeWriter__build_marker[] = "CCodeWriter._build_marker";
static const char __pyx_k_CCodeWriter_error_goto_if[] = "CCodeWriter.error_goto_if";
static const char __pyx_k_CCodeWriter_putln_tempita[] = "CCodeWriter.putln_tempita";
static const char __pyx_k_GlobalState_get_int_const[] = "GlobalState.get_int_const";
static const char __pyx_k_GlobalState_new_num_const[] = "GlobalState.new_num_const";
static const char __pyx_k_Pyx_RaiseClosureNameError[] = "__Pyx_RaiseClosureNameError";
static const char __pyx_k_Pyx_RefNannyFinishContext[] = "__Pyx_RefNannyFinishContext();";
static const char __pyx_k_Pyx_TraceCall_s_s_s_s_d_s[] = "__Pyx_TraceCall(\"%s\", %s[%s], %s, %d, %s);";
static const char __pyx_k_Runtime_support_code_head[] = "/* --- Runtime support code (head) --- */";
static const char __pyx_k_TempitaUtilityCode___init[] = "TempitaUtilityCode.__init__";
static const char __pyx_k_complex_type_declarations[] = "complex_type_declarations";
static const char __pyx_k_generate_string_constants[] = "generate_string_constants";
static const char __pyx_k_get_cached_unbound_method[] = "get_cached_unbound_method";
static const char __pyx_k_non_portable_builtins_map[] = "non_portable_builtins_map";
static const char __pyx_k_proto_S_impl_init_cleanup[] = "(.+)[.](proto(?:[.]\\S+)?|impl|init|cleanup)$";
static const char __pyx_k_pyunicode_ptr_const_index[] = "pyunicode_ptr_const_index";
static const char __pyx_k_CCodeWriter_all_new_labels[] = "CCodeWriter.all_new_labels";
static const char __pyx_k_CCodeWriter_get_all_labels[] = "CCodeWriter.get_all_labels";
static const char __pyx_k_CCodeWriter_put_decref_set[] = "CCodeWriter.put_decref_set";
static const char __pyx_k_CCodeWriter_put_ensure_gil[] = "CCodeWriter.put_ensure_gil";
static const char __pyx_k_CCodeWriter_put_or_include[] = "CCodeWriter.put_or_include";
static const char __pyx_k_CCodeWriter_put_trace_call[] = "CCodeWriter.put_trace_call";
static const char __pyx_k_CCodeWriter_put_unraisable[] = "CCodeWriter.put_unraisable";
static const char __pyx_k_CCodeWriter_put_var_decref[] = "CCodeWriter.put_var_decref";
static const char __pyx_k_CCodeWriter_put_var_gotref[] = "CCodeWriter.put_var_gotref";
static const char __pyx_k_CCodeWriter_put_var_incref[] = "CCodeWriter.put_var_incref";
static const char __pyx_k_CCodeWriter_set_all_labels[] = "CCodeWriter.set_all_labels";
static const char __pyx_k_CCodeWriter_set_error_info[] = "CCodeWriter.set_error_info";
static const char __pyx_k_ClosureTempAllocator_reset[] = "ClosureTempAllocator.reset";
static const char __pyx_k_FunctionState_release_temp[] = "FunctionState.release_temp";
static const char __pyx_k_FunctionState_temps_in_use[] = "FunctionState.temps_in_use";
static const char __pyx_k_GlobalState_should_declare[] = "GlobalState.should_declare";
static const char __pyx_k_Pyx_RaiseUnboundLocalError[] = "__Pyx_RaiseUnboundLocalError";
static const char __pyx_k_StringConst_add_py_version[] = "StringConst.add_py_version";
static const char __pyx_k_UtilityCode_wrap_c_strings[] = "UtilityCode.wrap_c_strings";
static const char __pyx_k_common_utility_include_dir[] = "common_utility_include_dir";
static const char __pyx_k_get_argument_default_const[] = "get_argument_default_const";
static const char __pyx_k_if___Pyx_InitStrings_s_0_s[] = "if (__Pyx_InitStrings(%s) < 0) %s;";
static const char __pyx_k_in_utility_code_generation[] = "in_utility_code_generation";
static const char __pyx_k_put_incref_memoryviewslice[] = "put_incref_memoryviewslice";
static const char __pyx_k_put_setup_refcount_context[] = "put_setup_refcount_context";
static const char __pyx_k_CCodeWriter_decrease_indent[] = "CCodeWriter.decrease_indent";
static const char __pyx_k_CCodeWriter_get_loop_labels[] = "CCodeWriter.get_loop_labels";
static const char __pyx_k_CCodeWriter_increase_indent[] = "CCodeWriter.increase_indent";
static const char __pyx_k_CCodeWriter_insertion_point[] = "CCodeWriter.insertion_point";
static const char __pyx_k_CCodeWriter_lookup_filename[] = "CCodeWriter.lookup_filename";
static const char __pyx_k_CCodeWriter_new_error_label[] = "CCodeWriter.new_error_label";
static const char __pyx_k_CCodeWriter_new_loop_labels[] = "CCodeWriter.new_loop_labels";
static const char __pyx_k_CCodeWriter_new_yield_label[] = "CCodeWriter.new_yield_label";
static const char __pyx_k_CCodeWriter_put_acquire_gil[] = "CCodeWriter.put_acquire_gil";
static const char __pyx_k_CCodeWriter_put_pymethoddef[] = "CCodeWriter.put_pymethoddef";
static const char __pyx_k_CCodeWriter_put_release_gil[] = "CCodeWriter.put_release_gil";
static const char __pyx_k_CCodeWriter_put_var_decrefs[] = "CCodeWriter.put_var_decrefs";
static const char __pyx_k_CCodeWriter_put_var_giveref[] = "CCodeWriter.put_var_giveref";
static const char __pyx_k_CCodeWriter_put_var_xdecref[] = "CCodeWriter.put_var_xdecref";
static const char __pyx_k_CCodeWriter_put_var_xgotref[] = "CCodeWriter.put_var_xgotref";
static const char __pyx_k_CCodeWriter_put_var_xincref[] = "CCodeWriter.put_var_xincref";
static const char __pyx_k_CCodeWriter_put_xdecref_set[] = "CCodeWriter.put_xdecref_set";
static const char __pyx_k_CCodeWriter_set_loop_labels[] = "CCodeWriter.set_loop_labels";
static const char __pyx_k_ClosureTempAllocator___init[] = "ClosureTempAllocator.__init__";
static const char __pyx_k_FunctionState_allocate_temp[] = "FunctionState.allocate_temp";
static const char __pyx_k_GlobalState_get_float_const[] = "GlobalState.get_float_const";
static const char __pyx_k_GlobalState_lookup_filename[] = "GlobalState.lookup_filename";
static const char __pyx_k_GlobalState_new_const_cname[] = "GlobalState.new_const_cname";
static const char __pyx_k_PyInt_FromString_char_s_0_0[] = "PyInt_FromString((char *)\"%s\", 0, 0)";
static const char __pyx_k_UtilityCodeBase_format_code[] = "UtilityCodeBase.format_code";
static const char __pyx_k_UtilityCodeBase_load_cached[] = "UtilityCodeBase.load_cached";
static const char __pyx_k_generate_const_declarations[] = "generate_const_declarations";
static const char __pyx_k_get_cached_constants_writer[] = "get_cached_constants_writer";
static const char __pyx_k_put_finish_refcount_context[] = "put_finish_refcount_context";
static const char __pyx_k_put_xdecref_memoryviewslice[] = "put_xdecref_memoryviewslice";
static const char __pyx_k_CCodeWriter_declare_gilstate[] = "CCodeWriter.declare_gilstate";
static const char __pyx_k_CCodeWriter_exit_cfunc_scope[] = "CCodeWriter.exit_cfunc_scope";
static const char __pyx_k_CCodeWriter_get_string_const[] = "CCodeWriter.get_string_const";
static const char __pyx_k_CCodeWriter_put_decref_clear[] = "CCodeWriter.put_decref_clear";
static const char __pyx_k_CCodeWriter_put_error_if_neg[] = "CCodeWriter.put_error_if_neg";
static const char __pyx_k_CCodeWriter_put_generated_by[] = "CCodeWriter.put_generated_by";
static const char __pyx_k_CCodeWriter_put_trace_return[] = "CCodeWriter.put_trace_return";
static const char __pyx_k_CCodeWriter_put_var_xdecrefs[] = "CCodeWriter.put_var_xdecrefs";
static const char __pyx_k_CCodeWriter_put_var_xgiveref[] = "CCodeWriter.put_var_xgiveref";
static const char __pyx_k_CCodeWriter_set_global_state[] = "CCodeWriter.set_global_state";
static const char __pyx_k_FunctionState_all_new_labels[] = "FunctionState.all_new_labels";
static const char __pyx_k_FunctionState_get_all_labels[] = "FunctionState.get_all_labels";
static const char __pyx_k_FunctionState_set_all_labels[] = "FunctionState.set_all_labels";
static const char __pyx_k_GlobalState_get_string_const[] = "GlobalState.get_string_const";
static const char __pyx_k_GlobalState_new_string_const[] = "GlobalState.new_string_const";
static const char __pyx_k_GlobalState_use_utility_code[] = "GlobalState.use_utility_code";
static const char __pyx_k_PyLong_FromString_char_s_0_0[] = "PyLong_FromString((char *)\"%s\", 0, 0)";
static const char __pyx_k_Pyx_RefNannySetupContext_s_d[] = "__Pyx_RefNannySetupContext(\"%s\", %d);";
static const char __pyx_k_UtilityCodeBase__add_utility[] = "UtilityCodeBase._add_utility";
static const char __pyx_k_put_declare_refcount_context[] = "put_declare_refcount_context";
static const char __pyx_k_put_xgiveref_memoryviewslice[] = "put_xgiveref_memoryviewslice";
static const char __pyx_k_CCodeWriter_enter_cfunc_scope[] = "CCodeWriter.enter_cfunc_scope";
static const char __pyx_k_CCodeWriter_entry_as_pyobject[] = "CCodeWriter.entry_as_pyobject";
static const char __pyx_k_CCodeWriter_error_goto_if_neg[] = "CCodeWriter.error_goto_if_neg";
static const char __pyx_k_CCodeWriter_intern_identifier[] = "CCodeWriter.intern_identifier";
static const char __pyx_k_CCodeWriter_put_add_traceback[] = "CCodeWriter.put_add_traceback";
static const char __pyx_k_CCodeWriter_put_xdecref_clear[] = "CCodeWriter.put_xdecref_clear";
static const char __pyx_k_FunctionState_get_loop_labels[] = "FunctionState.get_loop_labels";
static const char __pyx_k_FunctionState_new_error_label[] = "FunctionState.new_error_label";
static const char __pyx_k_FunctionState_new_loop_labels[] = "FunctionState.new_loop_labels";
static const char __pyx_k_FunctionState_new_yield_label[] = "FunctionState.new_yield_label";
static const char __pyx_k_FunctionState_set_loop_labels[] = "FunctionState.set_loop_labels";
static const char __pyx_k_GlobalState_put_pyobject_decl[] = "GlobalState.put_pyobject_decl";
static const char __pyx_k_PyxCodeWriter_insertion_point[] = "PyxCodeWriter.insertion_point";
static const char __pyx_k_Pyx_WriteUnraisable_s_s_s_s_d[] = "__Pyx_WriteUnraisable(\"%s\", %s, %s, %s, %d, %d);";
static const char __pyx_k_generate_cached_methods_decls[] = "generate_cached_methods_decls";
static const char __pyx_k_static___Pyx_StringTabEntry_s[] = "static __Pyx_StringTabEntry %s[] = {";
static const char __pyx_k_CCodeWriter_error_goto_if_null[] = "CCodeWriter.error_goto_if_null";
static const char __pyx_k_CCodeWriter_get_py_version_hex[] = "CCodeWriter.get_py_version_hex";
static const char __pyx_k_C_s_5_30_s_P_name_w_s_C_s_5_30[] = "^%(C)s{5,30}\\s*(?P<name>(?:\\w|\\.)+)\\s*%(C)s{5,30}|^%(C)s+@(?P<tag>\\w+)\\s*:\\s*(?P<value>(?:\\w|[.:])+)";
static const char __pyx_k_GlobalState_close_global_decls[] = "GlobalState.close_global_decls";
static const char __pyx_k_Pyx_RaiseUnboundMemoryviewSlic[] = "__Pyx_RaiseUnboundMemoryviewSliceNogil";
static const char __pyx_k_TempitaUtilityCode_load_cached[] = "TempitaUtilityCode.load_cached";
static const char __pyx_k_TempitaUtilityCode_none_or_sub[] = "TempitaUtilityCode.none_or_sub";
static const char __pyx_k_UtilityCodeBase_load_as_string[] = "UtilityCodeBase.load_as_string";
static const char __pyx_k_Utility_class_to_output_C_code[] = "\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 compatabilty). 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    ";
static const char __pyx_k_generate_object_constant_decls[] = "generate_object_constant_decls";
static const char __pyx_k_should_declare_error_indicator[] = "should_declare_error_indicator";
static const char __pyx_k_CALL_UNBOUND_METHOD_a_zA_Z__s_s[] = "CALL_UNBOUND_METHOD\\(([a-zA-Z_]+),\\s*\"([^\"]+)\"((?:,\\s*[^),]+)+)\\)";
static const char __pyx_k_CCodeWriter_error_goto_if_PyErr[] = "CCodeWriter.error_goto_if_PyErr";
static const char __pyx_k_CCodeWriter_get_py_string_const[] = "CCodeWriter.get_py_string_const";
static const char __pyx_k_CCodeWriter_put_finish_refcount[] = "CCodeWriter.put_finish_refcount_context";
static const char __pyx_k_CCodeWriter_put_init_to_py_none[] = "CCodeWriter.put_init_to_py_none";
static const char __pyx_k_CCodeWriter_put_release_ensured[] = "CCodeWriter.put_release_ensured_gil";
static const char __pyx_k_CCodeWriter_put_trace_exception[] = "CCodeWriter.put_trace_exception";
static const char __pyx_k_CCodeWriter_put_var_declaration[] = "CCodeWriter.put_var_declaration";
static const char __pyx_k_Can_be_used_for_writing_out_som[] = "\n    Can be used for writing out some Cython code. To use the indenter\n    functionality, the Cython.Compiler.Importer module will have to be used\n    to load the code to support python 2.4\n    ";
static const char __pyx_k_Error_parsing_templated_utility[] = "Error parsing templated utility code of type '%s' at line %d: %s";
static const char __pyx_k_FunctionState_all_managed_temps[] = "FunctionState.all_managed_temps";
static const char __pyx_k_GlobalState_get_py_string_const[] = "GlobalState.get_py_string_const";
static const char __pyx_k_GlobalState_new_num_const_cname[] = "GlobalState.new_num_const_cname";
static const char __pyx_k_No_match_found_for_utility_code[] = "No match found for utility code ";
static const char __pyx_k_PyGILState_STATE___pyx_gilstate[] = "PyGILState_STATE __pyx_gilstate_save;";
static const char __pyx_k_Stores_utility_code_to_add_duri[] = "\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    impl            implemenation 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    ";
static const char __pyx_k_StringConst_get_py_string_const[] = "StringConst.get_py_string_const";
static const char __pyx_k_Support_for_loading_utility_cod[] = "\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    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    ";
static const char __pyx_k_Utility_code_that_calls_a_callb[] = "\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    ";
static const char __pyx_k_define_likely_x___builtin_expec[] = "    #define likely(x)   __builtin_expect(!!(x), 1)";
static const char __pyx_k_define_unlikely_x___builtin_exp[] = "    #define unlikely(x) __builtin_expect(!!(x), 0)";
static const char __pyx_k_funccontext_property_locals_get[] = "funccontext_property.<locals>.get";
static const char __pyx_k_funccontext_property_locals_set[] = "funccontext_property.<locals>.set";
static const char __pyx_k_inserted_by_cython_to_avoid_com[] = "*[inserted by cython to avoid comment closer]/";
static const char __pyx_k_return_from_error_cleanup_label[] = "return_from_error_cleanup_label";
static const char __pyx_k_s___Pyx_GetBuiltinName_s_if_s_s[] = "%s = __Pyx_GetBuiltinName(%s); if (!%s) %s";
static const char __pyx_k_tmp_pip_install_9i_72p5f_cython[] = "/tmp/pip-install-9i_72p5f/cython_58c0ae716fd246eb8843b3dfd03bc38a/Cython/Compiler/Code.py";
static const char __pyx_k_utility_code_proto_before_types[] = "utility_code_proto_before_types";
static const char __pyx_k_CALL_UNBOUND_METHOD_requires_1_o[] = "CALL_UNBOUND_METHOD() requires 1 or 2 call arguments";
static const char __pyx_k_CCodeWriter__put_var_decref_clea[] = "CCodeWriter._put_var_decref_clear";
static const char __pyx_k_CCodeWriter_build_function_modif[] = "CCodeWriter.build_function_modifiers";
static const char __pyx_k_CCodeWriter_get_argument_default[] = "CCodeWriter.get_argument_default_const";
static const char __pyx_k_CCodeWriter_get_cached_constants[] = "CCodeWriter.get_cached_constants_writer";
static const char __pyx_k_CCodeWriter_get_pyunicode_ptr_co[] = "CCodeWriter.get_pyunicode_ptr_const";
static const char __pyx_k_CCodeWriter_put_declare_refcount[] = "CCodeWriter.put_declare_refcount_context";
static const char __pyx_k_CCodeWriter_put_error_if_unbound[] = "CCodeWriter.put_error_if_unbound";
static const char __pyx_k_CCodeWriter_put_incref_memoryvie[] = "CCodeWriter.put_incref_memoryviewslice";
static const char __pyx_k_CCodeWriter_put_init_var_to_py_n[] = "CCodeWriter.put_init_var_to_py_none";
static const char __pyx_k_CCodeWriter_put_setup_refcount_c[] = "CCodeWriter.put_setup_refcount_context";
static const char __pyx_k_CCodeWriter_put_temp_declaration[] = "CCodeWriter.put_temp_declarations";
static const char __pyx_k_CCodeWriter_put_trace_declaratio[] = "CCodeWriter.put_trace_declarations";
static const char __pyx_k_CCodeWriter_put_trace_frame_init[] = "CCodeWriter.put_trace_frame_init";
static const char __pyx_k_CCodeWriter_put_var_decref_clear[] = "CCodeWriter.put_var_decref_clear";
static const char __pyx_k_CCodeWriter_put_var_xdecref_clea[] = "CCodeWriter.put_var_xdecref_clear";
static const char __pyx_k_CCodeWriter_put_var_xdecrefs_cle[] = "CCodeWriter.put_var_xdecrefs_clear";
static const char __pyx_k_CCodeWriter_put_xdecref_memoryvi[] = "CCodeWriter.put_xdecref_memoryviewslice";
static const char __pyx_k_CCodeWriter_put_xgiveref_memoryv[] = "CCodeWriter.put_xgiveref_memoryviewslice";
static const char __pyx_k_CCodeWriter_redef_builtin_expect[] = "CCodeWriter.redef_builtin_expect";
static const char __pyx_k_CCodeWriter_undef_builtin_expect[] = "CCodeWriter.undef_builtin_expect";
static const char __pyx_k_ClosureTempAllocator_allocate_te[] = "ClosureTempAllocator.allocate_temp";
static const char __pyx_k_FunctionState_all_free_managed_t[] = "FunctionState.all_free_managed_temps";
static const char __pyx_k_FunctionState_init_closure_temps[] = "FunctionState.init_closure_temps";
static const char __pyx_k_FunctionState_start_collecting_t[] = "FunctionState.start_collecting_temps";
static const char __pyx_k_FunctionState_stop_collecting_te[] = "FunctionState.stop_collecting_temps";
static const char __pyx_k_FunctionState_temps_holding_refe[] = "FunctionState.temps_holding_reference";
static const char __pyx_k_GlobalState_add_cached_builtin_d[] = "GlobalState.add_cached_builtin_decl";
static const char __pyx_k_GlobalState_commented_file_conte[] = "GlobalState.commented_file_contents";
static const char __pyx_k_GlobalState_finalize_main_c_code[] = "GlobalState.finalize_main_c_code";
static const char __pyx_k_GlobalState_generate_cached_meth[] = "GlobalState.generate_cached_methods_decls";
static const char __pyx_k_GlobalState_generate_const_decla[] = "GlobalState.generate_const_declarations";
static const char __pyx_k_GlobalState_generate_num_constan[] = "GlobalState.generate_num_constants";
static const char __pyx_k_GlobalState_generate_object_cons[] = "GlobalState.generate_object_constant_decls";
static const char __pyx_k_GlobalState_generate_string_cons[] = "GlobalState.generate_string_constants";
static const char __pyx_k_GlobalState_get_cached_constants[] = "GlobalState.get_cached_constants_writer";
static const char __pyx_k_GlobalState_get_cached_unbound_m[] = "GlobalState.get_cached_unbound_method";
static const char __pyx_k_GlobalState_get_interned_identif[] = "GlobalState.get_interned_identifier";
static const char __pyx_k_GlobalState_get_pyunicode_ptr_co[] = "GlobalState.get_pyunicode_ptr_const";
static const char __pyx_k_GlobalState_initialize_main_c_co[] = "GlobalState.initialize_main_c_code";
static const char __pyx_k_GlobalState_new_string_const_cna[] = "GlobalState.new_string_const_cname";
static const char __pyx_k_GlobalState_put_cached_builtin_i[] = "GlobalState.put_cached_builtin_init";
static const char __pyx_k_GlobalState_use_entry_utility_co[] = "GlobalState.use_entry_utility_code";
static const char __pyx_k_Global_info_about_a_Python_numbe[] = "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    ";
static const char __pyx_k_Global_info_about_a_Python_strin[] = "Global info about a Python string constant held by GlobalState.\n    ";
static const char __pyx_k_More_than_one_filename_match_fou[] = "More than one filename match found for utility code ";
static const char __pyx_k_PyxCodeWriter_named_insertion_po[] = "PyxCodeWriter.named_insertion_point";
static const char __pyx_k_UtilityCodeBase_load_utilities_f[] = "UtilityCodeBase.load_utilities_from_file.<locals>.<lambda>";
static const char __pyx_k_UtilityCode_inject_string_consta[] = "UtilityCode.inject_string_constants.<locals>.externalise";
static const char __pyx_k_UtilityCode_inject_unbound_metho[] = "UtilityCode.inject_unbound_methods.<locals>.externalise";
static const char __pyx_k_UtilityCode_wrap_c_strings_local[] = "UtilityCode.wrap_c_strings.<locals>.split_string.<locals>.genexpr";
static const char __pyx_k_raise_closure_name_error_utility[] = "raise_closure_name_error_utility_code";
static const char __pyx_k_raise_unbound_local_error_utilit[] = "raise_unbound_local_error_utility_code";
static const char __pyx_k_raise_unbound_memoryview_utility[] = "raise_unbound_memoryview_utility_code_nogil";
static const char __pyx_k_static___Pyx_CachedCFunction_s_0[] = "static __Pyx_CachedCFunction %s = {0, &%s, 0, 0, 0};";
static const char __pyx_k_static_int___Pyx_InitCachedBuilt[] = "static int __Pyx_InitCachedBuiltins(void) {";
  static const char __pyx_k_static_int___Pyx_InitCachedConst[] = "static int __Pyx_InitCachedConstants(void) {";
    static const char __pyx_k_static_int___Pyx_InitGlobals_voi[] = "static int __Pyx_InitGlobals(void) {";
      static const char __pyx_k_static_void___Pyx_CleanupGlobals[] = "static void __Pyx_CleanupGlobals(void) {";
        static const char __pyx_k_inserted_by_cython_to_avoid_com_2[] = "/[inserted by cython to avoid comment start]*";
        static const char __pyx_k_UtilityCodeBase_load_utilities_f_2[] = "UtilityCodeBase.load_utilities_from_file";
        static const char __pyx_k_UtilityCode_inject_string_consta_2[] = "UtilityCode.inject_string_constants";
        static const char __pyx_k_UtilityCode_inject_unbound_metho_2[] = "UtilityCode.inject_unbound_methods";
        static const char __pyx_k_UtilityCode_wrap_c_strings_local_2[] = "UtilityCode.wrap_c_strings.<locals>.split_string";
        static PyObject *__pyx_kp_s_;
        static PyObject *__pyx_kp_u_;
        static PyObject *__pyx_kp_s_0;
        static PyObject *__pyx_kp_s_0_0_0_0_0_0_0;
        static PyObject *__pyx_kp_b_0_9_w;
        static PyObject *__pyx_kp_s_0_9_w;
        static PyObject *__pyx_kp_s_0x_02X_02X_02X_02X;
        static PyObject *__pyx_kp_s_1;
        static PyObject *__pyx_n_s_ASCII;
        static PyObject *__pyx_n_s_C;
        static PyObject *__pyx_kp_s_CALL_UNBOUND_METHOD;
        static PyObject *__pyx_kp_s_CALL_UNBOUND_METHOD_a_zA_Z__s_s;
        static PyObject *__pyx_kp_s_CALL_UNBOUND_METHOD_requires_1_o;
        static PyObject *__pyx_n_s_CCodeConfig;
        static PyObject *__pyx_n_s_CCodeConfig___init;
        static PyObject *__pyx_n_s_CCodeWriter;
        static PyObject *__pyx_n_s_CCodeWriter___init;
        static PyObject *__pyx_n_s_CCodeWriter__build_marker;
        static PyObject *__pyx_n_s_CCodeWriter__put_decref;
        static PyObject *__pyx_n_s_CCodeWriter__put_var_decref_clea;
        static PyObject *__pyx_n_s_CCodeWriter_all_new_labels;
        static PyObject *__pyx_n_s_CCodeWriter_as_pyobject;
        static PyObject *__pyx_n_s_CCodeWriter_begin_block;
        static PyObject *__pyx_n_s_CCodeWriter_build_function_modif;
        static PyObject *__pyx_n_s_CCodeWriter_copyto;
        static PyObject *__pyx_n_s_CCodeWriter_create_new;
        static PyObject *__pyx_n_s_CCodeWriter_declare_gilstate;
        static PyObject *__pyx_n_s_CCodeWriter_decrease_indent;
        static PyObject *__pyx_n_s_CCodeWriter_emit_marker;
        static PyObject *__pyx_n_s_CCodeWriter_end_block;
        static PyObject *__pyx_n_s_CCodeWriter_enter_cfunc_scope;
        static PyObject *__pyx_n_s_CCodeWriter_entry_as_pyobject;
        static PyObject *__pyx_n_s_CCodeWriter_error_goto;
        static PyObject *__pyx_n_s_CCodeWriter_error_goto_if;
        static PyObject *__pyx_n_s_CCodeWriter_error_goto_if_PyErr;
        static PyObject *__pyx_n_s_CCodeWriter_error_goto_if_neg;
        static PyObject *__pyx_n_s_CCodeWriter_error_goto_if_null;
        static PyObject *__pyx_n_s_CCodeWriter_exit_cfunc_scope;
        static PyObject *__pyx_n_s_CCodeWriter_get_all_labels;
        static PyObject *__pyx_n_s_CCodeWriter_get_argument_default;
        static PyObject *__pyx_n_s_CCodeWriter_get_cached_constants;
        static PyObject *__pyx_n_s_CCodeWriter_get_loop_labels;
        static PyObject *__pyx_n_s_CCodeWriter_get_py_const;
        static PyObject *__pyx_n_s_CCodeWriter_get_py_float;
        static PyObject *__pyx_n_s_CCodeWriter_get_py_int;
        static PyObject *__pyx_n_s_CCodeWriter_get_py_string_const;
        static PyObject *__pyx_n_s_CCodeWriter_get_py_version_hex;
        static PyObject *__pyx_n_s_CCodeWriter_get_pyunicode_ptr_co;
        static PyObject *__pyx_n_s_CCodeWriter_get_string_const;
        static PyObject *__pyx_n_s_CCodeWriter_getvalue;
        static PyObject *__pyx_n_s_CCodeWriter_increase_indent;
        static PyObject *__pyx_n_s_CCodeWriter_indent;
        static PyObject *__pyx_n_s_CCodeWriter_insert;
        static PyObject *__pyx_n_s_CCodeWriter_insertion_point;
        static PyObject *__pyx_n_s_CCodeWriter_intern;
        static PyObject *__pyx_n_s_CCodeWriter_intern_identifier;
        static PyObject *__pyx_n_s_CCodeWriter_label_used;
        static PyObject *__pyx_n_s_CCodeWriter_lookup_filename;
        static PyObject *__pyx_n_s_CCodeWriter_mark_pos;
        static PyObject *__pyx_n_s_CCodeWriter_new_error_label;
        static PyObject *__pyx_n_s_CCodeWriter_new_label;
        static PyObject *__pyx_n_s_CCodeWriter_new_loop_labels;
        static PyObject *__pyx_n_s_CCodeWriter_new_writer;
        static PyObject *__pyx_n_s_CCodeWriter_new_yield_label;
        static PyObject *__pyx_n_s_CCodeWriter_put;
        static PyObject *__pyx_n_s_CCodeWriter_put_acquire_gil;
        static PyObject *__pyx_n_s_CCodeWriter_put_add_traceback;
        static PyObject *__pyx_n_s_CCodeWriter_put_declare_refcount;
        static PyObject *__pyx_n_s_CCodeWriter_put_decref;
        static PyObject *__pyx_n_s_CCodeWriter_put_decref_clear;
        static PyObject *__pyx_n_s_CCodeWriter_put_decref_set;
        static PyObject *__pyx_n_s_CCodeWriter_put_ensure_gil;
        static PyObject *__pyx_n_s_CCodeWriter_put_error_if_neg;
        static PyObject *__pyx_n_s_CCodeWriter_put_error_if_unbound;
        static PyObject *__pyx_n_s_CCodeWriter_put_finish_refcount;
        static PyObject *__pyx_n_s_CCodeWriter_put_generated_by;
        static PyObject *__pyx_n_s_CCodeWriter_put_giveref;
        static PyObject *__pyx_n_s_CCodeWriter_put_goto;
        static PyObject *__pyx_n_s_CCodeWriter_put_gotref;
        static PyObject *__pyx_n_s_CCodeWriter_put_h_guard;
        static PyObject *__pyx_n_s_CCodeWriter_put_incref;
        static PyObject *__pyx_n_s_CCodeWriter_put_incref_memoryvie;
        static PyObject *__pyx_n_s_CCodeWriter_put_init_to_py_none;
        static PyObject *__pyx_n_s_CCodeWriter_put_init_var_to_py_n;
        static PyObject *__pyx_n_s_CCodeWriter_put_label;
        static PyObject *__pyx_n_s_CCodeWriter_put_or_include;
        static PyObject *__pyx_n_s_CCodeWriter_put_pymethoddef;
        static PyObject *__pyx_n_s_CCodeWriter_put_release_ensured;
        static PyObject *__pyx_n_s_CCodeWriter_put_release_gil;
        static PyObject *__pyx_n_s_CCodeWriter_put_safe;
        static PyObject *__pyx_n_s_CCodeWriter_put_setup_refcount_c;
        static PyObject *__pyx_n_s_CCodeWriter_put_temp_declaration;
        static PyObject *__pyx_n_s_CCodeWriter_put_tempita;
        static PyObject *__pyx_n_s_CCodeWriter_put_trace_call;
        static PyObject *__pyx_n_s_CCodeWriter_put_trace_declaratio;
        static PyObject *__pyx_n_s_CCodeWriter_put_trace_exception;
        static PyObject *__pyx_n_s_CCodeWriter_put_trace_frame_init;
        static PyObject *__pyx_n_s_CCodeWriter_put_trace_return;
        static PyObject *__pyx_n_s_CCodeWriter_put_unraisable;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_declaration;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_decref;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_decref_clear;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_decrefs;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_giveref;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_gotref;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_incref;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_xdecref;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_xdecref_clea;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_xdecrefs;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_xdecrefs_cle;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_xgiveref;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_xgotref;
        static PyObject *__pyx_n_s_CCodeWriter_put_var_xincref;
        static PyObject *__pyx_n_s_CCodeWriter_put_xdecref;
        static PyObject *__pyx_n_s_CCodeWriter_put_xdecref_clear;
        static PyObject *__pyx_n_s_CCodeWriter_put_xdecref_memoryvi;
        static PyObject *__pyx_n_s_CCodeWriter_put_xdecref_set;
        static PyObject *__pyx_n_s_CCodeWriter_put_xgiveref;
        static PyObject *__pyx_n_s_CCodeWriter_put_xgiveref_memoryv;
        static PyObject *__pyx_n_s_CCodeWriter_put_xgotref;
        static PyObject *__pyx_n_s_CCodeWriter_putln;
        static PyObject *__pyx_n_s_CCodeWriter_putln_openmp;
        static PyObject *__pyx_n_s_CCodeWriter_putln_tempita;
        static PyObject *__pyx_n_s_CCodeWriter_redef_builtin_expect;
        static PyObject *__pyx_n_s_CCodeWriter_set_all_labels;
        static PyObject *__pyx_n_s_CCodeWriter_set_error_info;
        static PyObject *__pyx_n_s_CCodeWriter_set_global_state;
        static PyObject *__pyx_n_s_CCodeWriter_set_loop_labels;
        static PyObject *__pyx_n_s_CCodeWriter_undef_builtin_expect;
        static PyObject *__pyx_n_s_CCodeWriter_unlikely;
        static PyObject *__pyx_n_s_CCodeWriter_use_label;
        static PyObject *__pyx_n_s_CCodeWriter_write;
        static PyObject *__pyx_kp_s_CSTRING;
        static PyObject *__pyx_kp_s_CSTRING_s_s;
        static PyObject *__pyx_n_s_CYTHON_INLINE;
        static PyObject *__pyx_kp_s_CYTHON_UNUSED;
        static PyObject *__pyx_kp_s_C_s_5_30_s_P_name_w_s_C_s_5_30;
        static PyObject *__pyx_n_s_CallUnboundCMethod0;
        static PyObject *__pyx_n_s_CallUnboundCMethod1;
        static PyObject *__pyx_kp_s_Can_be_used_for_writing_out_som;
        static PyObject *__pyx_n_s_ClosureTempAllocator;
        static PyObject *__pyx_n_s_ClosureTempAllocator___init;
        static PyObject *__pyx_n_s_ClosureTempAllocator_allocate_te;
        static PyObject *__pyx_n_s_ClosureTempAllocator_reset;
        static PyObject *__pyx_n_s_Cython_Compiler_Code;
        static PyObject *__pyx_n_s_Cython_dir;
        static PyObject *__pyx_n_s_DebugFlags;
        static PyObject *__pyx_kp_s_Empty_utility_code_file;
        static PyObject *__pyx_n_s_EncodedString;
        static PyObject *__pyx_kp_s_Error_parsing_templated_utility;
        static PyObject *__pyx_kp_s_Exceptions_c;
        static PyObject *__pyx_n_s_ExprNodes;
        static PyObject *__pyx_n_s_F;
        static PyObject *__pyx_n_s_ForceInitThreads;
        static PyObject *__pyx_n_s_FunctionState_all_free_managed_t;
        static PyObject *__pyx_n_s_FunctionState_all_managed_temps;
        static PyObject *__pyx_n_s_FunctionState_all_new_labels;
        static PyObject *__pyx_n_s_FunctionState_allocate_temp;
        static PyObject *__pyx_n_s_FunctionState_get_all_labels;
        static PyObject *__pyx_n_s_FunctionState_get_loop_labels;
        static PyObject *__pyx_n_s_FunctionState_init_closure_temps;
        static PyObject *__pyx_n_s_FunctionState_label_used;
        static PyObject *__pyx_n_s_FunctionState_new_error_label;
        static PyObject *__pyx_n_s_FunctionState_new_label;
        static PyObject *__pyx_n_s_FunctionState_new_loop_labels;
        static PyObject *__pyx_n_s_FunctionState_new_yield_label;
        static PyObject *__pyx_n_s_FunctionState_release_temp;
        static PyObject *__pyx_n_s_FunctionState_set_all_labels;
        static PyObject *__pyx_n_s_FunctionState_set_loop_labels;
        static PyObject *__pyx_n_s_FunctionState_start_collecting_t;
        static PyObject *__pyx_n_s_FunctionState_stop_collecting_te;
        static PyObject *__pyx_n_s_FunctionState_temps_holding_refe;
        static PyObject *__pyx_n_s_FunctionState_temps_in_use;
        static PyObject *__pyx_n_s_FunctionState_use_label;
        static PyObject *__pyx_kp_s_Generated_by_Cython_s;
        static PyObject *__pyx_n_s_GetBuiltinName;
        static PyObject *__pyx_n_s_GlobalState;
        static PyObject *__pyx_n_s_GlobalState___getitem;
        static PyObject *__pyx_n_s_GlobalState___init;
        static PyObject *__pyx_n_s_GlobalState_add_cached_builtin_d;
        static PyObject *__pyx_n_s_GlobalState_close_global_decls;
        static PyObject *__pyx_n_s_GlobalState_commented_file_conte;
        static PyObject *__pyx_n_s_GlobalState_finalize_main_c_code;
        static PyObject *__pyx_n_s_GlobalState_generate_cached_meth;
        static PyObject *__pyx_n_s_GlobalState_generate_const_decla;
        static PyObject *__pyx_n_s_GlobalState_generate_num_constan;
        static PyObject *__pyx_n_s_GlobalState_generate_object_cons;
        static PyObject *__pyx_n_s_GlobalState_generate_string_cons;
        static PyObject *__pyx_n_s_GlobalState_get_cached_constants;
        static PyObject *__pyx_n_s_GlobalState_get_cached_unbound_m;
        static PyObject *__pyx_n_s_GlobalState_get_float_const;
        static PyObject *__pyx_n_s_GlobalState_get_int_const;
        static PyObject *__pyx_n_s_GlobalState_get_interned_identif;
        static PyObject *__pyx_n_s_GlobalState_get_py_const;
        static PyObject *__pyx_n_s_GlobalState_get_py_string_const;
        static PyObject *__pyx_n_s_GlobalState_get_pyunicode_ptr_co;
        static PyObject *__pyx_n_s_GlobalState_get_string_const;
        static PyObject *__pyx_n_s_GlobalState_initialize_main_c_co;
        static PyObject *__pyx_n_s_GlobalState_lookup_filename;
        static PyObject *__pyx_n_s_GlobalState_new_const_cname;
        static PyObject *__pyx_n_s_GlobalState_new_num_const;
        static PyObject *__pyx_n_s_GlobalState_new_num_const_cname;
        static PyObject *__pyx_n_s_GlobalState_new_py_const;
        static PyObject *__pyx_n_s_GlobalState_new_string_const;
        static PyObject *__pyx_n_s_GlobalState_new_string_const_cna;
        static PyObject *__pyx_n_s_GlobalState_put_cached_builtin_i;
        static PyObject *__pyx_n_s_GlobalState_put_pyobject_decl;
        static PyObject *__pyx_n_s_GlobalState_should_declare;
        static PyObject *__pyx_n_s_GlobalState_use_entry_utility_co;
        static PyObject *__pyx_n_s_GlobalState_use_utility_code;
        static PyObject *__pyx_kp_s_Global_info_about_a_Python_numbe;
        static PyObject *__pyx_kp_s_Global_info_about_a_Python_strin;
        static PyObject *__pyx_n_s_ImportError;
        static PyObject *__pyx_n_s_InitStrings;
        static PyObject *__pyx_n_s_KEYWORDS_MUST_BE_BYTES;
        static PyObject *__pyx_n_s_KeyError;
        static PyObject *__pyx_n_s_L;
        static PyObject *__pyx_n_s_LazyUtilityCode;
        static PyObject *__pyx_n_s_LazyUtilityCode___init;
        static PyObject *__pyx_n_s_LazyUtilityCode_put_code;
        static PyObject *__pyx_n_s_MemoryView;
        static PyObject *__pyx_kp_s_ModuleSetupCode_c;
        static PyObject *__pyx_kp_s_More_than_one_filename_match_fou;
        static PyObject *__pyx_kp_s_NULL;
        static PyObject *__pyx_n_s_Naming;
        static PyObject *__pyx_kp_s_No_match_found_for_utility_code;
        static PyObject *__pyx_n_s_NumConst;
        static PyObject *__pyx_n_s_NumConst___init;
        static PyObject *__pyx_n_s_OSError;
        static PyObject *__pyx_kp_s_ObjectHandling_c;
        static PyObject *__pyx_n_s_Options;
        static PyObject *__pyx_kp_s_PYIDENT;
        static PyObject *__pyx_kp_s_PYIDENT_2;
        static PyObject *__pyx_kp_s_PYX_ERR_s_s_s;
        static PyObject *__pyx_kp_s_PYX_INC_MEMVIEW_s_d;
        static PyObject *__pyx_kp_s_PYX_XDEC_MEMVIEW_s_d;
        static PyObject *__pyx_kp_s_PY_MAJOR_VERSION_3;
        static PyObject *__pyx_kp_s_PY_MAJOR_VERSION_3_2;
        static PyObject *__pyx_n_s_Py;
        static PyObject *__pyx_kp_s_PyErr_Occurred;
        static PyObject *__pyx_kp_s_PyFloat_FromDouble_s;
        static PyObject *__pyx_kp_s_PyGILState_Release_s;
        static PyObject *__pyx_kp_s_PyGILState_STATE;
        static PyObject *__pyx_kp_s_PyGILState_STATE___pyx_gilstate;
        static PyObject *__pyx_n_s_PyHeapTypeObject;
        static PyObject *__pyx_kp_s_PyInt_FromLong_s;
        static PyObject *__pyx_kp_s_PyInt_FromLong_sL;
        static PyObject *__pyx_kp_s_PyInt_FromString_char_s_0_0;
        static PyObject *__pyx_kp_s_PyLong_FromString_char_s_0_0;
        static PyObject *__pyx_kp_s_PyObject;
        static PyObject *__pyx_n_s_PyStringConst;
        static PyObject *__pyx_n_s_PyStringConst___init;
        static PyObject *__pyx_n_s_PyStringConst___lt;
        static PyObject *__pyx_kp_s_PyThreadState__save;
        static PyObject *__pyx_n_s_PyTypeObject;
        static PyObject *__pyx_n_s_Py_BLOCK_THREADS;
        static PyObject *__pyx_kp_s_Py_CLEAR_s;
        static PyObject *__pyx_kp_s_Py_CLEAR_s_method;
        static PyObject *__pyx_kp_s_Py_INCREF_s;
        static PyObject *__pyx_n_s_Py_None;
        static PyObject *__pyx_n_s_Py_UNBLOCK_THREADS;
        static PyObject *__pyx_n_s_PyrexCodeWriter_dedent;
        static PyObject *__pyx_n_s_PyrexCodeWriter_indent;
        static PyObject *__pyx_n_s_PyrexCodeWriter_putln;
        static PyObject *__pyx_n_s_PyrexTypes;
        static PyObject *__pyx_n_s_Pyx;
        static PyObject *__pyx_n_s_PyxCodeWriter;
        static PyObject *__pyx_n_s_PyxCodeWriter___init;
        static PyObject *__pyx_n_s_PyxCodeWriter__putln;
        static PyObject *__pyx_n_s_PyxCodeWriter_dedent;
        static PyObject *__pyx_n_s_PyxCodeWriter_getvalue;
        static PyObject *__pyx_n_s_PyxCodeWriter_indent;
        static PyObject *__pyx_n_s_PyxCodeWriter_indenter;
        static PyObject *__pyx_n_s_PyxCodeWriter_insertion_point;
        static PyObject *__pyx_n_s_PyxCodeWriter_named_insertion_po;
        static PyObject *__pyx_n_s_PyxCodeWriter_put_chunk;
        static PyObject *__pyx_n_s_PyxCodeWriter_putln;
        static PyObject *__pyx_kp_s_Pyx_AddTraceback_s_s_s_s;
        static PyObject *__pyx_n_s_Pyx_CallUnboundCMethod0;
        static PyObject *__pyx_n_s_Pyx_CallUnboundCMethod1;
        static PyObject *__pyx_kp_s_Pyx_DECREF_SET_s_s;
        static PyObject *__pyx_kp_s_Pyx_GIVEREF_s;
        static PyObject *__pyx_kp_s_Pyx_GOTREF_s;
        static PyObject *__pyx_kp_s_Pyx_INCREF_s;
        static PyObject *__pyx_n_s_Pyx_InitCachedConstants;
        static PyObject *__pyx_n_s_Pyx_RaiseClosureNameError;
        static PyObject *__pyx_n_s_Pyx_RaiseUnboundLocalError;
        static PyObject *__pyx_n_s_Pyx_RaiseUnboundMemoryviewSlic;
        static PyObject *__pyx_n_s_Pyx_RefNannyDeclarations;
        static PyObject *__pyx_kp_s_Pyx_RefNannyFinishContext;
        static PyObject *__pyx_kp_s_Pyx_RefNannySetupContext_s_d;
        static PyObject *__pyx_kp_s_Pyx_TraceCall_s_s_s_s_d_s;
        static PyObject *__pyx_n_s_Pyx_TraceDeclarations;
        static PyObject *__pyx_kp_s_Pyx_TraceException;
        static PyObject *__pyx_kp_s_Pyx_TraceFrameInit_s;
        static PyObject *__pyx_kp_s_Pyx_TraceLine_d_d_s;
        static PyObject *__pyx_kp_s_Pyx_TraceReturn_s_d;
        static PyObject *__pyx_kp_s_Pyx_WriteUnraisable_s_s_s_s_d;
        static PyObject *__pyx_kp_s_Pyx_XDECREF_SET_s_s;
        static PyObject *__pyx_kp_s_Pyx_XDECREF_s;
        static PyObject *__pyx_kp_s_Pyx_XGIVEREF_s;
        static PyObject *__pyx_kp_s_Pyx_XGOTREF_s;
        static PyObject *__pyx_kp_s_Pyx_XINCREF_s;
        static PyObject *__pyx_kp_s_Pyx__sCLEAR_s;
        static PyObject *__pyx_kp_s_Pyx__sDECREF_s_s_0;
        static PyObject *__pyx_n_s_RuntimeError;
        static PyObject *__pyx_kp_s_Runtime_support_code;
        static PyObject *__pyx_kp_s_Runtime_support_code_head;
        static PyObject *__pyx_n_s_Scanning;
        static PyObject *__pyx_n_s_SourceDescriptor;
        static PyObject *__pyx_kp_s_Stores_utility_code_to_add_duri;
        static PyObject *__pyx_n_s_StringConst_add_py_version;
        static PyObject *__pyx_n_s_StringConst_get_py_string_const;
        static PyObject *__pyx_n_s_StringEncoding;
        static PyObject *__pyx_n_s_StringIOTree;
        static PyObject *__pyx_kp_s_StringTools_c;
        static PyObject *__pyx_kp_s_Support_for_loading_utility_cod;
        static PyObject *__pyx_kp_s_Temp_s_freed_twice;
        static PyObject *__pyx_n_s_Tempita;
        static PyObject *__pyx_n_s_TempitaUtilityCode;
        static PyObject *__pyx_n_s_TempitaUtilityCode___init;
        static PyObject *__pyx_n_s_TempitaUtilityCode_load_cached;
        static PyObject *__pyx_n_s_TempitaUtilityCode_none_or_sub;
        static PyObject *__pyx_n_s_Template;
        static PyObject *__pyx_kp_s_TypeConversion_c;
        static PyObject *__pyx_n_s_TypeConversions;
        static PyObject *__pyx_n_s_TypeSlots;
        static PyObject *__pyx_n_s_U;
        static PyObject *__pyx_n_s_USASCII;
        static PyObject *__pyx_kp_s_US_ASCII;
        static PyObject *__pyx_n_s_UTF8;
        static PyObject *__pyx_kp_s_UTF_8;
        static PyObject *__pyx_n_s_Utility;
        static PyObject *__pyx_n_s_UtilityCode;
        static PyObject *__pyx_n_s_UtilityCodeBase;
        static PyObject *__pyx_n_s_UtilityCodeBase___str;
        static PyObject *__pyx_n_s_UtilityCodeBase__add_utility;
        static PyObject *__pyx_n_s_UtilityCodeBase_format_code;
        static PyObject *__pyx_n_s_UtilityCodeBase_get_tree;
        static PyObject *__pyx_n_s_UtilityCodeBase_load;
        static PyObject *__pyx_n_s_UtilityCodeBase_load_as_string;
        static PyObject *__pyx_n_s_UtilityCodeBase_load_cached;
        static PyObject *__pyx_n_s_UtilityCodeBase_load_utilities_f;
        static PyObject *__pyx_n_s_UtilityCodeBase_load_utilities_f_2;
        static PyObject *__pyx_n_s_UtilityCode___eq;
        static PyObject *__pyx_n_s_UtilityCode___hash;
        static PyObject *__pyx_n_s_UtilityCode___init;
        static PyObject *__pyx_n_s_UtilityCode_inject_string_consta;
        static PyObject *__pyx_n_s_UtilityCode_inject_string_consta_2;
        static PyObject *__pyx_n_s_UtilityCode_inject_unbound_metho;
        static PyObject *__pyx_n_s_UtilityCode_inject_unbound_metho_2;
        static PyObject *__pyx_n_s_UtilityCode_none_or_sub;
        static PyObject *__pyx_n_s_UtilityCode_put_code;
        static PyObject *__pyx_n_s_UtilityCode_specialize;
        static PyObject *__pyx_n_s_UtilityCode_wrap_c_strings;
        static PyObject *__pyx_n_s_UtilityCode_wrap_c_strings_local;
        static PyObject *__pyx_n_s_UtilityCode_wrap_c_strings_local_2;
        static PyObject *__pyx_kp_s_Utility_class_to_output_C_code;
        static PyObject *__pyx_kp_s_Utility_code_that_calls_a_callb;
        static PyObject *__pyx_n_s_Utils;
        static PyObject *__pyx_n_s_ValueError;
        static PyObject *__pyx_n_s_Version;
        static PyObject *__pyx_n_s_WindowsError;
        static PyObject *__pyx_n_s_WriteUnraisableException;
        static PyObject *__pyx_n_s_X;
        static PyObject *__pyx_n_s_ZipFile;
        static PyObject *__pyx_kp_u__101;
        static PyObject *__pyx_kp_u__112;
        static PyObject *__pyx_kp_s__115;
        static PyObject *__pyx_kp_s__120;
        static PyObject *__pyx_kp_s__124;
        static PyObject *__pyx_kp_s__127;
        static PyObject *__pyx_kp_s__129;
        static PyObject *__pyx_kp_s__164;
        static PyObject *__pyx_kp_s__19;
        static PyObject *__pyx_kp_s__21;
        static PyObject *__pyx_kp_s__23;
        static PyObject *__pyx_kp_s__28;
        static PyObject *__pyx_kp_s__30;
        static PyObject *__pyx_kp_s__33;
        static PyObject *__pyx_kp_s__35;
        static PyObject *__pyx_kp_s__39;
        static PyObject *__pyx_n_s__44;
        static PyObject *__pyx_kp_s__6;
        static PyObject *__pyx_kp_s__62;
        static PyObject *__pyx_kp_s__73;
        static PyObject *__pyx_kp_s__75;
        static PyObject *__pyx_kp_s__8;
        static PyObject *__pyx_kp_u__8;
        static PyObject *__pyx_kp_s__83;
        static PyObject *__pyx_kp_s__84;
        static PyObject *__pyx_kp_s__9;
        static PyObject *__pyx_kp_s__95;
        static PyObject *__pyx_kp_u__98;
        static PyObject *__pyx_kp_u__99;
        static PyObject *__pyx_kp_s_a_zA_Z0_9;
        static PyObject *__pyx_kp_s_a_zA_Z0_9_2;
        static PyObject *__pyx_n_s_abspath;
        static PyObject *__pyx_n_s_acquire_gil;
        static PyObject *__pyx_n_s_add;
        static PyObject *__pyx_n_s_add_cached_builtin_decl;
        static PyObject *__pyx_n_s_add_py_version;
        static PyObject *__pyx_n_s_add_utility;
        static PyObject *__pyx_n_s_aiter;
        static PyObject *__pyx_n_s_all_free_managed_temps;
        static PyObject *__pyx_n_s_all_lines;
        static PyObject *__pyx_n_s_all_managed_temps;
        static PyObject *__pyx_n_s_all_new_labels;
        static PyObject *__pyx_n_s_all_tags;
        static PyObject *__pyx_n_s_all_the_rest;
        static PyObject *__pyx_n_s_allocate_temp;
        static PyObject *__pyx_n_s_allow_skip;
        static PyObject *__pyx_n_s_anext;
        static PyObject *__pyx_n_s_append;
        static PyObject *__pyx_n_s_archive;
        static PyObject *__pyx_n_s_arg;
        static PyObject *__pyx_n_s_args;
        static PyObject *__pyx_n_s_args_count;
        static PyObject *__pyx_n_s_as_pyobject;
        static PyObject *__pyx_n_s_ascii;
        static PyObject *__pyx_n_s_attrgetter;
        static PyObject *__pyx_n_s_attribute_of;
        static PyObject *__pyx_n_s_await;
        static PyObject *__pyx_n_s_b;
        static PyObject *__pyx_n_s_basename;
        static PyObject *__pyx_n_s_basestring;
        static PyObject *__pyx_n_s_basicsize_builtins_map;
        static PyObject *__pyx_n_s_before_global_var;
        static PyObject *__pyx_n_s_begin_block;
        static PyObject *__pyx_n_s_begin_lineno;
        static PyObject *__pyx_n_s_bol;
        static PyObject *__pyx_n_s_break;
        static PyObject *__pyx_n_s_break_label;
        static PyObject *__pyx_n_s_buffer;
        static PyObject *__pyx_n_s_build_function_modifiers;
        static PyObject *__pyx_n_s_build_marker;
        static PyObject *__pyx_n_s_builtin;
        static PyObject *__pyx_n_s_builtins;
        static PyObject *__pyx_n_s_byte_string;
        static PyObject *__pyx_n_s_byteencode;
        static PyObject *__pyx_n_s_bytes;
        static PyObject *__pyx_n_s_bytes_value;
        static PyObject *__pyx_n_s_c;
        static PyObject *__pyx_n_s_c_cname;
        static PyObject *__pyx_n_s_c_consts;
        static PyObject *__pyx_n_s_c_line_in_traceback;
        static PyObject *__pyx_n_s_c_string;
        static PyObject *__pyx_n_s_cache;
        static PyObject *__pyx_n_s_cache_2;
        static PyObject *__pyx_n_s_cache_builtins;
        static PyObject *__pyx_n_s_cached_builtins;
        static PyObject *__pyx_n_s_cached_cmethods;
        static PyObject *__pyx_n_s_cached_constants;
        static PyObject *__pyx_n_s_call;
        static PyObject *__pyx_n_s_call_level;
        static PyObject *__pyx_n_s_callback;
        static PyObject *__pyx_n_s_can_trace;
        static PyObject *__pyx_n_s_cf_used;
        static PyObject *__pyx_n_s_check_for_null_code;
        static PyObject *__pyx_n_s_chunk;
        static PyObject *__pyx_n_s_cinfo;
        static PyObject *__pyx_n_s_cinit;
        static PyObject *__pyx_n_s_cleanup;
        static PyObject *__pyx_n_s_cleanup_globals;
        static PyObject *__pyx_n_s_cleanup_level;
        static PyObject *__pyx_n_s_cleanup_module;
        static PyObject *__pyx_n_s_cleanup_writer;
        static PyObject *__pyx_n_s_clear;
        static PyObject *__pyx_n_s_clear_before_decref;
        static PyObject *__pyx_n_s_clineno_cname;
        static PyObject *__pyx_n_s_close;
        static PyObject *__pyx_n_s_close_global_decls;
        static PyObject *__pyx_n_s_closing;
        static PyObject *__pyx_n_s_cls;
        static PyObject *__pyx_n_s_cname;
        static PyObject *__pyx_n_s_cnames;
        static PyObject *__pyx_n_s_code;
        static PyObject *__pyx_n_s_code_config;
        static PyObject *__pyx_n_s_code_layout;
        static PyObject *__pyx_n_s_code_string;
        static PyObject *__pyx_n_s_codeobj;
        static PyObject *__pyx_n_s_codewriter_temp_prefix;
        static PyObject *__pyx_n_s_col;
        static PyObject *__pyx_n_s_collections;
        static PyObject *__pyx_n_s_comment;
        static PyObject *__pyx_n_s_commented_file_contents;
        static PyObject *__pyx_n_s_common_utility_include_dir;
        static PyObject *__pyx_n_s_compile;
        static PyObject *__pyx_n_s_complex_type_declarations;
        static PyObject *__pyx_n_s_cond;
        static PyObject *__pyx_n_s_condition;
        static PyObject *__pyx_n_s_conditional;
        static PyObject *__pyx_n_s_const;
        static PyObject *__pyx_n_s_const_base_type;
        static PyObject *__pyx_n_s_const_cnames_used;
        static PyObject *__pyx_n_s_const_prefix;
        static PyObject *__pyx_n_s_consts;
        static PyObject *__pyx_n_s_content;
        static PyObject *__pyx_n_s_contents;
        static PyObject *__pyx_n_s_context;
        static PyObject *__pyx_n_s_context_key;
        static PyObject *__pyx_n_s_contextlib;
        static PyObject *__pyx_n_s_continue;
        static PyObject *__pyx_n_s_continue_label;
        static PyObject *__pyx_n_s_copy_formatting;
        static PyObject *__pyx_n_s_copyto;
        static PyObject *__pyx_n_s_count;
        static PyObject *__pyx_n_s_counter;
        static PyObject *__pyx_n_s_create_from;
        static PyObject *__pyx_n_s_create_new;
        static PyObject *__pyx_n_s_cython_lineno;
        static PyObject *__pyx_n_s_data;
        static PyObject *__pyx_n_s_dealloc;
        static PyObject *__pyx_n_s_debug_temp_code_comments;
        static PyObject *__pyx_n_s_decl;
        static PyObject *__pyx_n_s_declaration_code;
        static PyObject *__pyx_n_s_declare_gilstate;
        static PyObject *__pyx_n_s_declare_var;
        static PyObject *__pyx_n_s_declared_cnames;
        static PyObject *__pyx_n_s_decls;
        static PyObject *__pyx_n_s_decls_writer;
        static PyObject *__pyx_n_s_decode;
        static PyObject *__pyx_n_s_decrease_indent;
        static PyObject *__pyx_n_s_dedent;
        static PyObject *__pyx_n_s_defaultdict;
        static PyObject *__pyx_kp_s_define_likely_x___builtin_expec;
        static PyObject *__pyx_kp_s_define_likely_x_x;
        static PyObject *__pyx_kp_s_define_s;
        static PyObject *__pyx_kp_s_define_unlikely_x___builtin_exp;
        static PyObject *__pyx_kp_s_define_unlikely_x_x;
        static PyObject *__pyx_n_s_defined_in_pxd;
        static PyObject *__pyx_n_s_definition;
        static PyObject *__pyx_n_s_dep;
        static PyObject *__pyx_n_s_dependency;
        static PyObject *__pyx_n_s_directives;
        static PyObject *__pyx_n_s_dirname;
        static PyObject *__pyx_n_s_dl;
        static PyObject *__pyx_n_s_dll_linkage;
        static PyObject *__pyx_n_s_doc;
        static PyObject *__pyx_n_s_doc_2;
        static PyObject *__pyx_n_s_doc_cname;
        static PyObject *__pyx_n_s_doc_code;
        static PyObject *__pyx_n_s_e;
        static PyObject *__pyx_kp_s_else;
        static PyObject *__pyx_n_s_emit_code_comments;
        static PyObject *__pyx_n_s_emit_linenums;
        static PyObject *__pyx_n_s_emit_marker;
        static PyObject *__pyx_n_s_empty_declaration_code;
        static PyObject *__pyx_n_s_encode;
        static PyObject *__pyx_n_s_encode_pyunicode_string;
        static PyObject *__pyx_n_s_encoding;
        static PyObject *__pyx_n_s_end;
        static PyObject *__pyx_n_s_end_block;
        static PyObject *__pyx_kp_s_endif;
        static PyObject *__pyx_kp_s_endif__OPENMP;
        static PyObject *__pyx_n_s_endswith;
        static PyObject *__pyx_n_s_enter;
        static PyObject *__pyx_n_s_enter_cfunc_scope;
        static PyObject *__pyx_n_s_entries;
        static PyObject *__pyx_n_s_entry;
        static PyObject *__pyx_n_s_entry_as_pyobject;
        static PyObject *__pyx_n_s_enumerate;
        static PyObject *__pyx_n_s_eq;
        static PyObject *__pyx_n_s_error;
        static PyObject *__pyx_n_s_error_goto;
        static PyObject *__pyx_n_s_error_goto_if;
        static PyObject *__pyx_n_s_error_goto_if_PyErr;
        static PyObject *__pyx_n_s_error_goto_if_neg;
        static PyObject *__pyx_n_s_error_goto_if_null;
        static PyObject *__pyx_n_s_error_handling;
        static PyObject *__pyx_n_s_error_label;
        static PyObject *__pyx_n_s_escape_byte_string;
        static PyObject *__pyx_n_s_escaped_value;
        static PyObject *__pyx_n_s_exists;
        static PyObject *__pyx_n_s_exit;
        static PyObject *__pyx_n_s_exit_cfunc_scope;
        static PyObject *__pyx_n_s_ext;
        static PyObject *__pyx_n_s_extend;
        static PyObject *__pyx_n_s_externalise;
        static PyObject *__pyx_n_s_f;
        static PyObject *__pyx_n_s_fast_getattr;
        static PyObject *__pyx_n_s_file;
        static PyObject *__pyx_n_s_file_2;
        static PyObject *__pyx_n_s_filename;
        static PyObject *__pyx_n_s_filename_cname;
        static PyObject *__pyx_n_s_filename_list;
        static PyObject *__pyx_n_s_filename_table;
        static PyObject *__pyx_n_s_fileobj;
        static PyObject *__pyx_n_s_files;
        static PyObject *__pyx_n_s_filetable_cname;
        static PyObject *__pyx_n_s_finalize_main_c_code;
        static PyObject *__pyx_n_s_findall;
        static PyObject *__pyx_n_s_fix_indent;
        static PyObject *__pyx_n_s_float;
        static PyObject *__pyx_n_s_format_code;
        static PyObject *__pyx_n_s_format_tuple;
        static PyObject *__pyx_n_s_freelist;
        static PyObject *__pyx_n_s_from_closure;
        static PyObject *__pyx_n_s_from_file;
        static PyObject *__pyx_n_s_func;
        static PyObject *__pyx_n_s_func_cname;
        static PyObject *__pyx_n_s_func_context;
        static PyObject *__pyx_n_s_funccontext_property;
        static PyObject *__pyx_n_s_funccontext_property_locals_get;
        static PyObject *__pyx_n_s_funccontext_property_locals_set;
        static PyObject *__pyx_n_s_funcstate;
        static PyObject *__pyx_n_s_function;
        static PyObject *__pyx_n_s_functools;
        static PyObject *__pyx_n_s_gcc_branch_hints;
        static PyObject *__pyx_n_s_generate_cached_methods_decls;
        static PyObject *__pyx_n_s_generate_cleanup_code;
        static PyObject *__pyx_n_s_generate_const_declarations;
        static PyObject *__pyx_n_s_generate_num_constants;
        static PyObject *__pyx_n_s_generate_object_constant_decls;
        static PyObject *__pyx_n_s_generate_string_constants;
        static PyObject *__pyx_n_s_genexpr;
        static PyObject *__pyx_n_s_get;
        static PyObject *__pyx_n_s_get_all_labels;
        static PyObject *__pyx_n_s_get_argument_default_const;
        static PyObject *__pyx_n_s_get_cached_constants_writer;
        static PyObject *__pyx_n_s_get_cached_unbound_method;
        static PyObject *__pyx_n_s_get_escaped_description;
        static PyObject *__pyx_n_s_get_filenametable_entry;
        static PyObject *__pyx_n_s_get_float_const;
        static PyObject *__pyx_n_s_get_int_const;
        static PyObject *__pyx_n_s_get_interned_identifier;
        static PyObject *__pyx_n_s_get_lines;
        static PyObject *__pyx_n_s_get_loop_labels;
        static PyObject *__pyx_n_s_get_py_const;
        static PyObject *__pyx_n_s_get_py_float;
        static PyObject *__pyx_n_s_get_py_int;
        static PyObject *__pyx_n_s_get_py_string_const;
        static PyObject *__pyx_n_s_get_py_version_hex;
        static PyObject *__pyx_n_s_get_pyunicode_ptr_const;
        static PyObject *__pyx_n_s_get_string_const;
        static PyObject *__pyx_n_s_get_tree;
        static PyObject *__pyx_n_s_get_utility_dir;
        static PyObject *__pyx_n_s_getattr;
        static PyObject *__pyx_n_s_getattribute;
        static PyObject *__pyx_n_s_getbuffer;
        static PyObject *__pyx_n_s_getcharbuffer;
        static PyObject *__pyx_n_s_getitem;
        static PyObject *__pyx_n_s_getpid;
        static PyObject *__pyx_n_s_getreadbuffer;
        static PyObject *__pyx_n_s_getsegcount;
        static PyObject *__pyx_n_s_getvalue;
        static PyObject *__pyx_n_s_getwritebuffer;
        static PyObject *__pyx_n_s_gil_owned;
        static PyObject *__pyx_n_s_global_state;
        static PyObject *__pyx_n_s_global_var;
        static PyObject *__pyx_n_s_globalstate;
        static PyObject *__pyx_kp_s_goto_s;
        static PyObject *__pyx_n_s_group;
        static PyObject *__pyx_n_s_groups;
        static PyObject *__pyx_n_s_guard;
        static PyObject *__pyx_n_s_h_code;
        static PyObject *__pyx_n_s_hash;
        static PyObject *__pyx_n_s_hashlib;
        static PyObject *__pyx_n_s_have_gil;
        static PyObject *__pyx_n_s_helper;
        static PyObject *__pyx_n_s_hexdigest;
        static PyObject *__pyx_n_s_identifier;
        static PyObject *__pyx_kp_s_if_PY_MAJOR_VERSION_3;
        static PyObject *__pyx_kp_s_if_PY_MAJOR_VERSION_s_3;
        static PyObject *__pyx_kp_s_if___Pyx_InitStrings_s_0_s;
        static PyObject *__pyx_kp_s_if_s;
        static PyObject *__pyx_kp_s_if_s_0_s;
        static PyObject *__pyx_kp_s_if_s_s;
        static PyObject *__pyx_kp_s_if_unlikely_s_s_s_s;
        static PyObject *__pyx_kp_s_ifdef_Py_UNICODE_WIDE;
        static PyObject *__pyx_kp_s_ifdef_WITH_THREAD;
        static PyObject *__pyx_kp_s_ifdef__OPENMP;
        static PyObject *__pyx_kp_s_ifndef_s;
        static PyObject *__pyx_n_s_ignore;
        static PyObject *__pyx_n_s_impl;
        static PyObject *__pyx_n_s_import;
        static PyObject *__pyx_n_s_in_closure;
        static PyObject *__pyx_n_s_in_nogil_context;
        static PyObject *__pyx_n_s_in_utility_code_generation;
        static PyObject *__pyx_n_s_include_dir;
        static PyObject *__pyx_n_s_include_file;
        static PyObject *__pyx_kp_s_include_s;
        static PyObject *__pyx_n_s_increase_indent;
        static PyObject *__pyx_n_s_indent;
        static PyObject *__pyx_n_s_indent_level;
        static PyObject *__pyx_n_s_indenter;
        static PyObject *__pyx_n_s_index;
        static PyObject *__pyx_n_s_init;
        static PyObject *__pyx_n_s_init_2;
        static PyObject *__pyx_n_s_init_closure_temps;
        static PyObject *__pyx_n_s_init_globals;
        static PyObject *__pyx_n_s_init_module;
        static PyObject *__pyx_n_s_initialize_main_c_code;
        static PyObject *__pyx_n_s_inject_string_constants;
        static PyObject *__pyx_n_s_inject_unbound_methods;
        static PyObject *__pyx_n_s_inline;
        static PyObject *__pyx_n_s_input;
        static PyObject *__pyx_n_s_input_file_contents;
        static PyObject *__pyx_n_s_insert;
        static PyObject *__pyx_kp_u_inserted_by_cython_to_avoid_com;
        static PyObject *__pyx_kp_u_inserted_by_cython_to_avoid_com_2;
        static PyObject *__pyx_n_s_insertion_point;
        static PyObject *__pyx_n_s_int;
        static PyObject *__pyx_n_s_intern;
        static PyObject *__pyx_n_s_intern_identifier;
        static PyObject *__pyx_n_s_interned_cname;
        static PyObject *__pyx_n_s_interned_prefixes;
        static PyObject *__pyx_n_s_is_builtin;
        static PyObject *__pyx_n_s_is_cdef;
        static PyObject *__pyx_n_s_is_complete;
        static PyObject *__pyx_n_s_is_const;
        static PyObject *__pyx_n_s_is_cython_utility;
        static PyObject *__pyx_n_s_is_extension_type;
        static PyObject *__pyx_n_s_is_fake_reference;
        static PyObject *__pyx_n_s_is_memoryviewslice;
        static PyObject *__pyx_n_s_is_pyobject;
        static PyObject *__pyx_n_s_is_reference;
        static PyObject *__pyx_n_s_is_self_arg;
        static PyObject *__pyx_n_s_is_self_assignment;
        static PyObject *__pyx_n_s_is_special;
        static PyObject *__pyx_n_s_is_specialised1;
        static PyObject *__pyx_n_s_is_specialised2;
        static PyObject *__pyx_n_s_is_str;
        static PyObject *__pyx_n_s_is_unicode;
        static PyObject *__pyx_n_s_items;
        static PyObject *__pyx_n_s_join;
        static PyObject *__pyx_n_s_key;
        static PyObject *__pyx_n_s_klass;
        static PyObject *__pyx_n_s_kwargs;
        static PyObject *__pyx_n_s_label;
        static PyObject *__pyx_n_s_label_counter;
        static PyObject *__pyx_n_s_label_prefix;
        static PyObject *__pyx_n_s_label_used;
        static PyObject *__pyx_n_s_labels;
        static PyObject *__pyx_n_s_labels_used;
        static PyObject *__pyx_n_s_last_marked_pos;
        static PyObject *__pyx_n_s_last_pos;
        static PyObject *__pyx_kp_s_lazy;
        static PyObject *__pyx_n_s_lbl;
        static PyObject *__pyx_n_s_level;
        static PyObject *__pyx_n_s_levels;
        static PyObject *__pyx_n_s_line;
        static PyObject *__pyx_kp_s_line_1_cython_utility;
        static PyObject *__pyx_n_s_line_c_macro;
        static PyObject *__pyx_kp_s_line_s_s;
        static PyObject *__pyx_n_s_lineno;
        static PyObject *__pyx_n_s_lineno_cname;
        static PyObject *__pyx_n_s_lines;
        static PyObject *__pyx_n_s_linetrace;
        static PyObject *__pyx_n_s_listdir;
        static PyObject *__pyx_n_s_listing;
        static PyObject *__pyx_n_s_literal_code;
        static PyObject *__pyx_n_s_load;
        static PyObject *__pyx_n_s_load_as_string;
        static PyObject *__pyx_n_s_load_cached;
        static PyObject *__pyx_n_s_load_utilities_from_file;
        static PyObject *__pyx_n_s_loader;
        static PyObject *__pyx_n_s_loader_2;
        static PyObject *__pyx_n_s_long;
        static PyObject *__pyx_n_s_long_literal;
        static PyObject *__pyx_n_s_longness;
        static PyObject *__pyx_n_s_lookup_filename;
        static PyObject *__pyx_n_s_lower;
        static PyObject *__pyx_n_s_lstrip;
        static PyObject *__pyx_n_s_lt;
        static PyObject *__pyx_n_s_m;
        static PyObject *__pyx_n_s_main;
        static PyObject *__pyx_n_s_main_method;
        static PyObject *__pyx_n_s_manage_ref;
        static PyObject *__pyx_n_s_mapper;
        static PyObject *__pyx_n_s_mark_pos;
        static PyObject *__pyx_n_s_markers;
        static PyObject *__pyx_n_s_match;
        static PyObject *__pyx_n_s_match_special;
        static PyObject *__pyx_n_s_match_type;
        static PyObject *__pyx_n_s_matchobj;
        static PyObject *__pyx_n_s_md5;
        static PyObject *__pyx_n_s_memslice_entry_init;
        static PyObject *__pyx_n_s_memviewslice_init_code;
        static PyObject *__pyx_n_s_metaclass;
        static PyObject *__pyx_n_s_method_coexist;
        static PyObject *__pyx_n_s_method_flags;
        static PyObject *__pyx_n_s_method_name;
        static PyObject *__pyx_n_s_method_name_cname;
        static PyObject *__pyx_n_s_modifier_output_mapper;
        static PyObject *__pyx_n_s_modifiers;
        static PyObject *__pyx_n_s_module;
        static PyObject *__pyx_n_s_module_declarations;
        static PyObject *__pyx_n_s_module_node;
        static PyObject *__pyx_n_s_module_pos;
        static PyObject *__pyx_n_s_mtype;
        static PyObject *__pyx_kp_s_n_n;
        static PyObject *__pyx_n_s_name;
        static PyObject *__pyx_n_s_name_2;
        static PyObject *__pyx_n_s_name_3;
        static PyObject *__pyx_n_s_name_suffix;
        static PyObject *__pyx_n_s_named_insertion_point;
        static PyObject *__pyx_n_s_namelist;
        static PyObject *__pyx_n_s_names_taken;
        static PyObject *__pyx_n_s_naming;
        static PyObject *__pyx_n_s_nanny;
        static PyObject *__pyx_n_s_neg;
        static PyObject *__pyx_n_s_new_const_cname;
        static PyObject *__pyx_n_s_new_error_label;
        static PyObject *__pyx_n_s_new_label;
        static PyObject *__pyx_n_s_new_labels;
        static PyObject *__pyx_n_s_new_loop_labels;
        static PyObject *__pyx_n_s_new_num_const;
        static PyObject *__pyx_n_s_new_num_const_cname;
        static PyObject *__pyx_n_s_new_py_const;
        static PyObject *__pyx_n_s_new_string_const;
        static PyObject *__pyx_n_s_new_string_const_cname;
        static PyObject *__pyx_n_s_new_writer;
        static PyObject *__pyx_n_s_new_yield_label;
        static PyObject *__pyx_n_s_next;
        static PyObject *__pyx_n_s_nogil;
        static PyObject *__pyx_n_s_non_portable_builtins_map;
        static PyObject *__pyx_n_s_none_or_sub;
        static PyObject *__pyx_n_s_null_check;
        static PyObject *__pyx_n_s_num_and_label;
        static PyObject *__pyx_n_s_num_const_index;
        static PyObject *__pyx_n_s_numeric_typedefs;
        static PyObject *__pyx_n_s_object;
        static PyObject *__pyx_n_s_old_err_lbl;
        static PyObject *__pyx_n_s_old_label;
        static PyObject *__pyx_n_s_old_labels;
        static PyObject *__pyx_n_s_open_new_file;
        static PyObject *__pyx_n_s_open_source_file;
        static PyObject *__pyx_n_s_operator;
        static PyObject *__pyx_n_s_orig_kwargs;
        static PyObject *__pyx_n_s_os;
        static PyObject *__pyx_n_s_other;
        static PyObject *__pyx_n_s_other_proto;
        static PyObject *__pyx_n_s_other_type;
        static PyObject *__pyx_n_s_outfile_name;
        static PyObject *__pyx_n_s_output;
        static PyObject *__pyx_n_s_owner;
        static PyObject *__pyx_n_s_part;
        static PyObject *__pyx_n_s_partial;
        static PyObject *__pyx_n_s_parts;
        static PyObject *__pyx_n_s_path;
        static PyObject *__pyx_n_s_pop;
        static PyObject *__pyx_n_s_pos;
        static PyObject *__pyx_n_s_prefix;
        static PyObject *__pyx_n_s_prepare;
        static PyObject *__pyx_n_s_private;
        static PyObject *__pyx_n_s_property;
        static PyObject *__pyx_n_s_proto;
        static PyObject *__pyx_kp_s_proto_2;
        static PyObject *__pyx_kp_s_proto_S_impl_init_cleanup;
        static PyObject *__pyx_n_s_proto_block;
        static PyObject *__pyx_n_s_put;
        static PyObject *__pyx_n_s_put_acquire_gil;
        static PyObject *__pyx_n_s_put_add_traceback;
        static PyObject *__pyx_n_s_put_cached_builtin_init;
        static PyObject *__pyx_n_s_put_chunk;
        static PyObject *__pyx_n_s_put_code;
        static PyObject *__pyx_n_s_put_declare_refcount_context;
        static PyObject *__pyx_n_s_put_decref;
        static PyObject *__pyx_n_s_put_decref_2;
        static PyObject *__pyx_n_s_put_decref_clear;
        static PyObject *__pyx_n_s_put_decref_set;
        static PyObject *__pyx_n_s_put_ensure_gil;
        static PyObject *__pyx_n_s_put_error_if_neg;
        static PyObject *__pyx_n_s_put_error_if_unbound;
        static PyObject *__pyx_n_s_put_finish_refcount_context;
        static PyObject *__pyx_n_s_put_generated_by;
        static PyObject *__pyx_n_s_put_giveref;
        static PyObject *__pyx_n_s_put_goto;
        static PyObject *__pyx_n_s_put_gotref;
        static PyObject *__pyx_n_s_put_h_guard;
        static PyObject *__pyx_n_s_put_incref;
        static PyObject *__pyx_n_s_put_incref_memoryviewslice;
        static PyObject *__pyx_n_s_put_init_to_py_none;
        static PyObject *__pyx_n_s_put_init_var_to_py_none;
        static PyObject *__pyx_n_s_put_label;
        static PyObject *__pyx_n_s_put_or_include;
        static PyObject *__pyx_n_s_put_pymethoddef;
        static PyObject *__pyx_n_s_put_pyobject_decl;
        static PyObject *__pyx_n_s_put_release_ensured_gil;
        static PyObject *__pyx_n_s_put_release_gil;
        static PyObject *__pyx_n_s_put_safe;
        static PyObject *__pyx_n_s_put_setup_refcount_context;
        static PyObject *__pyx_n_s_put_temp_declarations;
        static PyObject *__pyx_n_s_put_tempita;
        static PyObject *__pyx_n_s_put_trace_call;
        static PyObject *__pyx_n_s_put_trace_declarations;
        static PyObject *__pyx_n_s_put_trace_exception;
        static PyObject *__pyx_n_s_put_trace_frame_init;
        static PyObject *__pyx_n_s_put_trace_return;
        static PyObject *__pyx_n_s_put_unraisable;
        static PyObject *__pyx_n_s_put_var_declaration;
        static PyObject *__pyx_n_s_put_var_decref;
        static PyObject *__pyx_n_s_put_var_decref_clear;
        static PyObject *__pyx_n_s_put_var_decref_clear_2;
        static PyObject *__pyx_n_s_put_var_decrefs;
        static PyObject *__pyx_n_s_put_var_giveref;
        static PyObject *__pyx_n_s_put_var_gotref;
        static PyObject *__pyx_n_s_put_var_incref;
        static PyObject *__pyx_n_s_put_var_xdecref;
        static PyObject *__pyx_n_s_put_var_xdecref_clear;
        static PyObject *__pyx_n_s_put_var_xdecrefs;
        static PyObject *__pyx_n_s_put_var_xdecrefs_clear;
        static PyObject *__pyx_n_s_put_var_xgiveref;
        static PyObject *__pyx_n_s_put_var_xgotref;
        static PyObject *__pyx_n_s_put_var_xincref;
        static PyObject *__pyx_n_s_put_xdecref;
        static PyObject *__pyx_n_s_put_xdecref_clear;
        static PyObject *__pyx_n_s_put_xdecref_memoryviewslice;
        static PyObject *__pyx_n_s_put_xdecref_set;
        static PyObject *__pyx_n_s_put_xgiveref;
        static PyObject *__pyx_n_s_put_xgiveref_memoryviewslice;
        static PyObject *__pyx_n_s_put_xgotref;
        static PyObject *__pyx_n_s_putln;
        static PyObject *__pyx_n_s_putln_2;
        static PyObject *__pyx_n_s_putln_openmp;
        static PyObject *__pyx_n_s_putln_tempita;
        static PyObject *__pyx_kp_s_pxd;
        static PyObject *__pyx_kp_s_pxi;
        static PyObject *__pyx_kp_s_py;
        static PyObject *__pyx_n_s_py3str_cstring;
        static PyObject *__pyx_n_s_py_const_prefix;
        static PyObject *__pyx_n_s_py_constants;
        static PyObject *__pyx_n_s_py_none;
        static PyObject *__pyx_n_s_py_object_type;
        static PyObject *__pyx_n_s_py_string;
        static PyObject *__pyx_n_s_py_strings;
        static PyObject *__pyx_n_s_py_type;
        static PyObject *__pyx_n_s_py_version;
        static PyObject *__pyx_n_s_py_versions;
        static PyObject *__pyx_n_s_pyclass_stack;
        static PyObject *__pyx_n_s_pyrex_type;
        static PyObject *__pyx_n_s_pystring_table;
        static PyObject *__pyx_n_s_pyunicode_ptr_const_index;
        static PyObject *__pyx_n_s_pyversion;
        static PyObject *__pyx_kp_s_pyx;
        static PyObject *__pyx_n_s_pyx_gilstate_save;
        static PyObject *__pyx_n_s_pyx_vtable;
        static PyObject *__pyx_n_s_qualified_name;
        static PyObject *__pyx_n_s_qualname;
        static PyObject *__pyx_n_s_r;
        static PyObject *__pyx_n_s_raise_closure_name_error_utility;
        static PyObject *__pyx_n_s_raise_unbound_local_error_utilit;
        static PyObject *__pyx_n_s_raise_unbound_memoryview_utility;
        static PyObject *__pyx_n_s_range;
        static PyObject *__pyx_n_s_raw_input;
        static PyObject *__pyx_n_s_re;
        static PyObject *__pyx_n_s_readlines;
        static PyObject *__pyx_n_s_redef_builtin_expect;
        static PyObject *__pyx_n_s_ref_base_type;
        static PyObject *__pyx_n_s_release_temp;
        static PyObject *__pyx_n_s_releasebuffer;
        static PyObject *__pyx_n_s_remove;
        static PyObject *__pyx_n_s_rename;
        static PyObject *__pyx_n_s_replace;
        static PyObject *__pyx_n_s_replace_empty_lines;
        static PyObject *__pyx_n_s_replacement;
        static PyObject *__pyx_n_s_replacements;
        static PyObject *__pyx_n_s_requires;
        static PyObject *__pyx_n_s_reset;
        static PyObject *__pyx_n_s_result;
        static PyObject *__pyx_n_s_resume_from_yield;
        static PyObject *__pyx_n_s_return;
        static PyObject *__pyx_kp_s_return_0;
        static PyObject *__pyx_kp_s_return_1;
        static PyObject *__pyx_n_s_return_from_error_cleanup_label;
        static PyObject *__pyx_n_s_return_label;
        static PyObject *__pyx_n_s_retvalue_cname;
        static PyObject *__pyx_n_s_rhs_cname;
        static PyObject *__pyx_n_s_richcmp;
        static PyObject *__pyx_n_s_rootwriter;
        static PyObject *__pyx_n_s_rsplit;
        static PyObject *__pyx_n_s_rstrip;
        static PyObject *__pyx_kp_s_s;
        static PyObject *__pyx_kp_s_s_0;
        static PyObject *__pyx_kp_s_s_10;
        static PyObject *__pyx_kp_s_s_11;
        static PyObject *__pyx_kp_s_s_12;
        static PyObject *__pyx_kp_s_s_13;
        static PyObject *__pyx_kp_s_s_14;
        static PyObject *__pyx_kp_s_s_2;
        static PyObject *__pyx_kp_s_s_3;
        static PyObject *__pyx_n_s_s_4;
        static PyObject *__pyx_kp_s_s_5;
        static PyObject *__pyx_kp_s_s_6;
        static PyObject *__pyx_kp_s_s_7;
        static PyObject *__pyx_kp_s_s_8;
        static PyObject *__pyx_kp_s_s_9;
        static PyObject *__pyx_kp_s_s_NULL;
        static PyObject *__pyx_kp_s_s_PyCFunction_s_s_s_s;
        static PyObject *__pyx_kp_s_s_PyGILState_Ensure;
        static PyObject *__pyx_kp_s_s___Pyx_GetBuiltinName_s_if_s_s;
        static PyObject *__pyx_kp_s_s__d;
        static PyObject *__pyx_kp_s_s__s;
        static PyObject *__pyx_kp_s_s__sCLEAR_s;
        static PyObject *__pyx_kp_s_s__sDECREF_s;
        static PyObject *__pyx_kp_s_s__sDECREF_s_s_0;
        static PyObject *__pyx_kp_s_s__s_h;
        static PyObject *__pyx_kp_s_s__save;
        static PyObject *__pyx_kp_s_s_allocated_s;
        static PyObject *__pyx_kp_s_s_cleanup;
        static PyObject *__pyx_kp_s_s_cleanup_2;
        static PyObject *__pyx_kp_s_s_d;
        static PyObject *__pyx_kp_u_s_d_s;
        static PyObject *__pyx_kp_s_s_impl;
        static PyObject *__pyx_kp_s_s_init;
        static PyObject *__pyx_kp_s_s_memview;
        static PyObject *__pyx_kp_s_s_n;
        static PyObject *__pyx_kp_s_s_proto;
        static PyObject *__pyx_kp_s_s_proto_2;
        static PyObject *__pyx_kp_s_s_released;
        static PyObject *__pyx_kp_s_s_s;
        static PyObject *__pyx_kp_s_s_s_2;
        static PyObject *__pyx_kp_s_s_s_3;
        static PyObject *__pyx_kp_s_s_s_4;
        static PyObject *__pyx_kp_s_s_s_5;
        static PyObject *__pyx_kp_s_s_s_6;
        static PyObject *__pyx_kp_s_s_s_7;
        static PyObject *__pyx_kp_s_s_s_Py_INCREF_Py_None;
        static PyObject *__pyx_kp_s_s_s___Pyx_INCREF_Py_None;
        static PyObject *__pyx_kp_s_s_s_s;
        static PyObject *__pyx_kp_s_s_s_s_2;
        static PyObject *__pyx_kp_s_s_s_s__s;
        static PyObject *__pyx_kp_s_s_s_s_s_s_s;
        static PyObject *__pyx_kp_s_s_s_sizeof_s_s_d_d_d;
        static PyObject *__pyx_kp_s_s_tmp_s;
        static PyObject *__pyx_kp_s_s_type_PyObject_s;
        static PyObject *__pyx_n_s_safe;
        static PyObject *__pyx_kp_s_save_s;
        static PyObject *__pyx_kp_s_sconst_char_s_NULL;
        static PyObject *__pyx_n_s_scope;
        static PyObject *__pyx_n_s_self;
        static PyObject *__pyx_n_s_self_proto;
        static PyObject *__pyx_n_s_self_type;
        static PyObject *__pyx_n_s_send;
        static PyObject *__pyx_n_s_set;
        static PyObject *__pyx_n_s_set_all_labels;
        static PyObject *__pyx_n_s_set_error_info;
        static PyObject *__pyx_n_s_set_global_state;
        static PyObject *__pyx_n_s_set_loop_labels;
        static PyObject *__pyx_n_s_setdefault;
        static PyObject *__pyx_n_s_should_declare;
        static PyObject *__pyx_n_s_should_declare_error_indicator;
        static PyObject *__pyx_n_s_signature;
        static PyObject *__pyx_kp_s_sint_s_0;
        static PyObject *__pyx_n_s_slice_cname;
        static PyObject *__pyx_n_s_source_desc;
        static PyObject *__pyx_n_s_source_file;
        static PyObject *__pyx_n_s_special_py_methods;
        static PyObject *__pyx_n_s_specialization_name;
        static PyObject *__pyx_n_s_specialize;
        static PyObject *__pyx_n_s_specialize_list;
        static PyObject *__pyx_n_s_split;
        static PyObject *__pyx_n_s_split_string;
        static PyObject *__pyx_n_s_split_string_literal;
        static PyObject *__pyx_n_s_splitext;
        static PyObject *__pyx_n_s_splitlines;
        static PyObject *__pyx_n_s_start_collecting_temps;
        static PyObject *__pyx_n_s_startswith;
        static PyObject *__pyx_n_s_static;
        static PyObject *__pyx_kp_s_static_2;
        static PyObject *__pyx_kp_s_static_PyObject_s;
        static PyObject *__pyx_kp_s_static_Py_UNICODE_s_s;
        static PyObject *__pyx_kp_s_static___Pyx_CachedCFunction_s_0;
        static PyObject *__pyx_kp_s_static___Pyx_StringTabEntry_s;
        static PyObject *__pyx_kp_s_static_const_char_s_s;
        static PyObject *__pyx_kp_s_static_int___Pyx_InitCachedBuilt;
        static PyObject *__pyx_kp_s_static_int___Pyx_InitCachedConst;
        static PyObject *__pyx_kp_s_static_int___Pyx_InitGlobals_voi;
        static PyObject *__pyx_kp_s_static_s;
        static PyObject *__pyx_kp_s_static_void___Pyx_CleanupGlobals;
        static PyObject *__pyx_n_s_stop_collecting_temps;
        static PyObject *__pyx_n_s_storage_class;
        static PyObject *__pyx_n_s_str;
        static PyObject *__pyx_n_s_str_2;
        static PyObject *__pyx_n_s_str_value;
        static PyObject *__pyx_n_s_string;
        static PyObject *__pyx_n_s_string_const_index;
        static PyObject *__pyx_n_s_string_decls;
        static PyObject *__pyx_n_s_stringtab_cname;
        static PyObject *__pyx_n_s_strip;
        static PyObject *__pyx_n_s_strip_comments;
        static PyObject *__pyx_n_s_sub;
        static PyObject *__pyx_n_s_sub_tempita;
        static PyObject *__pyx_n_s_substitute;
        static PyObject *__pyx_n_s_super;
        static PyObject *__pyx_n_s_sys;
        static PyObject *__pyx_n_s_tag;
        static PyObject *__pyx_n_s_tags;
        static PyObject *__pyx_n_s_template;
        static PyObject *__pyx_n_s_temps_allocated;
        static PyObject *__pyx_n_s_temps_count;
        static PyObject *__pyx_n_s_temps_free;
        static PyObject *__pyx_n_s_temps_holding_reference;
        static PyObject *__pyx_n_s_temps_in_use;
        static PyObject *__pyx_n_s_term;
        static PyObject *__pyx_n_s_test;
        static PyObject *__pyx_n_s_text;
        static PyObject *__pyx_n_s_textwrap;
        static PyObject *__pyx_n_s_throw;
        static PyObject *__pyx_n_s_tmp_path;
        static PyObject *__pyx_kp_s_tmp_pip_install_9i_72p5f_cython;
        static PyObject *__pyx_n_s_trace;
        static PyObject *__pyx_n_s_type;
        static PyObject *__pyx_n_s_type_cname;
        static PyObject *__pyx_n_s_type_declarations;
        static PyObject *__pyx_n_s_type_name;
        static PyObject *__pyx_n_s_typecast;
        static PyObject *__pyx_n_s_typeinfo;
        static PyObject *__pyx_n_s_u;
        static PyObject *__pyx_n_s_umethod;
        static PyObject *__pyx_n_s_uncachable_builtins;
        static PyObject *__pyx_n_s_undef_builtin_expect;
        static PyObject *__pyx_kp_s_undef_likely;
        static PyObject *__pyx_kp_s_undef_unlikely;
        static PyObject *__pyx_n_s_unicode;
        static PyObject *__pyx_n_s_unicode_2;
        static PyObject *__pyx_n_s_unicode_value;
        static PyObject *__pyx_n_s_unlikely;
        static PyObject *__pyx_kp_s_unlikely_s;
        static PyObject *__pyx_n_s_unraisable_tracebacks;
        static PyObject *__pyx_n_s_unused;
        static PyObject *__pyx_n_s_update;
        static PyObject *__pyx_kp_s_us_ascii;
        static PyObject *__pyx_n_s_usascii;
        static PyObject *__pyx_n_s_use_entry_utility_code;
        static PyObject *__pyx_n_s_use_label;
        static PyObject *__pyx_n_s_use_utility_code;
        static PyObject *__pyx_n_s_used;
        static PyObject *__pyx_n_s_used_only;
        static PyObject *__pyx_n_s_uses_error_indicator;
        static PyObject *__pyx_n_s_utf16_array;
        static PyObject *__pyx_n_s_utf32_array;
        static PyObject *__pyx_n_s_utf8;
        static PyObject *__pyx_n_s_utf8encode;
        static PyObject *__pyx_kp_s_utf_8;
        static PyObject *__pyx_n_s_util;
        static PyObject *__pyx_n_s_util_code_name;
        static PyObject *__pyx_n_s_utilities;
        static PyObject *__pyx_n_s_utility;
        static PyObject *__pyx_n_s_utility_cache;
        static PyObject *__pyx_n_s_utility_code;
        static PyObject *__pyx_n_s_utility_code_def;
        static PyObject *__pyx_n_s_utility_code_definition;
        static PyObject *__pyx_n_s_utility_code_name;
        static PyObject *__pyx_n_s_utility_code_proto;
        static PyObject *__pyx_n_s_utility_code_proto_before_types;
        static PyObject *__pyx_n_s_utility_codes;
        static PyObject *__pyx_n_s_utility_dir;
        static PyObject *__pyx_n_s_value;
        static PyObject *__pyx_n_s_value_code;
        static PyObject *__pyx_n_s_values;
        static PyObject *__pyx_n_s_variable;
        static PyObject *__pyx_n_s_vars;
        static PyObject *__pyx_n_s_version;
        static PyObject *__pyx_n_s_version_info;
        static PyObject *__pyx_n_s_visibility;
        static PyObject *__pyx_n_s_w;
        static PyObject *__pyx_kp_s_w_1_s;
        static PyObject *__pyx_n_s_watermark;
        static PyObject *__pyx_n_s_wrap_c_strings;
        static PyObject *__pyx_n_s_write;
        static PyObject *__pyx_n_s_writer;
        static PyObject *__pyx_n_s_xdecref_cleanup;
        static PyObject *__pyx_n_s_xrange;
        static PyObject *__pyx_n_s_yield_labels;
        static PyObject *__pyx_n_s_zip;
        static PyObject *__pyx_n_s_zipfile;
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_get_utility_dir(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase__add_utility(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_cls, PyObject *__pyx_v_utility, 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_2load_utilities_from_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_4load(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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_6__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_6load_cached(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_utility_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v___cache); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_as_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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_8__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_10format_code(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_code_string, PyObject *__pyx_v_replace_empty_lines); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_12__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14get_tree(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_proto, PyObject *__pyx_v_impl, PyObject *__pyx_v_init, PyObject *__pyx_v_cleanup, PyObject *__pyx_v_requires, PyObject *__pyx_v_proto_block, PyObject *__pyx_v_name, PyObject *__pyx_v_file); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_2__hash__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6none_or_sub(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8specialize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pyrex_type, PyObject *__pyx_v_data); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_10inject_string_constants(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_impl, PyObject *__pyx_v_output); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12inject_unbound_methods(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_impl, PyObject *__pyx_v_output); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_12split_string_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_split_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_matchobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_impl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_16put_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_output); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_2sub_tempita(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context, PyObject *__pyx_v_file, PyObject *__pyx_v_name); /* 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_10__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___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); /* 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_2new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_4new_yield_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_6new_error_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10set_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_12new_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_16set_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_18all_new_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20use_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_22label_used(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_24allocate_temp(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_manage_ref, PyObject *__pyx_v_static); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_26release_temp(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_28temps_in_use(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30temps_holding_reference(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_32all_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_34all_free_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_36start_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_38stop_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_40init_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_11names_taken___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11names_taken_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_11names_taken_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* 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 int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_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_12yield_labels_4__del__(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_14in_try_finally___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally_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_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_15temps_allocated___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_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_15temps_allocated_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10temps_free___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10temps_free_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_10temps_free_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_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_15temps_used_type_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12temp_counter___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12temp_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_19collect_temps_stack___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_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_19collect_temps_stack_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13closure_temps___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_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_13closure_temps_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30should_declare_error_indicator___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30should_declare_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_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_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 int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname_4__del__(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_13PyObjectConst_4type_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type_4__del__(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_2add_py_version(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_version); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_4get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_identifier, int __pyx_v_is_str, PyObject *__pyx_v_py3str_cstring); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname_4__del__(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 int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text_4__del__(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 int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value_4__del__(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 int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_11py_versions___get__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_11py_versions_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_11py_versions_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_encoding, PyObject *__pyx_v_is_unicode, PyObject *__pyx_v_is_str, PyObject *__pyx_v_py3str_cstring, PyObject *__pyx_v_intern); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_2__lt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other); /* 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_4finalize_main_c_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_6__getitem__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_8close_global_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_10put_pyobject_decl(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_12get_cached_constants_writer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_14get_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_16get_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_18get_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_prefix, PyObject *__pyx_v_cleanup_level); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_20get_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_py_version); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22get_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_24get_py_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier, PyObject *__pyx_v_is_str, PyObject *__pyx_v_unicode_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_26get_interned_identifier(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_28new_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_30new_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_32new_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_prefix); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_34new_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_36new_num_const_cname(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_value, PyObject *__pyx_v_py_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_38new_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_40get_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_args_count); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_42add_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_44put_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_46generate_const_declarations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_48generate_object_constant_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_50generate_cached_methods_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_52generate_string_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_54generate_num_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_56should_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_58lookup_filename(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_source_desc); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_60commented_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_62use_utility_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_utility_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_64use_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_4funccontext_property(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name); /* 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 PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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_2create_new(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__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(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_global_state); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6copyto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_f); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_8getvalue(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_12insertion_point(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_14new_writer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_16insert(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_writer); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_18new_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_20new_error_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_22new_yield_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_24get_loop_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_26set_loop_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_28new_loop_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_30get_all_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_32set_all_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_34all_new_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_36use_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_38label_used(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_40enter_cfunc_scope(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_42exit_cfunc_scope(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_44get_py_int(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_11CCodeWriter_46get_py_float(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_11CCodeWriter_48get_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_prefix, PyObject *__pyx_v_cleanup_level); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_50get_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_52get_pyunicode_ptr_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_54get_py_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier, PyObject *__pyx_v_is_str, PyObject *__pyx_v_unicode_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_56get_argument_default_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_58intern(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_60intern_identifier(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_62get_cached_constants_writer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_64putln(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_safe); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_66mark_pos(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_trace); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_68emit_marker(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_70_build_marker(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_72put_safe(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_74put_or_include(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_76put(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_78putln_tempita(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_80put_tempita(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_82increase_indent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_84decrease_indent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_86begin_block(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_88end_block(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_90indent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_92get_py_version_hex(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_pyversion); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_94put_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_96put_goto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_98put_var_declaration(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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_100put_temp_declarations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_func_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_102put_generated_by(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_104put_h_guard(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_guard); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_106unlikely(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_cond); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_12__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_108build_function_modifiers(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_modifiers, PyObject *__pyx_v_mapper); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_110entry_as_pyobject(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_112as_pyobject(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_114put_gotref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_116put_giveref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_118put_xgiveref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_120put_xgotref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_122put_incref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_124put_decref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_gotref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_128put_var_giveref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_130put_var_xgotref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_132put_var_xgiveref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_134put_var_incref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_136put_var_xincref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_138put_decref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_clear_before_decref); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_140put_xdecref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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_142put_xdecref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_clear_before_decref); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_144_put_decref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_null_check, PyObject *__pyx_v_have_gil, PyObject *__pyx_v_clear, PyObject *__pyx_v_clear_before_decref); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_146put_decref_set(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_rhs_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_148put_xdecref_set(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_rhs_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_150put_var_decref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_152put_var_xdecref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_154put_var_decref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_156put_var_xdecref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_158_put_var_decref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_null_check); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_160put_var_decrefs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entries, PyObject *__pyx_v_used_only); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_162put_var_xdecrefs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entries); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_164put_var_xdecrefs_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entries); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_slice_cname, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_168put_xdecref_memoryviewslice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_slice_cname, PyObject *__pyx_v_have_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_170put_xgiveref_memoryviewslice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_slice_cname); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_172put_init_to_py_none(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_174put_init_var_to_py_none(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_template, PyObject *__pyx_v_nanny); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_176put_pymethoddef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_term, PyObject *__pyx_v_allow_skip); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_178put_ensure_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_declare_gilstate, PyObject *__pyx_v_variable); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_180put_release_ensured_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_variable); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_182put_acquire_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_variable); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_184put_release_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_variable); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_186declare_gilstate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_188put_error_if_neg(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_190put_error_if_unbound(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_entry, PyObject *__pyx_v_in_nogil_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_192set_error_info(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_used); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_194error_goto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_196error_goto_if(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cond, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_198error_goto_if_null(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_200error_goto_if_neg(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_202error_goto_if_PyErr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_204lookup_filename(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_206put_declare_refcount_context(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_208put_setup_refcount_context(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_acquire_gil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_210put_finish_refcount_context(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_212put_add_traceback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_qualified_name); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_214put_unraisable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_qualified_name, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_216put_trace_declarations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_218put_trace_frame_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_codeobj); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_220put_trace_call(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_pos, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_222put_trace_exception(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_224put_trace_return(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_retvalue_cname, PyObject *__pyx_v_nogil); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_226putln_openmp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_string); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_228undef_builtin_expect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cond); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_230redef_builtin_expect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cond); /* 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 int __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_4__del__(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_15PyrexCodeWriter_5level_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_levels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_4dedent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_levels); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_line); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_8getvalue(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_10putln(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_line, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_12_putln(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_line); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_14put_chunk(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_chunk, PyObject *__pyx_v_context); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_16insertion_point(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_18named_insertion_point(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name); /* 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_FunctionState(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_IntConst(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_PyrexCodeWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0};
static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_pop = {0, &__pyx_n_s_pop, 0, 0, 0};
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_2;
static PyObject *__pyx_int_3;
static PyObject *__pyx_int_6;
static PyObject *__pyx_int_7;
static PyObject *__pyx_int_32;
static PyObject *__pyx_int_neg_1;
static PyObject *__pyx_k__43;
static PyObject *__pyx_slice__3;
static PyObject *__pyx_tuple__2;
static PyObject *__pyx_tuple__4;
static PyObject *__pyx_tuple__5;
static PyObject *__pyx_tuple__7;
static PyObject *__pyx_slice__27;
static PyObject *__pyx_slice__37;
static PyObject *__pyx_slice__78;
static PyObject *__pyx_tuple__10;
static PyObject *__pyx_tuple__11;
static PyObject *__pyx_tuple__12;
static PyObject *__pyx_tuple__13;
static PyObject *__pyx_tuple__14;
static PyObject *__pyx_tuple__15;
static PyObject *__pyx_tuple__16;
static PyObject *__pyx_tuple__17;
static PyObject *__pyx_tuple__18;
static PyObject *__pyx_tuple__20;
static PyObject *__pyx_tuple__22;
static PyObject *__pyx_tuple__24;
static PyObject *__pyx_tuple__25;
static PyObject *__pyx_tuple__29;
static PyObject *__pyx_tuple__31;
static PyObject *__pyx_tuple__34;
static PyObject *__pyx_tuple__36;
static PyObject *__pyx_tuple__38;
static PyObject *__pyx_tuple__40;
static PyObject *__pyx_tuple__41;
static PyObject *__pyx_tuple__45;
static PyObject *__pyx_tuple__46;
static PyObject *__pyx_tuple__47;
static PyObject *__pyx_tuple__48;
static PyObject *__pyx_tuple__49;
static PyObject *__pyx_tuple__50;
static PyObject *__pyx_tuple__51;
static PyObject *__pyx_tuple__52;
static PyObject *__pyx_tuple__53;
static PyObject *__pyx_tuple__54;
static PyObject *__pyx_tuple__55;
static PyObject *__pyx_tuple__56;
static PyObject *__pyx_tuple__57;
static PyObject *__pyx_tuple__58;
static PyObject *__pyx_tuple__59;
static PyObject *__pyx_tuple__60;
static PyObject *__pyx_tuple__61;
static PyObject *__pyx_tuple__63;
static PyObject *__pyx_tuple__64;
static PyObject *__pyx_tuple__65;
static PyObject *__pyx_tuple__66;
static PyObject *__pyx_tuple__67;
static PyObject *__pyx_tuple__68;
static PyObject *__pyx_tuple__69;
static PyObject *__pyx_tuple__70;
static PyObject *__pyx_tuple__71;
static PyObject *__pyx_tuple__72;
static PyObject *__pyx_tuple__74;
static PyObject *__pyx_tuple__76;
static PyObject *__pyx_tuple__77;
static PyObject *__pyx_tuple__79;
static PyObject *__pyx_tuple__80;
static PyObject *__pyx_tuple__81;
static PyObject *__pyx_tuple__82;
static PyObject *__pyx_tuple__85;
static PyObject *__pyx_tuple__86;
static PyObject *__pyx_tuple__87;
static PyObject *__pyx_tuple__88;
static PyObject *__pyx_tuple__89;
static PyObject *__pyx_tuple__90;
static PyObject *__pyx_tuple__91;
static PyObject *__pyx_tuple__92;
static PyObject *__pyx_tuple__93;
static PyObject *__pyx_tuple__94;
static PyObject *__pyx_tuple__96;
static PyObject *__pyx_tuple__97;
static PyObject *__pyx_slice__109;
static PyObject *__pyx_slice__110;
static PyObject *__pyx_tuple__100;
static PyObject *__pyx_tuple__102;
static PyObject *__pyx_tuple__103;
static PyObject *__pyx_tuple__105;
static PyObject *__pyx_tuple__107;
static PyObject *__pyx_tuple__108;
static PyObject *__pyx_tuple__111;
static PyObject *__pyx_tuple__113;
static PyObject *__pyx_tuple__114;
static PyObject *__pyx_tuple__116;
static PyObject *__pyx_tuple__117;
static PyObject *__pyx_tuple__118;
static PyObject *__pyx_tuple__119;
static PyObject *__pyx_tuple__121;
static PyObject *__pyx_tuple__122;
static PyObject *__pyx_tuple__123;
static PyObject *__pyx_tuple__125;
static PyObject *__pyx_tuple__126;
static PyObject *__pyx_tuple__128;
static PyObject *__pyx_tuple__130;
static PyObject *__pyx_tuple__131;
static PyObject *__pyx_tuple__132;
static PyObject *__pyx_tuple__133;
static PyObject *__pyx_tuple__134;
static PyObject *__pyx_tuple__135;
static PyObject *__pyx_tuple__136;
static PyObject *__pyx_tuple__137;
static PyObject *__pyx_tuple__138;
static PyObject *__pyx_tuple__139;
static PyObject *__pyx_tuple__140;
static PyObject *__pyx_tuple__141;
static PyObject *__pyx_tuple__142;
static PyObject *__pyx_tuple__143;
static PyObject *__pyx_tuple__144;
static PyObject *__pyx_tuple__145;
static PyObject *__pyx_tuple__146;
static PyObject *__pyx_tuple__147;
static PyObject *__pyx_tuple__148;
static PyObject *__pyx_tuple__149;
static PyObject *__pyx_tuple__150;
static PyObject *__pyx_tuple__151;
static PyObject *__pyx_tuple__152;
static PyObject *__pyx_tuple__153;
static PyObject *__pyx_tuple__154;
static PyObject *__pyx_tuple__155;
static PyObject *__pyx_tuple__156;
static PyObject *__pyx_tuple__157;
static PyObject *__pyx_tuple__158;
static PyObject *__pyx_tuple__159;
static PyObject *__pyx_tuple__160;
static PyObject *__pyx_tuple__161;
static PyObject *__pyx_tuple__162;
static PyObject *__pyx_tuple__163;
static PyObject *__pyx_tuple__165;
static PyObject *__pyx_tuple__166;
static PyObject *__pyx_tuple__167;
static PyObject *__pyx_tuple__168;
static PyObject *__pyx_tuple__169;
static PyObject *__pyx_tuple__170;
static PyObject *__pyx_tuple__171;
static PyObject *__pyx_tuple__172;
static PyObject *__pyx_tuple__174;
static PyObject *__pyx_tuple__176;
static PyObject *__pyx_tuple__177;
static PyObject *__pyx_tuple__179;
static PyObject *__pyx_tuple__181;
static PyObject *__pyx_tuple__182;
static PyObject *__pyx_tuple__184;
static PyObject *__pyx_tuple__186;
static PyObject *__pyx_tuple__187;
static PyObject *__pyx_tuple__189;
static PyObject *__pyx_tuple__190;
static PyObject *__pyx_tuple__192;
static PyObject *__pyx_tuple__194;
static PyObject *__pyx_tuple__196;
static PyObject *__pyx_tuple__197;
static PyObject *__pyx_tuple__199;
static PyObject *__pyx_tuple__201;
static PyObject *__pyx_tuple__203;
static PyObject *__pyx_tuple__205;
static PyObject *__pyx_tuple__206;
static PyObject *__pyx_tuple__208;
static PyObject *__pyx_tuple__210;
static PyObject *__pyx_tuple__212;
static PyObject *__pyx_tuple__214;
static PyObject *__pyx_tuple__216;
static PyObject *__pyx_tuple__217;
static PyObject *__pyx_tuple__219;
static PyObject *__pyx_tuple__220;
static PyObject *__pyx_tuple__222;
static PyObject *__pyx_tuple__224;
static PyObject *__pyx_tuple__226;
static PyObject *__pyx_tuple__228;
static PyObject *__pyx_tuple__230;
static PyObject *__pyx_tuple__232;
static PyObject *__pyx_tuple__234;
static PyObject *__pyx_tuple__236;
static PyObject *__pyx_tuple__238;
static PyObject *__pyx_tuple__240;
static PyObject *__pyx_tuple__242;
static PyObject *__pyx_tuple__244;
static PyObject *__pyx_tuple__246;
static PyObject *__pyx_tuple__248;
static PyObject *__pyx_tuple__250;
static PyObject *__pyx_tuple__252;
static PyObject *__pyx_tuple__254;
static PyObject *__pyx_tuple__256;
static PyObject *__pyx_tuple__258;
static PyObject *__pyx_tuple__260;
static PyObject *__pyx_tuple__262;
static PyObject *__pyx_tuple__264;
static PyObject *__pyx_tuple__266;
static PyObject *__pyx_tuple__268;
static PyObject *__pyx_tuple__270;
static PyObject *__pyx_tuple__271;
static PyObject *__pyx_tuple__272;
static PyObject *__pyx_tuple__273;
static PyObject *__pyx_tuple__274;
static PyObject *__pyx_tuple__276;
static PyObject *__pyx_tuple__278;
static PyObject *__pyx_tuple__280;
static PyObject *__pyx_tuple__281;
static PyObject *__pyx_tuple__283;
static PyObject *__pyx_tuple__285;
static PyObject *__pyx_tuple__286;
static PyObject *__pyx_tuple__288;
static PyObject *__pyx_tuple__290;
static PyObject *__pyx_tuple__292;
static PyObject *__pyx_tuple__294;
static PyObject *__pyx_tuple__296;
static PyObject *__pyx_tuple__298;
static PyObject *__pyx_tuple__300;
static PyObject *__pyx_tuple__301;
static PyObject *__pyx_tuple__303;
static PyObject *__pyx_tuple__305;
static PyObject *__pyx_tuple__306;
static PyObject *__pyx_tuple__308;
static PyObject *__pyx_tuple__309;
static PyObject *__pyx_tuple__311;
static PyObject *__pyx_tuple__313;
static PyObject *__pyx_tuple__314;
static PyObject *__pyx_tuple__316;
static PyObject *__pyx_tuple__318;
static PyObject *__pyx_tuple__320;
static PyObject *__pyx_tuple__321;
static PyObject *__pyx_tuple__323;
static PyObject *__pyx_tuple__324;
static PyObject *__pyx_tuple__326;
static PyObject *__pyx_tuple__328;
static PyObject *__pyx_tuple__330;
static PyObject *__pyx_tuple__331;
static PyObject *__pyx_tuple__333;
static PyObject *__pyx_tuple__335;
static PyObject *__pyx_tuple__337;
static PyObject *__pyx_tuple__339;
static PyObject *__pyx_tuple__341;
static PyObject *__pyx_tuple__343;
static PyObject *__pyx_tuple__345;
static PyObject *__pyx_tuple__347;
static PyObject *__pyx_tuple__349;
static PyObject *__pyx_tuple__351;
static PyObject *__pyx_tuple__353;
static PyObject *__pyx_tuple__355;
static PyObject *__pyx_tuple__357;
static PyObject *__pyx_tuple__359;
static PyObject *__pyx_tuple__361;
static PyObject *__pyx_tuple__362;
static PyObject *__pyx_tuple__364;
static PyObject *__pyx_tuple__365;
static PyObject *__pyx_tuple__367;
static PyObject *__pyx_tuple__369;
static PyObject *__pyx_tuple__371;
static PyObject *__pyx_tuple__373;
static PyObject *__pyx_tuple__375;
static PyObject *__pyx_tuple__377;
static PyObject *__pyx_tuple__379;
static PyObject *__pyx_tuple__381;
static PyObject *__pyx_tuple__382;
static PyObject *__pyx_tuple__383;
static PyObject *__pyx_tuple__384;
static PyObject *__pyx_tuple__385;
static PyObject *__pyx_tuple__386;
static PyObject *__pyx_tuple__387;
static PyObject *__pyx_tuple__388;
static PyObject *__pyx_tuple__389;
static PyObject *__pyx_tuple__391;
static PyObject *__pyx_tuple__392;
static PyObject *__pyx_tuple__394;
static PyObject *__pyx_tuple__396;
static PyObject *__pyx_tuple__398;
static PyObject *__pyx_tuple__400;
static PyObject *__pyx_tuple__402;
static PyObject *__pyx_tuple__404;
static PyObject *__pyx_tuple__406;
static PyObject *__pyx_tuple__408;
static PyObject *__pyx_tuple__410;
static PyObject *__pyx_tuple__412;
static PyObject *__pyx_tuple__414;
static PyObject *__pyx_tuple__415;
static PyObject *__pyx_tuple__417;
static PyObject *__pyx_tuple__419;
static PyObject *__pyx_tuple__421;
static PyObject *__pyx_tuple__423;
static PyObject *__pyx_tuple__424;
static PyObject *__pyx_tuple__426;
static PyObject *__pyx_tuple__428;
static PyObject *__pyx_tuple__430;
static PyObject *__pyx_tuple__431;
static PyObject *__pyx_tuple__433;
static PyObject *__pyx_tuple__435;
static PyObject *__pyx_tuple__437;
static PyObject *__pyx_tuple__439;
static PyObject *__pyx_tuple__441;
static PyObject *__pyx_tuple__442;
static PyObject *__pyx_tuple__444;
static PyObject *__pyx_tuple__445;
static PyObject *__pyx_tuple__447;
static PyObject *__pyx_tuple__449;
static PyObject *__pyx_tuple__451;
static PyObject *__pyx_tuple__453;
static PyObject *__pyx_tuple__455;
static PyObject *__pyx_tuple__457;
static PyObject *__pyx_tuple__459;
static PyObject *__pyx_tuple__461;
static PyObject *__pyx_tuple__463;
static PyObject *__pyx_tuple__465;
static PyObject *__pyx_tuple__467;
static PyObject *__pyx_tuple__469;
static PyObject *__pyx_tuple__471;
static PyObject *__pyx_tuple__473;
static PyObject *__pyx_tuple__475;
static PyObject *__pyx_tuple__477;
static PyObject *__pyx_tuple__478;
static PyObject *__pyx_tuple__480;
static PyObject *__pyx_tuple__482;
static PyObject *__pyx_tuple__484;
static PyObject *__pyx_tuple__486;
static PyObject *__pyx_tuple__488;
static PyObject *__pyx_tuple__490;
static PyObject *__pyx_tuple__492;
static PyObject *__pyx_tuple__494;
static PyObject *__pyx_tuple__496;
static PyObject *__pyx_tuple__498;
static PyObject *__pyx_tuple__500;
static PyObject *__pyx_tuple__502;
static PyObject *__pyx_tuple__503;
static PyObject *__pyx_tuple__505;
static PyObject *__pyx_tuple__506;
static PyObject *__pyx_tuple__508;
static PyObject *__pyx_tuple__510;
static PyObject *__pyx_tuple__512;
static PyObject *__pyx_tuple__514;
static PyObject *__pyx_tuple__516;
static PyObject *__pyx_tuple__518;
static PyObject *__pyx_tuple__520;
static PyObject *__pyx_tuple__521;
static PyObject *__pyx_tuple__523;
static PyObject *__pyx_tuple__524;
static PyObject *__pyx_tuple__526;
static PyObject *__pyx_tuple__527;
static PyObject *__pyx_tuple__529;
static PyObject *__pyx_tuple__530;
static PyObject *__pyx_tuple__532;
static PyObject *__pyx_tuple__534;
static PyObject *__pyx_tuple__536;
static PyObject *__pyx_tuple__538;
static PyObject *__pyx_tuple__540;
static PyObject *__pyx_tuple__542;
static PyObject *__pyx_tuple__544;
static PyObject *__pyx_tuple__546;
static PyObject *__pyx_tuple__547;
static PyObject *__pyx_tuple__549;
static PyObject *__pyx_tuple__551;
static PyObject *__pyx_tuple__553;
static PyObject *__pyx_tuple__554;
static PyObject *__pyx_tuple__556;
static PyObject *__pyx_tuple__557;
static PyObject *__pyx_tuple__559;
static PyObject *__pyx_tuple__561;
static PyObject *__pyx_tuple__562;
static PyObject *__pyx_tuple__564;
static PyObject *__pyx_tuple__565;
static PyObject *__pyx_tuple__567;
static PyObject *__pyx_tuple__568;
static PyObject *__pyx_tuple__570;
static PyObject *__pyx_tuple__571;
static PyObject *__pyx_tuple__573;
static PyObject *__pyx_tuple__574;
static PyObject *__pyx_tuple__576;
static PyObject *__pyx_tuple__577;
static PyObject *__pyx_tuple__579;
static PyObject *__pyx_tuple__580;
static PyObject *__pyx_tuple__582;
static PyObject *__pyx_tuple__584;
static PyObject *__pyx_tuple__586;
static PyObject *__pyx_tuple__587;
static PyObject *__pyx_tuple__589;
static PyObject *__pyx_tuple__590;
static PyObject *__pyx_tuple__592;
static PyObject *__pyx_tuple__594;
static PyObject *__pyx_tuple__596;
static PyObject *__pyx_tuple__598;
static PyObject *__pyx_tuple__600;
static PyObject *__pyx_tuple__602;
static PyObject *__pyx_tuple__604;
static PyObject *__pyx_tuple__606;
static PyObject *__pyx_tuple__607;
static PyObject *__pyx_tuple__609;
static PyObject *__pyx_tuple__611;
static PyObject *__pyx_tuple__613;
static PyObject *__pyx_tuple__614;
static PyObject *__pyx_tuple__616;
static PyObject *__pyx_tuple__618;
static PyObject *__pyx_tuple__619;
static PyObject *__pyx_tuple__621;
static PyObject *__pyx_tuple__622;
static PyObject *__pyx_tuple__624;
static PyObject *__pyx_tuple__626;
static PyObject *__pyx_tuple__627;
static PyObject *__pyx_tuple__629;
static PyObject *__pyx_tuple__631;
static PyObject *__pyx_tuple__633;
static PyObject *__pyx_tuple__635;
static PyObject *__pyx_tuple__637;
static PyObject *__pyx_tuple__639;
static PyObject *__pyx_tuple__641;
static PyObject *__pyx_tuple__642;
static PyObject *__pyx_tuple__644;
static PyObject *__pyx_tuple__645;
static PyObject *__pyx_tuple__647;
static PyObject *__pyx_tuple__648;
static PyObject *__pyx_tuple__650;
static PyObject *__pyx_tuple__652;
static PyObject *__pyx_tuple__654;
static PyObject *__pyx_tuple__655;
static PyObject *__pyx_tuple__657;
static PyObject *__pyx_tuple__659;
static PyObject *__pyx_tuple__660;
static PyObject *__pyx_tuple__662;
static PyObject *__pyx_tuple__664;
static PyObject *__pyx_tuple__666;
static PyObject *__pyx_tuple__668;
static PyObject *__pyx_codeobj__26;
static PyObject *__pyx_codeobj__32;
static PyObject *__pyx_codeobj__42;
static PyObject *__pyx_codeobj__104;
static PyObject *__pyx_codeobj__106;
static PyObject *__pyx_codeobj__173;
static PyObject *__pyx_codeobj__175;
static PyObject *__pyx_codeobj__178;
static PyObject *__pyx_codeobj__180;
static PyObject *__pyx_codeobj__183;
static PyObject *__pyx_codeobj__185;
static PyObject *__pyx_codeobj__188;
static PyObject *__pyx_codeobj__191;
static PyObject *__pyx_codeobj__193;
static PyObject *__pyx_codeobj__195;
static PyObject *__pyx_codeobj__198;
static PyObject *__pyx_codeobj__200;
static PyObject *__pyx_codeobj__202;
static PyObject *__pyx_codeobj__204;
static PyObject *__pyx_codeobj__207;
static PyObject *__pyx_codeobj__209;
static PyObject *__pyx_codeobj__211;
static PyObject *__pyx_codeobj__213;
static PyObject *__pyx_codeobj__215;
static PyObject *__pyx_codeobj__218;
static PyObject *__pyx_codeobj__221;
static PyObject *__pyx_codeobj__223;
static PyObject *__pyx_codeobj__225;
static PyObject *__pyx_codeobj__227;
static PyObject *__pyx_codeobj__229;
static PyObject *__pyx_codeobj__231;
static PyObject *__pyx_codeobj__233;
static PyObject *__pyx_codeobj__235;
static PyObject *__pyx_codeobj__237;
static PyObject *__pyx_codeobj__239;
static PyObject *__pyx_codeobj__241;
static PyObject *__pyx_codeobj__243;
static PyObject *__pyx_codeobj__245;
static PyObject *__pyx_codeobj__247;
static PyObject *__pyx_codeobj__249;
static PyObject *__pyx_codeobj__251;
static PyObject *__pyx_codeobj__253;
static PyObject *__pyx_codeobj__255;
static PyObject *__pyx_codeobj__257;
static PyObject *__pyx_codeobj__259;
static PyObject *__pyx_codeobj__261;
static PyObject *__pyx_codeobj__263;
static PyObject *__pyx_codeobj__265;
static PyObject *__pyx_codeobj__267;
static PyObject *__pyx_codeobj__269;
static PyObject *__pyx_codeobj__275;
static PyObject *__pyx_codeobj__277;
static PyObject *__pyx_codeobj__279;
static PyObject *__pyx_codeobj__282;
static PyObject *__pyx_codeobj__284;
static PyObject *__pyx_codeobj__287;
static PyObject *__pyx_codeobj__289;
static PyObject *__pyx_codeobj__291;
static PyObject *__pyx_codeobj__293;
static PyObject *__pyx_codeobj__295;
static PyObject *__pyx_codeobj__297;
static PyObject *__pyx_codeobj__299;
static PyObject *__pyx_codeobj__302;
static PyObject *__pyx_codeobj__304;
static PyObject *__pyx_codeobj__307;
static PyObject *__pyx_codeobj__310;
static PyObject *__pyx_codeobj__312;
static PyObject *__pyx_codeobj__315;
static PyObject *__pyx_codeobj__317;
static PyObject *__pyx_codeobj__319;
static PyObject *__pyx_codeobj__322;
static PyObject *__pyx_codeobj__325;
static PyObject *__pyx_codeobj__327;
static PyObject *__pyx_codeobj__329;
static PyObject *__pyx_codeobj__332;
static PyObject *__pyx_codeobj__334;
static PyObject *__pyx_codeobj__336;
static PyObject *__pyx_codeobj__338;
static PyObject *__pyx_codeobj__340;
static PyObject *__pyx_codeobj__342;
static PyObject *__pyx_codeobj__344;
static PyObject *__pyx_codeobj__346;
static PyObject *__pyx_codeobj__348;
static PyObject *__pyx_codeobj__350;
static PyObject *__pyx_codeobj__352;
static PyObject *__pyx_codeobj__354;
static PyObject *__pyx_codeobj__356;
static PyObject *__pyx_codeobj__358;
static PyObject *__pyx_codeobj__360;
static PyObject *__pyx_codeobj__363;
static PyObject *__pyx_codeobj__366;
static PyObject *__pyx_codeobj__368;
static PyObject *__pyx_codeobj__370;
static PyObject *__pyx_codeobj__372;
static PyObject *__pyx_codeobj__374;
static PyObject *__pyx_codeobj__376;
static PyObject *__pyx_codeobj__378;
static PyObject *__pyx_codeobj__380;
static PyObject *__pyx_codeobj__390;
static PyObject *__pyx_codeobj__393;
static PyObject *__pyx_codeobj__395;
static PyObject *__pyx_codeobj__397;
static PyObject *__pyx_codeobj__399;
static PyObject *__pyx_codeobj__401;
static PyObject *__pyx_codeobj__403;
static PyObject *__pyx_codeobj__405;
static PyObject *__pyx_codeobj__407;
static PyObject *__pyx_codeobj__409;
static PyObject *__pyx_codeobj__411;
static PyObject *__pyx_codeobj__413;
static PyObject *__pyx_codeobj__416;
static PyObject *__pyx_codeobj__418;
static PyObject *__pyx_codeobj__420;
static PyObject *__pyx_codeobj__422;
static PyObject *__pyx_codeobj__425;
static PyObject *__pyx_codeobj__427;
static PyObject *__pyx_codeobj__429;
static PyObject *__pyx_codeobj__432;
static PyObject *__pyx_codeobj__434;
static PyObject *__pyx_codeobj__436;
static PyObject *__pyx_codeobj__438;
static PyObject *__pyx_codeobj__440;
static PyObject *__pyx_codeobj__443;
static PyObject *__pyx_codeobj__446;
static PyObject *__pyx_codeobj__448;
static PyObject *__pyx_codeobj__450;
static PyObject *__pyx_codeobj__452;
static PyObject *__pyx_codeobj__454;
static PyObject *__pyx_codeobj__456;
static PyObject *__pyx_codeobj__458;
static PyObject *__pyx_codeobj__460;
static PyObject *__pyx_codeobj__462;
static PyObject *__pyx_codeobj__464;
static PyObject *__pyx_codeobj__466;
static PyObject *__pyx_codeobj__468;
static PyObject *__pyx_codeobj__470;
static PyObject *__pyx_codeobj__472;
static PyObject *__pyx_codeobj__474;
static PyObject *__pyx_codeobj__476;
static PyObject *__pyx_codeobj__479;
static PyObject *__pyx_codeobj__481;
static PyObject *__pyx_codeobj__483;
static PyObject *__pyx_codeobj__485;
static PyObject *__pyx_codeobj__487;
static PyObject *__pyx_codeobj__489;
static PyObject *__pyx_codeobj__491;
static PyObject *__pyx_codeobj__493;
static PyObject *__pyx_codeobj__495;
static PyObject *__pyx_codeobj__497;
static PyObject *__pyx_codeobj__499;
static PyObject *__pyx_codeobj__501;
static PyObject *__pyx_codeobj__504;
static PyObject *__pyx_codeobj__507;
static PyObject *__pyx_codeobj__509;
static PyObject *__pyx_codeobj__511;
static PyObject *__pyx_codeobj__513;
static PyObject *__pyx_codeobj__515;
static PyObject *__pyx_codeobj__517;
static PyObject *__pyx_codeobj__519;
static PyObject *__pyx_codeobj__522;
static PyObject *__pyx_codeobj__525;
static PyObject *__pyx_codeobj__528;
static PyObject *__pyx_codeobj__531;
static PyObject *__pyx_codeobj__533;
static PyObject *__pyx_codeobj__535;
static PyObject *__pyx_codeobj__537;
static PyObject *__pyx_codeobj__539;
static PyObject *__pyx_codeobj__541;
static PyObject *__pyx_codeobj__543;
static PyObject *__pyx_codeobj__545;
static PyObject *__pyx_codeobj__548;
static PyObject *__pyx_codeobj__550;
static PyObject *__pyx_codeobj__552;
static PyObject *__pyx_codeobj__555;
static PyObject *__pyx_codeobj__558;
static PyObject *__pyx_codeobj__560;
static PyObject *__pyx_codeobj__563;
static PyObject *__pyx_codeobj__566;
static PyObject *__pyx_codeobj__569;
static PyObject *__pyx_codeobj__572;
static PyObject *__pyx_codeobj__575;
static PyObject *__pyx_codeobj__578;
static PyObject *__pyx_codeobj__581;
static PyObject *__pyx_codeobj__583;
static PyObject *__pyx_codeobj__585;
static PyObject *__pyx_codeobj__588;
static PyObject *__pyx_codeobj__591;
static PyObject *__pyx_codeobj__593;
static PyObject *__pyx_codeobj__595;
static PyObject *__pyx_codeobj__597;
static PyObject *__pyx_codeobj__599;
static PyObject *__pyx_codeobj__601;
static PyObject *__pyx_codeobj__603;
static PyObject *__pyx_codeobj__605;
static PyObject *__pyx_codeobj__608;
static PyObject *__pyx_codeobj__610;
static PyObject *__pyx_codeobj__612;
static PyObject *__pyx_codeobj__615;
static PyObject *__pyx_codeobj__617;
static PyObject *__pyx_codeobj__620;
static PyObject *__pyx_codeobj__623;
static PyObject *__pyx_codeobj__625;
static PyObject *__pyx_codeobj__628;
static PyObject *__pyx_codeobj__630;
static PyObject *__pyx_codeobj__632;
static PyObject *__pyx_codeobj__634;
static PyObject *__pyx_codeobj__636;
static PyObject *__pyx_codeobj__638;
static PyObject *__pyx_codeobj__640;
static PyObject *__pyx_codeobj__643;
static PyObject *__pyx_codeobj__646;
static PyObject *__pyx_codeobj__649;
static PyObject *__pyx_codeobj__651;
static PyObject *__pyx_codeobj__653;
static PyObject *__pyx_codeobj__656;
static PyObject *__pyx_codeobj__658;
static PyObject *__pyx_codeobj__661;
static PyObject *__pyx_codeobj__663;
static PyObject *__pyx_codeobj__665;
static PyObject *__pyx_codeobj__667;
static PyObject *__pyx_codeobj__669;

/* "Cython/Compiler/Code.py":81
 * 
 * 
 * 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_utility_dir (wrapper)", 0);
  __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;
  int __pyx_t_10;
  __Pyx_RefNannySetupContext("get_utility_dir", 0);

  /* "Cython/Compiler/Code.py":84
 *     # 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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_dirname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dirname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_abspath); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_file); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  if (!__pyx_t_8) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_4);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_7)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (!__pyx_t_7) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = NULL;
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_Cython_dir = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":85
 *     # 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_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_join); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  __pyx_t_10 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_9, function);
      __pyx_t_10 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_9)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_Cython_dir, __pyx_n_s_Utility};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_Cython_dir, __pyx_n_s_Utility};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_2 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_v_Cython_dir);
    __Pyx_GIVEREF(__pyx_v_Cython_dir);
    PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_10, __pyx_v_Cython_dir);
    __Pyx_INCREF(__pyx_n_s_Utility);
    __Pyx_GIVEREF(__pyx_n_s_Utility);
    PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_10, __pyx_n_s_Utility);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":81
 * 
 * 
 * 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_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":122
 * 
 *     @classmethod
 *     def _add_utility(cls, utility, type, lines, begin_lineno, tags=None):             # <<<<<<<<<<<<<<
 *         if utility is None:
 *             return
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_1_add_utility(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_1_add_utility = {"_add_utility", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_1_add_utility, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_1_add_utility(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_utility = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_lines = 0;
  PyObject *__pyx_v_begin_lineno = 0;
  PyObject *__pyx_v_tags = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_add_utility (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_utility,&__pyx_n_s_type,&__pyx_n_s_lines,&__pyx_n_s_begin_lineno,&__pyx_n_s_tags,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    values[5] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cls)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_utility)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_add_utility", 0, 5, 6, 1); __PYX_ERR(0, 122, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_add_utility", 0, 5, 6, 2); __PYX_ERR(0, 122, __pyx_L3_error)
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lines)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_add_utility", 0, 5, 6, 3); __PYX_ERR(0, 122, __pyx_L3_error)
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_begin_lineno)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_add_utility", 0, 5, 6, 4); __PYX_ERR(0, 122, __pyx_L3_error)
        }
        case  5:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tags);
          if (value) { values[5] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_add_utility") < 0)) __PYX_ERR(0, 122, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_cls = values[0];
    __pyx_v_utility = 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_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_add_utility", 0, 5, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 122, __pyx_L3_error)
  __pyx_L3_error:;
  __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__add_utility(__pyx_self, __pyx_v_cls, __pyx_v_utility, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase__add_utility(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_cls, PyObject *__pyx_v_utility, 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_e = NULL;
  PyObject *__pyx_v_all_tags = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_values = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __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;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  PyObject *(*__pyx_t_14)(PyObject *);
  PyObject *(*__pyx_t_15)(PyObject *);
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  __Pyx_RefNannySetupContext("_add_utility", 0);
  __Pyx_INCREF(__pyx_v_type);

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

    /* "Cython/Compiler/Code.py":124
 *     def _add_utility(cls, utility, 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":123
 *     @classmethod
 *     def _add_utility(cls, utility, type, lines, begin_lineno, tags=None):
 *         if utility is None:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "Cython/Compiler/Code.py":126
 *             return
 * 
 *         code = '\n'.join(lines)             # <<<<<<<<<<<<<<
 *         if tags and 'substitute' in tags and tags['substitute'] == set(['naming']):
 *             del tags['substitute']
 */
  __pyx_t_3 = __Pyx_PyString_Join(__pyx_kp_s_, __pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_code = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":127
 * 
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and tags['substitute'] == set(['naming']):             # <<<<<<<<<<<<<<
 *             del tags['substitute']
 *             try:
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_tags); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 127, __pyx_L1_error)
  if (__pyx_t_1) {
  } else {
    __pyx_t_2 = __pyx_t_1;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_substitute, __pyx_v_tags, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 127, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_1 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = PyObject_GetItem(__pyx_v_tags, __pyx_n_s_substitute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PySet_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PySet_Add(__pyx_t_5, __pyx_n_s_naming) < 0) __PYX_ERR(0, 127, __pyx_L1_error)
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":128
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and tags['substitute'] == set(['naming']):
 *             del tags['substitute']             # <<<<<<<<<<<<<<
 *             try:
 *                 code = Template(code).substitute(vars(Naming))
 */
    if (unlikely(PyObject_DelItem(__pyx_v_tags, __pyx_n_s_substitute) < 0)) __PYX_ERR(0, 128, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":129
 *         if tags and 'substitute' in tags and tags['substitute'] == set(['naming']):
 *             del tags['substitute']
 *             try:             # <<<<<<<<<<<<<<
 *                 code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
 */
    {
      __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":130
 *             del tags['substitute']
 *             try:
 *                 code = Template(code).substitute(vars(Naming))             # <<<<<<<<<<<<<<
 *             except (KeyError, ValueError) as e:
 *                 raise RuntimeError("Error parsing templated utility code of type '%s' at line %d: %s" % (
 */
        __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_Template); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
          }
        }
        if (!__pyx_t_10) {
          __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_5);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_code};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_5);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_code};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_5);
          } else
          #endif
          {
            __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_11);
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
            __Pyx_INCREF(__pyx_v_code);
            __Pyx_GIVEREF(__pyx_v_code);
            PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_v_code);
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_substitute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_Naming);
        __Pyx_GIVEREF(__pyx_v_6Cython_8Compiler_4Code_Naming);
        PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_6Cython_8Compiler_4Code_Naming);
        __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_vars, __pyx_t_5, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 130, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_5)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
          }
        }
        if (!__pyx_t_5) {
          __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L8_error)
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_11};
            __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_11};
            __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          } else
          #endif
          {
            __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_10);
            __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5); __pyx_t_5 = NULL;
            __Pyx_GIVEREF(__pyx_t_11);
            PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_11);
            __pyx_t_11 = 0;
            __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":129
 *         if tags and 'substitute' in tags and tags['substitute'] == set(['naming']):
 *             del tags['substitute']
 *             try:             # <<<<<<<<<<<<<<
 *                 code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
 */
      }
      __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_L15_try_end;
      __pyx_L8_error:;
      __Pyx_PyThreadState_assign
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":131
 *             try:
 *                 code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:             # <<<<<<<<<<<<<<
 *                 raise RuntimeError("Error parsing templated utility code of type '%s' at line %d: %s" % (
 *                     type, begin_lineno, e))
 */
      __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_12) {
        __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase._add_utility", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_3, &__pyx_t_10) < 0) __PYX_ERR(0, 131, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_3);
        __pyx_v_e = __pyx_t_3;

        /* "Cython/Compiler/Code.py":133
 *             except (KeyError, ValueError) as e:
 *                 raise RuntimeError("Error parsing templated utility code of type '%s' at line %d: %s" % (
 *                     type, begin_lineno, e))             # <<<<<<<<<<<<<<
 * 
 *         # remember correct line numbers at least until after templating
 */
        __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 133, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_v_type);
        __Pyx_GIVEREF(__pyx_v_type);
        PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_v_type);
        __Pyx_INCREF(__pyx_v_begin_lineno);
        __Pyx_GIVEREF(__pyx_v_begin_lineno);
        PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_v_begin_lineno);
        __Pyx_INCREF(__pyx_v_e);
        __Pyx_GIVEREF(__pyx_v_e);
        PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_v_e);

        /* "Cython/Compiler/Code.py":132
 *                 code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
 *                 raise RuntimeError("Error parsing templated utility code of type '%s' at line %d: %s" % (             # <<<<<<<<<<<<<<
 *                     type, begin_lineno, e))
 * 
 */
        __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Error_parsing_templated_utility, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 132, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(0, 132, __pyx_L10_except_error)
      }
      goto __pyx_L10_except_error;
      __pyx_L10_except_error:;

      /* "Cython/Compiler/Code.py":129
 *         if tags and 'substitute' in tags and tags['substitute'] == set(['naming']):
 *             del tags['substitute']
 *             try:             # <<<<<<<<<<<<<<
 *                 code = Template(code).substitute(vars(Naming))
 *             except (KeyError, ValueError) as e:
 */
      __Pyx_PyThreadState_assign
      __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_L15_try_end:;
    }

    /* "Cython/Compiler/Code.py":127
 * 
 *         code = '\n'.join(lines)
 *         if tags and 'substitute' in tags and tags['substitute'] == set(['naming']):             # <<<<<<<<<<<<<<
 *             del tags['substitute']
 *             try:
 */
  }

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

  /* "Cython/Compiler/Code.py":138
 *         code = '\n' * begin_lineno + code
 * 
 *         if type == 'proto':             # <<<<<<<<<<<<<<
 *             utility[0] = code
 *         elif type.startswith('proto.'):
 */
  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_type, __pyx_n_s_proto, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 138, __pyx_L1_error)
  if (__pyx_t_2) {

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

    /* "Cython/Compiler/Code.py":138
 *         code = '\n' * begin_lineno + code
 * 
 *         if type == 'proto':             # <<<<<<<<<<<<<<
 *             utility[0] = code
 *         elif type.startswith('proto.'):
 */
    goto __pyx_L18;
  }

  /* "Cython/Compiler/Code.py":140
 *         if type == 'proto':
 *             utility[0] = code
 *         elif type.startswith('proto.'):             # <<<<<<<<<<<<<<
 *             utility[0] = code
 *             utility[1] = type[6:]
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__pyx_t_2) {

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

    /* "Cython/Compiler/Code.py":142
 *         elif type.startswith('proto.'):
 *             utility[0] = code
 *             utility[1] = type[6:]             # <<<<<<<<<<<<<<
 *         elif type == 'impl':
 *             utility[2] = code
 */
    __pyx_t_10 = __Pyx_PyObject_GetSlice(__pyx_v_type, 6, 0, NULL, NULL, &__pyx_slice__3, 1, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    if (unlikely(__Pyx_SetItemInt(__pyx_v_utility, 1, __pyx_t_10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 142, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":140
 *         if type == 'proto':
 *             utility[0] = code
 *         elif type.startswith('proto.'):             # <<<<<<<<<<<<<<
 *             utility[0] = code
 *             utility[1] = type[6:]
 */
    goto __pyx_L18;
  }

  /* "Cython/Compiler/Code.py":143
 *             utility[0] = code
 *             utility[1] = type[6:]
 *         elif type == 'impl':             # <<<<<<<<<<<<<<
 *             utility[2] = code
 *         else:
 */
  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_type, __pyx_n_s_impl, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 143, __pyx_L1_error)
  if (__pyx_t_2) {

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

    /* "Cython/Compiler/Code.py":143
 *             utility[0] = code
 *             utility[1] = type[6:]
 *         elif type == 'impl':             # <<<<<<<<<<<<<<
 *             utility[2] = code
 *         else:
 */
    goto __pyx_L18;
  }

  /* "Cython/Compiler/Code.py":146
 *             utility[2] = code
 *         else:
 *             all_tags = utility[3]             # <<<<<<<<<<<<<<
 *             if KEYWORDS_MUST_BE_BYTES:
 *                 type = type.encode('ASCII')
 */
  /*else*/ {
    __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_utility, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_v_all_tags = __pyx_t_10;
    __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":147
 *         else:
 *             all_tags = utility[3]
 *             if KEYWORDS_MUST_BE_BYTES:             # <<<<<<<<<<<<<<
 *                 type = type.encode('ASCII')
 *             all_tags[type] = code
 */
    __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_KEYWORDS_MUST_BE_BYTES); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 147, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":148
 *             all_tags = utility[3]
 *             if KEYWORDS_MUST_BE_BYTES:
 *                 type = type.encode('ASCII')             # <<<<<<<<<<<<<<
 *             all_tags[type] = code
 * 
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_encode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF_SET(__pyx_v_type, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":147
 *         else:
 *             all_tags = utility[3]
 *             if KEYWORDS_MUST_BE_BYTES:             # <<<<<<<<<<<<<<
 *                 type = type.encode('ASCII')
 *             all_tags[type] = code
 */
    }

    /* "Cython/Compiler/Code.py":149
 *             if KEYWORDS_MUST_BE_BYTES:
 *                 type = type.encode('ASCII')
 *             all_tags[type] = code             # <<<<<<<<<<<<<<
 * 
 *         if tags:
 */
    if (unlikely(PyObject_SetItem(__pyx_v_all_tags, __pyx_v_type, __pyx_v_code) < 0)) __PYX_ERR(0, 149, __pyx_L1_error)
  }
  __pyx_L18:;

  /* "Cython/Compiler/Code.py":151
 *             all_tags[type] = code
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             all_tags = utility[3]
 *             for name, values in tags.items():
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_tags); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 151, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":152
 * 
 *         if tags:
 *             all_tags = utility[3]             # <<<<<<<<<<<<<<
 *             for name, values in tags.items():
 *                 if KEYWORDS_MUST_BE_BYTES:
 */
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_utility, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_all_tags, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":153
 *         if tags:
 *             all_tags = utility[3]
 *             for name, values in tags.items():             # <<<<<<<<<<<<<<
 *                 if KEYWORDS_MUST_BE_BYTES:
 *                     name = name.encode('ASCII')
 */
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_tags, __pyx_n_s_items); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    if (__pyx_t_6) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_10 = __pyx_t_3; __Pyx_INCREF(__pyx_t_10); __pyx_t_13 = 0;
      __pyx_t_14 = NULL;
    } else {
      __pyx_t_13 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_14 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 153, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_14)) {
        if (likely(PyList_CheckExact(__pyx_t_10))) {
          if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_10)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_13); __Pyx_INCREF(__pyx_t_3); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 153, __pyx_L1_error)
          #else
          __pyx_t_3 = PySequence_ITEM(__pyx_t_10, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        } else {
          if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_10)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_13); __Pyx_INCREF(__pyx_t_3); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 153, __pyx_L1_error)
          #else
          __pyx_t_3 = PySequence_ITEM(__pyx_t_10, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        }
      } else {
        __pyx_t_3 = __pyx_t_14(__pyx_t_10);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 153, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_3);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
        PyObject* sequence = __pyx_t_3;
        #if !CYTHON_COMPILING_IN_PYPY
        Py_ssize_t size = Py_SIZE(sequence);
        #else
        Py_ssize_t size = PySequence_Size(sequence);
        #endif
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 153, __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_t_5 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_6 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_5);
        #else
        __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __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_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 153, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_15 = Py_TYPE(__pyx_t_11)->tp_iternext;
        index = 0; __pyx_t_6 = __pyx_t_15(__pyx_t_11); if (unlikely(!__pyx_t_6)) goto __pyx_L23_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_6);
        index = 1; __pyx_t_5 = __pyx_t_15(__pyx_t_11); if (unlikely(!__pyx_t_5)) goto __pyx_L23_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_11), 2) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
        __pyx_t_15 = NULL;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L24_unpacking_done;
        __pyx_L23_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_15 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 153, __pyx_L1_error)
        __pyx_L24_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":154
 *             all_tags = utility[3]
 *             for name, values in tags.items():
 *                 if KEYWORDS_MUST_BE_BYTES:             # <<<<<<<<<<<<<<
 *                     name = name.encode('ASCII')
 *                 all_tags.setdefault(name, set()).update(values)
 */
      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_KEYWORDS_MUST_BE_BYTES); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __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, 154, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (__pyx_t_2) {

        /* "Cython/Compiler/Code.py":155
 *             for name, values in tags.items():
 *                 if KEYWORDS_MUST_BE_BYTES:
 *                     name = name.encode('ASCII')             # <<<<<<<<<<<<<<
 *                 all_tags.setdefault(name, set()).update(values)
 * 
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 155, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_5);
        __pyx_t_5 = 0;

        /* "Cython/Compiler/Code.py":154
 *             all_tags = utility[3]
 *             for name, values in tags.items():
 *                 if KEYWORDS_MUST_BE_BYTES:             # <<<<<<<<<<<<<<
 *                     name = name.encode('ASCII')
 *                 all_tags.setdefault(name, set()).update(values)
 */
      }

      /* "Cython/Compiler/Code.py":156
 *                 if KEYWORDS_MUST_BE_BYTES:
 *                     name = name.encode('ASCII')
 *                 all_tags.setdefault(name, set()).update(values)             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_all_tags, __pyx_n_s_setdefault); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_11 = PySet_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_16 = NULL;
      __pyx_t_12 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_16)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_16);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_12 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_name, __pyx_t_11};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_name, __pyx_t_11};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      } else
      #endif
      {
        __pyx_t_17 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 156, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        if (__pyx_t_16) {
          __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_16); __pyx_t_16 = NULL;
        }
        __Pyx_INCREF(__pyx_v_name);
        __Pyx_GIVEREF(__pyx_v_name);
        PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_12, __pyx_v_name);
        __Pyx_GIVEREF(__pyx_t_11);
        PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_12, __pyx_t_11);
        __pyx_t_11 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_17, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_update); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_3) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_values); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_values};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_values};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        {
          __pyx_t_17 = PyTuple_New(1+1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 156, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_17);
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_3); __pyx_t_3 = NULL;
          __Pyx_INCREF(__pyx_v_values);
          __Pyx_GIVEREF(__pyx_v_values);
          PyTuple_SET_ITEM(__pyx_t_17, 0+1, __pyx_v_values);
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_17, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":153
 *         if tags:
 *             all_tags = utility[3]
 *             for name, values in tags.items():             # <<<<<<<<<<<<<<
 *                 if KEYWORDS_MUST_BE_BYTES:
 *                     name = name.encode('ASCII')
 */
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":151
 *             all_tags[type] = code
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             all_tags = utility[3]
 *             for name, values in tags.items():
 */
  }

  /* "Cython/Compiler/Code.py":122
 * 
 *     @classmethod
 *     def _add_utility(cls, utility, type, lines, begin_lineno, tags=None):             # <<<<<<<<<<<<<<
 *         if utility 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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __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_e);
  __Pyx_XDECREF(__pyx_v_all_tags);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_values);
  __Pyx_XDECREF(__pyx_v_type);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":159
 * 
 *     @classmethod
 *     def load_utilities_from_file(cls, path):             # <<<<<<<<<<<<<<
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_3load_utilities_from_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_3load_utilities_from_file = {"load_utilities_from_file", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_3load_utilities_from_file, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_3load_utilities_from_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_utilities_from_file (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_path,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cls)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("load_utilities_from_file", 1, 2, 2, 1); __PYX_ERR(0, 159, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load_utilities_from_file") < 0)) __PYX_ERR(0, 159, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cls = values[0];
    __pyx_v_path = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load_utilities_from_file", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 159, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_utilities_from_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_2load_utilities_from_file(__pyx_self, __pyx_v_cls, __pyx_v_path);

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

/* "Cython/Compiler/Code.py":183
 *             all_lines = f.readlines()
 * 
 *         utilities = defaultdict(lambda: [None, 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda (wrapper)", 0);
  __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;
  __Pyx_RefNannySetupContext("lambda", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyList_SET_ITEM(__pyx_t_2, 0, Py_None);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyList_SET_ITEM(__pyx_t_2, 1, Py_None);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyList_SET_ITEM(__pyx_t_2, 2, Py_None);
  __Pyx_GIVEREF(__pyx_t_1);
  PyList_SET_ITEM(__pyx_t_2, 3, __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.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":159
 * 
 *     @classmethod
 *     def load_utilities_from_file(cls, path):             # <<<<<<<<<<<<<<
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_2load_utilities_from_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_path) {
  PyObject *__pyx_v_utilities = NULL;
  PyObject *__pyx_v_filename = 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_f = 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_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_name = NULL;
  PyObject *__pyx_v_mtype = 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;
  int __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  Py_ssize_t __pyx_t_16;
  PyObject *(*__pyx_t_17)(PyObject *);
  PyObject *__pyx_t_18 = NULL;
  int __pyx_t_19;
  __Pyx_RefNannySetupContext("load_utilities_from_file", 0);

  /* "Cython/Compiler/Code.py":160
 *     @classmethod
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)             # <<<<<<<<<<<<<<
 *         if utilities:
 *             return utilities
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_utility_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_path};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_path};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_path);
      __Pyx_GIVEREF(__pyx_v_path);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_path);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_utilities = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":161
 *     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, 161, __pyx_L1_error)
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":162
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:
 *             return utilities             # <<<<<<<<<<<<<<
 * 
 *         filename = os.path.join(get_utility_dir(), path)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_utilities);
    __pyx_r = __pyx_v_utilities;
    goto __pyx_L0;

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

  /* "Cython/Compiler/Code.py":164
 *             return utilities
 * 
 *         filename = os.path.join(get_utility_dir(), path)             # <<<<<<<<<<<<<<
 *         _, ext = os.path.splitext(path)
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_join); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_get_utility_dir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_6) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 164, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 164, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_7 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_path};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_path};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_3);
    __Pyx_INCREF(__pyx_v_path);
    __Pyx_GIVEREF(__pyx_v_path);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_path);
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_filename = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":165
 * 
 *         filename = os.path.join(get_utility_dir(), path)
 *         _, ext = os.path.splitext(path)             # <<<<<<<<<<<<<<
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 *             comment = '#'
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_splitext); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_path};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_path};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_v_path);
      __Pyx_GIVEREF(__pyx_v_path);
      PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_path);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 165, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_6 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __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, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_6 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_6)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_6);
    index = 1; __pyx_t_3 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_4), 2) < 0) __PYX_ERR(0, 165, __pyx_L1_error)
    __pyx_t_8 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_8 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 165, __pyx_L1_error)
    __pyx_L5_unpacking_done:;
  }
  __pyx_v__ = __pyx_t_6;
  __pyx_t_6 = 0;
  __pyx_v_ext = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":166
 *         filename = os.path.join(get_utility_dir(), path)
 *         _, ext = os.path.splitext(path)
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):             # <<<<<<<<<<<<<<
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#.*').sub, '')
 */
  __Pyx_INCREF(__pyx_v_ext);
  __pyx_t_1 = __pyx_v_ext;
  __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_pyx, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 166, __pyx_L1_error)
  if (!__pyx_t_9) {
  } else {
    __pyx_t_5 = __pyx_t_9;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_py, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 166, __pyx_L1_error)
  if (!__pyx_t_9) {
  } else {
    __pyx_t_5 = __pyx_t_9;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_pxd, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 166, __pyx_L1_error)
  if (!__pyx_t_9) {
  } else {
    __pyx_t_5 = __pyx_t_9;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_pxi, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 166, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_9;
  __pyx_L7_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_9 = (__pyx_t_5 != 0);
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":167
 *         _, ext = os.path.splitext(path)
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 *             comment = '#'             # <<<<<<<<<<<<<<
 *             strip_comments = partial(re.compile(r'^\s*#.*').sub, '')
 *             rstrip = StringEncoding._unicode.rstrip
 */
    __Pyx_INCREF(__pyx_kp_s__6);
    __pyx_v_comment = __pyx_kp_s__6;

    /* "Cython/Compiler/Code.py":168
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#.*').sub, '')             # <<<<<<<<<<<<<<
 *             rstrip = StringEncoding._unicode.rstrip
 *         else:
 */
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_partial); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sub); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_6, __pyx_kp_s__8};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_6, __pyx_kp_s__8};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    {
      __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 168, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_6);
      __Pyx_INCREF(__pyx_kp_s__8);
      __Pyx_GIVEREF(__pyx_kp_s__8);
      PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_kp_s__8);
      __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __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_v_strip_comments = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":169
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#.*').sub, '')
 *             rstrip = StringEncoding._unicode.rstrip             # <<<<<<<<<<<<<<
 *         else:
 *             comment = '/'
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_rstrip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_rstrip = __pyx_t_3;
    __pyx_t_3 = 0;

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

  /* "Cython/Compiler/Code.py":171
 *             rstrip = StringEncoding._unicode.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_kp_s__9);
    __pyx_v_comment = __pyx_kp_s__9;

    /* "Cython/Compiler/Code.py":172
 *         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')
 *         match_special = re.compile(
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_partial); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_sub); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_kp_s__8};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 172, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_kp_s__8};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 172, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 172, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__pyx_t_6) {
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_t_2);
      __Pyx_INCREF(__pyx_kp_s__8);
      __Pyx_GIVEREF(__pyx_kp_s__8);
      PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_kp_s__8);
      __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 172, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_strip_comments = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":173
 *             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 = re.compile(
 *             (r'^%(C)s{5,30}\s*(?P<name>(?:\w|\.)+)\s*%(C)s{5,30}|'
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_partial); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_4, __pyx_kp_s_1};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_4, __pyx_kp_s_1};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__pyx_t_2) {
        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_4);
      __Pyx_INCREF(__pyx_kp_s_1);
      __Pyx_GIVEREF(__pyx_kp_s_1);
      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_kp_s_1);
      __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_rstrip = __pyx_t_3;
    __pyx_t_3 = 0;
  }
  __pyx_L6:;

  /* "Cython/Compiler/Code.py":174
 *             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 = re.compile(             # <<<<<<<<<<<<<<
 *             (r'^%(C)s{5,30}\s*(?P<name>(?:\w|\.)+)\s*%(C)s{5,30}|'
 *              r'^%(C)s+@(?P<tag>\w+)\s*:\s*(?P<value>(?:\w|[.:])+)') %
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":177
 *             (r'^%(C)s{5,30}\s*(?P<name>(?:\w|\.)+)\s*%(C)s{5,30}|'
 *              r'^%(C)s+@(?P<tag>\w+)\s*:\s*(?P<value>(?:\w|[.:])+)') %
 *             {'C': comment}).match             # <<<<<<<<<<<<<<
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match
 * 
 */
  __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_C, __pyx_v_comment) < 0) __PYX_ERR(0, 177, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":176
 *         match_special = re.compile(
 *             (r'^%(C)s{5,30}\s*(?P<name>(?:\w|\.)+)\s*%(C)s{5,30}|'
 *              r'^%(C)s+@(?P<tag>\w+)\s*:\s*(?P<value>(?:\w|[.:])+)') %             # <<<<<<<<<<<<<<
 *             {'C': comment}).match
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match
 */
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_C_s_5_30_s_P_name_w_s_C_s_5_30, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":177
 *             (r'^%(C)s{5,30}\s*(?P<name>(?:\w|\.)+)\s*%(C)s{5,30}|'
 *              r'^%(C)s+@(?P<tag>\w+)\s*:\s*(?P<value>(?:\w|[.:])+)') %
 *             {'C': comment}).match             # <<<<<<<<<<<<<<
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_match); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_match_special = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":178
 *              r'^%(C)s+@(?P<tag>\w+)\s*:\s*(?P<value>(?:\w|[.:])+)') %
 *             {'C': comment}).match
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match             # <<<<<<<<<<<<<<
 * 
 *         with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_match); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_match_type = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":180
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match
 * 
 *         with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:             # <<<<<<<<<<<<<<
 *             all_lines = f.readlines()
 * 
 */
  /*with:*/ {
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_closing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Utils, __pyx_n_s_open_source_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_filename);
    __Pyx_GIVEREF(__pyx_v_filename);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_filename);
    __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_encoding, __pyx_kp_s_UTF_8) < 0) __PYX_ERR(0, 180, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      {
        __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_10);
        PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_10);
        __pyx_t_10 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L11_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_10) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L11_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L11_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __pyx_t_3;
    __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
        __Pyx_XGOTREF(__pyx_t_12);
        __Pyx_XGOTREF(__pyx_t_13);
        __Pyx_XGOTREF(__pyx_t_14);
        /*try:*/ {
          __pyx_v_f = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "Cython/Compiler/Code.py":181
 * 
 *         with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:
 *             all_lines = f.readlines()             # <<<<<<<<<<<<<<
 * 
 *         utilities = defaultdict(lambda: [None, None, None, {}])
 */
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_1, function);
            }
          }
          if (__pyx_t_3) {
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __pyx_L15_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else {
            __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __pyx_L15_error)
          }
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_v_all_lines = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "Cython/Compiler/Code.py":180
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match
 * 
 *         with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:             # <<<<<<<<<<<<<<
 *             all_lines = f.readlines()
 * 
 */
        }
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
        goto __pyx_L22_try_end;
        __pyx_L15_error:;
        __Pyx_PyThreadState_assign
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__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_4); __pyx_t_4 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load_utilities_from_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 180, __pyx_L17_except_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_10 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 180, __pyx_L17_except_error)
          __Pyx_GOTREF(__pyx_t_10);
          __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 180, __pyx_L17_except_error)
          __Pyx_GOTREF(__pyx_t_15);
          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_15);
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          if (__pyx_t_9 < 0) __PYX_ERR(0, 180, __pyx_L17_except_error)
          __pyx_t_5 = ((!(__pyx_t_9 != 0)) != 0);
          if (__pyx_t_5) {
            __Pyx_GIVEREF(__pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_1);
            __Pyx_XGIVEREF(__pyx_t_3);
            __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_3);
            __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; 
            __PYX_ERR(0, 180, __pyx_L17_except_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          goto __pyx_L16_exception_handled;
        }
        __pyx_L17_except_error:;
        __Pyx_PyThreadState_assign
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
        goto __pyx_L1_error;
        __pyx_L16_exception_handled:;
        __Pyx_PyThreadState_assign
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
        __pyx_L22_try_end:;
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_11) {
          __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__13, NULL);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 180, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
        goto __pyx_L14;
      }
      __pyx_L14:;
    }
    goto __pyx_L26;
    __pyx_L11_error:;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    goto __pyx_L1_error;
    __pyx_L26:;
  }

  /* "Cython/Compiler/Code.py":183
 *             all_lines = f.readlines()
 * 
 *         utilities = defaultdict(lambda: [None, None, None, {}])             # <<<<<<<<<<<<<<
 *         lines = []
 *         tags = defaultdict(set)
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_defaultdict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_24load_utilities_from_file_lambda, 0, __pyx_n_s_UtilityCodeBase_load_utilities_f, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_10) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 183, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_10); __pyx_t_10 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_utilities, __pyx_t_3);
  __pyx_t_3 = 0;

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

  /* "Cython/Compiler/Code.py":185
 *         utilities = defaultdict(lambda: [None, None, None, {}])
 *         lines = []
 *         tags = defaultdict(set)             # <<<<<<<<<<<<<<
 *         utility = type = None
 *         begin_lineno = 0
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_defaultdict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)(&PySet_Type))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, ((PyObject *)(&PySet_Type))};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, ((PyObject *)(&PySet_Type))};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_INCREF(((PyObject *)(&PySet_Type)));
      __Pyx_GIVEREF(((PyObject *)(&PySet_Type)));
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)(&PySet_Type)));
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_tags = __pyx_t_3;
  __pyx_t_3 = 0;

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

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

  /* "Cython/Compiler/Code.py":189
 *         begin_lineno = 0
 * 
 *         for lineno, line in enumerate(all_lines):             # <<<<<<<<<<<<<<
 *             m = match_special(line)
 *             if m:
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_3 = __pyx_int_0;
  if (unlikely(!__pyx_v_all_lines)) { __Pyx_RaiseUnboundLocalError("all_lines"); __PYX_ERR(0, 189, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_v_all_lines)) || PyTuple_CheckExact(__pyx_v_all_lines)) {
    __pyx_t_1 = __pyx_v_all_lines; __Pyx_INCREF(__pyx_t_1); __pyx_t_16 = 0;
    __pyx_t_17 = NULL;
  } else {
    __pyx_t_16 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_all_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_17 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 189, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_17)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_4); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 189, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_4); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 189, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_17(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 189, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_lineno, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":190
 * 
 *         for lineno, line in enumerate(all_lines):
 *             m = match_special(line)             # <<<<<<<<<<<<<<
 *             if m:
 *                 if m.group('name'):
 */
    __Pyx_INCREF(__pyx_v_match_special);
    __pyx_t_6 = __pyx_v_match_special; __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
      }
    }
    if (!__pyx_t_10) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_line};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_line};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 190, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL;
        __Pyx_INCREF(__pyx_v_line);
        __Pyx_GIVEREF(__pyx_v_line);
        PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_line);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":191
 *         for lineno, line in enumerate(all_lines):
 *             m = match_special(line)
 *             if m:             # <<<<<<<<<<<<<<
 *                 if m.group('name'):
 *                     cls._add_utility(utility, type, lines, begin_lineno, tags)
 */
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_m); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 191, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":192
 *             m = match_special(line)
 *             if m:
 *                 if m.group('name'):             # <<<<<<<<<<<<<<
 *                     cls._add_utility(utility, type, lines, begin_lineno, tags)
 * 
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_group); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 192, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_5) {

        /* "Cython/Compiler/Code.py":193
 *             if m:
 *                 if m.group('name'):
 *                     cls._add_utility(utility, type, lines, begin_lineno, tags)             # <<<<<<<<<<<<<<
 * 
 *                     begin_lineno = lineno + 1
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_add_utility); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 193, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = NULL;
        __pyx_t_7 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_2)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_2);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
            __pyx_t_7 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[6] = {__pyx_t_2, __pyx_v_utility, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags};
          __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[6] = {__pyx_t_2, __pyx_v_utility, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags};
          __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        {
          __pyx_t_10 = PyTuple_New(5+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 193, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          if (__pyx_t_2) {
            __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __pyx_t_2 = NULL;
          }
          __Pyx_INCREF(__pyx_v_utility);
          __Pyx_GIVEREF(__pyx_v_utility);
          PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_v_utility);
          __Pyx_INCREF(__pyx_v_type);
          __Pyx_GIVEREF(__pyx_v_type);
          PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_v_type);
          __Pyx_INCREF(__pyx_v_lines);
          __Pyx_GIVEREF(__pyx_v_lines);
          PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_7, __pyx_v_lines);
          __Pyx_INCREF(__pyx_v_begin_lineno);
          __Pyx_GIVEREF(__pyx_v_begin_lineno);
          PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_7, __pyx_v_begin_lineno);
          __Pyx_INCREF(__pyx_v_tags);
          __Pyx_GIVEREF(__pyx_v_tags);
          PyTuple_SET_ITEM(__pyx_t_10, 4+__pyx_t_7, __pyx_v_tags);
          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":195
 *                     cls._add_utility(utility, type, lines, begin_lineno, tags)
 * 
 *                     begin_lineno = lineno + 1             # <<<<<<<<<<<<<<
 *                     del lines[:]
 *                     tags.clear()
 */
        __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_lineno, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 195, __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":196
 * 
 *                     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, 196, __pyx_L1_error)

        /* "Cython/Compiler/Code.py":197
 *                     begin_lineno = lineno + 1
 *                     del lines[:]
 *                     tags.clear()             # <<<<<<<<<<<<<<
 * 
 *                     name = m.group('name')
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_tags, __pyx_n_s_clear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 197, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_10 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        if (__pyx_t_10) {
          __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 197, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else {
          __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 197, __pyx_L1_error)
        }
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "Cython/Compiler/Code.py":199
 *                     tags.clear()
 * 
 *                     name = m.group('name')             # <<<<<<<<<<<<<<
 *                     mtype = match_type(name)
 *                     if mtype:
 */
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_group); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 199, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 199, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "Cython/Compiler/Code.py":200
 * 
 *                     name = m.group('name')
 *                     mtype = match_type(name)             # <<<<<<<<<<<<<<
 *                     if mtype:
 *                         name, type = mtype.groups()
 */
        __Pyx_INCREF(__pyx_v_match_type);
        __pyx_t_6 = __pyx_v_match_type; __pyx_t_10 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_6, function);
          }
        }
        if (!__pyx_t_10) {
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_6)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_name};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_name};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 200, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL;
            __Pyx_INCREF(__pyx_v_name);
            __Pyx_GIVEREF(__pyx_v_name);
            PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_name);
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF_SET(__pyx_v_mtype, __pyx_t_4);
        __pyx_t_4 = 0;

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

          /* "Cython/Compiler/Code.py":202
 *                     mtype = match_type(name)
 *                     if mtype:
 *                         name, type = mtype.groups()             # <<<<<<<<<<<<<<
 *                     else:
 *                         type = 'impl'
 */
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_mtype, __pyx_n_s_groups); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
            }
          }
          if (__pyx_t_2) {
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 202, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else {
            __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 202, __pyx_L1_error)
          }
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
            PyObject* sequence = __pyx_t_4;
            #if !CYTHON_COMPILING_IN_PYPY
            Py_ssize_t size = Py_SIZE(sequence);
            #else
            Py_ssize_t size = PySequence_Size(sequence);
            #endif
            if (unlikely(size != 2)) {
              if (size > 2) __Pyx_RaiseTooManyValuesError(2);
              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
              __PYX_ERR(0, 202, __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_t_2 = PyTuple_GET_ITEM(sequence, 1); 
            } else {
              __pyx_t_6 = PyList_GET_ITEM(sequence, 0); 
              __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
            }
            __Pyx_INCREF(__pyx_t_6);
            __Pyx_INCREF(__pyx_t_2);
            #else
            __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            #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, 202, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_10);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = Py_TYPE(__pyx_t_10)->tp_iternext;
            index = 0; __pyx_t_6 = __pyx_t_8(__pyx_t_10); if (unlikely(!__pyx_t_6)) goto __pyx_L32_unpacking_failed;
            __Pyx_GOTREF(__pyx_t_6);
            index = 1; __pyx_t_2 = __pyx_t_8(__pyx_t_10); if (unlikely(!__pyx_t_2)) goto __pyx_L32_unpacking_failed;
            __Pyx_GOTREF(__pyx_t_2);
            if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_10), 2) < 0) __PYX_ERR(0, 202, __pyx_L1_error)
            __pyx_t_8 = NULL;
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
            goto __pyx_L33_unpacking_done;
            __pyx_L32_unpacking_failed:;
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
            __pyx_t_8 = NULL;
            if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
            __PYX_ERR(0, 202, __pyx_L1_error)
            __pyx_L33_unpacking_done:;
          }
          __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_6);
          __pyx_t_6 = 0;
          __Pyx_DECREF_SET(__pyx_v_type, __pyx_t_2);
          __pyx_t_2 = 0;

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

        /* "Cython/Compiler/Code.py":204
 *                         name, type = mtype.groups()
 *                     else:
 *                         type = 'impl'             # <<<<<<<<<<<<<<
 *                     utility = utilities[name]
 *                 else:
 */
        /*else*/ {
          __Pyx_INCREF(__pyx_n_s_impl);
          __Pyx_DECREF_SET(__pyx_v_type, __pyx_n_s_impl);
        }
        __pyx_L31:;

        /* "Cython/Compiler/Code.py":205
 *                     else:
 *                         type = 'impl'
 *                     utility = utilities[name]             # <<<<<<<<<<<<<<
 *                 else:
 *                     tags[m.group('tag')].add(m.group('value'))
 */
        __pyx_t_4 = PyObject_GetItem(__pyx_v_utilities, __pyx_v_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_utility, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "Cython/Compiler/Code.py":192
 *             m = match_special(line)
 *             if m:
 *                 if m.group('name'):             # <<<<<<<<<<<<<<
 *                     cls._add_utility(utility, type, lines, begin_lineno, tags)
 * 
 */
        goto __pyx_L30;
      }

      /* "Cython/Compiler/Code.py":207
 *                     utility = utilities[name]
 *                 else:
 *                     tags[m.group('tag')].add(m.group('value'))             # <<<<<<<<<<<<<<
 *                     lines.append('')  # keep line number correct
 *             else:
 */
      /*else*/ {
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyObject_GetItem(__pyx_v_tags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_add); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 207, __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_m, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
          __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
          if (likely(__pyx_t_2)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
            __Pyx_INCREF(__pyx_t_2);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_6, function);
          }
        }
        if (!__pyx_t_2) {
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 207, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_6)) {
            PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_10};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 207, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
            PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_10};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 207, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          } else
          #endif
          {
            __pyx_t_18 = PyTuple_New(1+1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 207, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_18);
            __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_2); __pyx_t_2 = NULL;
            __Pyx_GIVEREF(__pyx_t_10);
            PyTuple_SET_ITEM(__pyx_t_18, 0+1, __pyx_t_10);
            __pyx_t_10 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_18, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 207, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "Cython/Compiler/Code.py":208
 *                 else:
 *                     tags[m.group('tag')].add(m.group('value'))
 *                     lines.append('')  # keep line number correct             # <<<<<<<<<<<<<<
 *             else:
 *                 lines.append(rstrip(strip_comments(line)))
 */
        __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_kp_s__8); if (unlikely(__pyx_t_19 == -1)) __PYX_ERR(0, 208, __pyx_L1_error)
      }
      __pyx_L30:;

      /* "Cython/Compiler/Code.py":191
 *         for lineno, line in enumerate(all_lines):
 *             m = match_special(line)
 *             if m:             # <<<<<<<<<<<<<<
 *                 if m.group('name'):
 *                     cls._add_utility(utility, type, lines, begin_lineno, tags)
 */
      goto __pyx_L29;
    }

    /* "Cython/Compiler/Code.py":210
 *                     lines.append('')  # keep line number correct
 *             else:
 *                 lines.append(rstrip(strip_comments(line)))             # <<<<<<<<<<<<<<
 * 
 *         if utility is None:
 */
    /*else*/ {
      __Pyx_INCREF(__pyx_v_strip_comments);
      __pyx_t_18 = __pyx_v_strip_comments; __pyx_t_10 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_18);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_18, function);
        }
      }
      if (!__pyx_t_10) {
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 210, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_18)) {
          PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_line};
          __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) {
          PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_line};
          __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        {
          __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL;
          __Pyx_INCREF(__pyx_v_line);
          __Pyx_GIVEREF(__pyx_v_line);
          PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_line);
          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      __Pyx_INCREF(__pyx_v_rstrip);
      __pyx_t_18 = __pyx_v_rstrip; __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_18);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_18, function);
        }
      }
      if (!__pyx_t_2) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 210, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_18)) {
          PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_6};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) {
          PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_6};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        {
          __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __pyx_t_2 = NULL;
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_6);
          __pyx_t_6 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 210, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_t_4); if (unlikely(__pyx_t_19 == -1)) __PYX_ERR(0, 210, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_L29:;

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

  /* "Cython/Compiler/Code.py":212
 *                 lines.append(rstrip(strip_comments(line)))
 * 
 *         if utility is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Empty utility code file")
 * 
 */
  __pyx_t_5 = (__pyx_v_utility == Py_None);
  __pyx_t_9 = (__pyx_t_5 != 0);
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":213
 * 
 *         if utility is None:
 *             raise ValueError("Empty utility code file")             # <<<<<<<<<<<<<<
 * 
 *         # Don't forget to add the last utility code
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __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, 213, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":212
 *                 lines.append(rstrip(strip_comments(line)))
 * 
 *         if utility is None:             # <<<<<<<<<<<<<<
 *             raise ValueError("Empty utility code file")
 * 
 */
  }

  /* "Cython/Compiler/Code.py":216
 * 
 *         # Don't forget to add the last utility code
 *         cls._add_utility(utility, type, lines, begin_lineno, tags)             # <<<<<<<<<<<<<<
 * 
 *         utilities = dict(utilities)  # un-defaultdict-ify
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_add_utility); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = NULL;
  __pyx_t_7 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_7 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_v_utility, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_v_utility, __pyx_v_type, __pyx_v_lines, __pyx_v_begin_lineno, __pyx_v_tags};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  {
    __pyx_t_18 = PyTuple_New(5+__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_18);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_INCREF(__pyx_v_utility);
    __Pyx_GIVEREF(__pyx_v_utility);
    PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_7, __pyx_v_utility);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_7, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_lines);
    __Pyx_GIVEREF(__pyx_v_lines);
    PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_7, __pyx_v_lines);
    __Pyx_INCREF(__pyx_v_begin_lineno);
    __Pyx_GIVEREF(__pyx_v_begin_lineno);
    PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_7, __pyx_v_begin_lineno);
    __Pyx_INCREF(__pyx_v_tags);
    __Pyx_GIVEREF(__pyx_v_tags);
    PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_7, __pyx_v_tags);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_18, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __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;

  /* "Cython/Compiler/Code.py":218
 *         cls._add_utility(utility, type, lines, begin_lineno, tags)
 * 
 *         utilities = dict(utilities)  # un-defaultdict-ify             # <<<<<<<<<<<<<<
 *         cls._utility_cache[path] = utilities
 *         return utilities
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_utilities);
  __Pyx_GIVEREF(__pyx_v_utilities);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_utilities);
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF_SET(__pyx_v_utilities, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":219
 * 
 *         utilities = dict(utilities)  # un-defaultdict-ify
 *         cls._utility_cache[path] = utilities             # <<<<<<<<<<<<<<
 *         return utilities
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_utility_cache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __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, 219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":220
 *         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":159
 * 
 *     @classmethod
 *     def load_utilities_from_file(cls, path):             # <<<<<<<<<<<<<<
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_18);
  __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_filename);
  __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_f);
  __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_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_name);
  __Pyx_XDECREF(__pyx_v_mtype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":223
 * 
 *     @classmethod
 *     def load(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load utility code from a file specified by from_file (relative to
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_5load(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_4load[] = "\n        Load utility code from a file specified by from_file (relative to\n        Cython/Utility) and name util_code_name.  If from_file is not given,\n        load it from the file util_code_name.*.  There should be only one\n        file matched by this pattern.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_5load = {"load", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_5load, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_4load};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_5load(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_util_code_name = 0;
  PyObject *__pyx_v_from_file = 0;
  PyObject *__pyx_v_kwargs = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load (wrapper)", 0);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_util_code_name,&__pyx_n_s_from_file,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cls)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_util_code_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("load", 0, 2, 3, 1); __PYX_ERR(0, 223, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_from_file);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "load") < 0)) __PYX_ERR(0, 223, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_cls = values[0];
    __pyx_v_util_code_name = values[1];
    __pyx_v_from_file = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 223, __pyx_L3_error)
  __pyx_L3_error:;
  __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_4load(__pyx_self, __pyx_v_cls, __pyx_v_util_code_name, __pyx_v_from_file, __pyx_v_kwargs);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_4load(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_util_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_utility_dir = NULL;
  PyObject *__pyx_v_prefix = NULL;
  PyObject *__pyx_v_listing = NULL;
  PyObject *__pyx_v_zipfile = NULL;
  PyObject *__pyx_v_loader = NULL;
  PyObject *__pyx_v_archive = NULL;
  PyObject *__pyx_v_fileobj = NULL;
  PyObject *__pyx_v_files = NULL;
  PyObject *__pyx_v_utilities = NULL;
  PyObject *__pyx_v_proto = NULL;
  PyObject *__pyx_v_proto_block = 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_v_filename = NULL;
  PyObject *__pyx_v_dep = 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 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *(*__pyx_t_7)(PyObject *);
  PyObject *__pyx_t_8 = NULL;
  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 = 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;
  Py_ssize_t __pyx_t_21;
  PyObject *(*__pyx_t_22)(PyObject *);
  PyObject *__pyx_t_23 = NULL;
  PyObject *__pyx_t_24 = NULL;
  int __pyx_t_25;
  Py_ssize_t __pyx_t_26;
  int __pyx_t_27;
  __Pyx_RefNannySetupContext("load", 0);
  __Pyx_INCREF(__pyx_v_util_code_name);
  __Pyx_INCREF(__pyx_v_from_file);

  /* "Cython/Compiler/Code.py":230
 *         file matched by this pattern.
 *         """
 *         if '::' in util_code_name:             # <<<<<<<<<<<<<<
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         if not from_file:
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s__19, __pyx_v_util_code_name, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 230, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":231
 *         """
 *         if '::' in util_code_name:
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)             # <<<<<<<<<<<<<<
 *         if not from_file:
 *             utility_dir = get_utility_dir()
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_util_code_name, __pyx_n_s_rsplit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 231, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      #else
      __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
      index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_3);
      index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 231, __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, 231, __pyx_L1_error)
      __pyx_L5_unpacking_done:;
    }
    __Pyx_DECREF_SET(__pyx_v_from_file, __pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_util_code_name, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":230
 *         file matched by this pattern.
 *         """
 *         if '::' in util_code_name:             # <<<<<<<<<<<<<<
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         if not from_file:
 */
  }

  /* "Cython/Compiler/Code.py":232
 *         if '::' in util_code_name:
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         if not from_file:             # <<<<<<<<<<<<<<
 *             utility_dir = get_utility_dir()
 *             prefix = util_code_name + '.'
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_from_file); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 232, __pyx_L1_error)
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":233
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         if not from_file:
 *             utility_dir = get_utility_dir()             # <<<<<<<<<<<<<<
 *             prefix = util_code_name + '.'
 *             try:
 */
    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_get_utility_dir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_utility_dir = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":234
 *         if not from_file:
 *             utility_dir = get_utility_dir()
 *             prefix = util_code_name + '.'             # <<<<<<<<<<<<<<
 *             try:
 *                 listing = os.listdir(utility_dir)
 */
    __pyx_t_4 = PyNumber_Add(__pyx_v_util_code_name, __pyx_kp_s__21); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_prefix = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":235
 *             utility_dir = get_utility_dir()
 *             prefix = util_code_name + '.'
 *             try:             # <<<<<<<<<<<<<<
 *                 listing = os.listdir(utility_dir)
 *             except OSError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      /*try:*/ {

        /* "Cython/Compiler/Code.py":236
 *             prefix = util_code_name + '.'
 *             try:
 *                 listing = os.listdir(utility_dir)             # <<<<<<<<<<<<<<
 *             except OSError:
 *                 # XXX the code below assumes as 'zipimport.zipimporter' instance
 */
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_listdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_3 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_3)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_3);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
          }
        }
        if (!__pyx_t_3) {
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_utility_dir); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_4);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_utility_dir};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L7_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_utility_dir};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L7_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          {
            __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 236, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
            __Pyx_INCREF(__pyx_v_utility_dir);
            __Pyx_GIVEREF(__pyx_v_utility_dir);
            PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_utility_dir);
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_v_listing = __pyx_t_4;
        __pyx_t_4 = 0;

        /* "Cython/Compiler/Code.py":235
 *             utility_dir = get_utility_dir()
 *             prefix = util_code_name + '.'
 *             try:             # <<<<<<<<<<<<<<
 *                 listing = os.listdir(utility_dir)
 *             except OSError:
 */
      }
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      goto __pyx_L14_try_end;
      __pyx_L7_error:;
      __Pyx_PyThreadState_assign
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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;

      /* "Cython/Compiler/Code.py":237
 *             try:
 *                 listing = os.listdir(utility_dir)
 *             except OSError:             # <<<<<<<<<<<<<<
 *                 # XXX the code below assumes as 'zipimport.zipimporter' instance
 *                 # XXX should be easy to generalize, but too lazy right now to write it
 */
      __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_OSError);
      if (__pyx_t_11) {
        __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 237, __pyx_L9_except_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GOTREF(__pyx_t_6);

        /* "Cython/Compiler/Code.py":240
 *                 # XXX the code below assumes as 'zipimport.zipimporter' instance
 *                 # XXX should be easy to generalize, but too lazy right now to write it
 *                 import zipfile             # <<<<<<<<<<<<<<
 *                 global __loader__
 *                 loader = __loader__
 */
        __pyx_t_3 = __Pyx_Import(__pyx_n_s_zipfile, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L9_except_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_v_zipfile = __pyx_t_3;
        __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":242
 *                 import zipfile
 *                 global __loader__
 *                 loader = __loader__             # <<<<<<<<<<<<<<
 *                 archive = loader.archive
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:
 */
        __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_loader); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 242, __pyx_L9_except_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_v_loader = __pyx_t_3;
        __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":243
 *                 global __loader__
 *                 loader = __loader__
 *                 archive = loader.archive             # <<<<<<<<<<<<<<
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:
 *                     listing = [os.path.basename(name)
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_loader, __pyx_n_s_archive); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L9_except_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_v_archive = __pyx_t_3;
        __pyx_t_3 = 0;

        /* "Cython/Compiler/Code.py":244
 *                 loader = __loader__
 *                 archive = loader.archive
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:             # <<<<<<<<<<<<<<
 *                     listing = [os.path.basename(name)
 *                                for name in fileobj.namelist()
 */
        /*with:*/ {
          __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_closing); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 244, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_zipfile, __pyx_n_s_ZipFile); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 244, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_15 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_15)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_15);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          if (!__pyx_t_15) {
            __pyx_t_13 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_archive); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 244, __pyx_L9_except_error)
            __Pyx_GOTREF(__pyx_t_13);
          } else {
            #if CYTHON_FAST_PYCALL
            if (PyFunction_Check(__pyx_t_14)) {
              PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_archive};
              __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
              __Pyx_GOTREF(__pyx_t_13);
            } else
            #endif
            #if CYTHON_FAST_PYCCALL
            if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
              PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_archive};
              __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
              __Pyx_GOTREF(__pyx_t_13);
            } else
            #endif
            {
              __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_GOTREF(__pyx_t_16);
              __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
              __Pyx_INCREF(__pyx_v_archive);
              __Pyx_GIVEREF(__pyx_v_archive);
              PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_v_archive);
              __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_16, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
            }
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_12, function);
            }
          }
          if (!__pyx_t_14) {
            __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L9_except_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_3);
          } else {
            #if CYTHON_FAST_PYCALL
            if (PyFunction_Check(__pyx_t_12)) {
              PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_t_13};
              __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            } else
            #endif
            #if CYTHON_FAST_PYCCALL
            if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) {
              PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_t_13};
              __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            } else
            #endif
            {
              __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_GOTREF(__pyx_t_16);
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL;
              __Pyx_GIVEREF(__pyx_t_13);
              PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_t_13);
              __pyx_t_13 = 0;
              __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L9_except_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
            }
          }
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_17 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 244, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_17);
          __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 244, __pyx_L17_error)
          __Pyx_GOTREF(__pyx_t_16);
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_16);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_16, function);
            }
          }
          if (__pyx_t_13) {
            __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 244, __pyx_L17_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else {
            __pyx_t_12 = __Pyx_PyObject_CallNoArg(__pyx_t_16); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 244, __pyx_L17_error)
          }
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
          __pyx_t_16 = __pyx_t_12;
          __pyx_t_12 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 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_fileobj = __pyx_t_16;
                __pyx_t_16 = 0;

                /* "Cython/Compiler/Code.py":245
 *                 archive = loader.archive
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:
 *                     listing = [os.path.basename(name)             # <<<<<<<<<<<<<<
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 */
                __pyx_t_16 = PyList_New(0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 245, __pyx_L23_error)
                __Pyx_GOTREF(__pyx_t_16);

                /* "Cython/Compiler/Code.py":246
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:
 *                     listing = [os.path.basename(name)
 *                                for name in fileobj.namelist()             # <<<<<<<<<<<<<<
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing
 */
                __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_namelist); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 246, __pyx_L23_error)
                __Pyx_GOTREF(__pyx_t_12);
                __pyx_t_13 = NULL;
                if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
                  __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);
                  if (likely(__pyx_t_13)) {
                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
                    __Pyx_INCREF(__pyx_t_13);
                    __Pyx_INCREF(function);
                    __Pyx_DECREF_SET(__pyx_t_12, function);
                  }
                }
                if (__pyx_t_13) {
                  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L23_error)
                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
                } else {
                  __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L23_error)
                }
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
                if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
                  __pyx_t_12 = __pyx_t_3; __Pyx_INCREF(__pyx_t_12); __pyx_t_21 = 0;
                  __pyx_t_22 = NULL;
                } else {
                  __pyx_t_21 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 246, __pyx_L23_error)
                  __Pyx_GOTREF(__pyx_t_12);
                  __pyx_t_22 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 246, __pyx_L23_error)
                }
                __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
                for (;;) {
                  if (likely(!__pyx_t_22)) {
                    if (likely(PyList_CheckExact(__pyx_t_12))) {
                      if (__pyx_t_21 >= PyList_GET_SIZE(__pyx_t_12)) break;
                      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                      __pyx_t_3 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_21); __Pyx_INCREF(__pyx_t_3); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 246, __pyx_L23_error)
                      #else
                      __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L23_error)
                      __Pyx_GOTREF(__pyx_t_3);
                      #endif
                    } else {
                      if (__pyx_t_21 >= PyTuple_GET_SIZE(__pyx_t_12)) break;
                      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                      __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_21); __Pyx_INCREF(__pyx_t_3); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 246, __pyx_L23_error)
                      #else
                      __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L23_error)
                      __Pyx_GOTREF(__pyx_t_3);
                      #endif
                    }
                  } else {
                    __pyx_t_3 = __pyx_t_22(__pyx_t_12);
                    if (unlikely(!__pyx_t_3)) {
                      PyObject* exc_type = PyErr_Occurred();
                      if (exc_type) {
                        if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                        else __PYX_ERR(0, 246, __pyx_L23_error)
                      }
                      break;
                    }
                    __Pyx_GOTREF(__pyx_t_3);
                  }
                  __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
                  __pyx_t_3 = 0;

                  /* "Cython/Compiler/Code.py":247
 *                     listing = [os.path.basename(name)
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]             # <<<<<<<<<<<<<<
 *             files = [filename for filename in listing
 *                      if filename.startswith(prefix)]
 */
                  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 247, __pyx_L23_error)
                  __Pyx_GOTREF(__pyx_t_14);
                  __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_join); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 247, __pyx_L23_error)
                  __Pyx_GOTREF(__pyx_t_15);
                  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
                  __pyx_t_14 = NULL;
                  __pyx_t_11 = 0;
                  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) {
                    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15);
                    if (likely(__pyx_t_14)) {
                      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15);
                      __Pyx_INCREF(__pyx_t_14);
                      __Pyx_INCREF(function);
                      __Pyx_DECREF_SET(__pyx_t_15, function);
                      __pyx_t_11 = 1;
                    }
                  }
                  #if CYTHON_FAST_PYCALL
                  if (PyFunction_Check(__pyx_t_15)) {
                    PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_archive, __pyx_v_name};
                    __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 247, __pyx_L23_error)
                    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
                    __Pyx_GOTREF(__pyx_t_13);
                  } else
                  #endif
                  #if CYTHON_FAST_PYCCALL
                  if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) {
                    PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_archive, __pyx_v_name};
                    __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 247, __pyx_L23_error)
                    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
                    __Pyx_GOTREF(__pyx_t_13);
                  } else
                  #endif
                  {
                    __pyx_t_23 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 247, __pyx_L23_error)
                    __Pyx_GOTREF(__pyx_t_23);
                    if (__pyx_t_14) {
                      __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_14); __pyx_t_14 = NULL;
                    }
                    __Pyx_INCREF(__pyx_v_archive);
                    __Pyx_GIVEREF(__pyx_v_archive);
                    PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_11, __pyx_v_archive);
                    __Pyx_INCREF(__pyx_v_name);
                    __Pyx_GIVEREF(__pyx_v_name);
                    PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_11, __pyx_v_name);
                    __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_23, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 247, __pyx_L23_error)
                    __Pyx_GOTREF(__pyx_t_13);
                    __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
                  }
                  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
                  __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_startswith); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 247, __pyx_L23_error)
                  __Pyx_GOTREF(__pyx_t_15);
                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
                  __pyx_t_13 = NULL;
                  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) {
                    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_15);
                    if (likely(__pyx_t_13)) {
                      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15);
                      __Pyx_INCREF(__pyx_t_13);
                      __Pyx_INCREF(function);
                      __Pyx_DECREF_SET(__pyx_t_15, function);
                    }
                  }
                  if (!__pyx_t_13) {
                    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_v_utility_dir); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L23_error)
                    __Pyx_GOTREF(__pyx_t_3);
                  } else {
                    #if CYTHON_FAST_PYCALL
                    if (PyFunction_Check(__pyx_t_15)) {
                      PyObject *__pyx_temp[2] = {__pyx_t_13, __pyx_v_utility_dir};
                      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L23_error)
                      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                      __Pyx_GOTREF(__pyx_t_3);
                    } else
                    #endif
                    #if CYTHON_FAST_PYCCALL
                    if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) {
                      PyObject *__pyx_temp[2] = {__pyx_t_13, __pyx_v_utility_dir};
                      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L23_error)
                      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                      __Pyx_GOTREF(__pyx_t_3);
                    } else
                    #endif
                    {
                      __pyx_t_23 = PyTuple_New(1+1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 247, __pyx_L23_error)
                      __Pyx_GOTREF(__pyx_t_23);
                      __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_13); __pyx_t_13 = NULL;
                      __Pyx_INCREF(__pyx_v_utility_dir);
                      __Pyx_GIVEREF(__pyx_v_utility_dir);
                      PyTuple_SET_ITEM(__pyx_t_23, 0+1, __pyx_v_utility_dir);
                      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L23_error)
                      __Pyx_GOTREF(__pyx_t_3);
                      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
                    }
                  }
                  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
                  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 247, __pyx_L23_error)
                  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
                  if (__pyx_t_1) {

                    /* "Cython/Compiler/Code.py":245
 *                 archive = loader.archive
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:
 *                     listing = [os.path.basename(name)             # <<<<<<<<<<<<<<
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 */
                    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 245, __pyx_L23_error)
                    __Pyx_GOTREF(__pyx_t_15);
                    __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_basename); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 245, __pyx_L23_error)
                    __Pyx_GOTREF(__pyx_t_23);
                    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
                    __pyx_t_15 = NULL;
                    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) {
                      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_23);
                      if (likely(__pyx_t_15)) {
                        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23);
                        __Pyx_INCREF(__pyx_t_15);
                        __Pyx_INCREF(function);
                        __Pyx_DECREF_SET(__pyx_t_23, function);
                      }
                    }
                    if (!__pyx_t_15) {
                      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_23, __pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L23_error)
                      __Pyx_GOTREF(__pyx_t_3);
                    } else {
                      #if CYTHON_FAST_PYCALL
                      if (PyFunction_Check(__pyx_t_23)) {
                        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_name};
                        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L23_error)
                        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
                        __Pyx_GOTREF(__pyx_t_3);
                      } else
                      #endif
                      #if CYTHON_FAST_PYCCALL
                      if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) {
                        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_name};
                        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L23_error)
                        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
                        __Pyx_GOTREF(__pyx_t_3);
                      } else
                      #endif
                      {
                        __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 245, __pyx_L23_error)
                        __Pyx_GOTREF(__pyx_t_13);
                        __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_15); __pyx_t_15 = NULL;
                        __Pyx_INCREF(__pyx_v_name);
                        __Pyx_GIVEREF(__pyx_v_name);
                        PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_v_name);
                        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L23_error)
                        __Pyx_GOTREF(__pyx_t_3);
                        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
                      }
                    }
                    __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
                    if (unlikely(__Pyx_ListComp_Append(__pyx_t_16, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 245, __pyx_L23_error)
                    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

                    /* "Cython/Compiler/Code.py":247
 *                     listing = [os.path.basename(name)
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]             # <<<<<<<<<<<<<<
 *             files = [filename for filename in listing
 *                      if filename.startswith(prefix)]
 */
                  }

                  /* "Cython/Compiler/Code.py":246
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:
 *                     listing = [os.path.basename(name)
 *                                for name in fileobj.namelist()             # <<<<<<<<<<<<<<
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing
 */
                }
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_XDECREF_SET(__pyx_v_listing, __pyx_t_16);
                __pyx_t_16 = 0;

                /* "Cython/Compiler/Code.py":244
 *                 loader = __loader__
 *                 archive = loader.archive
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:             # <<<<<<<<<<<<<<
 *                     listing = [os.path.basename(name)
 *                                for name in fileobj.namelist()
 */
              }
              __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_L30_try_end;
              __pyx_L23_error:;
              __Pyx_PyThreadState_assign
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
              __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
              /*except:*/ {
                __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
                if (__Pyx_GetException(&__pyx_t_16, &__pyx_t_12, &__pyx_t_3) < 0) __PYX_ERR(0, 244, __pyx_L25_except_error)
                __Pyx_GOTREF(__pyx_t_16);
                __Pyx_GOTREF(__pyx_t_12);
                __Pyx_GOTREF(__pyx_t_3);
                __pyx_t_23 = PyTuple_Pack(3, __pyx_t_16, __pyx_t_12, __pyx_t_3); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 244, __pyx_L25_except_error)
                __Pyx_GOTREF(__pyx_t_23);
                __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_23, NULL);
                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
                __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
                if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 244, __pyx_L25_except_error)
                __Pyx_GOTREF(__pyx_t_24);
                __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_24);
                __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
                if (__pyx_t_1 < 0) __PYX_ERR(0, 244, __pyx_L25_except_error)
                __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
                if (__pyx_t_2) {
                  __Pyx_GIVEREF(__pyx_t_16);
                  __Pyx_GIVEREF(__pyx_t_12);
                  __Pyx_XGIVEREF(__pyx_t_3);
                  __Pyx_ErrRestoreWithState(__pyx_t_16, __pyx_t_12, __pyx_t_3);
                  __pyx_t_16 = 0; __pyx_t_12 = 0; __pyx_t_3 = 0; 
                  __PYX_ERR(0, 244, __pyx_L25_except_error)
                }
                __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
                __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
                __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
                goto __pyx_L24_exception_handled;
              }
              __pyx_L25_except_error:;
              __Pyx_PyThreadState_assign
              __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_L9_except_error;
              __pyx_L24_exception_handled:;
              __Pyx_PyThreadState_assign
              __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_L30_try_end:;
            }
          }
          /*finally:*/ {
            /*normal exit:*/{
              if (__pyx_t_17) {
                __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_tuple__22, NULL);
                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
                if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 244, __pyx_L9_except_error)
                __Pyx_GOTREF(__pyx_t_20);
                __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
              }
              goto __pyx_L22;
            }
            __pyx_L22:;
          }
          goto __pyx_L37;
          __pyx_L17_error:;
          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
          goto __pyx_L9_except_error;
          __pyx_L37:;
        }
        __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;
        goto __pyx_L8_exception_handled;
      }
      goto __pyx_L9_except_error;
      __pyx_L9_except_error:;

      /* "Cython/Compiler/Code.py":235
 *             utility_dir = get_utility_dir()
 *             prefix = util_code_name + '.'
 *             try:             # <<<<<<<<<<<<<<
 *                 listing = os.listdir(utility_dir)
 *             except OSError:
 */
      __Pyx_PyThreadState_assign
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      goto __pyx_L1_error;
      __pyx_L8_exception_handled:;
      __Pyx_PyThreadState_assign
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      __pyx_L14_try_end:;
    }

    /* "Cython/Compiler/Code.py":248
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing             # <<<<<<<<<<<<<<
 *                      if filename.startswith(prefix)]
 *             if not files:
 */
    __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);

    /* "Cython/Compiler/Code.py":249
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing
 *                      if filename.startswith(prefix)]             # <<<<<<<<<<<<<<
 *             if not files:
 *                 raise ValueError("No match found for utility code " + util_code_name)
 */
    if (unlikely(!__pyx_v_listing)) { __Pyx_RaiseUnboundLocalError("listing"); __PYX_ERR(0, 249, __pyx_L1_error) }

    /* "Cython/Compiler/Code.py":248
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing             # <<<<<<<<<<<<<<
 *                      if filename.startswith(prefix)]
 *             if not files:
 */
    if (likely(PyList_CheckExact(__pyx_v_listing)) || PyTuple_CheckExact(__pyx_v_listing)) {
      __pyx_t_5 = __pyx_v_listing; __Pyx_INCREF(__pyx_t_5); __pyx_t_21 = 0;
      __pyx_t_22 = NULL;
    } else {
      __pyx_t_21 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_listing); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_22 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 248, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_22)) {
        if (likely(PyList_CheckExact(__pyx_t_5))) {
          if (__pyx_t_21 >= PyList_GET_SIZE(__pyx_t_5)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_21); __Pyx_INCREF(__pyx_t_4); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 248, __pyx_L1_error)
          #else
          __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 248, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          #endif
        } else {
          if (__pyx_t_21 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_21); __Pyx_INCREF(__pyx_t_4); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 248, __pyx_L1_error)
          #else
          __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 248, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          #endif
        }
      } else {
        __pyx_t_4 = __pyx_t_22(__pyx_t_5);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 248, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_XDECREF_SET(__pyx_v_filename, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":249
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing
 *                      if filename.startswith(prefix)]             # <<<<<<<<<<<<<<
 *             if not files:
 *                 raise ValueError("No match found for utility code " + util_code_name)
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_12 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_12)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_12);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_12) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_prefix); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_prefix};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_prefix};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else
        #endif
        {
          __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 249, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_16);
          __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_12); __pyx_t_12 = NULL;
          __Pyx_INCREF(__pyx_v_prefix);
          __Pyx_GIVEREF(__pyx_v_prefix);
          PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_v_prefix);
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        }
      }
      __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, 249, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_2) {

        /* "Cython/Compiler/Code.py":248
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing             # <<<<<<<<<<<<<<
 *                      if filename.startswith(prefix)]
 *             if not files:
 */
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_v_filename))) __PYX_ERR(0, 248, __pyx_L1_error)

        /* "Cython/Compiler/Code.py":249
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing
 *                      if filename.startswith(prefix)]             # <<<<<<<<<<<<<<
 *             if not files:
 *                 raise ValueError("No match found for utility code " + util_code_name)
 */
      }

      /* "Cython/Compiler/Code.py":248
 *                                for name in fileobj.namelist()
 *                                if os.path.join(archive, name).startswith(utility_dir)]
 *             files = [filename for filename in listing             # <<<<<<<<<<<<<<
 *                      if filename.startswith(prefix)]
 *             if not files:
 */
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_files = ((PyObject*)__pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":250
 *             files = [filename for filename in listing
 *                      if filename.startswith(prefix)]
 *             if not files:             # <<<<<<<<<<<<<<
 *                 raise ValueError("No match found for utility code " + util_code_name)
 *             if len(files) > 1:
 */
    __pyx_t_2 = (__pyx_v_files != Py_None) && (PyList_GET_SIZE(__pyx_v_files) != 0);
    __pyx_t_1 = ((!__pyx_t_2) != 0);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":251
 *                      if filename.startswith(prefix)]
 *             if not files:
 *                 raise ValueError("No match found for utility code " + util_code_name)             # <<<<<<<<<<<<<<
 *             if len(files) > 1:
 *                 raise ValueError("More than one filename match found for utility code " + util_code_name)
 */
      __pyx_t_6 = PyNumber_Add(__pyx_kp_s_No_match_found_for_utility_code, __pyx_v_util_code_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 251, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 251, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 251, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(0, 251, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":250
 *             files = [filename for filename in listing
 *                      if filename.startswith(prefix)]
 *             if not files:             # <<<<<<<<<<<<<<
 *                 raise ValueError("No match found for utility code " + util_code_name)
 *             if len(files) > 1:
 */
    }

    /* "Cython/Compiler/Code.py":252
 *             if not files:
 *                 raise ValueError("No match found for utility code " + util_code_name)
 *             if len(files) > 1:             # <<<<<<<<<<<<<<
 *                 raise ValueError("More than one filename match found for utility code " + util_code_name)
 *             from_file = files[0]
 */
    __pyx_t_21 = PyList_GET_SIZE(__pyx_v_files); if (unlikely(__pyx_t_21 == -1)) __PYX_ERR(0, 252, __pyx_L1_error)
    __pyx_t_1 = ((__pyx_t_21 > 1) != 0);
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":253
 *                 raise ValueError("No match found for utility code " + util_code_name)
 *             if len(files) > 1:
 *                 raise ValueError("More than one filename match found for utility code " + util_code_name)             # <<<<<<<<<<<<<<
 *             from_file = files[0]
 * 
 */
      __pyx_t_6 = PyNumber_Add(__pyx_kp_s_More_than_one_filename_match_fou, __pyx_v_util_code_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(0, 253, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":252
 *             if not files:
 *                 raise ValueError("No match found for utility code " + util_code_name)
 *             if len(files) > 1:             # <<<<<<<<<<<<<<
 *                 raise ValueError("More than one filename match found for utility code " + util_code_name)
 *             from_file = files[0]
 */
    }

    /* "Cython/Compiler/Code.py":254
 *             if len(files) > 1:
 *                 raise ValueError("More than one filename match found for utility code " + util_code_name)
 *             from_file = files[0]             # <<<<<<<<<<<<<<
 * 
 *         utilities = cls.load_utilities_from_file(from_file)
 */
    __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_files, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF_SET(__pyx_v_from_file, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":232
 *         if '::' in util_code_name:
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)
 *         if not from_file:             # <<<<<<<<<<<<<<
 *             utility_dir = get_utility_dir()
 *             prefix = util_code_name + '.'
 */
  }

  /* "Cython/Compiler/Code.py":256
 *             from_file = files[0]
 * 
 *         utilities = cls.load_utilities_from_file(from_file)             # <<<<<<<<<<<<<<
 *         proto, proto_block, impl, tags = utilities[util_code_name]
 * 
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_load_utilities_from_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_from_file); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_from_file};
      __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 256, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_from_file};
      __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 256, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_v_from_file);
      __Pyx_GIVEREF(__pyx_v_from_file);
      PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_from_file);
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 256, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_utilities = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":257
 * 
 *         utilities = cls.load_utilities_from_file(from_file)
 *         proto, proto_block, impl, tags = utilities[util_code_name]             # <<<<<<<<<<<<<<
 * 
 *         if tags:
 */
  __pyx_t_6 = PyObject_GetItem(__pyx_v_utilities, __pyx_v_util_code_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __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;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 4)) {
      if (size > 4) __Pyx_RaiseTooManyValuesError(4);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 257, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); 
      __pyx_t_16 = PyTuple_GET_ITEM(sequence, 3); 
    } else {
      __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 2); 
      __pyx_t_16 = PyList_GET_ITEM(sequence, 3); 
    }
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_16);
    #else
    {
      Py_ssize_t i;
      PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_3,&__pyx_t_4,&__pyx_t_16};
      for (i=0; i < 4; i++) {
        PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 257, __pyx_L1_error)
        __Pyx_GOTREF(item);
        *(temps[i]) = item;
      }
    }
    #endif
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else {
    Py_ssize_t index = -1;
    PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_3,&__pyx_t_4,&__pyx_t_16};
    __pyx_t_12 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = Py_TYPE(__pyx_t_12)->tp_iternext;
    for (index=0; index < 4; index++) {
      PyObject* item = __pyx_t_7(__pyx_t_12); if (unlikely(!item)) goto __pyx_L43_unpacking_failed;
      __Pyx_GOTREF(item);
      *(temps[index]) = item;
    }
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_12), 4) < 0) __PYX_ERR(0, 257, __pyx_L1_error)
    __pyx_t_7 = NULL;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    goto __pyx_L44_unpacking_done;
    __pyx_L43_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_7 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 257, __pyx_L1_error)
    __pyx_L44_unpacking_done:;
  }
  __pyx_v_proto = __pyx_t_5;
  __pyx_t_5 = 0;
  __pyx_v_proto_block = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_impl = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_v_tags = __pyx_t_16;
  __pyx_t_16 = 0;

  /* "Cython/Compiler/Code.py":259
 *         proto, proto_block, impl, tags = utilities[util_code_name]
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_tags); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 259, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":260
 * 
 *         if tags:
 *             orig_kwargs = kwargs.copy()             # <<<<<<<<<<<<<<
 *             for name, values in tags.items():
 *                 if name in kwargs:
 */
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_orig_kwargs = ((PyObject*)__pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":261
 *         if tags:
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():             # <<<<<<<<<<<<<<
 *                 if name in kwargs:
 *                     continue
 */
    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_tags, __pyx_n_s_items); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_16);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_16, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_16); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
      __pyx_t_16 = __pyx_t_6; __Pyx_INCREF(__pyx_t_16); __pyx_t_21 = 0;
      __pyx_t_22 = NULL;
    } else {
      __pyx_t_21 = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 261, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_22 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 261, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    for (;;) {
      if (likely(!__pyx_t_22)) {
        if (likely(PyList_CheckExact(__pyx_t_16))) {
          if (__pyx_t_21 >= PyList_GET_SIZE(__pyx_t_16)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_21); __Pyx_INCREF(__pyx_t_6); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 261, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_16, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_21 >= PyTuple_GET_SIZE(__pyx_t_16)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_21); __Pyx_INCREF(__pyx_t_6); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 261, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_16, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_22(__pyx_t_16);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 261, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
        PyObject* sequence = __pyx_t_6;
        #if !CYTHON_COMPILING_IN_PYPY
        Py_ssize_t size = Py_SIZE(sequence);
        #else
        Py_ssize_t size = PySequence_Size(sequence);
        #endif
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 261, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        #else
        __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __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_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext;
        index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L48_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_4);
        index = 1; __pyx_t_3 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L48_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_3);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_5), 2) < 0) __PYX_ERR(0, 261, __pyx_L1_error)
        __pyx_t_7 = NULL;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        goto __pyx_L49_unpacking_done;
        __pyx_L48_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_7 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 261, __pyx_L1_error)
        __pyx_L49_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":262
 *             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_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_kwargs, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 262, __pyx_L1_error)
      __pyx_t_2 = (__pyx_t_1 != 0);
      if (__pyx_t_2) {

        /* "Cython/Compiler/Code.py":263
 *             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_L46_continue;

        /* "Cython/Compiler/Code.py":262
 *             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":265
 *                     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_2 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_requires, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 265, __pyx_L1_error)
      if (__pyx_t_2) {

        /* "Cython/Compiler/Code.py":266
 *                 # 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_2 = __Pyx_PyObject_IsTrue(__pyx_v_orig_kwargs); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 266, __pyx_L1_error)
        if (__pyx_t_2) {

          /* "Cython/Compiler/Code.py":267
 *                 if name == 'requires':
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)             # <<<<<<<<<<<<<<
 *                                   for dep in sorted(values)]
 *                     else:
 */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 267, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);

          /* "Cython/Compiler/Code.py":268
 *                     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, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_3 = ((PyObject*)__pyx_t_4);
          __pyx_t_4 = 0;
          __pyx_t_25 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_25 == -1)) __PYX_ERR(0, 268, __pyx_L1_error)
          if (unlikely(__pyx_t_3 == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
            __PYX_ERR(0, 268, __pyx_L1_error)
          }
          __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_26 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (__pyx_t_26 >= PyList_GET_SIZE(__pyx_t_4)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_26); __Pyx_INCREF(__pyx_t_3); __pyx_t_26++; if (unlikely(0 < 0)) __PYX_ERR(0, 268, __pyx_L1_error)
            #else
            __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_26); __pyx_t_26++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            #endif
            __Pyx_XDECREF_SET(__pyx_v_dep, __pyx_t_3);
            __pyx_t_3 = 0;

            /* "Cython/Compiler/Code.py":267
 *                 if name == 'requires':
 *                     if orig_kwargs:
 *                         values = [cls.load(dep, from_file, **orig_kwargs)             # <<<<<<<<<<<<<<
 *                                   for dep in sorted(values)]
 *                     else:
 */
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_load); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 267, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_INCREF(__pyx_v_dep);
            __Pyx_GIVEREF(__pyx_v_dep);
            PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_dep);
            __Pyx_INCREF(__pyx_v_from_file);
            __Pyx_GIVEREF(__pyx_v_from_file);
            PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_from_file);
            if (unlikely(__pyx_v_orig_kwargs == Py_None)) {
              PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
              __PYX_ERR(0, 267, __pyx_L1_error)
            }
            __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_v_orig_kwargs); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 267, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_12);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 267, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

            /* "Cython/Compiler/Code.py":268
 *                     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_4); __pyx_t_4 = 0;
          __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_6);
          __pyx_t_6 = 0;

          /* "Cython/Compiler/Code.py":266
 *                 # 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_L52;
        }

        /* "Cython/Compiler/Code.py":271
 *                     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 not values:
 */
        /*else*/ {
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 271, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);

          /* "Cython/Compiler/Code.py":272
 *                         # dependencies are rarely unique, so use load_cached() when we can
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]             # <<<<<<<<<<<<<<
 *                 elif not values:
 *                     values = None
 */
          __pyx_t_12 = PySequence_List(__pyx_v_values); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 272, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_4 = ((PyObject*)__pyx_t_12);
          __pyx_t_12 = 0;
          __pyx_t_25 = PyList_Sort(__pyx_t_4); if (unlikely(__pyx_t_25 == -1)) __PYX_ERR(0, 272, __pyx_L1_error)
          if (unlikely(__pyx_t_4 == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
            __PYX_ERR(0, 272, __pyx_L1_error)
          }
          __pyx_t_12 = __pyx_t_4; __Pyx_INCREF(__pyx_t_12); __pyx_t_26 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (__pyx_t_26 >= PyList_GET_SIZE(__pyx_t_12)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_4 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_26); __Pyx_INCREF(__pyx_t_4); __pyx_t_26++; if (unlikely(0 < 0)) __PYX_ERR(0, 272, __pyx_L1_error)
            #else
            __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_26); __pyx_t_26++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 272, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            #endif
            __Pyx_XDECREF_SET(__pyx_v_dep, __pyx_t_4);
            __pyx_t_4 = 0;

            /* "Cython/Compiler/Code.py":271
 *                     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 not values:
 */
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 271, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = NULL;
            __pyx_t_11 = 0;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
                __pyx_t_11 = 1;
              }
            }
            #if CYTHON_FAST_PYCALL
            if (PyFunction_Check(__pyx_t_5)) {
              PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_dep, __pyx_v_from_file};
              __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L1_error)
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_GOTREF(__pyx_t_4);
            } else
            #endif
            #if CYTHON_FAST_PYCCALL
            if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
              PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_dep, __pyx_v_from_file};
              __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L1_error)
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_GOTREF(__pyx_t_4);
            } else
            #endif
            {
              __pyx_t_23 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 271, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_23);
              if (__pyx_t_3) {
                __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_3); __pyx_t_3 = NULL;
              }
              __Pyx_INCREF(__pyx_v_dep);
              __Pyx_GIVEREF(__pyx_v_dep);
              PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_11, __pyx_v_dep);
              __Pyx_INCREF(__pyx_v_from_file);
              __Pyx_GIVEREF(__pyx_v_from_file);
              PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_11, __pyx_v_from_file);
              __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_23, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 271, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

            /* "Cython/Compiler/Code.py":272
 *                         # dependencies are rarely unique, so use load_cached() when we can
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]             # <<<<<<<<<<<<<<
 *                 elif not values:
 *                     values = None
 */
          }
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_6);
          __pyx_t_6 = 0;
        }
        __pyx_L52:;

        /* "Cython/Compiler/Code.py":265
 *                     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_L51;
      }

      /* "Cython/Compiler/Code.py":273
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]
 *                 elif not values:             # <<<<<<<<<<<<<<
 *                     values = None
 *                 elif len(values) == 1:
 */
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_values); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 273, __pyx_L1_error)
      __pyx_t_1 = ((!__pyx_t_2) != 0);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":274
 *                                   for dep in sorted(values)]
 *                 elif not values:
 *                     values = None             # <<<<<<<<<<<<<<
 *                 elif len(values) == 1:
 *                     values = values[0]
 */
        __Pyx_INCREF(Py_None);
        __Pyx_DECREF_SET(__pyx_v_values, Py_None);

        /* "Cython/Compiler/Code.py":273
 *                         values = [cls.load_cached(dep, from_file)
 *                                   for dep in sorted(values)]
 *                 elif not values:             # <<<<<<<<<<<<<<
 *                     values = None
 *                 elif len(values) == 1:
 */
        goto __pyx_L51;
      }

      /* "Cython/Compiler/Code.py":275
 *                 elif not values:
 *                     values = None
 *                 elif len(values) == 1:             # <<<<<<<<<<<<<<
 *                     values = values[0]
 *                 kwargs[name] = values
 */
      __pyx_t_26 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_26 == -1)) __PYX_ERR(0, 275, __pyx_L1_error)
      __pyx_t_1 = ((__pyx_t_26 == 1) != 0);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":276
 *                     values = None
 *                 elif len(values) == 1:
 *                     values = values[0]             # <<<<<<<<<<<<<<
 *                 kwargs[name] = values
 * 
 */
        __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_values, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 276, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_6);
        __pyx_t_6 = 0;

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

      /* "Cython/Compiler/Code.py":277
 *                 elif len(values) == 1:
 *                     values = 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, 277, __pyx_L1_error)

      /* "Cython/Compiler/Code.py":261
 *         if tags:
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():             # <<<<<<<<<<<<<<
 *                 if name in kwargs:
 *                     continue
 */
      __pyx_L46_continue:;
    }
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "Cython/Compiler/Code.py":259
 *         proto, proto_block, impl, tags = utilities[util_code_name]
 * 
 *         if tags:             # <<<<<<<<<<<<<<
 *             orig_kwargs = kwargs.copy()
 *             for name, values in tags.items():
 */
  }

  /* "Cython/Compiler/Code.py":279
 *                 kwargs[name] = values
 * 
 *         if proto is not None:             # <<<<<<<<<<<<<<
 *             kwargs['proto'] = proto
 *         if proto_block is not None:
 */
  __pyx_t_1 = (__pyx_v_proto != Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":280
 * 
 *         if proto is not None:
 *             kwargs['proto'] = proto             # <<<<<<<<<<<<<<
 *         if proto_block is not None:
 *             kwargs['proto_block'] = proto_block
 */
    if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_proto, __pyx_v_proto) < 0)) __PYX_ERR(0, 280, __pyx_L1_error)

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

  /* "Cython/Compiler/Code.py":281
 *         if proto is not None:
 *             kwargs['proto'] = proto
 *         if proto_block is not None:             # <<<<<<<<<<<<<<
 *             kwargs['proto_block'] = proto_block
 *         if impl is not None:
 */
  __pyx_t_2 = (__pyx_v_proto_block != Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":282
 *             kwargs['proto'] = proto
 *         if proto_block is not None:
 *             kwargs['proto_block'] = proto_block             # <<<<<<<<<<<<<<
 *         if impl is not None:
 *             kwargs['impl'] = impl
 */
    if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_proto_block, __pyx_v_proto_block) < 0)) __PYX_ERR(0, 282, __pyx_L1_error)

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

  /* "Cython/Compiler/Code.py":283
 *         if proto_block is not None:
 *             kwargs['proto_block'] = proto_block
 *         if impl is not None:             # <<<<<<<<<<<<<<
 *             kwargs['impl'] = impl
 * 
 */
  __pyx_t_1 = (__pyx_v_impl != Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":284
 *             kwargs['proto_block'] = proto_block
 *         if impl is not None:
 *             kwargs['impl'] = impl             # <<<<<<<<<<<<<<
 * 
 *         if 'name' not in kwargs:
 */
    if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_impl, __pyx_v_impl) < 0)) __PYX_ERR(0, 284, __pyx_L1_error)

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

  /* "Cython/Compiler/Code.py":286
 *             kwargs['impl'] = impl
 * 
 *         if 'name' not in kwargs:             # <<<<<<<<<<<<<<
 *             kwargs['name'] = util_code_name
 * 
 */
  __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_name, __pyx_v_kwargs, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 286, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":287
 * 
 *         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_n_s_name, __pyx_v_util_code_name) < 0)) __PYX_ERR(0, 287, __pyx_L1_error)

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

  /* "Cython/Compiler/Code.py":289
 *             kwargs['name'] = util_code_name
 * 
 *         if 'file' not in kwargs and from_file:             # <<<<<<<<<<<<<<
 *             kwargs['file'] = from_file
 *         return cls(**kwargs)
 */
  __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_file_2, __pyx_v_kwargs, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 289, __pyx_L1_error)
  __pyx_t_27 = (__pyx_t_2 != 0);
  if (__pyx_t_27) {
  } else {
    __pyx_t_1 = __pyx_t_27;
    goto __pyx_L62_bool_binop_done;
  }
  __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_v_from_file); if (unlikely(__pyx_t_27 < 0)) __PYX_ERR(0, 289, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_27;
  __pyx_L62_bool_binop_done:;
  if (__pyx_t_1) {

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

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

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

  /* "Cython/Compiler/Code.py":223
 * 
 *     @classmethod
 *     def load(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load utility code from a file specified by from_file (relative to
 */

  /* function exit code */
  __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_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_23);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_utility_dir);
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XDECREF(__pyx_v_listing);
  __Pyx_XDECREF(__pyx_v_zipfile);
  __Pyx_XDECREF(__pyx_v_loader);
  __Pyx_XDECREF(__pyx_v_archive);
  __Pyx_XDECREF(__pyx_v_fileobj);
  __Pyx_XDECREF(__pyx_v_files);
  __Pyx_XDECREF(__pyx_v_utilities);
  __Pyx_XDECREF(__pyx_v_proto);
  __Pyx_XDECREF(__pyx_v_proto_block);
  __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_v_filename);
  __Pyx_XDECREF(__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":294
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, __cache={}):             # <<<<<<<<<<<<<<
 *         """
 *         Calls .load(), but using a per-type cache based on utility name and file name.
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_6__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__defaults__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(((PyObject *)Py_None));
  __Pyx_GIVEREF(((PyObject *)Py_None));
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_None));
  __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg___cache);
  __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg___cache);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg___cache);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
  __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_15UtilityCodeBase_7load_cached(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_6load_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_7load_cached = {"load_cached", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_7load_cached, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_6load_cached};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_7load_cached(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_utility_code_name = 0;
  PyObject *__pyx_v_from_file = 0;
  PyObject *__pyx_v___cache = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_cached (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_utility_code_name,&__pyx_n_s_from_file,&__pyx_n_s_cache,0};
    PyObject* values[4] = {0,0,0,0};
    __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self);
    values[2] = ((PyObject *)((PyObject *)Py_None));
    values[3] = __pyx_dynamic_args->__pyx_arg___cache;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cls)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_utility_code_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 4, 1); __PYX_ERR(0, 294, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_from_file);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cache);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load_cached") < 0)) __PYX_ERR(0, 294, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_cls = values[0];
    __pyx_v_utility_code_name = values[1];
    __pyx_v_from_file = values[2];
    __pyx_v___cache = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 294, __pyx_L3_error)
  __pyx_L3_error:;
  __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_6load_cached(__pyx_self, __pyx_v_cls, __pyx_v_utility_code_name, __pyx_v_from_file, __pyx_v___cache);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_6load_cached(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_utility_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v___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;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("load_cached", 0);

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

  /* "Cython/Compiler/Code.py":299
 *         """
 *         key = (cls, from_file, utility_code_name)
 *         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":300
 *         key = (cls, from_file, utility_code_name)
 *         try:
 *             return __cache[key]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             pass
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = PyObject_GetItem(__pyx_v___cache, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __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":299
 *         """
 *         key = (cls, from_file, utility_code_name)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
 */
    }
    __pyx_L3_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

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

    /* "Cython/Compiler/Code.py":299
 *         """
 *         key = (cls, from_file, utility_code_name)
 *         try:             # <<<<<<<<<<<<<<
 *             return __cache[key]
 *         except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_PyThreadState_assign
    __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":303
 *         except KeyError:
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file)             # <<<<<<<<<<<<<<
 *         return code
 * 
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_load); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_6)) {
    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_utility_code_name, __pyx_v_from_file};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_utility_code_name, __pyx_v_from_file};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_8 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__pyx_t_7) {
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
    }
    __Pyx_INCREF(__pyx_v_utility_code_name);
    __Pyx_GIVEREF(__pyx_v_utility_code_name);
    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_utility_code_name);
    __Pyx_INCREF(__pyx_v_from_file);
    __Pyx_GIVEREF(__pyx_v_from_file);
    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_v_from_file);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_code = __pyx_t_1;
  if (unlikely(PyObject_SetItem(__pyx_v___cache, __pyx_v_key, __pyx_t_1) < 0)) __PYX_ERR(0, 303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":304
 *             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":294
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, __cache={}):             # <<<<<<<<<<<<<<
 *         """
 *         Calls .load(), but using a per-type cache based on utility name and file name.
 */

  /* 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_8);
  __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":307
 * 
 *     @classmethod
 *     def load_as_string(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load a utility code as a string. Returns (proto, implementation)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_as_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_as_string[] = "\n        Load a utility code as a string. Returns (proto, implementation)\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_as_string = {"load_as_string", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_as_string, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_as_string};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_as_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_cls = 0;
  PyObject *__pyx_v_util_code_name = 0;
  PyObject *__pyx_v_from_file = 0;
  PyObject *__pyx_v_kwargs = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_as_string (wrapper)", 0);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_util_code_name,&__pyx_n_s_from_file,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cls)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_util_code_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("load_as_string", 0, 2, 3, 1); __PYX_ERR(0, 307, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_from_file);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "load_as_string") < 0)) __PYX_ERR(0, 307, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_cls = values[0];
    __pyx_v_util_code_name = values[1];
    __pyx_v_from_file = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load_as_string", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 307, __pyx_L3_error)
  __pyx_L3_error:;
  __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_8load_as_string(__pyx_self, __pyx_v_cls, __pyx_v_util_code_name, __pyx_v_from_file, __pyx_v_kwargs);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_8load_as_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_util_code_name, PyObject *__pyx_v_from_file, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_util = NULL;
  PyObject *__pyx_v_proto = NULL;
  PyObject *__pyx_v_impl = 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;
  __Pyx_RefNannySetupContext("load_as_string", 0);

  /* "Cython/Compiler/Code.py":311
 *         Load a utility code as a string. Returns (proto, implementation)
 *         """
 *         util = cls.load(util_code_name, from_file, **kwargs)             # <<<<<<<<<<<<<<
 *         proto, impl = util.proto, util.impl
 *         return util.format_code(proto), util.format_code(impl)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_util_code_name);
  __Pyx_GIVEREF(__pyx_v_util_code_name);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_util_code_name);
  __Pyx_INCREF(__pyx_v_from_file);
  __Pyx_GIVEREF(__pyx_v_from_file);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_from_file);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 311, __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_v_util = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":312
 *         """
 *         util = cls.load(util_code_name, from_file, **kwargs)
 *         proto, impl = util.proto, util.impl             # <<<<<<<<<<<<<<
 *         return util.format_code(proto), util.format_code(impl)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_n_s_proto); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_n_s_impl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_proto = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_impl = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":313
 *         util = cls.load(util_code_name, from_file, **kwargs)
 *         proto, impl = util.proto, util.impl
 *         return util.format_code(proto), util.format_code(impl)             # <<<<<<<<<<<<<<
 * 
 *     def format_code(self, code_string, replace_empty_lines=re.compile(r'\n\n+').sub):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_n_s_format_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_proto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_proto};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_proto};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_v_proto);
      __Pyx_GIVEREF(__pyx_v_proto);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_proto);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_n_s_format_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_impl); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_impl};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_impl};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_v_impl);
      __Pyx_GIVEREF(__pyx_v_impl);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_impl);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 313, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":307
 * 
 *     @classmethod
 *     def load_as_string(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load a utility code as a string. Returns (proto, implementation)
 */

  /* 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.load_as_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_util);
  __Pyx_XDECREF(__pyx_v_proto);
  __Pyx_XDECREF(__pyx_v_impl);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_8__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__defaults__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_replace_empty_lines);
  __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_replace_empty_lines);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_replace_empty_lines);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
  __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_15UtilityCodeBase_11format_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_10format_code[] = "\n        Format a code section for output.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_11format_code = {"format_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_11format_code, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_15UtilityCodeBase_10format_code};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_11format_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code_string = 0;
  PyObject *__pyx_v_replace_empty_lines = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("format_code (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_code_string,&__pyx_n_s_replace_empty_lines,0};
    PyObject* values[3] = {0,0,0};
    __pyx_defaults1 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self);
    values[2] = __pyx_dynamic_args->__pyx_arg_replace_empty_lines;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code_string)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("format_code", 0, 2, 3, 1); __PYX_ERR(0, 315, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_replace_empty_lines);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "format_code") < 0)) __PYX_ERR(0, 315, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_code_string = values[1];
    __pyx_v_replace_empty_lines = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("format_code", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 315, __pyx_L3_error)
  __pyx_L3_error:;
  __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_10format_code(__pyx_self, __pyx_v_self, __pyx_v_code_string, __pyx_v_replace_empty_lines);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_10format_code(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_code_string, PyObject *__pyx_v_replace_empty_lines) {
  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;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("format_code", 0);
  __Pyx_INCREF(__pyx_v_code_string);

  /* "Cython/Compiler/Code.py":319
 *         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_1 = __Pyx_PyObject_IsTrue(__pyx_v_code_string); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 319, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":320
 *         """
 *         if code_string:
 *             code_string = replace_empty_lines('\n', code_string.strip()) + '\n\n'             # <<<<<<<<<<<<<<
 *         return code_string
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_code_string, __pyx_n_s_strip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_v_replace_empty_lines);
    __pyx_t_4 = __pyx_v_replace_empty_lines; __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 320, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_5) {
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
      }
      __Pyx_INCREF(__pyx_kp_s_);
      __Pyx_GIVEREF(__pyx_kp_s_);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_);
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__23); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_code_string, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":319
 *         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":321
 *         if code_string:
 *             code_string = replace_empty_lines('\n', code_string.strip()) + '\n\n'
 *         return code_string             # <<<<<<<<<<<<<<
 * 
 *     def __str__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_code_string);
  __pyx_r = __pyx_v_code_string;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":315
 *         return util.format_code(proto), util.format_code(impl)
 * 
 *     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_2);
  __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.UtilityCodeBase.format_code", __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":323
 *         return code_string
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_13__str__ = {"__str__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13__str__, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_13__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_12__str__(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_12__str__(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;
  __Pyx_RefNannySetupContext("__str__", 0);

  /* "Cython/Compiler/Code.py":324
 * 
 *     def __str__(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(__pyx_v_self)), __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __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":323
 *         return code_string
 * 
 *     def __str__(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.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15get_tree(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_15get_tree = {"get_tree", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15get_tree, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15UtilityCodeBase_15get_tree(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_tree (wrapper)", 0);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "get_tree") < 0)) __PYX_ERR(0, 326, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_tree", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 326, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCodeBase.get_tree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15UtilityCodeBase_14get_tree(__pyx_self, __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_14get_tree(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_tree", 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":349
 *     """
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None, requires=None,             # <<<<<<<<<<<<<<
 *                  proto_block='utility_code_proto', name=None, file=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_proto = 0;
  PyObject *__pyx_v_impl = 0;
  PyObject *__pyx_v_init = 0;
  PyObject *__pyx_v_cleanup = 0;
  PyObject *__pyx_v_requires = 0;
  PyObject *__pyx_v_proto_block = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_file = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_proto,&__pyx_n_s_impl,&__pyx_n_s_init,&__pyx_n_s_cleanup,&__pyx_n_s_requires,&__pyx_n_s_proto_block,&__pyx_n_s_name,&__pyx_n_s_file_2,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    values[2] = ((PyObject *)((PyObject *)Py_None));
    values[3] = ((PyObject *)((PyObject *)Py_None));
    values[4] = ((PyObject *)((PyObject *)Py_None));
    values[5] = ((PyObject *)((PyObject *)Py_None));
    values[6] = ((PyObject *)((PyObject*)__pyx_n_s_utility_code_proto));

    /* "Cython/Compiler/Code.py":350
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None, requires=None,
 *                  proto_block='utility_code_proto', name=None, file=None):             # <<<<<<<<<<<<<<
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 *         self.proto = proto
 */
    values[7] = ((PyObject *)((PyObject *)Py_None));
    values[8] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_proto);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_impl);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_init);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cleanup);
          if (value) { values[4] = value; kw_args--; }
        }
        case  5:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requires);
          if (value) { values[5] = value; kw_args--; }
        }
        case  6:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_proto_block);
          if (value) { values[6] = value; kw_args--; }
        }
        case  7:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name);
          if (value) { values[7] = value; kw_args--; }
        }
        case  8:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_file_2);
          if (value) { values[8] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 349, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_proto = values[1];
    __pyx_v_impl = values[2];
    __pyx_v_init = values[3];
    __pyx_v_cleanup = values[4];
    __pyx_v_requires = values[5];
    __pyx_v_proto_block = values[6];
    __pyx_v_name = values[7];
    __pyx_v_file = values[8];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 349, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode___init__(__pyx_self, __pyx_v_self, __pyx_v_proto, __pyx_v_impl, __pyx_v_init, __pyx_v_cleanup, __pyx_v_requires, __pyx_v_proto_block, __pyx_v_name, __pyx_v_file);

  /* "Cython/Compiler/Code.py":349
 *     """
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None, requires=None,             # <<<<<<<<<<<<<<
 *                  proto_block='utility_code_proto', name=None, file=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 */

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_proto, PyObject *__pyx_v_impl, PyObject *__pyx_v_init, PyObject *__pyx_v_cleanup, PyObject *__pyx_v_requires, PyObject *__pyx_v_proto_block, PyObject *__pyx_v_name, PyObject *__pyx_v_file) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":352
 *                  proto_block='utility_code_proto', name=None, file=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 *         self.proto = proto             # <<<<<<<<<<<<<<
 *         self.impl = impl
 *         self.init = init
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_proto, __pyx_v_proto) < 0) __PYX_ERR(0, 352, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":353
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 *         self.proto = proto
 *         self.impl = impl             # <<<<<<<<<<<<<<
 *         self.init = init
 *         self.cleanup = cleanup
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_impl, __pyx_v_impl) < 0) __PYX_ERR(0, 353, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":354
 *         self.proto = proto
 *         self.impl = impl
 *         self.init = init             # <<<<<<<<<<<<<<
 *         self.cleanup = cleanup
 *         self.requires = requires
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_init, __pyx_v_init) < 0) __PYX_ERR(0, 354, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":355
 *         self.impl = impl
 *         self.init = init
 *         self.cleanup = cleanup             # <<<<<<<<<<<<<<
 *         self.requires = requires
 *         self._cache = {}
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cleanup, __pyx_v_cleanup) < 0) __PYX_ERR(0, 355, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":356
 *         self.init = init
 *         self.cleanup = cleanup
 *         self.requires = requires             # <<<<<<<<<<<<<<
 *         self._cache = {}
 *         self.specialize_list = []
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_requires, __pyx_v_requires) < 0) __PYX_ERR(0, 356, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":357
 *         self.cleanup = cleanup
 *         self.requires = requires
 *         self._cache = {}             # <<<<<<<<<<<<<<
 *         self.specialize_list = []
 *         self.proto_block = proto_block
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cache_2, __pyx_t_1) < 0) __PYX_ERR(0, 357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":358
 *         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, 358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_specialize_list, __pyx_t_1) < 0) __PYX_ERR(0, 358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":359
 *         self._cache = {}
 *         self.specialize_list = []
 *         self.proto_block = proto_block             # <<<<<<<<<<<<<<
 *         self.name = name
 *         self.file = file
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_proto_block, __pyx_v_proto_block) < 0) __PYX_ERR(0, 359, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":360
 *         self.specialize_list = []
 *         self.proto_block = proto_block
 *         self.name = name             # <<<<<<<<<<<<<<
 *         self.file = file
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_name, __pyx_v_name) < 0) __PYX_ERR(0, 360, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":361
 *         self.proto_block = proto_block
 *         self.name = name
 *         self.file = file             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_file_2, __pyx_v_file) < 0) __PYX_ERR(0, 361, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":349
 *     """
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None, requires=None,             # <<<<<<<<<<<<<<
 *                  proto_block='utility_code_proto', name=None, file=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 */

  /* 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.UtilityCode.__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":363
 *         self.file = file
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash((self.proto, self.impl))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_3__hash__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_3__hash__ = {"__hash__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_3__hash__, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_3__hash__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_2__hash__(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_2__hash__(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;
  Py_hash_t __pyx_t_4;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "Cython/Compiler/Code.py":364
 * 
 *     def __hash__(self):
 *         return hash((self.proto, self.impl))             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_proto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_impl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_4 = PyObject_Hash(__pyx_t_3); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyInt_FromHash_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":363
 *         self.file = file
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash((self.proto, self.impl))
 * 
 */

  /* 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.UtilityCode.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_5__eq__ = {"__eq__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5__eq__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_5__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_other = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, 1); __PYX_ERR(0, 366, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__eq__") < 0)) __PYX_ERR(0, 366, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_other = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 366, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4__eq__(__pyx_self, __pyx_v_self, __pyx_v_other);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_4__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyTypeObject *__pyx_v_self_type = NULL;
  PyTypeObject *__pyx_v_other_type = NULL;
  PyObject *__pyx_v_self_proto = NULL;
  PyObject *__pyx_v_other_proto = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("__eq__", 0);

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

    /* "Cython/Compiler/Code.py":368
 *     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":367
 * 
 *     def __eq__(self, other):
 *         if self is other:             # <<<<<<<<<<<<<<
 *             return True
 *         self_type, other_type = type(self), type(other)
 */
  }

  /* "Cython/Compiler/Code.py":369
 *         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(__pyx_v_self)));
  __pyx_v_self_type = ((PyTypeObject*)((PyObject *)Py_TYPE(__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":370
 *             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_1 = (__pyx_v_self_type != __pyx_v_other_type);
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_v_self_type); 
  __pyx_t_4 = (__pyx_t_1 != 0);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_3 = __pyx_t_4;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_self, __pyx_v_other_type); 
  __pyx_t_1 = (__pyx_t_4 != 0);
  __pyx_t_3 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = ((!__pyx_t_3) != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":371
 *         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             # <<<<<<<<<<<<<<
 * 
 *         self_proto = getattr(self, 'proto', None)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":370
 *             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":373
 *             return False
 * 
 *         self_proto = getattr(self, 'proto', None)             # <<<<<<<<<<<<<<
 *         other_proto = getattr(other, 'proto', None)
 *         return (self_proto, self.impl) == (other_proto, other.impl)
 */
  __pyx_t_5 = __Pyx_GetAttr3(__pyx_v_self, __pyx_n_s_proto, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_self_proto = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":374
 * 
 *         self_proto = getattr(self, 'proto', None)
 *         other_proto = getattr(other, 'proto', None)             # <<<<<<<<<<<<<<
 *         return (self_proto, self.impl) == (other_proto, other.impl)
 * 
 */
  __pyx_t_5 = __Pyx_GetAttr3(__pyx_v_other, __pyx_n_s_proto, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_other_proto = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":375
 *         self_proto = getattr(self, 'proto', None)
 *         other_proto = getattr(other, 'proto', None)
 *         return (self_proto, self.impl) == (other_proto, other.impl)             # <<<<<<<<<<<<<<
 * 
 *     def none_or_sub(self, s, context):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_impl); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_INCREF(__pyx_v_self_proto);
  __Pyx_GIVEREF(__pyx_v_self_proto);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_self_proto);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_impl); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_v_other_proto);
  __Pyx_GIVEREF(__pyx_v_other_proto);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_other_proto);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 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":366
 *         return hash((self.proto, self.impl))
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if self is other:
 *             return True
 */

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

/* "Cython/Compiler/Code.py":377
 *         return (self_proto, self.impl) == (other_proto, other.impl)
 * 
 *     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_11UtilityCode_7none_or_sub(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_6none_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_7none_or_sub = {"none_or_sub", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7none_or_sub, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_6none_or_sub};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_7none_or_sub(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("none_or_sub (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_s_4,&__pyx_n_s_context,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_s_4)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, 1); __PYX_ERR(0, 377, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, 2); __PYX_ERR(0, 377, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "none_or_sub") < 0)) __PYX_ERR(0, 377, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_s = values[1];
    __pyx_v_context = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 377, __pyx_L3_error)
  __pyx_L3_error:;
  __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_6none_or_sub(__pyx_self, __pyx_v_self, __pyx_v_s, __pyx_v_context);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_6none_or_sub(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("none_or_sub", 0);

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

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

    /* "Cython/Compiler/Code.py":381
 *         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":383
 *         if s is None:
 *             return None
 *         return s % context             # <<<<<<<<<<<<<<
 * 
 *     def specialize(self, pyrex_type=None, **data):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyNumber_Remainder(__pyx_v_s, __pyx_v_context); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":377
 *         return (self_proto, self.impl) == (other_proto, other.impl)
 * 
 *     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_3);
  __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":385
 *         return s % context
 * 
 *     def specialize(self, pyrex_type=None, **data):             # <<<<<<<<<<<<<<
 *         # Dicts aren't hashable...
 *         if pyrex_type is not None:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9specialize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_9specialize = {"specialize", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9specialize, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_9specialize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pyrex_type = 0;
  PyObject *__pyx_v_data = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("specialize (wrapper)", 0);
  __pyx_v_data = PyDict_New(); if (unlikely(!__pyx_v_data)) return NULL;
  __Pyx_GOTREF(__pyx_v_data);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pyrex_type,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pyrex_type);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_data, values, pos_args, "specialize") < 0)) __PYX_ERR(0, 385, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_pyrex_type = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("specialize", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 385, __pyx_L3_error)
  __pyx_L3_error:;
  __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_8specialize(__pyx_self, __pyx_v_self, __pyx_v_pyrex_type, __pyx_v_data);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_8specialize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pyrex_type, PyObject *__pyx_v_data) {
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_requires = NULL;
  PyObject *__pyx_v_s = NULL;
  PyObject *__pyx_v_r = 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 = NULL;
  int __pyx_t_6;
  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;
  PyObject *__pyx_t_13 = NULL;
  Py_ssize_t __pyx_t_14;
  PyObject *(*__pyx_t_15)(PyObject *);
  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;
  __Pyx_RefNannySetupContext("specialize", 0);

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

    /* "Cython/Compiler/Code.py":388
 *         # Dicts aren't hashable...
 *         if pyrex_type is not None:
 *             data['type'] = pyrex_type.empty_declaration_code()             # <<<<<<<<<<<<<<
 *             data['type_name'] = pyrex_type.specialization_name()
 *         key = tuple(sorted(data.items()))
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyrex_type, __pyx_n_s_empty_declaration_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 388, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 388, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(PyDict_SetItem(__pyx_v_data, __pyx_n_s_type, __pyx_t_3) < 0)) __PYX_ERR(0, 388, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":389
 *         if pyrex_type is not None:
 *             data['type'] = pyrex_type.empty_declaration_code()
 *             data['type_name'] = pyrex_type.specialization_name()             # <<<<<<<<<<<<<<
 *         key = tuple(sorted(data.items()))
 *         try:
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyrex_type, __pyx_n_s_specialization_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 389, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 389, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(PyDict_SetItem(__pyx_v_data, __pyx_n_s_type_name, __pyx_t_3) < 0)) __PYX_ERR(0, 389, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

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

  /* "Cython/Compiler/Code.py":390
 *             data['type'] = pyrex_type.empty_declaration_code()
 *             data['type_name'] = pyrex_type.specialization_name()
 *         key = tuple(sorted(data.items()))             # <<<<<<<<<<<<<<
 *         try:
 *             return self._cache[key]
 */
  __pyx_t_4 = __Pyx_PyDict_Items(__pyx_v_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_t_6 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 390, __pyx_L1_error)
  if (unlikely(__pyx_t_3 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 390, __pyx_L1_error)
  }
  __pyx_t_5 = PyList_AsTuple(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_key = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":391
 *             data['type_name'] = pyrex_type.specialization_name()
 *         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":392
 *         key = tuple(sorted(data.items()))
 *         try:
 *             return self._cache[key]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             if self.requires is None:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cache_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 392, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = PyObject_GetItem(__pyx_t_5, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L8_try_return;

      /* "Cython/Compiler/Code.py":391
 *             data['type_name'] = pyrex_type.specialization_name()
 *         key = tuple(sorted(data.items()))
 *         try:             # <<<<<<<<<<<<<<
 *             return self._cache[key]
 *         except KeyError:
 */
    }
    __pyx_L4_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":393
 *         try:
 *             return self._cache[key]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             if self.requires is None:
 *                 requires = None
 */
    __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_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_4) < 0) __PYX_ERR(0, 393, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":394
 *             return self._cache[key]
 *         except KeyError:
 *             if self.requires is None:             # <<<<<<<<<<<<<<
 *                 requires = None
 *             else:
 */
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_requires); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 394, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_2 = (__pyx_t_11 == Py_None);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_1 = (__pyx_t_2 != 0);
      if (__pyx_t_1) {

        /* "Cython/Compiler/Code.py":395
 *         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 = Py_None;

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

      /* "Cython/Compiler/Code.py":397
 *                 requires = None
 *             else:
 *                 requires = [r.specialize(data) for r in self.requires]             # <<<<<<<<<<<<<<
 * 
 *             s = self._cache[key] = UtilityCode(
 */
      /*else*/ {
        __pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 397, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_requires); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 397, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) {
          __pyx_t_13 = __pyx_t_12; __Pyx_INCREF(__pyx_t_13); __pyx_t_14 = 0;
          __pyx_t_15 = NULL;
        } else {
          __pyx_t_14 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 397, __pyx_L6_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_15 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 397, __pyx_L6_except_error)
        }
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        for (;;) {
          if (likely(!__pyx_t_15)) {
            if (likely(PyList_CheckExact(__pyx_t_13))) {
              if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_13)) break;
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_12 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_14); __Pyx_INCREF(__pyx_t_12); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              #else
              __pyx_t_12 = PySequence_ITEM(__pyx_t_13, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              __Pyx_GOTREF(__pyx_t_12);
              #endif
            } else {
              if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_14); __Pyx_INCREF(__pyx_t_12); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              #else
              __pyx_t_12 = PySequence_ITEM(__pyx_t_13, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              __Pyx_GOTREF(__pyx_t_12);
              #endif
            }
          } else {
            __pyx_t_12 = __pyx_t_15(__pyx_t_13);
            if (unlikely(!__pyx_t_12)) {
              PyObject* exc_type = PyErr_Occurred();
              if (exc_type) {
                if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                else __PYX_ERR(0, 397, __pyx_L6_except_error)
              }
              break;
            }
            __Pyx_GOTREF(__pyx_t_12);
          }
          __Pyx_XDECREF_SET(__pyx_v_r, __pyx_t_12);
          __pyx_t_12 = 0;
          __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_r, __pyx_n_s_specialize); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 397, __pyx_L6_except_error)
          __Pyx_GOTREF(__pyx_t_16);
          __pyx_t_17 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_16);
            if (likely(__pyx_t_17)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
              __Pyx_INCREF(__pyx_t_17);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_16, function);
            }
          }
          if (!__pyx_t_17) {
            __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_v_data); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 397, __pyx_L6_except_error)
            __Pyx_GOTREF(__pyx_t_12);
          } else {
            #if CYTHON_FAST_PYCALL
            if (PyFunction_Check(__pyx_t_16)) {
              PyObject *__pyx_temp[2] = {__pyx_t_17, __pyx_v_data};
              __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
              __Pyx_GOTREF(__pyx_t_12);
            } else
            #endif
            #if CYTHON_FAST_PYCCALL
            if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) {
              PyObject *__pyx_temp[2] = {__pyx_t_17, __pyx_v_data};
              __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
              __Pyx_GOTREF(__pyx_t_12);
            } else
            #endif
            {
              __pyx_t_18 = PyTuple_New(1+1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              __Pyx_GOTREF(__pyx_t_18);
              __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __pyx_t_17 = NULL;
              __Pyx_INCREF(__pyx_v_data);
              __Pyx_GIVEREF(__pyx_v_data);
              PyTuple_SET_ITEM(__pyx_t_18, 0+1, __pyx_v_data);
              __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_18, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 397, __pyx_L6_except_error)
              __Pyx_GOTREF(__pyx_t_12);
              __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
            }
          }
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_11, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 397, __pyx_L6_except_error)
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        }
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_v_requires = __pyx_t_11;
        __pyx_t_11 = 0;
      }
      __pyx_L14:;

      /* "Cython/Compiler/Code.py":399
 *                 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_13 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 399, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_13);

      /* "Cython/Compiler/Code.py":400
 * 
 *             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_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_none_or_sub); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 400, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_proto); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 400, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_18);
      __pyx_t_17 = NULL;
      __pyx_t_10 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
        __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_16);
        if (likely(__pyx_t_17)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
          __Pyx_INCREF(__pyx_t_17);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_16, function);
          __pyx_t_10 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 400, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 400, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      {
        __pyx_t_19 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 400, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_19);
        if (__pyx_t_17) {
          __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_17); __pyx_t_17 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_18);
        PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_10, __pyx_t_18);
        __Pyx_INCREF(__pyx_v_data);
        __Pyx_GIVEREF(__pyx_v_data);
        PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_10, __pyx_v_data);
        __pyx_t_18 = 0;
        __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_19, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 400, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
      }
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

      /* "Cython/Compiler/Code.py":401
 *             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_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_none_or_sub); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 401, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_19);
      __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_impl); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 401, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_18);
      __pyx_t_17 = NULL;
      __pyx_t_10 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) {
        __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_19);
        if (likely(__pyx_t_17)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19);
          __Pyx_INCREF(__pyx_t_17);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_19, function);
          __pyx_t_10 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_19)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_16 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 401, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_16);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_16 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 401, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_16);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      {
        __pyx_t_20 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 401, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_20);
        if (__pyx_t_17) {
          __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_17); __pyx_t_17 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_18);
        PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_10, __pyx_t_18);
        __Pyx_INCREF(__pyx_v_data);
        __Pyx_GIVEREF(__pyx_v_data);
        PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_10, __pyx_v_data);
        __pyx_t_18 = 0;
        __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_20, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 401, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_16);
        __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
      }
      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;

      /* "Cython/Compiler/Code.py":402
 *                 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),
 *                 requires,
 */
      __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_none_or_sub); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 402, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_20);
      __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_init); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 402, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_18);
      __pyx_t_17 = NULL;
      __pyx_t_10 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
        __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_20);
        if (likely(__pyx_t_17)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
          __Pyx_INCREF(__pyx_t_17);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_20, function);
          __pyx_t_10 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_20)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 402, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_19);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 402, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_19);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      {
        __pyx_t_21 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 402, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_21);
        if (__pyx_t_17) {
          __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_17); __pyx_t_17 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_18);
        PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_10, __pyx_t_18);
        __Pyx_INCREF(__pyx_v_data);
        __Pyx_GIVEREF(__pyx_v_data);
        PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_10, __pyx_v_data);
        __pyx_t_18 = 0;
        __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_21, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 402, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_19);
        __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
      }
      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;

      /* "Cython/Compiler/Code.py":403
 *                 self.none_or_sub(self.impl, data),
 *                 self.none_or_sub(self.init, data),
 *                 self.none_or_sub(self.cleanup, data),             # <<<<<<<<<<<<<<
 *                 requires,
 *                 self.proto_block)
 */
      __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_none_or_sub); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 403, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_21);
      __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cleanup); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 403, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_18);
      __pyx_t_17 = NULL;
      __pyx_t_10 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) {
        __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_21);
        if (likely(__pyx_t_17)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21);
          __Pyx_INCREF(__pyx_t_17);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_21, function);
          __pyx_t_10 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_21)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 403, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_20);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) {
        PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_18, __pyx_v_data};
        __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 403, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_GOTREF(__pyx_t_20);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      } else
      #endif
      {
        __pyx_t_22 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 403, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_22);
        if (__pyx_t_17) {
          __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_17); __pyx_t_17 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_18);
        PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_10, __pyx_t_18);
        __Pyx_INCREF(__pyx_v_data);
        __Pyx_GIVEREF(__pyx_v_data);
        PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_10, __pyx_v_data);
        __pyx_t_18 = 0;
        __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_22, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 403, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_20);
        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
      }
      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;

      /* "Cython/Compiler/Code.py":405
 *                 self.none_or_sub(self.cleanup, data),
 *                 requires,
 *                 self.proto_block)             # <<<<<<<<<<<<<<
 * 
 *             self.specialize_list.append(s)
 */
      __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_proto_block); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 405, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_21);
      __pyx_t_22 = NULL;
      __pyx_t_10 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
        __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_13);
        if (likely(__pyx_t_22)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
          __Pyx_INCREF(__pyx_t_22);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_13, function);
          __pyx_t_10 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_13)) {
        PyObject *__pyx_temp[7] = {__pyx_t_22, __pyx_t_12, __pyx_t_16, __pyx_t_19, __pyx_t_20, __pyx_v_requires, __pyx_t_21};
        __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 399, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0;
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 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;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
        PyObject *__pyx_temp[7] = {__pyx_t_22, __pyx_t_12, __pyx_t_16, __pyx_t_19, __pyx_t_20, __pyx_v_requires, __pyx_t_21};
        __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 399, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0;
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 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;
      } else
      #endif
      {
        __pyx_t_18 = PyTuple_New(6+__pyx_t_10); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 399, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_18);
        if (__pyx_t_22) {
          __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_22); __pyx_t_22 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_12);
        PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_10, __pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_16);
        PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_10, __pyx_t_16);
        __Pyx_GIVEREF(__pyx_t_19);
        PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_10, __pyx_t_19);
        __Pyx_GIVEREF(__pyx_t_20);
        PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_10, __pyx_t_20);
        __Pyx_INCREF(__pyx_v_requires);
        __Pyx_GIVEREF(__pyx_v_requires);
        PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_10, __pyx_v_requires);
        __Pyx_GIVEREF(__pyx_t_21);
        PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_10, __pyx_t_21);
        __pyx_t_12 = 0;
        __pyx_t_16 = 0;
        __pyx_t_19 = 0;
        __pyx_t_20 = 0;
        __pyx_t_21 = 0;
        __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_18, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 399, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      }
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_INCREF(__pyx_t_11);
      __pyx_v_s = __pyx_t_11;

      /* "Cython/Compiler/Code.py":399
 *                 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_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cache_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 399, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_13);
      if (unlikely(PyObject_SetItem(__pyx_t_13, __pyx_v_key, __pyx_t_11) < 0)) __PYX_ERR(0, 399, __pyx_L6_except_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "Cython/Compiler/Code.py":407
 *                 self.proto_block)
 * 
 *             self.specialize_list.append(s)             # <<<<<<<<<<<<<<
 *             return s
 * 
 */
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_specialize_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 407, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_6 = __Pyx_PyObject_Append(__pyx_t_11, __pyx_v_s); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 407, __pyx_L6_except_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "Cython/Compiler/Code.py":408
 * 
 *             self.specialize_list.append(s)
 *             return s             # <<<<<<<<<<<<<<
 * 
 *     def inject_string_constants(self, impl, output):
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_s);
      __pyx_r = __pyx_v_s;
      __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;
      goto __pyx_L7_except_return;
    }
    goto __pyx_L6_except_error;
    __pyx_L6_except_error:;

    /* "Cython/Compiler/Code.py":391
 *             data['type_name'] = pyrex_type.specialization_name()
 *         key = tuple(sorted(data.items()))
 *         try:             # <<<<<<<<<<<<<<
 *             return self._cache[key]
 *         except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_PyThreadState_assign
    __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":385
 *         return s % context
 * 
 *     def specialize(self, pyrex_type=None, **data):             # <<<<<<<<<<<<<<
 *         # Dicts aren't hashable...
 *         if pyrex_type is not None:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __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_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_key);
  __Pyx_XDECREF(__pyx_v_requires);
  __Pyx_XDECREF(__pyx_v_s);
  __Pyx_XDECREF(__pyx_v_r);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":410
 *             return s
 * 
 *     def inject_string_constants(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_11inject_string_constants(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_10inject_string_constants[] = "Replace 'PYIDENT(\"xyz\")' by a constant Python identifier cname.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_11inject_string_constants = {"inject_string_constants", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_11inject_string_constants, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_10inject_string_constants};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_11inject_string_constants(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_impl = 0;
  PyObject *__pyx_v_output = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inject_string_constants (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_impl,&__pyx_n_s_output,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_impl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("inject_string_constants", 1, 3, 3, 1); __PYX_ERR(0, 410, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_output)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("inject_string_constants", 1, 3, 3, 2); __PYX_ERR(0, 410, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "inject_string_constants") < 0)) __PYX_ERR(0, 410, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_impl = values[1];
    __pyx_v_output = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("inject_string_constants", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 410, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.inject_string_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_10inject_string_constants(__pyx_self, __pyx_v_self, __pyx_v_impl, __pyx_v_output);

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

/* "Cython/Compiler/Code.py":417
 * 
 *         replacements = {}
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             name = matchobj.group(1)
 *             try:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_1externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_1externalise = {"externalise", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_1externalise, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_1externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("externalise (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_externalise(__pyx_self, ((PyObject *)__pyx_v_matchobj));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *__pyx_outer_scope;
  PyObject *__pyx_v_name = 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 = NULL;
  PyObject *__pyx_t_13 = NULL;
  __Pyx_RefNannySetupContext("externalise", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "Cython/Compiler/Code.py":418
 *         replacements = {}
 *         def externalise(matchobj):
 *             name = matchobj.group(1)             # <<<<<<<<<<<<<<
 *             try:
 *                 cname = replacements[name]
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_matchobj, __pyx_n_s_group); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_name = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":419
 *         def externalise(matchobj):
 *             name = matchobj.group(1)
 *             try:             # <<<<<<<<<<<<<<
 *                 cname = replacements[name]
 *             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":420
 *             name = matchobj.group(1)
 *             try:
 *                 cname = replacements[name]             # <<<<<<<<<<<<<<
 *             except KeyError:
 *                 cname = replacements[name] = output.get_interned_identifier(
 */
      if (unlikely(!__pyx_cur_scope->__pyx_v_replacements)) { __Pyx_RaiseClosureNameError("replacements"); __PYX_ERR(0, 420, __pyx_L3_error) }
      if (unlikely(__pyx_cur_scope->__pyx_v_replacements == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 420, __pyx_L3_error)
      }
      __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_cur_scope->__pyx_v_replacements, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 420, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_v_cname = __pyx_t_2;
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":419
 *         def externalise(matchobj):
 *             name = matchobj.group(1)
 *             try:             # <<<<<<<<<<<<<<
 *                 cname = replacements[name]
 *             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_L10_try_end;
    __pyx_L3_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":421
 *             try:
 *                 cname = replacements[name]
 *             except KeyError:             # <<<<<<<<<<<<<<
 *                 cname = replacements[name] = output.get_interned_identifier(
 *                     StringEncoding.EncodedString(name)).cname
 */
    __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
    if (__pyx_t_6) {
      __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.inject_string_constants.externalise", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 421, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_7);

      /* "Cython/Compiler/Code.py":422
 *                 cname = replacements[name]
 *             except KeyError:
 *                 cname = replacements[name] = output.get_interned_identifier(             # <<<<<<<<<<<<<<
 *                     StringEncoding.EncodedString(name)).cname
 *             return cname
 */
      if (unlikely(!__pyx_cur_scope->__pyx_v_output)) { __Pyx_RaiseClosureNameError("output"); __PYX_ERR(0, 422, __pyx_L5_except_error) }
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_output, __pyx_n_s_get_interned_identifier); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 422, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);

      /* "Cython/Compiler/Code.py":423
 *             except KeyError:
 *                 cname = replacements[name] = output.get_interned_identifier(
 *                     StringEncoding.EncodedString(name)).cname             # <<<<<<<<<<<<<<
 *             return cname
 * 
 */
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_EncodedString); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 423, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
        if (likely(__pyx_t_12)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
          __Pyx_INCREF(__pyx_t_12);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_11, function);
        }
      }
      if (!__pyx_t_12) {
        __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 423, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_10);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_11)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_name};
          __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 423, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_10);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_name};
          __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 423, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_10);
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 423, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
          __Pyx_INCREF(__pyx_v_name);
          __Pyx_GIVEREF(__pyx_v_name);
          PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_v_name);
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 423, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
        }
      }
      if (!__pyx_t_11) {
        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 422, __pyx_L5_except_error)
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_8);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 422, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_10};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 422, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 422, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL;
          __Pyx_GIVEREF(__pyx_t_10);
          PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_10);
          __pyx_t_10 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 422, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_cname); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 423, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_9);

      /* "Cython/Compiler/Code.py":422
 *                 cname = replacements[name]
 *             except KeyError:
 *                 cname = replacements[name] = output.get_interned_identifier(             # <<<<<<<<<<<<<<
 *                     StringEncoding.EncodedString(name)).cname
 *             return cname
 */
      if (unlikely(!__pyx_cur_scope->__pyx_v_replacements)) { __Pyx_RaiseClosureNameError("replacements"); __PYX_ERR(0, 422, __pyx_L5_except_error) }
      if (unlikely(__pyx_cur_scope->__pyx_v_replacements == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 422, __pyx_L5_except_error)
      }
      if (unlikely(PyDict_SetItem(__pyx_cur_scope->__pyx_v_replacements, __pyx_v_name, __pyx_t_9) < 0)) __PYX_ERR(0, 422, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "Cython/Compiler/Code.py":419
 *         def externalise(matchobj):
 *             name = matchobj.group(1)
 *             try:             # <<<<<<<<<<<<<<
 *                 cname = replacements[name]
 *             except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_L10_try_end:;
  }

  /* "Cython/Compiler/Code.py":424
 *                 cname = replacements[name] = output.get_interned_identifier(
 *                     StringEncoding.EncodedString(name)).cname
 *             return cname             # <<<<<<<<<<<<<<
 * 
 *         impl = re.sub(r'PYIDENT\("([^"]+)"\)', externalise, impl)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_cname);
  __pyx_r = __pyx_v_cname;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":417
 * 
 *         replacements = {}
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             name = matchobj.group(1)
 *             try:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __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_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.inject_string_constants.externalise", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":410
 *             return s
 * 
 *     def inject_string_constants(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_10inject_string_constants(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_impl, PyObject *__pyx_v_output) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *__pyx_cur_scope;
  PyObject *__pyx_v_externalise = 0;
  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_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("inject_string_constants", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants(__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 410, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_output = __pyx_v_output;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_output);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_output);
  __Pyx_INCREF(__pyx_v_impl);

  /* "Cython/Compiler/Code.py":413
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 *         if 'PYIDENT(' not in impl:             # <<<<<<<<<<<<<<
 *             return False, impl
 * 
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_PYIDENT, __pyx_v_impl, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 413, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":414
 *         """
 *         if 'PYIDENT(' not in impl:
 *             return False, impl             # <<<<<<<<<<<<<<
 * 
 *         replacements = {}
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(Py_False);
    __Pyx_GIVEREF(Py_False);
    PyTuple_SET_ITEM(__pyx_t_3, 0, Py_False);
    __Pyx_INCREF(__pyx_v_impl);
    __Pyx_GIVEREF(__pyx_v_impl);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_impl);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":413
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 *         if 'PYIDENT(' not in impl:             # <<<<<<<<<<<<<<
 *             return False, impl
 * 
 */
  }

  /* "Cython/Compiler/Code.py":416
 *             return False, impl
 * 
 *         replacements = {}             # <<<<<<<<<<<<<<
 *         def externalise(matchobj):
 *             name = matchobj.group(1)
 */
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_cur_scope->__pyx_v_replacements = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":417
 * 
 *         replacements = {}
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             name = matchobj.group(1)
 *             try:
 */
  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_23inject_string_constants_1externalise, 0, __pyx_n_s_UtilityCode_inject_string_consta, ((PyObject*)__pyx_cur_scope), __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_externalise = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":426
 *             return cname
 * 
 *         impl = re.sub(r'PYIDENT\("([^"]+)"\)', externalise, impl)             # <<<<<<<<<<<<<<
 *         assert 'PYIDENT(' not in impl
 *         return bool(replacements), impl
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_sub); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_PYIDENT_2, __pyx_v_externalise, __pyx_v_impl};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 426, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_PYIDENT_2, __pyx_v_externalise, __pyx_v_impl};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 426, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_PYIDENT_2);
    __Pyx_GIVEREF(__pyx_kp_s_PYIDENT_2);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_PYIDENT_2);
    __Pyx_INCREF(__pyx_v_externalise);
    __Pyx_GIVEREF(__pyx_v_externalise);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_externalise);
    __Pyx_INCREF(__pyx_v_impl);
    __Pyx_GIVEREF(__pyx_v_impl);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_impl);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF_SET(__pyx_v_impl, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":427
 * 
 *         impl = re.sub(r'PYIDENT\("([^"]+)"\)', externalise, impl)
 *         assert 'PYIDENT(' not in impl             # <<<<<<<<<<<<<<
 *         return bool(replacements), impl
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_PYIDENT, __pyx_v_impl, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 427, __pyx_L1_error)
    if (unlikely(!(__pyx_t_2 != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 427, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":428
 *         impl = re.sub(r'PYIDENT\("([^"]+)"\)', externalise, impl)
 *         assert 'PYIDENT(' not in impl
 *         return bool(replacements), impl             # <<<<<<<<<<<<<<
 * 
 *     def inject_unbound_methods(self, impl, output):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_replacements); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 428, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
  __Pyx_INCREF(__pyx_v_impl);
  __Pyx_GIVEREF(__pyx_v_impl);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_impl);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":410
 *             return s
 * 
 *     def inject_string_constants(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 */

  /* function exit code */
  __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.UtilityCode.inject_string_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_externalise);
  __Pyx_XDECREF(__pyx_v_impl);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":430
 *         return bool(replacements), impl
 * 
 *     def inject_unbound_methods(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_13inject_unbound_methods(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_12inject_unbound_methods[] = "Replace 'UNBOUND_METHOD(type, \"name\")' by a constant Python identifier cname.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_13inject_unbound_methods = {"inject_unbound_methods", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_13inject_unbound_methods, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_12inject_unbound_methods};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_13inject_unbound_methods(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_impl = 0;
  PyObject *__pyx_v_output = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inject_unbound_methods (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_impl,&__pyx_n_s_output,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_impl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("inject_unbound_methods", 1, 3, 3, 1); __PYX_ERR(0, 430, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_output)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("inject_unbound_methods", 1, 3, 3, 2); __PYX_ERR(0, 430, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "inject_unbound_methods") < 0)) __PYX_ERR(0, 430, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_impl = values[1];
    __pyx_v_output = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("inject_unbound_methods", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 430, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.inject_unbound_methods", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12inject_unbound_methods(__pyx_self, __pyx_v_self, __pyx_v_impl, __pyx_v_output);

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

/* "Cython/Compiler/Code.py":437
 * 
 *         utility_code = set()
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_1externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_1externalise = {"externalise", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_1externalise, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_1externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("externalise (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_externalise(__pyx_self, ((PyObject *)__pyx_v_matchobj));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_externalise(PyObject *__pyx_self, PyObject *__pyx_v_matchobj) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *__pyx_outer_scope;
  PyObject *__pyx_v_type_cname = NULL;
  PyObject *__pyx_v_method_name = NULL;
  PyObject *__pyx_v_args = NULL;
  PyObject *__pyx_v_call = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_arg = 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)(PyObject *);
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  __Pyx_RefNannySetupContext("externalise", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "Cython/Compiler/Code.py":438
 *         utility_code = set()
 *         def externalise(matchobj):
 *             type_cname, method_name, args = matchobj.groups()             # <<<<<<<<<<<<<<
 *             args = [arg.strip() for arg in args[1:].split(',')]
 *             if len(args) == 1:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_matchobj, __pyx_n_s_groups); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 3)) {
      if (size > 3) __Pyx_RaiseTooManyValuesError(3);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 438, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 2); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __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, 438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext;
    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_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    index = 2; __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), 3) < 0) __PYX_ERR(0, 438, __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, 438, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_type_cname = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_method_name = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_args = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":439
 *         def externalise(matchobj):
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]             # <<<<<<<<<<<<<<
 *             if len(args) == 1:
 *                 call = '__Pyx_CallUnboundCMethod0'
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_args, 1, 0, NULL, NULL, &__pyx_slice__27, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
    __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 439, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 439, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 439, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 439, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_strip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 439, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF_SET(__pyx_v_args, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":440
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]
 *             if len(args) == 1:             # <<<<<<<<<<<<<<
 *                 call = '__Pyx_CallUnboundCMethod0'
 *                 utility_code.add("CallUnboundCMethod0")
 */
  __pyx_t_7 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 440, __pyx_L1_error)
  __pyx_t_9 = ((__pyx_t_7 == 1) != 0);
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":441
 *             args = [arg.strip() for arg in args[1:].split(',')]
 *             if len(args) == 1:
 *                 call = '__Pyx_CallUnboundCMethod0'             # <<<<<<<<<<<<<<
 *                 utility_code.add("CallUnboundCMethod0")
 *             elif len(args) == 2:
 */
    __Pyx_INCREF(__pyx_n_s_Pyx_CallUnboundCMethod0);
    __pyx_v_call = __pyx_n_s_Pyx_CallUnboundCMethod0;

    /* "Cython/Compiler/Code.py":442
 *             if len(args) == 1:
 *                 call = '__Pyx_CallUnboundCMethod0'
 *                 utility_code.add("CallUnboundCMethod0")             # <<<<<<<<<<<<<<
 *             elif len(args) == 2:
 *                 call = '__Pyx_CallUnboundCMethod1'
 */
    if (unlikely(!__pyx_cur_scope->__pyx_v_utility_code)) { __Pyx_RaiseClosureNameError("utility_code"); __PYX_ERR(0, 442, __pyx_L1_error) }
    if (unlikely(__pyx_cur_scope->__pyx_v_utility_code == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "add");
      __PYX_ERR(0, 442, __pyx_L1_error)
    }
    __pyx_t_10 = PySet_Add(__pyx_cur_scope->__pyx_v_utility_code, __pyx_n_s_CallUnboundCMethod0); if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 442, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":440
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]
 *             if len(args) == 1:             # <<<<<<<<<<<<<<
 *                 call = '__Pyx_CallUnboundCMethod0'
 *                 utility_code.add("CallUnboundCMethod0")
 */
    goto __pyx_L7;
  }

  /* "Cython/Compiler/Code.py":443
 *                 call = '__Pyx_CallUnboundCMethod0'
 *                 utility_code.add("CallUnboundCMethod0")
 *             elif len(args) == 2:             # <<<<<<<<<<<<<<
 *                 call = '__Pyx_CallUnboundCMethod1'
 *                 utility_code.add("CallUnboundCMethod1")
 */
  __pyx_t_7 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 443, __pyx_L1_error)
  __pyx_t_9 = ((__pyx_t_7 == 2) != 0);
  if (__pyx_t_9) {

    /* "Cython/Compiler/Code.py":444
 *                 utility_code.add("CallUnboundCMethod0")
 *             elif len(args) == 2:
 *                 call = '__Pyx_CallUnboundCMethod1'             # <<<<<<<<<<<<<<
 *                 utility_code.add("CallUnboundCMethod1")
 *             else:
 */
    __Pyx_INCREF(__pyx_n_s_Pyx_CallUnboundCMethod1);
    __pyx_v_call = __pyx_n_s_Pyx_CallUnboundCMethod1;

    /* "Cython/Compiler/Code.py":445
 *             elif len(args) == 2:
 *                 call = '__Pyx_CallUnboundCMethod1'
 *                 utility_code.add("CallUnboundCMethod1")             # <<<<<<<<<<<<<<
 *             else:
 *                 assert False, "CALL_UNBOUND_METHOD() requires 1 or 2 call arguments"
 */
    if (unlikely(!__pyx_cur_scope->__pyx_v_utility_code)) { __Pyx_RaiseClosureNameError("utility_code"); __PYX_ERR(0, 445, __pyx_L1_error) }
    if (unlikely(__pyx_cur_scope->__pyx_v_utility_code == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "add");
      __PYX_ERR(0, 445, __pyx_L1_error)
    }
    __pyx_t_10 = PySet_Add(__pyx_cur_scope->__pyx_v_utility_code, __pyx_n_s_CallUnboundCMethod1); if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 445, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":443
 *                 call = '__Pyx_CallUnboundCMethod0'
 *                 utility_code.add("CallUnboundCMethod0")
 *             elif len(args) == 2:             # <<<<<<<<<<<<<<
 *                 call = '__Pyx_CallUnboundCMethod1'
 *                 utility_code.add("CallUnboundCMethod1")
 */
    goto __pyx_L7;
  }

  /* "Cython/Compiler/Code.py":447
 *                 utility_code.add("CallUnboundCMethod1")
 *             else:
 *                 assert False, "CALL_UNBOUND_METHOD() requires 1 or 2 call arguments"             # <<<<<<<<<<<<<<
 * 
 *             cname = output.get_cached_unbound_method(type_cname, method_name, len(args))
 */
  /*else*/ {
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(!Py_OptimizeFlag)) {
      if (unlikely(!0)) {
        PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_CALL_UNBOUND_METHOD_requires_1_o);
        __PYX_ERR(0, 447, __pyx_L1_error)
      }
    }
    #endif
  }
  __pyx_L7:;

  /* "Cython/Compiler/Code.py":449
 *                 assert False, "CALL_UNBOUND_METHOD() requires 1 or 2 call arguments"
 * 
 *             cname = output.get_cached_unbound_method(type_cname, method_name, len(args))             # <<<<<<<<<<<<<<
 *             return '%s(&%s, %s)' % (call, cname, ', '.join(args))
 * 
 */
  if (unlikely(!__pyx_cur_scope->__pyx_v_output)) { __Pyx_RaiseClosureNameError("output"); __PYX_ERR(0, 449, __pyx_L1_error) }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_output, __pyx_n_s_get_cached_unbound_method); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_v_args); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 449, __pyx_L1_error)
  __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = NULL;
  __pyx_t_11 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_11 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_type_cname, __pyx_v_method_name, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_type_cname, __pyx_v_method_name, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_v_type_cname);
    __Pyx_GIVEREF(__pyx_v_type_cname);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_11, __pyx_v_type_cname);
    __Pyx_INCREF(__pyx_v_method_name);
    __Pyx_GIVEREF(__pyx_v_method_name);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_11, __pyx_v_method_name);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":450
 * 
 *             cname = output.get_cached_unbound_method(type_cname, method_name, len(args))
 *             return '%s(&%s, %s)' % (call, cname, ', '.join(args))             # <<<<<<<<<<<<<<
 * 
 *         impl = re.sub(r'CALL_UNBOUND_METHOD\(([a-zA-Z_]+),\s*"([^"]+)"((?:,\s*[^),]+)+)\)', externalise, impl)
 */
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(!__pyx_v_call)) { __Pyx_RaiseUnboundLocalError("call"); __PYX_ERR(0, 450, __pyx_L1_error) }
  __pyx_t_1 = __Pyx_PyString_Join(__pyx_kp_s__30, __pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_call);
  __Pyx_GIVEREF(__pyx_v_call);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_call);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cname);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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":437
 * 
 *         utility_code = set()
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]
 */

  /* 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.UtilityCode.inject_unbound_methods.externalise", __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_args);
  __Pyx_XDECREF(__pyx_v_call);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_arg);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":430
 *         return bool(replacements), impl
 * 
 *     def inject_unbound_methods(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_12inject_unbound_methods(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_impl, PyObject *__pyx_v_output) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *__pyx_cur_scope;
  PyObject *__pyx_v_externalise = 0;
  PyObject *__pyx_v_helper = 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 = NULL;
  int __pyx_t_6;
  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 = NULL;
  __Pyx_RefNannySetupContext("inject_unbound_methods", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods(__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 430, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_output = __pyx_v_output;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_output);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_output);
  __Pyx_INCREF(__pyx_v_impl);

  /* "Cython/Compiler/Code.py":433
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 *         if 'CALL_UNBOUND_METHOD(' not in impl:             # <<<<<<<<<<<<<<
 *             return False, impl
 * 
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_CALL_UNBOUND_METHOD, __pyx_v_impl, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 433, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":434
 *         """
 *         if 'CALL_UNBOUND_METHOD(' not in impl:
 *             return False, impl             # <<<<<<<<<<<<<<
 * 
 *         utility_code = set()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(Py_False);
    __Pyx_GIVEREF(Py_False);
    PyTuple_SET_ITEM(__pyx_t_3, 0, Py_False);
    __Pyx_INCREF(__pyx_v_impl);
    __Pyx_GIVEREF(__pyx_v_impl);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_impl);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":433
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 *         if 'CALL_UNBOUND_METHOD(' not in impl:             # <<<<<<<<<<<<<<
 *             return False, impl
 * 
 */
  }

  /* "Cython/Compiler/Code.py":436
 *             return False, impl
 * 
 *         utility_code = set()             # <<<<<<<<<<<<<<
 *         def externalise(matchobj):
 *             type_cname, method_name, args = matchobj.groups()
 */
  __pyx_t_3 = PySet_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_cur_scope->__pyx_v_utility_code = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":437
 * 
 *         utility_code = set()
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]
 */
  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_22inject_unbound_methods_1externalise, 0, __pyx_n_s_UtilityCode_inject_unbound_metho, ((PyObject*)__pyx_cur_scope), __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_externalise = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":452
 *             return '%s(&%s, %s)' % (call, cname, ', '.join(args))
 * 
 *         impl = re.sub(r'CALL_UNBOUND_METHOD\(([a-zA-Z_]+),\s*"([^"]+)"((?:,\s*[^),]+)+)\)', externalise, impl)             # <<<<<<<<<<<<<<
 *         assert 'CALL_UNBOUND_METHOD(' not in impl
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_sub); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_CALL_UNBOUND_METHOD_a_zA_Z__s_s, __pyx_v_externalise, __pyx_v_impl};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_CALL_UNBOUND_METHOD_a_zA_Z__s_s, __pyx_v_externalise, __pyx_v_impl};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_CALL_UNBOUND_METHOD_a_zA_Z__s_s);
    __Pyx_GIVEREF(__pyx_kp_s_CALL_UNBOUND_METHOD_a_zA_Z__s_s);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_CALL_UNBOUND_METHOD_a_zA_Z__s_s);
    __Pyx_INCREF(__pyx_v_externalise);
    __Pyx_GIVEREF(__pyx_v_externalise);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_externalise);
    __Pyx_INCREF(__pyx_v_impl);
    __Pyx_GIVEREF(__pyx_v_impl);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_impl);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF_SET(__pyx_v_impl, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":453
 * 
 *         impl = re.sub(r'CALL_UNBOUND_METHOD\(([a-zA-Z_]+),\s*"([^"]+)"((?:,\s*[^),]+)+)\)', externalise, impl)
 *         assert 'CALL_UNBOUND_METHOD(' not in impl             # <<<<<<<<<<<<<<
 * 
 *         for helper in sorted(utility_code):
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_CALL_UNBOUND_METHOD, __pyx_v_impl, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 453, __pyx_L1_error)
    if (unlikely(!(__pyx_t_2 != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 453, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":455
 *         assert 'CALL_UNBOUND_METHOD(' not in impl
 * 
 *         for helper in sorted(utility_code):             # <<<<<<<<<<<<<<
 *             output.use_utility_code(UtilityCode.load_cached(helper, "ObjectHandling.c"))
 *         return bool(utility_code), impl
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_utility_code;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = ((PyObject*)__pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_t_8 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 455, __pyx_L1_error)
  if (unlikely(__pyx_t_3 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 455, __pyx_L1_error)
  }
  __pyx_t_7 = __pyx_t_3; __Pyx_INCREF(__pyx_t_7); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_7)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 455, __pyx_L1_error)
    #else
    __pyx_t_3 = PySequence_ITEM(__pyx_t_7, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XDECREF_SET(__pyx_v_helper, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":456
 * 
 *         for helper in sorted(utility_code):
 *             output.use_utility_code(UtilityCode.load_cached(helper, "ObjectHandling.c"))             # <<<<<<<<<<<<<<
 *         return bool(utility_code), impl
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_output, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_11, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_11)) {
      PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_helper, __pyx_kp_s_ObjectHandling_c};
      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 456, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
      PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_helper, __pyx_kp_s_ObjectHandling_c};
      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 456, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    {
      __pyx_t_12 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 456, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      if (__pyx_t_10) {
        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL;
      }
      __Pyx_INCREF(__pyx_v_helper);
      __Pyx_GIVEREF(__pyx_v_helper);
      PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_6, __pyx_v_helper);
      __Pyx_INCREF(__pyx_kp_s_ObjectHandling_c);
      __Pyx_GIVEREF(__pyx_kp_s_ObjectHandling_c);
      PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_6, __pyx_kp_s_ObjectHandling_c);
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_12, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 456, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_11) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 456, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":455
 *         assert 'CALL_UNBOUND_METHOD(' not in impl
 * 
 *         for helper in sorted(utility_code):             # <<<<<<<<<<<<<<
 *             output.use_utility_code(UtilityCode.load_cached(helper, "ObjectHandling.c"))
 *         return bool(utility_code), impl
 */
  }
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":457
 *         for helper in sorted(utility_code):
 *             output.use_utility_code(UtilityCode.load_cached(helper, "ObjectHandling.c"))
 *         return bool(utility_code), impl             # <<<<<<<<<<<<<<
 * 
 *     def wrap_c_strings(self, impl):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_utility_code != Py_None) && (PySet_GET_SIZE(__pyx_cur_scope->__pyx_v_utility_code) != 0);
  __pyx_t_7 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7);
  __Pyx_INCREF(__pyx_v_impl);
  __Pyx_GIVEREF(__pyx_v_impl);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_impl);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":430
 *         return bool(replacements), impl
 * 
 *     def inject_unbound_methods(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.inject_unbound_methods", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_externalise);
  __Pyx_XDECREF(__pyx_v_helper);
  __Pyx_XDECREF(__pyx_v_impl);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":459
 *         return bool(utility_code), impl
 * 
 *     def wrap_c_strings(self, impl):             # <<<<<<<<<<<<<<
 *         """Replace CSTRING('''xyz''') by a C compatible string
 *         """
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_15wrap_c_strings(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings[] = "Replace CSTRING('''xyz''') by a C compatible string\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_15wrap_c_strings = {"wrap_c_strings", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_15wrap_c_strings, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_15wrap_c_strings(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_impl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("wrap_c_strings (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_impl,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_impl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("wrap_c_strings", 1, 2, 2, 1); __PYX_ERR(0, 459, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "wrap_c_strings") < 0)) __PYX_ERR(0, 459, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_impl = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("wrap_c_strings", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 459, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.UtilityCode.wrap_c_strings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings(__pyx_self, __pyx_v_self, __pyx_v_impl);

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

/* "Cython/Compiler/Code.py":465
 *             return impl
 * 
 *         def split_string(matchobj):             # <<<<<<<<<<<<<<
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_1split_string(PyObject *__pyx_self, PyObject *__pyx_v_matchobj); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_1split_string = {"split_string", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_1split_string, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_1split_string(PyObject *__pyx_self, PyObject *__pyx_v_matchobj) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("split_string (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_split_string(__pyx_self, ((PyObject *)__pyx_v_matchobj));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_12split_string_2generator(__pyx_CoroutineObject *__pyx_generator, PyObject *__pyx_sent_value); /* proto */

/* "Cython/Compiler/Code.py":468
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]             # <<<<<<<<<<<<<<
 *                 for line in content.splitlines())
 * 
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_12split_string_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr(__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 468, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_12split_string_2generator, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_UtilityCode_wrap_c_strings_local, __pyx_n_s_Cython_Compiler_Code); if (unlikely(!gen)) __PYX_ERR(0, 468, __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.wrap_c_strings.split_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_11UtilityCode_14wrap_c_strings_12split_string_2generator(__pyx_CoroutineObject *__pyx_generator, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  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 *);
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("None", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L8_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 468, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":469
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]
 *                 for line in content.splitlines())             # <<<<<<<<<<<<<<
 * 
 *         impl = re.sub(r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)', split_string, impl)
 */
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_content)) { __Pyx_RaiseClosureNameError("content"); __PYX_ERR(0, 469, __pyx_L1_error) }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_content, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  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, 469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 469, __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))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 469, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 469, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_5(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 469, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_line);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_line, __pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":468
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]             # <<<<<<<<<<<<<<
 *                 for line in content.splitlines())
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_line, __pyx_n_s_endswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 468, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_9 = ((!__pyx_t_8) != 0);
    if (!__pyx_t_9) {
    } else {
      __pyx_t_6 = __pyx_t_9;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_line, __pyx_n_s_endswith); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 468, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_6 = __pyx_t_9;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_6) {
      __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_n, __pyx_cur_scope->__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __pyx_t_3;
      __pyx_t_3 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_line, 0, -1L, NULL, NULL, &__pyx_slice__37, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_s_5, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_1 = __pyx_t_7;
      __pyx_t_7 = 0;
    }
    __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();
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L8_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, 468, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":469
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]
 *                 for line in content.splitlines())             # <<<<<<<<<<<<<<
 * 
 *         impl = re.sub(r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)', split_string, impl)
 */
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (1); else __pyx_cur_scope = __pyx_cur_scope;

  /* "Cython/Compiler/Code.py":468
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]             # <<<<<<<<<<<<<<
 *                 for line in content.splitlines())
 * 
 */

  /* function exit code */
  PyErr_SetNone(PyExc_StopIteration);
  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_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":465
 *             return impl
 * 
 *         def split_string(matchobj):             # <<<<<<<<<<<<<<
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_split_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_matchobj) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("split_string", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string(__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 465, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }

  /* "Cython/Compiler/Code.py":466
 * 
 *         def split_string(matchobj):
 *             content = matchobj.group(1).replace('"', '\042')             # <<<<<<<<<<<<<<
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_matchobj, __pyx_n_s_group); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __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_tuple__40, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_cur_scope->__pyx_v_content = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":467
 *         def split_string(matchobj):
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(             # <<<<<<<<<<<<<<
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]
 *                 for line in content.splitlines())
 */
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":468
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]             # <<<<<<<<<<<<<<
 *                 for line in content.splitlines())
 * 
 */
  __pyx_t_2 = __pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_12split_string_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":467
 *         def split_string(matchobj):
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(             # <<<<<<<<<<<<<<
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]
 *                 for line in content.splitlines())
 */
  __pyx_t_1 = __Pyx_PyString_Join(__pyx_kp_s__8, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":465
 *             return impl
 * 
 *         def split_string(matchobj):             # <<<<<<<<<<<<<<
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 */

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

/* "Cython/Compiler/Code.py":459
 *         return bool(utility_code), impl
 * 
 *     def wrap_c_strings(self, impl):             # <<<<<<<<<<<<<<
 *         """Replace CSTRING('''xyz''') by a C compatible string
 *         """
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_impl) {
  PyObject *__pyx_v_split_string = 0;
  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_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("wrap_c_strings", 0);
  __Pyx_INCREF(__pyx_v_impl);

  /* "Cython/Compiler/Code.py":462
 *         """Replace CSTRING('''xyz''') by a C compatible string
 *         """
 *         if 'CSTRING(' not in impl:             # <<<<<<<<<<<<<<
 *             return impl
 * 
 */
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_CSTRING, __pyx_v_impl, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 462, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":463
 *         """
 *         if 'CSTRING(' not in impl:
 *             return impl             # <<<<<<<<<<<<<<
 * 
 *         def split_string(matchobj):
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_impl);
    __pyx_r = __pyx_v_impl;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":462
 *         """Replace CSTRING('''xyz''') by a C compatible string
 *         """
 *         if 'CSTRING(' not in impl:             # <<<<<<<<<<<<<<
 *             return impl
 * 
 */
  }

  /* "Cython/Compiler/Code.py":465
 *             return impl
 * 
 *         def split_string(matchobj):             # <<<<<<<<<<<<<<
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 */
  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_14wrap_c_strings_1split_string, 0, __pyx_n_s_UtilityCode_wrap_c_strings_local_2, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_split_string = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":471
 *                 for line in content.splitlines())
 * 
 *         impl = re.sub(r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)', split_string, impl)             # <<<<<<<<<<<<<<
 *         assert 'CSTRING(' not in impl
 *         return impl
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_sub); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_CSTRING_s_s, __pyx_v_split_string, __pyx_v_impl};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_CSTRING_s_s, __pyx_v_split_string, __pyx_v_impl};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_CSTRING_s_s);
    __Pyx_GIVEREF(__pyx_kp_s_CSTRING_s_s);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_CSTRING_s_s);
    __Pyx_INCREF(__pyx_v_split_string);
    __Pyx_GIVEREF(__pyx_v_split_string);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_split_string);
    __Pyx_INCREF(__pyx_v_impl);
    __Pyx_GIVEREF(__pyx_v_impl);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_impl);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF_SET(__pyx_v_impl, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":472
 * 
 *         impl = re.sub(r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)', split_string, impl)
 *         assert 'CSTRING(' not in impl             # <<<<<<<<<<<<<<
 *         return impl
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_CSTRING, __pyx_v_impl, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 472, __pyx_L1_error)
    if (unlikely(!(__pyx_t_2 != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 472, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":473
 *         impl = re.sub(r'CSTRING\(\s*"""([^"]*(?:"[^"]+)*)"""\s*\)', split_string, impl)
 *         assert 'CSTRING(' not in impl
 *         return impl             # <<<<<<<<<<<<<<
 * 
 *     def put_code(self, output):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_impl);
  __pyx_r = __pyx_v_impl;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":459
 *         return bool(utility_code), impl
 * 
 *     def wrap_c_strings(self, impl):             # <<<<<<<<<<<<<<
 *         """Replace CSTRING('''xyz''') by a C compatible string
 *         """
 */

  /* function exit code */
  __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.UtilityCode.wrap_c_strings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_split_string);
  __Pyx_XDECREF(__pyx_v_impl);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":475
 *         return impl
 * 
 *     def put_code(self, output):             # <<<<<<<<<<<<<<
 *         if self.requires:
 *             for dependency in self.requires:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_17put_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_17put_code = {"put_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_17put_code, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11UtilityCode_17put_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_output = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_code (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_output,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_output)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_code", 1, 2, 2, 1); __PYX_ERR(0, 475, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_code") < 0)) __PYX_ERR(0, 475, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_output = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_code", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 475, __pyx_L3_error)
  __pyx_L3_error:;
  __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_16put_code(__pyx_self, __pyx_v_self, __pyx_v_output);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11UtilityCode_16put_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_output) {
  PyObject *__pyx_v_dependency = NULL;
  PyObject *__pyx_v_writer = NULL;
  PyObject *__pyx_v_impl = NULL;
  PyObject *__pyx_v_is_specialised1 = NULL;
  PyObject *__pyx_v_is_specialised2 = 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;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_t_13;
  __Pyx_RefNannySetupContext("put_code", 0);

  /* "Cython/Compiler/Code.py":476
 * 
 *     def put_code(self, output):
 *         if self.requires:             # <<<<<<<<<<<<<<
 *             for dependency in self.requires:
 *                 output.use_utility_code(dependency)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_requires); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 476, __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, 476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":477
 *     def put_code(self, output):
 *         if self.requires:
 *             for dependency in self.requires:             # <<<<<<<<<<<<<<
 *                 output.use_utility_code(dependency)
 *         if self.proto:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_requires); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __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, 477, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 477, __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))) {
          if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 477, __pyx_L1_error)
          #else
          __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        } else {
          if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 477, __pyx_L1_error)
          #else
          __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        }
      } else {
        __pyx_t_1 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 477, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_v_dependency, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":478
 *         if self.requires:
 *             for dependency in self.requires:
 *                 output.use_utility_code(dependency)             # <<<<<<<<<<<<<<
 *         if self.proto:
 *             writer = output[self.proto_block]
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 478, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_7) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_dependency); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_dependency};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_dependency};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 478, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
          __Pyx_INCREF(__pyx_v_dependency);
          __Pyx_GIVEREF(__pyx_v_dependency);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_dependency);
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":477
 *     def put_code(self, output):
 *         if self.requires:
 *             for dependency in self.requires:             # <<<<<<<<<<<<<<
 *                 output.use_utility_code(dependency)
 *         if self.proto:
 */
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":476
 * 
 *     def put_code(self, output):
 *         if self.requires:             # <<<<<<<<<<<<<<
 *             for dependency in self.requires:
 *                 output.use_utility_code(dependency)
 */
  }

  /* "Cython/Compiler/Code.py":479
 *             for dependency in self.requires:
 *                 output.use_utility_code(dependency)
 *         if self.proto:             # <<<<<<<<<<<<<<
 *             writer = output[self.proto_block]
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.proto *[inserted by cython to avoid comment closer]/" % self.name)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_proto); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __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, 479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":480
 *                 output.use_utility_code(dependency)
 *         if self.proto:
 *             writer = output[self.proto_block]             # <<<<<<<<<<<<<<
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.proto *[inserted by cython to avoid comment closer]/" % self.name)
 *             writer.put_or_include(
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_proto_block); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = PyObject_GetItem(__pyx_v_output, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_writer = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":481
 *         if self.proto:
 *             writer = output[self.proto_block]
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.proto *[inserted by cython to avoid comment closer]/" % self.name)             # <<<<<<<<<<<<<<
 *             writer.put_or_include(
 *                 self.format_code(self.proto), '%s_proto' % self.name)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_s_proto, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 481, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":482
 *             writer = output[self.proto_block]
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.proto *[inserted by cython to avoid comment closer]/" % self.name)
 *             writer.put_or_include(             # <<<<<<<<<<<<<<
 *                 self.format_code(self.proto), '%s_proto' % self.name)
 *         if self.impl:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_put_or_include); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);

    /* "Cython/Compiler/Code.py":483
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.proto *[inserted by cython to avoid comment closer]/" % self.name)
 *             writer.put_or_include(
 *                 self.format_code(self.proto), '%s_proto' % self.name)             # <<<<<<<<<<<<<<
 *         if self.impl:
 *             impl = self.format_code(self.wrap_c_strings(self.impl))
 */
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_format_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_proto); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_9 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
      }
    }
    if (!__pyx_t_9) {
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 483, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_7);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_6};
        __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 483, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_6};
        __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 483, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 483, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 483, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_s_proto_2, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = NULL;
    __pyx_t_11 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_11 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, __pyx_t_10};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_7, __pyx_t_10};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 482, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__pyx_t_8) {
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_11, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_11, __pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_10 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":479
 *             for dependency in self.requires:
 *                 output.use_utility_code(dependency)
 *         if self.proto:             # <<<<<<<<<<<<<<
 *             writer = output[self.proto_block]
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.proto *[inserted by cython to avoid comment closer]/" % self.name)
 */
  }

  /* "Cython/Compiler/Code.py":484
 *             writer.put_or_include(
 *                 self.format_code(self.proto), '%s_proto' % self.name)
 *         if self.impl:             # <<<<<<<<<<<<<<
 *             impl = self.format_code(self.wrap_c_strings(self.impl))
 *             is_specialised1, impl = self.inject_string_constants(impl, output)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_impl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __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, 484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":485
 *                 self.format_code(self.proto), '%s_proto' % self.name)
 *         if self.impl:
 *             impl = self.format_code(self.wrap_c_strings(self.impl))             # <<<<<<<<<<<<<<
 *             is_specialised1, impl = self.inject_string_constants(impl, output)
 *             is_specialised2, impl = self.inject_unbound_methods(impl, output)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_format_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wrap_c_strings); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_impl); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    if (!__pyx_t_8) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 485, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_7};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_7};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_7);
        __pyx_t_7 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_10) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_impl = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":486
 *         if self.impl:
 *             impl = self.format_code(self.wrap_c_strings(self.impl))
 *             is_specialised1, impl = self.inject_string_constants(impl, output)             # <<<<<<<<<<<<<<
 *             is_specialised2, impl = self.inject_unbound_methods(impl, output)
 *             writer = output['utility_code_def']
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_inject_string_constants); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = NULL;
    __pyx_t_11 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_11 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_impl, __pyx_v_output};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_impl, __pyx_v_output};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__pyx_t_9) {
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_9); __pyx_t_9 = NULL;
      }
      __Pyx_INCREF(__pyx_v_impl);
      __Pyx_GIVEREF(__pyx_v_impl);
      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_11, __pyx_v_impl);
      __Pyx_INCREF(__pyx_v_output);
      __Pyx_GIVEREF(__pyx_v_output);
      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_11, __pyx_v_output);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 486, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_6);
      #else
      __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_12 = Py_TYPE(__pyx_t_9)->tp_iternext;
      index = 0; __pyx_t_3 = __pyx_t_12(__pyx_t_9); if (unlikely(!__pyx_t_3)) goto __pyx_L8_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_3);
      index = 1; __pyx_t_6 = __pyx_t_12(__pyx_t_9); if (unlikely(!__pyx_t_6)) goto __pyx_L8_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_9), 2) < 0) __PYX_ERR(0, 486, __pyx_L1_error)
      __pyx_t_12 = 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_12 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 486, __pyx_L1_error)
      __pyx_L9_unpacking_done:;
    }
    __pyx_v_is_specialised1 = __pyx_t_3;
    __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_impl, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":487
 *             impl = self.format_code(self.wrap_c_strings(self.impl))
 *             is_specialised1, impl = self.inject_string_constants(impl, output)
 *             is_specialised2, impl = self.inject_unbound_methods(impl, output)             # <<<<<<<<<<<<<<
 *             writer = output['utility_code_def']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/" % self.name)
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_inject_unbound_methods); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = NULL;
    __pyx_t_11 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
        __pyx_t_11 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_impl, __pyx_v_output};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_impl, __pyx_v_output};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (__pyx_t_3) {
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL;
      }
      __Pyx_INCREF(__pyx_v_impl);
      __Pyx_GIVEREF(__pyx_v_impl);
      PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_11, __pyx_v_impl);
      __Pyx_INCREF(__pyx_v_output);
      __Pyx_GIVEREF(__pyx_v_output);
      PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_11, __pyx_v_output);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 487, __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_t_9 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_6 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_9 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      #else
      __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_12 = Py_TYPE(__pyx_t_3)->tp_iternext;
      index = 0; __pyx_t_6 = __pyx_t_12(__pyx_t_3); if (unlikely(!__pyx_t_6)) goto __pyx_L10_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      index = 1; __pyx_t_9 = __pyx_t_12(__pyx_t_3); if (unlikely(!__pyx_t_9)) goto __pyx_L10_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_9);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_3), 2) < 0) __PYX_ERR(0, 487, __pyx_L1_error)
      __pyx_t_12 = NULL;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L11_unpacking_done;
      __pyx_L10_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_12 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 487, __pyx_L1_error)
      __pyx_L11_unpacking_done:;
    }
    __pyx_v_is_specialised2 = __pyx_t_6;
    __pyx_t_6 = 0;
    __Pyx_DECREF_SET(__pyx_v_impl, __pyx_t_9);
    __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":488
 *             is_specialised1, impl = self.inject_string_constants(impl, output)
 *             is_specialised2, impl = self.inject_unbound_methods(impl, output)
 *             writer = output['utility_code_def']             # <<<<<<<<<<<<<<
 *             writer.putln("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/" % self.name)
 *             if not (is_specialised1 or is_specialised2):
 */
    __pyx_t_1 = PyObject_GetItem(__pyx_v_output, __pyx_n_s_utility_code_def); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_writer, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":489
 *             is_specialised2, impl = self.inject_unbound_methods(impl, output)
 *             writer = output['utility_code_def']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/" % self.name)             # <<<<<<<<<<<<<<
 *             if not (is_specialised1 or is_specialised2):
 *                 # no module specific adaptations => can be reused
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_6, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_9, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 489, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":490
 *             writer = output['utility_code_def']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/" % self.name)
 *             if not (is_specialised1 or is_specialised2):             # <<<<<<<<<<<<<<
 *                 # no module specific adaptations => can be reused
 *                 writer.put_or_include(impl, '%s_impl' % self.name)
 */
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_is_specialised1); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 490, __pyx_L1_error)
    if (!__pyx_t_13) {
    } else {
      __pyx_t_2 = __pyx_t_13;
      goto __pyx_L13_bool_binop_done;
    }
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_is_specialised2); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 490, __pyx_L1_error)
    __pyx_t_2 = __pyx_t_13;
    __pyx_L13_bool_binop_done:;
    __pyx_t_13 = ((!__pyx_t_2) != 0);
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":492
 *             if not (is_specialised1 or is_specialised2):
 *                 # no module specific adaptations => can be reused
 *                 writer.put_or_include(impl, '%s_impl' % self.name)             # <<<<<<<<<<<<<<
 *             else:
 *                 writer.put(impl)
 */
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_put_or_include); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 492, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 492, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_impl, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = NULL;
      __pyx_t_11 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
          __pyx_t_11 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_impl, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_impl, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 492, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (__pyx_t_10) {
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_10); __pyx_t_10 = NULL;
        }
        __Pyx_INCREF(__pyx_v_impl);
        __Pyx_GIVEREF(__pyx_v_impl);
        PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_11, __pyx_v_impl);
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_11, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__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;

      /* "Cython/Compiler/Code.py":490
 *             writer = output['utility_code_def']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/" % self.name)
 *             if not (is_specialised1 or is_specialised2):             # <<<<<<<<<<<<<<
 *                 # no module specific adaptations => can be reused
 *                 writer.put_or_include(impl, '%s_impl' % self.name)
 */
      goto __pyx_L12;
    }

    /* "Cython/Compiler/Code.py":494
 *                 writer.put_or_include(impl, '%s_impl' % self.name)
 *             else:
 *                 writer.put(impl)             # <<<<<<<<<<<<<<
 *         if self.init:
 *             writer = output['init_globals']
 */
    /*else*/ {
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_put); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 494, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
        }
      }
      if (!__pyx_t_6) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_impl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_impl};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_impl};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        {
          __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL;
          __Pyx_INCREF(__pyx_v_impl);
          __Pyx_GIVEREF(__pyx_v_impl);
          PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_impl);
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L12:;

    /* "Cython/Compiler/Code.py":484
 *             writer.put_or_include(
 *                 self.format_code(self.proto), '%s_proto' % self.name)
 *         if self.impl:             # <<<<<<<<<<<<<<
 *             impl = self.format_code(self.wrap_c_strings(self.impl))
 *             is_specialised1, impl = self.inject_string_constants(impl, output)
 */
  }

  /* "Cython/Compiler/Code.py":495
 *             else:
 *                 writer.put(impl)
 *         if self.init:             # <<<<<<<<<<<<<<
 *             writer = output['init_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.init *[inserted by cython to avoid comment closer]/" % self.name)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __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, 495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_13) {

    /* "Cython/Compiler/Code.py":496
 *                 writer.put(impl)
 *         if self.init:
 *             writer = output['init_globals']             # <<<<<<<<<<<<<<
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.init *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.init, basestring):
 */
    __pyx_t_1 = PyObject_GetItem(__pyx_v_output, __pyx_n_s_init_globals); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_writer, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":497
 *         if self.init:
 *             writer = output['init_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.init *[inserted by cython to avoid comment closer]/" % self.name)             # <<<<<<<<<<<<<<
 *             if isinstance(self.init, basestring):
 *                 writer.put(self.format_code(self.init))
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_s_init, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_9, function);
      }
    }
    if (!__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 497, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __pyx_t_3 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":498
 *             writer = output['init_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.init *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.init, basestring):             # <<<<<<<<<<<<<<
 *                 writer.put(self.format_code(self.init))
 *             else:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __pyx_v_6Cython_8Compiler_4Code_basestring;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_13 = PyObject_IsInstance(__pyx_t_1, __pyx_t_9); if (unlikely(__pyx_t_13 == -1)) __PYX_ERR(0, 498, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_2 = (__pyx_t_13 != 0);
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":499
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.init *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.init, basestring):
 *                 writer.put(self.format_code(self.init))             # <<<<<<<<<<<<<<
 *             else:
 *                 self.init(writer, output.module_pos)
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_put); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_format_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_7) {
        __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 499, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_10);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_3};
          __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_3};
          __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_6) {
        __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 499, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_9);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_10};
          __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
          __Pyx_GIVEREF(__pyx_t_10);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_10);
          __pyx_t_10 = 0;
          __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 499, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "Cython/Compiler/Code.py":498
 *             writer = output['init_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.init *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.init, basestring):             # <<<<<<<<<<<<<<
 *                 writer.put(self.format_code(self.init))
 *             else:
 */
      goto __pyx_L16;
    }

    /* "Cython/Compiler/Code.py":501
 *                 writer.put(self.format_code(self.init))
 *             else:
 *                 self.init(writer, output.module_pos)             # <<<<<<<<<<<<<<
 *             writer.putln(writer.error_goto_if_PyErr(output.module_pos))
 *             writer.putln()
 */
    /*else*/ {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_n_s_module_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = NULL;
      __pyx_t_11 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
          __pyx_t_11 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_writer, __pyx_t_8};
        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 501, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_writer, __pyx_t_8};
        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 501, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 501, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (__pyx_t_10) {
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_10); __pyx_t_10 = NULL;
        }
        __Pyx_INCREF(__pyx_v_writer);
        __Pyx_GIVEREF(__pyx_v_writer);
        PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_11, __pyx_v_writer);
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_11, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 501, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __pyx_L16:;

    /* "Cython/Compiler/Code.py":502
 *             else:
 *                 self.init(writer, output.module_pos)
 *             writer.putln(writer.error_goto_if_PyErr(output.module_pos))             # <<<<<<<<<<<<<<
 *             writer.putln()
 *         if self.cleanup and Options.generate_cleanup_code:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_error_goto_if_PyErr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_n_s_module_pos); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
      }
    }
    if (!__pyx_t_3) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 502, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_10};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 502, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_10};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 502, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 502, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
        __Pyx_GIVEREF(__pyx_t_10);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_10);
        __pyx_t_10 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 502, __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_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_8) {
      __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 502, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_9);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 502, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 502, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 502, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); __pyx_t_8 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 502, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":503
 *                 self.init(writer, output.module_pos)
 *             writer.putln(writer.error_goto_if_PyErr(output.module_pos))
 *             writer.putln()             # <<<<<<<<<<<<<<
 *         if self.cleanup and Options.generate_cleanup_code:
 *             writer = output['cleanup_globals']
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (__pyx_t_7) {
      __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 503, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    } else {
      __pyx_t_9 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 503, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":495
 *             else:
 *                 writer.put(impl)
 *         if self.init:             # <<<<<<<<<<<<<<
 *             writer = output['init_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.init *[inserted by cython to avoid comment closer]/" % self.name)
 */
  }

  /* "Cython/Compiler/Code.py":504
 *             writer.putln(writer.error_goto_if_PyErr(output.module_pos))
 *             writer.putln()
 *         if self.cleanup and Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             writer = output['cleanup_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.cleanup *[inserted by cython to avoid comment closer]/" % self.name)
 */
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cleanup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (__pyx_t_13) {
  } else {
    __pyx_t_2 = __pyx_t_13;
    goto __pyx_L18_bool_binop_done;
  }
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_n_s_generate_cleanup_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_2 = __pyx_t_13;
  __pyx_L18_bool_binop_done:;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":505
 *             writer.putln()
 *         if self.cleanup and Options.generate_cleanup_code:
 *             writer = output['cleanup_globals']             # <<<<<<<<<<<<<<
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.cleanup *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.cleanup, basestring):
 */
    __pyx_t_9 = PyObject_GetItem(__pyx_v_output, __pyx_n_s_cleanup_globals); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_XDECREF_SET(__pyx_v_writer, __pyx_t_9);
    __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":506
 *         if self.cleanup and Options.generate_cleanup_code:
 *             writer = output['cleanup_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.cleanup *[inserted by cython to avoid comment closer]/" % self.name)             # <<<<<<<<<<<<<<
 *             if isinstance(self.cleanup, basestring):
 *                 writer.put_or_include(
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_s_cleanup, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 506, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_9);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 506, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 506, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 506, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 506, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":507
 *             writer = output['cleanup_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.cleanup *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.cleanup, basestring):             # <<<<<<<<<<<<<<
 *                 writer.put_or_include(
 *                     self.format_code(self.cleanup),
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cleanup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_1 = __pyx_v_6Cython_8Compiler_4Code_basestring;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = PyObject_IsInstance(__pyx_t_9, __pyx_t_1); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 507, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_13 = (__pyx_t_2 != 0);
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":508
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.cleanup *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.cleanup, basestring):
 *                 writer.put_or_include(             # <<<<<<<<<<<<<<
 *                     self.format_code(self.cleanup),
 *                     '%s_cleanup' % self.name)
 */
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_put_or_include); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 508, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);

      /* "Cython/Compiler/Code.py":509
 *             if isinstance(self.cleanup, basestring):
 *                 writer.put_or_include(
 *                     self.format_code(self.cleanup),             # <<<<<<<<<<<<<<
 *                     '%s_cleanup' % self.name)
 *             else:
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_format_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 509, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cleanup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 509, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_10) {
        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 509, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_8);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_7};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 509, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_7};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 509, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        {
          __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10); __pyx_t_10 = NULL;
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_7);
          __pyx_t_7 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 509, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":510
 *                 writer.put_or_include(
 *                     self.format_code(self.cleanup),
 *                     '%s_cleanup' % self.name)             # <<<<<<<<<<<<<<
 *             else:
 *                 self.cleanup(writer, output.module_pos)
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 510, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_cleanup_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = NULL;
      __pyx_t_11 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
          __pyx_t_11 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_8, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_8, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 508, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (__pyx_t_6) {
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_11, __pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_11, __pyx_t_3);
        __pyx_t_8 = 0;
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":507
 *             writer = output['cleanup_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.cleanup *[inserted by cython to avoid comment closer]/" % self.name)
 *             if isinstance(self.cleanup, basestring):             # <<<<<<<<<<<<<<
 *                 writer.put_or_include(
 *                     self.format_code(self.cleanup),
 */
      goto __pyx_L20;
    }

    /* "Cython/Compiler/Code.py":512
 *                     '%s_cleanup' % self.name)
 *             else:
 *                 self.cleanup(writer, output.module_pos)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    /*else*/ {
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cleanup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 512, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_n_s_module_pos); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 512, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = NULL;
      __pyx_t_11 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
          __pyx_t_11 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_writer, __pyx_t_7};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_writer, __pyx_t_7};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 512, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__pyx_t_3) {
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = NULL;
        }
        __Pyx_INCREF(__pyx_v_writer);
        __Pyx_GIVEREF(__pyx_v_writer);
        PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_11, __pyx_v_writer);
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_11, __pyx_t_7);
        __pyx_t_7 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L20:;

    /* "Cython/Compiler/Code.py":504
 *             writer.putln(writer.error_goto_if_PyErr(output.module_pos))
 *             writer.putln()
 *         if self.cleanup and Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             writer = output['cleanup_globals']
 *             writer.putln("/[inserted by cython to avoid comment start]* %s.cleanup *[inserted by cython to avoid comment closer]/" % self.name)
 */
  }

  /* "Cython/Compiler/Code.py":475
 *         return impl
 * 
 *     def put_code(self, output):             # <<<<<<<<<<<<<<
 *         if self.requires:
 *             for dependency in self.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_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_XDECREF(__pyx_v_writer);
  __Pyx_XDECREF(__pyx_v_impl);
  __Pyx_XDECREF(__pyx_v_is_specialised1);
  __Pyx_XDECREF(__pyx_v_is_specialised2);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":515
 * 
 * 
 * def sub_tempita(s, context, file=None, name=None):             # <<<<<<<<<<<<<<
 *     "Run tempita on string s with given context."
 *     if not s:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_3sub_tempita(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_2sub_tempita[] = "Run tempita on string s with given context.";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_3sub_tempita = {"sub_tempita", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_3sub_tempita, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_2sub_tempita};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_3sub_tempita(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_v_file = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sub_tempita (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s_4,&__pyx_n_s_context,&__pyx_n_s_file_2,&__pyx_n_s_name,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));
    values[3] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_s_4)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("sub_tempita", 0, 2, 4, 1); __PYX_ERR(0, 515, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_file_2);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sub_tempita") < 0)) __PYX_ERR(0, 515, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_s = values[0];
    __pyx_v_context = values[1];
    __pyx_v_file = values[2];
    __pyx_v_name = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sub_tempita", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 515, __pyx_L3_error)
  __pyx_L3_error:;
  __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_2sub_tempita(__pyx_self, __pyx_v_s, __pyx_v_context, __pyx_v_file, __pyx_v_name);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_2sub_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_sub = 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 = NULL;
  __Pyx_RefNannySetupContext("sub_tempita", 0);

  /* "Cython/Compiler/Code.py":517
 * def sub_tempita(s, context, file=None, name=None):
 *     "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, 517, __pyx_L1_error)
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":518
 *     "Run tempita on string s with given context."
 *     if not s:
 *         return None             # <<<<<<<<<<<<<<
 * 
 *     if file:
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_None);
    __pyx_r = Py_None;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":517
 * def sub_tempita(s, context, file=None, name=None):
 *     "Run tempita on string s with given context."
 *     if not s:             # <<<<<<<<<<<<<<
 *         return None
 * 
 */
  }

  /* "Cython/Compiler/Code.py":520
 *         return None
 * 
 *     if file:             # <<<<<<<<<<<<<<
 *         context['__name'] = "%s:%s" % (file, name)
 *     elif name:
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_file); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 520, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":521
 * 
 *     if file:
 *         context['__name'] = "%s:%s" % (file, name)             # <<<<<<<<<<<<<<
 *     elif name:
 *         context['__name'] = name
 */
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_file);
    __Pyx_GIVEREF(__pyx_v_file);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_file);
    __Pyx_INCREF(__pyx_v_name);
    __Pyx_GIVEREF(__pyx_v_name);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_name);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_s_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(PyObject_SetItem(__pyx_v_context, __pyx_n_s_name_3, __pyx_t_4) < 0)) __PYX_ERR(0, 521, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":520
 *         return None
 * 
 *     if file:             # <<<<<<<<<<<<<<
 *         context['__name'] = "%s:%s" % (file, name)
 *     elif name:
 */
    goto __pyx_L4;
  }

  /* "Cython/Compiler/Code.py":522
 *     if file:
 *         context['__name'] = "%s:%s" % (file, name)
 *     elif name:             # <<<<<<<<<<<<<<
 *         context['__name'] = name
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 522, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":523
 *         context['__name'] = "%s:%s" % (file, name)
 *     elif name:
 *         context['__name'] = name             # <<<<<<<<<<<<<<
 * 
 *     from ..Tempita import sub
 */
    if (unlikely(PyObject_SetItem(__pyx_v_context, __pyx_n_s_name_3, __pyx_v_name) < 0)) __PYX_ERR(0, 523, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":522
 *     if file:
 *         context['__name'] = "%s:%s" % (file, name)
 *     elif name:             # <<<<<<<<<<<<<<
 *         context['__name'] = name
 * 
 */
  }
  __pyx_L4:;

  /* "Cython/Compiler/Code.py":525
 *         context['__name'] = name
 * 
 *     from ..Tempita import sub             # <<<<<<<<<<<<<<
 *     return sub(s, **context)
 * 
 */
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_s_sub);
  __Pyx_GIVEREF(__pyx_n_s_sub);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_sub);
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_Tempita, __pyx_t_4, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_sub); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_v_sub = __pyx_t_4;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":526
 * 
 *     from ..Tempita import sub
 *     return sub(s, **context)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_s);
  __Pyx_GIVEREF(__pyx_v_s);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_s);
  if (unlikely(__pyx_v_context == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
    __PYX_ERR(0, 526, __pyx_L1_error)
  }
  if (likely(PyDict_CheckExact(__pyx_v_context))) {
    __pyx_t_4 = PyDict_Copy(__pyx_v_context); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  } else {
    __pyx_t_4 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_context, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_sub, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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":515
 * 
 * 
 * def sub_tempita(s, context, file=None, name=None):             # <<<<<<<<<<<<<<
 *     "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_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.sub_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_sub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":530
 * 
 * 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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  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;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,&__pyx_n_s_proto,&__pyx_n_s_impl,&__pyx_n_s_init,&__pyx_n_s_file_2,&__pyx_n_s_context,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    values[2] = ((PyObject *)((PyObject *)Py_None));
    values[3] = ((PyObject *)((PyObject *)Py_None));
    values[4] = ((PyObject *)((PyObject *)Py_None));
    values[5] = ((PyObject *)((PyObject *)Py_None));
    values[6] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_proto);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_impl);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_init);
          if (value) { values[4] = value; kw_args--; }
        }
        case  5:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_file_2);
          if (value) { values[5] = value; kw_args--; }
        }
        case  6:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context);
          if (value) { values[6] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 530, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __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_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 530, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __Pyx_XDECREF(__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;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __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":531
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             context = {}
 *         proto = sub_tempita(proto, context, file, name)
 */
  __pyx_t_1 = (__pyx_v_context == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":532
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:
 *             context = {}             # <<<<<<<<<<<<<<
 *         proto = sub_tempita(proto, context, file, name)
 *         impl = sub_tempita(impl, context, file, name)
 */
    __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF_SET(__pyx_v_context, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":531
 * class TempitaUtilityCode(UtilityCode):
 *     def __init__(self, name=None, proto=None, impl=None, init=None, file=None, context=None, **kwargs):
 *         if context is None:             # <<<<<<<<<<<<<<
 *             context = {}
 *         proto = sub_tempita(proto, context, file, name)
 */
  }

  /* "Cython/Compiler/Code.py":533
 *         if context is None:
 *             context = {}
 *         proto = sub_tempita(proto, context, file, name)             # <<<<<<<<<<<<<<
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)
 */
  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_sub_tempita); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_proto, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_proto, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_v_proto);
    __Pyx_GIVEREF(__pyx_v_proto);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_proto);
    __Pyx_INCREF(__pyx_v_context);
    __Pyx_GIVEREF(__pyx_v_context);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_context);
    __Pyx_INCREF(__pyx_v_file);
    __Pyx_GIVEREF(__pyx_v_file);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_file);
    __Pyx_INCREF(__pyx_v_name);
    __Pyx_GIVEREF(__pyx_v_name);
    PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_name);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF_SET(__pyx_v_proto, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":534
 *             context = {}
 *         proto = sub_tempita(proto, context, file, name)
 *         impl = sub_tempita(impl, context, file, name)             # <<<<<<<<<<<<<<
 *         init = sub_tempita(init, context, file, name)
 *         super(TempitaUtilityCode, self).__init__(
 */
  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_sub_tempita); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_impl, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_impl, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_7) {
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
    }
    __Pyx_INCREF(__pyx_v_impl);
    __Pyx_GIVEREF(__pyx_v_impl);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_impl);
    __Pyx_INCREF(__pyx_v_context);
    __Pyx_GIVEREF(__pyx_v_context);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_context);
    __Pyx_INCREF(__pyx_v_file);
    __Pyx_GIVEREF(__pyx_v_file);
    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_file);
    __Pyx_INCREF(__pyx_v_name);
    __Pyx_GIVEREF(__pyx_v_name);
    PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, __pyx_v_name);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF_SET(__pyx_v_impl, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":535
 *         proto = sub_tempita(proto, context, file, name)
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)             # <<<<<<<<<<<<<<
 *         super(TempitaUtilityCode, self).__init__(
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 */
  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_sub_tempita); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_init, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_init, __pyx_v_context, __pyx_v_file, __pyx_v_name};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_v_init);
    __Pyx_GIVEREF(__pyx_v_init);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_init);
    __Pyx_INCREF(__pyx_v_context);
    __Pyx_GIVEREF(__pyx_v_context);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_context);
    __Pyx_INCREF(__pyx_v_file);
    __Pyx_GIVEREF(__pyx_v_file);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_file);
    __Pyx_INCREF(__pyx_v_name);
    __Pyx_GIVEREF(__pyx_v_name);
    PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_name);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF_SET(__pyx_v_init, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":536
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)
 *         super(TempitaUtilityCode, self).__init__(             # <<<<<<<<<<<<<<
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_TempitaUtilityCode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
  __Pyx_INCREF(__pyx_v_self);
  __Pyx_GIVEREF(__pyx_v_self);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_self);
  __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __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_n_s_init_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":537
 *         init = sub_tempita(init, context, file, name)
 *         super(TempitaUtilityCode, self).__init__(
 *             proto, impl, init=init, name=name, file=file, **kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
 */
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_proto);
  __Pyx_GIVEREF(__pyx_v_proto);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_proto);
  __Pyx_INCREF(__pyx_v_impl);
  __Pyx_GIVEREF(__pyx_v_impl);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_impl);

  /* "Cython/Compiler/Code.py":536
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)
 *         super(TempitaUtilityCode, self).__init__(             # <<<<<<<<<<<<<<
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 */
  __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "Cython/Compiler/Code.py":537
 *         init = sub_tempita(init, context, file, name)
 *         super(TempitaUtilityCode, self).__init__(
 *             proto, impl, init=init, name=name, file=file, **kwargs)             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
 */
  if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init, __pyx_v_init) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_name, __pyx_v_name) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_file_2, __pyx_v_file) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
  __pyx_t_7 = __pyx_t_5;
  __pyx_t_5 = 0;
  if (__Pyx_MergeKeywords(__pyx_t_7, __pyx_v_kwargs) < 0) __PYX_ERR(0, 537, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":536
 *         impl = sub_tempita(impl, context, file, name)
 *         init = sub_tempita(init, context, file, name)
 *         super(TempitaUtilityCode, self).__init__(             # <<<<<<<<<<<<<<
 *             proto, impl, init=init, name=name, file=file, **kwargs)
 * 
 */
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 536, __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_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":530
 * 
 * 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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":540
 * 
 *     @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
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_10__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__defaults__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(((PyObject *)Py_None));
  __Pyx_GIVEREF(((PyObject *)Py_None));
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_None));
  __Pyx_INCREF(((PyObject *)Py_None));
  __Pyx_GIVEREF(((PyObject *)Py_None));
  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)Py_None));
  __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self)->__pyx_arg___cache);
  __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self)->__pyx_arg___cache);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self)->__pyx_arg___cache);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
  __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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached = {"load_cached", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  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___cache = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_cached (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cls,&__pyx_n_s_utility_code_name,&__pyx_n_s_from_file,&__pyx_n_s_context,&__pyx_n_s_cache,0};
    PyObject* values[5] = {0,0,0,0,0};
    __pyx_defaults2 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self);
    values[2] = ((PyObject *)((PyObject *)Py_None));
    values[3] = ((PyObject *)((PyObject *)Py_None));
    values[4] = __pyx_dynamic_args->__pyx_arg___cache;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cls)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_utility_code_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 5, 1); __PYX_ERR(0, 540, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_from_file);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cache);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load_cached") < 0)) __PYX_ERR(0, 540, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __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___cache = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("load_cached", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 540, __pyx_L3_error)
  __pyx_L3_error:;
  __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___cache);

  /* function exit code */
  __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___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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  Py_hash_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  __Pyx_RefNannySetupContext("load_cached", 0);

  /* "Cython/Compiler/Code.py":541
 *     @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, 541, __pyx_L1_error)
  if (__pyx_t_2) {
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_context, __pyx_n_s_items); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_3 = ((PyObject*)__pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_t_7 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 541, __pyx_L1_error)
    if (unlikely(__pyx_t_3 == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(0, 541, __pyx_L1_error)
    }
    __pyx_t_5 = PyList_AsTuple(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = __pyx_t_5;
    __pyx_t_5 = 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":542
 *     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(!Py_OptimizeFlag)) {
    __pyx_t_8 = PyObject_Hash(__pyx_v_context_key); if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 542, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyInt_FromHash_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 542, __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 != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 542, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":543
 *         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, 543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_cls);
  __Pyx_GIVEREF(__pyx_v_cls);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cls);
  __Pyx_INCREF(__pyx_v_from_file);
  __Pyx_GIVEREF(__pyx_v_from_file);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_from_file);
  __Pyx_INCREF(__pyx_v_utility_code_name);
  __Pyx_GIVEREF(__pyx_v_utility_code_name);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_utility_code_name);
  __Pyx_INCREF(__pyx_v_context_key);
  __Pyx_GIVEREF(__pyx_v_context_key);
  PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_context_key);
  __pyx_v_key = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":544
 *         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_9, &__pyx_t_10, &__pyx_t_11);
    __Pyx_XGOTREF(__pyx_t_9);
    __Pyx_XGOTREF(__pyx_t_10);
    __Pyx_XGOTREF(__pyx_t_11);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":545
 *         key = (cls, from_file, utility_code_name, context_key)
 *         try:
 *             return __cache[key]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             pass
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = PyObject_GetItem(__pyx_v___cache, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __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":544
 *         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_PyThreadState_assign
    __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;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

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

    /* "Cython/Compiler/Code.py":544
 *         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_assign
    __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_L7_try_return:;
    __Pyx_PyThreadState_assign
    __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_L0;
    __pyx_L4_exception_handled:;
    __Pyx_PyThreadState_assign
    __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);
  }

  /* "Cython/Compiler/Code.py":548
 *         except KeyError:
 *             pass
 *         code = __cache[key] = cls.load(utility_code_name, from_file, context=context)             # <<<<<<<<<<<<<<
 *         return code
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_load); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF(__pyx_v_utility_code_name);
  __Pyx_GIVEREF(__pyx_v_utility_code_name);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_utility_code_name);
  __Pyx_INCREF(__pyx_v_from_file);
  __Pyx_GIVEREF(__pyx_v_from_file);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_from_file);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_context, __pyx_v_context) < 0) __PYX_ERR(0, 548, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_v_code = __pyx_t_4;
  if (unlikely(PyObject_SetItem(__pyx_v___cache, __pyx_v_key, __pyx_t_4) < 0)) __PYX_ERR(0, 548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":549
 *             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":540
 * 
 *     @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
 */

  /* 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_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":551
 *         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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __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)__pyx_pw_6Cython_8Compiler_4Code_18TempitaUtilityCode_5none_or_sub, METH_VARARGS|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, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("none_or_sub (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_s_4,&__pyx_n_s_context,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_s_4)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, 1); __PYX_ERR(0, 551, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, 2); __PYX_ERR(0, 551, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "none_or_sub") < 0)) __PYX_ERR(0, 551, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_s = values[1];
    __pyx_v_context = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("none_or_sub", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 551, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  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;
  __Pyx_RefNannySetupContext("none_or_sub", 0);

  /* "Cython/Compiler/Code.py":555
 *         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);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":556
 *         """
 *         if s is None:
 *             return None             # <<<<<<<<<<<<<<
 *         return sub_tempita(s, context, self.file, self.name)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_None);
    __pyx_r = Py_None;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":555
 *         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":557
 *         if s is None:
 *             return None
 *         return sub_tempita(s, context, self.file, self.name)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_sub_tempita); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_file_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_s, __pyx_v_context, __pyx_t_5, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_s, __pyx_v_context, __pyx_t_5, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else
  #endif
  {
    __pyx_t_9 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    if (__pyx_t_7) {
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
    }
    __Pyx_INCREF(__pyx_v_s);
    __Pyx_GIVEREF(__pyx_v_s);
    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_v_s);
    __Pyx_INCREF(__pyx_v_context);
    __Pyx_GIVEREF(__pyx_v_context);
    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_context);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_t_6);
    __pyx_t_5 = 0;
    __pyx_t_6 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  }
  __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":551
 *         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_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_9);
  __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":567
 *     __name__ = '<lazy>'
 * 
 *     def __init__(self, callback):             # <<<<<<<<<<<<<<
 *         self.callback = callback
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_callback,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 567, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 567, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_callback = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 567, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":568
 * 
 *     def __init__(self, callback):
 *         self.callback = callback             # <<<<<<<<<<<<<<
 * 
 *     def put_code(self, globalstate):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_callback, __pyx_v_callback) < 0) __PYX_ERR(0, 568, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":567
 *     __name__ = '<lazy>'
 * 
 *     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":570
 *         self.callback = callback
 * 
 *     def put_code(self, globalstate):             # <<<<<<<<<<<<<<
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code = {"put_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_globalstate = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_code (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_globalstate,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_globalstate)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_code", 1, 2, 2, 1); __PYX_ERR(0, 570, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_code") < 0)) __PYX_ERR(0, 570, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_globalstate = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_code", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 570, __pyx_L3_error)
  __pyx_L3_error:;
  __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);

  /* function exit code */
  __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_utility = 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;
  __Pyx_RefNannySetupContext("put_code", 0);

  /* "Cython/Compiler/Code.py":571
 * 
 *     def put_code(self, globalstate):
 *         utility = self.callback(globalstate.rootwriter)             # <<<<<<<<<<<<<<
 *         globalstate.use_utility_code(utility)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_globalstate, __pyx_n_s_rootwriter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_utility = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":572
 *     def put_code(self, globalstate):
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_globalstate, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_utility); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_utility};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_utility};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_v_utility);
      __Pyx_GIVEREF(__pyx_v_utility);
      PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_utility);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":570
 *         self.callback = callback
 * 
 *     def put_code(self, globalstate):             # <<<<<<<<<<<<<<
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility)
 */

  /* 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.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":588
 * 
 *     # 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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_owner,&__pyx_n_s_names_taken,&__pyx_n_s_scope,0};
    PyObject* values[3] = {0,0,0};
    values[1] = __pyx_k__43;
    values[2] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_owner)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_names_taken);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_scope);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 588, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_owner = values[0];
    __pyx_v_names_taken = values[1];
    __pyx_v_scope = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 588, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":589
 *     # 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
 */
  if (!(likely(PySet_CheckExact(__pyx_v_names_taken))||((__pyx_v_names_taken) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_names_taken)->tp_name), 0))) __PYX_ERR(0, 589, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_names_taken;
  __Pyx_INCREF(__pyx_t_1);
  __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":590
 *     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":591
 *         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":593
 *         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":594
 * 
 *         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":595
 *         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, 595, __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":596
 *         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 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->new_label(__pyx_v_self, 0, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __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":597
 *         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 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_new_error_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __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":598
 *         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":599
 *         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":600
 *         self.continue_label = None
 *         self.break_label = None
 *         self.yield_labels = []             # <<<<<<<<<<<<<<
 * 
 *         self.in_try_finally = 0
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 600, __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":602
 *         self.yield_labels = []
 * 
 *         self.in_try_finally = 0             # <<<<<<<<<<<<<<
 *         self.exc_vars = None
 *         self.can_trace = False
 */
  __pyx_v_self->in_try_finally = 0;

  /* "Cython/Compiler/Code.py":603
 * 
 *         self.in_try_finally = 0
 *         self.exc_vars = None             # <<<<<<<<<<<<<<
 *         self.can_trace = False
 *         self.gil_owned = True
 */
  __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":604
 *         self.in_try_finally = 0
 *         self.exc_vars = None
 *         self.can_trace = False             # <<<<<<<<<<<<<<
 *         self.gil_owned = True
 * 
 */
  __pyx_v_self->can_trace = 0;

  /* "Cython/Compiler/Code.py":605
 *         self.exc_vars = 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":607
 *         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, 607, __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":608
 * 
 *         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.temp_counter = 0
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __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":609
 *         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.temp_counter = 0
 *         self.closure_temps = None
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __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":610
 *         self.temps_free = {} # (type, manage_ref) -> list of free vars with same type/managed status
 *         self.temps_used_type = {} # name -> (type, manage_ref)
 *         self.temp_counter = 0             # <<<<<<<<<<<<<<
 *         self.closure_temps = None
 * 
 */
  __pyx_v_self->temp_counter = 0;

  /* "Cython/Compiler/Code.py":611
 *         self.temps_used_type = {} # name -> (type, manage_ref)
 *         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":615
 *         # 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, 615, __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":621
 *         # 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":622
 *         # sections, in which case we introduce a race condition.
 *         self.should_declare_error_indicator = False
 *         self.uses_error_indicator = False             # <<<<<<<<<<<<<<
 * 
 *     # labels
 */
  __pyx_v_self->uses_error_indicator = 0;

  /* "Cython/Compiler/Code.py":588
 * 
 *     # 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_XDECREF(__pyx_t_3);
  __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":626
 *     # labels
 * 
 *     def new_label(self, name=None):             # <<<<<<<<<<<<<<
 *         n = self.label_counter
 *         self.label_counter = n + 1
 */

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3new_label(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_6Cython_8Compiler_4Code_13FunctionState_new_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, 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
  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;
  __Pyx_RefNannySetupContext("new_label", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_name = __pyx_optional_args->name;
    }
  }
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_new_label); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3new_label)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_name};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_name};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 626, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_name);
          __Pyx_GIVEREF(__pyx_v_name);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_name);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":627
 * 
 *     def new_label(self, name=None):
 *         n = self.label_counter             # <<<<<<<<<<<<<<
 *         self.label_counter = n + 1
 *         label = "%s%d" % (Naming.label_prefix, n)
 */
  __pyx_t_6 = __pyx_v_self->label_counter;
  __pyx_v_n = __pyx_t_6;

  /* "Cython/Compiler/Code.py":628
 *     def new_label(self, name=None):
 *         n = 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":629
 *         n = self.label_counter
 *         self.label_counter = n + 1
 *         label = "%s%d" % (Naming.label_prefix, n)             # <<<<<<<<<<<<<<
 *         if name is not None:
 *             label += '_' + name
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_label_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_d, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_label = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":630
 *         self.label_counter = n + 1
 *         label = "%s%d" % (Naming.label_prefix, n)
 *         if name is not None:             # <<<<<<<<<<<<<<
 *             label += '_' + name
 *         return label
 */
  __pyx_t_7 = (__pyx_v_name != Py_None);
  __pyx_t_8 = (__pyx_t_7 != 0);
  if (__pyx_t_8) {

    /* "Cython/Compiler/Code.py":631
 *         label = "%s%d" % (Naming.label_prefix, n)
 *         if name is not None:
 *             label += '_' + name             # <<<<<<<<<<<<<<
 *         return label
 * 
 */
    __pyx_t_2 = PyNumber_Add(__pyx_n_s__44, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_label, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_label, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":630
 *         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":632
 *         if name is not None:
 *             label += '_' + name
 *         return label             # <<<<<<<<<<<<<<
 * 
 *     def new_yield_label(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_label);
  __pyx_r = __pyx_v_label;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":626
 *     # labels
 * 
 *     def new_label(self, name=None):             # <<<<<<<<<<<<<<
 *         n = self.label_counter
 *         self.label_counter = n + 1
 */

  /* 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.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_3new_label(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_3new_label = {"new_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3new_label, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_3new_label(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_label (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_label") < 0)) __PYX_ERR(0, 626, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_label", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 626, __pyx_L3_error)
  __pyx_L3_error:;
  __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_2new_label(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_name);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_2new_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;
  __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, 626, __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":634
 *         return label
 * 
 *     def new_yield_label(self):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_yield')
 *         num_and_label = (len(self.yield_labels) + 1, label)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_yield_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_5new_yield_label = {"new_yield_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_yield_label, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_yield_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_yield_label (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_4new_yield_label(((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_4new_yield_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_label = NULL;
  PyObject *__pyx_v_num_and_label = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("new_yield_label", 0);

  /* "Cython/Compiler/Code.py":635
 * 
 *     def new_yield_label(self):
 *         label = self.new_label('resume_from_yield')             # <<<<<<<<<<<<<<
 *         num_and_label = (len(self.yield_labels) + 1, label)
 *         self.yield_labels.append(num_and_label)
 */
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.name = __pyx_n_s_resume_from_yield;
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->new_label(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_label = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":636
 *     def new_yield_label(self):
 *         label = self.new_label('resume_from_yield')
 *         num_and_label = (len(self.yield_labels) + 1, label)             # <<<<<<<<<<<<<<
 *         self.yield_labels.append(num_and_label)
 *         return num_and_label
 */
  __pyx_t_1 = __pyx_v_self->yield_labels;
  __Pyx_INCREF(__pyx_t_1);
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 636, __pyx_L1_error)
  }
  __pyx_t_3 = PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(0, 636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_3 + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_INCREF(__pyx_v_label);
  __Pyx_GIVEREF(__pyx_v_label);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_label);
  __pyx_t_1 = 0;
  __pyx_v_num_and_label = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":637
 *         label = self.new_label('resume_from_yield')
 *         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 '%s'", "append");
    __PYX_ERR(0, 637, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_self->yield_labels, __pyx_v_num_and_label); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(0, 637, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":638
 *         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):
 */
  __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":634
 *         return label
 * 
 *     def new_yield_label(self):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_yield')
 *         num_and_label = (len(self.yield_labels) + 1, label)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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":640
 *         return num_and_label
 * 
 *     def new_error_label(self):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label('error')
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_error_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_7new_error_label = {"new_error_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_error_label, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_error_label(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_error_label (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_6new_error_label(((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_6new_error_label(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_old_err_lbl = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_2;
  __Pyx_RefNannySetupContext("new_error_label", 0);

  /* "Cython/Compiler/Code.py":641
 * 
 *     def new_error_label(self):
 *         old_err_lbl = self.error_label             # <<<<<<<<<<<<<<
 *         self.error_label = self.new_label('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":642
 *     def new_error_label(self):
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label('error')             # <<<<<<<<<<<<<<
 *         return old_err_lbl
 * 
 */
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.name = __pyx_n_s_error;
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->new_label(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->error_label);
  __Pyx_DECREF(__pyx_v_self->error_label);
  __pyx_v_self->error_label = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":643
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label('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":640
 *         return num_and_label
 * 
 *     def new_error_label(self):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label('error')
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __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":645
 *         return old_err_lbl
 * 
 *     def get_loop_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
 */

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9get_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, 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;
  __Pyx_RefNannySetupContext("get_loop_labels", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_loop_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9get_loop_labels)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (!(likely(PyTuple_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 645, __pyx_L1_error)
      __pyx_r = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":646
 * 
 *     def get_loop_labels(self):
 *         return (             # <<<<<<<<<<<<<<
 *             self.continue_label,
 *             self.break_label)
 */
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":647
 *     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, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->continue_label);
  __Pyx_GIVEREF(__pyx_v_self->continue_label);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->continue_label);
  __Pyx_INCREF(__pyx_v_self->break_label);
  __Pyx_GIVEREF(__pyx_v_self->break_label);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->break_label);
  __pyx_r = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":645
 *         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_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9get_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_9get_loop_labels = {"get_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9get_loop_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_9get_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_loop_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_8get_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_8get_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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, 645, __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":650
 *             self.break_label)
 * 
 *     def set_loop_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label) = labels
 */

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11set_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, 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 *);
  __Pyx_RefNannySetupContext("set_loop_labels", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_loop_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11set_loop_labels)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_labels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 650, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_labels};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 650, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_labels};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 650, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_labels);
          __Pyx_GIVEREF(__pyx_v_labels);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_labels);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 650, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":652
 *     def set_loop_labels(self, labels):
 *         (self.continue_label,
 *          self.break_label) = labels             # <<<<<<<<<<<<<<
 * 
 *     def new_loop_labels(self):
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_labels))) || (PyList_CheckExact(__pyx_v_labels))) {
    PyObject* sequence = __pyx_v_labels;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 651, __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_t_2 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 651, __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, 651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_6(__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_6(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_3), 2) < 0) __PYX_ERR(0, 651, __pyx_L1_error)
    __pyx_t_6 = 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_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 651, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }

  /* "Cython/Compiler/Code.py":651
 * 
 *     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":652
 *     def set_loop_labels(self, labels):
 *         (self.continue_label,
 *          self.break_label) = labels             # <<<<<<<<<<<<<<
 * 
 *     def new_loop_labels(self):
 */
  __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":650
 *             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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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_11set_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_11set_loop_labels = {"set_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11set_loop_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11set_loop_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_loop_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10set_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_10set_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;
  __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, 650, __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":654
 *          self.break_label) = labels
 * 
 *     def new_loop_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13new_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_13new_loop_labels = {"new_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13new_loop_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13new_loop_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_loop_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12new_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_12new_loop_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_old_labels = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("new_loop_labels", 0);

  /* "Cython/Compiler/Code.py":655
 * 
 *     def new_loop_labels(self):
 *         old_labels = self.get_loop_labels()             # <<<<<<<<<<<<<<
 *         self.set_loop_labels(
 *             (self.new_label("continue"),
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->get_loop_labels(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_old_labels = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":657
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
 *             (self.new_label("continue"),             # <<<<<<<<<<<<<<
 *              self.new_label("break")))
 *         return old_labels
 */
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.name = __pyx_n_s_continue;
  __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->new_label(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":658
 *         self.set_loop_labels(
 *             (self.new_label("continue"),
 *              self.new_label("break")))             # <<<<<<<<<<<<<<
 *         return old_labels
 * 
 */
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.name = __pyx_n_s_break;
  __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->new_label(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "Cython/Compiler/Code.py":657
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
 *             (self.new_label("continue"),             # <<<<<<<<<<<<<<
 *              self.new_label("break")))
 *         return old_labels
 */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":656
 *     def new_loop_labels(self):
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(             # <<<<<<<<<<<<<<
 *             (self.new_label("continue"),
 *              self.new_label("break")))
 */
  __pyx_t_3 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->set_loop_labels(__pyx_v_self, __pyx_t_4, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":659
 *             (self.new_label("continue"),
 *              self.new_label("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":654
 *          self.break_label) = labels
 * 
 *     def new_loop_labels(self):             # <<<<<<<<<<<<<<
 *         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_3);
  __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":661
 *         return old_labels
 * 
 *     def get_all_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
 */

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15get_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, 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;
  __Pyx_RefNannySetupContext("get_all_labels", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_all_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15get_all_labels)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (!(likely(PyTuple_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 661, __pyx_L1_error)
      __pyx_r = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":662
 * 
 *     def get_all_labels(self):
 *         return (             # <<<<<<<<<<<<<<
 *             self.continue_label,
 *             self.break_label,
 */
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":663
 *     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, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->continue_label);
  __Pyx_GIVEREF(__pyx_v_self->continue_label);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->continue_label);
  __Pyx_INCREF(__pyx_v_self->break_label);
  __Pyx_GIVEREF(__pyx_v_self->break_label);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->break_label);
  __Pyx_INCREF(__pyx_v_self->return_label);
  __Pyx_GIVEREF(__pyx_v_self->return_label);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->return_label);
  __Pyx_INCREF(__pyx_v_self->error_label);
  __Pyx_GIVEREF(__pyx_v_self->error_label);
  PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->error_label);
  __pyx_r = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":661
 *         return old_labels
 * 
 *     def get_all_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
 */

  /* 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.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_15get_all_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_15get_all_labels = {"get_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15get_all_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15get_all_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_all_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14get_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_14get_all_labels(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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, 661, __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":668
 *             self.error_label)
 * 
 *     def set_all_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label,
 */

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17set_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, 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 *);
  __Pyx_RefNannySetupContext("set_all_labels", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_all_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17set_all_labels)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_labels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_labels};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_labels};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_labels);
          __Pyx_GIVEREF(__pyx_v_labels);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_labels);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":672
 *          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;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 4)) {
      if (size > 4) __Pyx_RaiseTooManyValuesError(4);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 669, __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_t_2 = PyTuple_GET_ITEM(sequence, 1); 
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); 
      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 2); 
      __pyx_t_5 = PyList_GET_ITEM(sequence, 3); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_5);
    #else
    {
      Py_ssize_t i;
      PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_2,&__pyx_t_3,&__pyx_t_5};
      for (i=0; i < 4; i++) {
        PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 669, __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_5};
    __pyx_t_4 = PyObject_GetIter(__pyx_v_labels); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;
    for (index=0; index < 4; index++) {
      PyObject* item = __pyx_t_6(__pyx_t_4); if (unlikely(!item)) goto __pyx_L3_unpacking_failed;
      __Pyx_GOTREF(item);
      *(temps[index]) = item;
    }
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_4), 4) < 0) __PYX_ERR(0, 669, __pyx_L1_error)
    __pyx_t_6 = 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_6 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 669, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }

  /* "Cython/Compiler/Code.py":669
 * 
 *     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":670
 *     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":671
 *         (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":672
 *          self.break_label,
 *          self.return_label,
 *          self.error_label) = labels             # <<<<<<<<<<<<<<
 * 
 *     def all_new_labels(self):
 */
  __Pyx_GIVEREF(__pyx_t_5);
  __Pyx_GOTREF(__pyx_v_self->error_label);
  __Pyx_DECREF(__pyx_v_self->error_label);
  __pyx_v_self->error_label = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":668
 *             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_17set_all_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_17set_all_labels = {"set_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17set_all_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_17set_all_labels(PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_all_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_16set_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_16set_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;
  __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, 668, __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":674
 *          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_19all_new_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_19all_new_labels = {"all_new_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19all_new_labels, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19all_new_labels(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_new_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_18all_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_18all_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;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  struct __pyx_opt_args_6Cython_8Compiler_4Code_13FunctionState_new_label __pyx_t_10;
  int __pyx_t_11;
  __Pyx_RefNannySetupContext("all_new_labels", 0);

  /* "Cython/Compiler/Code.py":675
 * 
 *     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 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->get_all_labels(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_old_labels = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":676
 *     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, 676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_labels = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":677
 *         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_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_continue);
  __Pyx_GIVEREF(__pyx_n_s_continue);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_continue);
  __Pyx_INCREF(__pyx_n_s_break);
  __Pyx_GIVEREF(__pyx_n_s_break);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_break);
  __Pyx_INCREF(__pyx_n_s_return);
  __Pyx_GIVEREF(__pyx_n_s_return);
  PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_return);
  __Pyx_INCREF(__pyx_n_s_error);
  __Pyx_GIVEREF(__pyx_n_s_error);
  PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_error);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_old_labels);
  __Pyx_GIVEREF(__pyx_v_old_labels);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_old_labels);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  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, 677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 677, __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))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 677, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 677, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 677, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 677, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 677, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 677, __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_t_6 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      #else
      __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 677, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 677, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 677, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
      index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 677, __pyx_L1_error)
      __pyx_t_8 = NULL;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_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, 677, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_old_label, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":678
 *         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_9 = __Pyx_PyObject_IsTrue(__pyx_v_old_label); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 678, __pyx_L1_error)
    if (__pyx_t_9) {

      /* "Cython/Compiler/Code.py":679
 *         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_10.__pyx_n = 1;
      __pyx_t_10.name = __pyx_v_name;
      __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->new_label(__pyx_v_self, 0, &__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_new_labels, __pyx_t_1); if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 679, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":678
 *         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":681
 *                 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_11 = __Pyx_PyList_Append(__pyx_v_new_labels, __pyx_v_old_label); if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 681, __pyx_L1_error)
    }
    __pyx_L7:;

    /* "Cython/Compiler/Code.py":677
 *         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_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":682
 *             else:
 *                 new_labels.append(old_label)
 *         self.set_all_labels(new_labels)             # <<<<<<<<<<<<<<
 *         return old_labels
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->set_all_labels(__pyx_v_self, __pyx_v_new_labels, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":683
 *                 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":674
 *          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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":685
 *         return old_labels
 * 
 *     def use_label(self, lbl):             # <<<<<<<<<<<<<<
 *         self.labels_used.add(lbl)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21use_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_21use_label = {"use_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21use_label, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21use_label(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_label (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_20use_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_20use_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;
  __Pyx_RefNannySetupContext("use_label", 0);

  /* "Cython/Compiler/Code.py":686
 * 
 *     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 '%s'", "add");
    __PYX_ERR(0, 686, __pyx_L1_error)
  }
  __pyx_t_1 = PySet_Add(__pyx_v_self->labels_used, __pyx_v_lbl); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(0, 686, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":685
 *         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":688
 *         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_23label_used(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_23label_used = {"label_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23label_used, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23label_used(PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_used (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_22label_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_22label_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;
  __Pyx_RefNannySetupContext("label_used", 0);

  /* "Cython/Compiler/Code.py":689
 * 
 *     def label_used(self, lbl):
 *         return lbl in self.labels_used             # <<<<<<<<<<<<<<
 * 
 *     # temp handling
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_lbl, __pyx_v_self->labels_used, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 689, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":688
 *         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":693
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False):             # <<<<<<<<<<<<<<
 *         """
 *         Allocates a temporary (which may create a new one or get a previously
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25allocate_temp(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_24allocate_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.is_pyobject, 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.is_pyobject, 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 Python object.\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        A C string referring to the variable is returned.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_25allocate_temp = {"allocate_temp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25allocate_temp, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_24allocate_temp};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25allocate_temp(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_manage_ref = 0;
  PyObject *__pyx_v_static = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allocate_temp (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_type,&__pyx_n_s_manage_ref,&__pyx_n_s_static,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_manage_ref)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("allocate_temp", 0, 2, 3, 1); __PYX_ERR(0, 693, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_static);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "allocate_temp") < 0)) __PYX_ERR(0, 693, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_type = values[0];
    __pyx_v_manage_ref = values[1];
    __pyx_v_static = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("allocate_temp", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 693, __pyx_L3_error)
  __pyx_L3_error:;
  __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_24allocate_temp(((struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self), __pyx_v_type, __pyx_v_manage_ref, __pyx_v_static);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13FunctionState_24allocate_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_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;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("allocate_temp", 0);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_INCREF(__pyx_v_manage_ref);

  /* "Cython/Compiler/Code.py":714
 *         A C string referring to the variable is returned.
 *         """
 *         if type.is_const and not type.is_reference:             # <<<<<<<<<<<<<<
 *             type = type.const_base_type
 *         elif type.is_reference and not type.is_fake_reference:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __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, 714, __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_n_s_is_reference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __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, 714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = ((!__pyx_t_3) != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":715
 *         """
 *         if type.is_const and not type.is_reference:
 *             type = type.const_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_n_s_const_base_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __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":714
 *         A C string referring to the variable is returned.
 *         """
 *         if type.is_const and not type.is_reference:             # <<<<<<<<<<<<<<
 *             type = type.const_base_type
 *         elif type.is_reference and not type.is_fake_reference:
 */
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":716
 *         if type.is_const and not type.is_reference:
 *             type = type.const_base_type
 *         elif type.is_reference and not type.is_fake_reference:             # <<<<<<<<<<<<<<
 *             type = type.ref_base_type
 *         if not type.is_pyobject and not type.is_memoryviewslice:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_reference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __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, 716, __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_n_s_is_fake_reference); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __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, 716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":717
 *             type = type.const_base_type
 *         elif type.is_reference and not type.is_fake_reference:
 *             type = type.ref_base_type             # <<<<<<<<<<<<<<
 *         if not type.is_pyobject and not type.is_memoryviewslice:
 *             # Make manage_ref canonical, so that manage_ref will always mean
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_ref_base_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 717, __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":716
 *         if type.is_const and not type.is_reference:
 *             type = type.const_base_type
 *         elif type.is_reference and not type.is_fake_reference:             # <<<<<<<<<<<<<<
 *             type = type.ref_base_type
 *         if not type.is_pyobject and not type.is_memoryviewslice:
 */
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":718
 *         elif type.is_reference and not type.is_fake_reference:
 *             type = type.ref_base_type
 *         if not type.is_pyobject and not type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *             # Make manage_ref canonical, so that manage_ref will always mean
 *             # a decref is needed.
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 718, __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, 718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = ((!__pyx_t_3) != 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_type, __pyx_n_s_is_memoryviewslice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 718, __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, 718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L9_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":721
 *             # 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":718
 *         elif type.is_reference and not type.is_fake_reference:
 *             type = type.ref_base_type
 *         if not type.is_pyobject and not type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *             # Make manage_ref canonical, so that manage_ref will always mean
 *             # a decref is needed.
 */
  }

  /* "Cython/Compiler/Code.py":723
 *             manage_ref = False
 * 
 *         freelist = self.temps_free.get((type, manage_ref))             # <<<<<<<<<<<<<<
 *         if 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 '%s'", "get");
    __PYX_ERR(0, 723, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_type);
  __Pyx_INCREF(__pyx_v_manage_ref);
  __Pyx_GIVEREF(__pyx_v_manage_ref);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_manage_ref);
  __pyx_t_5 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->temps_free, __pyx_t_2, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_freelist = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":724
 * 
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if freelist is not None and freelist[0]:             # <<<<<<<<<<<<<<
 *             result = freelist[0].pop()
 *             freelist[1].remove(result)
 */
  __pyx_t_3 = (__pyx_v_freelist != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L12_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_freelist, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __pyx_t_4;
  __pyx_L12_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":725
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if freelist is not None and freelist[0]:
 *             result = freelist[0].pop()             # <<<<<<<<<<<<<<
 *             freelist[1].remove(result)
 *         else:
 */
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_freelist, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_2 = __Pyx_PyObject_Pop(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_result = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":726
 *         if freelist is not None and freelist[0]:
 *             result = freelist[0].pop()
 *             freelist[1].remove(result)             # <<<<<<<<<<<<<<
 *         else:
 *             while True:
 */
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_remove); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_result};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_result};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 726, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_INCREF(__pyx_v_result);
        __Pyx_GIVEREF(__pyx_v_result);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_result);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":724
 * 
 *         freelist = self.temps_free.get((type, manage_ref))
 *         if freelist is not None and freelist[0]:             # <<<<<<<<<<<<<<
 *             result = freelist[0].pop()
 *             freelist[1].remove(result)
 */
    goto __pyx_L11;
  }

  /* "Cython/Compiler/Code.py":728
 *             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":729
 *         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":730
 *             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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_codewriter_temp_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 730, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_self->temp_counter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 730, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 730, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
      __pyx_t_2 = 0;
      __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_s_d, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 730, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":731
 *                 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))
 *         self.temps_used_type[result] = (type, manage_ref)
 */
      __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_result, __pyx_v_self->names_taken, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 731, __pyx_L1_error)
      __pyx_t_4 = (__pyx_t_1 != 0);
      if (__pyx_t_4) {
        goto __pyx_L15_break;
      }
    }
    __pyx_L15_break:;

    /* "Cython/Compiler/Code.py":732
 *                 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))             # <<<<<<<<<<<<<<
 *         self.temps_used_type[result] = (type, manage_ref)
 *         if DebugFlags.debug_temp_code_comments:
 */
    if (unlikely(__pyx_v_self->temps_allocated == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
      __PYX_ERR(0, 732, __pyx_L1_error)
    }
    if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 732, __pyx_L1_error) }
    __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_result);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_manage_ref);
    __Pyx_GIVEREF(__pyx_v_manage_ref);
    PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_manage_ref);
    __Pyx_INCREF(__pyx_v_static);
    __Pyx_GIVEREF(__pyx_v_static);
    PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_v_static);
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->temps_allocated, __pyx_t_6); if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 732, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_L11:;

  /* "Cython/Compiler/Code.py":733
 *                 if result not in self.names_taken: break
 *             self.temps_allocated.append((result, type, manage_ref, static))
 *         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) *[inserted by cython to avoid comment closer]/" % (result, type))
 */
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_type);
  __Pyx_INCREF(__pyx_v_manage_ref);
  __Pyx_GIVEREF(__pyx_v_manage_ref);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_manage_ref);
  if (unlikely(__pyx_v_self->temps_used_type == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 733, __pyx_L1_error)
  }
  if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 733, __pyx_L1_error) }
  if (unlikely(PyDict_SetItem(__pyx_v_self->temps_used_type, __pyx_v_result, __pyx_t_6) < 0)) __PYX_ERR(0, 733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":734
 *             self.temps_allocated.append((result, type, manage_ref, static))
 *         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) *[inserted by cython to avoid comment closer]/" % (result, type))
 * 
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_DebugFlags, __pyx_n_s_debug_temp_code_comments); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":735
 *         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) *[inserted by cython to avoid comment closer]/" % (result, type))             # <<<<<<<<<<<<<<
 * 
 *         if self.collect_temps_stack:
 */
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->owner, __pyx_n_s_putln); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 735, __pyx_L1_error) }
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_result);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s_allocated_s, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_2) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 735, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 735, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 735, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 735, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __pyx_t_2 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 735, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":734
 *             self.temps_allocated.append((result, type, manage_ref, static))
 *         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) *[inserted by cython to avoid comment closer]/" % (result, type))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":737
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s) *[inserted by cython to avoid comment closer]/" % (result, type))
 * 
 *         if self.collect_temps_stack:             # <<<<<<<<<<<<<<
 *             self.collect_temps_stack[-1].add((result, type))
 * 
 */
  __pyx_t_4 = (__pyx_v_self->collect_temps_stack != Py_None) && (PyList_GET_SIZE(__pyx_v_self->collect_temps_stack) != 0);
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":738
 * 
 *         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, 738, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_self->collect_temps_stack, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_add); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 738, __pyx_L1_error) }
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_result);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_type);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_9, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 738, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 738, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 738, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      {
        __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_7);
        __pyx_t_7 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 738, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":737
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s allocated (%s) *[inserted by cython to avoid comment closer]/" % (result, type))
 * 
 *         if self.collect_temps_stack:             # <<<<<<<<<<<<<<
 *             self.collect_temps_stack[-1].add((result, type))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":740
 *             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, 740, __pyx_L1_error) }
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":693
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False):             # <<<<<<<<<<<<<<
 *         """
 *         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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.allocate_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":742
 *         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_27release_temp(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_26release_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_27release_temp = {"release_temp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_27release_temp, METH_O, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_26release_temp};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_27release_temp(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("release_temp (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_26release_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_26release_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;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("release_temp", 0);

  /* "Cython/Compiler/Code.py":747
 *         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, 747, __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, 747, __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;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 747, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 747, __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, 747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    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, 747, __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, 747, __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":748
 *         """
 *         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 '%s'", "get");
    __PYX_ERR(0, 748, __pyx_L1_error)
  }
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_type);
  __Pyx_INCREF(__pyx_v_manage_ref);
  __Pyx_GIVEREF(__pyx_v_manage_ref);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_manage_ref);
  __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->temps_free, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 748, __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":749
 *         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);
  __pyx_t_7 = (__pyx_t_6 != 0);
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":750
 *         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, 750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
    __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":751
 *         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, 751, __pyx_L1_error)
    }
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_manage_ref);
    __Pyx_GIVEREF(__pyx_v_manage_ref);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_manage_ref);
    if (unlikely(PyDict_SetItem(__pyx_v_self->temps_free, __pyx_t_2, __pyx_v_freelist) < 0)) __PYX_ERR(0, 751, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":749
 *         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":752
 *             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)
 *         freelist[0].append(name)
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (__pyx_t_7 != 0);
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":753
 *             self.temps_free[(type, manage_ref)] = freelist
 *         if name in freelist[1]:
 *             raise RuntimeError("Temp %s freed twice!" % name)             # <<<<<<<<<<<<<<
 *         freelist[0].append(name)
 *         freelist[1].add(name)
 */
    __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_Temp_s_freed_twice, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 753, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":752
 *             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)
 *         freelist[0].append(name)
 */
  }

  /* "Cython/Compiler/Code.py":754
 *         if name in freelist[1]:
 *             raise RuntimeError("Temp %s freed twice!" % name)
 *         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_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 754, __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 == -1)) __PYX_ERR(0, 754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":755
 *             raise RuntimeError("Temp %s freed twice!" % name)
 *         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 *[inserted by cython to avoid comment closer]/" % name)
 */
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_add); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_name};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 755, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_name};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 755, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_v_name);
      __Pyx_GIVEREF(__pyx_v_name);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_name);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __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;

  /* "Cython/Compiler/Code.py":756
 *         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 *[inserted by cython to avoid comment closer]/" % name)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_DebugFlags, __pyx_n_s_debug_temp_code_comments); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 756, __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, 756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":757
 *         freelist[1].add(name)
 *         if DebugFlags.debug_temp_code_comments:
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released *[inserted by cython to avoid comment closer]/" % name)             # <<<<<<<<<<<<<<
 * 
 *     def temps_in_use(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->owner, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_released, __pyx_v_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_1) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 757, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 757, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 757, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 757, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1); __pyx_t_1 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 757, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":756
 *         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 *[inserted by cython to avoid comment closer]/" % name)
 * 
 */
  }

  /* "Cython/Compiler/Code.py":742
 *         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":759
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released *[inserted by cython to avoid comment closer]/" % name)
 * 
 *     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_29temps_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, 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;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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)(PyObject *);
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_t_12;
  int __pyx_t_13;
  __Pyx_RefNannySetupContext("temps_in_use", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_temps_in_use); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_29temps_in_use)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 759, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 759, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 759, __pyx_L1_error)
      __pyx_r = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":763
 *         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, 763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_used = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":764
 *         """
 *         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, 764, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_v_self->temps_allocated; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
  for (;;) {
    if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 764, __pyx_L1_error)
    #else
    __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
      PyObject* sequence = __pyx_t_2;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 4)) {
        if (size > 4) __Pyx_RaiseTooManyValuesError(4);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 764, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); 
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 3); 
      } else {
        __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 2); 
        __pyx_t_7 = PyList_GET_ITEM(sequence, 3); 
      }
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      #else
      {
        Py_ssize_t i;
        PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_6,&__pyx_t_7};
        for (i=0; i < 4; i++) {
          PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 764, __pyx_L1_error)
          __Pyx_GOTREF(item);
          *(temps[i]) = item;
        }
      }
      #endif
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else {
      Py_ssize_t index = -1;
      PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_4,&__pyx_t_6,&__pyx_t_7};
      __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
      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, 764, __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, 764, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_4);
    __pyx_t_4 = 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":765
 *         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.is_pyobject))
 */
    if (unlikely(__pyx_v_self->temps_free == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
      __PYX_ERR(0, 765, __pyx_L1_error)
    }
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_manage_ref);
    __Pyx_GIVEREF(__pyx_v_manage_ref);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_manage_ref);
    __pyx_t_7 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->temps_free, __pyx_t_2, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF_SET(__pyx_v_freelist, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":766
 *         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.is_pyobject))
 *         return used
 */
    __pyx_t_11 = (__pyx_v_freelist == Py_None);
    __pyx_t_12 = (__pyx_t_11 != 0);
    if (!__pyx_t_12) {
    } else {
      __pyx_t_10 = __pyx_t_12;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_freelist, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_12 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_7, Py_NE)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 766, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_11 = (__pyx_t_12 != 0);
    __pyx_t_10 = __pyx_t_11;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_10) {

      /* "Cython/Compiler/Code.py":767
 *             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.is_pyobject))             # <<<<<<<<<<<<<<
 *         return used
 * 
 */
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_manage_ref); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 767, __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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_7 = __pyx_t_2;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_L10_bool_binop_done:;
      __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_v_name);
      __Pyx_GIVEREF(__pyx_v_name);
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_name);
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_used, __pyx_t_2); if (unlikely(__pyx_t_13 == -1)) __PYX_ERR(0, 767, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":766
 *         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.is_pyobject))
 *         return used
 */
    }

    /* "Cython/Compiler/Code.py":764
 *         """
 *         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":768
 *             if freelist is None or name not in freelist[1]:
 *                 used.append((name, type, manage_ref and type.is_pyobject))
 *         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":759
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released *[inserted by cython to avoid comment closer]/" % name)
 * 
 *     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_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.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_29temps_in_use(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_28temps_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_29temps_in_use = {"temps_in_use", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_29temps_in_use, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_28temps_in_use};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_29temps_in_use(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("temps_in_use (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_28temps_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_28temps_in_use(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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, 759, __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":770
 *         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 of a
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_holding_reference(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_30temps_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 of a\n        Python object type which owns its reference.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_31temps_holding_reference = {"temps_holding_reference", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_holding_reference, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_30temps_holding_reference};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_holding_reference(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("temps_holding_reference (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30temps_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_30temps_holding_reference(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_type = NULL;
  PyObject *__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;
  __Pyx_RefNannySetupContext("temps_holding_reference", 0);

  /* "Cython/Compiler/Code.py":775
 *         Python object type which owns its reference.
 *         """
 *         return [(name, type)             # <<<<<<<<<<<<<<
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref  and type.is_pyobject]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":776
 *         """
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()             # <<<<<<<<<<<<<<
 *                 if manage_ref  and type.is_pyobject]
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_4Code_FunctionState *)__pyx_v_self->__pyx_vtab)->temps_in_use(__pyx_v_self, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L1_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, 776, __pyx_L1_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 (;;) {
    if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 776, __pyx_L1_error)
    #else
    __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
      PyObject* sequence = __pyx_t_2;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 776, __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_t_6 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2); 
      } else {
        __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_7 = PyList_GET_ITEM(sequence, 2); 
      }
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      #else
      __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 776, __pyx_L1_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, 776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
      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, 776, __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, 776, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_manage_ref, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":777
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref  and type.is_pyobject]             # <<<<<<<<<<<<<<
 * 
 *     def all_managed_temps(self):
 */
    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_manage_ref); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 777, __pyx_L1_error)
    if (__pyx_t_11) {
    } else {
      __pyx_t_10 = __pyx_t_11;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 777, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_10 = __pyx_t_11;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_10) {

      /* "Cython/Compiler/Code.py":775
 *         Python object type which owns its reference.
 *         """
 *         return [(name, type)             # <<<<<<<<<<<<<<
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref  and type.is_pyobject]
 */
      __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 775, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_v_name);
      __Pyx_GIVEREF(__pyx_v_name);
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_name);
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 775, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":777
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()
 *                 if manage_ref  and type.is_pyobject]             # <<<<<<<<<<<<<<
 * 
 *     def all_managed_temps(self):
 */
    }

    /* "Cython/Compiler/Code.py":776
 *         """
 *         return [(name, type)
 *                 for name, type, manage_ref in self.temps_in_use()             # <<<<<<<<<<<<<<
 *                 if manage_ref  and type.is_pyobject]
 * 
 */
  }
  __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":770
 *         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 of a
 */

  /* 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_v_name);
  __Pyx_XDECREF(__pyx_v_type);
  __Pyx_XDECREF(__pyx_v_manage_ref);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":779
 *                 if manage_ref  and type.is_pyobject]
 * 
 *     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_33all_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_32all_managed_temps[] = "Return a list of (cname, type) tuples of refcount-managed Python objects.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_33all_managed_temps = {"all_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_33all_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_32all_managed_temps};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_33all_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_managed_temps (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_32all_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_32all_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_type = NULL;
  PyObject *__pyx_v_manage_ref = NULL;
  CYTHON_UNUSED PyObject *__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;
  __Pyx_RefNannySetupContext("all_managed_temps", 0);

  /* "Cython/Compiler/Code.py":782
 *         """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);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":783
 *         """
 *         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, 783, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_v_self->temps_allocated; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
  for (;;) {
    if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 783, __pyx_L1_error)
    #else
    __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 4)) {
        if (size > 4) __Pyx_RaiseTooManyValuesError(4);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 783, __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_t_6 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2); 
        __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); 
      } else {
        __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_7 = PyList_GET_ITEM(sequence, 2); 
        __pyx_t_8 = PyList_GET_ITEM(sequence, 3); 
      }
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__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 = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 783, __pyx_L1_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, 783, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
      for (index=0; index < 4; index++) {
        PyObject* item = __pyx_t_10(__pyx_t_9); if (unlikely(!item)) goto __pyx_L5_unpacking_failed;
        __Pyx_GOTREF(item);
        *(temps[index]) = item;
      }
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 4) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
      __pyx_t_10 = NULL;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_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, 783, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_manage_ref, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_static, __pyx_t_8);
    __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":784
 *         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_v_manage_ref); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 784, __pyx_L1_error)
    if (__pyx_t_11) {

      /* "Cython/Compiler/Code.py":782
 *         """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, 782, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_cname);
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_type);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 782, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":784
 *         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":783
 *         """
 *         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_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":779
 *                 if manage_ref  and type.is_pyobject]
 * 
 *     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_v_cname);
  __Pyx_XDECREF(__pyx_v_type);
  __Pyx_XDECREF(__pyx_v_manage_ref);
  __Pyx_XDECREF(__pyx_v_static);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":786
 *                 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_35all_free_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_34all_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_35all_free_managed_temps = {"all_free_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_35all_free_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_34all_free_managed_temps};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_35all_free_managed_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_free_managed_temps (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_34all_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_34all_free_managed_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_v_type = NULL;
  PyObject *__pyx_v_manage_ref = NULL;
  PyObject *__pyx_v_freelist = 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;
  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 *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  Py_ssize_t __pyx_t_13;
  PyObject *(*__pyx_t_14)(PyObject *);
  __Pyx_RefNannySetupContext("all_free_managed_temps", 0);

  /* "Cython/Compiler/Code.py":792
 *         error case.
 *         """
 *         return [(cname, type)             # <<<<<<<<<<<<<<
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *                 for cname in freelist[0]]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":793
 *         """
 *         return [(cname, type)
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref             # <<<<<<<<<<<<<<
 *                 for cname in freelist[0]]
 * 
 */
  if (unlikely(__pyx_v_self->temps_free == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "items");
    __PYX_ERR(0, 793, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyDict_Items(__pyx_v_self->temps_free); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 793, __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, 793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 793, __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))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 793, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 793, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 793, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 793, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      }
    } else {
      __pyx_t_2 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 793, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
      PyObject* sequence = __pyx_t_2;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 793, __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_t_7 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_6 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_7 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      #else
      __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 793, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 793, __pyx_L1_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, 793, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
      index = 0; __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 = 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, 793, __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, 793, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
      PyObject* sequence = __pyx_t_6;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 793, __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_t_10 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_8 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_10);
      #else
      __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 793, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 793, __pyx_L1_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, 793, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_9 = Py_TYPE(__pyx_t_11)->tp_iternext;
      index = 0; __pyx_t_8 = __pyx_t_9(__pyx_t_11); if (unlikely(!__pyx_t_8)) goto __pyx_L7_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_8);
      index = 1; __pyx_t_10 = __pyx_t_9(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L7_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_10);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_11), 2) < 0) __PYX_ERR(0, 793, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      goto __pyx_L8_unpacking_done;
      __pyx_L7_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 793, __pyx_L1_error)
      __pyx_L8_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_8);
    __pyx_t_8 = 0;
    __Pyx_XDECREF_SET(__pyx_v_manage_ref, __pyx_t_10);
    __pyx_t_10 = 0;
    __Pyx_XDECREF_SET(__pyx_v_freelist, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":794
 *         return [(cname, type)
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *                 for cname in freelist[0]]             # <<<<<<<<<<<<<<
 * 
 *     def start_collecting_temps(self):
 */
    __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_manage_ref); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 794, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":793
 *         """
 *         return [(cname, type)
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref             # <<<<<<<<<<<<<<
 *                 for cname in freelist[0]]
 * 
 */
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":794
 *         return [(cname, type)
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *                 for cname in freelist[0]]             # <<<<<<<<<<<<<<
 * 
 *     def start_collecting_temps(self):
 */
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_freelist, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
        __pyx_t_7 = __pyx_t_2; __Pyx_INCREF(__pyx_t_7); __pyx_t_13 = 0;
        __pyx_t_14 = NULL;
      } else {
        __pyx_t_13 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 794, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_14 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 794, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      for (;;) {
        if (likely(!__pyx_t_14)) {
          if (likely(PyList_CheckExact(__pyx_t_7))) {
            if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_7)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 794, __pyx_L1_error)
            #else
            __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            #endif
          } else {
            if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 794, __pyx_L1_error)
            #else
            __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            #endif
          }
        } else {
          __pyx_t_2 = __pyx_t_14(__pyx_t_7);
          if (unlikely(!__pyx_t_2)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 794, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_2);
        }
        __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":792
 *         error case.
 *         """
 *         return [(cname, type)             # <<<<<<<<<<<<<<
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *                 for cname in freelist[0]]
 */
        __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 792, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_INCREF(__pyx_v_cname);
        __Pyx_GIVEREF(__pyx_v_cname);
        PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cname);
        __Pyx_INCREF(__pyx_v_type);
        __Pyx_GIVEREF(__pyx_v_type);
        PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 792, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":794
 *         return [(cname, type)
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref
 *                 for cname in freelist[0]]             # <<<<<<<<<<<<<<
 * 
 *     def start_collecting_temps(self):
 */
      }
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":793
 *         """
 *         return [(cname, type)
 *                 for (type, manage_ref), freelist in self.temps_free.items() if manage_ref             # <<<<<<<<<<<<<<
 *                 for cname in freelist[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":786
 *                 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_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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_v_type);
  __Pyx_XDECREF(__pyx_v_manage_ref);
  __Pyx_XDECREF(__pyx_v_freelist);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":796
 *                 for cname in freelist[0]]
 * 
 *     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_37start_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, 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;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("start_collecting_temps", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start_collecting_temps); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_37start_collecting_temps)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 796, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 796, __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;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":800
 *         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 '%s'", "append");
    __PYX_ERR(0, 800, __pyx_L1_error)
  }
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_self->collect_temps_stack, __pyx_t_1); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(0, 800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":796
 *                 for cname in freelist[0]]
 * 
 *     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_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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_37start_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_36start_collecting_temps[] = "\n        Useful to find out which temps were used in a code block\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_37start_collecting_temps = {"start_collecting_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_37start_collecting_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_36start_collecting_temps};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_37start_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("start_collecting_temps (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_36start_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_36start_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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, 796, __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":802
 *         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_39stop_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, 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;
  __Pyx_RefNannySetupContext("stop_collecting_temps", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_stop_collecting_temps); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_39stop_collecting_temps)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __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;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":803
 * 
 *     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 '%s'", "pop");
    __PYX_ERR(0, 803, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->collect_temps_stack); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":802
 *         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_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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_39stop_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_39stop_collecting_temps = {"stop_collecting_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_39stop_collecting_temps, METH_NOARGS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_39stop_collecting_temps(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("stop_collecting_temps (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_38stop_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_38stop_collecting_temps(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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, 802, __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":805
 *         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_41init_closure_temps(PyObject *__pyx_v_self, PyObject *__pyx_v_scope); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_41init_closure_temps = {"init_closure_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_41init_closure_temps, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_41init_closure_temps(PyObject *__pyx_v_self, PyObject *__pyx_v_scope) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("init_closure_temps (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_40init_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_40init_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;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("init_closure_temps", 0);

  /* "Cython/Compiler/Code.py":806
 * 
 *     def init_closure_temps(self, scope):
 *         self.closure_temps = ClosureTempAllocator(scope)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ClosureTempAllocator); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_scope};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_scope};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_scope);
      __Pyx_GIVEREF(__pyx_v_scope);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_scope);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __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":805
 *         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_XDECREF(__pyx_t_4);
  __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":21
 * 
 * cdef class FunctionState:
 *     cdef public set names_taken             # <<<<<<<<<<<<<<
 *     cdef public object owner
 *     cdef public object scope
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11names_taken_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11names_taken_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11names_taken___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_11names_taken___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->names_taken);
  __pyx_r = __pyx_v_self->names_taken;
  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_11names_taken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11names_taken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11names_taken_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_11names_taken_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;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 21, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  __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;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.names_taken.__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_11names_taken_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11names_taken_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_11names_taken_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_11names_taken_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->names_taken);
  __Pyx_DECREF(__pyx_v_self->names_taken);
  __pyx_v_self->names_taken = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.pxd":22
 * cdef class FunctionState:
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":23
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":25
 *     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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":26
 * 
 *     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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->label_counter); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 26, __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26, __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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":27
 *     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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 27, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__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;

  /* 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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":28
 *     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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":29
 *     cdef public set labels_used
 *     cdef public object return_label
 *     cdef public object continue_label             # <<<<<<<<<<<<<<
 *     cdef public object break_label
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":30
 *     cdef public object return_label
 *     cdef public object continue_label
 *     cdef public object break_label             # <<<<<<<<<<<<<<
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":31
 *     cdef public object continue_label
 *     cdef public object break_label
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_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_12yield_labels_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;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 31, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__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;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.yield_labels.__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_12yield_labels_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_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_12yield_labels_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->yield_labels);
  __Pyx_DECREF(__pyx_v_self->yield_labels);
  __pyx_v_self->yield_labels = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.pxd":33
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":35
 *     cdef public object return_from_error_cleanup_label # not used in __init__ ?
 * 
 *     cdef public object exc_vars             # <<<<<<<<<<<<<<
 *     cdef public bint in_try_finally
 *     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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __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":36
 * 
 *     cdef public object exc_vars
 *     cdef public bint in_try_finally             # <<<<<<<<<<<<<<
 *     cdef public bint can_trace
 *     cdef public bint gil_owned
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally___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_14in_try_finally___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->in_try_finally); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36, __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.in_try_finally.__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_14in_try_finally_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally_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_14in_try_finally_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36, __pyx_L1_error)
  __pyx_v_self->in_try_finally = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.in_try_finally.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":37
 *     cdef public object exc_vars
 *     cdef public bint in_try_finally
 *     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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
  __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, 37, __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37, __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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":38
 *     cdef public bint in_try_finally
 *     cdef public bint can_trace
 *     cdef public bint gil_owned             # <<<<<<<<<<<<<<
 * 
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
  __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, 38, __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 38, __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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":40
 *     cdef public bint gil_owned
 * 
 *     cdef public list temps_allocated             # <<<<<<<<<<<<<<
 *     cdef public dict temps_free
 *     cdef public dict temps_used_type
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated___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_15temps_allocated___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->temps_allocated);
  __pyx_r = __pyx_v_self->temps_allocated;
  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_15temps_allocated_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_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_15temps_allocated_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;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 40, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__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;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.temps_allocated.__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_15temps_allocated_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_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_15temps_allocated_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->temps_allocated);
  __Pyx_DECREF(__pyx_v_self->temps_allocated);
  __pyx_v_self->temps_allocated = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.pxd":41
 * 
 *     cdef public list temps_allocated
 *     cdef public dict temps_free             # <<<<<<<<<<<<<<
 *     cdef public dict temps_used_type
 *     cdef public size_t temp_counter
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_10temps_free_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_10temps_free_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10temps_free___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_10temps_free___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->temps_free);
  __pyx_r = __pyx_v_self->temps_free;
  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_10temps_free_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_10temps_free_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10temps_free_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_10temps_free_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;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 41, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__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;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.temps_free.__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_10temps_free_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_10temps_free_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_10temps_free_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_10temps_free_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->temps_free);
  __Pyx_DECREF(__pyx_v_self->temps_free);
  __pyx_v_self->temps_free = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.pxd":42
 *     cdef public list temps_allocated
 *     cdef public dict temps_free
 *     cdef public dict temps_used_type             # <<<<<<<<<<<<<<
 *     cdef public size_t temp_counter
 *     cdef public list collect_temps_stack
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type___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_15temps_used_type___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->temps_used_type);
  __pyx_r = __pyx_v_self->temps_used_type;
  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_15temps_used_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_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_15temps_used_type_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;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 42, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__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;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.temps_used_type.__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_15temps_used_type_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_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_15temps_used_type_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->temps_used_type);
  __Pyx_DECREF(__pyx_v_self->temps_used_type);
  __pyx_v_self->temps_used_type = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.pxd":43
 *     cdef public dict temps_free
 *     cdef public dict temps_used_type
 *     cdef public size_t temp_counter             # <<<<<<<<<<<<<<
 *     cdef public list collect_temps_stack
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12temp_counter_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12temp_counter_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12temp_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_12temp_counter___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->temp_counter); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 43, __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.temp_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_12temp_counter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12temp_counter_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_12temp_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_12temp_counter_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 43, __pyx_L1_error)
  __pyx_v_self->temp_counter = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.temp_counter.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":44
 *     cdef public dict temps_used_type
 *     cdef public size_t temp_counter
 *     cdef public list collect_temps_stack             # <<<<<<<<<<<<<<
 * 
 *     cdef public object closure_temps
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack___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_19collect_temps_stack___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->collect_temps_stack);
  __pyx_r = __pyx_v_self->collect_temps_stack;
  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_19collect_temps_stack_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_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_19collect_temps_stack_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;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 44, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__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;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.collect_temps_stack.__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_19collect_temps_stack_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_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_19collect_temps_stack_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->collect_temps_stack);
  __Pyx_DECREF(__pyx_v_self->collect_temps_stack);
  __pyx_v_self->collect_temps_stack = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.pxd":46
 *     cdef public list collect_temps_stack
 * 
 *     cdef public object closure_temps             # <<<<<<<<<<<<<<
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_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_13closure_temps_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->closure_temps);
  __Pyx_DECREF(__pyx_v_self->closure_temps);
  __pyx_v_self->closure_temps = __pyx_v_value;

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

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_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_13closure_temps_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->closure_temps);
  __Pyx_DECREF(__pyx_v_self->closure_temps);
  __pyx_v_self->closure_temps = Py_None;

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

/* "Cython/Compiler/Code.pxd":47
 * 
 *     cdef public object closure_temps
 *     cdef public bint should_declare_error_indicator             # <<<<<<<<<<<<<<
 *     cdef public bint uses_error_indicator
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_30should_declare_error_indicator_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_30should_declare_error_indicator_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30should_declare_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_30should_declare_error_indicator___get__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->should_declare_error_indicator); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __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.should_declare_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_30should_declare_error_indicator_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_30should_declare_error_indicator_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13FunctionState_30should_declare_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_30should_declare_error_indicator_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_FunctionState *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 47, __pyx_L1_error)
  __pyx_v_self->should_declare_error_indicator = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.FunctionState.should_declare_error_indicator.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.pxd":48
 *     cdef public object closure_temps
 *     cdef public bint should_declare_error_indicator
 *     cdef public bint uses_error_indicator             # <<<<<<<<<<<<<<
 * 
 *     @cython.locals(n=size_t)
 */

/* 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
  __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, 48, __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) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __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;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 48, __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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":818
 *     """
 * 
 *     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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_8NumConst_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_8NumConst_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_8NumConst_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  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;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_value,&__pyx_n_s_py_type,&__pyx_n_s_value_code,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[4] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, 1); __PYX_ERR(0, 818, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, 2); __PYX_ERR(0, 818, __pyx_L3_error)
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_py_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, 3); __PYX_ERR(0, 818, __pyx_L3_error)
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value_code);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 818, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __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_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 818, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":819
 * 
 *     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_n_s_cname, __pyx_v_cname) < 0) __PYX_ERR(0, 819, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":820
 *     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_n_s_value, __pyx_v_value) < 0) __PYX_ERR(0, 820, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":821
 *         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_n_s_py_type, __pyx_v_py_type) < 0) __PYX_ERR(0, 821, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":822
 *         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, 822, __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_n_s_value_code, __pyx_t_1) < 0) __PYX_ERR(0, 822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":818
 *     """
 * 
 *     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":831
 *     # 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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cname,&__pyx_n_s_type,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 831, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 831, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_cname = values[0];
    __pyx_v_type = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 831, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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":832
 * 
 *     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":833
 *     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":831
 *     # 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":67
 * 
 * cdef class PyObjectConst:
 *     cdef public object cname             # <<<<<<<<<<<<<<
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_v_self), ((PyObject *)__pyx_v_value));

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

static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__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->cname);
  __Pyx_DECREF(__pyx_v_self->cname);
  __pyx_v_self->cname = __pyx_v_value;

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

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_5cname_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__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->cname);
  __Pyx_DECREF(__pyx_v_self->cname);
  __pyx_v_self->cname = Py_None;

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

/* "Cython/Compiler/Code.pxd":68
 * cdef class PyObjectConst:
 *     cdef public object cname
 *     cdef public object type             # <<<<<<<<<<<<<<
 * 
 * cdef class StringConst:
 */

/* 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_v_self), ((PyObject *)__pyx_v_value));

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

static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__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->type);
  __Pyx_DECREF(__pyx_v_self->type);
  __pyx_v_self->type = __pyx_v_value;

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

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_13PyObjectConst_4type_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *__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->type);
  __Pyx_DECREF(__pyx_v_self->type);
  __pyx_v_self->type = Py_None;

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

/* "Cython/Compiler/Code.py":850
 *     # py_strings       {(identifier, encoding) : PyStringConst}
 * 
 *     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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cname,&__pyx_n_s_text,&__pyx_n_s_byte_string,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 850, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_byte_string)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 850, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 850, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_cname = values[0];
    __pyx_v_text = values[1];
    __pyx_v_byte_string = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 850, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":851
 * 
 *     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":852
 *     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":853
 *         self.cname = cname
 *         self.text = text
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)             # <<<<<<<<<<<<<<
 *         self.py_strings = None
 *         self.py_versions = []
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_escape_byte_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_byte_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_byte_string};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 853, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_byte_string};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 853, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_byte_string);
      __Pyx_GIVEREF(__pyx_v_byte_string);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_byte_string);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __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":854
 *         self.text = text
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)
 *         self.py_strings = None             # <<<<<<<<<<<<<<
 *         self.py_versions = []
 * 
 */
  __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":855
 *         self.escaped_value = StringEncoding.escape_byte_string(byte_string)
 *         self.py_strings = None
 *         self.py_versions = []             # <<<<<<<<<<<<<<
 * 
 *     def add_py_version(self, version):
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->py_versions);
  __Pyx_DECREF(__pyx_v_self->py_versions);
  __pyx_v_self->py_versions = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":850
 *     # py_strings       {(identifier, encoding) : PyStringConst}
 * 
 *     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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":857
 *         self.py_versions = []
 * 
 *     def add_py_version(self, version):             # <<<<<<<<<<<<<<
 *         if not version:
 *             self.py_versions = [2, 3]
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3add_py_version(PyObject *__pyx_v_self, PyObject *__pyx_v_version); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11StringConst_3add_py_version = {"add_py_version", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3add_py_version, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3add_py_version(PyObject *__pyx_v_self, PyObject *__pyx_v_version) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("add_py_version (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_2add_py_version(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self), ((PyObject *)__pyx_v_version));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_2add_py_version(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_version) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __Pyx_RefNannySetupContext("add_py_version", 0);

  /* "Cython/Compiler/Code.py":858
 * 
 *     def add_py_version(self, version):
 *         if not version:             # <<<<<<<<<<<<<<
 *             self.py_versions = [2, 3]
 *         elif version not in self.py_versions:
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_version); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 858, __pyx_L1_error)
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":859
 *     def add_py_version(self, version):
 *         if not version:
 *             self.py_versions = [2, 3]             # <<<<<<<<<<<<<<
 *         elif version not in self.py_versions:
 *             self.py_versions.append(version)
 */
    __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_int_2);
    __Pyx_GIVEREF(__pyx_int_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_int_2);
    __Pyx_INCREF(__pyx_int_3);
    __Pyx_GIVEREF(__pyx_int_3);
    PyList_SET_ITEM(__pyx_t_3, 1, __pyx_int_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __Pyx_GOTREF(__pyx_v_self->py_versions);
    __Pyx_DECREF(__pyx_v_self->py_versions);
    __pyx_v_self->py_versions = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":858
 * 
 *     def add_py_version(self, version):
 *         if not version:             # <<<<<<<<<<<<<<
 *             self.py_versions = [2, 3]
 *         elif version not in self.py_versions:
 */
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":860
 *         if not version:
 *             self.py_versions = [2, 3]
 *         elif version not in self.py_versions:             # <<<<<<<<<<<<<<
 *             self.py_versions.append(version)
 * 
 */
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_version, __pyx_v_self->py_versions, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 860, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":861
 *             self.py_versions = [2, 3]
 *         elif version not in self.py_versions:
 *             self.py_versions.append(version)             # <<<<<<<<<<<<<<
 * 
 *     def get_py_string_const(self, encoding, identifier=None,
 */
    if (unlikely(__pyx_v_self->py_versions == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
      __PYX_ERR(0, 861, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_self->py_versions, __pyx_v_version); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(0, 861, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":860
 *         if not version:
 *             self.py_versions = [2, 3]
 *         elif version not in self.py_versions:             # <<<<<<<<<<<<<<
 *             self.py_versions.append(version)
 * 
 */
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":857
 *         self.py_versions = []
 * 
 *     def add_py_version(self, version):             # <<<<<<<<<<<<<<
 *         if not version:
 *             self.py_versions = [2, 3]
 */

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

/* "Cython/Compiler/Code.py":863
 *             self.py_versions.append(version)
 * 
 *     def get_py_string_const(self, encoding, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings
 */

static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_5get_py_string_const(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*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, 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);

  /* "Cython/Compiler/Code.py":864
 * 
 *     def get_py_string_const(self, encoding, identifier=None,
 *                             is_str=False, py3str_cstring=None):             # <<<<<<<<<<<<<<
 *         py_strings = self.py_strings
 *         text = self.text
 */
  int __pyx_v_is_str = ((int)0);
  PyObject *__pyx_v_py3str_cstring = ((PyObject *)Py_None);
  int __pyx_v_intern;
  int __pyx_v_is_unicode;
  PyObject *__pyx_v_py_strings = NULL;
  PyObject *__pyx_v_text = NULL;
  PyObject *__pyx_v_encoding_key = NULL;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_prefix = NULL;
  PyObject *__pyx_v_encoding_prefix = NULL;
  PyObject *__pyx_v_pystring_cname = NULL;
  PyObject *__pyx_v_py_string = 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;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  Py_ssize_t __pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  __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;
      if (__pyx_optional_args->__pyx_n > 1) {
        __pyx_v_is_str = __pyx_optional_args->is_str;
        if (__pyx_optional_args->__pyx_n > 2) {
          __pyx_v_py3str_cstring = __pyx_optional_args->py3str_cstring;
        }
      }
    }
  }
  __Pyx_INCREF(__pyx_v_encoding);

  /* "Cython/Compiler/Code.py":863
 *             self.py_versions.append(version)
 * 
 *     def get_py_string_const(self, encoding, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings
 */
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_py_string_const); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11StringConst_5get_py_string_const)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_is_str); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 863, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      __pyx_t_6 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
          __pyx_t_6 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_encoding, __pyx_v_identifier, __pyx_t_3, __pyx_v_py3str_cstring};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 863, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_encoding, __pyx_v_identifier, __pyx_t_3, __pyx_v_py3str_cstring};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 863, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 863, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (__pyx_t_5) {
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
        }
        __Pyx_INCREF(__pyx_v_encoding);
        __Pyx_GIVEREF(__pyx_v_encoding);
        PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_encoding);
        __Pyx_INCREF(__pyx_v_identifier);
        __Pyx_GIVEREF(__pyx_v_identifier);
        PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_identifier);
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_t_3);
        __Pyx_INCREF(__pyx_v_py3str_cstring);
        __Pyx_GIVEREF(__pyx_v_py3str_cstring);
        PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_py3str_cstring);
        __pyx_t_3 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 863, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "Cython/Compiler/Code.py":865
 *     def get_py_string_const(self, encoding, identifier=None,
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings             # <<<<<<<<<<<<<<
 *         text = self.text
 * 
 */
  __pyx_t_1 = __pyx_v_self->py_strings;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_py_strings = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":866
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings
 *         text = self.text             # <<<<<<<<<<<<<<
 * 
 *         is_str = bool(identifier or is_str)
 */
  __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":868
 *         text = self.text
 * 
 *         is_str = bool(identifier or is_str)             # <<<<<<<<<<<<<<
 *         is_unicode = encoding is None and not is_str
 * 
 */
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_identifier); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 868, __pyx_L1_error)
  if (!__pyx_t_9) {
  } else {
    __pyx_t_8 = __pyx_t_9;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_9 = (__pyx_v_is_str != 0);
  __pyx_t_8 = __pyx_t_9;
  __pyx_L3_bool_binop_done:;
  __pyx_v_is_str = (!(!__pyx_t_8));

  /* "Cython/Compiler/Code.py":869
 * 
 *         is_str = bool(identifier or is_str)
 *         is_unicode = encoding is None and not is_str             # <<<<<<<<<<<<<<
 * 
 *         if encoding is None:
 */
  __pyx_t_9 = (__pyx_v_encoding == Py_None);
  __pyx_t_10 = (__pyx_t_9 != 0);
  if (__pyx_t_10) {
  } else {
    __pyx_t_8 = __pyx_t_10;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_10 = ((!(__pyx_v_is_str != 0)) != 0);
  __pyx_t_8 = __pyx_t_10;
  __pyx_L5_bool_binop_done:;
  __pyx_v_is_unicode = __pyx_t_8;

  /* "Cython/Compiler/Code.py":871
 *         is_unicode = encoding is None and not is_str
 * 
 *         if encoding is None:             # <<<<<<<<<<<<<<
 *             # unicode string
 *             encoding_key = None
 */
  __pyx_t_8 = (__pyx_v_encoding == Py_None);
  __pyx_t_10 = (__pyx_t_8 != 0);
  if (__pyx_t_10) {

    /* "Cython/Compiler/Code.py":873
 *         if encoding is None:
 *             # unicode string
 *             encoding_key = None             # <<<<<<<<<<<<<<
 *         else:
 *             # bytes or str
 */
    __Pyx_INCREF(Py_None);
    __pyx_v_encoding_key = Py_None;

    /* "Cython/Compiler/Code.py":871
 *         is_unicode = encoding is None and not is_str
 * 
 *         if encoding is None:             # <<<<<<<<<<<<<<
 *             # unicode string
 *             encoding_key = None
 */
    goto __pyx_L7;
  }

  /* "Cython/Compiler/Code.py":876
 *         else:
 *             # bytes or str
 *             encoding = encoding.lower()             # <<<<<<<<<<<<<<
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):
 *                 encoding = None
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_encoding, __pyx_n_s_lower); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_encoding, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":877
 *             # bytes or str
 *             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_8 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_utf8, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
    if (!__pyx_t_8) {
    } else {
      __pyx_t_10 = __pyx_t_8;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_utf_8, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
    if (!__pyx_t_8) {
    } else {
      __pyx_t_10 = __pyx_t_8;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_ascii, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
    if (!__pyx_t_8) {
    } else {
      __pyx_t_10 = __pyx_t_8;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_usascii, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
    if (!__pyx_t_8) {
    } else {
      __pyx_t_10 = __pyx_t_8;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s_us_ascii, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_8;
    __pyx_L9_bool_binop_done:;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = (__pyx_t_10 != 0);
    if (__pyx_t_8) {

      /* "Cython/Compiler/Code.py":878
 *             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":879
 *             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 = Py_None;

      /* "Cython/Compiler/Code.py":877
 *             # bytes or str
 *             encoding = encoding.lower()
 *             if encoding in ('utf8', 'utf-8', 'ascii', 'usascii', 'us-ascii'):             # <<<<<<<<<<<<<<
 *                 encoding = None
 *                 encoding_key = None
 */
      goto __pyx_L8;
    }

    /* "Cython/Compiler/Code.py":881
 *                 encoding_key = None
 *             else:
 *                 encoding_key = ''.join(find_alphanums(encoding))             # <<<<<<<<<<<<<<
 * 
 *         key = (is_str, is_unicode, encoding_key, py3str_cstring)
 */
    /*else*/ {
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_find_alphanums);
      __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_find_alphanums; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_encoding); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 881, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_encoding};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 881, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_encoding};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 881, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        {
          __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 881, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_encoding);
          __Pyx_GIVEREF(__pyx_v_encoding);
          PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_encoding);
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 881, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyString_Join(__pyx_kp_s__8, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 881, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_encoding_key = __pyx_t_2;
      __pyx_t_2 = 0;
    }
    __pyx_L8:;
  }
  __pyx_L7:;

  /* "Cython/Compiler/Code.py":883
 *                 encoding_key = ''.join(find_alphanums(encoding))
 * 
 *         key = (is_str, is_unicode, encoding_key, py3str_cstring)             # <<<<<<<<<<<<<<
 *         if py_strings is not None:
 *             try:
 */
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_is_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1);
  __Pyx_INCREF(__pyx_v_encoding_key);
  __Pyx_GIVEREF(__pyx_v_encoding_key);
  PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_encoding_key);
  __Pyx_INCREF(__pyx_v_py3str_cstring);
  __Pyx_GIVEREF(__pyx_v_py3str_cstring);
  PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_v_py3str_cstring);
  __pyx_t_2 = 0;
  __pyx_t_1 = 0;
  __pyx_v_key = ((PyObject*)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":884
 * 
 *         key = (is_str, is_unicode, encoding_key, py3str_cstring)
 *         if py_strings is not None:             # <<<<<<<<<<<<<<
 *             try:
 *                 return py_strings[key]
 */
  __pyx_t_8 = (__pyx_v_py_strings != ((PyObject*)Py_None));
  __pyx_t_10 = (__pyx_t_8 != 0);
  if (__pyx_t_10) {

    /* "Cython/Compiler/Code.py":885
 *         key = (is_str, is_unicode, encoding_key, py3str_cstring)
 *         if py_strings is not None:
 *             try:             # <<<<<<<<<<<<<<
 *                 return py_strings[key]
 *             except KeyError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      /*try:*/ {

        /* "Cython/Compiler/Code.py":886
 *         if py_strings is not None:
 *             try:
 *                 return py_strings[key]             # <<<<<<<<<<<<<<
 *             except KeyError:
 *                 pass
 */
        __Pyx_XDECREF(__pyx_r);
        if (unlikely(__pyx_v_py_strings == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(0, 886, __pyx_L15_error)
        }
        __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_py_strings, __pyx_v_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 886, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_r = __pyx_t_7;
        __pyx_t_7 = 0;
        goto __pyx_L19_try_return;

        /* "Cython/Compiler/Code.py":885
 *         key = (is_str, is_unicode, encoding_key, py3str_cstring)
 *         if py_strings is not None:
 *             try:             # <<<<<<<<<<<<<<
 *                 return py_strings[key]
 *             except KeyError:
 */
      }
      __pyx_L15_error:;
      __Pyx_PyThreadState_assign
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":887
 *             try:
 *                 return py_strings[key]
 *             except KeyError:             # <<<<<<<<<<<<<<
 *                 pass
 *         else:
 */
      __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
      if (__pyx_t_6) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L16_exception_handled;
      }
      goto __pyx_L17_except_error;
      __pyx_L17_except_error:;

      /* "Cython/Compiler/Code.py":885
 *         key = (is_str, is_unicode, encoding_key, py3str_cstring)
 *         if py_strings is not None:
 *             try:             # <<<<<<<<<<<<<<
 *                 return py_strings[key]
 *             except KeyError:
 */
      __Pyx_PyThreadState_assign
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_13);
      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      goto __pyx_L1_error;
      __pyx_L19_try_return:;
      __Pyx_PyThreadState_assign
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_13);
      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      goto __pyx_L0;
      __pyx_L16_exception_handled:;
      __Pyx_PyThreadState_assign
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_13);
      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
    }

    /* "Cython/Compiler/Code.py":884
 * 
 *         key = (is_str, is_unicode, encoding_key, py3str_cstring)
 *         if py_strings is not None:             # <<<<<<<<<<<<<<
 *             try:
 *                 return py_strings[key]
 */
    goto __pyx_L14;
  }

  /* "Cython/Compiler/Code.py":890
 *                 pass
 *         else:
 *             self.py_strings = {}             # <<<<<<<<<<<<<<
 * 
 *         if identifier:
 */
  /*else*/ {
    __pyx_t_7 = PyDict_New(); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 890, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_7);
    __Pyx_GOTREF(__pyx_v_self->py_strings);
    __Pyx_DECREF(__pyx_v_self->py_strings);
    __pyx_v_self->py_strings = ((PyObject*)__pyx_t_7);
    __pyx_t_7 = 0;
  }
  __pyx_L14:;

  /* "Cython/Compiler/Code.py":892
 *             self.py_strings = {}
 * 
 *         if identifier:             # <<<<<<<<<<<<<<
 *             intern = True
 *         elif identifier is None:
 */
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_identifier); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 892, __pyx_L1_error)
  if (__pyx_t_10) {

    /* "Cython/Compiler/Code.py":893
 * 
 *         if identifier:
 *             intern = True             # <<<<<<<<<<<<<<
 *         elif identifier is None:
 *             if isinstance(text, bytes):
 */
    __pyx_v_intern = 1;

    /* "Cython/Compiler/Code.py":892
 *             self.py_strings = {}
 * 
 *         if identifier:             # <<<<<<<<<<<<<<
 *             intern = True
 *         elif identifier is None:
 */
    goto __pyx_L23;
  }

  /* "Cython/Compiler/Code.py":894
 *         if identifier:
 *             intern = True
 *         elif identifier is None:             # <<<<<<<<<<<<<<
 *             if isinstance(text, bytes):
 *                 intern = bool(possible_bytes_identifier(text))
 */
  __pyx_t_10 = (__pyx_v_identifier == Py_None);
  __pyx_t_8 = (__pyx_t_10 != 0);
  if (__pyx_t_8) {

    /* "Cython/Compiler/Code.py":895
 *             intern = True
 *         elif identifier is None:
 *             if isinstance(text, bytes):             # <<<<<<<<<<<<<<
 *                 intern = bool(possible_bytes_identifier(text))
 *             else:
 */
    __pyx_t_8 = PyBytes_Check(__pyx_v_text); 
    __pyx_t_10 = (__pyx_t_8 != 0);
    if (__pyx_t_10) {

      /* "Cython/Compiler/Code.py":896
 *         elif identifier is None:
 *             if isinstance(text, bytes):
 *                 intern = bool(possible_bytes_identifier(text))             # <<<<<<<<<<<<<<
 *             else:
 *                 intern = bool(possible_unicode_identifier(text))
 */
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier);
      __pyx_t_1 = __pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier; __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_2) {
        __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_text); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 896, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_text};
          __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 896, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GOTREF(__pyx_t_7);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_text};
          __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 896, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GOTREF(__pyx_t_7);
        } else
        #endif
        {
          __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 896, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
          __Pyx_INCREF(__pyx_v_text);
          __Pyx_GIVEREF(__pyx_v_text);
          PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_text);
          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 896, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 896, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_v_intern = (!(!__pyx_t_10));

      /* "Cython/Compiler/Code.py":895
 *             intern = True
 *         elif identifier is None:
 *             if isinstance(text, bytes):             # <<<<<<<<<<<<<<
 *                 intern = bool(possible_bytes_identifier(text))
 *             else:
 */
      goto __pyx_L24;
    }

    /* "Cython/Compiler/Code.py":898
 *                 intern = bool(possible_bytes_identifier(text))
 *             else:
 *                 intern = bool(possible_unicode_identifier(text))             # <<<<<<<<<<<<<<
 *         else:
 *             intern = False
 */
    /*else*/ {
      __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier);
      __pyx_t_1 = __pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_text); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 898, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_text};
          __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 898, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_7);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_text};
          __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 898, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_7);
        } else
        #endif
        {
          __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_text);
          __Pyx_GIVEREF(__pyx_v_text);
          PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_text);
          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 898, __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_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 898, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_v_intern = (!(!__pyx_t_10));
    }
    __pyx_L24:;

    /* "Cython/Compiler/Code.py":894
 *         if identifier:
 *             intern = True
 *         elif identifier is None:             # <<<<<<<<<<<<<<
 *             if isinstance(text, bytes):
 *                 intern = bool(possible_bytes_identifier(text))
 */
    goto __pyx_L23;
  }

  /* "Cython/Compiler/Code.py":900
 *                 intern = bool(possible_unicode_identifier(text))
 *         else:
 *             intern = False             # <<<<<<<<<<<<<<
 *         if intern:
 *             prefix = Naming.interned_prefixes['str']
 */
  /*else*/ {
    __pyx_v_intern = 0;
  }
  __pyx_L23:;

  /* "Cython/Compiler/Code.py":901
 *         else:
 *             intern = False
 *         if intern:             # <<<<<<<<<<<<<<
 *             prefix = Naming.interned_prefixes['str']
 *         else:
 */
  __pyx_t_10 = (__pyx_v_intern != 0);
  if (__pyx_t_10) {

    /* "Cython/Compiler/Code.py":902
 *             intern = False
 *         if intern:
 *             prefix = Naming.interned_prefixes['str']             # <<<<<<<<<<<<<<
 *         else:
 *             prefix = Naming.py_const_prefix
 */
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_interned_prefixes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = PyObject_GetItem(__pyx_t_7, __pyx_n_s_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_v_prefix = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":901
 *         else:
 *             intern = False
 *         if intern:             # <<<<<<<<<<<<<<
 *             prefix = Naming.interned_prefixes['str']
 *         else:
 */
    goto __pyx_L25;
  }

  /* "Cython/Compiler/Code.py":904
 *             prefix = Naming.interned_prefixes['str']
 *         else:
 *             prefix = Naming.py_const_prefix             # <<<<<<<<<<<<<<
 * 
 *         if encoding_key:
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_py_const_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_prefix = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L25:;

  /* "Cython/Compiler/Code.py":906
 *             prefix = Naming.py_const_prefix
 * 
 *         if encoding_key:             # <<<<<<<<<<<<<<
 *             encoding_prefix = '_%s' % encoding_key
 *         else:
 */
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_encoding_key); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 906, __pyx_L1_error)
  if (__pyx_t_10) {

    /* "Cython/Compiler/Code.py":907
 * 
 *         if encoding_key:
 *             encoding_prefix = '_%s' % encoding_key             # <<<<<<<<<<<<<<
 *         else:
 *             encoding_prefix = ''
 */
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_7, __pyx_v_encoding_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_encoding_prefix = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":906
 *             prefix = Naming.py_const_prefix
 * 
 *         if encoding_key:             # <<<<<<<<<<<<<<
 *             encoding_prefix = '_%s' % encoding_key
 *         else:
 */
    goto __pyx_L26;
  }

  /* "Cython/Compiler/Code.py":909
 *             encoding_prefix = '_%s' % encoding_key
 *         else:
 *             encoding_prefix = ''             # <<<<<<<<<<<<<<
 * 
 *         pystring_cname = "%s%s%s_%s" % (
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_kp_s__8);
    __pyx_v_encoding_prefix = __pyx_kp_s__8;
  }
  __pyx_L26:;

  /* "Cython/Compiler/Code.py":913
 *         pystring_cname = "%s%s%s_%s" % (
 *             prefix,
 *             (is_str and 's') or (is_unicode and 'u') or 'b',             # <<<<<<<<<<<<<<
 *             encoding_prefix,
 *             self.cname[len(Naming.const_prefix):])
 */
  if (!__pyx_v_is_str) {
    goto __pyx_L28_next_or;
  } else {
  }
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_n_s_s_4); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 913, __pyx_L1_error)
  if (!__pyx_t_10) {
  } else {
    __Pyx_INCREF(__pyx_n_s_s_4);
    __pyx_t_1 = __pyx_n_s_s_4;
    goto __pyx_L27_bool_binop_done;
  }
  __pyx_L28_next_or:;
  if (!__pyx_v_is_unicode) {
    goto __pyx_L30_next_or;
  } else {
  }
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_n_s_u); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 913, __pyx_L1_error)
  if (!__pyx_t_10) {
  } else {
    __Pyx_INCREF(__pyx_n_s_u);
    __pyx_t_1 = __pyx_n_s_u;
    goto __pyx_L27_bool_binop_done;
  }
  __pyx_L30_next_or:;
  __Pyx_INCREF(__pyx_n_s_b);
  __pyx_t_1 = __pyx_n_s_b;
  __pyx_L27_bool_binop_done:;

  /* "Cython/Compiler/Code.py":915
 *             (is_str and 's') or (is_unicode and 'u') or 'b',
 *             encoding_prefix,
 *             self.cname[len(Naming.const_prefix):])             # <<<<<<<<<<<<<<
 * 
 *         py_string = PyStringConst(
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_const_prefix); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_14 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_14 == -1)) __PYX_ERR(0, 915, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_GetSlice(__pyx_v_self->cname, __pyx_t_14, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);

  /* "Cython/Compiler/Code.py":912
 * 
 *         pystring_cname = "%s%s%s_%s" % (
 *             prefix,             # <<<<<<<<<<<<<<
 *             (is_str and 's') or (is_unicode and 'u') or 'b',
 *             encoding_prefix,
 */
  __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_prefix);
  __Pyx_GIVEREF(__pyx_v_prefix);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_prefix);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
  __Pyx_INCREF(__pyx_v_encoding_prefix);
  __Pyx_GIVEREF(__pyx_v_encoding_prefix);
  PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_encoding_prefix);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_7);
  __pyx_t_1 = 0;
  __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":911
 *             encoding_prefix = ''
 * 
 *         pystring_cname = "%s%s%s_%s" % (             # <<<<<<<<<<<<<<
 *             prefix,
 *             (is_str and 's') or (is_unicode and 'u') or 'b',
 */
  __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s__s, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_pystring_cname = ((PyObject*)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":917
 *             self.cname[len(Naming.const_prefix):])
 * 
 *         py_string = PyStringConst(             # <<<<<<<<<<<<<<
 *             pystring_cname, encoding, is_unicode, is_str, py3str_cstring, intern)
 *         self.py_strings[key] = py_string
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PyStringConst); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":918
 * 
 *         py_string = PyStringConst(
 *             pystring_cname, encoding, is_unicode, is_str, py3str_cstring, intern)             # <<<<<<<<<<<<<<
 *         self.py_strings[key] = py_string
 *         return py_string
 */
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_is_str); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_intern); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[7] = {__pyx_t_5, __pyx_v_pystring_cname, __pyx_v_encoding, __pyx_t_1, __pyx_t_4, __pyx_v_py3str_cstring, __pyx_t_3};
    __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 917, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[7] = {__pyx_t_5, __pyx_v_pystring_cname, __pyx_v_encoding, __pyx_t_1, __pyx_t_4, __pyx_v_py3str_cstring, __pyx_t_3};
    __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 917, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_15 = PyTuple_New(6+__pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_v_pystring_cname);
    __Pyx_GIVEREF(__pyx_v_pystring_cname);
    PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_6, __pyx_v_pystring_cname);
    __Pyx_INCREF(__pyx_v_encoding);
    __Pyx_GIVEREF(__pyx_v_encoding);
    PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_6, __pyx_v_encoding);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_6, __pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_6, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_py3str_cstring);
    __Pyx_GIVEREF(__pyx_v_py3str_cstring);
    PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_6, __pyx_v_py3str_cstring);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_15, 5+__pyx_t_6, __pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_4 = 0;
    __pyx_t_3 = 0;
    __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_15, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_py_string = __pyx_t_7;
  __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":919
 *         py_string = PyStringConst(
 *             pystring_cname, encoding, is_unicode, is_str, py3str_cstring, intern)
 *         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, 919, __pyx_L1_error)
  }
  if (unlikely(PyDict_SetItem(__pyx_v_self->py_strings, __pyx_v_key, __pyx_v_py_string) < 0)) __PYX_ERR(0, 919, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":920
 *             pystring_cname, encoding, is_unicode, is_str, py3str_cstring, intern)
 *         self.py_strings[key] = py_string
 *         return py_string             # <<<<<<<<<<<<<<
 * 
 * class PyStringConst(object):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_py_string);
  __pyx_r = __pyx_v_py_string;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":863
 *             self.py_versions.append(version)
 * 
 *     def get_py_string_const(self, encoding, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings
 */

  /* 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_7);
  __Pyx_XDECREF(__pyx_t_15);
  __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_py_strings);
  __Pyx_XDECREF(__pyx_v_text);
  __Pyx_XDECREF(__pyx_v_encoding_key);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XDECREF(__pyx_v_encoding_prefix);
  __Pyx_XDECREF(__pyx_v_pystring_cname);
  __Pyx_XDECREF(__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_5get_py_string_const(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11StringConst_5get_py_string_const = {"get_py_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11StringConst_5get_py_string_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_5get_py_string_const(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_encoding = 0;
  PyObject *__pyx_v_identifier = 0;
  int __pyx_v_is_str;
  PyObject *__pyx_v_py3str_cstring = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_string_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_encoding,&__pyx_n_s_identifier,&__pyx_n_s_is_str,&__pyx_n_s_py3str_cstring,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)Py_None);

    /* "Cython/Compiler/Code.py":864
 * 
 *     def get_py_string_const(self, encoding, identifier=None,
 *                             is_str=False, py3str_cstring=None):             # <<<<<<<<<<<<<<
 *         py_strings = self.py_strings
 *         text = self.text
 */
    values[3] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoding)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_identifier);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_str);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_py3str_cstring);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_string_const") < 0)) __PYX_ERR(0, 863, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_encoding = values[0];
    __pyx_v_identifier = values[1];
    if (values[2]) {
      __pyx_v_is_str = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_is_str == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 864, __pyx_L3_error)
    } else {
      __pyx_v_is_str = ((int)0);
    }
    __pyx_v_py3str_cstring = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 863, __pyx_L3_error)
  __pyx_L3_error:;
  __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_4get_py_string_const(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self), __pyx_v_encoding, __pyx_v_identifier, __pyx_v_is_str, __pyx_v_py3str_cstring);

  /* "Cython/Compiler/Code.py":863
 *             self.py_versions.append(version)
 * 
 *     def get_py_string_const(self, encoding, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings
 */

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11StringConst_4get_py_string_const(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_identifier, int __pyx_v_is_str, PyObject *__pyx_v_py3str_cstring) {
  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;
  __Pyx_RefNannySetupContext("get_py_string_const", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 3;
  __pyx_t_2.identifier = __pyx_v_identifier;
  __pyx_t_2.is_str = __pyx_v_is_str;
  __pyx_t_2.py3str_cstring = __pyx_v_py3str_cstring;
  __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, 863, __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":71
 * 
 * cdef class StringConst:
 *     cdef public object cname             # <<<<<<<<<<<<<<
 *     cdef public object text
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname_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_5cname_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->cname);
  __Pyx_DECREF(__pyx_v_self->cname);
  __pyx_v_self->cname = __pyx_v_value;

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

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_5cname_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->cname);
  __Pyx_DECREF(__pyx_v_self->cname);
  __pyx_v_self->cname = Py_None;

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

/* "Cython/Compiler/Code.pxd":72
 * cdef class StringConst:
 *     cdef public object cname
 *     cdef public object text             # <<<<<<<<<<<<<<
 *     cdef public object escaped_value
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text_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_4text_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->text);
  __Pyx_DECREF(__pyx_v_self->text);
  __pyx_v_self->text = __pyx_v_value;

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

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_4text_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->text);
  __Pyx_DECREF(__pyx_v_self->text);
  __pyx_v_self->text = Py_None;

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

/* "Cython/Compiler/Code.pxd":73
 *     cdef public object cname
 *     cdef public object text
 *     cdef public object escaped_value             # <<<<<<<<<<<<<<
 *     cdef public dict py_strings
 *     cdef public list py_versions
 */

/* 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value_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_13escaped_value_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->escaped_value);
  __Pyx_DECREF(__pyx_v_self->escaped_value);
  __pyx_v_self->escaped_value = __pyx_v_value;

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

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_13escaped_value_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->escaped_value);
  __Pyx_DECREF(__pyx_v_self->escaped_value);
  __pyx_v_self->escaped_value = Py_None;

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

/* "Cython/Compiler/Code.pxd":74
 *     cdef public object text
 *     cdef public object escaped_value
 *     cdef public dict py_strings             # <<<<<<<<<<<<<<
 *     cdef public list py_versions
 * 
 */

/* 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings_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_10py_strings_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 74, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->py_strings);
  __Pyx_DECREF(__pyx_v_self->py_strings);
  __pyx_v_self->py_strings = ((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.StringConst.py_strings.__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_11StringConst_10py_strings_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_10py_strings_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->py_strings);
  __Pyx_DECREF(__pyx_v_self->py_strings);
  __pyx_v_self->py_strings = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.pxd":75
 *     cdef public object escaped_value
 *     cdef public dict py_strings
 *     cdef public list py_versions             # <<<<<<<<<<<<<<
 * 
 *     @cython.locals(intern=bint, is_str=bint, is_unicode=bint)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_11py_versions_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11StringConst_11py_versions_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_11py_versions___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_11py_versions___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_versions);
  __pyx_r = __pyx_v_self->py_versions;
  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_11StringConst_11py_versions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_11py_versions_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_11py_versions_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_11py_versions_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);
  if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 75, __pyx_L1_error)
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->py_versions);
  __Pyx_DECREF(__pyx_v_self->py_versions);
  __pyx_v_self->py_versions = ((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.StringConst.py_versions.__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_11StringConst_11py_versions_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_11StringConst_11py_versions_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11StringConst_11py_versions_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_11StringConst_11py_versions_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *__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->py_versions);
  __Pyx_DECREF(__pyx_v_self->py_versions);
  __pyx_v_self->py_versions = ((PyObject*)Py_None);

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

/* "Cython/Compiler/Code.py":932
 *     # is_str      boolean
 * 
 *     def __init__(self, cname, encoding, is_unicode, is_str=False,             # <<<<<<<<<<<<<<
 *                  py3str_cstring=None, intern=False):
 *         self.cname = cname
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyStringConst_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_encoding = 0;
  PyObject *__pyx_v_is_unicode = 0;
  PyObject *__pyx_v_is_str = 0;
  PyObject *__pyx_v_py3str_cstring = 0;
  PyObject *__pyx_v_intern = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_encoding,&__pyx_n_s_is_unicode,&__pyx_n_s_is_str,&__pyx_n_s_py3str_cstring,&__pyx_n_s_intern,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    values[4] = ((PyObject *)((PyObject *)Py_False));

    /* "Cython/Compiler/Code.py":933
 * 
 *     def __init__(self, cname, encoding, is_unicode, is_str=False,
 *                  py3str_cstring=None, intern=False):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.py3str_cstring = py3str_cstring
 */
    values[5] = ((PyObject *)((PyObject *)Py_None));
    values[6] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 7, 1); __PYX_ERR(0, 932, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoding)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 7, 2); __PYX_ERR(0, 932, __pyx_L3_error)
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_unicode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 7, 3); __PYX_ERR(0, 932, __pyx_L3_error)
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_str);
          if (value) { values[4] = value; kw_args--; }
        }
        case  5:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_py3str_cstring);
          if (value) { values[5] = value; kw_args--; }
        }
        case  6:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_intern);
          if (value) { values[6] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 932, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_encoding = values[2];
    __pyx_v_is_unicode = values[3];
    __pyx_v_is_str = values[4];
    __pyx_v_py3str_cstring = values[5];
    __pyx_v_intern = values[6];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 932, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst___init__(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_encoding, __pyx_v_is_unicode, __pyx_v_is_str, __pyx_v_py3str_cstring, __pyx_v_intern);

  /* "Cython/Compiler/Code.py":932
 *     # is_str      boolean
 * 
 *     def __init__(self, cname, encoding, is_unicode, is_str=False,             # <<<<<<<<<<<<<<
 *                  py3str_cstring=None, intern=False):
 *         self.cname = cname
 */

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_encoding, PyObject *__pyx_v_is_unicode, PyObject *__pyx_v_is_str, PyObject *__pyx_v_py3str_cstring, PyObject *__pyx_v_intern) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":934
 *     def __init__(self, cname, encoding, is_unicode, is_str=False,
 *                  py3str_cstring=None, intern=False):
 *         self.cname = cname             # <<<<<<<<<<<<<<
 *         self.py3str_cstring = py3str_cstring
 *         self.encoding = encoding
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cname, __pyx_v_cname) < 0) __PYX_ERR(0, 934, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":935
 *                  py3str_cstring=None, intern=False):
 *         self.cname = cname
 *         self.py3str_cstring = py3str_cstring             # <<<<<<<<<<<<<<
 *         self.encoding = encoding
 *         self.is_str = is_str
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_py3str_cstring, __pyx_v_py3str_cstring) < 0) __PYX_ERR(0, 935, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":936
 *         self.cname = cname
 *         self.py3str_cstring = py3str_cstring
 *         self.encoding = encoding             # <<<<<<<<<<<<<<
 *         self.is_str = is_str
 *         self.is_unicode = is_unicode
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 936, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":937
 *         self.py3str_cstring = py3str_cstring
 *         self.encoding = encoding
 *         self.is_str = is_str             # <<<<<<<<<<<<<<
 *         self.is_unicode = is_unicode
 *         self.intern = intern
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_str, __pyx_v_is_str) < 0) __PYX_ERR(0, 937, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":938
 *         self.encoding = encoding
 *         self.is_str = is_str
 *         self.is_unicode = is_unicode             # <<<<<<<<<<<<<<
 *         self.intern = intern
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_unicode, __pyx_v_is_unicode) < 0) __PYX_ERR(0, 938, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":939
 *         self.is_str = is_str
 *         self.is_unicode = is_unicode
 *         self.intern = intern             # <<<<<<<<<<<<<<
 * 
 *     def __lt__(self, other):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_intern, __pyx_v_intern) < 0) __PYX_ERR(0, 939, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":932
 *     # is_str      boolean
 * 
 *     def __init__(self, cname, encoding, is_unicode, is_str=False,             # <<<<<<<<<<<<<<
 *                  py3str_cstring=None, intern=False):
 *         self.cname = cname
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.__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":941
 *         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_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyStringConst_3__lt__ = {"__lt__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_3__lt__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyStringConst_3__lt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_other = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__lt__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__lt__", 1, 2, 2, 1); __PYX_ERR(0, 941, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__lt__") < 0)) __PYX_ERR(0, 941, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_other = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__lt__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 941, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyStringConst.__lt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_2__lt__(__pyx_self, __pyx_v_self, __pyx_v_other);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyStringConst_2__lt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__lt__", 0);

  /* "Cython/Compiler/Code.py":942
 * 
 *     def __lt__(self, other):
 *         return self.cname < other.cname             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L1_error)
  __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":941
 *         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_XDECREF(__pyx_t_3);
  __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.py":1004
 * 
 * 
 *     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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  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;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_writer,&__pyx_n_s_module_node,&__pyx_n_s_code_config,&__pyx_n_s_common_utility_include_dir,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[4] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_writer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, 1); __PYX_ERR(0, 1004, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_module_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, 2); __PYX_ERR(0, 1004, __pyx_L3_error)
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code_config)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, 3); __PYX_ERR(0, 1004, __pyx_L3_error)
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_common_utility_include_dir);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1004, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __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_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1004, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1005
 * 
 *     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 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_filename_table, __pyx_t_1) < 0) __PYX_ERR(0, 1005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1006
 *     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, 1006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_filename_list, __pyx_t_1) < 0) __PYX_ERR(0, 1006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1007
 *         self.filename_table = {}
 *         self.filename_list = []
 *         self.input_file_contents = {}             # <<<<<<<<<<<<<<
 *         self.utility_codes = set()
 *         self.declared_cnames = {}
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_input_file_contents, __pyx_t_1) < 0) __PYX_ERR(0, 1007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1008
 *         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, 1008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_utility_codes, __pyx_t_1) < 0) __PYX_ERR(0, 1008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1009
 *         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 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_declared_cnames, __pyx_t_1) < 0) __PYX_ERR(0, 1009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1010
 *         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_n_s_in_utility_code_generation, Py_False) < 0) __PYX_ERR(0, 1010, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1011
 *         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_n_s_code_config, __pyx_v_code_config) < 0) __PYX_ERR(0, 1011, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1012
 *         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_n_s_common_utility_include_dir, __pyx_v_common_utility_include_dir) < 0) __PYX_ERR(0, 1012, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1013
 *         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 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_parts, __pyx_t_1) < 0) __PYX_ERR(0, 1013, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1014
 *         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_n_s_module_node, __pyx_v_module_node) < 0) __PYX_ERR(0, 1014, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1017
 *                                        # (generating backwards-compatible Get/ReleaseBuffer
 * 
 *         self.const_cnames_used = {}             # <<<<<<<<<<<<<<
 *         self.string_const_index = {}
 *         self.pyunicode_ptr_const_index = {}
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_const_cnames_used, __pyx_t_1) < 0) __PYX_ERR(0, 1017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1018
 * 
 *         self.const_cnames_used = {}
 *         self.string_const_index = {}             # <<<<<<<<<<<<<<
 *         self.pyunicode_ptr_const_index = {}
 *         self.num_const_index = {}
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_string_const_index, __pyx_t_1) < 0) __PYX_ERR(0, 1018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1019
 *         self.const_cnames_used = {}
 *         self.string_const_index = {}
 *         self.pyunicode_ptr_const_index = {}             # <<<<<<<<<<<<<<
 *         self.num_const_index = {}
 *         self.py_constants = []
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pyunicode_ptr_const_index, __pyx_t_1) < 0) __PYX_ERR(0, 1019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1020
 *         self.string_const_index = {}
 *         self.pyunicode_ptr_const_index = {}
 *         self.num_const_index = {}             # <<<<<<<<<<<<<<
 *         self.py_constants = []
 *         self.cached_cmethods = {}
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_num_const_index, __pyx_t_1) < 0) __PYX_ERR(0, 1020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1021
 *         self.pyunicode_ptr_const_index = {}
 *         self.num_const_index = {}
 *         self.py_constants = []             # <<<<<<<<<<<<<<
 *         self.cached_cmethods = {}
 * 
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_py_constants, __pyx_t_1) < 0) __PYX_ERR(0, 1021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1022
 *         self.num_const_index = {}
 *         self.py_constants = []
 *         self.cached_cmethods = {}             # <<<<<<<<<<<<<<
 * 
 *         writer.set_global_state(self)
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cached_cmethods, __pyx_t_1) < 0) __PYX_ERR(0, 1022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1024
 *         self.cached_cmethods = {}
 * 
 *         writer.set_global_state(self)             # <<<<<<<<<<<<<<
 *         self.rootwriter = writer
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_set_global_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_self};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_self};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1024, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_self);
      __Pyx_GIVEREF(__pyx_v_self);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_self);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1025
 * 
 *         writer.set_global_state(self)
 *         self.rootwriter = writer             # <<<<<<<<<<<<<<
 * 
 *     def initialize_main_c_code(self):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_rootwriter, __pyx_v_writer) < 0) __PYX_ERR(0, 1025, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1004
 * 
 * 
 *     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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1027
 *         self.rootwriter = writer
 * 
 *     def initialize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for part in 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("initialize_main_c_code (wrapper)", 0);
  __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_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;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("initialize_main_c_code", 0);

  /* "Cython/Compiler/Code.py":1028
 * 
 *     def initialize_main_c_code(self):
 *         rootwriter = self.rootwriter             # <<<<<<<<<<<<<<
 *         for part in self.code_layout:
 *             self.parts[part] = rootwriter.insertion_point()
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rootwriter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_rootwriter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1029
 *     def initialize_main_c_code(self):
 *         rootwriter = self.rootwriter
 *         for part in self.code_layout:             # <<<<<<<<<<<<<<
 *             self.parts[part] = rootwriter.insertion_point()
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_code_layout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __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, 1029, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1029, __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))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1029, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1029, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1029, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v_part, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1030
 *         rootwriter = self.rootwriter
 *         for part in self.code_layout:
 *             self.parts[part] = rootwriter.insertion_point()             # <<<<<<<<<<<<<<
 * 
 *         if not Options.cache_builtins:
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_rootwriter, __pyx_n_s_insertion_point); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1030, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1030, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1030, __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, 1030, __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":1029
 *     def initialize_main_c_code(self):
 *         rootwriter = self.rootwriter
 *         for part in self.code_layout:             # <<<<<<<<<<<<<<
 *             self.parts[part] = rootwriter.insertion_point()
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1032
 *             self.parts[part] = rootwriter.insertion_point()
 * 
 *         if not Options.cache_builtins:             # <<<<<<<<<<<<<<
 *             del self.parts['cached_builtins']
 *         else:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_n_s_cache_builtins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_8 = ((!__pyx_t_7) != 0);
  if (__pyx_t_8) {

    /* "Cython/Compiler/Code.py":1033
 * 
 *         if not Options.cache_builtins:
 *             del self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 *         else:
 *             w = self.parts['cached_builtins']
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(PyObject_DelItem(__pyx_t_2, __pyx_n_s_cached_builtins) < 0)) __PYX_ERR(0, 1033, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1032
 *             self.parts[part] = rootwriter.insertion_point()
 * 
 *         if not Options.cache_builtins:             # <<<<<<<<<<<<<<
 *             del self.parts['cached_builtins']
 *         else:
 */
    goto __pyx_L5;
  }

  /* "Cython/Compiler/Code.py":1035
 *             del self.parts['cached_builtins']
 *         else:
 *             w = self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 *             w.enter_cfunc_scope()
 *             w.putln("static int __Pyx_InitCachedBuiltins(void) {")
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyObject_GetItem(__pyx_t_2, __pyx_n_s_cached_builtins); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_w = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1036
 *         else:
 *             w = self.parts['cached_builtins']
 *             w.enter_cfunc_scope()             # <<<<<<<<<<<<<<
 *             w.putln("static int __Pyx_InitCachedBuiltins(void) {")
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_enter_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1036, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1036, __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":1037
 *             w = self.parts['cached_builtins']
 *             w.enter_cfunc_scope()
 *             w.putln("static int __Pyx_InitCachedBuiltins(void) {")             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['cached_constants']
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1037, __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;
  }
  __pyx_L5:;

  /* "Cython/Compiler/Code.py":1039
 *             w.putln("static int __Pyx_InitCachedBuiltins(void) {")
 * 
 *         w = self.parts['cached_constants']             # <<<<<<<<<<<<<<
 *         w.enter_cfunc_scope()
 *         w.putln("")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_GetItem(__pyx_t_2, __pyx_n_s_cached_constants); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1040
 * 
 *         w = self.parts['cached_constants']
 *         w.enter_cfunc_scope()             # <<<<<<<<<<<<<<
 *         w.putln("")
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_enter_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1040, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1040, __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":1041
 *         w = self.parts['cached_constants']
 *         w.enter_cfunc_scope()
 *         w.putln("")             # <<<<<<<<<<<<<<
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")
 *         w.put_declare_refcount_context()
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1041, __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":1042
 *         w.enter_cfunc_scope()
 *         w.putln("")
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")             # <<<<<<<<<<<<<<
 *         w.put_declare_refcount_context()
 *         w.put_setup_refcount_context("__Pyx_InitCachedConstants")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1042, __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":1043
 *         w.putln("")
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")
 *         w.put_declare_refcount_context()             # <<<<<<<<<<<<<<
 *         w.put_setup_refcount_context("__Pyx_InitCachedConstants")
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_put_declare_refcount_context); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1043, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1043, __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":1044
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")
 *         w.put_declare_refcount_context()
 *         w.put_setup_refcount_context("__Pyx_InitCachedConstants")             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['init_globals']
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_put_setup_refcount_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __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":1046
 *         w.put_setup_refcount_context("__Pyx_InitCachedConstants")
 * 
 *         w = self.parts['init_globals']             # <<<<<<<<<<<<<<
 *         w.enter_cfunc_scope()
 *         w.putln("")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_GetItem(__pyx_t_2, __pyx_n_s_init_globals); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1046, __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":1047
 * 
 *         w = self.parts['init_globals']
 *         w.enter_cfunc_scope()             # <<<<<<<<<<<<<<
 *         w.putln("")
 *         w.putln("static int __Pyx_InitGlobals(void) {")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_enter_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1047, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1047, __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":1048
 *         w = self.parts['init_globals']
 *         w.enter_cfunc_scope()
 *         w.putln("")             # <<<<<<<<<<<<<<
 *         w.putln("static int __Pyx_InitGlobals(void) {")
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __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":1049
 *         w.enter_cfunc_scope()
 *         w.putln("")
 *         w.putln("static int __Pyx_InitGlobals(void) {")             # <<<<<<<<<<<<<<
 * 
 *         if not Options.generate_cleanup_code:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1049, __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":1051
 *         w.putln("static int __Pyx_InitGlobals(void) {")
 * 
 *         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_n_s_generate_cleanup_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1051, __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, 1051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = ((!__pyx_t_8) != 0);
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":1052
 * 
 *         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_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(PyObject_DelItem(__pyx_t_1, __pyx_n_s_cleanup_globals) < 0)) __PYX_ERR(0, 1052, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1051
 *         w.putln("static int __Pyx_InitGlobals(void) {")
 * 
 *         if not Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             del self.parts['cleanup_globals']
 *         else:
 */
    goto __pyx_L6;
  }

  /* "Cython/Compiler/Code.py":1054
 *             del self.parts['cleanup_globals']
 *         else:
 *             w = self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *             w.enter_cfunc_scope()
 *             w.putln("")
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_cleanup_globals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1055
 *         else:
 *             w = self.parts['cleanup_globals']
 *             w.enter_cfunc_scope()             # <<<<<<<<<<<<<<
 *             w.putln("")
 *             w.putln("static void __Pyx_CleanupGlobals(void) {")
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_enter_cfunc_scope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1055, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1055, __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":1056
 *             w = self.parts['cleanup_globals']
 *             w.enter_cfunc_scope()
 *             w.putln("")             # <<<<<<<<<<<<<<
 *             w.putln("static void __Pyx_CleanupGlobals(void) {")
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __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":1057
 *             w.enter_cfunc_scope()
 *             w.putln("")
 *             w.putln("static void __Pyx_CleanupGlobals(void) {")             # <<<<<<<<<<<<<<
 * 
 *         code = self.parts['utility_code_proto']
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1057, __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;
  }
  __pyx_L6:;

  /* "Cython/Compiler/Code.py":1059
 *             w.putln("static void __Pyx_CleanupGlobals(void) {")
 * 
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_GetItem(__pyx_t_2, __pyx_n_s_utility_code_proto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_code = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1060
 * 
 *         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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __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":1061
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1061, __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":1063
 *         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_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_utility_code_def); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1064
 * 
 *         code = self.parts['utility_code_def']
 *         if self.code_config.emit_linenums:             # <<<<<<<<<<<<<<
 *             code.write('\n#line 1 "cython_utility"\n')
 *         code.putln("")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_code_config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_emit_linenums); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":1065
 *         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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1065, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1065, __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":1064
 * 
 *         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":1066
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1066, __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":1067
 *             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 finalize_main_c_code(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1067, __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":1027
 *         self.rootwriter = writer
 * 
 *     def initialize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for part in 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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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_part);
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_code);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1069
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
 *     def finalize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         self.close_global_decls()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_5finalize_main_c_code(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_5finalize_main_c_code = {"finalize_main_c_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_5finalize_main_c_code, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_5finalize_main_c_code(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("finalize_main_c_code (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_4finalize_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_4finalize_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;
  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;
  __Pyx_RefNannySetupContext("finalize_main_c_code", 0);

  /* "Cython/Compiler/Code.py":1070
 * 
 *     def finalize_main_c_code(self):
 *         self.close_global_decls()             # <<<<<<<<<<<<<<
 * 
 *         #
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_close_global_decls); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1070, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1070, __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":1075
 *         # 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_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_utility_code_def); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1075, __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":1076
 *         #
 *         code = self.parts['utility_code_def']
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")             # <<<<<<<<<<<<<<
 *         code.put(util.format_code(util.impl))
 *         code.putln("")
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_TempitaUtilityCode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __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_tuple__58, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1076, __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":1077
 *         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_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_put); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_n_s_format_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_util, __pyx_n_s_impl); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1077, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1077, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1078
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")
 *         code.put(util.format_code(util.impl))
 *         code.putln("")             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, key):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1078, __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":1069
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
 *     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_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.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":1080
 *         code.putln("")
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         return self.parts[key]
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_7__getitem__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_7__getitem__ = {"__getitem__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_7__getitem__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_7__getitem__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_key = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_key,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, 1); __PYX_ERR(0, 1080, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__getitem__") < 0)) __PYX_ERR(0, 1080, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_key = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1080, __pyx_L3_error)
  __pyx_L3_error:;
  __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_6__getitem__(__pyx_self, __pyx_v_self, __pyx_v_key);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_6__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;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "Cython/Compiler/Code.py":1081
 * 
 *     def __getitem__(self, key):
 *         return self.parts[key]             # <<<<<<<<<<<<<<
 * 
 *     #
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1081, __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":1080
 *         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":1086
 *     # 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_9close_global_decls(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_9close_global_decls = {"close_global_decls", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_9close_global_decls, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_9close_global_decls(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("close_global_decls (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_8close_global_decls(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_8close_global_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_w = 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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("close_global_decls", 0);

  /* "Cython/Compiler/Code.py":1089
 *         # This is called when it is known that no more global declarations will
 *         # declared.
 *         self.generate_const_declarations()             # <<<<<<<<<<<<<<
 *         if Options.cache_builtins:
 *             w = self.parts['cached_builtins']
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_const_declarations); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1089, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1089, __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":1090
 *         # declared.
 *         self.generate_const_declarations()
 *         if Options.cache_builtins:             # <<<<<<<<<<<<<<
 *             w = self.parts['cached_builtins']
 *             w.putln("return 0;")
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_n_s_cache_builtins); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1090, __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, 1090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1091
 *         self.generate_const_declarations()
 *         if Options.cache_builtins:
 *             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_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_cached_builtins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1091, __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":1092
 *         if Options.cache_builtins:
 *             w = self.parts['cached_builtins']
 *             w.putln("return 0;")             # <<<<<<<<<<<<<<
 *             if w.label_used(w.error_label):
 *                 w.put_label(w.error_label)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1092, __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":1093
 *             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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_label_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_error_label); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1093, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1093, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1093, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1093, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1093, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1093, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":1094
 *             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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_put_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_error_label); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      if (!__pyx_t_3) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1094, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1094, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1094, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1094, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
          __pyx_t_6 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1094, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":1095
 *             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_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1095, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1095, __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":1093
 *             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":1096
 *                 w.put_label(w.error_label)
 *                 w.putln("return -1;")
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1096, __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":1097
 *                 w.putln("return -1;")
 *             w.putln("}")
 *             w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['cached_constants']
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_exit_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __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":1090
 *         # declared.
 *         self.generate_const_declarations()
 *         if Options.cache_builtins:             # <<<<<<<<<<<<<<
 *             w = self.parts['cached_builtins']
 *             w.putln("return 0;")
 */
  }

  /* "Cython/Compiler/Code.py":1099
 *             w.exit_cfunc_scope()
 * 
 *         w = self.parts['cached_constants']             # <<<<<<<<<<<<<<
 *         w.put_finish_refcount_context()
 *         w.putln("return 0;")
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_cached_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1100
 * 
 *         w = self.parts['cached_constants']
 *         w.put_finish_refcount_context()             # <<<<<<<<<<<<<<
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_put_finish_refcount_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (__pyx_t_5) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1100, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1100, __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":1101
 *         w = self.parts['cached_constants']
 *         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_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __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":1102
 *         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_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_label_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_error_label); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1102, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1102, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1103
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_put_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_error_label); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1103, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1104
 *         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_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_put_finish_refcount_context); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1104, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1104, __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":1105
 *             w.put_label(w.error_label)
 *             w.put_finish_refcount_context()
 *             w.putln("return -1;")             # <<<<<<<<<<<<<<
 *         w.putln("}")
 *         w.exit_cfunc_scope()
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__65, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1105, __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":1102
 *         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":1106
 *             w.put_finish_refcount_context()
 *             w.putln("return -1;")
 *         w.putln("}")             # <<<<<<<<<<<<<<
 *         w.exit_cfunc_scope()
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1106, __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":1107
 *             w.putln("return -1;")
 *         w.putln("}")
 *         w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['init_globals']
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_exit_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_6) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __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":1109
 *         w.exit_cfunc_scope()
 * 
 *         w = self.parts['init_globals']             # <<<<<<<<<<<<<<
 *         w.putln("return 0;")
 *         if w.label_used(w.error_label):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_init_globals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1110
 * 
 *         w = self.parts['init_globals']
 *         w.putln("return 0;")             # <<<<<<<<<<<<<<
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__67, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1110, __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":1111
 *         w = self.parts['init_globals']
 *         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_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_label_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_error_label); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1111, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1111, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1111, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1111, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1111, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1112
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_put_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_error_label); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1112, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1113
 *         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_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __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":1111
 *         w = self.parts['init_globals']
 *         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":1114
 *             w.put_label(w.error_label)
 *             w.putln("return -1;")
 *         w.putln("}")             # <<<<<<<<<<<<<<
 *         w.exit_cfunc_scope()
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __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":1115
 *             w.putln("return -1;")
 *         w.putln("}")
 *         w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         if Options.generate_cleanup_code:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_exit_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1115, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1115, __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":1117
 *         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_n_s_generate_cleanup_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1117, __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, 1117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1118
 * 
 *         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_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_cleanup_globals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1119
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1119, __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":1120
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")
 *             w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *         if Options.generate_cleanup_code:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_exit_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1120, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1120, __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":1117
 *         w.exit_cfunc_scope()
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")
 */
  }

  /* "Cython/Compiler/Code.py":1122
 *             w.exit_cfunc_scope()
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             w = self.parts['cleanup_module']
 *             w.putln("}")
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_n_s_generate_cleanup_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1122, __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, 1122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1123
 * 
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_module']             # <<<<<<<<<<<<<<
 *             w.putln("}")
 *             w.exit_cfunc_scope()
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_cleanup_module); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1124
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_module']
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1124, __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":1125
 *             w = self.parts['cleanup_module']
 *             w.putln("}")
 *             w.exit_cfunc_scope()             # <<<<<<<<<<<<<<
 * 
 *     def put_pyobject_decl(self, entry):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_exit_cfunc_scope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __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":1122
 *             w.exit_cfunc_scope()
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             w = self.parts['cleanup_module']
 *             w.putln("}")
 */
  }

  /* "Cython/Compiler/Code.py":1086
 *     # 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_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1127
 *             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_11put_pyobject_decl(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_11put_pyobject_decl = {"put_pyobject_decl", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_11put_pyobject_decl, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_11put_pyobject_decl(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_pyobject_decl (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_pyobject_decl", 1, 2, 2, 1); __PYX_ERR(0, 1127, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_pyobject_decl") < 0)) __PYX_ERR(0, 1127, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_pyobject_decl", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1127, __pyx_L3_error)
  __pyx_L3_error:;
  __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_10put_pyobject_decl(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_10put_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;
  __Pyx_RefNannySetupContext("put_pyobject_decl", 0);

  /* "Cython/Compiler/Code.py":1128
 * 
 *     def put_pyobject_decl(self, entry):
 *         self['global_var'].putln("static PyObject *%s;" % entry.cname)             # <<<<<<<<<<<<<<
 * 
 *     # constant handling at code generation time
 */
  __pyx_t_2 = PyObject_GetItem(__pyx_v_self, __pyx_n_s_global_var); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1128, __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_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_static_PyObject_s, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1128, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1127
 *             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":1132
 *     # constant handling at code generation time
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.parts['cached_constants']
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_13get_cached_constants_writer(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_13get_cached_constants_writer = {"get_cached_constants_writer", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_13get_cached_constants_writer, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_13get_cached_constants_writer(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_cached_constants_writer (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_12get_cached_constants_writer(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_12get_cached_constants_writer(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;
  __Pyx_RefNannySetupContext("get_cached_constants_writer", 0);

  /* "Cython/Compiler/Code.py":1133
 * 
 *     def get_cached_constants_writer(self):
 *         return self.parts['cached_constants']             # <<<<<<<<<<<<<<
 * 
 *     def get_int_const(self, str_value, longness=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_cached_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __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":1132
 *     # constant handling at code generation time
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.parts['cached_constants']
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __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":1135
 *         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_15get_int_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_15get_int_const = {"get_int_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_15get_int_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_15get_int_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_str_value = 0;
  PyObject *__pyx_v_longness = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_int_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_str_value,&__pyx_n_s_longness,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_str_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_int_const", 0, 2, 3, 1); __PYX_ERR(0, 1135, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_longness);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_int_const") < 0)) __PYX_ERR(0, 1135, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_str_value = values[1];
    __pyx_v_longness = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_int_const", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1135, __pyx_L3_error)
  __pyx_L3_error:;
  __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_14get_int_const(__pyx_self, __pyx_v_self, __pyx_v_str_value, __pyx_v_longness);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_14get_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;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  __Pyx_RefNannySetupContext("get_int_const", 0);

  /* "Cython/Compiler/Code.py":1136
 * 
 *     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, 1136, __pyx_L1_error)
  if (!__pyx_t_2) {
    goto __pyx_L4_next_or;
  } else {
  }
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_n_s_long); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1136, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_n_s_long);
    __pyx_t_1 = __pyx_n_s_long;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_L4_next_or:;
  __Pyx_INCREF(__pyx_n_s_int);
  __pyx_t_1 = __pyx_n_s_int;
  __pyx_L3_bool_binop_done:;
  __pyx_v_py_type = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1137
 *     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":1138
 *         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_n_s_num_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1138, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1138, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_str_value);
      __Pyx_GIVEREF(__pyx_v_str_value);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_str_value);
      __Pyx_INCREF(__pyx_v_py_type);
      __Pyx_GIVEREF(__pyx_v_py_type);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_py_type);
      __pyx_t_7 = PyObject_GetItem(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1138, __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":1137
 *     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_L13_try_end;
    __pyx_L6_error:;
    __Pyx_PyThreadState_assign
    __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":1139
 *         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(__pyx_builtin_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, 1139, __pyx_L8_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_1);

      /* "Cython/Compiler/Code.py":1140
 *             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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_num_const); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1140, __pyx_L8_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_str_value, __pyx_v_py_type};
        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1140, __pyx_L8_except_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_9);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_str_value, __pyx_v_py_type};
        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1140, __pyx_L8_except_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_9);
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1140, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        if (__pyx_t_11) {
          __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL;
        }
        __Pyx_INCREF(__pyx_v_str_value);
        __Pyx_GIVEREF(__pyx_v_str_value);
        PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_8, __pyx_v_str_value);
        __Pyx_INCREF(__pyx_v_py_type);
        __Pyx_GIVEREF(__pyx_v_py_type);
        PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_8, __pyx_v_py_type);
        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1140, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L7_exception_handled;
    }
    goto __pyx_L8_except_error;
    __pyx_L8_except_error:;

    /* "Cython/Compiler/Code.py":1137
 *     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_assign
    __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_PyThreadState_assign
    __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_L13_try_end:;
  }

  /* "Cython/Compiler/Code.py":1141
 *         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":1135
 *         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_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __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":1143
 *         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_17get_float_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_17get_float_const = {"get_float_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_17get_float_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_17get_float_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_str_value = 0;
  PyObject *__pyx_v_value_code = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_float_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_str_value,&__pyx_n_s_value_code,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_str_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_float_const", 1, 3, 3, 1); __PYX_ERR(0, 1143, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_float_const", 1, 3, 3, 2); __PYX_ERR(0, 1143, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_float_const") < 0)) __PYX_ERR(0, 1143, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_str_value = values[1];
    __pyx_v_value_code = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_float_const", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1143, __pyx_L3_error)
  __pyx_L3_error:;
  __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_16get_float_const(__pyx_self, __pyx_v_self, __pyx_v_str_value, __pyx_v_value_code);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_16get_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;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  __Pyx_RefNannySetupContext("get_float_const", 0);

  /* "Cython/Compiler/Code.py":1144
 * 
 *     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":1145
 *     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_n_s_num_const_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1145, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1145, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_v_str_value);
      __Pyx_GIVEREF(__pyx_v_str_value);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_str_value);
      __Pyx_INCREF(__pyx_n_s_float);
      __Pyx_GIVEREF(__pyx_n_s_float);
      PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_float);
      __pyx_t_6 = PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1145, __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":1144
 * 
 *     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_L10_try_end;
    __pyx_L3_error:;
    __Pyx_PyThreadState_assign
    __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":1146
 *         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(__pyx_builtin_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, 1146, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":1147
 *             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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_num_const); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1147, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_str_value, __pyx_n_s_float, __pyx_v_value_code};
        __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1147, __pyx_L5_except_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_8);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_str_value, __pyx_n_s_float, __pyx_v_value_code};
        __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1147, __pyx_L5_except_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_8);
      } else
      #endif
      {
        __pyx_t_11 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1147, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        if (__pyx_t_10) {
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
        }
        __Pyx_INCREF(__pyx_v_str_value);
        __Pyx_GIVEREF(__pyx_v_str_value);
        PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_7, __pyx_v_str_value);
        __Pyx_INCREF(__pyx_n_s_float);
        __Pyx_GIVEREF(__pyx_n_s_float);
        PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_7, __pyx_n_s_float);
        __Pyx_INCREF(__pyx_v_value_code);
        __Pyx_GIVEREF(__pyx_v_value_code);
        PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_7, __pyx_v_value_code);
        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1147, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      }
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_8);
      __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "Cython/Compiler/Code.py":1144
 * 
 *     def get_float_const(self, str_value, value_code):
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.num_const_index[(str_value, 'float')]
 *         except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_L10_try_end:;
  }

  /* "Cython/Compiler/Code.py":1148
 *         except KeyError:
 *             c = self.new_num_const(str_value, 'float', value_code)
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_c);
  __pyx_r = __pyx_v_c;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1143
 *         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_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __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":1150
 *         return c
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_19get_py_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_19get_py_const = {"get_py_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_19get_py_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_19get_py_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_prefix = 0;
  PyObject *__pyx_v_cleanup_level = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type,&__pyx_n_s_prefix,&__pyx_n_s_cleanup_level,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)((PyObject*)__pyx_kp_s__8));
    values[3] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 2, 4, 1); __PYX_ERR(0, 1150, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_prefix);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cleanup_level);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_const") < 0)) __PYX_ERR(0, 1150, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_type = values[1];
    __pyx_v_prefix = values[2];
    __pyx_v_cleanup_level = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1150, __pyx_L3_error)
  __pyx_L3_error:;
  __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_18get_py_const(__pyx_self, __pyx_v_self, __pyx_v_type, __pyx_v_prefix, __pyx_v_cleanup_level);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_18get_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_prefix, PyObject *__pyx_v_cleanup_level) {
  PyObject *__pyx_v_const = NULL;
  PyObject *__pyx_v_cleanup_writer = 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;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("get_py_const", 0);

  /* "Cython/Compiler/Code.py":1152
 *     def get_py_const(self, type, prefix='', cleanup_level=None):
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)             # <<<<<<<<<<<<<<
 *         if cleanup_level is not None \
 *                 and cleanup_level <= Options.generate_cleanup_code:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_py_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_type, __pyx_v_prefix};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1152, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_type, __pyx_v_prefix};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1152, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_prefix);
    __Pyx_GIVEREF(__pyx_v_prefix);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_prefix);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_const = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1153
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)
 *         if cleanup_level is not None \             # <<<<<<<<<<<<<<
 *                 and cleanup_level <= Options.generate_cleanup_code:
 *             cleanup_writer = self.parts['cleanup_globals']
 */
  __pyx_t_7 = (__pyx_v_cleanup_level != Py_None);
  __pyx_t_8 = (__pyx_t_7 != 0);
  if (__pyx_t_8) {
  } else {
    __pyx_t_6 = __pyx_t_8;
    goto __pyx_L4_bool_binop_done;
  }

  /* "Cython/Compiler/Code.py":1154
 *         const = self.new_py_const(type, prefix)
 *         if cleanup_level is not None \
 *                 and cleanup_level <= Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             cleanup_writer = self.parts['cleanup_globals']
 *             cleanup_writer.putln('Py_CLEAR(%s);' % const.cname)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_n_s_generate_cleanup_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_cleanup_level, __pyx_t_1, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;

  /* "Cython/Compiler/Code.py":1153
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)
 *         if cleanup_level is not None \             # <<<<<<<<<<<<<<
 *                 and cleanup_level <= Options.generate_cleanup_code:
 *             cleanup_writer = self.parts['cleanup_globals']
 */
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":1155
 *         if cleanup_level is not None \
 *                 and cleanup_level <= Options.generate_cleanup_code:
 *             cleanup_writer = self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *             cleanup_writer.putln('Py_CLEAR(%s);' % const.cname)
 *         return const
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyObject_GetItem(__pyx_t_2, __pyx_n_s_cleanup_globals); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_cleanup_writer = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1156
 *                 and cleanup_level <= Options.generate_cleanup_code:
 *             cleanup_writer = self.parts['cleanup_globals']
 *             cleanup_writer.putln('Py_CLEAR(%s);' % const.cname)             # <<<<<<<<<<<<<<
 *         return const
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cleanup_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_const, __pyx_n_s_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Py_CLEAR_s, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1156, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1156, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1156, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1156, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1156, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1153
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)
 *         if cleanup_level is not None \             # <<<<<<<<<<<<<<
 *                 and cleanup_level <= Options.generate_cleanup_code:
 *             cleanup_writer = self.parts['cleanup_globals']
 */
  }

  /* "Cython/Compiler/Code.py":1157
 *             cleanup_writer = self.parts['cleanup_globals']
 *             cleanup_writer.putln('Py_CLEAR(%s);' % const.cname)
 *         return const             # <<<<<<<<<<<<<<
 * 
 *     def get_string_const(self, text, py_version=None):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_const);
  __pyx_r = __pyx_v_const;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1150
 *         return c
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)
 */

  /* 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_9);
  __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_XDECREF(__pyx_v_cleanup_writer);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1159
 *         return const
 * 
 *     def get_string_const(self, text, py_version=None):             # <<<<<<<<<<<<<<
 *         # 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_21get_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_21get_string_const = {"get_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_21get_string_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_21get_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_py_version = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_string_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,&__pyx_n_s_py_version,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_string_const", 0, 2, 3, 1); __PYX_ERR(0, 1159, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_py_version);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_string_const") < 0)) __PYX_ERR(0, 1159, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
    __pyx_v_py_version = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_string_const", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1159, __pyx_L3_error)
  __pyx_L3_error:;
  __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_20get_string_const(__pyx_self, __pyx_v_self, __pyx_v_text, __pyx_v_py_version);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_20get_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_py_version) {
  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;
  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;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  __Pyx_RefNannySetupContext("get_string_const", 0);

  /* "Cython/Compiler/Code.py":1161
 *     def get_string_const(self, text, py_version=None):
 *         # 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_n_s_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1161, __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, 1161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1162
 *         # 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_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_utf8encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1162, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1162, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_byte_string = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1161
 *     def get_string_const(self, text, py_version=None):
 *         # 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":1164
 *             byte_string = text.utf8encode()
 *         else:
 *             byte_string = text.byteencode()             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.string_const_index[byte_string]
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_byteencode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1164, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1164, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_byte_string = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1165
 *         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":1166
 *             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_n_s_string_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_v_byte_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __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":1165
 *         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_L11_try_end;
    __pyx_L4_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1167
 *         try:
 *             c = self.string_const_index[byte_string]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             c = self.new_string_const(text, byte_string)
 *         c.add_py_version(py_version)
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_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_4) < 0) __PYX_ERR(0, 1167, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":1168
 *             c = self.string_const_index[byte_string]
 *         except KeyError:
 *             c = self.new_string_const(text, byte_string)             # <<<<<<<<<<<<<<
 *         c.add_py_version(py_version)
 *         return c
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_string_const); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1168, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_text, __pyx_v_byte_string};
        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1168, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_9);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_text, __pyx_v_byte_string};
        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1168, __pyx_L6_except_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_9);
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1168, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        if (__pyx_t_11) {
          __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL;
        }
        __Pyx_INCREF(__pyx_v_text);
        __Pyx_GIVEREF(__pyx_v_text);
        PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_8, __pyx_v_text);
        __Pyx_INCREF(__pyx_v_byte_string);
        __Pyx_GIVEREF(__pyx_v_byte_string);
        PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_8, __pyx_v_byte_string);
        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1168, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L5_exception_handled;
    }
    goto __pyx_L6_except_error;
    __pyx_L6_except_error:;

    /* "Cython/Compiler/Code.py":1165
 *         else:
 *             byte_string = text.byteencode()
 *         try:             # <<<<<<<<<<<<<<
 *             c = self.string_const_index[byte_string]
 *         except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_L11_try_end:;
  }

  /* "Cython/Compiler/Code.py":1169
 *         except KeyError:
 *             c = self.new_string_const(text, byte_string)
 *         c.add_py_version(py_version)             # <<<<<<<<<<<<<<
 *         return c
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_add_py_version); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_py_version); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_py_version};
      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_py_version};
      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_py_version);
      __Pyx_GIVEREF(__pyx_v_py_version);
      PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_py_version);
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1170
 *             c = self.new_string_const(text, byte_string)
 *         c.add_py_version(py_version)
 *         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":1159
 *         return const
 * 
 *     def get_string_const(self, text, py_version=None):             # <<<<<<<<<<<<<<
 *         # 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_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __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":1172
 *         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_23get_pyunicode_ptr_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_23get_pyunicode_ptr_const = {"get_pyunicode_ptr_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_23get_pyunicode_ptr_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_23get_pyunicode_ptr_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_pyunicode_ptr_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_pyunicode_ptr_const", 1, 2, 2, 1); __PYX_ERR(0, 1172, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_pyunicode_ptr_const") < 0)) __PYX_ERR(0, 1172, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_pyunicode_ptr_const", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1172, __pyx_L3_error)
  __pyx_L3_error:;
  __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_22get_pyunicode_ptr_const(__pyx_self, __pyx_v_self, __pyx_v_text);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_22get_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;
  PyObject *__pyx_t_11 = NULL;
  __Pyx_RefNannySetupContext("get_pyunicode_ptr_const", 0);

  /* "Cython/Compiler/Code.py":1174
 *     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(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_is_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1174, __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, 1174, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 1174, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":1175
 *         # 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":1176
 *         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_n_s_pyunicode_ptr_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1176, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = PyObject_GetItem(__pyx_t_1, __pyx_v_text); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1176, __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":1175
 *         # 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_L10_try_end;
    __pyx_L3_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":1177
 *         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(__pyx_builtin_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, 1177, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_8);

      /* "Cython/Compiler/Code.py":1178
 *             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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_const_cname); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1178, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
        }
      }
      if (__pyx_t_11) {
        __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1178, __pyx_L5_except_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      } else {
        __pyx_t_9 = __Pyx_PyObject_CallNoArg(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1178, __pyx_L5_except_error)
      }
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_9);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pyunicode_ptr_const_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1178, __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, 1178, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 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_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "Cython/Compiler/Code.py":1175
 *         # 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_assign
    __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_PyThreadState_assign
    __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_L10_try_end:;
  }

  /* "Cython/Compiler/Code.py":1179
 *         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":1172
 *         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_XDECREF(__pyx_t_11);
  __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":1181
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         # return a Python string constant, creating a new one if necessary
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_25get_py_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_25get_py_string_const = {"get_py_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_25get_py_string_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_25get_py_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_identifier = 0;
  PyObject *__pyx_v_is_str = 0;
  PyObject *__pyx_v_unicode_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_string_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,&__pyx_n_s_identifier,&__pyx_n_s_is_str,&__pyx_n_s_unicode_value,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));

    /* "Cython/Compiler/Code.py":1182
 * 
 *     def get_py_string_const(self, text, identifier=None,
 *                             is_str=False, unicode_value=None):             # <<<<<<<<<<<<<<
 *         # return a Python string constant, creating a new one if necessary
 *         py3str_cstring = None
 */
    values[3] = ((PyObject *)((PyObject *)Py_False));
    values[4] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 2, 5, 1); __PYX_ERR(0, 1181, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_identifier);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_str);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_unicode_value);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_string_const") < 0)) __PYX_ERR(0, 1181, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
    __pyx_v_identifier = values[2];
    __pyx_v_is_str = values[3];
    __pyx_v_unicode_value = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1181, __pyx_L3_error)
  __pyx_L3_error:;
  __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_24get_py_string_const(__pyx_self, __pyx_v_self, __pyx_v_text, __pyx_v_identifier, __pyx_v_is_str, __pyx_v_unicode_value);

  /* "Cython/Compiler/Code.py":1181
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         # return a Python string constant, creating a new one if necessary
 */

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_24get_py_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier, PyObject *__pyx_v_is_str, PyObject *__pyx_v_unicode_value) {
  PyObject *__pyx_v_py3str_cstring = NULL;
  PyObject *__pyx_v_c_string = NULL;
  PyObject *__pyx_v_py_string = 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;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("get_py_string_const", 0);

  /* "Cython/Compiler/Code.py":1184
 *                             is_str=False, unicode_value=None):
 *         # return a Python string constant, creating a new one if necessary
 *         py3str_cstring = None             # <<<<<<<<<<<<<<
 *         if is_str and unicode_value is not None \
 *                and unicode_value.utf8encode() != text.byteencode():
 */
  __Pyx_INCREF(Py_None);
  __pyx_v_py3str_cstring = Py_None;

  /* "Cython/Compiler/Code.py":1185
 *         # return a Python string constant, creating a new one if necessary
 *         py3str_cstring = None
 *         if is_str and unicode_value is not None \             # <<<<<<<<<<<<<<
 *                and unicode_value.utf8encode() != text.byteencode():
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_str); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1185, __pyx_L1_error)
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }

  /* "Cython/Compiler/Code.py":1186
 *         py3str_cstring = None
 *         if is_str and unicode_value is not None \
 *                and unicode_value.utf8encode() != text.byteencode():             # <<<<<<<<<<<<<<
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)
 *             c_string = self.get_string_const(text, py_version=2)
 */
  __pyx_t_2 = (__pyx_v_unicode_value != Py_None);

  /* "Cython/Compiler/Code.py":1185
 *         # return a Python string constant, creating a new one if necessary
 *         py3str_cstring = None
 *         if is_str and unicode_value is not None \             # <<<<<<<<<<<<<<
 *                and unicode_value.utf8encode() != text.byteencode():
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)
 */
  __pyx_t_3 = (__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":1186
 *         py3str_cstring = None
 *         if is_str and unicode_value is not None \
 *                and unicode_value.utf8encode() != text.byteencode():             # <<<<<<<<<<<<<<
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)
 *             c_string = self.get_string_const(text, py_version=2)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_unicode_value, __pyx_n_s_utf8encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (__pyx_t_6) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1186, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else {
    __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1186, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_byteencode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (__pyx_t_7) {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;

  /* "Cython/Compiler/Code.py":1185
 *         # return a Python string constant, creating a new one if necessary
 *         py3str_cstring = None
 *         if is_str and unicode_value is not None \             # <<<<<<<<<<<<<<
 *                and unicode_value.utf8encode() != text.byteencode():
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)
 */
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1187
 *         if is_str and unicode_value is not None \
 *                and unicode_value.utf8encode() != text.byteencode():
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)             # <<<<<<<<<<<<<<
 *             c_string = self.get_string_const(text, py_version=2)
 *         else:
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_string_const); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_v_unicode_value);
    __Pyx_GIVEREF(__pyx_v_unicode_value);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_unicode_value);
    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_py_version, __pyx_int_3) < 0) __PYX_ERR(0, 1187, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_py3str_cstring, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1188
 *                and unicode_value.utf8encode() != text.byteencode():
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)
 *             c_string = self.get_string_const(text, py_version=2)             # <<<<<<<<<<<<<<
 *         else:
 *             c_string = self.get_string_const(text)
 */
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_string_const); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_text);
    __Pyx_GIVEREF(__pyx_v_text);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_text);
    __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_py_version, __pyx_int_2) < 0) __PYX_ERR(0, 1188, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_c_string = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":1185
 *         # return a Python string constant, creating a new one if necessary
 *         py3str_cstring = None
 *         if is_str and unicode_value is not None \             # <<<<<<<<<<<<<<
 *                and unicode_value.utf8encode() != text.byteencode():
 *             py3str_cstring = self.get_string_const(unicode_value, py_version=3)
 */
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1190
 *             c_string = self.get_string_const(text, py_version=2)
 *         else:
 *             c_string = self.get_string_const(text)             # <<<<<<<<<<<<<<
 *         py_string = c_string.get_py_string_const(
 *             text.encoding, identifier, is_str, py3str_cstring)
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_string_const); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_text); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_text};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1190, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_6);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_text};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1190, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_6);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1190, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_v_text);
        __Pyx_GIVEREF(__pyx_v_text);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_text);
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1190, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_c_string = __pyx_t_6;
    __pyx_t_6 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1191
 *         else:
 *             c_string = self.get_string_const(text)
 *         py_string = c_string.get_py_string_const(             # <<<<<<<<<<<<<<
 *             text.encoding, identifier, is_str, py3str_cstring)
 *         return py_string
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_c_string, __pyx_n_s_get_py_string_const); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "Cython/Compiler/Code.py":1192
 *             c_string = self.get_string_const(text)
 *         py_string = c_string.get_py_string_const(
 *             text.encoding, identifier, is_str, py3str_cstring)             # <<<<<<<<<<<<<<
 *         return py_string
 * 
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_encoding); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = NULL;
  __pyx_t_8 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_5)) {
    PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_t_7, __pyx_v_identifier, __pyx_v_is_str, __pyx_v_py3str_cstring};
    __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1191, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
    PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_t_7, __pyx_v_identifier, __pyx_v_is_str, __pyx_v_py3str_cstring};
    __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1191, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else
  #endif
  {
    __pyx_t_9 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_7);
    __Pyx_INCREF(__pyx_v_identifier);
    __Pyx_GIVEREF(__pyx_v_identifier);
    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_identifier);
    __Pyx_INCREF(__pyx_v_is_str);
    __Pyx_GIVEREF(__pyx_v_is_str);
    PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_v_is_str);
    __Pyx_INCREF(__pyx_v_py3str_cstring);
    __Pyx_GIVEREF(__pyx_v_py3str_cstring);
    PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_v_py3str_cstring);
    __pyx_t_7 = 0;
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_py_string = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":1193
 *         py_string = c_string.get_py_string_const(
 *             text.encoding, identifier, is_str, py3str_cstring)
 *         return py_string             # <<<<<<<<<<<<<<
 * 
 *     def get_interned_identifier(self, text):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_py_string);
  __pyx_r = __pyx_v_py_string;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1181
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         # return a Python string constant, creating a new one if necessary
 */

  /* 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_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.get_py_string_const", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_py3str_cstring);
  __Pyx_XDECREF(__pyx_v_c_string);
  __Pyx_XDECREF(__pyx_v_py_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1195
 *         return py_string
 * 
 *     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_27get_interned_identifier(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_27get_interned_identifier = {"get_interned_identifier", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_27get_interned_identifier, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_27get_interned_identifier(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_interned_identifier (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_interned_identifier", 1, 2, 2, 1); __PYX_ERR(0, 1195, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_interned_identifier") < 0)) __PYX_ERR(0, 1195, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_interned_identifier", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1195, __pyx_L3_error)
  __pyx_L3_error:;
  __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_26get_interned_identifier(__pyx_self, __pyx_v_self, __pyx_v_text);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_26get_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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("get_interned_identifier", 0);

  /* "Cython/Compiler/Code.py":1196
 * 
 *     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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_py_string_const); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_text);
  __Pyx_GIVEREF(__pyx_v_text);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_text);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_identifier, Py_True) < 0) __PYX_ERR(0, 1196, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1196, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1195
 *         return py_string
 * 
 *     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_3);
  __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":1198
 *         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_29new_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_29new_string_const = {"new_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_29new_string_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_29new_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_byte_string = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_string_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,&__pyx_n_s_byte_string,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_string_const", 1, 3, 3, 1); __PYX_ERR(0, 1198, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_byte_string)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_string_const", 1, 3, 3, 2); __PYX_ERR(0, 1198, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_string_const") < 0)) __PYX_ERR(0, 1198, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
    __pyx_v_byte_string = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_string_const", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1198, __pyx_L3_error)
  __pyx_L3_error:;
  __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_28new_string_const(__pyx_self, __pyx_v_self, __pyx_v_text, __pyx_v_byte_string);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_28new_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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("new_string_const", 0);

  /* "Cython/Compiler/Code.py":1199
 * 
 *     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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_string_const_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_byte_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_byte_string};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_byte_string};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1199, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_byte_string);
      __Pyx_GIVEREF(__pyx_v_byte_string);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_byte_string);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1200
 *     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_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_text);
  __Pyx_GIVEREF(__pyx_v_text);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_text);
  __Pyx_INCREF(__pyx_v_byte_string);
  __Pyx_GIVEREF(__pyx_v_byte_string);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_byte_string);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_StringConst), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_c = ((struct __pyx_obj_6Cython_8Compiler_4Code_StringConst *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1201
 *         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 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_string_const_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_byte_string, ((PyObject *)__pyx_v_c)) < 0)) __PYX_ERR(0, 1201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1202
 *         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":1198
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1204
 *         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_31new_num_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_31new_num_const = {"new_num_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_31new_num_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_31new_num_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_py_type = 0;
  PyObject *__pyx_v_value_code = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_num_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_value,&__pyx_n_s_py_type,&__pyx_n_s_value_code,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_num_const", 0, 3, 4, 1); __PYX_ERR(0, 1204, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_py_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_num_const", 0, 3, 4, 2); __PYX_ERR(0, 1204, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value_code);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_num_const") < 0)) __PYX_ERR(0, 1204, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_value = values[1];
    __pyx_v_py_type = values[2];
    __pyx_v_value_code = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_num_const", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1204, __pyx_L3_error)
  __pyx_L3_error:;
  __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_30new_num_const(__pyx_self, __pyx_v_self, __pyx_v_value, __pyx_v_py_type, __pyx_v_value_code);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_30new_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;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("new_num_const", 0);

  /* "Cython/Compiler/Code.py":1205
 * 
 *     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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_num_const_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_value, __pyx_v_py_type};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_value, __pyx_v_py_type};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_value);
    __Pyx_INCREF(__pyx_v_py_type);
    __Pyx_GIVEREF(__pyx_v_py_type);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_py_type);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1206
 *     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 = __Pyx_GetModuleGlobalName(__pyx_n_s_NumConst); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_cname, __pyx_v_value, __pyx_v_py_type, __pyx_v_value_code};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_cname, __pyx_v_value, __pyx_v_py_type, __pyx_v_value_code};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_3 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_cname);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_value);
    __Pyx_INCREF(__pyx_v_py_type);
    __Pyx_GIVEREF(__pyx_v_py_type);
    PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_4, __pyx_v_py_type);
    __Pyx_INCREF(__pyx_v_value_code);
    __Pyx_GIVEREF(__pyx_v_value_code);
    PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_4, __pyx_v_value_code);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_c = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1207
 *         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_n_s_num_const_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_value);
  __Pyx_INCREF(__pyx_v_py_type);
  __Pyx_GIVEREF(__pyx_v_py_type);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_py_type);
  if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_2, __pyx_v_c) < 0)) __PYX_ERR(0, 1207, __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":1208
 *         c = NumConst(cname, value, py_type, value_code)
 *         self.num_const_index[(value, py_type)] = c
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def new_py_const(self, type, prefix=''):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_c);
  __pyx_r = __pyx_v_c;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1204
 *         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_3);
  __Pyx_XDECREF(__pyx_t_5);
  __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":1210
 *         return c
 * 
 *     def new_py_const(self, type, prefix=''):             # <<<<<<<<<<<<<<
 *         cname = self.new_const_cname(prefix)
 *         c = PyObjectConst(cname, type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_33new_py_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_33new_py_const = {"new_py_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_33new_py_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_33new_py_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_prefix = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_py_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type,&__pyx_n_s_prefix,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject*)__pyx_kp_s__8));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_py_const", 0, 2, 3, 1); __PYX_ERR(0, 1210, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_prefix);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_py_const") < 0)) __PYX_ERR(0, 1210, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_type = values[1];
    __pyx_v_prefix = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_py_const", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1210, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.new_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_32new_py_const(__pyx_self, __pyx_v_self, __pyx_v_type, __pyx_v_prefix);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_32new_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_prefix) {
  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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("new_py_const", 0);

  /* "Cython/Compiler/Code.py":1211
 * 
 *     def new_py_const(self, type, prefix=''):
 *         cname = self.new_const_cname(prefix)             # <<<<<<<<<<<<<<
 *         c = PyObjectConst(cname, type)
 *         self.py_constants.append(c)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_const_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_prefix};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_prefix};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1211, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_prefix);
      __Pyx_GIVEREF(__pyx_v_prefix);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_prefix);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1212
 *     def new_py_const(self, type, prefix=''):
 *         cname = self.new_const_cname(prefix)
 *         c = PyObjectConst(cname, type)             # <<<<<<<<<<<<<<
 *         self.py_constants.append(c)
 *         return c
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_type);
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_c = ((struct __pyx_obj_6Cython_8Compiler_4Code_PyObjectConst *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1213
 *         cname = self.new_const_cname(prefix)
 *         c = PyObjectConst(cname, type)
 *         self.py_constants.append(c)             # <<<<<<<<<<<<<<
 *         return c
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_py_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_Append(__pyx_t_2, ((PyObject *)__pyx_v_c)); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(0, 1213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1214
 *         c = PyObjectConst(cname, type)
 *         self.py_constants.append(c)
 *         return c             # <<<<<<<<<<<<<<
 * 
 *     def new_string_const_cname(self, bytes_value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_c));
  __pyx_r = ((PyObject *)__pyx_v_c);
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1210
 *         return c
 * 
 *     def new_py_const(self, type, prefix=''):             # <<<<<<<<<<<<<<
 *         cname = self.new_const_cname(prefix)
 *         c = PyObjectConst(cname, type)
 */

  /* 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.GlobalState.new_py_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":1216
 *         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_35new_string_const_cname(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_35new_string_const_cname = {"new_string_const_cname", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_35new_string_const_cname, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_35new_string_const_cname(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_bytes_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_string_const_cname (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_bytes_value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_bytes_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_string_const_cname", 1, 2, 2, 1); __PYX_ERR(0, 1216, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_string_const_cname") < 0)) __PYX_ERR(0, 1216, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_bytes_value = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_string_const_cname", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1216, __pyx_L3_error)
  __pyx_L3_error:;
  __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_34new_string_const_cname(__pyx_self, __pyx_v_self, __pyx_v_bytes_value);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_34new_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;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("new_string_const_cname", 0);

  /* "Cython/Compiler/Code.py":1218
 *     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_n_s_decode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __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":1219
 *         # 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 new_num_const_cname(self, value, py_type):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_const_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_value, __pyx_v_value) < 0) __PYX_ERR(0, 1219, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __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":1216
 *         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_3);
  __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":1221
 *         return self.new_const_cname(value=value)
 * 
 *     def new_num_const_cname(self, value, py_type):             # <<<<<<<<<<<<<<
 *         if py_type == 'long':
 *             value += 'L'
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_37new_num_const_cname(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_37new_num_const_cname = {"new_num_const_cname", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_37new_num_const_cname, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_37new_num_const_cname(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_py_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_num_const_cname (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_value,&__pyx_n_s_py_type,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_num_const_cname", 1, 3, 3, 1); __PYX_ERR(0, 1221, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_py_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("new_num_const_cname", 1, 3, 3, 2); __PYX_ERR(0, 1221, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_num_const_cname") < 0)) __PYX_ERR(0, 1221, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_value = values[1];
    __pyx_v_py_type = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_num_const_cname", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1221, __pyx_L3_error)
  __pyx_L3_error:;
  __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_36new_num_const_cname(__pyx_self, __pyx_v_self, __pyx_v_value, __pyx_v_py_type);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_36new_num_const_cname(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED 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;
  __Pyx_RefNannySetupContext("new_num_const_cname", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_INCREF(__pyx_v_py_type);

  /* "Cython/Compiler/Code.py":1222
 * 
 *     def new_num_const_cname(self, value, py_type):
 *         if py_type == 'long':             # <<<<<<<<<<<<<<
 *             value += 'L'
 *             py_type = 'int'
 */
  __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_py_type, __pyx_n_s_long, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1222, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1223
 *     def new_num_const_cname(self, value, py_type):
 *         if py_type == 'long':
 *             value += 'L'             # <<<<<<<<<<<<<<
 *             py_type = 'int'
 *         prefix = Naming.interned_prefixes[py_type]
 */
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_value, __pyx_n_s_L); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1223, __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":1224
 *         if py_type == 'long':
 *             value += 'L'
 *             py_type = 'int'             # <<<<<<<<<<<<<<
 *         prefix = Naming.interned_prefixes[py_type]
 *         cname = "%s%s" % (prefix, value)
 */
    __Pyx_INCREF(__pyx_n_s_int);
    __Pyx_DECREF_SET(__pyx_v_py_type, __pyx_n_s_int);

    /* "Cython/Compiler/Code.py":1222
 * 
 *     def new_num_const_cname(self, value, py_type):
 *         if py_type == 'long':             # <<<<<<<<<<<<<<
 *             value += 'L'
 *             py_type = 'int'
 */
  }

  /* "Cython/Compiler/Code.py":1225
 *             value += 'L'
 *             py_type = 'int'
 *         prefix = Naming.interned_prefixes[py_type]             # <<<<<<<<<<<<<<
 *         cname = "%s%s" % (prefix, value)
 *         cname = cname.replace('+', '_').replace('-', 'neg_').replace('.', '_')
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_interned_prefixes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_GetItem(__pyx_t_2, __pyx_v_py_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1225, __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":1226
 *             py_type = 'int'
 *         prefix = Naming.interned_prefixes[py_type]
 *         cname = "%s%s" % (prefix, value)             # <<<<<<<<<<<<<<
 *         cname = cname.replace('+', '_').replace('-', 'neg_').replace('.', '_')
 *         return cname
 */
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_prefix);
  __Pyx_GIVEREF(__pyx_v_prefix);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_prefix);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_value);
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_s_3, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cname = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1227
 *         prefix = Naming.interned_prefixes[py_type]
 *         cname = "%s%s" % (prefix, value)
 *         cname = cname.replace('+', '_').replace('-', 'neg_').replace('.', '_')             # <<<<<<<<<<<<<<
 *         return cname
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cname, __pyx_n_s_replace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_replace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__76, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_replace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__77, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF_SET(__pyx_v_cname, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1228
 *         cname = "%s%s" % (prefix, value)
 *         cname = cname.replace('+', '_').replace('-', 'neg_').replace('.', '_')
 *         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":1221
 *         return self.new_const_cname(value=value)
 * 
 *     def new_num_const_cname(self, value, py_type):             # <<<<<<<<<<<<<<
 *         if py_type == 'long':
 *             value += 'L'
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __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":1230
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         used = self.const_cnames_used
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_39new_const_cname(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_39new_const_cname = {"new_const_cname", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_39new_const_cname, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_39new_const_cname(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_prefix = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_const_cname (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_prefix,&__pyx_n_s_value,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)((PyObject*)__pyx_kp_s__8));
    values[2] = ((PyObject *)((PyObject*)__pyx_kp_s__8));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_prefix);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_const_cname") < 0)) __PYX_ERR(0, 1230, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_prefix = values[1];
    __pyx_v_value = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_const_cname", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1230, __pyx_L3_error)
  __pyx_L3_error:;
  __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_38new_const_cname(__pyx_self, __pyx_v_self, __pyx_v_prefix, __pyx_v_value);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_38new_const_cname(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_prefix, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_used = NULL;
  PyObject *__pyx_v_name_suffix = NULL;
  PyObject *__pyx_v_counter = 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;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("new_const_cname", 0);
  __Pyx_INCREF(__pyx_v_prefix);
  __Pyx_INCREF(__pyx_v_value);

  /* "Cython/Compiler/Code.py":1231
 * 
 *     def new_const_cname(self, prefix='', value=''):
 *         value = replace_identifier('_', value)[:32].strip('_')             # <<<<<<<<<<<<<<
 *         used = self.const_cnames_used
 *         name_suffix = value
 */
  __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_replace_identifier);
  __pyx_t_2 = __pyx_v_6Cython_8Compiler_4Code_replace_identifier; __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_n_s__44, __pyx_v_value};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1231, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_n_s__44, __pyx_v_value};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1231, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_n_s__44);
    __Pyx_GIVEREF(__pyx_n_s__44);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_n_s__44);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_value);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 32, NULL, NULL, &__pyx_slice__78, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_strip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1231, __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_tuple__79, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1232
 *     def new_const_cname(self, prefix='', value=''):
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         used = self.const_cnames_used             # <<<<<<<<<<<<<<
 *         name_suffix = value
 *         while name_suffix in used:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_const_cnames_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_used = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1233
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         used = self.const_cnames_used
 *         name_suffix = value             # <<<<<<<<<<<<<<
 *         while name_suffix in used:
 *             counter = used[value] = used[value] + 1
 */
  __Pyx_INCREF(__pyx_v_value);
  __pyx_v_name_suffix = __pyx_v_value;

  /* "Cython/Compiler/Code.py":1234
 *         used = self.const_cnames_used
 *         name_suffix = value
 *         while name_suffix in used:             # <<<<<<<<<<<<<<
 *             counter = used[value] = used[value] + 1
 *             name_suffix = '%s_%d' % (value, counter)
 */
  while (1) {
    __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_v_name_suffix, __pyx_v_used, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1234, __pyx_L1_error)
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) break;

    /* "Cython/Compiler/Code.py":1235
 *         name_suffix = value
 *         while name_suffix in used:
 *             counter = used[value] = used[value] + 1             # <<<<<<<<<<<<<<
 *             name_suffix = '%s_%d' % (value, counter)
 *         used[name_suffix] = 1
 */
    __pyx_t_2 = PyObject_GetItem(__pyx_v_used, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_counter, __pyx_t_1);
    if (unlikely(PyObject_SetItem(__pyx_v_used, __pyx_v_value, __pyx_t_1) < 0)) __PYX_ERR(0, 1235, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1236
 *         while name_suffix in used:
 *             counter = used[value] = used[value] + 1
 *             name_suffix = '%s_%d' % (value, counter)             # <<<<<<<<<<<<<<
 *         used[name_suffix] = 1
 *         if prefix:
 */
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_value);
    __Pyx_GIVEREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value);
    __Pyx_INCREF(__pyx_v_counter);
    __Pyx_GIVEREF(__pyx_v_counter);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_counter);
    __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s__d, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_name_suffix, __pyx_t_2);
    __pyx_t_2 = 0;
  }

  /* "Cython/Compiler/Code.py":1237
 *             counter = used[value] = used[value] + 1
 *             name_suffix = '%s_%d' % (value, counter)
 *         used[name_suffix] = 1             # <<<<<<<<<<<<<<
 *         if prefix:
 *             prefix = Naming.interned_prefixes[prefix]
 */
  if (unlikely(PyObject_SetItem(__pyx_v_used, __pyx_v_name_suffix, __pyx_int_1) < 0)) __PYX_ERR(0, 1237, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1238
 *             name_suffix = '%s_%d' % (value, counter)
 *         used[name_suffix] = 1
 *         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, 1238, __pyx_L1_error)
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":1239
 *         used[name_suffix] = 1
 *         if prefix:
 *             prefix = Naming.interned_prefixes[prefix]             # <<<<<<<<<<<<<<
 *         else:
 *             prefix = Naming.const_prefix
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_interned_prefixes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyObject_GetItem(__pyx_t_2, __pyx_v_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_prefix, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1238
 *             name_suffix = '%s_%d' % (value, counter)
 *         used[name_suffix] = 1
 *         if prefix:             # <<<<<<<<<<<<<<
 *             prefix = Naming.interned_prefixes[prefix]
 *         else:
 */
    goto __pyx_L5;
  }

  /* "Cython/Compiler/Code.py":1241
 *             prefix = Naming.interned_prefixes[prefix]
 *         else:
 *             prefix = Naming.const_prefix             # <<<<<<<<<<<<<<
 *         return "%s%s" % (prefix, name_suffix)
 * 
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_const_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_prefix, __pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L5:;

  /* "Cython/Compiler/Code.py":1242
 *         else:
 *             prefix = Naming.const_prefix
 *         return "%s%s" % (prefix, name_suffix)             # <<<<<<<<<<<<<<
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_prefix);
  __Pyx_GIVEREF(__pyx_v_prefix);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_prefix);
  __Pyx_INCREF(__pyx_v_name_suffix);
  __Pyx_GIVEREF(__pyx_v_name_suffix);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_name_suffix);
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_s_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1242, __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":1230
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         used = self.const_cnames_used
 */

  /* 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_AddTraceback("Cython.Compiler.Code.GlobalState.new_const_cname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_used);
  __Pyx_XDECREF(__pyx_v_name_suffix);
  __Pyx_XDECREF(__pyx_v_counter);
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1244
 *         return "%s%s" % (prefix, name_suffix)
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):             # <<<<<<<<<<<<<<
 *         key = (type_cname, method_name, args_count)
 *         try:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_41get_cached_unbound_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_41get_cached_unbound_method = {"get_cached_unbound_method", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_41get_cached_unbound_method, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_41get_cached_unbound_method(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type_cname = 0;
  PyObject *__pyx_v_method_name = 0;
  PyObject *__pyx_v_args_count = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_cached_unbound_method (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type_cname,&__pyx_n_s_method_name,&__pyx_n_s_args_count,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_cached_unbound_method", 1, 4, 4, 1); __PYX_ERR(0, 1244, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_cached_unbound_method", 1, 4, 4, 2); __PYX_ERR(0, 1244, __pyx_L3_error)
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_cached_unbound_method", 1, 4, 4, 3); __PYX_ERR(0, 1244, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_cached_unbound_method") < 0)) __PYX_ERR(0, 1244, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_self = values[0];
    __pyx_v_type_cname = values[1];
    __pyx_v_method_name = values[2];
    __pyx_v_args_count = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_cached_unbound_method", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1244, __pyx_L3_error)
  __pyx_L3_error:;
  __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_40get_cached_unbound_method(__pyx_self, __pyx_v_self, __pyx_v_type_cname, __pyx_v_method_name, __pyx_v_args_count);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_40get_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_args_count) {
  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 = NULL;
  __Pyx_RefNannySetupContext("get_cached_unbound_method", 0);

  /* "Cython/Compiler/Code.py":1245
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):
 *         key = (type_cname, method_name, args_count)             # <<<<<<<<<<<<<<
 *         try:
 *             cname = self.cached_cmethods[key]
 */
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_type_cname);
  __Pyx_GIVEREF(__pyx_v_type_cname);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_type_cname);
  __Pyx_INCREF(__pyx_v_method_name);
  __Pyx_GIVEREF(__pyx_v_method_name);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_method_name);
  __Pyx_INCREF(__pyx_v_args_count);
  __Pyx_GIVEREF(__pyx_v_args_count);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_args_count);
  __pyx_v_key = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1246
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):
 *         key = (type_cname, method_name, args_count)
 *         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":1247
 *         key = (type_cname, method_name, args_count)
 *         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_n_s_cached_cmethods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1247, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1247, __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":1246
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):
 *         key = (type_cname, method_name, args_count)
 *         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_L10_try_end;
    __pyx_L3_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1248
 *         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(__pyx_builtin_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, 1248, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_7);

      /* "Cython/Compiler/Code.py":1249
 *             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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_new_const_cname); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1249, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);

      /* "Cython/Compiler/Code.py":1250
 *         except KeyError:
 *             cname = self.cached_cmethods[key] = self.new_const_cname(
 *                 'umethod', '%s_%s' % (type_cname, method_name))             # <<<<<<<<<<<<<<
 *         return cname
 * 
 */
      __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1250, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_INCREF(__pyx_v_type_cname);
      __Pyx_GIVEREF(__pyx_v_type_cname);
      PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_type_cname);
      __Pyx_INCREF(__pyx_v_method_name);
      __Pyx_GIVEREF(__pyx_v_method_name);
      PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_method_name);
      __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_s__s, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1250, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = NULL;
      __pyx_t_6 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
          __pyx_t_6 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_n_s_umethod, __pyx_t_11};
        __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1249, __pyx_L5_except_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_n_s_umethod, __pyx_t_11};
        __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1249, __pyx_L5_except_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1249, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        if (__pyx_t_10) {
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL;
        }
        __Pyx_INCREF(__pyx_n_s_umethod);
        __Pyx_GIVEREF(__pyx_n_s_umethod);
        PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_6, __pyx_n_s_umethod);
        __Pyx_GIVEREF(__pyx_t_11);
        PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_6, __pyx_t_11);
        __pyx_t_11 = 0;
        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1249, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_8);

      /* "Cython/Compiler/Code.py":1249
 *             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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cached_cmethods); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1249, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_v_key, __pyx_t_8) < 0)) __PYX_ERR(0, 1249, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "Cython/Compiler/Code.py":1246
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):
 *         key = (type_cname, method_name, args_count)
 *         try:             # <<<<<<<<<<<<<<
 *             cname = self.cached_cmethods[key]
 *         except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_L10_try_end:;
  }

  /* "Cython/Compiler/Code.py":1251
 *             cname = self.cached_cmethods[key] = self.new_const_cname(
 *                 'umethod', '%s_%s' % (type_cname, method_name))
 *         return cname             # <<<<<<<<<<<<<<
 * 
 *     def add_cached_builtin_decl(self, entry):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_cname);
  __pyx_r = __pyx_v_cname;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1244
 *         return "%s%s" % (prefix, name_suffix)
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):             # <<<<<<<<<<<<<<
 *         key = (type_cname, method_name, args_count)
 *         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_12);
  __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":1253
 *         return cname
 * 
 *     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_43add_cached_builtin_decl(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_43add_cached_builtin_decl = {"add_cached_builtin_decl", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_43add_cached_builtin_decl, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_43add_cached_builtin_decl(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("add_cached_builtin_decl (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("add_cached_builtin_decl", 1, 2, 2, 1); __PYX_ERR(0, 1253, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_cached_builtin_decl") < 0)) __PYX_ERR(0, 1253, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("add_cached_builtin_decl", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1253, __pyx_L3_error)
  __pyx_L3_error:;
  __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_42add_cached_builtin_decl(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_42add_cached_builtin_decl(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
  PyObject *__pyx_v_w = NULL;
  PyObject *__pyx_v_condition = NULL;
  PyObject *__pyx_v_replacement = 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;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  __Pyx_RefNannySetupContext("add_cached_builtin_decl", 0);

  /* "Cython/Compiler/Code.py":1254
 * 
 *     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_n_s_is_builtin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __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, 1254, __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_n_s_is_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __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, 1254, __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":1255
 *     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)
 *                 w = self.parts['cached_builtins']
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_should_declare); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_entry};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1255, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_entry};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1255, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (__pyx_t_6) {
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_5);
      __Pyx_INCREF(__pyx_v_entry);
      __Pyx_GIVEREF(__pyx_v_entry);
      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_entry);
      __pyx_t_5 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1255, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":1256
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):
 *                 self.put_pyobject_decl(entry)             # <<<<<<<<<<<<<<
 *                 w = self.parts['cached_builtins']
 *                 condition = None
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_pyobject_decl); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1256, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_8 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_8)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_8) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_entry); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1256, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_entry};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1256, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_entry};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1256, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1256, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL;
          __Pyx_INCREF(__pyx_v_entry);
          __Pyx_GIVEREF(__pyx_v_entry);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_entry);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1256, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1257
 *             if self.should_declare(entry.cname, entry):
 *                 self.put_pyobject_decl(entry)
 *                 w = self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 *                 condition = None
 *                 if entry.name in non_portable_builtins_map:
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = PyObject_GetItem(__pyx_t_2, __pyx_n_s_cached_builtins); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1257, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_w = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":1258
 *                 self.put_pyobject_decl(entry)
 *                 w = self.parts['cached_builtins']
 *                 condition = None             # <<<<<<<<<<<<<<
 *                 if entry.name in non_portable_builtins_map:
 *                     condition, replacement = non_portable_builtins_map[entry.name]
 */
      __Pyx_INCREF(Py_None);
      __pyx_v_condition = Py_None;

      /* "Cython/Compiler/Code.py":1259
 *                 w = self.parts['cached_builtins']
 *                 condition = None
 *                 if entry.name in non_portable_builtins_map:             # <<<<<<<<<<<<<<
 *                     condition, replacement = non_portable_builtins_map[entry.name]
 *                     w.putln('#if %s' % condition)
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1259, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_non_portable_builtins_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1259, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_t_4, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1259, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = (__pyx_t_1 != 0);
      if (__pyx_t_3) {

        /* "Cython/Compiler/Code.py":1260
 *                 condition = None
 *                 if entry.name in non_portable_builtins_map:
 *                     condition, replacement = non_portable_builtins_map[entry.name]             # <<<<<<<<<<<<<<
 *                     w.putln('#if %s' % condition)
 *                     self.put_cached_builtin_init(
 */
        __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_non_portable_builtins_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1260, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = PyObject_GetItem(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1260, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
          PyObject* sequence = __pyx_t_5;
          #if !CYTHON_COMPILING_IN_PYPY
          Py_ssize_t size = Py_SIZE(sequence);
          #else
          Py_ssize_t size = PySequence_Size(sequence);
          #endif
          if (unlikely(size != 2)) {
            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
            __PYX_ERR(0, 1260, __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_t_2 = PyTuple_GET_ITEM(sequence, 1); 
          } else {
            __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
            __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
          }
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_2);
          #else
          __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1260, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          #endif
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else {
          Py_ssize_t index = -1;
          __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1260, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
          index = 0; __pyx_t_4 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L8_unpacking_failed;
          __Pyx_GOTREF(__pyx_t_4);
          index = 1; __pyx_t_2 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_2)) goto __pyx_L8_unpacking_failed;
          __Pyx_GOTREF(__pyx_t_2);
          if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 1260, __pyx_L1_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, 1260, __pyx_L1_error)
          __pyx_L9_unpacking_done:;
        }
        __Pyx_DECREF_SET(__pyx_v_condition, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_v_replacement = __pyx_t_2;
        __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":1261
 *                 if entry.name in non_portable_builtins_map:
 *                     condition, replacement = non_portable_builtins_map[entry.name]
 *                     w.putln('#if %s' % condition)             # <<<<<<<<<<<<<<
 *                     self.put_cached_builtin_init(
 *                         entry.pos, StringEncoding.EncodedString(replacement),
 */
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_if_s, __pyx_v_condition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_8 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
          __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
          if (likely(__pyx_t_8)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
            __Pyx_INCREF(__pyx_t_8);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_2, function);
          }
        }
        if (!__pyx_t_8) {
          __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1261, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1261, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1261, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1261, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1261, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

        /* "Cython/Compiler/Code.py":1262
 *                     condition, replacement = non_portable_builtins_map[entry.name]
 *                     w.putln('#if %s' % condition)
 *                     self.put_cached_builtin_init(             # <<<<<<<<<<<<<<
 *                         entry.pos, StringEncoding.EncodedString(replacement),
 *                         entry.cname)
 */
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_cached_builtin_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1262, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);

        /* "Cython/Compiler/Code.py":1263
 *                     w.putln('#if %s' % condition)
 *                     self.put_cached_builtin_init(
 *                         entry.pos, StringEncoding.EncodedString(replacement),             # <<<<<<<<<<<<<<
 *                         entry.cname)
 *                     w.putln('#else')
 */
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_pos); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1263, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_EncodedString); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1263, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_10 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_8, function);
          }
        }
        if (!__pyx_t_10) {
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_replacement); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1263, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_8)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_replacement};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1263, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_replacement};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1263, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          {
            __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1263, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_11);
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
            __Pyx_INCREF(__pyx_v_replacement);
            __Pyx_GIVEREF(__pyx_v_replacement);
            PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_v_replacement);
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1263, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

        /* "Cython/Compiler/Code.py":1264
 *                     self.put_cached_builtin_init(
 *                         entry.pos, StringEncoding.EncodedString(replacement),
 *                         entry.cname)             # <<<<<<<<<<<<<<
 *                     w.putln('#else')
 *                 self.put_cached_builtin_init(
 */
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1264, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_11 = NULL;
        __pyx_t_7 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
          __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2);
          if (likely(__pyx_t_11)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
            __Pyx_INCREF(__pyx_t_11);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_2, function);
            __pyx_t_7 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[4] = {__pyx_t_11, __pyx_t_6, __pyx_t_4, __pyx_t_8};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1262, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[4] = {__pyx_t_11, __pyx_t_6, __pyx_t_4, __pyx_t_8};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1262, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        {
          __pyx_t_10 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1262, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          if (__pyx_t_11) {
            __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_11); __pyx_t_11 = NULL;
          }
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_4);
          PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_t_4);
          __Pyx_GIVEREF(__pyx_t_8);
          PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_7, __pyx_t_8);
          __pyx_t_6 = 0;
          __pyx_t_4 = 0;
          __pyx_t_8 = 0;
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1262, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

        /* "Cython/Compiler/Code.py":1265
 *                         entry.pos, StringEncoding.EncodedString(replacement),
 *                         entry.cname)
 *                     w.putln('#else')             # <<<<<<<<<<<<<<
 *                 self.put_cached_builtin_init(
 *                     entry.pos, StringEncoding.EncodedString(entry.name),
 */
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1265, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__80, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __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":1259
 *                 w = self.parts['cached_builtins']
 *                 condition = None
 *                 if entry.name in non_portable_builtins_map:             # <<<<<<<<<<<<<<
 *                     condition, replacement = non_portable_builtins_map[entry.name]
 *                     w.putln('#if %s' % condition)
 */
      }

      /* "Cython/Compiler/Code.py":1266
 *                         entry.cname)
 *                     w.putln('#else')
 *                 self.put_cached_builtin_init(             # <<<<<<<<<<<<<<
 *                     entry.pos, StringEncoding.EncodedString(entry.name),
 *                     entry.cname)
 */
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_cached_builtin_init); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);

      /* "Cython/Compiler/Code.py":1267
 *                     w.putln('#else')
 *                 self.put_cached_builtin_init(
 *                     entry.pos, StringEncoding.EncodedString(entry.name),             # <<<<<<<<<<<<<<
 *                     entry.cname)
 *                 if condition:
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_pos); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1267, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_EncodedString); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1267, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1267, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_11 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_11) {
        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1267, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_8);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_6};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1267, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_6};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1267, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        {
          __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1267, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL;
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_6);
          __pyx_t_6 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1267, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":1268
 *                 self.put_cached_builtin_init(
 *                     entry.pos, StringEncoding.EncodedString(entry.name),
 *                     entry.cname)             # <<<<<<<<<<<<<<
 *                 if condition:
 *                     w.putln('#endif')
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1268, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_12 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_12)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_12);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[4] = {__pyx_t_12, __pyx_t_10, __pyx_t_8, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[4] = {__pyx_t_12, __pyx_t_10, __pyx_t_8, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (__pyx_t_12) {
          __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_12); __pyx_t_12 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_10);
        PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_7, __pyx_t_4);
        __pyx_t_10 = 0;
        __pyx_t_8 = 0;
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1269
 *                     entry.pos, StringEncoding.EncodedString(entry.name),
 *                     entry.cname)
 *                 if condition:             # <<<<<<<<<<<<<<
 *                     w.putln('#endif')
 * 
 */
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_condition); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1269, __pyx_L1_error)
      if (__pyx_t_3) {

        /* "Cython/Compiler/Code.py":1270
 *                     entry.cname)
 *                 if condition:
 *                     w.putln('#endif')             # <<<<<<<<<<<<<<
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):
 */
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1270, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__81, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1270, __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":1269
 *                     entry.pos, StringEncoding.EncodedString(entry.name),
 *                     entry.cname)
 *                 if condition:             # <<<<<<<<<<<<<<
 *                     w.putln('#endif')
 * 
 */
      }

      /* "Cython/Compiler/Code.py":1255
 *     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)
 *                 w = self.parts['cached_builtins']
 */
    }

    /* "Cython/Compiler/Code.py":1254
 * 
 *     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":1253
 *         return cname
 * 
 *     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_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __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_w);
  __Pyx_XDECREF(__pyx_v_condition);
  __Pyx_XDECREF(__pyx_v_replacement);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1272
 *                     w.putln('#endif')
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):             # <<<<<<<<<<<<<<
 *         w = self.parts['cached_builtins']
 *         interned_cname = self.get_interned_identifier(name).cname
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_45put_cached_builtin_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_45put_cached_builtin_init = {"put_cached_builtin_init", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_45put_cached_builtin_init, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_45put_cached_builtin_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_cached_builtin_init (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,&__pyx_n_s_name,&__pyx_n_s_cname,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_cached_builtin_init", 1, 4, 4, 1); __PYX_ERR(0, 1272, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_cached_builtin_init", 1, 4, 4, 2); __PYX_ERR(0, 1272, __pyx_L3_error)
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_cached_builtin_init", 1, 4, 4, 3); __PYX_ERR(0, 1272, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_cached_builtin_init") < 0)) __PYX_ERR(0, 1272, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
    __pyx_v_name = values[2];
    __pyx_v_cname = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_cached_builtin_init", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1272, __pyx_L3_error)
  __pyx_L3_error:;
  __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_44put_cached_builtin_init(__pyx_self, __pyx_v_self, __pyx_v_pos, __pyx_v_name, __pyx_v_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_44put_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_interned_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;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("put_cached_builtin_init", 0);

  /* "Cython/Compiler/Code.py":1273
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):
 *         w = self.parts['cached_builtins']             # <<<<<<<<<<<<<<
 *         interned_cname = self.get_interned_identifier(name).cname
 *         self.use_utility_code(
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_cached_builtins); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1273, __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":1274
 *     def put_cached_builtin_init(self, pos, name, cname):
 *         w = self.parts['cached_builtins']
 *         interned_cname = self.get_interned_identifier(name).cname             # <<<<<<<<<<<<<<
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_interned_identifier); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_name};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_name};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1274, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_name);
      __Pyx_GIVEREF(__pyx_v_name);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_name);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_interned_cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1275
 *         w = self.parts['cached_builtins']
 *         interned_cname = 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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":1276
 *         interned_cname = 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_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__82, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1277
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (             # <<<<<<<<<<<<<<
 *             cname,
 *             interned_cname,
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":1281
 *             interned_cname,
 *             cname,
 *             w.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def generate_const_declarations(self):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_error_goto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_pos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_pos};
      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_pos};
      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_pos);
      __Pyx_GIVEREF(__pyx_v_pos);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_pos);
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1278
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (
 *             cname,             # <<<<<<<<<<<<<<
 *             interned_cname,
 *             cname,
 */
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_interned_cname);
  __Pyx_GIVEREF(__pyx_v_interned_cname);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_interned_cname);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_cname);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_5);
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1277
 *         self.use_utility_code(
 *             UtilityCode.load_cached("GetBuiltinName", "ObjectHandling.c"))
 *         w.putln('%s = __Pyx_GetBuiltinName(%s); if (!%s) %s' % (             # <<<<<<<<<<<<<<
 *             cname,
 *             interned_cname,
 */
  __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s___Pyx_GetBuiltinName_s_if_s_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1277, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1277, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1277, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1277, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1277, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1272
 *                     w.putln('#endif')
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):             # <<<<<<<<<<<<<<
 *         w = self.parts['cached_builtins']
 *         interned_cname = self.get_interned_identifier(name).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_XDECREF(__pyx_t_6);
  __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_interned_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1283
 *             w.error_goto(pos)))
 * 
 *     def generate_const_declarations(self):             # <<<<<<<<<<<<<<
 *         self.generate_cached_methods_decls()
 *         self.generate_string_constants()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_47generate_const_declarations(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_47generate_const_declarations = {"generate_const_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_47generate_const_declarations, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_47generate_const_declarations(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_const_declarations (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_46generate_const_declarations(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_46generate_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;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("generate_const_declarations", 0);

  /* "Cython/Compiler/Code.py":1284
 * 
 *     def generate_const_declarations(self):
 *         self.generate_cached_methods_decls()             # <<<<<<<<<<<<<<
 *         self.generate_string_constants()
 *         self.generate_num_constants()
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_cached_methods_decls); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1284, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1284, __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":1285
 *     def generate_const_declarations(self):
 *         self.generate_cached_methods_decls()
 *         self.generate_string_constants()             # <<<<<<<<<<<<<<
 *         self.generate_num_constants()
 *         self.generate_object_constant_decls()
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_string_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1285, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1285, __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":1286
 *         self.generate_cached_methods_decls()
 *         self.generate_string_constants()
 *         self.generate_num_constants()             # <<<<<<<<<<<<<<
 *         self.generate_object_constant_decls()
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_num_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1286, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1286, __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":1287
 *         self.generate_string_constants()
 *         self.generate_num_constants()
 *         self.generate_object_constant_decls()             # <<<<<<<<<<<<<<
 * 
 *     def generate_object_constant_decls(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_object_constant_decls); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1287, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1287, __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":1283
 *             w.error_goto(pos)))
 * 
 *     def generate_const_declarations(self):             # <<<<<<<<<<<<<<
 *         self.generate_cached_methods_decls()
 *         self.generate_string_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_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":1289
 *         self.generate_object_constant_decls()
 * 
 *     def generate_object_constant_decls(self):             # <<<<<<<<<<<<<<
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.py_constants]
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_49generate_object_constant_decls(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_49generate_object_constant_decls = {"generate_object_constant_decls", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_49generate_object_constant_decls, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_49generate_object_constant_decls(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_object_constant_decls (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_48generate_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_48generate_object_constant_decls(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_consts = NULL;
  PyObject *__pyx_v_decls_writer = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  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;
  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;
  __Pyx_RefNannySetupContext("generate_object_constant_decls", 0);

  /* "Cython/Compiler/Code.py":1290
 * 
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)             # <<<<<<<<<<<<<<
 *                   for c in self.py_constants]
 *         consts.sort()
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":1291
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.py_constants]             # <<<<<<<<<<<<<<
 *         consts.sort()
 *         decls_writer = self.parts['decls']
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_py_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1291, __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, 1291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1291, __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))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1291, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1291, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1291, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1291, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      }
    } else {
      __pyx_t_2 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1291, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1290
 * 
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)             # <<<<<<<<<<<<<<
 *                   for c in self.py_constants]
 *         consts.sort()
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 1290, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7);
    __Pyx_INCREF(__pyx_v_c);
    __Pyx_GIVEREF(__pyx_v_c);
    PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_c);
    __pyx_t_2 = 0;
    __pyx_t_7 = 0;
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 1290, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1291
 *     def generate_object_constant_decls(self):
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.py_constants]             # <<<<<<<<<<<<<<
 *         consts.sort()
 *         decls_writer = self.parts['decls']
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1292
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.py_constants]
 *         consts.sort()             # <<<<<<<<<<<<<<
 *         decls_writer = self.parts['decls']
 *         for _, cname, c in consts:
 */
  __pyx_t_9 = PyList_Sort(__pyx_v_consts); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 1292, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1293
 *                   for c in self.py_constants]
 *         consts.sort()
 *         decls_writer = self.parts['decls']             # <<<<<<<<<<<<<<
 *         for _, cname, c in consts:
 *             decls_writer.putln(
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_decls); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_decls_writer = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1294
 *         consts.sort()
 *         decls_writer = self.parts['decls']
 *         for _, cname, c in consts:             # <<<<<<<<<<<<<<
 *             decls_writer.putln(
 *                 "static %s;" % c.type.declaration_code(cname))
 */
  __pyx_t_3 = __pyx_v_consts; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
  for (;;) {
    if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1294, __pyx_L1_error)
    #else
    __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1294, __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_t_7 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); 
      } else {
        __pyx_t_8 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_7 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_2 = PyList_GET_ITEM(sequence, 2); 
      }
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_2);
      #else
      __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1294, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1294, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1294, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_10 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1294, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
      index = 0; __pyx_t_8 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_8)) goto __pyx_L7_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_L7_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_L7_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 3) < 0) __PYX_ERR(0, 1294, __pyx_L1_error)
      __pyx_t_11 = NULL;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      goto __pyx_L8_unpacking_done;
      __pyx_L7_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, 1294, __pyx_L1_error)
      __pyx_L8_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":1295
 *         decls_writer = self.parts['decls']
 *         for _, cname, c in consts:
 *             decls_writer.putln(             # <<<<<<<<<<<<<<
 *                 "static %s;" % c.type.declaration_code(cname))
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":1296
 *         for _, cname, c in consts:
 *             decls_writer.putln(
 *                 "static %s;" % c.type.declaration_code(cname))             # <<<<<<<<<<<<<<
 * 
 *     def generate_cached_methods_decls(self):
 */
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_declaration_code); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    if (!__pyx_t_8) {
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1296, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_cname};
        __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1296, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_7);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_cname};
        __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1296, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_7);
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1296, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_8); __pyx_t_8 = NULL;
        __Pyx_INCREF(__pyx_v_cname);
        __Pyx_GIVEREF(__pyx_v_cname);
        PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_v_cname);
        __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1296, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_static_s, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1295, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_10);
        PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_10);
        __pyx_t_10 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1294
 *         consts.sort()
 *         decls_writer = self.parts['decls']
 *         for _, cname, c in consts:             # <<<<<<<<<<<<<<
 *             decls_writer.putln(
 *                 "static %s;" % c.type.declaration_code(cname))
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1289
 *         self.generate_object_constant_decls()
 * 
 *     def generate_object_constant_decls(self):             # <<<<<<<<<<<<<<
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.py_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_decls_writer);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1298
 *                 "static %s;" % c.type.declaration_code(cname))
 * 
 *     def generate_cached_methods_decls(self):             # <<<<<<<<<<<<<<
 *         if not self.cached_cmethods:
 *             return
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_51generate_cached_methods_decls(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_51generate_cached_methods_decls = {"generate_cached_methods_decls", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_51generate_cached_methods_decls, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_51generate_cached_methods_decls(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_cached_methods_decls (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_50generate_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_50generate_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;
  CYTHON_UNUSED PyObject *__pyx_v__ = 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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *(*__pyx_t_10)(PyObject *);
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  __Pyx_RefNannySetupContext("generate_cached_methods_decls", 0);

  /* "Cython/Compiler/Code.py":1299
 * 
 *     def generate_cached_methods_decls(self):
 *         if not self.cached_cmethods:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cached_cmethods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1299, __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, 1299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = ((!__pyx_t_2) != 0);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1300
 *     def generate_cached_methods_decls(self):
 *         if not self.cached_cmethods:
 *             return             # <<<<<<<<<<<<<<
 * 
 *         decl = self.parts['decls']
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1299
 * 
 *     def generate_cached_methods_decls(self):
 *         if not self.cached_cmethods:             # <<<<<<<<<<<<<<
 *             return
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1302
 *             return
 * 
 *         decl = self.parts['decls']             # <<<<<<<<<<<<<<
 *         init = self.parts['init_globals']
 *         cnames = []
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_decls); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1302, __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":1303
 * 
 *         decl = self.parts['decls']
 *         init = self.parts['init_globals']             # <<<<<<<<<<<<<<
 *         cnames = []
 *         for (type_cname, method_name, _), cname in sorted(self.cached_cmethods.items()):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyObject_GetItem(__pyx_t_4, __pyx_n_s_init_globals); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1303, __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":1304
 *         decl = self.parts['decls']
 *         init = self.parts['init_globals']
 *         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, 1304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cnames = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1305
 *         init = self.parts['init_globals']
 *         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_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cached_cmethods); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_items); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (__pyx_t_5) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1305, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else {
    __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1305, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_t_7 = PyList_Sort(__pyx_t_1); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1305, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 1305, __pyx_L1_error)
  }
  __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1305, __pyx_L1_error)
    #else
    __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1305, __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_t_5 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      #else
      __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1305, __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_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
      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_5 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 1305, __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, 1305, __pyx_L1_error)
      __pyx_L7_unpacking_done:;
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1305, __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_t_11 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_12 = PyTuple_GET_ITEM(sequence, 2); 
      } else {
        __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_11 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_12 = PyList_GET_ITEM(sequence, 2); 
      }
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_12);
      #else
      __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      #endif
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_13 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1305, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_10 = Py_TYPE(__pyx_t_13)->tp_iternext;
      index = 0; __pyx_t_9 = __pyx_t_10(__pyx_t_13); 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_13); if (unlikely(!__pyx_t_11)) goto __pyx_L8_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_11);
      index = 2; __pyx_t_12 = __pyx_t_10(__pyx_t_13); if (unlikely(!__pyx_t_12)) goto __pyx_L8_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_12);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_13), 3) < 0) __PYX_ERR(0, 1305, __pyx_L1_error)
      __pyx_t_10 = NULL;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      goto __pyx_L9_unpacking_done;
      __pyx_L8_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_10 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1305, __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__, __pyx_t_12);
    __pyx_t_12 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1306
 *         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('static __Pyx_CachedCFunction %s = {0, &%s, 0, 0, 0};' % (
 */
    __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_cnames, __pyx_v_cname); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1306, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":1307
 *         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('static __Pyx_CachedCFunction %s = {0, &%s, 0, 0, 0};' % (
 *                 cname, method_name_cname))
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_interned_identifier); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_EncodedString); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_12, function);
      }
    }
    if (!__pyx_t_11) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_method_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1307, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_12)) {
        PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_v_method_name};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) {
        PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_v_method_name};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_11); __pyx_t_11 = NULL;
        __Pyx_INCREF(__pyx_v_method_name);
        __Pyx_GIVEREF(__pyx_v_method_name);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_method_name);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_12)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_12);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_12) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1307, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_12); __pyx_t_12 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1307, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF_SET(__pyx_v_method_name_cname, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1308
 *             cnames.append(cname)
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
 *             decl.putln('static __Pyx_CachedCFunction %s = {0, &%s, 0, 0, 0};' % (             # <<<<<<<<<<<<<<
 *                 cname, method_name_cname))
 *             # split type reference storage as it might not be static
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_decl, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1309
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
 *             decl.putln('static __Pyx_CachedCFunction %s = {0, &%s, 0, 0, 0};' % (
 *                 cname, method_name_cname))             # <<<<<<<<<<<<<<
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)&%s;' % (
 */
    __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_cname);
    __Pyx_INCREF(__pyx_v_method_name_cname);
    __Pyx_GIVEREF(__pyx_v_method_name_cname);
    PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_method_name_cname);

    /* "Cython/Compiler/Code.py":1308
 *             cnames.append(cname)
 *             method_name_cname = self.get_interned_identifier(StringEncoding.EncodedString(method_name)).cname
 *             decl.putln('static __Pyx_CachedCFunction %s = {0, &%s, 0, 0, 0};' % (             # <<<<<<<<<<<<<<
 *                 cname, method_name_cname))
 *             # split type reference storage as it might not be static
 */
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_static___Pyx_CachedCFunction_s_0, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_9) {
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_4};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_4};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1308, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_9); __pyx_t_9 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_12, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1311
 *                 cname, method_name_cname))
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)&%s;' % (             # <<<<<<<<<<<<<<
 *                 cname, type_cname))
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_init, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1312
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)&%s;' % (
 *                 cname, type_cname))             # <<<<<<<<<<<<<<
 * 
 *         if Options.generate_cleanup_code:
 */
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_cname);
    __Pyx_INCREF(__pyx_v_type_cname);
    __Pyx_GIVEREF(__pyx_v_type_cname);
    PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_type_cname);

    /* "Cython/Compiler/Code.py":1311
 *                 cname, method_name_cname))
 *             # split type reference storage as it might not be static
 *             init.putln('%s.type = (PyObject*)&%s;' % (             # <<<<<<<<<<<<<<
 *                 cname, type_cname))
 * 
 */
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_type_PyObject_s, __pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_12)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_12);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_12) {
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_4};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_4};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1311, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_12); __pyx_t_12 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1305
 *         init = self.parts['init_globals']
 *         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_6); __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":1314
 *                 cname, type_cname))
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_n_s_generate_cleanup_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1314, __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, 1314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1315
 * 
 *         if Options.generate_cleanup_code:
 *             cleanup = self.parts['cleanup_globals']             # <<<<<<<<<<<<<<
 *             for cname in cnames:
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = PyObject_GetItem(__pyx_t_6, __pyx_n_s_cleanup_globals); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_cleanup = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1316
 *         if Options.generate_cleanup_code:
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:             # <<<<<<<<<<<<<<
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)
 * 
 */
    __pyx_t_5 = __pyx_v_cnames; __Pyx_INCREF(__pyx_t_5); __pyx_t_8 = 0;
    for (;;) {
      if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_5)) break;
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1316, __pyx_L1_error)
      #else
      __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1316, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1317
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)             # <<<<<<<<<<<<<<
 * 
 *     def generate_string_constants(self):
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cleanup, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1317, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_Py_CLEAR_s_method, __pyx_v_cname); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1317, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1317, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_6);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_9};
          __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1317, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_9};
          __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1317, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        } else
        #endif
        {
          __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1317, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_GIVEREF(__pyx_t_9);
          PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_9);
          __pyx_t_9 = 0;
          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1317, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1316
 *         if Options.generate_cleanup_code:
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:             # <<<<<<<<<<<<<<
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)
 * 
 */
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1314
 *                 cname, type_cname))
 * 
 *         if Options.generate_cleanup_code:             # <<<<<<<<<<<<<<
 *             cleanup = self.parts['cleanup_globals']
 *             for cname in cnames:
 */
  }

  /* "Cython/Compiler/Code.py":1298
 *                 "static %s;" % c.type.declaration_code(cname))
 * 
 *     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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __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__);
  __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":1319
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)
 * 
 *     def generate_string_constants(self):             # <<<<<<<<<<<<<<
 *         c_consts = [(len(c.cname), c.cname, c) for c in self.string_const_index.values()]
 *         c_consts.sort()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_53generate_string_constants(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_53generate_string_constants = {"generate_string_constants", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_53generate_string_constants, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_53generate_string_constants(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_string_constants (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_52generate_string_constants(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_52generate_string_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_c_consts = NULL;
  PyObject *__pyx_v_py_strings = NULL;
  PyObject *__pyx_v_decls_writer = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_c = NULL;
  int __pyx_v_conditional;
  PyObject *__pyx_v_py_string = NULL;
  PyObject *__pyx_v_utf16_array = NULL;
  PyObject *__pyx_v_utf32_array = NULL;
  PyObject *__pyx_v_w = NULL;
  PyObject *__pyx_v_c_cname = NULL;
  PyObject *__pyx_v_encoding = NULL;
  PyObject *__pyx_v_init_globals = 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;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *(*__pyx_t_11)(PyObject *);
  int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  Py_ssize_t __pyx_t_17;
  __Pyx_RefNannySetupContext("generate_string_constants", 0);

  /* "Cython/Compiler/Code.py":1320
 * 
 *     def generate_string_constants(self):
 *         c_consts = [(len(c.cname), c.cname, c) for c in self.string_const_index.values()]             # <<<<<<<<<<<<<<
 *         c_consts.sort()
 *         py_strings = []
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_string_const_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1320, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  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_5 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1320, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1320, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1320, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      } else {
        if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1320, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1320, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      }
    } else {
      __pyx_t_2 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1320, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3);
    __Pyx_INCREF(__pyx_v_c);
    __Pyx_GIVEREF(__pyx_v_c);
    PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_c);
    __pyx_t_2 = 0;
    __pyx_t_3 = 0;
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 1320, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_c_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1321
 *     def generate_string_constants(self):
 *         c_consts = [(len(c.cname), c.cname, c) for c in self.string_const_index.values()]
 *         c_consts.sort()             # <<<<<<<<<<<<<<
 *         py_strings = []
 * 
 */
  __pyx_t_9 = PyList_Sort(__pyx_v_c_consts); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 1321, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1322
 *         c_consts = [(len(c.cname), c.cname, c) for c in self.string_const_index.values()]
 *         c_consts.sort()
 *         py_strings = []             # <<<<<<<<<<<<<<
 * 
 *         decls_writer = self.parts['string_decls']
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_py_strings = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1324
 *         py_strings = []
 * 
 *         decls_writer = self.parts['string_decls']             # <<<<<<<<<<<<<<
 *         for _, cname, c in c_consts:
 *             conditional = False
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_string_decls); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_decls_writer = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1325
 * 
 *         decls_writer = self.parts['string_decls']
 *         for _, cname, c in c_consts:             # <<<<<<<<<<<<<<
 *             conditional = False
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):
 */
  __pyx_t_4 = __pyx_v_c_consts; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
  for (;;) {
    if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1325, __pyx_L1_error)
    #else
    __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        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_8 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 2); 
      } else {
        __pyx_t_8 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_2 = PyList_GET_ITEM(sequence, 2); 
      }
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      #else
      __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_10 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
      index = 0; __pyx_t_8 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_8)) goto __pyx_L7_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_8);
      index = 1; __pyx_t_3 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_3)) goto __pyx_L7_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_3);
      index = 2; __pyx_t_2 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_2)) goto __pyx_L7_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 3) < 0) __PYX_ERR(0, 1325, __pyx_L1_error)
      __pyx_t_11 = NULL;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      goto __pyx_L8_unpacking_done;
      __pyx_L7_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, 1325, __pyx_L1_error)
      __pyx_L8_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v__, __pyx_t_8);
    __pyx_t_8 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1326
 *         decls_writer = self.parts['string_decls']
 *         for _, cname, c in c_consts:
 *             conditional = False             # <<<<<<<<<<<<<<
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):
 *                 conditional = True
 */
    __pyx_v_conditional = 0;

    /* "Cython/Compiler/Code.py":1327
 *         for _, cname, c in c_consts:
 *             conditional = False
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):             # <<<<<<<<<<<<<<
 *                 conditional = True
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_py_versions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1327, __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, 1327, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_13) {
    } else {
      __pyx_t_12 = __pyx_t_13;
      goto __pyx_L10_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_py_versions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = (__Pyx_PySequence_ContainsTF(__pyx_int_2, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1327, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_14 = (__pyx_t_13 != 0);
    if (!__pyx_t_14) {
    } else {
      __pyx_t_12 = __pyx_t_14;
      goto __pyx_L10_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_py_versions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_14 = (__Pyx_PySequence_ContainsTF(__pyx_int_3, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1327, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_13 = (__pyx_t_14 != 0);
    __pyx_t_12 = __pyx_t_13;
    __pyx_L10_bool_binop_done:;
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":1328
 *             conditional = False
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):
 *                 conditional = True             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (
 *                     (2 in c.py_versions) and '<' or '>='))
 */
      __pyx_v_conditional = 1;

      /* "Cython/Compiler/Code.py":1329
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):
 *                 conditional = True
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (             # <<<<<<<<<<<<<<
 *                     (2 in c.py_versions) and '<' or '>='))
 *             decls_writer.putln('static const char %s[] = "%s";' % (
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1329, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);

      /* "Cython/Compiler/Code.py":1330
 *                 conditional = True
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (
 *                     (2 in c.py_versions) and '<' or '>='))             # <<<<<<<<<<<<<<
 *             decls_writer.putln('static const char %s[] = "%s";' % (
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))
 */
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_py_versions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1330, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_12 = (__Pyx_PySequence_ContainsTF(__pyx_int_2, __pyx_t_8, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1330, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (!__pyx_t_12) {
        goto __pyx_L14_next_or;
      } else {
      }
      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_kp_s__83); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1330, __pyx_L1_error)
      if (!__pyx_t_12) {
      } else {
        __Pyx_INCREF(__pyx_kp_s__83);
        __pyx_t_3 = __pyx_kp_s__83;
        goto __pyx_L13_bool_binop_done;
      }
      __pyx_L14_next_or:;
      __Pyx_INCREF(__pyx_kp_s__84);
      __pyx_t_3 = __pyx_kp_s__84;
      __pyx_L13_bool_binop_done:;

      /* "Cython/Compiler/Code.py":1329
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):
 *                 conditional = True
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (             # <<<<<<<<<<<<<<
 *                     (2 in c.py_versions) and '<' or '>='))
 *             decls_writer.putln('static const char %s[] = "%s";' % (
 */
      __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_if_PY_MAJOR_VERSION_s_3, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1329, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      if (!__pyx_t_3) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1329, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_8};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1329, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_8};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1329, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        {
          __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1329, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __pyx_t_3 = NULL;
          __Pyx_GIVEREF(__pyx_t_8);
          PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_8);
          __pyx_t_8 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1329, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":1327
 *         for _, cname, c in c_consts:
 *             conditional = False
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):             # <<<<<<<<<<<<<<
 *                 conditional = True
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (
 */
    }

    /* "Cython/Compiler/Code.py":1331
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (
 *                     (2 in c.py_versions) and '<' or '>='))
 *             decls_writer.putln('static const char %s[] = "%s";' % (             # <<<<<<<<<<<<<<
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))
 *             if conditional:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":1332
 *                     (2 in c.py_versions) and '<' or '>='))
 *             decls_writer.putln('static const char %s[] = "%s";' % (
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))             # <<<<<<<<<<<<<<
 *             if conditional:
 *                 decls_writer.putln("#endif")
 */
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_split_string_literal); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_escaped_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_15 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_15)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_15);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
      }
    }
    if (!__pyx_t_15) {
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1332, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_10);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_t_3};
        __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1332, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_t_3};
        __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1332, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1332, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_16, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1332, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_cname);
    __Pyx_GIVEREF(__pyx_t_10);
    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_10);
    __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":1331
 *                 decls_writer.putln("#if PY_MAJOR_VERSION %s 3" % (
 *                     (2 in c.py_versions) and '<' or '>='))
 *             decls_writer.putln('static const char %s[] = "%s";' % (             # <<<<<<<<<<<<<<
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))
 *             if conditional:
 */
    __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_static_const_char_s_s, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_8) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1331, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1331, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_10};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1331, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      {
        __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1331, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_8); __pyx_t_8 = NULL;
        __Pyx_GIVEREF(__pyx_t_10);
        PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_t_10);
        __pyx_t_10 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1331, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1333
 *             decls_writer.putln('static const char %s[] = "%s";' % (
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))
 *             if conditional:             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("#endif")
 *             if c.py_strings is not None:
 */
    __pyx_t_12 = (__pyx_v_conditional != 0);
    if (__pyx_t_12) {

      /* "Cython/Compiler/Code.py":1334
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))
 *             if conditional:
 *                 decls_writer.putln("#endif")             # <<<<<<<<<<<<<<
 *             if c.py_strings is not None:
 *                 for py_string in c.py_strings.values():
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1334, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__85, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1334, __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":1333
 *             decls_writer.putln('static const char %s[] = "%s";' % (
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))
 *             if conditional:             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("#endif")
 *             if c.py_strings is not None:
 */
    }

    /* "Cython/Compiler/Code.py":1335
 *             if conditional:
 *                 decls_writer.putln("#endif")
 *             if c.py_strings is not None:             # <<<<<<<<<<<<<<
 *                 for py_string in c.py_strings.values():
 *                     py_strings.append((c.cname, len(py_string.cname), py_string))
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_py_strings); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_12 = (__pyx_t_2 != Py_None);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_13 = (__pyx_t_12 != 0);
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":1336
 *                 decls_writer.putln("#endif")
 *             if c.py_strings is not None:
 *                 for py_string in c.py_strings.values():             # <<<<<<<<<<<<<<
 *                     py_strings.append((c.cname, len(py_string.cname), py_string))
 * 
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_py_strings); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1336, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_values); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1336, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_16);
        if (likely(__pyx_t_1)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
          __Pyx_INCREF(__pyx_t_1);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_16, function);
        }
      }
      if (__pyx_t_1) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1336, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_16); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1336, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
        __pyx_t_16 = __pyx_t_2; __Pyx_INCREF(__pyx_t_16); __pyx_t_7 = 0;
        __pyx_t_6 = NULL;
      } else {
        __pyx_t_7 = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1336, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        __pyx_t_6 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1336, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      for (;;) {
        if (likely(!__pyx_t_6)) {
          if (likely(PyList_CheckExact(__pyx_t_16))) {
            if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_16)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_2 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1336, __pyx_L1_error)
            #else
            __pyx_t_2 = PySequence_ITEM(__pyx_t_16, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1336, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            #endif
          } else {
            if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_16)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1336, __pyx_L1_error)
            #else
            __pyx_t_2 = PySequence_ITEM(__pyx_t_16, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1336, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            #endif
          }
        } else {
          __pyx_t_2 = __pyx_t_6(__pyx_t_16);
          if (unlikely(!__pyx_t_2)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 1336, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_2);
        }
        __Pyx_XDECREF_SET(__pyx_v_py_string, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":1337
 *             if c.py_strings is not None:
 *                 for py_string in c.py_strings.values():
 *                     py_strings.append((c.cname, len(py_string.cname), py_string))             # <<<<<<<<<<<<<<
 * 
 *         for c, cname in sorted(self.pyunicode_ptr_const_index.items()):
 */
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1337, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1337, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_17 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_17 == -1)) __PYX_ERR(0, 1337, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1337, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1337, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_2);
        PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_1);
        PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_1);
        __Pyx_INCREF(__pyx_v_py_string);
        __Pyx_GIVEREF(__pyx_v_py_string);
        PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_v_py_string);
        __pyx_t_2 = 0;
        __pyx_t_1 = 0;
        __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_py_strings, __pyx_t_10); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 1337, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

        /* "Cython/Compiler/Code.py":1336
 *                 decls_writer.putln("#endif")
 *             if c.py_strings is not None:
 *                 for py_string in c.py_strings.values():             # <<<<<<<<<<<<<<
 *                     py_strings.append((c.cname, len(py_string.cname), py_string))
 * 
 */
      }
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

      /* "Cython/Compiler/Code.py":1335
 *             if conditional:
 *                 decls_writer.putln("#endif")
 *             if c.py_strings is not None:             # <<<<<<<<<<<<<<
 *                 for py_string in c.py_strings.values():
 *                     py_strings.append((c.cname, len(py_string.cname), py_string))
 */
    }

    /* "Cython/Compiler/Code.py":1325
 * 
 *         decls_writer = self.parts['string_decls']
 *         for _, cname, c in c_consts:             # <<<<<<<<<<<<<<
 *             conditional = False
 *             if c.py_versions and (2 not in c.py_versions or 3 not in c.py_versions):
 */
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1339
 *                     py_strings.append((c.cname, len(py_string.cname), py_string))
 * 
 *         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_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pyunicode_ptr_const_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_items); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (__pyx_t_10) {
    __pyx_t_16 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1339, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  } else {
    __pyx_t_16 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1339, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_16);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PySequence_List(__pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
  __pyx_t_4 = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_9 = PyList_Sort(__pyx_t_4); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 1339, __pyx_L1_error)
  if (unlikely(__pyx_t_4 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 1339, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  for (;;) {
    if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1339, __pyx_L1_error)
    #else
    __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1339, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_16 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_16 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_16);
      __Pyx_INCREF(__pyx_t_10);
      #else
      __pyx_t_16 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1339, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1339, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      #endif
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1339, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext;
      index = 0; __pyx_t_16 = __pyx_t_11(__pyx_t_2); if (unlikely(!__pyx_t_16)) goto __pyx_L22_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_16);
      index = 1; __pyx_t_10 = __pyx_t_11(__pyx_t_2); if (unlikely(!__pyx_t_10)) goto __pyx_L22_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_10);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_2), 2) < 0) __PYX_ERR(0, 1339, __pyx_L1_error)
      __pyx_t_11 = NULL;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      goto __pyx_L23_unpacking_done;
      __pyx_L22_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_11 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1339, __pyx_L1_error)
      __pyx_L23_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_16);
    __pyx_t_16 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_10);
    __pyx_t_10 = 0;

    /* "Cython/Compiler/Code.py":1340
 * 
 *         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_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_n_s_encode_pyunicode_string); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_16 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_16)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_16);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    if (!__pyx_t_16) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_c); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_v_c};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1340, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_v_c};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1340, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1340, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_16); __pyx_t_16 = NULL;
        __Pyx_INCREF(__pyx_v_c);
        __Pyx_GIVEREF(__pyx_v_c);
        PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_c);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1340, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1340, __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_t_2 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_10 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(__pyx_t_2);
      #else
      __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      #endif
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_16 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_11 = Py_TYPE(__pyx_t_16)->tp_iternext;
      index = 0; __pyx_t_10 = __pyx_t_11(__pyx_t_16); if (unlikely(!__pyx_t_10)) goto __pyx_L24_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_10);
      index = 1; __pyx_t_2 = __pyx_t_11(__pyx_t_16); if (unlikely(!__pyx_t_2)) goto __pyx_L24_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_16), 2) < 0) __PYX_ERR(0, 1340, __pyx_L1_error)
      __pyx_t_11 = NULL;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      goto __pyx_L25_unpacking_done;
      __pyx_L24_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_t_11 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1340, __pyx_L1_error)
      __pyx_L25_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_utf16_array, __pyx_t_10);
    __pyx_t_10 = 0;
    __Pyx_XDECREF_SET(__pyx_v_utf32_array, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1341
 *         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, 1341, __pyx_L1_error)
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":1343
 *             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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__86, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1341
 *         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":1344
 *                 # 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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_cname);
    __Pyx_INCREF(__pyx_v_utf32_array);
    __Pyx_GIVEREF(__pyx_v_utf32_array);
    PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_utf32_array);
    __pyx_t_16 = __Pyx_PyString_Format(__pyx_kp_s_static_Py_UNICODE_s_s, __pyx_t_10); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_10) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_16); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1344, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_16};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1344, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_16};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1344, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1344, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_10); __pyx_t_10 = NULL;
        __Pyx_GIVEREF(__pyx_t_16);
        PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_16);
        __pyx_t_16 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1344, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1345
 *                 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, 1345, __pyx_L1_error)
    if (__pyx_t_13) {

      /* "Cython/Compiler/Code.py":1346
 *             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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1346, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1346, __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":1347
 *             if utf16_array:
 *                 decls_writer.putln("#else")
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))             # <<<<<<<<<<<<<<
 *                 decls_writer.putln("#endif")
 * 
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1347, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1347, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_cname);
      __Pyx_INCREF(__pyx_v_utf16_array);
      __Pyx_GIVEREF(__pyx_v_utf16_array);
      PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_utf16_array);
      __pyx_t_16 = __Pyx_PyString_Format(__pyx_kp_s_static_Py_UNICODE_s_s, __pyx_t_8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1347, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_8)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      if (!__pyx_t_8) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1347, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_16};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1347, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_16};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1347, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        } else
        #endif
        {
          __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1347, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
          __Pyx_GIVEREF(__pyx_t_16);
          PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_16);
          __pyx_t_16 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1347, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":1348
 *                 decls_writer.putln("#else")
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))
 *                 decls_writer.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *         if py_strings:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1348, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1348, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1345
 *                 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":1339
 *                     py_strings.append((c.cname, len(py_string.cname), py_string))
 * 
 *         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_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1350
 *                 decls_writer.putln("#endif")
 * 
 *         if py_strings:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(UtilityCode.load_cached("InitStrings", "StringTools.c"))
 *             py_strings.sort()
 */
  __pyx_t_13 = (__pyx_v_py_strings != Py_None) && (PyList_GET_SIZE(__pyx_v_py_strings) != 0);
  if (__pyx_t_13) {

    /* "Cython/Compiler/Code.py":1351
 * 
 *         if py_strings:
 *             self.use_utility_code(UtilityCode.load_cached("InitStrings", "StringTools.c"))             # <<<<<<<<<<<<<<
 *             py_strings.sort()
 *             w = self.parts['pystring_table']
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_10) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1351, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1351, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1351, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1351, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_10); __pyx_t_10 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1351, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1352
 *         if py_strings:
 *             self.use_utility_code(UtilityCode.load_cached("InitStrings", "StringTools.c"))
 *             py_strings.sort()             # <<<<<<<<<<<<<<
 *             w = self.parts['pystring_table']
 *             w.putln("")
 */
    __pyx_t_9 = PyList_Sort(__pyx_v_py_strings); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 1352, __pyx_L1_error)

    /* "Cython/Compiler/Code.py":1353
 *             self.use_utility_code(UtilityCode.load_cached("InitStrings", "StringTools.c"))
 *             py_strings.sort()
 *             w = self.parts['pystring_table']             # <<<<<<<<<<<<<<
 *             w.putln("")
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_pystring_table); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1353, __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":1354
 *             py_strings.sort()
 *             w = self.parts['pystring_table']
 *             w.putln("")             # <<<<<<<<<<<<<<
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 *             for c_cname, _, py_string in py_strings:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1354, __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":1355
 *             w = self.parts['pystring_table']
 *             w.putln("")
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)             # <<<<<<<<<<<<<<
 *             for c_cname, _, py_string in py_strings:
 *                 if not py_string.is_str or not py_string.encoding or \
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_stringtab_cname); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_static___Pyx_StringTabEntry_s, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __pyx_t_16 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_16)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_16);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_16) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1355, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1355, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1355, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1355, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_16); __pyx_t_16 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1355, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1356
 *             w.putln("")
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 *             for c_cname, _, py_string in py_strings:             # <<<<<<<<<<<<<<
 *                 if not py_string.is_str or not py_string.encoding or \
 *                         py_string.encoding in ('ASCII', 'USASCII', 'US-ASCII',
 */
    __pyx_t_1 = __pyx_v_py_strings; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
    for (;;) {
      if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1356, __pyx_L1_error)
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1356, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      #endif
      if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
        PyObject* sequence = __pyx_t_2;
        #if !CYTHON_COMPILING_IN_PYPY
        Py_ssize_t size = Py_SIZE(sequence);
        #else
        Py_ssize_t size = PySequence_Size(sequence);
        #endif
        if (unlikely(size != 3)) {
          if (size > 3) __Pyx_RaiseTooManyValuesError(3);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 1356, __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_t_4 = PyTuple_GET_ITEM(sequence, 1); 
          __pyx_t_16 = PyTuple_GET_ITEM(sequence, 2); 
        } else {
          __pyx_t_10 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
          __pyx_t_16 = PyList_GET_ITEM(sequence, 2); 
        }
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_16);
        #else
        __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1356, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1356, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_16 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1356, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        #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, 1356, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_11 = Py_TYPE(__pyx_t_8)->tp_iternext;
        index = 0; __pyx_t_10 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_10)) goto __pyx_L31_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        index = 1; __pyx_t_4 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L31_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_4);
        index = 2; __pyx_t_16 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_16)) goto __pyx_L31_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_16);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_8), 3) < 0) __PYX_ERR(0, 1356, __pyx_L1_error)
        __pyx_t_11 = NULL;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L32_unpacking_done;
        __pyx_L31_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, 1356, __pyx_L1_error)
        __pyx_L32_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_c_cname, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_v__, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_XDECREF_SET(__pyx_v_py_string, __pyx_t_16);
      __pyx_t_16 = 0;

      /* "Cython/Compiler/Code.py":1357
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 *             for c_cname, _, py_string in py_strings:
 *                 if not py_string.is_str or not py_string.encoding or \             # <<<<<<<<<<<<<<
 *                         py_string.encoding in ('ASCII', 'USASCII', 'US-ASCII',
 *                                                'UTF8', 'UTF-8'):
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_is_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1357, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_14 = ((!__pyx_t_12) != 0);
      if (!__pyx_t_14) {
      } else {
        __pyx_t_13 = __pyx_t_14;
        goto __pyx_L34_bool_binop_done;
      }
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_encoding); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1357, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_12 = ((!__pyx_t_14) != 0);
      if (!__pyx_t_12) {
      } else {
        __pyx_t_13 = __pyx_t_12;
        goto __pyx_L34_bool_binop_done;
      }

      /* "Cython/Compiler/Code.py":1358
 *             for c_cname, _, py_string in py_strings:
 *                 if not py_string.is_str or not py_string.encoding or \
 *                         py_string.encoding in ('ASCII', 'USASCII', 'US-ASCII',             # <<<<<<<<<<<<<<
 *                                                'UTF8', 'UTF-8'):
 *                     encoding = '0'
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_encoding); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1358, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_ASCII, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1358, __pyx_L1_error)
      if (!__pyx_t_14) {
      } else {
        __pyx_t_12 = __pyx_t_14;
        goto __pyx_L37_bool_binop_done;
      }
      __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_USASCII, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1358, __pyx_L1_error)
      if (!__pyx_t_14) {
      } else {
        __pyx_t_12 = __pyx_t_14;
        goto __pyx_L37_bool_binop_done;
      }
      __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_US_ASCII, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1358, __pyx_L1_error)
      if (!__pyx_t_14) {
      } else {
        __pyx_t_12 = __pyx_t_14;
        goto __pyx_L37_bool_binop_done;
      }
      __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_UTF8, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1358, __pyx_L1_error)
      if (!__pyx_t_14) {
      } else {
        __pyx_t_12 = __pyx_t_14;
        goto __pyx_L37_bool_binop_done;
      }
      __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_kp_s_UTF_8, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1358, __pyx_L1_error)
      __pyx_t_12 = __pyx_t_14;
      __pyx_L37_bool_binop_done:;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_14 = (__pyx_t_12 != 0);
      __pyx_t_13 = __pyx_t_14;
      __pyx_L34_bool_binop_done:;

      /* "Cython/Compiler/Code.py":1357
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 *             for c_cname, _, py_string in py_strings:
 *                 if not py_string.is_str or not py_string.encoding or \             # <<<<<<<<<<<<<<
 *                         py_string.encoding in ('ASCII', 'USASCII', 'US-ASCII',
 *                                                'UTF8', 'UTF-8'):
 */
      if (__pyx_t_13) {

        /* "Cython/Compiler/Code.py":1360
 *                         py_string.encoding in ('ASCII', 'USASCII', 'US-ASCII',
 *                                                'UTF8', 'UTF-8'):
 *                     encoding = '0'             # <<<<<<<<<<<<<<
 *                 else:
 *                     encoding = '"%s"' % py_string.encoding.lower()
 */
        __Pyx_INCREF(__pyx_kp_s_0);
        __Pyx_XDECREF_SET(__pyx_v_encoding, __pyx_kp_s_0);

        /* "Cython/Compiler/Code.py":1357
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 *             for c_cname, _, py_string in py_strings:
 *                 if not py_string.is_str or not py_string.encoding or \             # <<<<<<<<<<<<<<
 *                         py_string.encoding in ('ASCII', 'USASCII', 'US-ASCII',
 *                                                'UTF8', 'UTF-8'):
 */
        goto __pyx_L33;
      }

      /* "Cython/Compiler/Code.py":1362
 *                     encoding = '0'
 *                 else:
 *                     encoding = '"%s"' % py_string.encoding.lower()             # <<<<<<<<<<<<<<
 * 
 *                 decls_writer.putln(
 */
      /*else*/ {
        __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_encoding); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1362, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_lower); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1362, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        __pyx_t_16 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_16)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_16);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        if (__pyx_t_16) {
          __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_16); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1362, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        } else {
          __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1362, __pyx_L1_error)
        }
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_8, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1362, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF_SET(__pyx_v_encoding, __pyx_t_4);
        __pyx_t_4 = 0;
      }
      __pyx_L33:;

      /* "Cython/Compiler/Code.py":1364
 *                     encoding = '"%s"' % py_string.encoding.lower()
 * 
 *                 decls_writer.putln(             # <<<<<<<<<<<<<<
 *                     "static PyObject *%s;" % py_string.cname)
 *                 if py_string.py3str_cstring:
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1364, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);

      /* "Cython/Compiler/Code.py":1365
 * 
 *                 decls_writer.putln(
 *                     "static PyObject *%s;" % py_string.cname)             # <<<<<<<<<<<<<<
 *                 if py_string.py3str_cstring:
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")
 */
      __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_cname); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_static_PyObject_s, __pyx_t_16); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1365, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_t_16 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_16)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_16);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      if (!__pyx_t_16) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1364, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_t_10};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1364, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_t_10};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1364, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1364, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_16); __pyx_t_16 = NULL;
          __Pyx_GIVEREF(__pyx_t_10);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_10);
          __pyx_t_10 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1364, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":1366
 *                 decls_writer.putln(
 *                     "static PyObject *%s;" % py_string.cname)
 *                 if py_string.py3str_cstring:             # <<<<<<<<<<<<<<
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_py3str_cstring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1366, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1366, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_13) {

        /* "Cython/Compiler/Code.py":1367
 *                     "static PyObject *%s;" % py_string.cname)
 *                 if py_string.py3str_cstring:
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")             # <<<<<<<<<<<<<<
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                         py_string.cname,
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1367, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__91, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1367, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":1368
 *                 if py_string.py3str_cstring:
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (             # <<<<<<<<<<<<<<
 *                         py_string.cname,
 *                         py_string.py3str_cstring.cname,
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1368, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);

        /* "Cython/Compiler/Code.py":1369
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                         py_string.cname,             # <<<<<<<<<<<<<<
 *                         py_string.py3str_cstring.cname,
 *                         py_string.py3str_cstring.cname,
 */
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_cname); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1369, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);

        /* "Cython/Compiler/Code.py":1370
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                         py_string.cname,
 *                         py_string.py3str_cstring.cname,             # <<<<<<<<<<<<<<
 *                         py_string.py3str_cstring.cname,
 *                         '0', 1, 0,
 */
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_py3str_cstring); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1370, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_cname); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1370, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

        /* "Cython/Compiler/Code.py":1371
 *                         py_string.cname,
 *                         py_string.py3str_cstring.cname,
 *                         py_string.py3str_cstring.cname,             # <<<<<<<<<<<<<<
 *                         '0', 1, 0,
 *                         py_string.intern
 */
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_py3str_cstring); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1371, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1371, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

        /* "Cython/Compiler/Code.py":1373
 *                         py_string.py3str_cstring.cname,
 *                         '0', 1, 0,
 *                         py_string.intern             # <<<<<<<<<<<<<<
 *                         ))
 *                     w.putln("#else")
 */
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_intern); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1373, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);

        /* "Cython/Compiler/Code.py":1369
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                         py_string.cname,             # <<<<<<<<<<<<<<
 *                         py_string.py3str_cstring.cname,
 *                         py_string.py3str_cstring.cname,
 */
        __pyx_t_15 = PyTuple_New(7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1369, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_16);
        PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_16);
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_3);
        __Pyx_INCREF(__pyx_kp_s_0);
        __Pyx_GIVEREF(__pyx_kp_s_0);
        PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_kp_s_0);
        __Pyx_INCREF(__pyx_int_1);
        __Pyx_GIVEREF(__pyx_int_1);
        PyTuple_SET_ITEM(__pyx_t_15, 4, __pyx_int_1);
        __Pyx_INCREF(__pyx_int_0);
        __Pyx_GIVEREF(__pyx_int_0);
        PyTuple_SET_ITEM(__pyx_t_15, 5, __pyx_int_0);
        __Pyx_GIVEREF(__pyx_t_10);
        PyTuple_SET_ITEM(__pyx_t_15, 6, __pyx_t_10);
        __pyx_t_8 = 0;
        __pyx_t_16 = 0;
        __pyx_t_3 = 0;
        __pyx_t_10 = 0;

        /* "Cython/Compiler/Code.py":1368
 *                 if py_string.py3str_cstring:
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (             # <<<<<<<<<<<<<<
 *                         py_string.cname,
 *                         py_string.py3str_cstring.cname,
 */
        __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_s_s_sizeof_s_s_d_d_d, __pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1368, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        __pyx_t_15 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_15)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_15);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        if (!__pyx_t_15) {
          __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1368, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_t_10};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1368, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_t_10};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1368, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1368, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_15); __pyx_t_15 = NULL;
            __Pyx_GIVEREF(__pyx_t_10);
            PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_10);
            __pyx_t_10 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1368, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":1375
 *                         py_string.intern
 *                         ))
 *                     w.putln("#else")             # <<<<<<<<<<<<<<
 *                 w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                     py_string.cname,
 */
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1375, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__92, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1375, __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":1366
 *                 decls_writer.putln(
 *                     "static PyObject *%s;" % py_string.cname)
 *                 if py_string.py3str_cstring:             # <<<<<<<<<<<<<<
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 */
      }

      /* "Cython/Compiler/Code.py":1376
 *                         ))
 *                     w.putln("#else")
 *                 w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (             # <<<<<<<<<<<<<<
 *                     py_string.cname,
 *                     c_cname,
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1376, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);

      /* "Cython/Compiler/Code.py":1377
 *                     w.putln("#else")
 *                 w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                     py_string.cname,             # <<<<<<<<<<<<<<
 *                     c_cname,
 *                     c_cname,
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);

      /* "Cython/Compiler/Code.py":1381
 *                     c_cname,
 *                     encoding,
 *                     py_string.is_unicode,             # <<<<<<<<<<<<<<
 *                     py_string.is_str,
 *                     py_string.intern
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_is_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);

      /* "Cython/Compiler/Code.py":1382
 *                     encoding,
 *                     py_string.is_unicode,
 *                     py_string.is_str,             # <<<<<<<<<<<<<<
 *                     py_string.intern
 *                     ))
 */
      __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_is_str); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1382, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);

      /* "Cython/Compiler/Code.py":1383
 *                     py_string.is_unicode,
 *                     py_string.is_str,
 *                     py_string.intern             # <<<<<<<<<<<<<<
 *                     ))
 *                 if py_string.py3str_cstring:
 */
      __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_intern); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);

      /* "Cython/Compiler/Code.py":1377
 *                     w.putln("#else")
 *                 w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                     py_string.cname,             # <<<<<<<<<<<<<<
 *                     c_cname,
 *                     c_cname,
 */
      __pyx_t_8 = PyTuple_New(7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
      __Pyx_INCREF(__pyx_v_c_cname);
      __Pyx_GIVEREF(__pyx_v_c_cname);
      PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_c_cname);
      __Pyx_INCREF(__pyx_v_c_cname);
      __Pyx_GIVEREF(__pyx_v_c_cname);
      PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_c_cname);
      __Pyx_INCREF(__pyx_v_encoding);
      __Pyx_GIVEREF(__pyx_v_encoding);
      PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_encoding);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_t_10);
      __Pyx_GIVEREF(__pyx_t_15);
      PyTuple_SET_ITEM(__pyx_t_8, 5, __pyx_t_15);
      __Pyx_GIVEREF(__pyx_t_16);
      PyTuple_SET_ITEM(__pyx_t_8, 6, __pyx_t_16);
      __pyx_t_3 = 0;
      __pyx_t_10 = 0;
      __pyx_t_15 = 0;
      __pyx_t_16 = 0;

      /* "Cython/Compiler/Code.py":1376
 *                         ))
 *                     w.putln("#else")
 *                 w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (             # <<<<<<<<<<<<<<
 *                     py_string.cname,
 *                     c_cname,
 */
      __pyx_t_16 = __Pyx_PyString_Format(__pyx_kp_s_s_s_sizeof_s_s_d_d_d, __pyx_t_8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1376, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_8)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      if (!__pyx_t_8) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1376, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_16};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1376, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_16};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1376, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        } else
        #endif
        {
          __pyx_t_15 = PyTuple_New(1+1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1376, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_15);
          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_8); __pyx_t_8 = NULL;
          __Pyx_GIVEREF(__pyx_t_16);
          PyTuple_SET_ITEM(__pyx_t_15, 0+1, __pyx_t_16);
          __pyx_t_16 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1376, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "Cython/Compiler/Code.py":1385
 *                     py_string.intern
 *                     ))
 *                 if py_string.py3str_cstring:             # <<<<<<<<<<<<<<
 *                     w.putln("#endif")
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_string, __pyx_n_s_py3str_cstring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1385, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1385, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_13) {

        /* "Cython/Compiler/Code.py":1386
 *                     ))
 *                 if py_string.py3str_cstring:
 *                     w.putln("#endif")             # <<<<<<<<<<<<<<
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")
 *             w.putln("};")
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1386, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1386, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "Cython/Compiler/Code.py":1385
 *                     py_string.intern
 *                     ))
 *                 if py_string.py3str_cstring:             # <<<<<<<<<<<<<<
 *                     w.putln("#endif")
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")
 */
      }

      /* "Cython/Compiler/Code.py":1356
 *             w.putln("")
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 *             for c_cname, _, py_string in py_strings:             # <<<<<<<<<<<<<<
 *                 if not py_string.is_str or not py_string.encoding or \
 *                         py_string.encoding in ('ASCII', 'USASCII', 'US-ASCII',
 */
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1387
 *                 if py_string.py3str_cstring:
 *                     w.putln("#endif")
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")             # <<<<<<<<<<<<<<
 *             w.putln("};")
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__94, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1387, __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":1388
 *                     w.putln("#endif")
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")
 *             w.putln("};")             # <<<<<<<<<<<<<<
 * 
 *             init_globals = self.parts['init_globals']
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__96, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1388, __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":1390
 *             w.putln("};")
 * 
 *             init_globals = self.parts['init_globals']             # <<<<<<<<<<<<<<
 *             init_globals.putln(
 *                 "if (__Pyx_InitStrings(%s) < 0) %s;" % (
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_init_globals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_init_globals = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1391
 * 
 *             init_globals = self.parts['init_globals']
 *             init_globals.putln(             # <<<<<<<<<<<<<<
 *                 "if (__Pyx_InitStrings(%s) < 0) %s;" % (
 *                     Naming.stringtab_cname,
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_globals, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1393
 *             init_globals.putln(
 *                 "if (__Pyx_InitStrings(%s) < 0) %s;" % (
 *                     Naming.stringtab_cname,             # <<<<<<<<<<<<<<
 *                     init_globals.error_goto(self.module_pos)))
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_stringtab_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);

    /* "Cython/Compiler/Code.py":1394
 *                 "if (__Pyx_InitStrings(%s) < 0) %s;" % (
 *                     Naming.stringtab_cname,
 *                     init_globals.error_goto(self.module_pos)))             # <<<<<<<<<<<<<<
 * 
 *     def generate_num_constants(self):
 */
    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_globals, __pyx_n_s_error_goto); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_module_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_16);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_16, function);
      }
    }
    if (!__pyx_t_10) {
      __pyx_t_15 = __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_8); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1394, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_15);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_8};
        __pyx_t_15 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1394, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_15);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_8};
        __pyx_t_15 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1394, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_15);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1394, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_10); __pyx_t_10 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_3, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1394, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;

    /* "Cython/Compiler/Code.py":1393
 *             init_globals.putln(
 *                 "if (__Pyx_InitStrings(%s) < 0) %s;" % (
 *                     Naming.stringtab_cname,             # <<<<<<<<<<<<<<
 *                     init_globals.error_goto(self.module_pos)))
 * 
 */
    __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_15);
    PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_15);
    __pyx_t_4 = 0;
    __pyx_t_15 = 0;

    /* "Cython/Compiler/Code.py":1392
 *             init_globals = self.parts['init_globals']
 *             init_globals.putln(
 *                 "if (__Pyx_InitStrings(%s) < 0) %s;" % (             # <<<<<<<<<<<<<<
 *                     Naming.stringtab_cname,
 *                     init_globals.error_goto(self.module_pos)))
 */
    __pyx_t_15 = __Pyx_PyString_Format(__pyx_kp_s_if___Pyx_InitStrings_s_0_s, __pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __pyx_t_16 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_16)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_16);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_16) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1391, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_t_15};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1391, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_t_15};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1391, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      } else
      #endif
      {
        __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1391, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_16); __pyx_t_16 = NULL;
        __Pyx_GIVEREF(__pyx_t_15);
        PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_15);
        __pyx_t_15 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1391, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1350
 *                 decls_writer.putln("#endif")
 * 
 *         if py_strings:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(UtilityCode.load_cached("InitStrings", "StringTools.c"))
 *             py_strings.sort()
 */
  }

  /* "Cython/Compiler/Code.py":1319
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)
 * 
 *     def generate_string_constants(self):             # <<<<<<<<<<<<<<
 *         c_consts = [(len(c.cname), c.cname, c) for c in self.string_const_index.values()]
 *         c_consts.sort()
 */

  /* 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_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __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_strings);
  __Pyx_XDECREF(__pyx_v_decls_writer);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XDECREF(__pyx_v_py_string);
  __Pyx_XDECREF(__pyx_v_utf16_array);
  __Pyx_XDECREF(__pyx_v_utf32_array);
  __Pyx_XDECREF(__pyx_v_w);
  __Pyx_XDECREF(__pyx_v_c_cname);
  __Pyx_XDECREF(__pyx_v_encoding);
  __Pyx_XDECREF(__pyx_v_init_globals);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1396
 *                     init_globals.error_goto(self.module_pos)))
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_55generate_num_constants(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_55generate_num_constants = {"generate_num_constants", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_55generate_num_constants, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_55generate_num_constants(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_num_constants (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11GlobalState_54generate_num_constants(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_54generate_num_constants(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_consts = NULL;
  PyObject *__pyx_v_decls_writer = NULL;
  PyObject *__pyx_v_init_globals = 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_function = 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;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *(*__pyx_t_14)(PyObject *);
  int __pyx_t_15;
  int __pyx_t_16;
  __Pyx_RefNannySetupContext("generate_num_constants", 0);

  /* "Cython/Compiler/Code.py":1397
 * 
 *     def generate_num_constants(self):
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)             # <<<<<<<<<<<<<<
 *                   for c in self.num_const_index.values()]
 *         consts.sort()
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":1398
 *     def generate_num_constants(self):
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]             # <<<<<<<<<<<<<<
 *         consts.sort()
 *         decls_writer = self.parts['decls']
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_num_const_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1398, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1398, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  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_5 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1398, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1398, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1398, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      } else {
        if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1398, __pyx_L1_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1398, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
      }
    } else {
      __pyx_t_2 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1398, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1397
 * 
 *     def generate_num_constants(self):
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)             # <<<<<<<<<<<<<<
 *                   for c in self.num_const_index.values()]
 *         consts.sort()
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_py_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_t_7, __pyx_kp_s__75, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_value); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_value); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_value_code); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = PyTuple_New(6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_9);
    PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_10);
    PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_t_10);
    __Pyx_INCREF(__pyx_v_c);
    __Pyx_GIVEREF(__pyx_v_c);
    PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_v_c);
    __pyx_t_2 = 0;
    __pyx_t_3 = 0;
    __pyx_t_7 = 0;
    __pyx_t_9 = 0;
    __pyx_t_10 = 0;
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_11))) __PYX_ERR(0, 1397, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "Cython/Compiler/Code.py":1398
 *     def generate_num_constants(self):
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]             # <<<<<<<<<<<<<<
 *         consts.sort()
 *         decls_writer = self.parts['decls']
 */
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_consts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1399
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
 *         consts.sort()             # <<<<<<<<<<<<<<
 *         decls_writer = self.parts['decls']
 *         init_globals = self.parts['init_globals']
 */
  __pyx_t_12 = PyList_Sort(__pyx_v_consts); if (unlikely(__pyx_t_12 == -1)) __PYX_ERR(0, 1399, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1400
 *                   for c in self.num_const_index.values()]
 *         consts.sort()
 *         decls_writer = self.parts['decls']             # <<<<<<<<<<<<<<
 *         init_globals = self.parts['init_globals']
 *         for py_type, _, _, value, value_code, c in consts:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_decls); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_decls_writer = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1401
 *         consts.sort()
 *         decls_writer = self.parts['decls']
 *         init_globals = self.parts['init_globals']             # <<<<<<<<<<<<<<
 *         for py_type, _, _, value, value_code, c in consts:
 *             cname = c.cname
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_parts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyObject_GetItem(__pyx_t_4, __pyx_n_s_init_globals); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_init_globals = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1402
 *         decls_writer = self.parts['decls']
 *         init_globals = self.parts['init_globals']
 *         for py_type, _, _, value, value_code, c in consts:             # <<<<<<<<<<<<<<
 *             cname = c.cname
 *             decls_writer.putln("static PyObject *%s;" % cname)
 */
  __pyx_t_1 = __pyx_v_consts; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
  for (;;) {
    if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1402, __pyx_L1_error)
    #else
    __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 6)) {
        if (size > 6) __Pyx_RaiseTooManyValuesError(6);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1402, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2); 
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 3); 
        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 4); 
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 5); 
      } else {
        __pyx_t_11 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_9 = PyList_GET_ITEM(sequence, 2); 
        __pyx_t_7 = PyList_GET_ITEM(sequence, 3); 
        __pyx_t_3 = PyList_GET_ITEM(sequence, 4); 
        __pyx_t_2 = PyList_GET_ITEM(sequence, 5); 
      }
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      #else
      {
        Py_ssize_t i;
        PyObject** temps[6] = {&__pyx_t_11,&__pyx_t_10,&__pyx_t_9,&__pyx_t_7,&__pyx_t_3,&__pyx_t_2};
        for (i=0; i < 6; i++) {
          PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1402, __pyx_L1_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[6] = {&__pyx_t_11,&__pyx_t_10,&__pyx_t_9,&__pyx_t_7,&__pyx_t_3,&__pyx_t_2};
      __pyx_t_13 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1402, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_14 = Py_TYPE(__pyx_t_13)->tp_iternext;
      for (index=0; index < 6; index++) {
        PyObject* item = __pyx_t_14(__pyx_t_13); if (unlikely(!item)) goto __pyx_L7_unpacking_failed;
        __Pyx_GOTREF(item);
        *(temps[index]) = item;
      }
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 6) < 0) __PYX_ERR(0, 1402, __pyx_L1_error)
      __pyx_t_14 = NULL;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      goto __pyx_L8_unpacking_done;
      __pyx_L7_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_14 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 1402, __pyx_L1_error)
      __pyx_L8_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_py_type, __pyx_t_11);
    __pyx_t_11 = 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_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_value_code, __pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1403
 *         init_globals = self.parts['init_globals']
 *         for py_type, _, _, value, value_code, c in consts:
 *             cname = c.cname             # <<<<<<<<<<<<<<
 *             decls_writer.putln("static PyObject *%s;" % cname)
 *             if py_type == 'float':
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_cname, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1404
 *         for py_type, _, _, value, value_code, c in consts:
 *             cname = c.cname
 *             decls_writer.putln("static PyObject *%s;" % cname)             # <<<<<<<<<<<<<<
 *             if py_type == 'float':
 *                 function = 'PyFloat_FromDouble(%s)'
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_decls_writer, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_static_PyObject_s, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1404, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_3};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1404, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_3};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1404, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1404, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1404, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1405
 *             cname = c.cname
 *             decls_writer.putln("static PyObject *%s;" % cname)
 *             if py_type == 'float':             # <<<<<<<<<<<<<<
 *                 function = 'PyFloat_FromDouble(%s)'
 *             elif py_type == 'long':
 */
    __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_v_py_type, __pyx_n_s_float, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1405, __pyx_L1_error)
    if (__pyx_t_15) {

      /* "Cython/Compiler/Code.py":1406
 *             decls_writer.putln("static PyObject *%s;" % cname)
 *             if py_type == 'float':
 *                 function = 'PyFloat_FromDouble(%s)'             # <<<<<<<<<<<<<<
 *             elif py_type == 'long':
 *                 function = 'PyLong_FromString((char *)"%s", 0, 0)'
 */
      __Pyx_INCREF(__pyx_kp_s_PyFloat_FromDouble_s);
      __Pyx_XDECREF_SET(__pyx_v_function, __pyx_kp_s_PyFloat_FromDouble_s);

      /* "Cython/Compiler/Code.py":1405
 *             cname = c.cname
 *             decls_writer.putln("static PyObject *%s;" % cname)
 *             if py_type == 'float':             # <<<<<<<<<<<<<<
 *                 function = 'PyFloat_FromDouble(%s)'
 *             elif py_type == 'long':
 */
      goto __pyx_L9;
    }

    /* "Cython/Compiler/Code.py":1407
 *             if py_type == 'float':
 *                 function = 'PyFloat_FromDouble(%s)'
 *             elif py_type == 'long':             # <<<<<<<<<<<<<<
 *                 function = 'PyLong_FromString((char *)"%s", 0, 0)'
 *             elif Utils.long_literal(value):
 */
    __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_v_py_type, __pyx_n_s_long, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1407, __pyx_L1_error)
    if (__pyx_t_15) {

      /* "Cython/Compiler/Code.py":1408
 *                 function = 'PyFloat_FromDouble(%s)'
 *             elif py_type == 'long':
 *                 function = 'PyLong_FromString((char *)"%s", 0, 0)'             # <<<<<<<<<<<<<<
 *             elif Utils.long_literal(value):
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'
 */
      __Pyx_INCREF(__pyx_kp_s_PyLong_FromString_char_s_0_0);
      __Pyx_XDECREF_SET(__pyx_v_function, __pyx_kp_s_PyLong_FromString_char_s_0_0);

      /* "Cython/Compiler/Code.py":1407
 *             if py_type == 'float':
 *                 function = 'PyFloat_FromDouble(%s)'
 *             elif py_type == 'long':             # <<<<<<<<<<<<<<
 *                 function = 'PyLong_FromString((char *)"%s", 0, 0)'
 *             elif Utils.long_literal(value):
 */
      goto __pyx_L9;
    }

    /* "Cython/Compiler/Code.py":1409
 *             elif py_type == 'long':
 *                 function = 'PyLong_FromString((char *)"%s", 0, 0)'
 *             elif Utils.long_literal(value):             # <<<<<<<<<<<<<<
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'
 *             elif len(value.lstrip('-')) > 4:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Utils, __pyx_n_s_long_literal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_9) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1409, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_value};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1409, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_value};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1409, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1409, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_9); __pyx_t_9 = NULL;
        __Pyx_INCREF(__pyx_v_value);
        __Pyx_GIVEREF(__pyx_v_value);
        PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_value);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1409, __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_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1409, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_15) {

      /* "Cython/Compiler/Code.py":1410
 *                 function = 'PyLong_FromString((char *)"%s", 0, 0)'
 *             elif Utils.long_literal(value):
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'             # <<<<<<<<<<<<<<
 *             elif len(value.lstrip('-')) > 4:
 *                 function = "PyInt_FromLong(%sL)"
 */
      __Pyx_INCREF(__pyx_kp_s_PyInt_FromString_char_s_0_0);
      __Pyx_XDECREF_SET(__pyx_v_function, __pyx_kp_s_PyInt_FromString_char_s_0_0);

      /* "Cython/Compiler/Code.py":1409
 *             elif py_type == 'long':
 *                 function = 'PyLong_FromString((char *)"%s", 0, 0)'
 *             elif Utils.long_literal(value):             # <<<<<<<<<<<<<<
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'
 *             elif len(value.lstrip('-')) > 4:
 */
      goto __pyx_L9;
    }

    /* "Cython/Compiler/Code.py":1411
 *             elif Utils.long_literal(value):
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'
 *             elif len(value.lstrip('-')) > 4:             # <<<<<<<<<<<<<<
 *                 function = "PyInt_FromLong(%sL)"
 *             else:
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_lstrip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_8 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 1411, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_15 = ((__pyx_t_8 > 4) != 0);
    if (__pyx_t_15) {

      /* "Cython/Compiler/Code.py":1412
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'
 *             elif len(value.lstrip('-')) > 4:
 *                 function = "PyInt_FromLong(%sL)"             # <<<<<<<<<<<<<<
 *             else:
 *                 function = "PyInt_FromLong(%s)"
 */
      __Pyx_INCREF(__pyx_kp_s_PyInt_FromLong_sL);
      __Pyx_XDECREF_SET(__pyx_v_function, __pyx_kp_s_PyInt_FromLong_sL);

      /* "Cython/Compiler/Code.py":1411
 *             elif Utils.long_literal(value):
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'
 *             elif len(value.lstrip('-')) > 4:             # <<<<<<<<<<<<<<
 *                 function = "PyInt_FromLong(%sL)"
 *             else:
 */
      goto __pyx_L9;
    }

    /* "Cython/Compiler/Code.py":1414
 *                 function = "PyInt_FromLong(%sL)"
 *             else:
 *                 function = "PyInt_FromLong(%s)"             # <<<<<<<<<<<<<<
 *             init_globals.putln('%s = %s; %s' % (
 *                 cname, function % value_code,
 */
    /*else*/ {
      __Pyx_INCREF(__pyx_kp_s_PyInt_FromLong_s);
      __Pyx_XDECREF_SET(__pyx_v_function, __pyx_kp_s_PyInt_FromLong_s);
    }
    __pyx_L9:;

    /* "Cython/Compiler/Code.py":1415
 *             else:
 *                 function = "PyInt_FromLong(%s)"
 *             init_globals.putln('%s = %s; %s' % (             # <<<<<<<<<<<<<<
 *                 cname, function % value_code,
 *                 init_globals.error_goto_if_null(cname, self.module_pos)))
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_globals, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);

    /* "Cython/Compiler/Code.py":1416
 *                 function = "PyInt_FromLong(%s)"
 *             init_globals.putln('%s = %s; %s' % (
 *                 cname, function % value_code,             # <<<<<<<<<<<<<<
 *                 init_globals.error_goto_if_null(cname, self.module_pos)))
 * 
 */
    __pyx_t_3 = PyNumber_Remainder(__pyx_v_function, __pyx_v_value_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);

    /* "Cython/Compiler/Code.py":1417
 *             init_globals.putln('%s = %s; %s' % (
 *                 cname, function % value_code,
 *                 init_globals.error_goto_if_null(cname, self.module_pos)))             # <<<<<<<<<<<<<<
 * 
 *     # The functions below are there in a transition phase only
 */
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_globals, __pyx_n_s_error_goto_if_null); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_module_pos); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = NULL;
    __pyx_t_16 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
        __pyx_t_16 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_7)) {
      PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_cname, __pyx_t_10};
      __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_16, 2+__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1417, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
      PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_cname, __pyx_t_10};
      __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_16, 2+__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1417, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    } else
    #endif
    {
      __pyx_t_13 = PyTuple_New(2+__pyx_t_16); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      if (__pyx_t_11) {
        __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL;
      }
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_16, __pyx_v_cname);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_16, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1416
 *                 function = "PyInt_FromLong(%s)"
 *             init_globals.putln('%s = %s; %s' % (
 *                 cname, function % value_code,             # <<<<<<<<<<<<<<
 *                 init_globals.error_goto_if_null(cname, self.module_pos)))
 * 
 */
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_cname);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_9);
    PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_9);
    __pyx_t_3 = 0;
    __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":1415
 *             else:
 *                 function = "PyInt_FromLong(%s)"
 *             init_globals.putln('%s = %s; %s' % (             # <<<<<<<<<<<<<<
 *                 cname, function % value_code,
 *                 init_globals.error_goto_if_null(cname, self.module_pos)))
 */
    __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s_2, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1415, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_9};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1415, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_9};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1415, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else
      #endif
      {
        __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1415, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_9);
        __pyx_t_9 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1415, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1402
 *         decls_writer = self.parts['decls']
 *         init_globals = self.parts['init_globals']
 *         for py_type, _, _, value, value_code, c in consts:             # <<<<<<<<<<<<<<
 *             cname = c.cname
 *             decls_writer.putln("static PyObject *%s;" % cname)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1396
 *                     init_globals.error_goto(self.module_pos)))
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), 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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __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.generate_num_constants", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_consts);
  __Pyx_XDECREF(__pyx_v_decls_writer);
  __Pyx_XDECREF(__pyx_v_init_globals);
  __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_function);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1424
 *     # 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_57should_declare(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_57should_declare = {"should_declare", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_57should_declare, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_57should_declare(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("should_declare (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_entry,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("should_declare", 1, 3, 3, 1); __PYX_ERR(0, 1424, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("should_declare", 1, 3, 3, 2); __PYX_ERR(0, 1424, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "should_declare") < 0)) __PYX_ERR(0, 1424, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_entry = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("should_declare", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1424, __pyx_L3_error)
  __pyx_L3_error:;
  __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_56should_declare(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_56should_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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("should_declare", 0);

  /* "Cython/Compiler/Code.py":1425
 * 
 *     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_n_s_declared_cnames); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1425, __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, 1425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1426
 *     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_n_s_declared_cnames); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_v_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_other = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1427
 *         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(!Py_OptimizeFlag)) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&PyString_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&PyString_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1427, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) {
        PyErr_SetNone(PyExc_AssertionError);
        __PYX_ERR(0, 1427, __pyx_L1_error)
      }
    }
    #endif

    /* "Cython/Compiler/Code.py":1428
 *             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(!Py_OptimizeFlag)) {
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_init); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1428, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1428, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1428, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1428, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        PyErr_SetNone(PyExc_AssertionError);
        __PYX_ERR(0, 1428, __pyx_L1_error)
      }
    }
    #endif

    /* "Cython/Compiler/Code.py":1429
 *             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":1425
 * 
 *     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":1431
 *             return False
 *         else:
 *             self.declared_cnames[cname] = entry             # <<<<<<<<<<<<<<
 *             return True
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_declared_cnames); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_cname, __pyx_v_entry) < 0)) __PYX_ERR(0, 1431, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1432
 *         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":1424
 *     # 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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":1438
 *     #
 * 
 *     def lookup_filename(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_59lookup_filename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_59lookup_filename = {"lookup_filename", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_59lookup_filename, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_59lookup_filename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_source_desc = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lookup_filename (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_source_desc,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source_desc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lookup_filename", 1, 2, 2, 1); __PYX_ERR(0, 1438, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "lookup_filename") < 0)) __PYX_ERR(0, 1438, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_source_desc = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lookup_filename", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1438, __pyx_L3_error)
  __pyx_L3_error:;
  __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_58lookup_filename(__pyx_self, __pyx_v_self, __pyx_v_source_desc);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_58lookup_filename(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_source_desc) {
  PyObject *__pyx_v_index = 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;
  int __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  __Pyx_RefNannySetupContext("lookup_filename", 0);

  /* "Cython/Compiler/Code.py":1439
 * 
 *     def lookup_filename(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 *         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":1440
 *     def lookup_filename(self, source_desc):
 *         try:
 *             index = self.filename_table[source_desc.get_filenametable_entry()]             # <<<<<<<<<<<<<<
 *         except KeyError:
 *             index = len(self.filename_list)
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename_table); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1440, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_desc, __pyx_n_s_get_filenametable_entry); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1440, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (__pyx_t_7) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1440, __pyx_L3_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else {
        __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1440, __pyx_L3_error)
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1440, __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_index = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1439
 * 
 *     def lookup_filename(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 *         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_L10_try_end;
    __pyx_L3_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 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;

    /* "Cython/Compiler/Code.py":1441
 *         try:
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             index = len(self.filename_list)
 *             self.filename_list.append(source_desc)
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
    if (__pyx_t_8) {
      __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.lookup_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 1441, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":1442
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 *         except KeyError:
 *             index = len(self.filename_list)             # <<<<<<<<<<<<<<
 *             self.filename_list.append(source_desc)
 *             self.filename_table[source_desc.get_filenametable_entry()] = index
 */
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1442, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 1442, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1442, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_7);
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":1443
 *         except KeyError:
 *             index = len(self.filename_list)
 *             self.filename_list.append(source_desc)             # <<<<<<<<<<<<<<
 *             self.filename_table[source_desc.get_filenametable_entry()] = index
 *         return index
 */
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1443, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = __Pyx_PyObject_Append(__pyx_t_7, __pyx_v_source_desc); if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 1443, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":1444
 *             index = len(self.filename_list)
 *             self.filename_list.append(source_desc)
 *             self.filename_table[source_desc.get_filenametable_entry()] = index             # <<<<<<<<<<<<<<
 *         return index
 * 
 */
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename_table); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1444, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_desc, __pyx_n_s_get_filenametable_entry); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1444, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_13 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);
        if (likely(__pyx_t_13)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
          __Pyx_INCREF(__pyx_t_13);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_12, function);
        }
      }
      if (__pyx_t_13) {
        __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1444, __pyx_L5_except_error)
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      } else {
        __pyx_t_11 = __Pyx_PyObject_CallNoArg(__pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1444, __pyx_L5_except_error)
      }
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_11, __pyx_v_index) < 0)) __PYX_ERR(0, 1444, __pyx_L5_except_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "Cython/Compiler/Code.py":1439
 * 
 *     def lookup_filename(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 *         except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_L10_try_end:;
  }

  /* "Cython/Compiler/Code.py":1445
 *             self.filename_list.append(source_desc)
 *             self.filename_table[source_desc.get_filenametable_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":1438
 *     #
 * 
 *     def lookup_filename(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 */

  /* 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_7);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("Cython.Compiler.Code.GlobalState.lookup_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_index);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1447
 *         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_61commented_file_contents(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_61commented_file_contents = {"commented_file_contents", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_61commented_file_contents, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_61commented_file_contents(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_source_desc = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("commented_file_contents (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_source_desc,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source_desc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("commented_file_contents", 1, 2, 2, 1); __PYX_ERR(0, 1447, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "commented_file_contents") < 0)) __PYX_ERR(0, 1447, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_source_desc = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("commented_file_contents", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1447, __pyx_L3_error)
  __pyx_L3_error:;
  __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_60commented_file_contents(__pyx_self, __pyx_v_self, __pyx_v_source_desc);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_60commented_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_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;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  int __pyx_t_19;
  __Pyx_RefNannySetupContext("commented_file_contents", 0);

  /* "Cython/Compiler/Code.py":1448
 * 
 *     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":1449
 *     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_n_s_input_file_contents); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1449, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = PyObject_GetItem(__pyx_t_4, __pyx_v_source_desc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1449, __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":1448
 * 
 *     def commented_file_contents(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             return self.input_file_contents[source_desc]
 *         except KeyError:
 */
    }
    __pyx_L3_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1450
 *         try:
 *             return self.input_file_contents[source_desc]
 *         except KeyError:             # <<<<<<<<<<<<<<
 *             pass
 *         source_file = source_desc.get_lines(encoding='ASCII',
 */
    __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
    if (__pyx_t_6) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "Cython/Compiler/Code.py":1448
 * 
 *     def commented_file_contents(self, source_desc):
 *         try:             # <<<<<<<<<<<<<<
 *             return self.input_file_contents[source_desc]
 *         except KeyError:
 */
    __Pyx_PyThreadState_assign
    __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_PyThreadState_assign
    __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_PyThreadState_assign
    __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":1452
 *         except KeyError:
 *             pass
 *         source_file = source_desc.get_lines(encoding='ASCII',             # <<<<<<<<<<<<<<
 *                                             error_handling='ignore')
 *         try:
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_desc, __pyx_n_s_get_lines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_encoding, __pyx_n_s_ASCII) < 0) __PYX_ERR(0, 1452, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_error_handling, __pyx_n_s_ignore) < 0) __PYX_ERR(0, 1452, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_source_file = __pyx_t_7;
  __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":1454
 *         source_file = source_desc.get_lines(encoding='ASCII',
 *                                             error_handling='ignore')
 *         try:             # <<<<<<<<<<<<<<
 *             F = [u' * ' + line.rstrip().replace(
 *                     u'*[inserted by cython to avoid comment closer]/', u'*[inserted by cython to avoid comment closer]/'
 */
  /*try:*/ {

    /* "Cython/Compiler/Code.py":1455
 *                                             error_handling='ignore')
 *         try:
 *             F = [u' * ' + line.rstrip().replace(             # <<<<<<<<<<<<<<
 *                     u'*[inserted by cython to avoid comment closer]/', u'*[inserted by cython to avoid comment closer]/'
 *                     ).replace(
 */
    __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1455, __pyx_L12_error)
    __Pyx_GOTREF(__pyx_t_7);

    /* "Cython/Compiler/Code.py":1460
 *                     u'/[inserted by cython to avoid comment start]*', u'/[inserted by cython to avoid comment start]*'
 *                     )
 *                  for line in source_file]             # <<<<<<<<<<<<<<
 *         finally:
 *             if hasattr(source_file, 'close'):
 */
    if (likely(PyList_CheckExact(__pyx_v_source_file)) || PyTuple_CheckExact(__pyx_v_source_file)) {
      __pyx_t_4 = __pyx_v_source_file; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_source_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1460, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1460, __pyx_L12_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1460, __pyx_L12_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1460, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1460, __pyx_L12_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1460, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        }
      } else {
        __pyx_t_5 = __pyx_t_9(__pyx_t_4);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 1460, __pyx_L12_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":1455
 *                                             error_handling='ignore')
 *         try:
 *             F = [u' * ' + line.rstrip().replace(             # <<<<<<<<<<<<<<
 *                     u'*[inserted by cython to avoid comment closer]/', u'*[inserted by cython to avoid comment closer]/'
 *                     ).replace(
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_line, __pyx_n_s_rstrip); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1455, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
        }
      }
      if (__pyx_t_11) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1455, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      } else {
        __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1455, __pyx_L12_error)
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_replace); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1455, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1455, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

      /* "Cython/Compiler/Code.py":1457
 *             F = [u' * ' + line.rstrip().replace(
 *                     u'*[inserted by cython to avoid comment closer]/', u'*[inserted by cython to avoid comment closer]/'
 *                     ).replace(             # <<<<<<<<<<<<<<
 *                     u'/[inserted by cython to avoid comment start]*', u'/[inserted by cython to avoid comment start]*'
 *                     )
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_replace); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1457, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__102, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1457, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

      /* "Cython/Compiler/Code.py":1455
 *                                             error_handling='ignore')
 *         try:
 *             F = [u' * ' + line.rstrip().replace(             # <<<<<<<<<<<<<<
 *                     u'*[inserted by cython to avoid comment closer]/', u'*[inserted by cython to avoid comment closer]/'
 *                     ).replace(
 */
      __pyx_t_10 = PyNumber_Add(__pyx_kp_u__98, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1455, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 1455, __pyx_L12_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

      /* "Cython/Compiler/Code.py":1460
 *                     u'/[inserted by cython to avoid comment start]*', u'/[inserted by cython to avoid comment start]*'
 *                     )
 *                  for line in source_file]             # <<<<<<<<<<<<<<
 *         finally:
 *             if hasattr(source_file, 'close'):
 */
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_F = ((PyObject*)__pyx_t_7);
    __pyx_t_7 = 0;
  }

  /* "Cython/Compiler/Code.py":1462
 *                  for line in source_file]
 *         finally:
 *             if hasattr(source_file, 'close'):             # <<<<<<<<<<<<<<
 *                 source_file.close()
 *         if not F: F.append(u'')
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_t_12 = PyObject_HasAttr(__pyx_v_source_file, __pyx_n_s_close); if (unlikely(__pyx_t_12 == -1)) __PYX_ERR(0, 1462, __pyx_L1_error)
      __pyx_t_13 = (__pyx_t_12 != 0);
      if (__pyx_t_13) {

        /* "Cython/Compiler/Code.py":1463
 *         finally:
 *             if hasattr(source_file, 'close'):
 *                 source_file.close()             # <<<<<<<<<<<<<<
 *         if not F: F.append(u'')
 *         self.input_file_contents[source_desc] = F
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_file, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1463, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_10 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        if (__pyx_t_10) {
          __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1463, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        } else {
          __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1463, __pyx_L1_error)
        }
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

        /* "Cython/Compiler/Code.py":1462
 *                  for line in source_file]
 *         finally:
 *             if hasattr(source_file, 'close'):             # <<<<<<<<<<<<<<
 *                 source_file.close()
 *         if not F: F.append(u'')
 */
      }
      goto __pyx_L13;
    }
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __pyx_L12_error:;
      __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0;
      __Pyx_PyThreadState_assign
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_2);
      __Pyx_XGOTREF(__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_16);
      __Pyx_XGOTREF(__pyx_t_17);
      __Pyx_XGOTREF(__pyx_t_18);
      __pyx_t_6 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
      {
        __pyx_t_13 = PyObject_HasAttr(__pyx_v_source_file, __pyx_n_s_close); if (unlikely(__pyx_t_13 == -1)) __PYX_ERR(0, 1462, __pyx_L18_error)
        __pyx_t_12 = (__pyx_t_13 != 0);
        if (__pyx_t_12) {

          /* "Cython/Compiler/Code.py":1463
 *         finally:
 *             if hasattr(source_file, 'close'):
 *                 source_file.close()             # <<<<<<<<<<<<<<
 *         if not F: F.append(u'')
 *         self.input_file_contents[source_desc] = F
 */
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_file, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1463, __pyx_L18_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_10 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          if (__pyx_t_10) {
            __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1463, __pyx_L18_error)
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          } else {
            __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1463, __pyx_L18_error)
          }
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

          /* "Cython/Compiler/Code.py":1462
 *                  for line in source_file]
 *         finally:
 *             if hasattr(source_file, 'close'):             # <<<<<<<<<<<<<<
 *                 source_file.close()
 *         if not F: F.append(u'')
 */
        }
      }
      __Pyx_PyThreadState_assign
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_16);
        __Pyx_XGIVEREF(__pyx_t_17);
        __Pyx_XGIVEREF(__pyx_t_18);
        __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18);
      }
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_2);
      __Pyx_XGIVEREF(__pyx_t_1);
      __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1);
      __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0;
      __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
      goto __pyx_L1_error;
      __pyx_L18_error:;
      __Pyx_PyThreadState_assign
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_16);
        __Pyx_XGIVEREF(__pyx_t_17);
        __Pyx_XGIVEREF(__pyx_t_18);
        __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18);
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0;
      goto __pyx_L1_error;
    }
    __pyx_L13:;
  }

  /* "Cython/Compiler/Code.py":1464
 *             if hasattr(source_file, 'close'):
 *                 source_file.close()
 *         if not F: F.append(u'')             # <<<<<<<<<<<<<<
 *         self.input_file_contents[source_desc] = F
 *         return F
 */
  __pyx_t_12 = (__pyx_v_F != Py_None) && (PyList_GET_SIZE(__pyx_v_F) != 0);
  __pyx_t_13 = ((!__pyx_t_12) != 0);
  if (__pyx_t_13) {
    __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_F, __pyx_kp_u__8); if (unlikely(__pyx_t_19 == -1)) __PYX_ERR(0, 1464, __pyx_L1_error)
  }

  /* "Cython/Compiler/Code.py":1465
 *                 source_file.close()
 *         if not F: F.append(u'')
 *         self.input_file_contents[source_desc] = F             # <<<<<<<<<<<<<<
 *         return F
 * 
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_input_file_contents); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_source_desc, __pyx_v_F) < 0)) __PYX_ERR(0, 1465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":1466
 *         if not F: F.append(u'')
 *         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":1447
 *         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_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __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_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1472
 *     #
 * 
 *     def use_utility_code(self, utility_code):             # <<<<<<<<<<<<<<
 *         """
 *         Adds code to the C file. utility_code should
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_63use_utility_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11GlobalState_62use_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_63use_utility_code = {"use_utility_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_63use_utility_code, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11GlobalState_62use_utility_code};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_63use_utility_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_utility_code = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_utility_code (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_utility_code,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_utility_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("use_utility_code", 1, 2, 2, 1); __PYX_ERR(0, 1472, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "use_utility_code") < 0)) __PYX_ERR(0, 1472, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_utility_code = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("use_utility_code", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1472, __pyx_L3_error)
  __pyx_L3_error:;
  __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_62use_utility_code(__pyx_self, __pyx_v_self, __pyx_v_utility_code);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_62use_utility_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_utility_code) {
  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;
  __Pyx_RefNannySetupContext("use_utility_code", 0);

  /* "Cython/Compiler/Code.py":1481
 *         See UtilityCode.
 *         """
 *         if utility_code not in self.utility_codes:             # <<<<<<<<<<<<<<
 *             self.utility_codes.add(utility_code)
 *             utility_code.put_code(self)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_utility_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_utility_code, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1482
 *         """
 *         if utility_code not in self.utility_codes:
 *             self.utility_codes.add(utility_code)             # <<<<<<<<<<<<<<
 *             utility_code.put_code(self)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_utility_codes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_add); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_utility_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_utility_code};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_utility_code};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1482, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_v_utility_code);
        __Pyx_GIVEREF(__pyx_v_utility_code);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_utility_code);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __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":1483
 *         if utility_code not in self.utility_codes:
 *             self.utility_codes.add(utility_code)
 *             utility_code.put_code(self)             # <<<<<<<<<<<<<<
 * 
 *     def use_entry_utility_code(self, entry):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_utility_code, __pyx_n_s_put_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_self};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1483, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_self};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1483, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1483, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_self);
        __Pyx_GIVEREF(__pyx_v_self);
        PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_self);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1483, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1481
 *         See UtilityCode.
 *         """
 *         if utility_code not in self.utility_codes:             # <<<<<<<<<<<<<<
 *             self.utility_codes.add(utility_code)
 *             utility_code.put_code(self)
 */
  }

  /* "Cython/Compiler/Code.py":1472
 *     #
 * 
 *     def use_utility_code(self, utility_code):             # <<<<<<<<<<<<<<
 *         """
 *         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_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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":1485
 *             utility_code.put_code(self)
 * 
 *     def use_entry_utility_code(self, entry):             # <<<<<<<<<<<<<<
 *         if entry is None:
 *             return
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_65use_entry_utility_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_65use_entry_utility_code = {"use_entry_utility_code", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_65use_entry_utility_code, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11GlobalState_65use_entry_utility_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_entry_utility_code (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("use_entry_utility_code", 1, 2, 2, 1); __PYX_ERR(0, 1485, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "use_entry_utility_code") < 0)) __PYX_ERR(0, 1485, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("use_entry_utility_code", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1485, __pyx_L3_error)
  __pyx_L3_error:;
  __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_64use_entry_utility_code(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11GlobalState_64use_entry_utility_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry) {
  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;
  __Pyx_RefNannySetupContext("use_entry_utility_code", 0);

  /* "Cython/Compiler/Code.py":1486
 * 
 *     def use_entry_utility_code(self, entry):
 *         if entry is None:             # <<<<<<<<<<<<<<
 *             return
 *         if entry.utility_code:
 */
  __pyx_t_1 = (__pyx_v_entry == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1487
 *     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":1486
 * 
 *     def use_entry_utility_code(self, entry):
 *         if entry is None:             # <<<<<<<<<<<<<<
 *             return
 *         if entry.utility_code:
 */
  }

  /* "Cython/Compiler/Code.py":1488
 *         if entry is None:
 *             return
 *         if entry.utility_code:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_utility_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1488, __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, 1488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1489
 *             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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_utility_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1489, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1489, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1489, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1489, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1489, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1488
 *         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":1490
 *         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_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_utility_code_definition); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1490, __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, 1490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1491
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:
 *             self.use_utility_code(entry.utility_code_definition)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_utility_code_definition); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1491, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_7);
        __pyx_t_7 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1490
 *         if entry.utility_code:
 *             self.use_utility_code(entry.utility_code)
 *         if entry.utility_code_definition:             # <<<<<<<<<<<<<<
 *             self.use_utility_code(entry.utility_code_definition)
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1485
 *             utility_code.put_code(self)
 * 
 *     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_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.GlobalState.use_entry_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":1494
 * 
 * 
 * def funccontext_property(name):             # <<<<<<<<<<<<<<
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_5funccontext_property(PyObject *__pyx_self, PyObject *__pyx_v_name); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_5funccontext_property = {"funccontext_property", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_5funccontext_property, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_5funccontext_property(PyObject *__pyx_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("funccontext_property (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_4funccontext_property(__pyx_self, ((PyObject *)__pyx_v_name));

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

/* "Cython/Compiler/Code.py":1496
 * def funccontext_property(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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get (wrapper)", 0);
  __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_4_funccontext_property *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_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;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("get", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "Cython/Compiler/Code.py":1497
 *     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);
  if (unlikely(!__pyx_cur_scope->__pyx_v_attribute_of)) { __Pyx_RaiseClosureNameError("attribute_of"); __PYX_ERR(0, 1497, __pyx_L1_error) }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_attribute_of);
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_attribute_of; __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1497, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1497, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1497, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1497, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1497, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 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":1496
 * def funccontext_property(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_XDECREF(__pyx_t_5);
  __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":1498
 *     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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20funccontext_property_3set = {"set", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_3set, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20funccontext_property_3set(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, 1); __PYX_ERR(0, 1498, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set") < 0)) __PYX_ERR(0, 1498, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1498, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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_4_funccontext_property *__pyx_cur_scope;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_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;
  __Pyx_RefNannySetupContext("set", 0);
  __pyx_outer_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "Cython/Compiler/Code.py":1499
 *         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_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely(!__pyx_cur_scope->__pyx_v_name)) { __Pyx_RaiseClosureNameError("name"); __PYX_ERR(0, 1499, __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 == -1)) __PYX_ERR(0, 1499, __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":1498
 *     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":1494
 * 
 * 
 * def funccontext_property(name):             # <<<<<<<<<<<<<<
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_4funccontext_property(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("funccontext_property", 0);
  __pyx_cur_scope = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *)__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property(__pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1494, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_name = __pyx_v_name;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_name);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_name);

  /* "Cython/Compiler/Code.py":1495
 * 
 * def funccontext_property(name):
 *     attribute_of = operator.attrgetter(name)             # <<<<<<<<<<<<<<
 *     def get(self):
 *         return attribute_of(self.funcstate)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_operator, __pyx_n_s_attrgetter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_cur_scope->__pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_name};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1495, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_name};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1495, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_cur_scope->__pyx_v_name);
      __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_name);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_cur_scope->__pyx_v_name);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_attribute_of = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1496
 * def funccontext_property(name):
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):             # <<<<<<<<<<<<<<
 *         return attribute_of(self.funcstate)
 *     def set(self, value):
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_20funccontext_property_1get, 0, __pyx_n_s_funccontext_property_locals_get, ((PyObject*)__pyx_cur_scope), __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_get = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1498
 *     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_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_20funccontext_property_3set, 0, __pyx_n_s_funccontext_property_locals_set, ((PyObject*)__pyx_cur_scope), __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__106)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_set = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1500
 *     def set(self, value):
 *         setattr(self.funcstate, name, value)
 *     return property(get, set)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_get);
  __Pyx_GIVEREF(__pyx_v_get);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_get);
  __Pyx_INCREF(__pyx_v_set);
  __Pyx_GIVEREF(__pyx_v_set);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_set);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1500, __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":1494
 * 
 * 
 * def funccontext_property(name):             # <<<<<<<<<<<<<<
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
 */

  /* 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", __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":1508
 *     # 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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeConfig_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeConfig_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeConfig_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  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;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_emit_linenums,&__pyx_n_s_emit_code_comments,&__pyx_n_s_c_line_in_traceback,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)((PyObject *)Py_True));
    values[2] = ((PyObject *)((PyObject *)Py_True));
    values[3] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_emit_linenums);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_emit_code_comments);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_c_line_in_traceback);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1508, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __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_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1508, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":1509
 * 
 *     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_n_s_emit_code_comments, __pyx_v_emit_code_comments) < 0) __PYX_ERR(0, 1509, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1510
 *     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_n_s_emit_linenums, __pyx_v_emit_linenums) < 0) __PYX_ERR(0, 1510, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1511
 *         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_n_s_c_line_in_traceback, __pyx_v_c_line_in_traceback) < 0) __PYX_ERR(0, 1511, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1508
 *     # 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":1547
 *     globalstate = code_config = None
 * 
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):             # <<<<<<<<<<<<<<
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_create_from = 0;
  PyObject *__pyx_v_buffer = 0;
  PyObject *__pyx_v_copy_formatting = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_create_from,&__pyx_n_s_buffer,&__pyx_n_s_copy_formatting,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    values[2] = ((PyObject *)((PyObject *)Py_None));
    values[3] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_create_from);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buffer);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_copy_formatting);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1547, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_create_from = values[1];
    __pyx_v_buffer = values[2];
    __pyx_v_copy_formatting = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1547, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter___init__(__pyx_self, __pyx_v_self, __pyx_v_create_from, __pyx_v_buffer, __pyx_v_copy_formatting);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_create_from, PyObject *__pyx_v_buffer, PyObject *__pyx_v_copy_formatting) {
  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;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_INCREF(__pyx_v_buffer);

  /* "Cython/Compiler/Code.py":1548
 * 
 *     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);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {
    __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_StringIOTree);
    __pyx_t_4 = __pyx_v_6Cython_8Compiler_4Code_StringIOTree; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1548, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1548, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_buffer, __pyx_t_3);
    __pyx_t_3 = 0;
  }

  /* "Cython/Compiler/Code.py":1549
 *     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
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_buffer, __pyx_v_buffer) < 0) __PYX_ERR(0, 1549, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1550
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer
 *         self.last_pos = None             # <<<<<<<<<<<<<<
 *         self.last_marked_pos = None
 *         self.pyclass_stack = []
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_last_pos, Py_None) < 0) __PYX_ERR(0, 1550, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1551
 *         self.buffer = buffer
 *         self.last_pos = None
 *         self.last_marked_pos = None             # <<<<<<<<<<<<<<
 *         self.pyclass_stack = []
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos, Py_None) < 0) __PYX_ERR(0, 1551, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1552
 *         self.last_pos = None
 *         self.last_marked_pos = None
 *         self.pyclass_stack = []             # <<<<<<<<<<<<<<
 * 
 *         self.funcstate = None
 */
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pyclass_stack, __pyx_t_3) < 0) __PYX_ERR(0, 1552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1554
 *         self.pyclass_stack = []
 * 
 *         self.funcstate = None             # <<<<<<<<<<<<<<
 *         self.level = 0
 *         self.call_level = 0
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_funcstate, Py_None) < 0) __PYX_ERR(0, 1554, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1555
 * 
 *         self.funcstate = None
 *         self.level = 0             # <<<<<<<<<<<<<<
 *         self.call_level = 0
 *         self.bol = 1
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_int_0) < 0) __PYX_ERR(0, 1555, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1556
 *         self.funcstate = None
 *         self.level = 0
 *         self.call_level = 0             # <<<<<<<<<<<<<<
 *         self.bol = 1
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_call_level, __pyx_int_0) < 0) __PYX_ERR(0, 1556, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1557
 *         self.level = 0
 *         self.call_level = 0
 *         self.bol = 1             # <<<<<<<<<<<<<<
 * 
 *         if create_from is not None:
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_bol, __pyx_int_1) < 0) __PYX_ERR(0, 1557, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1559
 *         self.bol = 1
 * 
 *         if create_from is not None:             # <<<<<<<<<<<<<<
 *             # Use same global state
 *             self.set_global_state(create_from.globalstate)
 */
  __pyx_t_2 = (__pyx_v_create_from != Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1561
 *         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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_global_state); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_from, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1561, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1561, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1561, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1561, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1561, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1562
 *             # Use same global state
 *             self.set_global_state(create_from.globalstate)
 *             self.funcstate = create_from.funcstate             # <<<<<<<<<<<<<<
 *             # Clone formatting state
 *             if copy_formatting:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_from, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_funcstate, __pyx_t_3) < 0) __PYX_ERR(0, 1562, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1564
 *             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, 1564, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":1565
 *             # 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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_from, __pyx_n_s_level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1565, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_3) < 0) __PYX_ERR(0, 1565, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":1566
 *             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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_from, __pyx_n_s_bol); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_bol, __pyx_t_3) < 0) __PYX_ERR(0, 1566, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":1567
 *                 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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_from, __pyx_n_s_call_level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_call_level, __pyx_t_3) < 0) __PYX_ERR(0, 1567, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "Cython/Compiler/Code.py":1564
 *             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":1568
 *                 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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_from, __pyx_n_s_last_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_last_pos, __pyx_t_3) < 0) __PYX_ERR(0, 1568, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1569
 *                 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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_create_from, __pyx_n_s_last_marked_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos, __pyx_t_3) < 0) __PYX_ERR(0, 1569, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1559
 *         self.bol = 1
 * 
 *         if create_from is not None:             # <<<<<<<<<<<<<<
 *             # Use same global state
 *             self.set_global_state(create_from.globalstate)
 */
  }

  /* "Cython/Compiler/Code.py":1547
 *     globalstate = code_config = None
 * 
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):             # <<<<<<<<<<<<<<
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer
 */

  /* 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.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_buffer);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1571
 *             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_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_3create_new = {"create_new", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_3create_new, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_3create_new(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_create_from = 0;
  PyObject *__pyx_v_buffer = 0;
  PyObject *__pyx_v_copy_formatting = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_new (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_create_from,&__pyx_n_s_buffer,&__pyx_n_s_copy_formatting,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_create_from)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_new", 1, 4, 4, 1); __PYX_ERR(0, 1571, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buffer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_new", 1, 4, 4, 2); __PYX_ERR(0, 1571, __pyx_L3_error)
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_copy_formatting)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_new", 1, 4, 4, 3); __PYX_ERR(0, 1571, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_new") < 0)) __PYX_ERR(0, 1571, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_self = values[0];
    __pyx_v_create_from = values[1];
    __pyx_v_buffer = values[2];
    __pyx_v_copy_formatting = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_new", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1571, __pyx_L3_error)
  __pyx_L3_error:;
  __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(__pyx_self, __pyx_v_self, __pyx_v_create_from, __pyx_v_buffer, __pyx_v_copy_formatting);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_2create_new(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_create_from, PyObject *__pyx_v_buffer, PyObject *__pyx_v_copy_formatting) {
  PyObject *__pyx_v_result = 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;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("create_new", 0);

  /* "Cython/Compiler/Code.py":1574
 *         # polymorphic constructor -- very slightly more versatile
 *         # than using __class__
 *         result = CCodeWriter(create_from, buffer, copy_formatting)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_CCodeWriter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_create_from, __pyx_v_buffer, __pyx_v_copy_formatting};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1574, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_create_from, __pyx_v_buffer, __pyx_v_copy_formatting};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1574, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_v_create_from);
    __Pyx_GIVEREF(__pyx_v_create_from);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_create_from);
    __Pyx_INCREF(__pyx_v_buffer);
    __Pyx_GIVEREF(__pyx_v_buffer);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_buffer);
    __Pyx_INCREF(__pyx_v_copy_formatting);
    __Pyx_GIVEREF(__pyx_v_copy_formatting);
    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_copy_formatting);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1575
 *         # 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(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1571
 *             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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.create_new", __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":1577
 *         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_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*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_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_global_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_global_state (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_global_state,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_global_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_global_state", 1, 2, 2, 1); __PYX_ERR(0, 1577, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_global_state") < 0)) __PYX_ERR(0, 1577, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_global_state = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_global_state", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1577, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_global_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_4set_global_state(__pyx_self, __pyx_v_self, __pyx_v_global_state);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_4set_global_state(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_global_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("set_global_state", 0);

  /* "Cython/Compiler/Code.py":1578
 * 
 *     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(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1578, __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 != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 1578, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":1579
 *     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
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_globalstate, __pyx_v_global_state) < 0) __PYX_ERR(0, 1579, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1580
 *         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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_global_state, __pyx_n_s_code_config); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_code_config, __pyx_t_1) < 0) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1577
 *         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_1);
  __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":1582
 *         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_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_7copyto = {"copyto", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_7copyto, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_7copyto(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_f = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copyto (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_f,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_f)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("copyto", 1, 2, 2, 1); __PYX_ERR(0, 1582, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "copyto") < 0)) __PYX_ERR(0, 1582, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_f = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("copyto", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1582, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.copyto", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6copyto(__pyx_self, __pyx_v_self, __pyx_v_f);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_6copyto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_f) {
  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;
  __Pyx_RefNannySetupContext("copyto", 0);

  /* "Cython/Compiler/Code.py":1583
 * 
 *     def copyto(self, f):
 *         self.buffer.copyto(f)             # <<<<<<<<<<<<<<
 * 
 *     def getvalue(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_copyto); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1583, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1583, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1583, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_f);
      __Pyx_GIVEREF(__pyx_v_f);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_f);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1583, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1582
 *         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_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1585
 *         self.buffer.copyto(f)
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.getvalue()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue = {"getvalue", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getvalue (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_8getvalue(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_8getvalue(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;
  __Pyx_RefNannySetupContext("getvalue", 0);

  /* "Cython/Compiler/Code.py":1586
 * 
 *     def getvalue(self):
 *         return self.buffer.getvalue()             # <<<<<<<<<<<<<<
 * 
 *     def write(self, s):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getvalue); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1586, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1586, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __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":1585
 *         self.buffer.copyto(f)
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.getvalue()
 * 
 */

  /* 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.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":1588
 *         return self.buffer.getvalue()
 * 
 *     def write(self, s):             # <<<<<<<<<<<<<<
 *         # also put invalid markers (lineno 0), to indicate that those lines
 *         # have no Cython source code correspondence
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_11write = {"write", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_11write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_s_4,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_s_4)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 1588, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 1588, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_s = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1588, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10write(__pyx_self, __pyx_v_self, __pyx_v_s);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_10write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_v_cython_lineno = 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;
  __Pyx_RefNannySetupContext("write", 0);

  /* "Cython/Compiler/Code.py":1591
 *         # also put invalid markers (lineno 0), to indicate that those lines
 *         # have no Cython source code correspondence
 *         cython_lineno = self.last_marked_pos[1] if self.last_marked_pos else 0             # <<<<<<<<<<<<<<
 *         self.buffer.markers.extend([cython_lineno] * s.count('\n'))
 *         self.buffer.write(s)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1591, __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, 1591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_int_0);
    __pyx_t_1 = __pyx_int_0;
  }
  __pyx_v_cython_lineno = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1592
 *         # have no Cython source code correspondence
 *         cython_lineno = self.last_marked_pos[1] if self.last_marked_pos else 0
 *         self.buffer.markers.extend([cython_lineno] * s.count('\n'))             # <<<<<<<<<<<<<<
 *         self.buffer.write(s)
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_markers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_extend); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_s, __pyx_n_s_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__107, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_cython_lineno);
  __Pyx_GIVEREF(__pyx_v_cython_lineno);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_v_cython_lineno);
  { PyObject* __pyx_temp = PyNumber_InPlaceMultiply(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_temp)) __PYX_ERR(0, 1592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_temp);
    __Pyx_DECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_temp;
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1592, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1592, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1592, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1593
 *         cython_lineno = self.last_marked_pos[1] if self.last_marked_pos else 0
 *         self.buffer.markers.extend([cython_lineno] * s.count('\n'))
 *         self.buffer.write(s)             # <<<<<<<<<<<<<<
 * 
 *     def insertion_point(self):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_write); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_s};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1593, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_s};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1593, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1593, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_v_s);
      __Pyx_GIVEREF(__pyx_v_s);
      PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_s);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1593, __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_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1588
 *         return self.buffer.getvalue()
 * 
 *     def write(self, s):             # <<<<<<<<<<<<<<
 *         # also put invalid markers (lineno 0), to indicate that those lines
 *         # have no Cython source code correspondence
 */

  /* 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.CCodeWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cython_lineno);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1595
 *         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_13insertion_point(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_13insertion_point = {"insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13insertion_point, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_13insertion_point(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("insertion_point (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_12insertion_point(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_12insertion_point(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("insertion_point", 0);

  /* "Cython/Compiler/Code.py":1596
 * 
 *     def insertion_point(self):
 *         other = self.create_new(create_from=self, buffer=self.buffer.insertion_point(), copy_formatting=True)             # <<<<<<<<<<<<<<
 *         return other
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_create_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_create_from, __pyx_v_self) < 0) __PYX_ERR(0, 1596, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_insertion_point); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (__pyx_t_4) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1596, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1596, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_t_3) < 0) __PYX_ERR(0, 1596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_copy_formatting, Py_True) < 0) __PYX_ERR(0, 1596, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1596, __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_v_other = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1597
 *     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":1595
 *         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_XDECREF(__pyx_t_5);
  __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":1599
 *         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_15new_writer(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_14new_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_15new_writer = {"new_writer", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_15new_writer, METH_O, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_14new_writer};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_15new_writer(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_writer (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_14new_writer(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_14new_writer(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;
  __Pyx_RefNannySetupContext("new_writer", 0);

  /* "Cython/Compiler/Code.py":1604
 *         can later be inserted using insert.
 *         """
 *         return CCodeWriter(create_from=self)             # <<<<<<<<<<<<<<
 * 
 *     def insert(self, writer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_CCodeWriter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_create_from, __pyx_v_self) < 0) __PYX_ERR(0, 1604, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1604, __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":1599
 *         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_3);
  __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":1606
 *         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_17insert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_16insert[] = "\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_17insert = {"insert", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_17insert, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_16insert};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_17insert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_writer = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("insert (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_writer,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_writer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("insert", 1, 2, 2, 1); __PYX_ERR(0, 1606, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "insert") < 0)) __PYX_ERR(0, 1606, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_writer = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("insert", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1606, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_16insert(__pyx_self, __pyx_v_self, __pyx_v_writer);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_16insert(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_writer) {
  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;
  __Pyx_RefNannySetupContext("insert", 0);

  /* "Cython/Compiler/Code.py":1613
 *         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(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = (__pyx_t_1 == __pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!(__pyx_t_3 != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 1613, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":1614
 *         """
 *         assert writer.globalstate is self.globalstate
 *         self.buffer.insert(writer.buffer)             # <<<<<<<<<<<<<<
 * 
 *     # Properties delegated to function scope
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_insert); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_writer, __pyx_n_s_buffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_5) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1614, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1614, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1614, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1614, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1614, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1606
 *         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_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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":1627
 * 
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)             # <<<<<<<<<<<<<<
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_19new_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_19new_label = {"new_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_19new_label, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_19new_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_label (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "new_label") < 0)) __PYX_ERR(0, 1627, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_name = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("new_label", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1627, __pyx_L3_error)
  __pyx_L3_error:;
  __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_18new_label(__pyx_self, __pyx_v_self, __pyx_v_name);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_18new_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  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;
  __Pyx_RefNannySetupContext("new_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_new_label); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_name};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1627, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_name};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1627, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1627, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_name);
      __Pyx_GIVEREF(__pyx_v_name);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_name);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1627, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1628
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self):         return self.funcstate.new_error_label()             # <<<<<<<<<<<<<<
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_21new_error_label(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_21new_error_label = {"new_error_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_21new_error_label, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_21new_error_label(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_error_label (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_20new_error_label(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_20new_error_label(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;
  __Pyx_RefNannySetupContext("new_error_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_new_error_label); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1628, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1628, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __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":1629
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()             # <<<<<<<<<<<<<<
 *     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_23new_yield_label(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_23new_yield_label = {"new_yield_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_23new_yield_label, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_23new_yield_label(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_yield_label (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_22new_yield_label(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_22new_yield_label(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;
  __Pyx_RefNannySetupContext("new_yield_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_new_yield_label); 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 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1629, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1629, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __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":1630
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     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):         return self.funcstate.new_loop_labels()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_25get_loop_labels(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_25get_loop_labels = {"get_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_25get_loop_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_25get_loop_labels(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_loop_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_24get_loop_labels(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_24get_loop_labels(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;
  __Pyx_RefNannySetupContext("get_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_loop_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1630, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1630, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __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":1631
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     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):         return self.funcstate.new_loop_labels()
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_27set_loop_labels(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_27set_loop_labels = {"set_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_27set_loop_labels, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_27set_loop_labels(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_labels = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_loop_labels (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_labels,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_labels)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_loop_labels", 1, 2, 2, 1); __PYX_ERR(0, 1631, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_loop_labels") < 0)) __PYX_ERR(0, 1631, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_labels = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_loop_labels", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1631, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_loop_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_26set_loop_labels(__pyx_self, __pyx_v_self, __pyx_v_labels);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_26set_loop_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  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;
  __Pyx_RefNannySetupContext("set_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_set_loop_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_labels};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1631, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_labels};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1631, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_labels);
      __Pyx_GIVEREF(__pyx_v_labels);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_labels);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1632
 *     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):         return self.funcstate.new_loop_labels()             # <<<<<<<<<<<<<<
 *     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_29new_loop_labels(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_29new_loop_labels = {"new_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_29new_loop_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_29new_loop_labels(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("new_loop_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_28new_loop_labels(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_28new_loop_labels(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;
  __Pyx_RefNannySetupContext("new_loop_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_new_loop_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1632, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1632, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __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":1633
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self):         return self.funcstate.new_loop_labels()
 *     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_31get_all_labels(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_31get_all_labels = {"get_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_31get_all_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_31get_all_labels(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_all_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_30get_all_labels(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_30get_all_labels(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;
  __Pyx_RefNannySetupContext("get_all_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_all_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1633, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1633, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __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":1634
 *     def new_loop_labels(self):         return self.funcstate.new_loop_labels()
 *     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_33set_all_labels(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_33set_all_labels = {"set_all_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_33set_all_labels, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_33set_all_labels(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_labels = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_all_labels (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_labels,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_labels)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_all_labels", 1, 2, 2, 1); __PYX_ERR(0, 1634, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_all_labels") < 0)) __PYX_ERR(0, 1634, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_labels = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_all_labels", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1634, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.set_all_labels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_32set_all_labels(__pyx_self, __pyx_v_self, __pyx_v_labels);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_32set_all_labels(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_labels) {
  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;
  __Pyx_RefNannySetupContext("set_all_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_set_all_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_labels};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1634, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_labels};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1634, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1634, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_labels);
      __Pyx_GIVEREF(__pyx_v_labels);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_labels);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1634, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1635
 *     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_35all_new_labels(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_35all_new_labels = {"all_new_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_35all_new_labels, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_35all_new_labels(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_new_labels (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_34all_new_labels(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_34all_new_labels(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;
  __Pyx_RefNannySetupContext("all_new_labels", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_all_new_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1635, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1635, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __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":1636
 *     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_37use_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_37use_label = {"use_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_37use_label, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_37use_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_lbl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("use_label (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_lbl,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lbl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("use_label", 1, 2, 2, 1); __PYX_ERR(0, 1636, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "use_label") < 0)) __PYX_ERR(0, 1636, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_lbl = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("use_label", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1636, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.use_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_36use_label(__pyx_self, __pyx_v_self, __pyx_v_lbl);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_36use_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  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;
  __Pyx_RefNannySetupContext("use_label", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_use_label); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_lbl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1636, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1636, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1636, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_lbl);
      __Pyx_GIVEREF(__pyx_v_lbl);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_lbl);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1636, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1637
 *     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_39label_used(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_39label_used = {"label_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_39label_used, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_39label_used(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_lbl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("label_used (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_lbl,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lbl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("label_used", 1, 2, 2, 1); __PYX_ERR(0, 1637, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "label_used") < 0)) __PYX_ERR(0, 1637, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_lbl = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("label_used", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1637, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.label_used", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_38label_used(__pyx_self, __pyx_v_self, __pyx_v_lbl);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_38label_used(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  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;
  __Pyx_RefNannySetupContext("label_used", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_label_used); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_lbl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1637, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1637, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_lbl);
      __Pyx_GIVEREF(__pyx_v_lbl);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_lbl);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1640
 * 
 * 
 *     def enter_cfunc_scope(self, scope=None):             # <<<<<<<<<<<<<<
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_41enter_cfunc_scope(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_41enter_cfunc_scope = {"enter_cfunc_scope", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_41enter_cfunc_scope, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_41enter_cfunc_scope(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_scope = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enter_cfunc_scope (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_scope,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_scope);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "enter_cfunc_scope") < 0)) __PYX_ERR(0, 1640, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_scope = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("enter_cfunc_scope", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1640, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.enter_cfunc_scope", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_40enter_cfunc_scope(__pyx_self, __pyx_v_self, __pyx_v_scope);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_40enter_cfunc_scope(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  __Pyx_RefNannySetupContext("enter_cfunc_scope", 0);

  /* "Cython/Compiler/Code.py":1641
 * 
 *     def enter_cfunc_scope(self, scope=None):
 *         self.funcstate = FunctionState(self, scope=scope)             # <<<<<<<<<<<<<<
 * 
 *     def exit_cfunc_scope(self):
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self);
  __Pyx_GIVEREF(__pyx_v_self);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self);
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_scope, __pyx_v_scope) < 0) __PYX_ERR(0, 1641, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState), __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1641, __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;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_funcstate, __pyx_t_3) < 0) __PYX_ERR(0, 1641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1640
 * 
 * 
 *     def enter_cfunc_scope(self, scope=None):             # <<<<<<<<<<<<<<
 *         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_3);
  __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":1643
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 *     def exit_cfunc_scope(self):             # <<<<<<<<<<<<<<
 *         self.funcstate = None
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_43exit_cfunc_scope(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_43exit_cfunc_scope = {"exit_cfunc_scope", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_43exit_cfunc_scope, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_43exit_cfunc_scope(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("exit_cfunc_scope (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_42exit_cfunc_scope(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_42exit_cfunc_scope(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("exit_cfunc_scope", 0);

  /* "Cython/Compiler/Code.py":1644
 * 
 *     def exit_cfunc_scope(self):
 *         self.funcstate = None             # <<<<<<<<<<<<<<
 * 
 *     # constant handling
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_funcstate, Py_None) < 0) __PYX_ERR(0, 1644, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1643
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 *     def exit_cfunc_scope(self):             # <<<<<<<<<<<<<<
 *         self.funcstate = None
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __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":1648
 *     # constant handling
 * 
 *     def get_py_int(self, str_value, longness):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_int_const(str_value, longness).cname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_45get_py_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_45get_py_int = {"get_py_int", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_45get_py_int, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_45get_py_int(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_str_value = 0;
  PyObject *__pyx_v_longness = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_int (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_str_value,&__pyx_n_s_longness,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_str_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_int", 1, 3, 3, 1); __PYX_ERR(0, 1648, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_longness)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_int", 1, 3, 3, 2); __PYX_ERR(0, 1648, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_int") < 0)) __PYX_ERR(0, 1648, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_str_value = values[1];
    __pyx_v_longness = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_int", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1648, __pyx_L3_error)
  __pyx_L3_error:;
  __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_44get_py_int(__pyx_self, __pyx_v_self, __pyx_v_str_value, __pyx_v_longness);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_44get_py_int(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("get_py_int", 0);

  /* "Cython/Compiler/Code.py":1649
 * 
 *     def get_py_int(self, str_value, longness):
 *         return self.globalstate.get_int_const(str_value, longness).cname             # <<<<<<<<<<<<<<
 * 
 *     def get_py_float(self, str_value, value_code):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_int_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_str_value, __pyx_v_longness};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1649, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_str_value, __pyx_v_longness};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1649, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_v_str_value);
    __Pyx_GIVEREF(__pyx_v_str_value);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_str_value);
    __Pyx_INCREF(__pyx_v_longness);
    __Pyx_GIVEREF(__pyx_v_longness);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_longness);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1649, __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":1648
 *     # constant handling
 * 
 *     def get_py_int(self, str_value, longness):             # <<<<<<<<<<<<<<
 *         return 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_5);
  __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":1651
 *         return self.globalstate.get_int_const(str_value, longness).cname
 * 
 *     def get_py_float(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_float_const(str_value, value_code).cname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_47get_py_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_47get_py_float = {"get_py_float", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_47get_py_float, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_47get_py_float(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_str_value = 0;
  PyObject *__pyx_v_value_code = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_float (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_str_value,&__pyx_n_s_value_code,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_str_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_float", 1, 3, 3, 1); __PYX_ERR(0, 1651, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_float", 1, 3, 3, 2); __PYX_ERR(0, 1651, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_float") < 0)) __PYX_ERR(0, 1651, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_str_value = values[1];
    __pyx_v_value_code = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_float", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1651, __pyx_L3_error)
  __pyx_L3_error:;
  __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_46get_py_float(__pyx_self, __pyx_v_self, __pyx_v_str_value, __pyx_v_value_code);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_46get_py_float(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("get_py_float", 0);

  /* "Cython/Compiler/Code.py":1652
 * 
 *     def get_py_float(self, str_value, value_code):
 *         return self.globalstate.get_float_const(str_value, value_code).cname             # <<<<<<<<<<<<<<
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_float_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_str_value, __pyx_v_value_code};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1652, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_str_value, __pyx_v_value_code};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1652, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_v_str_value);
    __Pyx_GIVEREF(__pyx_v_str_value);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_str_value);
    __Pyx_INCREF(__pyx_v_value_code);
    __Pyx_GIVEREF(__pyx_v_value_code);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_value_code);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1652, __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":1651
 *         return self.globalstate.get_int_const(str_value, longness).cname
 * 
 *     def get_py_float(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         return 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_5);
  __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":1654
 *         return self.globalstate.get_float_const(str_value, value_code).cname
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_49get_py_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_49get_py_const = {"get_py_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_49get_py_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_49get_py_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_prefix = 0;
  PyObject *__pyx_v_cleanup_level = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type,&__pyx_n_s_prefix,&__pyx_n_s_cleanup_level,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)((PyObject*)__pyx_kp_s__8));
    values[3] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 2, 4, 1); __PYX_ERR(0, 1654, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_prefix);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cleanup_level);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_const") < 0)) __PYX_ERR(0, 1654, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_type = values[1];
    __pyx_v_prefix = values[2];
    __pyx_v_cleanup_level = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_const", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1654, __pyx_L3_error)
  __pyx_L3_error:;
  __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_48get_py_const(__pyx_self, __pyx_v_self, __pyx_v_type, __pyx_v_prefix, __pyx_v_cleanup_level);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_48get_py_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_prefix, PyObject *__pyx_v_cleanup_level) {
  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;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("get_py_const", 0);

  /* "Cython/Compiler/Code.py":1655
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname             # <<<<<<<<<<<<<<
 * 
 *     def get_string_const(self, text):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_py_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_type, __pyx_v_prefix, __pyx_v_cleanup_level};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1655, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_type, __pyx_v_prefix, __pyx_v_cleanup_level};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1655, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_prefix);
    __Pyx_GIVEREF(__pyx_v_prefix);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_prefix);
    __Pyx_INCREF(__pyx_v_cleanup_level);
    __Pyx_GIVEREF(__pyx_v_cleanup_level);
    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_cleanup_level);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1655, __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":1654
 *         return self.globalstate.get_float_const(str_value, value_code).cname
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).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_5);
  __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":1657
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname
 * 
 *     def get_string_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_string_const(text).cname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_51get_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_51get_string_const = {"get_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_51get_string_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_51get_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_string_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_string_const", 1, 2, 2, 1); __PYX_ERR(0, 1657, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_string_const") < 0)) __PYX_ERR(0, 1657, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_string_const", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1657, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.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_11CCodeWriter_50get_string_const(__pyx_self, __pyx_v_self, __pyx_v_text);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_50get_string_const(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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("get_string_const", 0);

  /* "Cython/Compiler/Code.py":1658
 * 
 *     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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_string_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1658, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1658, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_text);
      __Pyx_GIVEREF(__pyx_v_text);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_text);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1658, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1658, __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":1657
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname
 * 
 *     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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1660
 *         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_53get_pyunicode_ptr_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_53get_pyunicode_ptr_const = {"get_pyunicode_ptr_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_53get_pyunicode_ptr_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_53get_pyunicode_ptr_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_pyunicode_ptr_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_pyunicode_ptr_const", 1, 2, 2, 1); __PYX_ERR(0, 1660, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_pyunicode_ptr_const") < 0)) __PYX_ERR(0, 1660, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_pyunicode_ptr_const", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1660, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.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_11CCodeWriter_52get_pyunicode_ptr_const(__pyx_self, __pyx_v_self, __pyx_v_text);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_52get_pyunicode_ptr_const(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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("get_pyunicode_ptr_const", 0);

  /* "Cython/Compiler/Code.py":1661
 * 
 *     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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_pyunicode_ptr_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1661, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1661, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1661, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_text);
      __Pyx_GIVEREF(__pyx_v_text);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_text);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1661, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 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":1660
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1663
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         return self.globalstate.get_py_string_const(
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_55get_py_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_55get_py_string_const = {"get_py_string_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_55get_py_string_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_55get_py_string_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_identifier = 0;
  PyObject *__pyx_v_is_str = 0;
  PyObject *__pyx_v_unicode_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_string_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,&__pyx_n_s_identifier,&__pyx_n_s_is_str,&__pyx_n_s_unicode_value,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));

    /* "Cython/Compiler/Code.py":1664
 * 
 *     def get_py_string_const(self, text, identifier=None,
 *                             is_str=False, unicode_value=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_string_const(
 *             text, identifier, is_str, unicode_value).cname
 */
    values[3] = ((PyObject *)((PyObject *)Py_False));
    values[4] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 2, 5, 1); __PYX_ERR(0, 1663, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_identifier);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_is_str);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_unicode_value);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_string_const") < 0)) __PYX_ERR(0, 1663, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
    __pyx_v_identifier = values[2];
    __pyx_v_is_str = values[3];
    __pyx_v_unicode_value = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_string_const", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1663, __pyx_L3_error)
  __pyx_L3_error:;
  __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_54get_py_string_const(__pyx_self, __pyx_v_self, __pyx_v_text, __pyx_v_identifier, __pyx_v_is_str, __pyx_v_unicode_value);

  /* "Cython/Compiler/Code.py":1663
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         return self.globalstate.get_py_string_const(
 */

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_54get_py_string_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_identifier, PyObject *__pyx_v_is_str, PyObject *__pyx_v_unicode_value) {
  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;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("get_py_string_const", 0);

  /* "Cython/Compiler/Code.py":1665
 *     def get_py_string_const(self, text, identifier=None,
 *                             is_str=False, unicode_value=None):
 *         return self.globalstate.get_py_string_const(             # <<<<<<<<<<<<<<
 *             text, identifier, is_str, unicode_value).cname
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_py_string_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1666
 *                             is_str=False, unicode_value=None):
 *         return self.globalstate.get_py_string_const(
 *             text, identifier, is_str, unicode_value).cname             # <<<<<<<<<<<<<<
 * 
 *     def get_argument_default_const(self, type):
 */
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_v_text, __pyx_v_identifier, __pyx_v_is_str, __pyx_v_unicode_value};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1665, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_v_text, __pyx_v_identifier, __pyx_v_is_str, __pyx_v_unicode_value};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1665, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_v_text);
    __Pyx_GIVEREF(__pyx_v_text);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_text);
    __Pyx_INCREF(__pyx_v_identifier);
    __Pyx_GIVEREF(__pyx_v_identifier);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_identifier);
    __Pyx_INCREF(__pyx_v_is_str);
    __Pyx_GIVEREF(__pyx_v_is_str);
    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_is_str);
    __Pyx_INCREF(__pyx_v_unicode_value);
    __Pyx_GIVEREF(__pyx_v_unicode_value);
    PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_unicode_value);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1666, __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":1663
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         return self.globalstate.get_py_string_const(
 */

  /* 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_AddTraceback("Cython.Compiler.Code.CCodeWriter.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.py":1668
 *             text, identifier, is_str, unicode_value).cname
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_const(type).cname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_57get_argument_default_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_57get_argument_default_const = {"get_argument_default_const", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_57get_argument_default_const, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_57get_argument_default_const(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_argument_default_const (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_argument_default_const", 1, 2, 2, 1); __PYX_ERR(0, 1668, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_argument_default_const") < 0)) __PYX_ERR(0, 1668, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_type = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_argument_default_const", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1668, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.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_11CCodeWriter_56get_argument_default_const(__pyx_self, __pyx_v_self, __pyx_v_type);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_56get_argument_default_const(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  __Pyx_RefNannySetupContext("get_argument_default_const", 0);

  /* "Cython/Compiler/Code.py":1669
 * 
 *     def get_argument_default_const(self, type):
 *         return self.globalstate.get_py_const(type).cname             # <<<<<<<<<<<<<<
 * 
 *     def intern(self, text):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_py_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_type};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1669, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_type};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1669, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_type);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1669, __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":1668
 *             text, identifier, is_str, unicode_value).cname
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_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":1671
 *         return self.globalstate.get_py_const(type).cname
 * 
 *     def intern(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_59intern(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_59intern = {"intern", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_59intern, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_59intern(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("intern (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("intern", 1, 2, 2, 1); __PYX_ERR(0, 1671, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "intern") < 0)) __PYX_ERR(0, 1671, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("intern", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1671, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.intern", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_58intern(__pyx_self, __pyx_v_self, __pyx_v_text);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_58intern(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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("intern", 0);

  /* "Cython/Compiler/Code.py":1672
 * 
 *     def intern(self, text):
 *         return self.get_py_string_const(text)             # <<<<<<<<<<<<<<
 * 
 *     def intern_identifier(self, text):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_py_string_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1672, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_text};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1672, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_text);
      __Pyx_GIVEREF(__pyx_v_text);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_text);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1671
 *         return self.globalstate.get_py_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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":1674
 *         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_61intern_identifier(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_61intern_identifier = {"intern_identifier", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_61intern_identifier, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_61intern_identifier(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("intern_identifier (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_text,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("intern_identifier", 1, 2, 2, 1); __PYX_ERR(0, 1674, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "intern_identifier") < 0)) __PYX_ERR(0, 1674, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_text = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("intern_identifier", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1674, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.intern_identifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_60intern_identifier(__pyx_self, __pyx_v_self, __pyx_v_text);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_60intern_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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("intern_identifier", 0);

  /* "Cython/Compiler/Code.py":1675
 * 
 *     def intern_identifier(self, text):
 *         return self.get_py_string_const(text, identifier=True)             # <<<<<<<<<<<<<<
 * 
 *     def get_cached_constants_writer(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_py_string_const); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_text);
  __Pyx_GIVEREF(__pyx_v_text);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_text);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_identifier, Py_True) < 0) __PYX_ERR(0, 1675, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1675, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":1674
 *         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_3);
  __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":1677
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_cached_constants_writer()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_63get_cached_constants_writer(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_63get_cached_constants_writer = {"get_cached_constants_writer", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_63get_cached_constants_writer, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_63get_cached_constants_writer(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_cached_constants_writer (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_62get_cached_constants_writer(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_62get_cached_constants_writer(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;
  __Pyx_RefNannySetupContext("get_cached_constants_writer", 0);

  /* "Cython/Compiler/Code.py":1678
 * 
 *     def get_cached_constants_writer(self):
 *         return self.globalstate.get_cached_constants_writer()             # <<<<<<<<<<<<<<
 * 
 *     # code generation
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_cached_constants_writer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1678, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1678, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __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":1677
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_cached_constants_writer()
 * 
 */

  /* 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.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":1682
 *     # code generation
 * 
 *     def putln(self, code="", safe=False):             # <<<<<<<<<<<<<<
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_65putln(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_65putln = {"putln", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_65putln, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_65putln(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code = 0;
  PyObject *__pyx_v_safe = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("putln (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_code,&__pyx_n_s_safe,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)((PyObject*)__pyx_kp_s__8));
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_safe);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "putln") < 0)) __PYX_ERR(0, 1682, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_code = values[1];
    __pyx_v_safe = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("putln", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1682, __pyx_L3_error)
  __pyx_L3_error:;
  __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_64putln(__pyx_self, __pyx_v_self, __pyx_v_code, __pyx_v_safe);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_64putln(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_safe) {
  PyObject *__pyx_v_source_desc = NULL;
  PyObject *__pyx_v_line = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = 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)(PyObject *);
  __Pyx_RefNannySetupContext("putln", 0);

  /* "Cython/Compiler/Code.py":1683
 * 
 *     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:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1683, __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, 1683, __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_self, __pyx_n_s_bol); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1683, __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, 1683, __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":1684
 *     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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_emit_marker); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1684, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1684, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1683
 * 
 *     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":1685
 *         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('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_code_config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_emit_linenums); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1686
 *             self.emit_marker()
 *         if self.code_config.emit_linenums and self.last_marked_pos:
 *             source_desc, line, _ = self.last_marked_pos             # <<<<<<<<<<<<<<
 *             self.write('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))
 *         if code:
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 3)) {
        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1686, __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_t_5 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); 
      } else {
        __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 2); 
      }
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      #else
      __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1686, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1686, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1686, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1686, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
      index = 0; __pyx_t_2 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_2)) goto __pyx_L9_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L9_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      index = 2; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 3) < 0) __PYX_ERR(0, 1686, __pyx_L1_error)
      __pyx_t_8 = NULL;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L10_unpacking_done;
      __pyx_L9_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, 1686, __pyx_L1_error)
      __pyx_L10_unpacking_done:;
    }
    __pyx_v_source_desc = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_v_line = __pyx_t_5;
    __pyx_t_5 = 0;
    __pyx_v__ = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":1687
 *         if self.code_config.emit_linenums and self.last_marked_pos:
 *             source_desc, line, _ = self.last_marked_pos
 *             self.write('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))             # <<<<<<<<<<<<<<
 *         if code:
 *             if safe:
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_desc, __pyx_n_s_get_escaped_description); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_7) {
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1687, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    } else {
      __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1687, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_line);
    __Pyx_GIVEREF(__pyx_v_line);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_line);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_line_s_s, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
      }
    }
    if (!__pyx_t_2) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1687, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1687, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1687, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1687, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1687, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1685
 *         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('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))
 */
  }

  /* "Cython/Compiler/Code.py":1688
 *             source_desc, line, _ = self.last_marked_pos
 *             self.write('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))
 *         if code:             # <<<<<<<<<<<<<<
 *             if safe:
 *                 self.put_safe(code)
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_code); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1688, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1689
 *             self.write('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))
 *         if code:
 *             if safe:             # <<<<<<<<<<<<<<
 *                 self.put_safe(code)
 *             else:
 */
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_safe); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1689, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "Cython/Compiler/Code.py":1690
 *         if code:
 *             if safe:
 *                 self.put_safe(code)             # <<<<<<<<<<<<<<
 *             else:
 *                 self.put(code)
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_safe); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1690, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_7) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1690, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_code};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1690, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_code};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1690, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1690, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
          __Pyx_INCREF(__pyx_v_code);
          __Pyx_GIVEREF(__pyx_v_code);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_code);
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1690, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __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;

      /* "Cython/Compiler/Code.py":1689
 *             self.write('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))
 *         if code:
 *             if safe:             # <<<<<<<<<<<<<<
 *                 self.put_safe(code)
 *             else:
 */
      goto __pyx_L12;
    }

    /* "Cython/Compiler/Code.py":1692
 *                 self.put_safe(code)
 *             else:
 *                 self.put(code)             # <<<<<<<<<<<<<<
 *         self.write("\n")
 *         self.bol = 1
 */
    /*else*/ {
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1692, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1692, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_code};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1692, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_code};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1692, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else
        #endif
        {
          __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1692, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_INCREF(__pyx_v_code);
          __Pyx_GIVEREF(__pyx_v_code);
          PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_code);
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1692, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_L12:;

    /* "Cython/Compiler/Code.py":1688
 *             source_desc, line, _ = self.last_marked_pos
 *             self.write('\n#line %s "%s"\n' % (line, source_desc.get_escaped_description()))
 *         if code:             # <<<<<<<<<<<<<<
 *             if safe:
 *                 self.put_safe(code)
 */
  }

  /* "Cython/Compiler/Code.py":1693
 *             else:
 *                 self.put(code)
 *         self.write("\n")             # <<<<<<<<<<<<<<
 *         self.bol = 1
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__108, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":1694
 *                 self.put(code)
 *         self.write("\n")
 *         self.bol = 1             # <<<<<<<<<<<<<<
 * 
 *     def mark_pos(self, pos, trace=True):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_bol, __pyx_int_1) < 0) __PYX_ERR(0, 1694, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1682
 *     # 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_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.CCodeWriter.putln", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __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;
}

/* "Cython/Compiler/Code.py":1696
 *         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_67mark_pos(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_67mark_pos = {"mark_pos", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_67mark_pos, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_67mark_pos(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_trace = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("mark_pos (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,&__pyx_n_s_trace,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("mark_pos", 0, 2, 3, 1); __PYX_ERR(0, 1696, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_trace);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mark_pos") < 0)) __PYX_ERR(0, 1696, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
    __pyx_v_trace = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("mark_pos", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1696, __pyx_L3_error)
  __pyx_L3_error:;
  __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_66mark_pos(__pyx_self, __pyx_v_self, __pyx_v_pos, __pyx_v_trace);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_66mark_pos(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  __Pyx_RefNannySetupContext("mark_pos", 0);

  /* "Cython/Compiler/Code.py":1697
 * 
 *     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);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1698
 *     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":1697
 * 
 *     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":1699
 *         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_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1699, __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, 1699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {
  } else {
    __pyx_t_2 = __pyx_t_1;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 2, NULL, NULL, &__pyx_slice__109, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_pos, 0, 2, NULL, NULL, &__pyx_slice__110, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __pyx_t_1;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1700
 *             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":1699
 *         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":1701
 *         if self.last_marked_pos and self.last_marked_pos[:2] == pos[:2]:
 *             return
 *         self.last_pos = (pos, trace)             # <<<<<<<<<<<<<<
 * 
 *     def emit_marker(self):
 */
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF(__pyx_v_pos);
  __Pyx_GIVEREF(__pyx_v_pos);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_pos);
  __Pyx_INCREF(__pyx_v_trace);
  __Pyx_GIVEREF(__pyx_v_trace);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_trace);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_last_pos, __pyx_t_5) < 0) __PYX_ERR(0, 1701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1696
 *         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":1703
 *         self.last_pos = (pos, trace)
 * 
 *     def emit_marker(self):             # <<<<<<<<<<<<<<
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = pos
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_69emit_marker(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_69emit_marker = {"emit_marker", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_69emit_marker, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_69emit_marker(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("emit_marker (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_68emit_marker(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_68emit_marker(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *(*__pyx_t_5)(PyObject *);
  int __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 = NULL;
  __Pyx_RefNannySetupContext("emit_marker", 0);

  /* "Cython/Compiler/Code.py":1704
 * 
 *     def emit_marker(self):
 *         pos, trace = self.last_pos             # <<<<<<<<<<<<<<
 *         self.last_marked_pos = pos
 *         self.last_pos = None
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_last_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1704, __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;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 1704, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1704, __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, 1704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    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, 1704, __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, 1704, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_pos = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_trace = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1705
 *     def emit_marker(self):
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = pos             # <<<<<<<<<<<<<<
 *         self.last_pos = None
 *         self.write("\n")
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_last_marked_pos, __pyx_v_pos) < 0) __PYX_ERR(0, 1705, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1706
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = pos
 *         self.last_pos = None             # <<<<<<<<<<<<<<
 *         self.write("\n")
 *         if self.code_config.emit_code_comments:
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_last_pos, Py_None) < 0) __PYX_ERR(0, 1706, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1707
 *         self.last_marked_pos = pos
 *         self.last_pos = None
 *         self.write("\n")             # <<<<<<<<<<<<<<
 *         if self.code_config.emit_code_comments:
 *             self.indent()
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__111, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1707, __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":1708
 *         self.last_pos = None
 *         self.write("\n")
 *         if self.code_config.emit_code_comments:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self.write("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/\n" % self._build_marker(pos))
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_code_config); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_emit_code_comments); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":1709
 *         self.write("\n")
 *         if self.code_config.emit_code_comments:
 *             self.indent()             # <<<<<<<<<<<<<<
 *             self.write("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/\n" % self._build_marker(pos))
 *         if trace and self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_indent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_2) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1709, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1709, __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":1710
 *         if self.code_config.emit_code_comments:
 *             self.indent()
 *             self.write("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/\n" % self._build_marker(pos))             # <<<<<<<<<<<<<<
 *         if trace and self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
 *             self.indent()
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_build_marker); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1710, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_pos};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_pos};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_INCREF(__pyx_v_pos);
        __Pyx_GIVEREF(__pyx_v_pos);
        PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_pos);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_9, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_2) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1710, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1710, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1708
 *         self.last_pos = None
 *         self.write("\n")
 *         if self.code_config.emit_code_comments:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self.write("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/\n" % self._build_marker(pos))
 */
  }

  /* "Cython/Compiler/Code.py":1711
 *             self.indent()
 *             self.write("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/\n" % self._build_marker(pos))
 *         if trace and self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self.write('__Pyx_TraceLine(%d,%d,%s)\n' % (
 */
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_trace); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1711, __pyx_L1_error)
  if (__pyx_t_9) {
  } else {
    __pyx_t_6 = __pyx_t_9;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_9) {
  } else {
    __pyx_t_6 = __pyx_t_9;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_can_trace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_9) {
  } else {
    __pyx_t_6 = __pyx_t_9;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_directives); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_linetrace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __pyx_t_9;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":1712
 *             self.write("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/\n" % self._build_marker(pos))
 *         if trace and self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
 *             self.indent()             # <<<<<<<<<<<<<<
 *             self.write('__Pyx_TraceLine(%d,%d,%s)\n' % (
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_indent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (__pyx_t_8) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1712, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1712, __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":1713
 *         if trace and self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
 *             self.indent()
 *             self.write('__Pyx_TraceLine(%d,%d,%s)\n' % (             # <<<<<<<<<<<<<<
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "Cython/Compiler/Code.py":1714
 *             self.indent()
 *             self.write('__Pyx_TraceLine(%d,%d,%s)\n' % (
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def _build_marker(self, pos):
 */
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_gil_owned); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyBool_FromLong((!__pyx_t_6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_10) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1714, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_pos};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1714, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_pos};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1714, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1714, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
        __Pyx_INCREF(__pyx_v_pos);
        __Pyx_GIVEREF(__pyx_v_pos);
        PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_v_pos);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_11, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1714, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_8);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_4);
    __pyx_t_8 = 0;
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1713
 *         if trace and self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:
 *             self.indent()
 *             self.write('__Pyx_TraceLine(%d,%d,%s)\n' % (             # <<<<<<<<<<<<<<
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))
 * 
 */
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_TraceLine_d_d_s, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1713, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":1711
 *             self.indent()
 *             self.write("/[inserted by cython to avoid comment start]* %s *[inserted by cython to avoid comment closer]/\n" % self._build_marker(pos))
 *         if trace and self.funcstate and self.funcstate.can_trace and self.globalstate.directives['linetrace']:             # <<<<<<<<<<<<<<
 *             self.indent()
 *             self.write('__Pyx_TraceLine(%d,%d,%s)\n' % (
 */
  }

  /* "Cython/Compiler/Code.py":1703
 *         self.last_pos = (pos, trace)
 * 
 *     def emit_marker(self):             # <<<<<<<<<<<<<<
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = 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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.emit_marker", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __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":1716
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))
 * 
 *     def _build_marker(self, pos):             # <<<<<<<<<<<<<<
 *         source_desc, line, col = pos
 *         assert isinstance(source_desc, SourceDescriptor)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_71_build_marker(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_71_build_marker = {"_build_marker", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_71_build_marker, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_71_build_marker(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_build_marker (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_build_marker", 1, 2, 2, 1); __PYX_ERR(0, 1716, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_build_marker") < 0)) __PYX_ERR(0, 1716, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_build_marker", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1716, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter._build_marker", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_70_build_marker(__pyx_self, __pyx_v_self, __pyx_v_pos);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_70_build_marker(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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_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;
  long __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  __Pyx_RefNannySetupContext("_build_marker", 0);

  /* "Cython/Compiler/Code.py":1717
 * 
 *     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(PyTuple_CheckExact(__pyx_v_pos))) || (PyList_CheckExact(__pyx_v_pos))) {
    PyObject* sequence = __pyx_v_pos;
    #if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 3)) {
      if (size > 3) __Pyx_RaiseTooManyValuesError(3);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(0, 1717, __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_t_2 = PyTuple_GET_ITEM(sequence, 1); 
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 2); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_4 = PyObject_GetIter(__pyx_v_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __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 = 2; __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), 3) < 0) __PYX_ERR(0, 1717, __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, 1717, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __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":1718
 *     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(!Py_OptimizeFlag)) {
    __pyx_t_3 = __pyx_v_6Cython_8Compiler_4Code_SourceDescriptor;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_IsInstance(__pyx_v_source_desc, __pyx_t_3); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 1718, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!(__pyx_t_6 != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 1718, __pyx_L1_error)
    }
  }
  #endif

  /* "Cython/Compiler/Code.py":1719
 *         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] += u'             # <<<<<<<<<<<<<<'
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_commented_file_contents); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_source_desc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_source_desc};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1719, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_source_desc};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1719, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1719, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_source_desc);
      __Pyx_GIVEREF(__pyx_v_source_desc);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_source_desc);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1719, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_contents = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1720
 *         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] += u'             # <<<<<<<<<<<<<<'
 *         lines += contents[line:line+2]
 */
  __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_line, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
  } else {
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_contents, 0, 0, &__pyx_t_1, &__pyx_v_line, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_lines = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":1721
 *         contents = self.globalstate.commented_file_contents(source_desc)
 *         lines = contents[max(0, line-3):line]  # line numbers start at 1
 *         lines[-1] += u'             # <<<<<<<<<<<<<<'             # <<<<<<<<<<<<<<
 *         lines += contents[line:line+2]
 *         return u'"%s":%d\n%s\n' % (source_desc.get_escaped_description(), line, u'\n'.join(lines))
 */
  __pyx_t_8 = -1L;
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_lines, __pyx_t_8, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_kp_u__112); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__Pyx_SetItemInt(__pyx_v_lines, __pyx_t_8, __pyx_t_1, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 1721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1722
 *         lines = contents[max(0, line-3):line]  # line numbers start at 1
 *         lines[-1] += u'             # <<<<<<<<<<<<<<'
 *         lines += contents[line:line+2]             # <<<<<<<<<<<<<<
 *         return u'"%s":%d\n%s\n' % (source_desc.get_escaped_description(), line, u'\n'.join(lines))
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_line, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_contents, 0, 0, &__pyx_v_line, &__pyx_t_1, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_lines, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF_SET(__pyx_v_lines, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1723
 *         lines[-1] += u'             # <<<<<<<<<<<<<<'
 *         lines += contents[line:line+2]
 *         return u'"%s":%d\n%s\n' % (source_desc.get_escaped_description(), line, u'\n'.join(lines))             # <<<<<<<<<<<<<<
 * 
 *     def put_safe(self, code):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_source_desc, __pyx_n_s_get_escaped_description); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1723, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1723, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyUnicode_Join(__pyx_kp_u_, __pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_INCREF(__pyx_v_line);
  __Pyx_GIVEREF(__pyx_v_line);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_line);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_s_d_s, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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":1716
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))
 * 
 *     def _build_marker(self, pos):             # <<<<<<<<<<<<<<
 *         source_desc, line, col = pos
 *         assert isinstance(source_desc, SourceDescriptor)
 */

  /* 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._build_marker", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __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_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1725
 *         return u'"%s":%d\n%s\n' % (source_desc.get_escaped_description(), line, u'\n'.join(lines))
 * 
 *     def put_safe(self, code):             # <<<<<<<<<<<<<<
 *         # put code, but ignore {}
 *         self.write(code)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_73put_safe(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_73put_safe = {"put_safe", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_73put_safe, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_73put_safe(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_safe (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_code,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_safe", 1, 2, 2, 1); __PYX_ERR(0, 1725, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_safe") < 0)) __PYX_ERR(0, 1725, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_code = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_safe", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1725, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_safe", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_72put_safe(__pyx_self, __pyx_v_self, __pyx_v_code);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_72put_safe(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  __Pyx_RefNannySetupContext("put_safe", 0);

  /* "Cython/Compiler/Code.py":1727
 *     def put_safe(self, code):
 *         # put code, but ignore {}
 *         self.write(code)             # <<<<<<<<<<<<<<
 *         self.bol = 0
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_code};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1727, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_code};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1727, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1727, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_code);
      __Pyx_GIVEREF(__pyx_v_code);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_code);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1727, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1728
 *         # put code, but ignore {}
 *         self.write(code)
 *         self.bol = 0             # <<<<<<<<<<<<<<
 * 
 *     def put_or_include(self, code, name):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_bol, __pyx_int_0) < 0) __PYX_ERR(0, 1728, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1725
 *         return u'"%s":%d\n%s\n' % (source_desc.get_escaped_description(), line, u'\n'.join(lines))
 * 
 *     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 = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1730
 *         self.bol = 0
 * 
 *     def put_or_include(self, code, name):             # <<<<<<<<<<<<<<
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_75put_or_include(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_75put_or_include = {"put_or_include", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_75put_or_include, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_75put_or_include(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_or_include (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_code,&__pyx_n_s_name,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_or_include", 1, 3, 3, 1); __PYX_ERR(0, 1730, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_or_include", 1, 3, 3, 2); __PYX_ERR(0, 1730, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_or_include") < 0)) __PYX_ERR(0, 1730, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_code = values[1];
    __pyx_v_name = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_or_include", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1730, __pyx_L3_error)
  __pyx_L3_error:;
  __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_74put_or_include(__pyx_self, __pyx_v_self, __pyx_v_code, __pyx_v_name);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_74put_or_include(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_name) {
  PyObject *__pyx_v_include_dir = NULL;
  PyObject *__pyx_v_include_file = NULL;
  PyObject *__pyx_v_path = NULL;
  PyObject *__pyx_v_tmp_path = NULL;
  PyObject *__pyx_v_f = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __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 = NULL;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  __Pyx_RefNannySetupContext("put_or_include", 0);
  __Pyx_INCREF(__pyx_v_code);

  /* "Cython/Compiler/Code.py":1731
 * 
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir             # <<<<<<<<<<<<<<
 *         if include_dir and len(code) > 1024:
 *             include_file = "%s_%s.h" % (
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_common_utility_include_dir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_include_dir = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1732
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:             # <<<<<<<<<<<<<<
 *             include_file = "%s_%s.h" % (
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())
 */
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_include_dir); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1732, __pyx_L1_error)
  if (__pyx_t_4) {
  } else {
    __pyx_t_3 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_5 = PyObject_Length(__pyx_v_code); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(0, 1732, __pyx_L1_error)
  __pyx_t_4 = ((__pyx_t_5 > 0x400) != 0);
  __pyx_t_3 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1734
 *         if include_dir and len(code) > 1024:
 *             include_file = "%s_%s.h" % (
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())             # <<<<<<<<<<<<<<
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):
 */
    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_hashlib); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_md5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_encode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__113, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1734, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1734, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1734, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1734, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1734, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_hexdigest); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1734, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1734, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_INCREF(__pyx_v_name);
    __Pyx_GIVEREF(__pyx_v_name);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_name);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1733
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:
 *             include_file = "%s_%s.h" % (             # <<<<<<<<<<<<<<
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())
 *             path = os.path.join(include_dir, include_file)
 */
    __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s__s_h, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_v_include_file = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1735
 *             include_file = "%s_%s.h" % (
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())
 *             path = os.path.join(include_dir, include_file)             # <<<<<<<<<<<<<<
 *             if not os.path.exists(path):
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())
 */
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    __pyx_t_10 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_10 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_include_dir, __pyx_v_include_file};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1735, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_include_dir, __pyx_v_include_file};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1735, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1735, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (__pyx_t_7) {
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
      }
      __Pyx_INCREF(__pyx_v_include_dir);
      __Pyx_GIVEREF(__pyx_v_include_dir);
      PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_10, __pyx_v_include_dir);
      __Pyx_INCREF(__pyx_v_include_file);
      __Pyx_GIVEREF(__pyx_v_include_file);
      PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_10, __pyx_v_include_file);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1735, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_path = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1736
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):             # <<<<<<<<<<<<<<
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())
 *                 with closing(Utils.open_new_file(tmp_path)) as f:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_exists); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_9, function);
      }
    }
    if (!__pyx_t_1) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1736, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_path};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1736, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_path};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1736, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1736, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __pyx_t_1 = NULL;
        __Pyx_INCREF(__pyx_v_path);
        __Pyx_GIVEREF(__pyx_v_path);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_path);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1736, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __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, 1736, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = ((!__pyx_t_3) != 0);
    if (__pyx_t_4) {

      /* "Cython/Compiler/Code.py":1737
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())             # <<<<<<<<<<<<<<
 *                 with closing(Utils.open_new_file(tmp_path)) as f:
 *                     f.write(code)
 */
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_getpid); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1737, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
        }
      }
      if (__pyx_t_7) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1737, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1737, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1737, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_INCREF(__pyx_v_path);
      __Pyx_GIVEREF(__pyx_v_path);
      PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_path);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_tmp_s, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1737, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_v_tmp_path = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1738
 *             if not os.path.exists(path):
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())
 *                 with closing(Utils.open_new_file(tmp_path)) as f:             # <<<<<<<<<<<<<<
 *                     f.write(code)
 *                 os.rename(tmp_path, path)
 */
      /*with:*/ {
        __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_closing); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1738, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Utils, __pyx_n_s_open_new_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1738, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_8 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
          __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
          if (likely(__pyx_t_8)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
            __Pyx_INCREF(__pyx_t_8);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_1, function);
          }
        }
        if (!__pyx_t_8) {
          __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_tmp_path); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1738, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_1)) {
            PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_tmp_path};
            __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1738, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_GOTREF(__pyx_t_7);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
            PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_tmp_path};
            __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1738, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_GOTREF(__pyx_t_7);
          } else
          #endif
          {
            __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1738, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
            __Pyx_INCREF(__pyx_v_tmp_path);
            __Pyx_GIVEREF(__pyx_v_tmp_path);
            PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_tmp_path);
            __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1738, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_1 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
          __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9);
          if (likely(__pyx_t_1)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_1);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_9, function);
          }
        }
        if (!__pyx_t_1) {
          __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1738, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_9)) {
            PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_7};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1738, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
            PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_7};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1738, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          } else
          #endif
          {
            __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1738, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = NULL;
            __Pyx_GIVEREF(__pyx_t_7);
            PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1738, __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;
        __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1738, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1738, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
          if (likely(__pyx_t_7)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
            __Pyx_INCREF(__pyx_t_7);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_6, function);
          }
        }
        if (__pyx_t_7) {
          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1738, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else {
          __pyx_t_9 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1738, __pyx_L7_error)
        }
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __pyx_t_9;
        __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        /*try:*/ {
          {
            __Pyx_PyThreadState_declare
            __Pyx_PyThreadState_assign
            __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
            __Pyx_XGOTREF(__pyx_t_12);
            __Pyx_XGOTREF(__pyx_t_13);
            __Pyx_XGOTREF(__pyx_t_14);
            /*try:*/ {
              __pyx_v_f = __pyx_t_6;
              __pyx_t_6 = 0;

              /* "Cython/Compiler/Code.py":1739
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())
 *                 with closing(Utils.open_new_file(tmp_path)) as f:
 *                     f.write(code)             # <<<<<<<<<<<<<<
 *                 os.rename(tmp_path, path)
 *             code = '#include "%s"\n' % path
 */
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1739, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_9 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_9)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_9);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              if (!__pyx_t_9) {
                __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1739, __pyx_L11_error)
                __Pyx_GOTREF(__pyx_t_6);
              } else {
                #if CYTHON_FAST_PYCALL
                if (PyFunction_Check(__pyx_t_2)) {
                  PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_code};
                  __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1739, __pyx_L11_error)
                  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                  __Pyx_GOTREF(__pyx_t_6);
                } else
                #endif
                #if CYTHON_FAST_PYCCALL
                if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
                  PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_code};
                  __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1739, __pyx_L11_error)
                  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                  __Pyx_GOTREF(__pyx_t_6);
                } else
                #endif
                {
                  __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1739, __pyx_L11_error)
                  __Pyx_GOTREF(__pyx_t_7);
                  __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9); __pyx_t_9 = NULL;
                  __Pyx_INCREF(__pyx_v_code);
                  __Pyx_GIVEREF(__pyx_v_code);
                  PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_code);
                  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1739, __pyx_L11_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(__pyx_t_6); __pyx_t_6 = 0;

              /* "Cython/Compiler/Code.py":1738
 *             if not os.path.exists(path):
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())
 *                 with closing(Utils.open_new_file(tmp_path)) as f:             # <<<<<<<<<<<<<<
 *                     f.write(code)
 *                 os.rename(tmp_path, path)
 */
            }
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            goto __pyx_L18_try_end;
            __pyx_L11_error:;
            __Pyx_PyThreadState_assign
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            /*except:*/ {
              __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_or_include", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 1738, __pyx_L13_except_error)
              __Pyx_GOTREF(__pyx_t_6);
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_7);
              __pyx_t_9 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1738, __pyx_L13_except_error)
              __Pyx_GOTREF(__pyx_t_9);
              __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_9, NULL);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
              if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1738, __pyx_L13_except_error)
              __Pyx_GOTREF(__pyx_t_15);
              __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_15);
              __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
              if (__pyx_t_4 < 0) __PYX_ERR(0, 1738, __pyx_L13_except_error)
              __pyx_t_3 = ((!(__pyx_t_4 != 0)) != 0);
              if (__pyx_t_3) {
                __Pyx_GIVEREF(__pyx_t_6);
                __Pyx_GIVEREF(__pyx_t_2);
                __Pyx_XGIVEREF(__pyx_t_7);
                __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_2, __pyx_t_7);
                __pyx_t_6 = 0; __pyx_t_2 = 0; __pyx_t_7 = 0; 
                __PYX_ERR(0, 1738, __pyx_L13_except_error)
              }
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
              goto __pyx_L12_exception_handled;
            }
            __pyx_L13_except_error:;
            __Pyx_PyThreadState_assign
            __Pyx_XGIVEREF(__pyx_t_12);
            __Pyx_XGIVEREF(__pyx_t_13);
            __Pyx_XGIVEREF(__pyx_t_14);
            __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
            goto __pyx_L1_error;
            __pyx_L12_exception_handled:;
            __Pyx_PyThreadState_assign
            __Pyx_XGIVEREF(__pyx_t_12);
            __Pyx_XGIVEREF(__pyx_t_13);
            __Pyx_XGIVEREF(__pyx_t_14);
            __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
            __pyx_L18_try_end:;
          }
        }
        /*finally:*/ {
          /*normal exit:*/{
            if (__pyx_t_11) {
              __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__114, NULL);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1738, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            }
            goto __pyx_L10;
          }
          __pyx_L10:;
        }
        goto __pyx_L22;
        __pyx_L7_error:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L1_error;
        __pyx_L22:;
      }

      /* "Cython/Compiler/Code.py":1740
 *                 with closing(Utils.open_new_file(tmp_path)) as f:
 *                     f.write(code)
 *                 os.rename(tmp_path, path)             # <<<<<<<<<<<<<<
 *             code = '#include "%s"\n' % path
 *         self.put(code)
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_n_s_rename); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1740, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = NULL;
      __pyx_t_10 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
          __pyx_t_10 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_tmp_path, __pyx_v_path};
        __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1740, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_7);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_tmp_path, __pyx_v_path};
        __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1740, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_7);
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1740, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__pyx_t_6) {
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL;
        }
        __Pyx_INCREF(__pyx_v_tmp_path);
        __Pyx_GIVEREF(__pyx_v_tmp_path);
        PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_10, __pyx_v_tmp_path);
        __Pyx_INCREF(__pyx_v_path);
        __Pyx_GIVEREF(__pyx_v_path);
        PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_10, __pyx_v_path);
        __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1740, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":1736
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):             # <<<<<<<<<<<<<<
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())
 *                 with closing(Utils.open_new_file(tmp_path)) as f:
 */
    }

    /* "Cython/Compiler/Code.py":1741
 *                     f.write(code)
 *                 os.rename(tmp_path, path)
 *             code = '#include "%s"\n' % path             # <<<<<<<<<<<<<<
 *         self.put(code)
 * 
 */
    __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_include_s, __pyx_v_path); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF_SET(__pyx_v_code, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "Cython/Compiler/Code.py":1732
 *     def put_or_include(self, code, name):
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:             # <<<<<<<<<<<<<<
 *             include_file = "%s_%s.h" % (
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())
 */
  }

  /* "Cython/Compiler/Code.py":1742
 *                 os.rename(tmp_path, path)
 *             code = '#include "%s"\n' % path
 *         self.put(code)             # <<<<<<<<<<<<<<
 * 
 *     def put(self, code):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_9) {
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_code};
      __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1742, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_7);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_code};
      __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1742, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_7);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1742, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_9); __pyx_t_9 = NULL;
      __Pyx_INCREF(__pyx_v_code);
      __Pyx_GIVEREF(__pyx_v_code);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_code);
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1742, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":1730
 *         self.bol = 0
 * 
 *     def put_or_include(self, code, name):             # <<<<<<<<<<<<<<
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:
 */

  /* 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);
  __Pyx_XDECREF(__pyx_t_9);
  __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_include_file);
  __Pyx_XDECREF(__pyx_v_path);
  __Pyx_XDECREF(__pyx_v_tmp_path);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XDECREF(__pyx_v_code);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1744
 *         self.put(code)
 * 
 *     def put(self, code):             # <<<<<<<<<<<<<<
 *         if is_self_assignment(code):
 *             return
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_77put(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_77put = {"put", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_77put, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_77put(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_code,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put", 1, 2, 2, 1); __PYX_ERR(0, 1744, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put") < 0)) __PYX_ERR(0, 1744, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_code = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1744, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_76put(__pyx_self, __pyx_v_self, __pyx_v_code);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_76put(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code) {
  int __pyx_v_fix_indent;
  PyObject *__pyx_v_dl = 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;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("put", 0);

  /* "Cython/Compiler/Code.py":1745
 * 
 *     def put(self, code):
 *         if is_self_assignment(code):             # <<<<<<<<<<<<<<
 *             return
 *         fix_indent = False
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_is_self_assignment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_code};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1745, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_code};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1745, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1745, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_code);
      __Pyx_GIVEREF(__pyx_v_code);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_code);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1745, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1746
 *     def put(self, code):
 *         if is_self_assignment(code):
 *             return             # <<<<<<<<<<<<<<
 *         fix_indent = False
 *         if "{" in code:
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1745
 * 
 *     def put(self, code):
 *         if is_self_assignment(code):             # <<<<<<<<<<<<<<
 *             return
 *         fix_indent = False
 */
  }

  /* "Cython/Compiler/Code.py":1747
 *         if is_self_assignment(code):
 *             return
 *         fix_indent = False             # <<<<<<<<<<<<<<
 *         if "{" in code:
 *             dl = code.count("{")
 */
  __pyx_v_fix_indent = 0;

  /* "Cython/Compiler/Code.py":1748
 *             return
 *         fix_indent = False
 *         if "{" in code:             # <<<<<<<<<<<<<<
 *             dl = code.count("{")
 *         else:
 */
  __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s__115, __pyx_v_code, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1748, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":1749
 *         fix_indent = False
 *         if "{" in code:
 *             dl = code.count("{")             # <<<<<<<<<<<<<<
 *         else:
 *             dl = 0
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__116, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_dl = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1748
 *             return
 *         fix_indent = False
 *         if "{" in code:             # <<<<<<<<<<<<<<
 *             dl = code.count("{")
 *         else:
 */
    goto __pyx_L4;
  }

  /* "Cython/Compiler/Code.py":1751
 *             dl = code.count("{")
 *         else:
 *             dl = 0             # <<<<<<<<<<<<<<
 *         if "}" in code:
 *             dl -= code.count("}")
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_int_0);
    __pyx_v_dl = __pyx_int_0;
  }
  __pyx_L4:;

  /* "Cython/Compiler/Code.py":1752
 *         else:
 *             dl = 0
 *         if "}" in code:             # <<<<<<<<<<<<<<
 *             dl -= code.count("}")
 *             if dl < 0:
 */
  __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s__62, __pyx_v_code, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1752, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 != 0);
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1753
 *             dl = 0
 *         if "}" in code:
 *             dl -= code.count("}")             # <<<<<<<<<<<<<<
 *             if dl < 0:
 *                 self.level += dl
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__117, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceSubtract(__pyx_v_dl, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_dl, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1754
 *         if "}" in code:
 *             dl -= code.count("}")
 *             if dl < 0:             # <<<<<<<<<<<<<<
 *                 self.level += dl
 *             elif dl == 0 and code[0] == "}":
 */
    __pyx_t_2 = PyObject_RichCompare(__pyx_v_dl, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1754, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1754, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":1755
 *             dl -= code.count("}")
 *             if dl < 0:
 *                 self.level += dl             # <<<<<<<<<<<<<<
 *             elif dl == 0 and code[0] == "}":
 *                 # special cases like "} else {" need a temporary dedent
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_v_dl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1755, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_1) < 0) __PYX_ERR(0, 1755, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":1754
 *         if "}" in code:
 *             dl -= code.count("}")
 *             if dl < 0:             # <<<<<<<<<<<<<<
 *                 self.level += dl
 *             elif dl == 0 and code[0] == "}":
 */
      goto __pyx_L6;
    }

    /* "Cython/Compiler/Code.py":1756
 *             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_1 = __Pyx_PyInt_EqObjC(__pyx_v_dl, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1756, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_6) {
    } else {
      __pyx_t_5 = __pyx_t_6;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_code, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s__62, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 1756, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    if (__pyx_t_5) {

      /* "Cython/Compiler/Code.py":1758
 *             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":1759
 *                 # special cases like "} else {" need a temporary dedent
 *                 fix_indent = True
 *                 self.level -= 1             # <<<<<<<<<<<<<<
 *         if self.bol:
 *             self.indent()
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1759, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_1, __pyx_int_1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1759, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_2) < 0) __PYX_ERR(0, 1759, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1756
 *             if dl < 0:
 *                 self.level += dl
 *             elif dl == 0 and code[0] == "}":             # <<<<<<<<<<<<<<
 *                 # special cases like "} else {" need a temporary dedent
 *                 fix_indent = True
 */
    }
    __pyx_L6:;

    /* "Cython/Compiler/Code.py":1752
 *         else:
 *             dl = 0
 *         if "}" in code:             # <<<<<<<<<<<<<<
 *             dl -= code.count("}")
 *             if dl < 0:
 */
  }

  /* "Cython/Compiler/Code.py":1760
 *                 fix_indent = True
 *                 self.level -= 1
 *         if self.bol:             # <<<<<<<<<<<<<<
 *             self.indent()
 *         self.write(code)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bol); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1760, __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, 1760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1761
 *                 self.level -= 1
 *         if self.bol:
 *             self.indent()             # <<<<<<<<<<<<<<
 *         self.write(code)
 *         self.bol = 0
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_indent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1761, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1761, __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":1760
 *                 fix_indent = True
 *                 self.level -= 1
 *         if self.bol:             # <<<<<<<<<<<<<<
 *             self.indent()
 *         self.write(code)
 */
  }

  /* "Cython/Compiler/Code.py":1762
 *         if self.bol:
 *             self.indent()
 *         self.write(code)             # <<<<<<<<<<<<<<
 *         self.bol = 0
 *         if dl > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_code};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1762, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_code};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1762, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1762, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_INCREF(__pyx_v_code);
      __Pyx_GIVEREF(__pyx_v_code);
      PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_code);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1762, __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_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1763
 *             self.indent()
 *         self.write(code)
 *         self.bol = 0             # <<<<<<<<<<<<<<
 *         if dl > 0:
 *             self.level += dl
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_bol, __pyx_int_0) < 0) __PYX_ERR(0, 1763, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1764
 *         self.write(code)
 *         self.bol = 0
 *         if dl > 0:             # <<<<<<<<<<<<<<
 *             self.level += dl
 *         elif fix_indent:
 */
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_dl, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1764, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1765
 *         self.bol = 0
 *         if dl > 0:
 *             self.level += dl             # <<<<<<<<<<<<<<
 *         elif fix_indent:
 *             self.level += 1
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_v_dl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_1) < 0) __PYX_ERR(0, 1765, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1764
 *         self.write(code)
 *         self.bol = 0
 *         if dl > 0:             # <<<<<<<<<<<<<<
 *             self.level += dl
 *         elif fix_indent:
 */
    goto __pyx_L10;
  }

  /* "Cython/Compiler/Code.py":1766
 *         if dl > 0:
 *             self.level += dl
 *         elif fix_indent:             # <<<<<<<<<<<<<<
 *             self.level += 1
 * 
 */
  __pyx_t_5 = (__pyx_v_fix_indent != 0);
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":1767
 *             self.level += dl
 *         elif fix_indent:
 *             self.level += 1             # <<<<<<<<<<<<<<
 * 
 *     def putln_tempita(self, code, **context):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_2) < 0) __PYX_ERR(0, 1767, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1766
 *         if dl > 0:
 *             self.level += dl
 *         elif fix_indent:             # <<<<<<<<<<<<<<
 *             self.level += 1
 * 
 */
  }
  __pyx_L10:;

  /* "Cython/Compiler/Code.py":1744
 *         self.put(code)
 * 
 *     def put(self, code):             # <<<<<<<<<<<<<<
 *         if is_self_assignment(code):
 *             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_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 = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dl);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1769
 *             self.level += 1
 * 
 *     def putln_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.putln(sub(code, **context))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_79putln_tempita(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_79putln_tempita = {"putln_tempita", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_79putln_tempita, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_79putln_tempita(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("putln_tempita (wrapper)", 0);
  __pyx_v_context = PyDict_New(); if (unlikely(!__pyx_v_context)) return NULL;
  __Pyx_GOTREF(__pyx_v_context);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_code,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("putln_tempita", 1, 2, 2, 1); __PYX_ERR(0, 1769, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_context, values, pos_args, "putln_tempita") < 0)) __PYX_ERR(0, 1769, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_code = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("putln_tempita", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1769, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_DECREF(__pyx_v_context); __pyx_v_context = 0;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.putln_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_78putln_tempita(__pyx_self, __pyx_v_self, __pyx_v_code, __pyx_v_context);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_78putln_tempita(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_context) {
  PyObject *__pyx_v_sub = 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;
  __Pyx_RefNannySetupContext("putln_tempita", 0);

  /* "Cython/Compiler/Code.py":1770
 * 
 *     def putln_tempita(self, code, **context):
 *         from ..Tempita import sub             # <<<<<<<<<<<<<<
 *         self.putln(sub(code, **context))
 * 
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_sub);
  __Pyx_GIVEREF(__pyx_n_s_sub);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_sub);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_Tempita, __pyx_t_1, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_sub = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1771
 *     def putln_tempita(self, code, **context):
 *         from ..Tempita import sub
 *         self.putln(sub(code, **context))             # <<<<<<<<<<<<<<
 * 
 *     def put_tempita(self, code, **context):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_code);
  __Pyx_GIVEREF(__pyx_v_code);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_code);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_sub, __pyx_t_3, __pyx_v_context); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1769
 *             self.level += 1
 * 
 *     def putln_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.putln(sub(code, **context))
 */

  /* 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_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_sub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1773
 *         self.putln(sub(code, **context))
 * 
 *     def put_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.put(sub(code, **context))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_81put_tempita(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_81put_tempita = {"put_tempita", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_81put_tempita, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_81put_tempita(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_code = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_tempita (wrapper)", 0);
  __pyx_v_context = PyDict_New(); if (unlikely(!__pyx_v_context)) return NULL;
  __Pyx_GOTREF(__pyx_v_context);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_code,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_tempita", 1, 2, 2, 1); __PYX_ERR(0, 1773, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_context, values, pos_args, "put_tempita") < 0)) __PYX_ERR(0, 1773, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_code = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_tempita", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1773, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_DECREF(__pyx_v_context); __pyx_v_context = 0;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_80put_tempita(__pyx_self, __pyx_v_self, __pyx_v_code, __pyx_v_context);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_80put_tempita(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_code, PyObject *__pyx_v_context) {
  PyObject *__pyx_v_sub = 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;
  __Pyx_RefNannySetupContext("put_tempita", 0);

  /* "Cython/Compiler/Code.py":1774
 * 
 *     def put_tempita(self, code, **context):
 *         from ..Tempita import sub             # <<<<<<<<<<<<<<
 *         self.put(sub(code, **context))
 * 
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_sub);
  __Pyx_GIVEREF(__pyx_n_s_sub);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_sub);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_Tempita, __pyx_t_1, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_sub = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1775
 *     def put_tempita(self, code, **context):
 *         from ..Tempita import sub
 *         self.put(sub(code, **context))             # <<<<<<<<<<<<<<
 * 
 *     def increase_indent(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_code);
  __Pyx_GIVEREF(__pyx_v_code);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_code);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_sub, __pyx_t_3, __pyx_v_context); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1775, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1775, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1775, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1775, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1775, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1773
 *         self.putln(sub(code, **context))
 * 
 *     def put_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.put(sub(code, **context))
 */

  /* 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.put_tempita", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_sub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1777
 *         self.put(sub(code, **context))
 * 
 *     def increase_indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_83increase_indent(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_83increase_indent = {"increase_indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_83increase_indent, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_83increase_indent(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("increase_indent (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_82increase_indent(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_82increase_indent(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;
  __Pyx_RefNannySetupContext("increase_indent", 0);

  /* "Cython/Compiler/Code.py":1778
 * 
 *     def increase_indent(self):
 *         self.level += 1             # <<<<<<<<<<<<<<
 * 
 *     def decrease_indent(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_2) < 0) __PYX_ERR(0, 1778, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1777
 *         self.put(sub(code, **context))
 * 
 *     def increase_indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 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_AddTraceback("Cython.Compiler.Code.CCodeWriter.increase_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":1780
 *         self.level += 1
 * 
 *     def decrease_indent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_85decrease_indent(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_85decrease_indent = {"decrease_indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_85decrease_indent, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_85decrease_indent(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decrease_indent (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_84decrease_indent(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_84decrease_indent(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;
  __Pyx_RefNannySetupContext("decrease_indent", 0);

  /* "Cython/Compiler/Code.py":1781
 * 
 *     def decrease_indent(self):
 *         self.level -= 1             # <<<<<<<<<<<<<<
 * 
 *     def begin_block(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_1, __pyx_int_1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_2) < 0) __PYX_ERR(0, 1781, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1780
 *         self.level += 1
 * 
 *     def decrease_indent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 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_AddTraceback("Cython.Compiler.Code.CCodeWriter.decrease_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":1783
 *         self.level -= 1
 * 
 *     def begin_block(self):             # <<<<<<<<<<<<<<
 *         self.putln("{")
 *         self.increase_indent()
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_87begin_block(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_87begin_block = {"begin_block", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_87begin_block, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_87begin_block(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("begin_block (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_86begin_block(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_86begin_block(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;
  __Pyx_RefNannySetupContext("begin_block", 0);

  /* "Cython/Compiler/Code.py":1784
 * 
 *     def begin_block(self):
 *         self.putln("{")             # <<<<<<<<<<<<<<
 *         self.increase_indent()
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1784, __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":1785
 *     def begin_block(self):
 *         self.putln("{")
 *         self.increase_indent()             # <<<<<<<<<<<<<<
 * 
 *     def end_block(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_increase_indent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1785, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1785, __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":1783
 *         self.level -= 1
 * 
 *     def begin_block(self):             # <<<<<<<<<<<<<<
 *         self.putln("{")
 *         self.increase_indent()
 */

  /* 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.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":1787
 *         self.increase_indent()
 * 
 *     def end_block(self):             # <<<<<<<<<<<<<<
 *         self.decrease_indent()
 *         self.putln("}")
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_89end_block(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_89end_block = {"end_block", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_89end_block, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_89end_block(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("end_block (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_88end_block(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_88end_block(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;
  __Pyx_RefNannySetupContext("end_block", 0);

  /* "Cython/Compiler/Code.py":1788
 * 
 *     def end_block(self):
 *         self.decrease_indent()             # <<<<<<<<<<<<<<
 *         self.putln("}")
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_decrease_indent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1788, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1788, __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":1789
 *     def end_block(self):
 *         self.decrease_indent()
 *         self.putln("}")             # <<<<<<<<<<<<<<
 * 
 *     def indent(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__119, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1789, __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":1787
 *         self.increase_indent()
 * 
 *     def end_block(self):             # <<<<<<<<<<<<<<
 *         self.decrease_indent()
 *         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_XDECREF(__pyx_t_3);
  __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":1791
 *         self.putln("}")
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.write("  " * self.level)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_91indent(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_91indent = {"indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_91indent, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_91indent(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("indent (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_90indent(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_90indent(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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("indent", 0);

  /* "Cython/Compiler/Code.py":1792
 * 
 *     def indent(self):
 *         self.write("  " * self.level)             # <<<<<<<<<<<<<<
 * 
 *     def get_py_version_hex(self, pyversion):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyNumber_Multiply(__pyx_kp_s__120, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1792, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1792, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1792, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1791
 *         self.putln("}")
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.write("  " * 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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.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":1794
 *         self.write("  " * 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_93get_py_version_hex(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_93get_py_version_hex = {"get_py_version_hex", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_93get_py_version_hex, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_93get_py_version_hex(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pyversion = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_py_version_hex (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pyversion,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pyversion)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_py_version_hex", 1, 2, 2, 1); __PYX_ERR(0, 1794, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_py_version_hex") < 0)) __PYX_ERR(0, 1794, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_pyversion = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_py_version_hex", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1794, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.get_py_version_hex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_92get_py_version_hex(__pyx_self, __pyx_v_self, __pyx_v_pyversion);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_92get_py_version_hex(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_pyversion) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("get_py_version_hex", 0);

  /* "Cython/Compiler/Code.py":1795
 * 
 *     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 = PySequence_Tuple(__pyx_v_pyversion); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_tuple__121); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1795, __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, 1795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_0x_02X_02X_02X_02X, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1795, __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":1794
 *         self.write("  " * 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":1797
 *         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_95put_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_95put_label = {"put_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_95put_label, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_95put_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_lbl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_label (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_lbl,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lbl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_label", 1, 2, 2, 1); __PYX_ERR(0, 1797, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_label") < 0)) __PYX_ERR(0, 1797, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_lbl = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_label", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1797, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_94put_label(__pyx_self, __pyx_v_self, __pyx_v_lbl);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_94put_label(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  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;
  __Pyx_RefNannySetupContext("put_label", 0);

  /* "Cython/Compiler/Code.py":1798
 * 
 *     def put_label(self, lbl):
 *         if lbl in self.funcstate.labels_used:             # <<<<<<<<<<<<<<
 *             self.putln("%s:;" % lbl)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_labels_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_v_lbl, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {

    /* "Cython/Compiler/Code.py":1799
 *     def put_label(self, lbl):
 *         if lbl in self.funcstate.labels_used:
 *             self.putln("%s:;" % lbl)             # <<<<<<<<<<<<<<
 * 
 *     def put_goto(self, lbl):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s_10, __pyx_v_lbl); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1799, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1799, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1799, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1799, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1799, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1798
 * 
 *     def put_label(self, lbl):
 *         if lbl in self.funcstate.labels_used:             # <<<<<<<<<<<<<<
 *             self.putln("%s:;" % lbl)
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1797
 *         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_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":1801
 *             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_97put_goto(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_97put_goto = {"put_goto", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_97put_goto, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_97put_goto(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_lbl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_goto (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_lbl,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lbl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_goto", 1, 2, 2, 1); __PYX_ERR(0, 1801, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_goto") < 0)) __PYX_ERR(0, 1801, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_lbl = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_goto", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1801, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_goto", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_96put_goto(__pyx_self, __pyx_v_self, __pyx_v_lbl);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_96put_goto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_lbl) {
  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;
  __Pyx_RefNannySetupContext("put_goto", 0);

  /* "Cython/Compiler/Code.py":1802
 * 
 *     def put_goto(self, lbl):
 *         self.funcstate.use_label(lbl)             # <<<<<<<<<<<<<<
 *         self.putln("goto %s;" % lbl)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_use_label); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_lbl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1802, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_lbl};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1802, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1802, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_lbl);
      __Pyx_GIVEREF(__pyx_v_lbl);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_lbl);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1802, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1803
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_goto_s, __pyx_v_lbl); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1803, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1801
 *             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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":1805
 *         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_99put_var_declaration(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_99put_var_declaration = {"put_var_declaration", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_99put_var_declaration, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_99put_var_declaration(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_v_storage_class = 0;
  PyObject *__pyx_v_dll_linkage = 0;
  PyObject *__pyx_v_definition = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_declaration (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,&__pyx_n_s_storage_class,&__pyx_n_s_dll_linkage,&__pyx_n_s_definition,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)((PyObject*)__pyx_kp_s__8));

    /* "Cython/Compiler/Code.py":1806
 * 
 *     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):
 */
    values[3] = ((PyObject *)((PyObject *)Py_None));
    values[4] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_declaration", 0, 2, 5, 1); __PYX_ERR(0, 1805, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_storage_class);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dll_linkage);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_definition);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_declaration") < 0)) __PYX_ERR(0, 1805, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
    __pyx_v_storage_class = values[2];
    __pyx_v_dll_linkage = values[3];
    __pyx_v_definition = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_declaration", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1805, __pyx_L3_error)
  __pyx_L3_error:;
  __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_98put_var_declaration(__pyx_self, __pyx_v_self, __pyx_v_entry, __pyx_v_storage_class, __pyx_v_dll_linkage, __pyx_v_definition);

  /* "Cython/Compiler/Code.py":1805
 *         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_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_98put_var_declaration(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  __Pyx_RefNannySetupContext("put_var_declaration", 0);

  /* "Cython/Compiler/Code.py":1808
 *                             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_n_s_visibility); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_private, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1808, __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, 1808, __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_n_s_defined_in_pxd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1808, __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, 1808, __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) != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1810
 *         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":1808
 *                             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":1811
 *             #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_n_s_visibility); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_private, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1811, __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_n_s_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1811, __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, 1811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L9_bool_binop_done:;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1813
 *         if entry.visibility == "private" and not entry.used:
 *             #print "...private and not used, skipping", entry.cname ###
 *             return             # <<<<<<<<<<<<<<
 *         if storage_class:
 *             self.put("%s " % storage_class)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1811
 *             #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":1814
 *             #print "...private and not used, skipping", entry.cname ###
 *             return
 *         if storage_class:             # <<<<<<<<<<<<<<
 *             self.put("%s " % storage_class)
 *         if not entry.cf_used:
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_storage_class); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1814, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1815
 *             return
 *         if storage_class:
 *             self.put("%s " % storage_class)             # <<<<<<<<<<<<<<
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_s_11, __pyx_v_storage_class); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1815, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1815, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1815, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1815, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1815, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1814
 *             #print "...private and not used, skipping", entry.cname ###
 *             return
 *         if storage_class:             # <<<<<<<<<<<<<<
 *             self.put("%s " % storage_class)
 *         if not entry.cf_used:
 */
  }

  /* "Cython/Compiler/Code.py":1816
 *         if storage_class:
 *             self.put("%s " % storage_class)
 *         if not entry.cf_used:             # <<<<<<<<<<<<<<
 *             self.put('CYTHON_UNUSED ')
 *         self.put(entry.type.declaration_code(
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cf_used); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1816, __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, 1816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = ((!__pyx_t_1) != 0);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1817
 *             self.put("%s " % storage_class)
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')             # <<<<<<<<<<<<<<
 *         self.put(entry.type.declaration_code(
 *             entry.cname, dll_linkage=dll_linkage))
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__122, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1817, __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":1816
 *         if storage_class:
 *             self.put("%s " % storage_class)
 *         if not entry.cf_used:             # <<<<<<<<<<<<<<
 *             self.put('CYTHON_UNUSED ')
 *         self.put(entry.type.declaration_code(
 */
  }

  /* "Cython/Compiler/Code.py":1818
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')
 *         self.put(entry.type.declaration_code(             # <<<<<<<<<<<<<<
 *             entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_declaration_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1819
 *             self.put('CYTHON_UNUSED ')
 *         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_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);

  /* "Cython/Compiler/Code.py":1818
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')
 *         self.put(entry.type.declaration_code(             # <<<<<<<<<<<<<<
 *             entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:
 */
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8);
  __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":1819
 *             self.put('CYTHON_UNUSED ')
 *         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_8 = PyDict_New(); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dll_linkage, __pyx_v_dll_linkage) < 0) __PYX_ERR(0, 1819, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1818
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')
 *         self.put(entry.type.declaration_code(             # <<<<<<<<<<<<<<
 *             entry.cname, dll_linkage=dll_linkage))
 *         if entry.init is not None:
 */
  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_8 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_8) {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1818, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_GOTREF(__pyx_t_5);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_9};
      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1818, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_9};
      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1818, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1818, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); __pyx_t_8 = NULL;
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1818, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1820
 *         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_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_init); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = (__pyx_t_5 != Py_None);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = (__pyx_t_3 != 0);
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1821
 *             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_self, __pyx_n_s_put_safe); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_literal_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_init); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1821, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_7);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_9};
        __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_9};
        __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_9);
        __pyx_t_9 = 0;
        __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_s_12, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1821, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_8};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_8};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1821, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "Cython/Compiler/Code.py":1820
 *         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_L13;
  }

  /* "Cython/Compiler/Code.py":1822
 *         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_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1823
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
 *         elif entry.type.is_pyobject:
 *             self.put(" = NULL")             # <<<<<<<<<<<<<<
 *         self.putln(";")
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__123, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1823, __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":1822
 *         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_L13:;

  /* "Cython/Compiler/Code.py":1824
 *         elif entry.type.is_pyobject:
 *             self.put(" = NULL")
 *         self.putln(";")             # <<<<<<<<<<<<<<
 * 
 *     def put_temp_declarations(self, func_context):
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__125, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1824, __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":1805
 *         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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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":1826
 *         self.putln(";")
 * 
 *     def put_temp_declarations(self, func_context):             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             decl = type.declaration_code(name)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_101put_temp_declarations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_101put_temp_declarations = {"put_temp_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_101put_temp_declarations, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_101put_temp_declarations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_func_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_temp_declarations (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_func_context,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_temp_declarations", 1, 2, 2, 1); __PYX_ERR(0, 1826, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_temp_declarations") < 0)) __PYX_ERR(0, 1826, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_func_context = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_temp_declarations", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1826, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_temp_declarations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_100put_temp_declarations(__pyx_self, __pyx_v_self, __pyx_v_func_context);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_100put_temp_declarations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__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_MemoryView = NULL;
  PyObject *__pyx_v_unused = 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;
  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;
  __Pyx_RefNannySetupContext("put_temp_declarations", 0);

  /* "Cython/Compiler/Code.py":1827
 * 
 *     def put_temp_declarations(self, func_context):
 *         for name, type, manage_ref, static in func_context.temps_allocated:             # <<<<<<<<<<<<<<
 *             decl = type.declaration_code(name)
 *             if type.is_pyobject:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_func_context, __pyx_n_s_temps_allocated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1827, __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, 1827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1827, __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))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1827, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1827, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1827, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1827, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1827, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 4)) {
        if (size > 4) __Pyx_RaiseTooManyValuesError(4);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 1827, __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_t_6 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2); 
        __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); 
      } else {
        __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_7 = PyList_GET_ITEM(sequence, 2); 
        __pyx_t_8 = PyList_GET_ITEM(sequence, 3); 
      }
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__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 = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1827, __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_5,&__pyx_t_6,&__pyx_t_7,&__pyx_t_8};
      __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1827, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
      for (index=0; index < 4; index++) {
        PyObject* item = __pyx_t_10(__pyx_t_9); if (unlikely(!item)) goto __pyx_L5_unpacking_failed;
        __Pyx_GOTREF(item);
        *(temps[index]) = item;
      }
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 4) < 0) __PYX_ERR(0, 1827, __pyx_L1_error)
      __pyx_t_10 = NULL;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_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, 1827, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_manage_ref, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_static, __pyx_t_8);
    __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1828
 *     def put_temp_declarations(self, func_context):
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             decl = type.declaration_code(name)             # <<<<<<<<<<<<<<
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)
 */
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_declaration_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_name};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1828, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_name};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1828, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1828, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_INCREF(__pyx_v_name);
        __Pyx_GIVEREF(__pyx_v_name);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_name);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1828, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF_SET(__pyx_v_decl, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":1829
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             decl = type.declaration_code(name)
 *             if type.is_pyobject:             # <<<<<<<<<<<<<<
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1829, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_11) {

      /* "Cython/Compiler/Code.py":1830
 *             decl = type.declaration_code(name)
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)             # <<<<<<<<<<<<<<
 *             elif type.is_memoryviewslice:
 *                 from . import MemoryView
 */
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1830, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_s_NULL, __pyx_v_decl); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1830, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_8, function);
        }
      }
      if (!__pyx_t_7) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1830, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_8)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1830, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1830, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1830, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
          __pyx_t_6 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1830, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":1829
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             decl = type.declaration_code(name)
 *             if type.is_pyobject:             # <<<<<<<<<<<<<<
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:
 */
      goto __pyx_L7;
    }

    /* "Cython/Compiler/Code.py":1831
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *                 from . import MemoryView
 *                 self.putln("%s = %s;" % (decl, MemoryView.memslice_entry_init))
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_memoryviewslice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1831, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_11) {

      /* "Cython/Compiler/Code.py":1832
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:
 *                 from . import MemoryView             # <<<<<<<<<<<<<<
 *                 self.putln("%s = %s;" % (decl, MemoryView.memslice_entry_init))
 *             else:
 */
      __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_n_s_MemoryView);
      __Pyx_GIVEREF(__pyx_n_s_MemoryView);
      PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_MemoryView);
      __pyx_t_8 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_8, __pyx_n_s_MemoryView); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_MemoryView, __pyx_t_1);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":1833
 *             elif type.is_memoryviewslice:
 *                 from . import MemoryView
 *                 self.putln("%s = %s;" % (decl, MemoryView.memslice_entry_init))             # <<<<<<<<<<<<<<
 *             else:
 *                 self.putln("%s%s;" % (static and "static " or "", decl))
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_MemoryView, __pyx_n_s_memslice_entry_init); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_decl);
      __Pyx_GIVEREF(__pyx_v_decl);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_decl);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s_s_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_6) {
        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1833, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_8);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1833, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1833, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        {
          __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1833, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
          __Pyx_GIVEREF(__pyx_t_5);
          PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
          __pyx_t_5 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1833, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "Cython/Compiler/Code.py":1831
 *             if type.is_pyobject:
 *                 self.putln("%s = NULL;" % decl)
 *             elif type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *                 from . import MemoryView
 *                 self.putln("%s = %s;" % (decl, MemoryView.memslice_entry_init))
 */
      goto __pyx_L7;
    }

    /* "Cython/Compiler/Code.py":1835
 *                 self.putln("%s = %s;" % (decl, MemoryView.memslice_entry_init))
 *             else:
 *                 self.putln("%s%s;" % (static and "static " or "", decl))             # <<<<<<<<<<<<<<
 * 
 *         if func_context.should_declare_error_indicator:
 */
    /*else*/ {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1835, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_static); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1835, __pyx_L1_error)
      if (!__pyx_t_11) {
        goto __pyx_L9_next_or;
      } else {
      }
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_kp_s_static_2); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1835, __pyx_L1_error)
      if (!__pyx_t_11) {
      } else {
        __Pyx_INCREF(__pyx_kp_s_static_2);
        __pyx_t_7 = __pyx_kp_s_static_2;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_L9_next_or:;
      __Pyx_INCREF(__pyx_kp_s__8);
      __pyx_t_7 = __pyx_kp_s__8;
      __pyx_L8_bool_binop_done:;
      __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1835, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7);
      __Pyx_INCREF(__pyx_v_decl);
      __Pyx_GIVEREF(__pyx_v_decl);
      PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_decl);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_s_s_5, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1835, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1835, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_8);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1835, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1835, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1835, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_7);
          __pyx_t_7 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1835, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __pyx_L7:;

    /* "Cython/Compiler/Code.py":1827
 * 
 *     def put_temp_declarations(self, func_context):
 *         for name, type, manage_ref, static in func_context.temps_allocated:             # <<<<<<<<<<<<<<
 *             decl = type.declaration_code(name)
 *             if type.is_pyobject:
 */
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1837
 *                 self.putln("%s%s;" % (static and "static " or "", decl))
 * 
 *         if func_context.should_declare_error_indicator:             # <<<<<<<<<<<<<<
 *             if self.funcstate.uses_error_indicator:
 *                 unused = ''
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_func_context, __pyx_n_s_should_declare_error_indicator); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_11) {

    /* "Cython/Compiler/Code.py":1838
 * 
 *         if func_context.should_declare_error_indicator:
 *             if self.funcstate.uses_error_indicator:             # <<<<<<<<<<<<<<
 *                 unused = ''
 *             else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uses_error_indicator); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1838, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_11) {

      /* "Cython/Compiler/Code.py":1839
 *         if func_context.should_declare_error_indicator:
 *             if self.funcstate.uses_error_indicator:
 *                 unused = ''             # <<<<<<<<<<<<<<
 *             else:
 *                 unused = 'CYTHON_UNUSED '
 */
      __Pyx_INCREF(__pyx_kp_s__8);
      __pyx_v_unused = __pyx_kp_s__8;

      /* "Cython/Compiler/Code.py":1838
 * 
 *         if func_context.should_declare_error_indicator:
 *             if self.funcstate.uses_error_indicator:             # <<<<<<<<<<<<<<
 *                 unused = ''
 *             else:
 */
      goto __pyx_L12;
    }

    /* "Cython/Compiler/Code.py":1841
 *                 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_kp_s_CYTHON_UNUSED);
      __pyx_v_unused = __pyx_kp_s_CYTHON_UNUSED;
    }
    __pyx_L12:;

    /* "Cython/Compiler/Code.py":1843
 *                 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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_lineno_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_v_unused);
    __Pyx_GIVEREF(__pyx_v_unused);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_unused);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_sint_s_0, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1843, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_8);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_1};
        __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1843, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_1};
        __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1843, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_1);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_1);
        __pyx_t_1 = 0;
        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1844
 *             # 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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_filename_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_unused);
    __Pyx_GIVEREF(__pyx_v_unused);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_unused);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_7);
    __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_sconst_char_s_NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_1) {
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1844, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_8);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_7};
        __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1844, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_7};
        __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1844, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1844, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = NULL;
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_7);
        __pyx_t_7 = 0;
        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1844, __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_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1845
 *             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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_clineno_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_INCREF(__pyx_v_unused);
    __Pyx_GIVEREF(__pyx_v_unused);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_unused);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_sint_s_0, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1845, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_8);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
        __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1845, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
        __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1845, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_1 = PyTuple_New(1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1845, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_1, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1845, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":1837
 *                 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":1826
 *         self.putln(";")
 * 
 *     def put_temp_declarations(self, func_context):             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             decl = type.declaration_code(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __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_MemoryView);
  __Pyx_XDECREF(__pyx_v_unused);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1847
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
 *     def put_generated_by(self):             # <<<<<<<<<<<<<<
 *         self.putln("/[inserted by cython to avoid comment start]* Generated by Cython %s *[inserted by cython to avoid comment closer]/" % Version.watermark)
 *         self.putln("")
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_103put_generated_by(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_103put_generated_by = {"put_generated_by", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_103put_generated_by, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_103put_generated_by(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_generated_by (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_102put_generated_by(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_102put_generated_by(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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("put_generated_by", 0);

  /* "Cython/Compiler/Code.py":1848
 * 
 *     def put_generated_by(self):
 *         self.putln("/[inserted by cython to avoid comment start]* Generated by Cython %s *[inserted by cython to avoid comment closer]/" % Version.watermark)             # <<<<<<<<<<<<<<
 *         self.putln("")
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_Version); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_watermark); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Generated_by_Cython_s, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1848, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1848, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1848, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1848, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1849
 *     def put_generated_by(self):
 *         self.putln("/[inserted by cython to avoid comment start]* Generated by Cython %s *[inserted by cython to avoid comment closer]/" % Version.watermark)
 *         self.putln("")             # <<<<<<<<<<<<<<
 * 
 *     def put_h_guard(self, guard):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__126, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1849, __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":1847
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
 *     def put_generated_by(self):             # <<<<<<<<<<<<<<
 *         self.putln("/[inserted by cython to avoid comment start]* Generated by Cython %s *[inserted by cython to avoid comment closer]/" % Version.watermark)
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":1851
 *         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_105put_h_guard(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_105put_h_guard = {"put_h_guard", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_105put_h_guard, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_105put_h_guard(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_guard = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_h_guard (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_guard,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_guard)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_h_guard", 1, 2, 2, 1); __PYX_ERR(0, 1851, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_h_guard") < 0)) __PYX_ERR(0, 1851, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_guard = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_h_guard", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1851, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_h_guard", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_104put_h_guard(__pyx_self, __pyx_v_self, __pyx_v_guard);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_104put_h_guard(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_guard) {
  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;
  __Pyx_RefNannySetupContext("put_h_guard", 0);

  /* "Cython/Compiler/Code.py":1852
 * 
 *     def put_h_guard(self, guard):
 *         self.putln("#ifndef %s" % guard)             # <<<<<<<<<<<<<<
 *         self.putln("#define %s" % guard)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_ifndef_s, __pyx_v_guard); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1852, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1852, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1852, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1852, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1852, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1853
 *     def put_h_guard(self, guard):
 *         self.putln("#ifndef %s" % guard)
 *         self.putln("#define %s" % guard)             # <<<<<<<<<<<<<<
 * 
 *     def unlikely(self, cond):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_define_s, __pyx_v_guard); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1853, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1853, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1853, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1851
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":1855
 *         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_107unlikely(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_107unlikely = {"unlikely", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_107unlikely, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_107unlikely(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cond = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("unlikely (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cond,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cond)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("unlikely", 1, 2, 2, 1); __PYX_ERR(0, 1855, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "unlikely") < 0)) __PYX_ERR(0, 1855, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_cond = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("unlikely", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1855, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.unlikely", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_106unlikely(__pyx_self, __pyx_v_self, __pyx_v_cond);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_106unlikely(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_cond) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("unlikely", 0);

  /* "Cython/Compiler/Code.py":1856
 * 
 *     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_n_s_gcc_branch_hints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1856, __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, 1856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1857
 *     def unlikely(self, cond):
 *         if Options.gcc_branch_hints:
 *             return 'unlikely(%s)' % cond             # <<<<<<<<<<<<<<
 *         else:
 *             return cond
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_unlikely_s, __pyx_v_cond); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1856
 * 
 *     def unlikely(self, cond):
 *         if Options.gcc_branch_hints:             # <<<<<<<<<<<<<<
 *             return 'unlikely(%s)' % cond
 *         else:
 */
  }

  /* "Cython/Compiler/Code.py":1859
 *             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":1855
 *         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":1861
 *             return cond
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):             # <<<<<<<<<<<<<<
 *         if not modifiers:
 *             return ''
 */

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_12__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__defaults__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self)->__pyx_arg_mapper);
  __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self)->__pyx_arg_mapper);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self)->__pyx_arg_mapper);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
  __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_11CCodeWriter_109build_function_modifiers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_109build_function_modifiers = {"build_function_modifiers", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_109build_function_modifiers, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_109build_function_modifiers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_modifiers = 0;
  PyObject *__pyx_v_mapper = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("build_function_modifiers (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_modifiers,&__pyx_n_s_mapper,0};
    PyObject* values[3] = {0,0,0};
    __pyx_defaults3 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self);
    values[2] = __pyx_dynamic_args->__pyx_arg_mapper;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_modifiers)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("build_function_modifiers", 0, 2, 3, 1); __PYX_ERR(0, 1861, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mapper);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "build_function_modifiers") < 0)) __PYX_ERR(0, 1861, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_modifiers = values[1];
    __pyx_v_mapper = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("build_function_modifiers", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1861, __pyx_L3_error)
  __pyx_L3_error:;
  __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_108build_function_modifiers(__pyx_self, __pyx_v_self, __pyx_v_modifiers, __pyx_v_mapper);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_108build_function_modifiers(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_modifiers, PyObject *__pyx_v_mapper) {
  PyObject *__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;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  __Pyx_RefNannySetupContext("build_function_modifiers", 0);

  /* "Cython/Compiler/Code.py":1862
 * 
 *     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, 1862, __pyx_L1_error)
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1863
 *     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_kp_s__8);
    __pyx_r = __pyx_kp_s__8;
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1862
 * 
 *     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":1864
 *         if not modifiers:
 *             return ''
 *         return '%s ' % ' '.join([mapper(m,m) for m in modifiers])             # <<<<<<<<<<<<<<
 * 
 *     # Python objects and reference counting
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1864, __pyx_L1_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, 1864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1864, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1864, __pyx_L1_error)
        #else
        __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1864, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        #endif
      } else {
        if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1864, __pyx_L1_error)
        #else
        __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1864, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        #endif
      }
    } else {
      __pyx_t_7 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_7)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1864, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_7);
    }
    __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_INCREF(__pyx_v_mapper);
    __pyx_t_8 = __pyx_v_mapper; __pyx_t_9 = NULL;
    __pyx_t_10 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
        __pyx_t_10 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_8)) {
      PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_m, __pyx_v_m};
      __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1864, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_7);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
      PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_m, __pyx_v_m};
      __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1864, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_7);
    } else
    #endif
    {
      __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (__pyx_t_9) {
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL;
      }
      __Pyx_INCREF(__pyx_v_m);
      __Pyx_GIVEREF(__pyx_v_m);
      PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_v_m);
      __Pyx_INCREF(__pyx_v_m);
      __Pyx_GIVEREF(__pyx_v_m);
      PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_v_m);
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 1864, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyString_Join(__pyx_kp_s__127, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_11, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1864, __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":1861
 *             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_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.build_function_modifiers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1868
 *     # 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_111entry_as_pyobject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_111entry_as_pyobject = {"entry_as_pyobject", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_111entry_as_pyobject, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_111entry_as_pyobject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("entry_as_pyobject (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("entry_as_pyobject", 1, 2, 2, 1); __PYX_ERR(0, 1868, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "entry_as_pyobject") < 0)) __PYX_ERR(0, 1868, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("entry_as_pyobject", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1868, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.entry_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_110entry_as_pyobject(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_110entry_as_pyobject(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__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;
  __Pyx_RefNannySetupContext("entry_as_pyobject", 0);

  /* "Cython/Compiler/Code.py":1869
 * 
 *     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_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_type = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1870
 *     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_n_s_is_self_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1870, __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, 1870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((!__pyx_t_3) != 0);
  if (!__pyx_t_4) {
    goto __pyx_L5_next_or;
  } else {
  }
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_is_complete); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1870, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1870, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  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":1871
 *         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_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_extension_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1871, __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, 1871, __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":1870
 *     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":1872
 *         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_n_s_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = PyNumber_Add(__pyx_kp_s_PyObject, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1872, __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":1870
 *     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":1874
 *             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_n_s_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }

  /* "Cython/Compiler/Code.py":1868
 *     # 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":1876
 *             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_113as_pyobject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_113as_pyobject = {"as_pyobject", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_113as_pyobject, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_113as_pyobject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("as_pyobject (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("as_pyobject", 1, 3, 3, 1); __PYX_ERR(0, 1876, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("as_pyobject", 1, 3, 3, 2); __PYX_ERR(0, 1876, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "as_pyobject") < 0)) __PYX_ERR(0, 1876, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("as_pyobject", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1876, __pyx_L3_error)
  __pyx_L3_error:;
  __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_112as_pyobject(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_112as_pyobject(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__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;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("as_pyobject", 0);

  /* "Cython/Compiler/Code.py":1877
 * 
 *     def as_pyobject(self, cname, type):
 *         from .PyrexTypes import py_object_type, typecast             # <<<<<<<<<<<<<<
 *         return typecast(py_object_type, type, cname)
 * 
 */
  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_py_object_type);
  __Pyx_GIVEREF(__pyx_n_s_py_object_type);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_py_object_type);
  __Pyx_INCREF(__pyx_n_s_typecast);
  __Pyx_GIVEREF(__pyx_n_s_typecast);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_typecast);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_PyrexTypes, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_py_object_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_py_object_type = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_typecast); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_typecast = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":1878
 *     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):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_typecast);
  __pyx_t_1 = __pyx_v_typecast; __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_py_object_type, __pyx_v_type, __pyx_v_cname};
    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1878, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_py_object_type, __pyx_v_type, __pyx_v_cname};
    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1878, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_v_py_object_type);
    __Pyx_GIVEREF(__pyx_v_py_object_type);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_py_object_type);
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_cname);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 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":1876
 *             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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __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":1880
 *         return typecast(py_object_type, type, cname)
 * 
 *     def put_gotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GOTREF(%s);" % cname)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_115put_gotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_115put_gotref = {"put_gotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_115put_gotref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_115put_gotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_gotref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_gotref", 1, 2, 2, 1); __PYX_ERR(0, 1880, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_gotref") < 0)) __PYX_ERR(0, 1880, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_gotref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1880, __pyx_L3_error)
  __pyx_L3_error:;
  __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_114put_gotref(__pyx_self, __pyx_v_self, __pyx_v_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_114put_gotref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname) {
  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;
  __Pyx_RefNannySetupContext("put_gotref", 0);

  /* "Cython/Compiler/Code.py":1881
 * 
 *     def put_gotref(self, cname):
 *         self.putln("__Pyx_GOTREF(%s);" % cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_giveref(self, cname):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_GOTREF_s, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1881, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1881, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1881, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1881, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1881, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1880
 *         return typecast(py_object_type, type, cname)
 * 
 *     def put_gotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GOTREF(%s);" % 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.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":1883
 *         self.putln("__Pyx_GOTREF(%s);" % cname)
 * 
 *     def put_giveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_117put_giveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_117put_giveref = {"put_giveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_117put_giveref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_117put_giveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_giveref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_giveref", 1, 2, 2, 1); __PYX_ERR(0, 1883, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_giveref") < 0)) __PYX_ERR(0, 1883, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_giveref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1883, __pyx_L3_error)
  __pyx_L3_error:;
  __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_116put_giveref(__pyx_self, __pyx_v_self, __pyx_v_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_116put_giveref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname) {
  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;
  __Pyx_RefNannySetupContext("put_giveref", 0);

  /* "Cython/Compiler/Code.py":1884
 * 
 *     def put_giveref(self, cname):
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_xgiveref(self, cname):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_GIVEREF_s, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1884, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1884, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1884, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1884, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1884, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1883
 *         self.putln("__Pyx_GOTREF(%s);" % cname)
 * 
 *     def put_giveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GIVEREF(%s);" % 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.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":1886
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)
 * 
 *     def put_xgiveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_119put_xgiveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_119put_xgiveref = {"put_xgiveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_119put_xgiveref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_119put_xgiveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_xgiveref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xgiveref", 1, 2, 2, 1); __PYX_ERR(0, 1886, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_xgiveref") < 0)) __PYX_ERR(0, 1886, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_xgiveref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1886, __pyx_L3_error)
  __pyx_L3_error:;
  __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_118put_xgiveref(__pyx_self, __pyx_v_self, __pyx_v_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_118put_xgiveref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname) {
  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;
  __Pyx_RefNannySetupContext("put_xgiveref", 0);

  /* "Cython/Compiler/Code.py":1887
 * 
 *     def put_xgiveref(self, cname):
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_xgotref(self, cname):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XGIVEREF_s, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1887, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1887, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1887, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1886
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)
 * 
 *     def put_xgiveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGIVEREF(%s);" % 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.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":1889
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)
 * 
 *     def put_xgotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_121put_xgotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_121put_xgotref = {"put_xgotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_121put_xgotref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_121put_xgotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_xgotref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xgotref", 1, 2, 2, 1); __PYX_ERR(0, 1889, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_xgotref") < 0)) __PYX_ERR(0, 1889, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_xgotref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1889, __pyx_L3_error)
  __pyx_L3_error:;
  __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_120put_xgotref(__pyx_self, __pyx_v_self, __pyx_v_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_120put_xgotref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname) {
  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;
  __Pyx_RefNannySetupContext("put_xgotref", 0);

  /* "Cython/Compiler/Code.py":1890
 * 
 *     def put_xgotref(self, cname):
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_incref(self, cname, type, nanny=True):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XGOTREF_s, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1890, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1890, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1890, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1889
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)
 * 
 *     def put_xgotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGOTREF(%s);" % 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.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":1892
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)
 * 
 *     def put_incref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         if nanny:
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_123put_incref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_123put_incref = {"put_incref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_123put_incref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_123put_incref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_incref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,&__pyx_n_s_nanny,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_incref", 0, 3, 4, 1); __PYX_ERR(0, 1892, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_incref", 0, 3, 4, 2); __PYX_ERR(0, 1892, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_incref") < 0)) __PYX_ERR(0, 1892, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
    __pyx_v_nanny = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_incref", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1892, __pyx_L3_error)
  __pyx_L3_error:;
  __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_122put_incref(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type, __pyx_v_nanny);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_122put_incref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny) {
  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;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("put_incref", 0);

  /* "Cython/Compiler/Code.py":1893
 * 
 *     def put_incref(self, cname, type, nanny=True):
 *         if nanny:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))
 *         else:
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_nanny); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1893, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":1894
 *     def put_incref(self, cname, type, nanny=True):
 *         if nanny:
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))             # <<<<<<<<<<<<<<
 *         else:
 *             self.putln("Py_INCREF(%s);" % self.as_pyobject(cname, type))
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_cname, __pyx_v_type};
      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1894, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_cname, __pyx_v_type};
      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1894, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else
    #endif
    {
      __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1894, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (__pyx_t_6) {
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
      }
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_cname);
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_type);
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1894, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_INCREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1894, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1894, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1894, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1894, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1894, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1893
 * 
 *     def put_incref(self, cname, type, nanny=True):
 *         if nanny:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))
 *         else:
 */
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":1896
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))
 *         else:
 *             self.putln("Py_INCREF(%s);" % self.as_pyobject(cname, type))             # <<<<<<<<<<<<<<
 * 
 *     def put_decref(self, cname, type, nanny=True):
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_cname, __pyx_v_type};
      __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1896, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_8);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_cname, __pyx_v_type};
      __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1896, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_8);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1896, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_cname);
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_type);
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1896, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Py_INCREF_s, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_8) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1896, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1896, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1896, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1896, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1896, __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_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":1892
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)
 * 
 *     def put_incref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         if nanny:
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_8);
  __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":1898
 *             self.putln("Py_INCREF(%s);" % self.as_pyobject(cname, type))
 * 
 *     def put_decref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_125put_decref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_125put_decref = {"put_decref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_125put_decref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_125put_decref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_decref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,&__pyx_n_s_nanny,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_decref", 0, 3, 4, 1); __PYX_ERR(0, 1898, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_decref", 0, 3, 4, 2); __PYX_ERR(0, 1898, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_decref") < 0)) __PYX_ERR(0, 1898, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
    __pyx_v_nanny = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_decref", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1898, __pyx_L3_error)
  __pyx_L3_error:;
  __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_124put_decref(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type, __pyx_v_nanny);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_124put_decref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("put_decref", 0);

  /* "Cython/Compiler/Code.py":1899
 * 
 *     def put_decref(self, cname, type, nanny=True):
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_gotref(self, entry):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_decref); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
  __Pyx_INCREF(__pyx_v_nanny);
  __Pyx_GIVEREF(__pyx_v_nanny);
  PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_nanny);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_null_check, Py_False) < 0) __PYX_ERR(0, 1899, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_clear, Py_False) < 0) __PYX_ERR(0, 1899, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1899, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1898
 *             self.putln("Py_INCREF(%s);" % self.as_pyobject(cname, type))
 * 
 *     def put_decref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 */

  /* 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_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":1901
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 *     def put_var_gotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_127put_var_gotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_127put_var_gotref = {"put_var_gotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_127put_var_gotref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_127put_var_gotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_gotref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_gotref", 1, 2, 2, 1); __PYX_ERR(0, 1901, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_gotref") < 0)) __PYX_ERR(0, 1901, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_gotref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1901, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_gotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_gotref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_126put_var_gotref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_gotref", 0);

  /* "Cython/Compiler/Code.py":1902
 * 
 *     def put_var_gotref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1902, __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, 1902, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1903
 *     def put_var_gotref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_giveref(self, entry):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_GOTREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1903, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1903, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1902
 * 
 *     def put_var_gotref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1901
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 *     def put_var_gotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(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_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.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":1905
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_giveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_129put_var_giveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_129put_var_giveref = {"put_var_giveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_129put_var_giveref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_129put_var_giveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_giveref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_giveref", 1, 2, 2, 1); __PYX_ERR(0, 1905, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_giveref") < 0)) __PYX_ERR(0, 1905, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_giveref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1905, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_giveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_128put_var_giveref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_128put_var_giveref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_giveref", 0);

  /* "Cython/Compiler/Code.py":1906
 * 
 *     def put_var_giveref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1906, __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, 1906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1907
 *     def put_var_giveref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xgotref(self, entry):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1907, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_GIVEREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1907, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1907, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1906
 * 
 *     def put_var_giveref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1905
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_giveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(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_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.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":1909
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_131put_var_xgotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_131put_var_xgotref = {"put_var_xgotref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_131put_var_xgotref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_131put_var_xgotref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_xgotref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_xgotref", 1, 2, 2, 1); __PYX_ERR(0, 1909, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_xgotref") < 0)) __PYX_ERR(0, 1909, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_xgotref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1909, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xgotref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_130put_var_xgotref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_130put_var_xgotref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_xgotref", 0);

  /* "Cython/Compiler/Code.py":1910
 * 
 *     def put_var_xgotref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1910, __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, 1910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1911
 *     def put_var_xgotref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xgiveref(self, entry):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1911, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XGOTREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1911, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1911, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1910
 * 
 *     def put_var_xgotref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1909
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(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_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.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":1913
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgiveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_133put_var_xgiveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_133put_var_xgiveref = {"put_var_xgiveref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_133put_var_xgiveref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_133put_var_xgiveref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_xgiveref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_xgiveref", 1, 2, 2, 1); __PYX_ERR(0, 1913, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_xgiveref") < 0)) __PYX_ERR(0, 1913, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_xgiveref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1913, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xgiveref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_132put_var_xgiveref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_132put_var_xgiveref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_xgiveref", 0);

  /* "Cython/Compiler/Code.py":1914
 * 
 *     def put_var_xgiveref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1914, __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, 1914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1915
 *     def put_var_xgiveref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_incref(self, entry):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1915, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XGIVEREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1915, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1915, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1914
 * 
 *     def put_var_xgiveref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1913
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgiveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(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_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.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":1917
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_incref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_135put_var_incref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_135put_var_incref = {"put_var_incref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_135put_var_incref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_135put_var_incref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_incref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_incref", 1, 2, 2, 1); __PYX_ERR(0, 1917, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_incref") < 0)) __PYX_ERR(0, 1917, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_incref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1917, __pyx_L3_error)
  __pyx_L3_error:;
  __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_134put_var_incref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_134put_var_incref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_incref", 0);

  /* "Cython/Compiler/Code.py":1918
 * 
 *     def put_var_incref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1918, __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, 1918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1919
 *     def put_var_incref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xincref(self, entry):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1919, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_INCREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1919, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1919, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1918
 * 
 *     def put_var_incref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1917
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_incref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(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_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.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":1921
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xincref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_137put_var_xincref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_137put_var_xincref = {"put_var_xincref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_137put_var_xincref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_137put_var_xincref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_xincref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_xincref", 1, 2, 2, 1); __PYX_ERR(0, 1921, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_xincref") < 0)) __PYX_ERR(0, 1921, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_xincref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1921, __pyx_L3_error)
  __pyx_L3_error:;
  __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_136put_var_xincref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_136put_var_xincref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_xincref", 0);

  /* "Cython/Compiler/Code.py":1922
 * 
 *     def put_var_xincref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1922, __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, 1922, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1923
 *     def put_var_xincref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1923, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XINCREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1923, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1922
 * 
 *     def put_var_xincref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1921
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xincref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(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_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.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":1925
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_139put_decref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_139put_decref_clear = {"put_decref_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_139put_decref_clear, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_139put_decref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_v_clear_before_decref = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_decref_clear (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,&__pyx_n_s_nanny,&__pyx_n_s_clear_before_decref,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    values[4] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_decref_clear", 0, 3, 5, 1); __PYX_ERR(0, 1925, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_decref_clear", 0, 3, 5, 2); __PYX_ERR(0, 1925, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_clear_before_decref);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_decref_clear") < 0)) __PYX_ERR(0, 1925, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
    __pyx_v_nanny = values[3];
    __pyx_v_clear_before_decref = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_decref_clear", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1925, __pyx_L3_error)
  __pyx_L3_error:;
  __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_138put_decref_clear(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type, __pyx_v_nanny, __pyx_v_clear_before_decref);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_138put_decref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_clear_before_decref) {
  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;
  __Pyx_RefNannySetupContext("put_decref_clear", 0);

  /* "Cython/Compiler/Code.py":1926
 * 
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 *         self._put_decref(cname, type, nanny, null_check=False,             # <<<<<<<<<<<<<<
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_decref); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
  __Pyx_INCREF(__pyx_v_nanny);
  __Pyx_GIVEREF(__pyx_v_nanny);
  PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_nanny);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_null_check, Py_False) < 0) __PYX_ERR(0, 1926, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1927
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 *         self._put_decref(cname, type, nanny, null_check=False,
 *                          clear=True, clear_before_decref=clear_before_decref)             # <<<<<<<<<<<<<<
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):
 */
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_clear, Py_True) < 0) __PYX_ERR(0, 1926, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_clear_before_decref, __pyx_v_clear_before_decref) < 0) __PYX_ERR(0, 1926, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1926
 * 
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 *         self._put_decref(cname, type, nanny, null_check=False,             # <<<<<<<<<<<<<<
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1926, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1925
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */

  /* 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_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":1929
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          have_gil=have_gil, clear=False)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_141put_xdecref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_141put_xdecref = {"put_xdecref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_141put_xdecref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_141put_xdecref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_v_have_gil = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_xdecref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,&__pyx_n_s_nanny,&__pyx_n_s_have_gil,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    values[4] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xdecref", 0, 3, 5, 1); __PYX_ERR(0, 1929, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xdecref", 0, 3, 5, 2); __PYX_ERR(0, 1929, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_have_gil);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_xdecref") < 0)) __PYX_ERR(0, 1929, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
    __pyx_v_nanny = values[3];
    __pyx_v_have_gil = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_xdecref", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1929, __pyx_L3_error)
  __pyx_L3_error:;
  __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_140put_xdecref(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type, __pyx_v_nanny, __pyx_v_have_gil);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_140put_xdecref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("put_xdecref", 0);

  /* "Cython/Compiler/Code.py":1930
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):
 *         self._put_decref(cname, type, nanny, null_check=True,             # <<<<<<<<<<<<<<
 *                          have_gil=have_gil, clear=False)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_decref); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
  __Pyx_INCREF(__pyx_v_nanny);
  __Pyx_GIVEREF(__pyx_v_nanny);
  PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_nanny);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_null_check, Py_True) < 0) __PYX_ERR(0, 1930, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1931
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          have_gil=have_gil, clear=False)             # <<<<<<<<<<<<<<
 * 
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 */
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_have_gil, __pyx_v_have_gil) < 0) __PYX_ERR(0, 1930, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_clear, Py_False) < 0) __PYX_ERR(0, 1930, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1930
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):
 *         self._put_decref(cname, type, nanny, null_check=True,             # <<<<<<<<<<<<<<
 *                          have_gil=have_gil, clear=False)
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1930, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1929
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          have_gil=have_gil, clear=False)
 */

  /* 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_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":1933
 *                          have_gil=have_gil, clear=False)
 * 
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_143put_xdecref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_143put_xdecref_clear = {"put_xdecref_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_143put_xdecref_clear, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_143put_xdecref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_v_clear_before_decref = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_xdecref_clear (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,&__pyx_n_s_nanny,&__pyx_n_s_clear_before_decref,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    values[4] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xdecref_clear", 0, 3, 5, 1); __PYX_ERR(0, 1933, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xdecref_clear", 0, 3, 5, 2); __PYX_ERR(0, 1933, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_clear_before_decref);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_xdecref_clear") < 0)) __PYX_ERR(0, 1933, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
    __pyx_v_nanny = values[3];
    __pyx_v_clear_before_decref = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_xdecref_clear", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1933, __pyx_L3_error)
  __pyx_L3_error:;
  __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_142put_xdecref_clear(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type, __pyx_v_nanny, __pyx_v_clear_before_decref);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_142put_xdecref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_clear_before_decref) {
  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;
  __Pyx_RefNannySetupContext("put_xdecref_clear", 0);

  /* "Cython/Compiler/Code.py":1934
 * 
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 *         self._put_decref(cname, type, nanny, null_check=True,             # <<<<<<<<<<<<<<
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_decref); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_type);
  __Pyx_GIVEREF(__pyx_v_type);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type);
  __Pyx_INCREF(__pyx_v_nanny);
  __Pyx_GIVEREF(__pyx_v_nanny);
  PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_nanny);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_null_check, Py_True) < 0) __PYX_ERR(0, 1934, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1935
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          clear=True, clear_before_decref=clear_before_decref)             # <<<<<<<<<<<<<<
 * 
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,
 */
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_clear, Py_True) < 0) __PYX_ERR(0, 1934, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_clear_before_decref, __pyx_v_clear_before_decref) < 0) __PYX_ERR(0, 1934, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1934
 * 
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):
 *         self._put_decref(cname, type, nanny, null_check=True,             # <<<<<<<<<<<<<<
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1934, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1933
 *                          have_gil=have_gil, clear=False)
 * 
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */

  /* 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_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":1937
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,             # <<<<<<<<<<<<<<
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_145_put_decref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_145_put_decref = {"_put_decref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_145_put_decref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_145_put_decref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_v_null_check = 0;
  PyObject *__pyx_v_have_gil = 0;
  PyObject *__pyx_v_clear = 0;
  PyObject *__pyx_v_clear_before_decref = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_put_decref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,&__pyx_n_s_nanny,&__pyx_n_s_null_check,&__pyx_n_s_have_gil,&__pyx_n_s_clear,&__pyx_n_s_clear_before_decref,0};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    values[4] = ((PyObject *)((PyObject *)Py_False));

    /* "Cython/Compiler/Code.py":1938
 * 
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,
 *                     have_gil=True, clear=False, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         if type.is_memoryviewslice:
 *             self.put_xdecref_memoryviewslice(cname, have_gil=have_gil)
 */
    values[5] = ((PyObject *)((PyObject *)Py_True));
    values[6] = ((PyObject *)((PyObject *)Py_False));
    values[7] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_put_decref", 0, 3, 8, 1); __PYX_ERR(0, 1937, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_put_decref", 0, 3, 8, 2); __PYX_ERR(0, 1937, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_null_check);
          if (value) { values[4] = value; kw_args--; }
        }
        case  5:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_have_gil);
          if (value) { values[5] = value; kw_args--; }
        }
        case  6:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_clear);
          if (value) { values[6] = value; kw_args--; }
        }
        case  7:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_clear_before_decref);
          if (value) { values[7] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_put_decref") < 0)) __PYX_ERR(0, 1937, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
    __pyx_v_nanny = values[3];
    __pyx_v_null_check = values[4];
    __pyx_v_have_gil = values[5];
    __pyx_v_clear = values[6];
    __pyx_v_clear_before_decref = values[7];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_put_decref", 0, 3, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1937, __pyx_L3_error)
  __pyx_L3_error:;
  __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_144_put_decref(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type, __pyx_v_nanny, __pyx_v_null_check, __pyx_v_have_gil, __pyx_v_clear, __pyx_v_clear_before_decref);

  /* "Cython/Compiler/Code.py":1937
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,             # <<<<<<<<<<<<<<
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:
 */

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_144_put_decref(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_type, PyObject *__pyx_v_nanny, PyObject *__pyx_v_null_check, PyObject *__pyx_v_have_gil, PyObject *__pyx_v_clear, PyObject *__pyx_v_clear_before_decref) {
  PyObject *__pyx_v_prefix = NULL;
  PyObject *__pyx_v_X = 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;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("_put_decref", 0);

  /* "Cython/Compiler/Code.py":1939
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *             self.put_xdecref_memoryviewslice(cname, have_gil=have_gil)
 *             return
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_is_memoryviewslice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1939, __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, 1939, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1940
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:
 *             self.put_xdecref_memoryviewslice(cname, have_gil=have_gil)             # <<<<<<<<<<<<<<
 *             return
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_xdecref_memoryviewslice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_cname);
    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_have_gil, __pyx_v_have_gil) < 0) __PYX_ERR(0, 1940, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __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;

    /* "Cython/Compiler/Code.py":1941
 *         if type.is_memoryviewslice:
 *             self.put_xdecref_memoryviewslice(cname, have_gil=have_gil)
 *             return             # <<<<<<<<<<<<<<
 * 
 *         prefix = nanny and '__Pyx' or 'Py'
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "Cython/Compiler/Code.py":1939
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:             # <<<<<<<<<<<<<<
 *             self.put_xdecref_memoryviewslice(cname, have_gil=have_gil)
 *             return
 */
  }

  /* "Cython/Compiler/Code.py":1943
 *             return
 * 
 *         prefix = nanny and '__Pyx' or 'Py'             # <<<<<<<<<<<<<<
 *         X = null_check and 'X' or ''
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_nanny); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1943, __pyx_L1_error)
  if (!__pyx_t_2) {
    goto __pyx_L5_next_or;
  } else {
  }
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_n_s_Pyx); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1943, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_n_s_Pyx);
    __pyx_t_5 = __pyx_n_s_Pyx;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_L5_next_or:;
  __Pyx_INCREF(__pyx_n_s_Py);
  __pyx_t_5 = __pyx_n_s_Py;
  __pyx_L4_bool_binop_done:;
  __pyx_v_prefix = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1944
 * 
 *         prefix = nanny and '__Pyx' or 'Py'
 *         X = null_check and 'X' or ''             # <<<<<<<<<<<<<<
 * 
 *         if clear:
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_null_check); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1944, __pyx_L1_error)
  if (!__pyx_t_2) {
    goto __pyx_L8_next_or;
  } else {
  }
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_n_s_X); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1944, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_n_s_X);
    __pyx_t_5 = __pyx_n_s_X;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_L8_next_or:;
  __Pyx_INCREF(__pyx_kp_s__8);
  __pyx_t_5 = __pyx_kp_s__8;
  __pyx_L7_bool_binop_done:;
  __pyx_v_X = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":1946
 *         X = null_check and 'X' or ''
 * 
 *         if clear:             # <<<<<<<<<<<<<<
 *             if clear_before_decref:
 *                 if not nanny:
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_clear); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1946, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":1947
 * 
 *         if clear:
 *             if clear_before_decref:             # <<<<<<<<<<<<<<
 *                 if not nanny:
 *                     X = ''  # CPython doesn't have a Py_XCLEAR()
 */
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_clear_before_decref); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1947, __pyx_L1_error)
    if (__pyx_t_2) {

      /* "Cython/Compiler/Code.py":1948
 *         if clear:
 *             if clear_before_decref:
 *                 if not nanny:             # <<<<<<<<<<<<<<
 *                     X = ''  # CPython doesn't have a Py_XCLEAR()
 *                 self.putln("%s_%sCLEAR(%s);" % (prefix, X, cname))
 */
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_nanny); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1948, __pyx_L1_error)
      __pyx_t_6 = ((!__pyx_t_2) != 0);
      if (__pyx_t_6) {

        /* "Cython/Compiler/Code.py":1949
 *             if clear_before_decref:
 *                 if not nanny:
 *                     X = ''  # CPython doesn't have a Py_XCLEAR()             # <<<<<<<<<<<<<<
 *                 self.putln("%s_%sCLEAR(%s);" % (prefix, X, cname))
 *             else:
 */
        __Pyx_INCREF(__pyx_kp_s__8);
        __Pyx_DECREF_SET(__pyx_v_X, __pyx_kp_s__8);

        /* "Cython/Compiler/Code.py":1948
 *         if clear:
 *             if clear_before_decref:
 *                 if not nanny:             # <<<<<<<<<<<<<<
 *                     X = ''  # CPython doesn't have a Py_XCLEAR()
 *                 self.putln("%s_%sCLEAR(%s);" % (prefix, X, cname))
 */
      }

      /* "Cython/Compiler/Code.py":1950
 *                 if not nanny:
 *                     X = ''  # CPython doesn't have a Py_XCLEAR()
 *                 self.putln("%s_%sCLEAR(%s);" % (prefix, X, cname))             # <<<<<<<<<<<<<<
 *             else:
 *                 self.putln("%s_%sDECREF(%s); %s = 0;" % (
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_v_prefix);
      __Pyx_GIVEREF(__pyx_v_prefix);
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_prefix);
      __Pyx_INCREF(__pyx_v_X);
      __Pyx_GIVEREF(__pyx_v_X);
      PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_X);
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cname);
      __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s__sCLEAR_s, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_3) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1950, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_1};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1950, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_1};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1950, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        } else
        #endif
        {
          __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1950, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
          __Pyx_GIVEREF(__pyx_t_1);
          PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_1);
          __pyx_t_1 = 0;
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1950, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":1947
 * 
 *         if clear:
 *             if clear_before_decref:             # <<<<<<<<<<<<<<
 *                 if not nanny:
 *                     X = ''  # CPython doesn't have a Py_XCLEAR()
 */
      goto __pyx_L11;
    }

    /* "Cython/Compiler/Code.py":1952
 *                 self.putln("%s_%sCLEAR(%s);" % (prefix, X, cname))
 *             else:
 *                 self.putln("%s_%sDECREF(%s); %s = 0;" % (             # <<<<<<<<<<<<<<
 *                     prefix, X, self.as_pyobject(cname, type), cname))
 *         else:
 */
    /*else*/ {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1952, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);

      /* "Cython/Compiler/Code.py":1953
 *             else:
 *                 self.putln("%s_%sDECREF(%s); %s = 0;" % (
 *                     prefix, X, self.as_pyobject(cname, type), cname))             # <<<<<<<<<<<<<<
 *         else:
 *             self.putln("%s_%sDECREF(%s);" % (
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_as_pyobject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1953, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_cname, __pyx_v_type};
        __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1953, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_7);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_cname, __pyx_v_type};
        __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1953, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_7);
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1953, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__pyx_t_3) {
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL;
        }
        __Pyx_INCREF(__pyx_v_cname);
        __Pyx_GIVEREF(__pyx_v_cname);
        PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_v_cname);
        __Pyx_INCREF(__pyx_v_type);
        __Pyx_GIVEREF(__pyx_v_type);
        PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_type);
        __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1953, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1953, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_v_prefix);
      __Pyx_GIVEREF(__pyx_v_prefix);
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_prefix);
      __Pyx_INCREF(__pyx_v_X);
      __Pyx_GIVEREF(__pyx_v_X);
      PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_X);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_7);
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_cname);
      __pyx_t_7 = 0;

      /* "Cython/Compiler/Code.py":1952
 *                 self.putln("%s_%sCLEAR(%s);" % (prefix, X, cname))
 *             else:
 *                 self.putln("%s_%sDECREF(%s); %s = 0;" % (             # <<<<<<<<<<<<<<
 *                     prefix, X, self.as_pyobject(cname, type), cname))
 *         else:
 */
      __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_s__sDECREF_s_s_0, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1952, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_1)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_1);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_1) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1952, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_7};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1952, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_7};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1952, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        {
          __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1952, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1); __pyx_t_1 = NULL;
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_7);
          __pyx_t_7 = 0;
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1952, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __pyx_L11:;

    /* "Cython/Compiler/Code.py":1946
 *         X = null_check and 'X' or ''
 * 
 *         if clear:             # <<<<<<<<<<<<<<
 *             if clear_before_decref:
 *                 if not nanny:
 */
    goto __pyx_L10;
  }

  /* "Cython/Compiler/Code.py":1955
 *                     prefix, X, self.as_pyobject(cname, type), cname))
 *         else:
 *             self.putln("%s_%sDECREF(%s);" % (             # <<<<<<<<<<<<<<
 *                 prefix, X, self.as_pyobject(cname, type)))
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);

    /* "Cython/Compiler/Code.py":1956
 *         else:
 *             self.putln("%s_%sDECREF(%s);" % (
 *                 prefix, X, self.as_pyobject(cname, type)))             # <<<<<<<<<<<<<<
 * 
 *     def put_decref_set(self, cname, rhs_cname):
 */
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_as_pyobject); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = NULL;
    __pyx_t_8 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
        __pyx_t_8 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_7)) {
      PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_cname, __pyx_v_type};
      __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1956, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_9);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
      PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_cname, __pyx_v_type};
      __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1956, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_9);
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1956, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__pyx_t_1) {
        __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL;
      }
      __Pyx_INCREF(__pyx_v_cname);
      __Pyx_GIVEREF(__pyx_v_cname);
      PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_8, __pyx_v_cname);
      __Pyx_INCREF(__pyx_v_type);
      __Pyx_GIVEREF(__pyx_v_type);
      PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, __pyx_v_type);
      __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1956, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_INCREF(__pyx_v_prefix);
    __Pyx_GIVEREF(__pyx_v_prefix);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_prefix);
    __Pyx_INCREF(__pyx_v_X);
    __Pyx_GIVEREF(__pyx_v_X);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_X);
    __Pyx_GIVEREF(__pyx_t_9);
    PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_9);
    __pyx_t_9 = 0;

    /* "Cython/Compiler/Code.py":1955
 *                     prefix, X, self.as_pyobject(cname, type), cname))
 *         else:
 *             self.putln("%s_%sDECREF(%s);" % (             # <<<<<<<<<<<<<<
 *                 prefix, X, self.as_pyobject(cname, type)))
 * 
 */
    __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_s__sDECREF_s, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1955, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_9};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1955, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_9};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1955, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else
      #endif
      {
        __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1955, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_9);
        __pyx_t_9 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1955, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __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_L10:;

  /* "Cython/Compiler/Code.py":1937
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,             # <<<<<<<<<<<<<<
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:
 */

  /* 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_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter._put_decref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XDECREF(__pyx_v_X);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":1958
 *                 prefix, X, self.as_pyobject(cname, type)))
 * 
 *     def put_decref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_147put_decref_set(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_147put_decref_set = {"put_decref_set", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_147put_decref_set, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_147put_decref_set(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_rhs_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_decref_set (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_rhs_cname,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_decref_set", 1, 3, 3, 1); __PYX_ERR(0, 1958, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_rhs_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_decref_set", 1, 3, 3, 2); __PYX_ERR(0, 1958, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_decref_set") < 0)) __PYX_ERR(0, 1958, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_rhs_cname = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_decref_set", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1958, __pyx_L3_error)
  __pyx_L3_error:;
  __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_146put_decref_set(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_rhs_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_146put_decref_set(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_rhs_cname) {
  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;
  __Pyx_RefNannySetupContext("put_decref_set", 0);

  /* "Cython/Compiler/Code.py":1959
 * 
 *     def put_decref_set(self, cname, rhs_cname):
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))             # <<<<<<<<<<<<<<
 * 
 *     def put_xdecref_set(self, cname, rhs_cname):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_rhs_cname);
  __Pyx_GIVEREF(__pyx_v_rhs_cname);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_rhs_cname);
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_DECREF_SET_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1959, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1959, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1959, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1959, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1959, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1958
 *                 prefix, X, self.as_pyobject(cname, type)))
 * 
 *     def put_decref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":1961
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_xdecref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_149put_xdecref_set(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_149put_xdecref_set = {"put_xdecref_set", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_149put_xdecref_set, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_149put_xdecref_set(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_rhs_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_xdecref_set (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_rhs_cname,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xdecref_set", 1, 3, 3, 1); __PYX_ERR(0, 1961, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_rhs_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xdecref_set", 1, 3, 3, 2); __PYX_ERR(0, 1961, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_xdecref_set") < 0)) __PYX_ERR(0, 1961, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_rhs_cname = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_xdecref_set", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1961, __pyx_L3_error)
  __pyx_L3_error:;
  __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_148put_xdecref_set(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_rhs_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_148put_xdecref_set(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cname, PyObject *__pyx_v_rhs_cname) {
  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;
  __Pyx_RefNannySetupContext("put_xdecref_set", 0);

  /* "Cython/Compiler/Code.py":1962
 * 
 *     def put_xdecref_set(self, cname, rhs_cname):
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_decref(self, entry):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_cname);
  __Pyx_GIVEREF(__pyx_v_cname);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_cname);
  __Pyx_INCREF(__pyx_v_rhs_cname);
  __Pyx_GIVEREF(__pyx_v_rhs_cname);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_rhs_cname);
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XDECREF_SET_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1962, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1961
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_xdecref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":1964
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_var_decref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_151put_var_decref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_151put_var_decref = {"put_var_decref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_151put_var_decref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_151put_var_decref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_decref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_decref", 1, 2, 2, 1); __PYX_ERR(0, 1964, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_decref") < 0)) __PYX_ERR(0, 1964, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_decref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1964, __pyx_L3_error)
  __pyx_L3_error:;
  __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_150put_var_decref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_150put_var_decref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_decref", 0);

  /* "Cython/Compiler/Code.py":1965
 * 
 *     def put_var_decref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1965, __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, 1965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1966
 *     def put_var_decref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecref(self, entry):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1966, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XDECREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1966, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1966, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1965
 * 
 *     def put_var_decref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1964
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_var_decref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(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_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.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":1968
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xdecref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_153put_var_xdecref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_153put_var_xdecref = {"put_var_xdecref", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_153put_var_xdecref, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_153put_var_xdecref(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_xdecref (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_xdecref", 1, 2, 2, 1); __PYX_ERR(0, 1968, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_xdecref") < 0)) __PYX_ERR(0, 1968, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_xdecref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1968, __pyx_L3_error)
  __pyx_L3_error:;
  __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_152put_var_xdecref(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_152put_var_xdecref(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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_xdecref", 0);

  /* "Cython/Compiler/Code.py":1969
 * 
 *     def put_var_xdecref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1969, __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, 1969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1970
 *     def put_var_xdecref(self, entry):
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_decref_clear(self, entry):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1970, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_XDECREF_s, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1970, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1970, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":1969
 * 
 *     def put_var_xdecref(self, entry):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 */
  }

  /* "Cython/Compiler/Code.py":1968
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xdecref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(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_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.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":1972
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_decref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_155put_var_decref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_155put_var_decref_clear = {"put_var_decref_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_155put_var_decref_clear, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_155put_var_decref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_decref_clear (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_decref_clear", 1, 2, 2, 1); __PYX_ERR(0, 1972, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_decref_clear") < 0)) __PYX_ERR(0, 1972, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_decref_clear", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1972, __pyx_L3_error)
  __pyx_L3_error:;
  __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_154put_var_decref_clear(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_154put_var_decref_clear(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;
  __Pyx_RefNannySetupContext("put_var_decref_clear", 0);

  /* "Cython/Compiler/Code.py":1973
 * 
 *     def put_var_decref_clear(self, entry):
 *         self._put_var_decref_clear(entry, null_check=False)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecref_clear(self, entry):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_var_decref_clear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_entry);
  __Pyx_GIVEREF(__pyx_v_entry);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_entry);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_null_check, Py_False) < 0) __PYX_ERR(0, 1973, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1973, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1972
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_decref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 */

  /* 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_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":1975
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 *     def put_var_xdecref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_157put_var_xdecref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_157put_var_xdecref_clear = {"put_var_xdecref_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_157put_var_xdecref_clear, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_157put_var_xdecref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_xdecref_clear (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_xdecref_clear", 1, 2, 2, 1); __PYX_ERR(0, 1975, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_xdecref_clear") < 0)) __PYX_ERR(0, 1975, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_xdecref_clear", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1975, __pyx_L3_error)
  __pyx_L3_error:;
  __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_156put_var_xdecref_clear(__pyx_self, __pyx_v_self, __pyx_v_entry);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_156put_var_xdecref_clear(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;
  __Pyx_RefNannySetupContext("put_var_xdecref_clear", 0);

  /* "Cython/Compiler/Code.py":1976
 * 
 *     def put_var_xdecref_clear(self, entry):
 *         self._put_var_decref_clear(entry, null_check=True)             # <<<<<<<<<<<<<<
 * 
 *     def _put_var_decref_clear(self, entry, null_check):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_var_decref_clear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_entry);
  __Pyx_GIVEREF(__pyx_v_entry);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_entry);
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_null_check, Py_True) < 0) __PYX_ERR(0, 1976, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1976, __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":1975
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 *     def put_var_xdecref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 */

  /* 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_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":1978
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 *     def _put_var_decref_clear(self, entry, null_check):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             if entry.in_closure:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_159_put_var_decref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_159_put_var_decref_clear = {"_put_var_decref_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_159_put_var_decref_clear, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_159_put_var_decref_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_v_null_check = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_put_var_decref_clear (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,&__pyx_n_s_null_check,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_put_var_decref_clear", 1, 3, 3, 1); __PYX_ERR(0, 1978, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_null_check)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_put_var_decref_clear", 1, 3, 3, 2); __PYX_ERR(0, 1978, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_put_var_decref_clear") < 0)) __PYX_ERR(0, 1978, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
    __pyx_v_null_check = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_put_var_decref_clear", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1978, __pyx_L3_error)
  __pyx_L3_error:;
  __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_158_put_var_decref_clear(__pyx_self, __pyx_v_self, __pyx_v_entry, __pyx_v_null_check);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_158_put_var_decref_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_null_check) {
  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 = NULL;
  __Pyx_RefNannySetupContext("_put_var_decref_clear", 0);

  /* "Cython/Compiler/Code.py":1979
 * 
 *     def _put_var_decref_clear(self, entry, null_check):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             if entry.in_closure:
 *                 # reset before DECREF to make sure closure state is
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_pyobject); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1979, __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, 1979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":1980
 *     def _put_var_decref_clear(self, entry, null_check):
 *         if entry.type.is_pyobject:
 *             if entry.in_closure:             # <<<<<<<<<<<<<<
 *                 # reset before DECREF to make sure closure state is
 *                 # consistent during call to DECREF()
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_in_closure); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1980, __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, 1980, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":1983
 *                 # reset before DECREF to make sure closure state is
 *                 # consistent during call to DECREF()
 *                 self.putln("__Pyx_%sCLEAR(%s);" % (             # <<<<<<<<<<<<<<
 *                     null_check and 'X' or '',
 *                     entry.cname))
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1983, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);

      /* "Cython/Compiler/Code.py":1984
 *                 # consistent during call to DECREF()
 *                 self.putln("__Pyx_%sCLEAR(%s);" % (
 *                     null_check and 'X' or '',             # <<<<<<<<<<<<<<
 *                     entry.cname))
 *             else:
 */
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_null_check); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1984, __pyx_L1_error)
      if (!__pyx_t_3) {
        goto __pyx_L6_next_or;
      } else {
      }
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_n_s_X); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1984, __pyx_L1_error)
      if (!__pyx_t_3) {
      } else {
        __Pyx_INCREF(__pyx_n_s_X);
        __pyx_t_4 = __pyx_n_s_X;
        goto __pyx_L5_bool_binop_done;
      }
      __pyx_L6_next_or:;
      __Pyx_INCREF(__pyx_kp_s__8);
      __pyx_t_4 = __pyx_kp_s__8;
      __pyx_L5_bool_binop_done:;

      /* "Cython/Compiler/Code.py":1985
 *                 self.putln("__Pyx_%sCLEAR(%s);" % (
 *                     null_check and 'X' or '',
 *                     entry.cname))             # <<<<<<<<<<<<<<
 *             else:
 *                 self.putln("__Pyx_%sDECREF(%s); %s = 0;" % (
 */
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1985, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);

      /* "Cython/Compiler/Code.py":1984
 *                 # consistent during call to DECREF()
 *                 self.putln("__Pyx_%sCLEAR(%s);" % (
 *                     null_check and 'X' or '',             # <<<<<<<<<<<<<<
 *                     entry.cname))
 *             else:
 */
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1984, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
      __pyx_t_4 = 0;
      __pyx_t_5 = 0;

      /* "Cython/Compiler/Code.py":1983
 *                 # reset before DECREF to make sure closure state is
 *                 # consistent during call to DECREF()
 *                 self.putln("__Pyx_%sCLEAR(%s);" % (             # <<<<<<<<<<<<<<
 *                     null_check and 'X' or '',
 *                     entry.cname))
 */
      __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Pyx__sCLEAR_s, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1983, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_6) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1983, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1983, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1983, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        {
          __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1983, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
          __Pyx_GIVEREF(__pyx_t_5);
          PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5);
          __pyx_t_5 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1983, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":1980
 *     def _put_var_decref_clear(self, entry, null_check):
 *         if entry.type.is_pyobject:
 *             if entry.in_closure:             # <<<<<<<<<<<<<<
 *                 # reset before DECREF to make sure closure state is
 *                 # consistent during call to DECREF()
 */
      goto __pyx_L4;
    }

    /* "Cython/Compiler/Code.py":1987
 *                     entry.cname))
 *             else:
 *                 self.putln("__Pyx_%sDECREF(%s); %s = 0;" % (             # <<<<<<<<<<<<<<
 *                     null_check and 'X' or '',
 *                     self.entry_as_pyobject(entry),
 */
    /*else*/ {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1987, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);

      /* "Cython/Compiler/Code.py":1988
 *             else:
 *                 self.putln("__Pyx_%sDECREF(%s); %s = 0;" % (
 *                     null_check and 'X' or '',             # <<<<<<<<<<<<<<
 *                     self.entry_as_pyobject(entry),
 *                     entry.cname))
 */
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_null_check); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1988, __pyx_L1_error)
      if (!__pyx_t_3) {
        goto __pyx_L9_next_or;
      } else {
      }
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_n_s_X); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1988, __pyx_L1_error)
      if (!__pyx_t_3) {
      } else {
        __Pyx_INCREF(__pyx_n_s_X);
        __pyx_t_4 = __pyx_n_s_X;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_L9_next_or:;
      __Pyx_INCREF(__pyx_kp_s__8);
      __pyx_t_4 = __pyx_kp_s__8;
      __pyx_L8_bool_binop_done:;

      /* "Cython/Compiler/Code.py":1989
 *                 self.putln("__Pyx_%sDECREF(%s); %s = 0;" % (
 *                     null_check and 'X' or '',
 *                     self.entry_as_pyobject(entry),             # <<<<<<<<<<<<<<
 *                     entry.cname))
 * 
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_entry_as_pyobject); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1989, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_7) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_entry); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1989, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_entry};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1989, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_entry};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1989, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1989, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
          __Pyx_INCREF(__pyx_v_entry);
          __Pyx_GIVEREF(__pyx_v_entry);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_entry);
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1989, __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;

      /* "Cython/Compiler/Code.py":1990
 *                     null_check and 'X' or '',
 *                     self.entry_as_pyobject(entry),
 *                     entry.cname))             # <<<<<<<<<<<<<<
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1990, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);

      /* "Cython/Compiler/Code.py":1988
 *             else:
 *                 self.putln("__Pyx_%sDECREF(%s); %s = 0;" % (
 *                     null_check and 'X' or '',             # <<<<<<<<<<<<<<
 *                     self.entry_as_pyobject(entry),
 *                     entry.cname))
 */
      __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1988, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_6);
      __pyx_t_4 = 0;
      __pyx_t_5 = 0;
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":1987
 *                     entry.cname))
 *             else:
 *                 self.putln("__Pyx_%sDECREF(%s); %s = 0;" % (             # <<<<<<<<<<<<<<
 *                     null_check and 'X' or '',
 *                     self.entry_as_pyobject(entry),
 */
      __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_Pyx__sDECREF_s_s_0, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1987, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_8)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      if (!__pyx_t_8) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1987, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1987, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1987, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1987, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL;
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
          __pyx_t_6 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1987, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_L4:;

    /* "Cython/Compiler/Code.py":1979
 * 
 *     def _put_var_decref_clear(self, entry, null_check):
 *         if entry.type.is_pyobject:             # <<<<<<<<<<<<<<
 *             if entry.in_closure:
 *                 # reset before DECREF to make sure closure state is
 */
  }

  /* "Cython/Compiler/Code.py":1978
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 *     def _put_var_decref_clear(self, entry, null_check):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             if entry.in_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_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_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":1992
 *                     entry.cname))
 * 
 *     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_161put_var_decrefs(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_161put_var_decrefs = {"put_var_decrefs", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_161put_var_decrefs, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_161put_var_decrefs(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entries = 0;
  PyObject *__pyx_v_used_only = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_decrefs (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entries,&__pyx_n_s_used_only,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)__pyx_int_0));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entries)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_decrefs", 0, 2, 3, 1); __PYX_ERR(0, 1992, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_used_only);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_decrefs") < 0)) __PYX_ERR(0, 1992, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_entries = values[1];
    __pyx_v_used_only = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_decrefs", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1992, __pyx_L3_error)
  __pyx_L3_error:;
  __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_160put_var_decrefs(__pyx_self, __pyx_v_self, __pyx_v_entries, __pyx_v_used_only);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_160put_var_decrefs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  __Pyx_RefNannySetupContext("put_var_decrefs", 0);

  /* "Cython/Compiler/Code.py":1993
 * 
 *     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, 1993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1993, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1993, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1993, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1993, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1993, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1993, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":1994
 *     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, 1994, __pyx_L1_error)
    __pyx_t_7 = ((!__pyx_t_6) != 0);
    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_n_s_used); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1994, __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, 1994, __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":1995
 *         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_n_s_xdecref_cleanup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1995, __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, 1995, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_5) {

        /* "Cython/Compiler/Code.py":1996
 *             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 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_var_xdecref); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1996, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_8, function);
          }
        }
        if (!__pyx_t_9) {
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1996, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_8)) {
            PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_entry};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1996, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
            PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_entry};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1996, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          {
            __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1996, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_10);
            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
            __Pyx_INCREF(__pyx_v_entry);
            __Pyx_GIVEREF(__pyx_v_entry);
            PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_entry);
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1996, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "Cython/Compiler/Code.py":1995
 *         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":1998
 *                     self.put_var_xdecref(entry)
 *                 else:
 *                     self.put_var_decref(entry)             # <<<<<<<<<<<<<<
 * 
 *     def put_var_xdecrefs(self, entries):
 */
      /*else*/ {
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_var_decref); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1998, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_10 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_8, function);
          }
        }
        if (!__pyx_t_10) {
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1998, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_8)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_entry};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1998, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_entry};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1998, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_GOTREF(__pyx_t_4);
          } else
          #endif
          {
            __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1998, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_9);
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = NULL;
            __Pyx_INCREF(__pyx_v_entry);
            __Pyx_GIVEREF(__pyx_v_entry);
            PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_entry);
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1998, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __pyx_L8:;

      /* "Cython/Compiler/Code.py":1994
 *     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":1993
 * 
 *     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":1992
 *                     entry.cname))
 * 
 *     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_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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":2000
 *                     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_163put_var_xdecrefs(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_163put_var_xdecrefs = {"put_var_xdecrefs", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_163put_var_xdecrefs, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_163put_var_xdecrefs(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entries = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_xdecrefs (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entries,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entries)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_xdecrefs", 1, 2, 2, 1); __PYX_ERR(0, 2000, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_xdecrefs") < 0)) __PYX_ERR(0, 2000, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entries = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_xdecrefs", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2000, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecrefs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_162put_var_xdecrefs(__pyx_self, __pyx_v_self, __pyx_v_entries);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_162put_var_xdecrefs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_xdecrefs", 0);

  /* "Cython/Compiler/Code.py":2001
 * 
 *     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, 2001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2001, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2001, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2001, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2001, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2001, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 2001, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2002
 *     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 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_var_xdecref); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2002, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2002, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2002, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2002, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2002, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2001
 * 
 *     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":2000
 *                     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_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":2004
 *             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_165put_var_xdecrefs_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_165put_var_xdecrefs_clear = {"put_var_xdecrefs_clear", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_165put_var_xdecrefs_clear, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_165put_var_xdecrefs_clear(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entries = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_var_xdecrefs_clear (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entries,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entries)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_var_xdecrefs_clear", 1, 2, 2, 1); __PYX_ERR(0, 2004, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_var_xdecrefs_clear") < 0)) __PYX_ERR(0, 2004, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_entries = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_var_xdecrefs_clear", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2004, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_var_xdecrefs_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_164put_var_xdecrefs_clear(__pyx_self, __pyx_v_self, __pyx_v_entries);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_164put_var_xdecrefs_clear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_var_xdecrefs_clear", 0);

  /* "Cython/Compiler/Code.py":2005
 * 
 *     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, 2005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2005, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2005, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2005, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2005, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2005, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 2005, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2006
 *     def put_var_xdecrefs_clear(self, entries):
 *         for entry in entries:
 *             self.put_var_xdecref_clear(entry)             # <<<<<<<<<<<<<<
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, have_gil=False):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_var_xdecref_clear); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_entry); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2006, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2006, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_entry};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2006, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_INCREF(__pyx_v_entry);
        __Pyx_GIVEREF(__pyx_v_entry);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_entry);
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "Cython/Compiler/Code.py":2005
 * 
 *     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":2004
 *             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_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":2008
 *             self.put_var_xdecref_clear(entry)
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_167put_incref_memoryviewslice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_167put_incref_memoryviewslice = {"put_incref_memoryviewslice", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_167put_incref_memoryviewslice, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_167put_incref_memoryviewslice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_slice_cname = 0;
  PyObject *__pyx_v_have_gil = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_incref_memoryviewslice (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_slice_cname,&__pyx_n_s_have_gil,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_slice_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_incref_memoryviewslice", 0, 2, 3, 1); __PYX_ERR(0, 2008, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_have_gil);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_incref_memoryviewslice") < 0)) __PYX_ERR(0, 2008, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_slice_cname = values[1];
    __pyx_v_have_gil = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_incref_memoryviewslice", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2008, __pyx_L3_error)
  __pyx_L3_error:;
  __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_166put_incref_memoryviewslice(__pyx_self, __pyx_v_self, __pyx_v_slice_cname, __pyx_v_have_gil);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_166put_incref_memoryviewslice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_slice_cname, PyObject *__pyx_v_have_gil) {
  PyObject *__pyx_v_MemoryView = 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;
  __Pyx_RefNannySetupContext("put_incref_memoryviewslice", 0);

  /* "Cython/Compiler/Code.py":2009
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, have_gil=False):
 *         from . import MemoryView             # <<<<<<<<<<<<<<
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 *         self.putln("__PYX_INC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_MemoryView);
  __Pyx_GIVEREF(__pyx_n_s_MemoryView);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_MemoryView);
  __pyx_t_2 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_MemoryView); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_MemoryView = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2010
 *     def put_incref_memoryviewslice(self, slice_cname, have_gil=False):
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)             # <<<<<<<<<<<<<<
 *         self.putln("__PYX_INC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_MemoryView, __pyx_n_s_memviewslice_init_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2010, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2011
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 *         self.putln("__PYX_INC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))             # <<<<<<<<<<<<<<
 * 
 *     def put_xdecref_memoryviewslice(self, slice_cname, have_gil=False):
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_have_gil); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_slice_cname);
  __Pyx_GIVEREF(__pyx_v_slice_cname);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_slice_cname);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_PYX_INC_MEMVIEW_s_d, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2011, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2011, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2011, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __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;

  /* "Cython/Compiler/Code.py":2008
 *             self.put_var_xdecref_clear(entry)
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_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_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_incref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_MemoryView);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2013
 *         self.putln("__PYX_INC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xdecref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_169put_xdecref_memoryviewslice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_169put_xdecref_memoryviewslice = {"put_xdecref_memoryviewslice", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_169put_xdecref_memoryviewslice, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_169put_xdecref_memoryviewslice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_slice_cname = 0;
  PyObject *__pyx_v_have_gil = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_xdecref_memoryviewslice (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_slice_cname,&__pyx_n_s_have_gil,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_slice_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xdecref_memoryviewslice", 0, 2, 3, 1); __PYX_ERR(0, 2013, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_have_gil);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_xdecref_memoryviewslice") < 0)) __PYX_ERR(0, 2013, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_slice_cname = values[1];
    __pyx_v_have_gil = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_xdecref_memoryviewslice", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2013, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_168put_xdecref_memoryviewslice(__pyx_self, __pyx_v_self, __pyx_v_slice_cname, __pyx_v_have_gil);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_168put_xdecref_memoryviewslice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_slice_cname, PyObject *__pyx_v_have_gil) {
  PyObject *__pyx_v_MemoryView = 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;
  __Pyx_RefNannySetupContext("put_xdecref_memoryviewslice", 0);

  /* "Cython/Compiler/Code.py":2014
 * 
 *     def put_xdecref_memoryviewslice(self, slice_cname, have_gil=False):
 *         from . import MemoryView             # <<<<<<<<<<<<<<
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 *         self.putln("__PYX_XDEC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_MemoryView);
  __Pyx_GIVEREF(__pyx_n_s_MemoryView);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_MemoryView);
  __pyx_t_2 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_MemoryView); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_MemoryView = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2015
 *     def put_xdecref_memoryviewslice(self, slice_cname, have_gil=False):
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)             # <<<<<<<<<<<<<<
 *         self.putln("__PYX_XDEC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_MemoryView, __pyx_n_s_memviewslice_init_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2015, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2016
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 *         self.putln("__PYX_XDEC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))             # <<<<<<<<<<<<<<
 * 
 *     def put_xgiveref_memoryviewslice(self, slice_cname):
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_have_gil); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_slice_cname);
  __Pyx_GIVEREF(__pyx_v_slice_cname);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_slice_cname);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_PYX_XDEC_MEMVIEW_s_d, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2016, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2016, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2016, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2016, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2016, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __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;

  /* "Cython/Compiler/Code.py":2013
 *         self.putln("__PYX_INC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xdecref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_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_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xdecref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_MemoryView);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2018
 *         self.putln("__PYX_XDEC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xgiveref_memoryviewslice(self, slice_cname):             # <<<<<<<<<<<<<<
 *         self.put_xgiveref("%s.memview" % slice_cname)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_171put_xgiveref_memoryviewslice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_171put_xgiveref_memoryviewslice = {"put_xgiveref_memoryviewslice", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_171put_xgiveref_memoryviewslice, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_171put_xgiveref_memoryviewslice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_slice_cname = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_xgiveref_memoryviewslice (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_slice_cname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_slice_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_xgiveref_memoryviewslice", 1, 2, 2, 1); __PYX_ERR(0, 2018, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_xgiveref_memoryviewslice") < 0)) __PYX_ERR(0, 2018, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_slice_cname = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_xgiveref_memoryviewslice", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2018, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_xgiveref_memoryviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_170put_xgiveref_memoryviewslice(__pyx_self, __pyx_v_self, __pyx_v_slice_cname);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_170put_xgiveref_memoryviewslice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_slice_cname) {
  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;
  __Pyx_RefNannySetupContext("put_xgiveref_memoryviewslice", 0);

  /* "Cython/Compiler/Code.py":2019
 * 
 *     def put_xgiveref_memoryviewslice(self, slice_cname):
 *         self.put_xgiveref("%s.memview" % slice_cname)             # <<<<<<<<<<<<<<
 * 
 *     def put_init_to_py_none(self, cname, type, nanny=True):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_xgiveref); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_memview, __pyx_v_slice_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2019, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2019, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2019, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2019, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2019, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2018
 *         self.putln("__PYX_XDEC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xgiveref_memoryviewslice(self, slice_cname):             # <<<<<<<<<<<<<<
 *         self.put_xgiveref("%s.memview" % slice_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.CCodeWriter.put_xgiveref_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":2021
 *         self.put_xgiveref("%s.memview" % slice_cname)
 * 
 *     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_173put_init_to_py_none(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_173put_init_to_py_none = {"put_init_to_py_none", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_173put_init_to_py_none, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_173put_init_to_py_none(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_init_to_py_none (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_type,&__pyx_n_s_nanny,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_init_to_py_none", 0, 3, 4, 1); __PYX_ERR(0, 2021, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_init_to_py_none", 0, 3, 4, 2); __PYX_ERR(0, 2021, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_init_to_py_none") < 0)) __PYX_ERR(0, 2021, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_type = values[2];
    __pyx_v_nanny = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_init_to_py_none", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2021, __pyx_L3_error)
  __pyx_L3_error:;
  __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_172put_init_to_py_none(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_type, __pyx_v_nanny);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_172put_init_to_py_none(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("put_init_to_py_none", 0);

  /* "Cython/Compiler/Code.py":2022
 * 
 *     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:
 */
  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_py_object_type);
  __Pyx_GIVEREF(__pyx_n_s_py_object_type);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_py_object_type);
  __Pyx_INCREF(__pyx_n_s_typecast);
  __Pyx_GIVEREF(__pyx_n_s_typecast);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_typecast);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_PyrexTypes, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_py_object_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_py_object_type = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_typecast); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_typecast = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2023
 *     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_INCREF(__pyx_v_typecast);
  __pyx_t_1 = __pyx_v_typecast; __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_type, __pyx_v_py_object_type, __pyx_n_s_Py_None};
    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2023, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_type, __pyx_v_py_object_type, __pyx_n_s_Py_None};
    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2023, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_v_type);
    __Pyx_GIVEREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_type);
    __Pyx_INCREF(__pyx_v_py_object_type);
    __Pyx_GIVEREF(__pyx_v_py_object_type);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_py_object_type);
    __Pyx_INCREF(__pyx_n_s_Py_None);
    __Pyx_GIVEREF(__pyx_n_s_Py_None);
    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_n_s_Py_None);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_py_none = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2024
 *         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_6 = __Pyx_PyObject_IsTrue(__pyx_v_nanny); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2024, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "Cython/Compiler/Code.py":2025
 *         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_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_cname);
    __Pyx_INCREF(__pyx_v_py_none);
    __Pyx_GIVEREF(__pyx_v_py_none);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_py_none);
    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_s___Pyx_INCREF_Py_None, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2025, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2025, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2025, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2025, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2025, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2024
 *         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":2027
 *             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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_INCREF(__pyx_v_cname);
    __Pyx_GIVEREF(__pyx_v_cname);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_cname);
    __Pyx_INCREF(__pyx_v_py_none);
    __Pyx_GIVEREF(__pyx_v_py_none);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_py_none);
    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_s_Py_INCREF_Py_None, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2027, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2027, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2027, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2027, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2027, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":2021
 *         self.put_xgiveref("%s.memview" % slice_cname)
 * 
 *     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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __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":2029
 *             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_175put_init_var_to_py_none(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_175put_init_var_to_py_none = {"put_init_var_to_py_none", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_175put_init_var_to_py_none, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_175put_init_var_to_py_none(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_v_template = 0;
  PyObject *__pyx_v_nanny = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_init_var_to_py_none (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,&__pyx_n_s_template,&__pyx_n_s_nanny,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)((PyObject*)__pyx_kp_s_s_13));
    values[3] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_init_var_to_py_none", 0, 2, 4, 1); __PYX_ERR(0, 2029, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_template);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nanny);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_init_var_to_py_none") < 0)) __PYX_ERR(0, 2029, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
    __pyx_v_template = values[2];
    __pyx_v_nanny = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_init_var_to_py_none", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2029, __pyx_L3_error)
  __pyx_L3_error:;
  __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_174put_init_var_to_py_none(__pyx_self, __pyx_v_self, __pyx_v_entry, __pyx_v_template, __pyx_v_nanny);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_174put_init_var_to_py_none(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("put_init_var_to_py_none", 0);

  /* "Cython/Compiler/Code.py":2030
 * 
 *     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_n_s_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2030, __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, 2030, __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":2033
 *         #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 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_init_to_py_none); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_code, __pyx_t_3, __pyx_v_nanny};
    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2033, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_code, __pyx_t_3, __pyx_v_nanny};
    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2033, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_INCREF(__pyx_v_code);
    __Pyx_GIVEREF(__pyx_v_code);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_code);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_3);
    __Pyx_INCREF(__pyx_v_nanny);
    __Pyx_GIVEREF(__pyx_v_nanny);
    PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_nanny);
    __pyx_t_3 = 0;
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2033, __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_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2034
 *         #    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_n_s_in_closure); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 2034, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":2035
 *         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):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put_giveref); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__128, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2035, __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":2034
 *         #    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":2029
 *             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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __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":2037
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True):             # <<<<<<<<<<<<<<
 *         if entry.is_special or entry.name == '__getattribute__':
 *             if entry.name not in special_py_methods:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_177put_pymethoddef(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_177put_pymethoddef = {"put_pymethoddef", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_177put_pymethoddef, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_177put_pymethoddef(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_v_term = 0;
  PyObject *__pyx_v_allow_skip = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_pymethoddef (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_entry,&__pyx_n_s_term,&__pyx_n_s_allow_skip,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_True));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_pymethoddef", 0, 3, 4, 1); __PYX_ERR(0, 2037, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_term)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_pymethoddef", 0, 3, 4, 2); __PYX_ERR(0, 2037, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_allow_skip);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_pymethoddef") < 0)) __PYX_ERR(0, 2037, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_entry = values[1];
    __pyx_v_term = values[2];
    __pyx_v_allow_skip = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_pymethoddef", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2037, __pyx_L3_error)
  __pyx_L3_error:;
  __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_176put_pymethoddef(__pyx_self, __pyx_v_self, __pyx_v_entry, __pyx_v_term, __pyx_v_allow_skip);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_176put_pymethoddef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_entry, PyObject *__pyx_v_term, PyObject *__pyx_v_allow_skip) {
  PyObject *__pyx_v_method_coexist = NULL;
  PyObject *__pyx_v_doc_code = NULL;
  PyObject *__pyx_v_method_flags = 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;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("put_pymethoddef", 0);

  /* "Cython/Compiler/Code.py":2038
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True):
 *         if entry.is_special or entry.name == '__getattribute__':             # <<<<<<<<<<<<<<
 *             if entry.name not in special_py_methods:
 *                 if entry.name == '__getattr__' and not self.globalstate.directives['fast_getattr']:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_special); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2038, __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, 2038, __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_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_getattribute, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2038, __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":2039
 *     def put_pymethoddef(self, entry, term, allow_skip=True):
 *         if entry.is_special or entry.name == '__getattribute__':
 *             if entry.name not in special_py_methods:             # <<<<<<<<<<<<<<
 *                 if entry.name == '__getattr__' and not self.globalstate.directives['fast_getattr']:
 *                     pass
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_special_py_methods); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_t_2, __pyx_t_4, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2039, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_3 = (__pyx_t_1 != 0);
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":2040
 *         if entry.is_special or entry.name == '__getattribute__':
 *             if entry.name not in special_py_methods:
 *                 if entry.name == '__getattr__' and not self.globalstate.directives['fast_getattr']:             # <<<<<<<<<<<<<<
 *                     pass
 *                 # Python's typeobject.c will automatically fill in our slot
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_getattr, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2040, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_1) {
      } else {
        __pyx_t_3 = __pyx_t_1;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_directives); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyObject_GetItem(__pyx_t_2, __pyx_n_s_fast_getattr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2040, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_5 = ((!__pyx_t_1) != 0);
      __pyx_t_3 = __pyx_t_5;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_3) {
        goto __pyx_L7;
      }

      /* "Cython/Compiler/Code.py":2045
 *                 # in add_operators() (called by PyType_Ready) with a value
 *                 # that's better than ours.
 *                 elif allow_skip:             # <<<<<<<<<<<<<<
 *                     return
 *         from .TypeSlots import method_coexist
 */
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_allow_skip); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2045, __pyx_L1_error)
      if (__pyx_t_3) {

        /* "Cython/Compiler/Code.py":2046
 *                 # that's better than ours.
 *                 elif allow_skip:
 *                     return             # <<<<<<<<<<<<<<
 *         from .TypeSlots import method_coexist
 *         if entry.doc:
 */
        __Pyx_XDECREF(__pyx_r);
        __pyx_r = Py_None; __Pyx_INCREF(Py_None);
        goto __pyx_L0;

        /* "Cython/Compiler/Code.py":2045
 *                 # in add_operators() (called by PyType_Ready) with a value
 *                 # that's better than ours.
 *                 elif allow_skip:             # <<<<<<<<<<<<<<
 *                     return
 *         from .TypeSlots import method_coexist
 */
      }
      __pyx_L7:;

      /* "Cython/Compiler/Code.py":2039
 *     def put_pymethoddef(self, entry, term, allow_skip=True):
 *         if entry.is_special or entry.name == '__getattribute__':
 *             if entry.name not in special_py_methods:             # <<<<<<<<<<<<<<
 *                 if entry.name == '__getattr__' and not self.globalstate.directives['fast_getattr']:
 *                     pass
 */
    }

    /* "Cython/Compiler/Code.py":2038
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True):
 *         if entry.is_special or entry.name == '__getattribute__':             # <<<<<<<<<<<<<<
 *             if entry.name not in special_py_methods:
 *                 if entry.name == '__getattr__' and not self.globalstate.directives['fast_getattr']:
 */
  }

  /* "Cython/Compiler/Code.py":2047
 *                 elif allow_skip:
 *                     return
 *         from .TypeSlots import method_coexist             # <<<<<<<<<<<<<<
 *         if entry.doc:
 *             doc_code = entry.doc_cname
 */
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_s_method_coexist);
  __Pyx_GIVEREF(__pyx_n_s_method_coexist);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_method_coexist);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_TypeSlots, __pyx_t_4, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_method_coexist); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_v_method_coexist = __pyx_t_4;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2048
 *                     return
 *         from .TypeSlots import method_coexist
 *         if entry.doc:             # <<<<<<<<<<<<<<
 *             doc_code = entry.doc_cname
 *         else:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_doc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2048, __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, 2048, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2049
 *         from .TypeSlots import method_coexist
 *         if entry.doc:
 *             doc_code = entry.doc_cname             # <<<<<<<<<<<<<<
 *         else:
 *             doc_code = 0
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_doc_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_doc_code = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2048
 *                     return
 *         from .TypeSlots import method_coexist
 *         if entry.doc:             # <<<<<<<<<<<<<<
 *             doc_code = entry.doc_cname
 *         else:
 */
    goto __pyx_L10;
  }

  /* "Cython/Compiler/Code.py":2051
 *             doc_code = entry.doc_cname
 *         else:
 *             doc_code = 0             # <<<<<<<<<<<<<<
 *         method_flags = entry.signature.method_flags()
 *         if method_flags:
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_int_0);
    __pyx_v_doc_code = __pyx_int_0;
  }
  __pyx_L10:;

  /* "Cython/Compiler/Code.py":2052
 *         else:
 *             doc_code = 0
 *         method_flags = entry.signature.method_flags()             # <<<<<<<<<<<<<<
 *         if method_flags:
 *             if entry.is_special:
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_signature); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_method_flags); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (__pyx_t_4) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2052, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2052, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_method_flags = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2053
 *             doc_code = 0
 *         method_flags = entry.signature.method_flags()
 *         if method_flags:             # <<<<<<<<<<<<<<
 *             if entry.is_special:
 *                 method_flags += [method_coexist]
 */
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_method_flags); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2053, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2054
 *         method_flags = entry.signature.method_flags()
 *         if method_flags:
 *             if entry.is_special:             # <<<<<<<<<<<<<<
 *                 method_flags += [method_coexist]
 *             self.putln(
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_is_special); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2054, __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, 2054, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_3) {

      /* "Cython/Compiler/Code.py":2055
 *         if method_flags:
 *             if entry.is_special:
 *                 method_flags += [method_coexist]             # <<<<<<<<<<<<<<
 *             self.putln(
 *                 '{"%s", (PyCFunction)%s, %s, %s}%s' % (
 */
      __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2055, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_v_method_coexist);
      __Pyx_GIVEREF(__pyx_v_method_coexist);
      PyList_SET_ITEM(__pyx_t_2, 0, __pyx_v_method_coexist);
      __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_method_flags, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2055, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF_SET(__pyx_v_method_flags, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "Cython/Compiler/Code.py":2054
 *         method_flags = entry.signature.method_flags()
 *         if method_flags:
 *             if entry.is_special:             # <<<<<<<<<<<<<<
 *                 method_flags += [method_coexist]
 *             self.putln(
 */
    }

    /* "Cython/Compiler/Code.py":2056
 *             if entry.is_special:
 *                 method_flags += [method_coexist]
 *             self.putln(             # <<<<<<<<<<<<<<
 *                 '{"%s", (PyCFunction)%s, %s, %s}%s' % (
 *                     entry.name,
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "Cython/Compiler/Code.py":2058
 *             self.putln(
 *                 '{"%s", (PyCFunction)%s, %s, %s}%s' % (
 *                     entry.name,             # <<<<<<<<<<<<<<
 *                     entry.func_cname,
 *                     "|".join(method_flags),
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);

    /* "Cython/Compiler/Code.py":2059
 *                 '{"%s", (PyCFunction)%s, %s, %s}%s' % (
 *                     entry.name,
 *                     entry.func_cname,             # <<<<<<<<<<<<<<
 *                     "|".join(method_flags),
 *                     doc_code,
 */
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_func_cname); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);

    /* "Cython/Compiler/Code.py":2060
 *                     entry.name,
 *                     entry.func_cname,
 *                     "|".join(method_flags),             # <<<<<<<<<<<<<<
 *                     doc_code,
 *                     term))
 */
    __pyx_t_8 = __Pyx_PyString_Join(__pyx_kp_s__129, __pyx_v_method_flags); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);

    /* "Cython/Compiler/Code.py":2058
 *             self.putln(
 *                 '{"%s", (PyCFunction)%s, %s, %s}%s' % (
 *                     entry.name,             # <<<<<<<<<<<<<<
 *                     entry.func_cname,
 *                     "|".join(method_flags),
 */
    __pyx_t_9 = PyTuple_New(5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_8);
    PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8);
    __Pyx_INCREF(__pyx_v_doc_code);
    __Pyx_GIVEREF(__pyx_v_doc_code);
    PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_v_doc_code);
    __Pyx_INCREF(__pyx_v_term);
    __Pyx_GIVEREF(__pyx_v_term);
    PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_v_term);
    __pyx_t_4 = 0;
    __pyx_t_7 = 0;
    __pyx_t_8 = 0;

    /* "Cython/Compiler/Code.py":2057
 *                 method_flags += [method_coexist]
 *             self.putln(
 *                 '{"%s", (PyCFunction)%s, %s, %s}%s' % (             # <<<<<<<<<<<<<<
 *                     entry.name,
 *                     entry.func_cname,
 */
    __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_s_PyCFunction_s_s_s_s, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_9) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2056, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_8};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2056, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_8};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2056, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2056, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9); __pyx_t_9 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2056, __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(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2053
 *             doc_code = 0
 *         method_flags = entry.signature.method_flags()
 *         if method_flags:             # <<<<<<<<<<<<<<
 *             if entry.is_special:
 *                 method_flags += [method_coexist]
 */
  }

  /* "Cython/Compiler/Code.py":2037
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True):             # <<<<<<<<<<<<<<
 *         if entry.is_special or entry.name == '__getattribute__':
 *             if entry.name not in special_py_methods:
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_pymethoddef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_method_coexist);
  __Pyx_XDECREF(__pyx_v_doc_code);
  __Pyx_XDECREF(__pyx_v_method_flags);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2066
 *     # GIL methods
 * 
 *     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_179put_ensure_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_178put_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_179put_ensure_gil = {"put_ensure_gil", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_179put_ensure_gil, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_178put_ensure_gil};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_179put_ensure_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_declare_gilstate = 0;
  PyObject *__pyx_v_variable = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_ensure_gil (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_declare_gilstate,&__pyx_n_s_variable,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)((PyObject *)Py_True));
    values[2] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_declare_gilstate);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_variable);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_ensure_gil") < 0)) __PYX_ERR(0, 2066, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_declare_gilstate = values[1];
    __pyx_v_variable = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_ensure_gil", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2066, __pyx_L3_error)
  __pyx_L3_error:;
  __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_178put_ensure_gil(__pyx_self, __pyx_v_self, __pyx_v_declare_gilstate, __pyx_v_variable);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_178put_ensure_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_declare_gilstate, PyObject *__pyx_v_variable) {
  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;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("put_ensure_gil", 0);
  __Pyx_INCREF(__pyx_v_variable);

  /* "Cython/Compiler/Code.py":2073
 *         may be called recursively.
 *         """
 *         self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.putln("#ifdef WITH_THREAD")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2074
 *         """
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef WITH_THREAD")
 *         if not variable:
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__130, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2073, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2073, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2073, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2075
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__131, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2075, __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":2076
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.putln("#ifdef WITH_THREAD")
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:
 */
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __pyx_t_7 = ((!__pyx_t_6) != 0);
  if (__pyx_t_7) {

    /* "Cython/Compiler/Code.py":2077
 *         self.putln("#ifdef WITH_THREAD")
 *         if not variable:
 *             variable = '__pyx_gilstate_save'             # <<<<<<<<<<<<<<
 *             if declare_gilstate:
 *                 self.put("PyGILState_STATE ")
 */
    __Pyx_INCREF(__pyx_n_s_pyx_gilstate_save);
    __Pyx_DECREF_SET(__pyx_v_variable, __pyx_n_s_pyx_gilstate_save);

    /* "Cython/Compiler/Code.py":2078
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:             # <<<<<<<<<<<<<<
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = PyGILState_Ensure();" % variable)
 */
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_declare_gilstate); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 2078, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "Cython/Compiler/Code.py":2079
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:
 *                 self.put("PyGILState_STATE ")             # <<<<<<<<<<<<<<
 *         self.putln("%s = PyGILState_Ensure();" % variable)
 *         self.putln("#endif")
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_put); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__132, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2079, __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":2078
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:             # <<<<<<<<<<<<<<
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = PyGILState_Ensure();" % variable)
 */
    }

    /* "Cython/Compiler/Code.py":2076
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.putln("#ifdef WITH_THREAD")
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:
 */
  }

  /* "Cython/Compiler/Code.py":2080
 *             if declare_gilstate:
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = PyGILState_Ensure();" % variable)             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s_PyGILState_Ensure, __pyx_v_variable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2080, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2080, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2080, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2080, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2080, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2081
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = PyGILState_Ensure();" % variable)
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_release_ensured_gil(self, variable=None):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__133, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2081, __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":2066
 *     # GIL methods
 * 
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_ensure_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":2083
 *         self.putln("#endif")
 * 
 *     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_181put_release_ensured_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_180put_release_ensured_gil[] = "\n        Releases the GIL, corresponds to `put_ensure_gil`.\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_181put_release_ensured_gil = {"put_release_ensured_gil", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_181put_release_ensured_gil, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_180put_release_ensured_gil};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_181put_release_ensured_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_variable = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_release_ensured_gil (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_variable,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_variable);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_release_ensured_gil") < 0)) __PYX_ERR(0, 2083, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_variable = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_release_ensured_gil", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2083, __pyx_L3_error)
  __pyx_L3_error:;
  __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_180put_release_ensured_gil(__pyx_self, __pyx_v_self, __pyx_v_variable);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_180put_release_ensured_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_variable) {
  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;
  __Pyx_RefNannySetupContext("put_release_ensured_gil", 0);
  __Pyx_INCREF(__pyx_v_variable);

  /* "Cython/Compiler/Code.py":2087
 *         Releases the GIL, corresponds to `put_ensure_gil`.
 *         """
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *         self.putln("#ifdef WITH_THREAD")
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2087, __pyx_L1_error)
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":2088
 *         """
 *         if not variable:
 *             variable = '__pyx_gilstate_save'             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_Release(%s);" % variable)
 */
    __Pyx_INCREF(__pyx_n_s_pyx_gilstate_save);
    __Pyx_DECREF_SET(__pyx_v_variable, __pyx_n_s_pyx_gilstate_save);

    /* "Cython/Compiler/Code.py":2087
 *         Releases the GIL, corresponds to `put_ensure_gil`.
 *         """
 *         if not variable:             # <<<<<<<<<<<<<<
 *             variable = '__pyx_gilstate_save'
 *         self.putln("#ifdef WITH_THREAD")
 */
  }

  /* "Cython/Compiler/Code.py":2089
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         self.putln("PyGILState_Release(%s);" % variable)
 *         self.putln("#endif")
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__134, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2090
 *             variable = '__pyx_gilstate_save'
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_Release(%s);" % variable)             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_PyGILState_Release_s, __pyx_v_variable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_4);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2090, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2090, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2091
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_Release(%s);" % variable)
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_acquire_gil(self, variable=None):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__135, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":2083
 *         self.putln("#endif")
 * 
 *     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_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.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":2093
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The thread's thread state must have been initialized
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_183put_acquire_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_182put_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_183put_acquire_gil = {"put_acquire_gil", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_183put_acquire_gil, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_182put_acquire_gil};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_183put_acquire_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_variable = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_acquire_gil (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_variable,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_variable);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_acquire_gil") < 0)) __PYX_ERR(0, 2093, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_variable = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_acquire_gil", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2093, __pyx_L3_error)
  __pyx_L3_error:;
  __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_182put_acquire_gil(__pyx_self, __pyx_v_self, __pyx_v_variable);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_182put_acquire_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_variable) {
  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;
  __Pyx_RefNannySetupContext("put_acquire_gil", 0);

  /* "Cython/Compiler/Code.py":2098
 *         by a previous `put_release_gil`
 *         """
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         if variable:
 *             self.putln('_save = %s;' % variable)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__136, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2098, __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":2099
 *         """
 *         self.putln("#ifdef WITH_THREAD")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('_save = %s;' % variable)
 *         self.putln("Py_BLOCK_THREADS")
 */
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2099, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2100
 *         self.putln("#ifdef WITH_THREAD")
 *         if variable:
 *             self.putln('_save = %s;' % variable)             # <<<<<<<<<<<<<<
 *         self.putln("Py_BLOCK_THREADS")
 *         self.putln("#endif")
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_save_s, __pyx_v_variable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2100, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2100, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2100, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2100, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2100, __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_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2099
 *         """
 *         self.putln("#ifdef WITH_THREAD")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('_save = %s;' % variable)
 *         self.putln("Py_BLOCK_THREADS")
 */
  }

  /* "Cython/Compiler/Code.py":2101
 *         if variable:
 *             self.putln('_save = %s;' % variable)
 *         self.putln("Py_BLOCK_THREADS")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__137, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2101, __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":2102
 *             self.putln('_save = %s;' % variable)
 *         self.putln("Py_BLOCK_THREADS")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_release_gil(self, variable=None):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__138, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2102, __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":2093
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_acquire_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2104
 *         self.putln("#endif")
 * 
 *     def put_release_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_185put_release_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_184put_release_gil[] = "Release the GIL, corresponds to `put_acquire_gil`.";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_185put_release_gil = {"put_release_gil", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_185put_release_gil, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_184put_release_gil};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_185put_release_gil(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_variable = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_release_gil (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_variable,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_variable);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_release_gil") < 0)) __PYX_ERR(0, 2104, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_variable = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_release_gil", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2104, __pyx_L3_error)
  __pyx_L3_error:;
  __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_184put_release_gil(__pyx_self, __pyx_v_self, __pyx_v_variable);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_184put_release_gil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_variable) {
  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;
  __Pyx_RefNannySetupContext("put_release_gil", 0);

  /* "Cython/Compiler/Code.py":2106
 *     def put_release_gil(self, variable=None):
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         self.putln("PyThreadState *_save;")
 *         self.putln("Py_UNBLOCK_THREADS")
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__139, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2106, __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":2107
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyThreadState *_save;")             # <<<<<<<<<<<<<<
 *         self.putln("Py_UNBLOCK_THREADS")
 *         if variable:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__140, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2107, __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":2108
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyThreadState *_save;")
 *         self.putln("Py_UNBLOCK_THREADS")             # <<<<<<<<<<<<<<
 *         if variable:
 *             self.putln('%s = _save;' % variable)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__141, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2108, __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":2109
 *         self.putln("PyThreadState *_save;")
 *         self.putln("Py_UNBLOCK_THREADS")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('%s = _save;' % variable)
 *         self.putln("#endif")
 */
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_variable); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2109, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2110
 *         self.putln("Py_UNBLOCK_THREADS")
 *         if variable:
 *             self.putln('%s = _save;' % variable)             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s__save, __pyx_v_variable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2110, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2110, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2110, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2110, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2110, __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_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2109
 *         self.putln("PyThreadState *_save;")
 *         self.putln("Py_UNBLOCK_THREADS")
 *         if variable:             # <<<<<<<<<<<<<<
 *             self.putln('%s = _save;' % variable)
 *         self.putln("#endif")
 */
  }

  /* "Cython/Compiler/Code.py":2111
 *         if variable:
 *             self.putln('%s = _save;' % variable)
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def declare_gilstate(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__142, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2111, __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":2104
 *         self.putln("#endif")
 * 
 *     def put_release_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")
 */

  /* 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.CCodeWriter.put_release_gil", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2113
 *         self.putln("#endif")
 * 
 *     def declare_gilstate(self):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_187declare_gilstate(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_187declare_gilstate = {"declare_gilstate", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_187declare_gilstate, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_187declare_gilstate(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("declare_gilstate (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_186declare_gilstate(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_186declare_gilstate(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;
  __Pyx_RefNannySetupContext("declare_gilstate", 0);

  /* "Cython/Compiler/Code.py":2114
 * 
 *     def declare_gilstate(self):
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 *         self.putln("#endif")
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__143, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2114, __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":2115
 *     def declare_gilstate(self):
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__144, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2115, __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":2116
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     # error handling
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__145, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2116, __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":2113
 *         self.putln("#endif")
 * 
 *     def declare_gilstate(self):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef WITH_THREAD")
 *         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_XDECREF(__pyx_t_2);
  __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":2120
 *     # error handling
 * 
 *     def put_error_if_neg(self, pos, value):             # <<<<<<<<<<<<<<
 * #        return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))  # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_189put_error_if_neg(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_189put_error_if_neg = {"put_error_if_neg", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_189put_error_if_neg, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_189put_error_if_neg(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_error_if_neg (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,&__pyx_n_s_value,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_error_if_neg", 1, 3, 3, 1); __PYX_ERR(0, 2120, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_error_if_neg", 1, 3, 3, 2); __PYX_ERR(0, 2120, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_error_if_neg") < 0)) __PYX_ERR(0, 2120, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
    __pyx_v_value = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_error_if_neg", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2120, __pyx_L3_error)
  __pyx_L3_error:;
  __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_188put_error_if_neg(__pyx_self, __pyx_v_self, __pyx_v_pos, __pyx_v_value);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_188put_error_if_neg(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("put_error_if_neg", 0);

  /* "Cython/Compiler/Code.py":2122
 *     def put_error_if_neg(self, pos, value):
 * #        return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))  # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_5) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_pos};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_pos};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
      __Pyx_INCREF(__pyx_v_pos);
      __Pyx_GIVEREF(__pyx_v_pos);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_pos);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_value);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_if_s_0_s, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2122, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2122, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2120
 *     # error handling
 * 
 *     def put_error_if_neg(self, pos, value):             # <<<<<<<<<<<<<<
 * #        return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))  # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         return self.putln("if (%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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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":2124
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):             # <<<<<<<<<<<<<<
 *         from . import ExprNodes
 *         if entry.from_closure:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_191put_error_if_unbound(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_191put_error_if_unbound = {"put_error_if_unbound", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_191put_error_if_unbound, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_191put_error_if_unbound(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_entry = 0;
  PyObject *__pyx_v_in_nogil_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_error_if_unbound (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,&__pyx_n_s_entry,&__pyx_n_s_in_nogil_context,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_error_if_unbound", 0, 3, 4, 1); __PYX_ERR(0, 2124, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_entry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_error_if_unbound", 0, 3, 4, 2); __PYX_ERR(0, 2124, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_in_nogil_context);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_error_if_unbound") < 0)) __PYX_ERR(0, 2124, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
    __pyx_v_entry = values[2];
    __pyx_v_in_nogil_context = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_error_if_unbound", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2124, __pyx_L3_error)
  __pyx_L3_error:;
  __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_190put_error_if_unbound(__pyx_self, __pyx_v_self, __pyx_v_pos, __pyx_v_entry, __pyx_v_in_nogil_context);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_190put_error_if_unbound(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_entry, PyObject *__pyx_v_in_nogil_context) {
  PyObject *__pyx_v_ExprNodes = NULL;
  PyObject *__pyx_v_func = 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;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  __Pyx_RefNannySetupContext("put_error_if_unbound", 0);

  /* "Cython/Compiler/Code.py":2125
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):
 *         from . import ExprNodes             # <<<<<<<<<<<<<<
 *         if entry.from_closure:
 *             func = '__Pyx_RaiseClosureNameError'
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_ExprNodes);
  __Pyx_GIVEREF(__pyx_n_s_ExprNodes);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_ExprNodes);
  __pyx_t_2 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ExprNodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_ExprNodes = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2126
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):
 *         from . import ExprNodes
 *         if entry.from_closure:             # <<<<<<<<<<<<<<
 *             func = '__Pyx_RaiseClosureNameError'
 *             self.globalstate.use_utility_code(
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_from_closure); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2126, __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, 2126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2127
 *         from . import ExprNodes
 *         if entry.from_closure:
 *             func = '__Pyx_RaiseClosureNameError'             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_closure_name_error_utility_code)
 */
    __Pyx_INCREF(__pyx_n_s_Pyx_RaiseClosureNameError);
    __pyx_v_func = __pyx_n_s_Pyx_RaiseClosureNameError;

    /* "Cython/Compiler/Code.py":2128
 *         if entry.from_closure:
 *             func = '__Pyx_RaiseClosureNameError'
 *             self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *                 ExprNodes.raise_closure_name_error_utility_code)
 *         elif entry.type.is_memoryviewslice and in_nogil_context:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2129
 *             func = '__Pyx_RaiseClosureNameError'
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_closure_name_error_utility_code)             # <<<<<<<<<<<<<<
 *         elif entry.type.is_memoryviewslice and in_nogil_context:
 *             func = '__Pyx_RaiseUnboundMemoryviewSliceNogil'
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ExprNodes, __pyx_n_s_raise_closure_name_error_utility); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2128, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_1};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2128, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_1};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2128, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2128, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_1);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_1);
        __pyx_t_1 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2128, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2126
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):
 *         from . import ExprNodes
 *         if entry.from_closure:             # <<<<<<<<<<<<<<
 *             func = '__Pyx_RaiseClosureNameError'
 *             self.globalstate.use_utility_code(
 */
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":2130
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_closure_name_error_utility_code)
 *         elif entry.type.is_memoryviewslice and in_nogil_context:             # <<<<<<<<<<<<<<
 *             func = '__Pyx_RaiseUnboundMemoryviewSliceNogil'
 *             self.globalstate.use_utility_code(
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_is_memoryviewslice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 2130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_7) {
  } else {
    __pyx_t_3 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_in_nogil_context); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 2130, __pyx_L1_error)
  __pyx_t_3 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2131
 *                 ExprNodes.raise_closure_name_error_utility_code)
 *         elif entry.type.is_memoryviewslice and in_nogil_context:
 *             func = '__Pyx_RaiseUnboundMemoryviewSliceNogil'             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_unbound_memoryview_utility_code_nogil)
 */
    __Pyx_INCREF(__pyx_n_s_Pyx_RaiseUnboundMemoryviewSlic);
    __pyx_v_func = __pyx_n_s_Pyx_RaiseUnboundMemoryviewSlic;

    /* "Cython/Compiler/Code.py":2132
 *         elif entry.type.is_memoryviewslice and in_nogil_context:
 *             func = '__Pyx_RaiseUnboundMemoryviewSliceNogil'
 *             self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *                 ExprNodes.raise_unbound_memoryview_utility_code_nogil)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2133
 *             func = '__Pyx_RaiseUnboundMemoryviewSliceNogil'
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_unbound_memoryview_utility_code_nogil)             # <<<<<<<<<<<<<<
 *         else:
 *             func = '__Pyx_RaiseUnboundLocalError'
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_ExprNodes, __pyx_n_s_raise_unbound_memoryview_utility); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
      }
    }
    if (!__pyx_t_1) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else
      #endif
      {
        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2132, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL;
        __Pyx_GIVEREF(__pyx_t_2);
        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_2);
        __pyx_t_2 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __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;

    /* "Cython/Compiler/Code.py":2130
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_closure_name_error_utility_code)
 *         elif entry.type.is_memoryviewslice and in_nogil_context:             # <<<<<<<<<<<<<<
 *             func = '__Pyx_RaiseUnboundMemoryviewSliceNogil'
 *             self.globalstate.use_utility_code(
 */
    goto __pyx_L3;
  }

  /* "Cython/Compiler/Code.py":2135
 *                 ExprNodes.raise_unbound_memoryview_utility_code_nogil)
 *         else:
 *             func = '__Pyx_RaiseUnboundLocalError'             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_unbound_local_error_utility_code)
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_n_s_Pyx_RaiseUnboundLocalError);
    __pyx_v_func = __pyx_n_s_Pyx_RaiseUnboundLocalError;

    /* "Cython/Compiler/Code.py":2136
 *         else:
 *             func = '__Pyx_RaiseUnboundLocalError'
 *             self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *                 ExprNodes.raise_unbound_local_error_utility_code)
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2137
 *             func = '__Pyx_RaiseUnboundLocalError'
 *             self.globalstate.use_utility_code(
 *                 ExprNodes.raise_unbound_local_error_utility_code)             # <<<<<<<<<<<<<<
 * 
 *         self.putln('if (unlikely(!%s)) { %s("%s"); %s }' % (
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_ExprNodes, __pyx_n_s_raise_unbound_local_error_utilit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    if (!__pyx_t_2) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_1 = PyTuple_New(1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_1, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __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_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "Cython/Compiler/Code.py":2139
 *                 ExprNodes.raise_unbound_local_error_utility_code)
 * 
 *         self.putln('if (unlikely(!%s)) { %s("%s"); %s }' % (             # <<<<<<<<<<<<<<
 *                                 entry.type.check_for_null_code(entry.cname),
 *                                 func,
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "Cython/Compiler/Code.py":2140
 * 
 *         self.putln('if (unlikely(!%s)) { %s("%s"); %s }' % (
 *                                 entry.type.check_for_null_code(entry.cname),             # <<<<<<<<<<<<<<
 *                                 func,
 *                                 entry.name,
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_check_for_null_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_cname); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_8) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2142
 *                                 entry.type.check_for_null_code(entry.cname),
 *                                 func,
 *                                 entry.name,             # <<<<<<<<<<<<<<
 *                                 self.error_goto(pos)))
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":2143
 *                                 func,
 *                                 entry.name,
 *                                 self.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def set_error_info(self, pos, used=False):
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (!__pyx_t_8) {
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_pos); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_pos};
      __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2143, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_9);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_pos};
      __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2143, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_9);
    } else
    #endif
    {
      __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2143, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
      __Pyx_INCREF(__pyx_v_pos);
      __Pyx_GIVEREF(__pyx_v_pos);
      PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_pos);
      __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2143, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":2140
 * 
 *         self.putln('if (unlikely(!%s)) { %s("%s"); %s }' % (
 *                                 entry.type.check_for_null_code(entry.cname),             # <<<<<<<<<<<<<<
 *                                 func,
 *                                 entry.name,
 */
  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
  __Pyx_INCREF(__pyx_v_func);
  __Pyx_GIVEREF(__pyx_v_func);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_func);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_9);
  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_9);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2139
 *                 ExprNodes.raise_unbound_local_error_utility_code)
 * 
 *         self.putln('if (unlikely(!%s)) { %s("%s"); %s }' % (             # <<<<<<<<<<<<<<
 *                                 entry.type.check_for_null_code(entry.cname),
 *                                 func,
 */
  __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_if_unlikely_s_s_s_s, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2139, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_GOTREF(__pyx_t_4);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_9};
      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2139, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_9};
      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2139, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    } else
    #endif
    {
      __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2139, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2139, __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_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2124
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):             # <<<<<<<<<<<<<<
 *         from . import ExprNodes
 *         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_2);
  __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_XDECREF(__pyx_t_10);
  __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_ExprNodes);
  __Pyx_XDECREF(__pyx_v_func);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2145
 *                                 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_193set_error_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_193set_error_info = {"set_error_info", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_193set_error_info, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_193set_error_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_used = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_error_info (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,&__pyx_n_s_used,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_error_info", 0, 2, 3, 1); __PYX_ERR(0, 2145, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_used);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_error_info") < 0)) __PYX_ERR(0, 2145, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
    __pyx_v_used = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_error_info", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2145, __pyx_L3_error)
  __pyx_L3_error:;
  __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_192set_error_info(__pyx_self, __pyx_v_self, __pyx_v_pos, __pyx_v_used);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_192set_error_info(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_used) {
  PyObject *__pyx_v_cinfo = 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;
  __Pyx_RefNannySetupContext("set_error_info", 0);

  /* "Cython/Compiler/Code.py":2146
 * 
 *     def set_error_info(self, pos, used=False):
 *         self.funcstate.should_declare_error_indicator = True             # <<<<<<<<<<<<<<
 *         if used:
 *             self.funcstate.uses_error_indicator = True
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_should_declare_error_indicator, Py_True) < 0) __PYX_ERR(0, 2146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2147
 *     def set_error_info(self, pos, used=False):
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:             # <<<<<<<<<<<<<<
 *             self.funcstate.uses_error_indicator = True
 *         if self.code_config.c_line_in_traceback:
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_used); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2147, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":2148
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
 *             self.funcstate.uses_error_indicator = True             # <<<<<<<<<<<<<<
 *         if self.code_config.c_line_in_traceback:
 *             cinfo = " %s = %s;" % (Naming.clineno_cname, Naming.line_c_macro)
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_uses_error_indicator, Py_True) < 0) __PYX_ERR(0, 2148, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2147
 *     def set_error_info(self, pos, used=False):
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:             # <<<<<<<<<<<<<<
 *             self.funcstate.uses_error_indicator = True
 *         if self.code_config.c_line_in_traceback:
 */
  }

  /* "Cython/Compiler/Code.py":2149
 *         if used:
 *             self.funcstate.uses_error_indicator = True
 *         if self.code_config.c_line_in_traceback:             # <<<<<<<<<<<<<<
 *             cinfo = " %s = %s;" % (Naming.clineno_cname, Naming.line_c_macro)
 *         else:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_code_config); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_c_line_in_traceback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2149, __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, 2149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":2150
 *             self.funcstate.uses_error_indicator = True
 *         if self.code_config.c_line_in_traceback:
 *             cinfo = " %s = %s;" % (Naming.clineno_cname, Naming.line_c_macro)             # <<<<<<<<<<<<<<
 *         else:
 *             cinfo = ""
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_clineno_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_line_c_macro); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __pyx_t_3 = 0;
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s_6, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_cinfo = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2149
 *         if used:
 *             self.funcstate.uses_error_indicator = True
 *         if self.code_config.c_line_in_traceback:             # <<<<<<<<<<<<<<
 *             cinfo = " %s = %s;" % (Naming.clineno_cname, Naming.line_c_macro)
 *         else:
 */
    goto __pyx_L4;
  }

  /* "Cython/Compiler/Code.py":2152
 *             cinfo = " %s = %s;" % (Naming.clineno_cname, Naming.line_c_macro)
 *         else:
 *             cinfo = ""             # <<<<<<<<<<<<<<
 * 
 *         return "%s = %s[%s]; %s = %s;%s" % (
 */
  /*else*/ {
    __Pyx_INCREF(__pyx_kp_s__8);
    __pyx_v_cinfo = __pyx_kp_s__8;
  }
  __pyx_L4:;

  /* "Cython/Compiler/Code.py":2154
 *             cinfo = ""
 * 
 *         return "%s = %s[%s]; %s = %s;%s" % (             # <<<<<<<<<<<<<<
 *             Naming.filename_cname,
 *             Naming.filetable_cname,
 */
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":2155
 * 
 *         return "%s = %s[%s]; %s = %s;%s" % (
 *             Naming.filename_cname,             # <<<<<<<<<<<<<<
 *             Naming.filetable_cname,
 *             self.lookup_filename(pos[0]),
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_filename_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":2156
 *         return "%s = %s[%s]; %s = %s;%s" % (
 *             Naming.filename_cname,
 *             Naming.filetable_cname,             # <<<<<<<<<<<<<<
 *             self.lookup_filename(pos[0]),
 *             Naming.lineno_cname,
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_filetable_cname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "Cython/Compiler/Code.py":2157
 *             Naming.filename_cname,
 *             Naming.filetable_cname,
 *             self.lookup_filename(pos[0]),             # <<<<<<<<<<<<<<
 *             Naming.lineno_cname,
 *             pos[1],
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lookup_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_pos, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (!__pyx_t_7) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2157, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2157, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2157, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    {
      __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2158
 *             Naming.filetable_cname,
 *             self.lookup_filename(pos[0]),
 *             Naming.lineno_cname,             # <<<<<<<<<<<<<<
 *             pos[1],
 *             cinfo)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_lineno_cname); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "Cython/Compiler/Code.py":2159
 *             self.lookup_filename(pos[0]),
 *             Naming.lineno_cname,
 *             pos[1],             # <<<<<<<<<<<<<<
 *             cinfo)
 * 
 */
  __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);

  /* "Cython/Compiler/Code.py":2155
 * 
 *         return "%s = %s[%s]; %s = %s;%s" % (
 *             Naming.filename_cname,             # <<<<<<<<<<<<<<
 *             Naming.filetable_cname,
 *             self.lookup_filename(pos[0]),
 */
  __pyx_t_6 = PyTuple_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_t_8);
  __Pyx_INCREF(__pyx_v_cinfo);
  __Pyx_GIVEREF(__pyx_v_cinfo);
  PyTuple_SET_ITEM(__pyx_t_6, 5, __pyx_v_cinfo);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_t_5 = 0;
  __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2154
 *             cinfo = ""
 * 
 *         return "%s = %s[%s]; %s = %s;%s" % (             # <<<<<<<<<<<<<<
 *             Naming.filename_cname,
 *             Naming.filetable_cname,
 */
  __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s_s_s_s, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2145
 *                                 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_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.set_error_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cinfo);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2162
 *             cinfo)
 * 
 *     def error_goto(self, pos):             # <<<<<<<<<<<<<<
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_195error_goto(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_195error_goto = {"error_goto", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_195error_goto, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_195error_goto(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("error_goto (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto", 1, 2, 2, 1); __PYX_ERR(0, 2162, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "error_goto") < 0)) __PYX_ERR(0, 2162, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("error_goto", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2162, __pyx_L3_error)
  __pyx_L3_error:;
  __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_194error_goto(__pyx_self, __pyx_v_self, __pyx_v_pos);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_194error_goto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pos) {
  PyObject *__pyx_v_lbl = 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;
  __Pyx_RefNannySetupContext("error_goto", 0);

  /* "Cython/Compiler/Code.py":2163
 * 
 *     def error_goto(self, pos):
 *         lbl = self.funcstate.error_label             # <<<<<<<<<<<<<<
 *         self.funcstate.use_label(lbl)
 *         return "__PYX_ERR(%s, %s, %s)" % (
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_error_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_lbl = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2164
 *     def error_goto(self, pos):
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)             # <<<<<<<<<<<<<<
 *         return "__PYX_ERR(%s, %s, %s)" % (
 *             self.lookup_filename(pos[0]),
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_use_label); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_lbl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_lbl};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2164, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_lbl};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2164, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2164, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_INCREF(__pyx_v_lbl);
      __Pyx_GIVEREF(__pyx_v_lbl);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_lbl);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2164, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __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;

  /* "Cython/Compiler/Code.py":2165
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
 *         return "__PYX_ERR(%s, %s, %s)" % (             # <<<<<<<<<<<<<<
 *             self.lookup_filename(pos[0]),
 *             pos[1],
 */
  __Pyx_XDECREF(__pyx_r);

  /* "Cython/Compiler/Code.py":2166
 *         self.funcstate.use_label(lbl)
 *         return "__PYX_ERR(%s, %s, %s)" % (
 *             self.lookup_filename(pos[0]),             # <<<<<<<<<<<<<<
 *             pos[1],
 *             lbl)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lookup_filename); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_pos, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2166, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2166, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2166, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":2167
 *         return "__PYX_ERR(%s, %s, %s)" % (
 *             self.lookup_filename(pos[0]),
 *             pos[1],             # <<<<<<<<<<<<<<
 *             lbl)
 * 
 */
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "Cython/Compiler/Code.py":2166
 *         self.funcstate.use_label(lbl)
 *         return "__PYX_ERR(%s, %s, %s)" % (
 *             self.lookup_filename(pos[0]),             # <<<<<<<<<<<<<<
 *             pos[1],
 *             lbl)
 */
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __Pyx_INCREF(__pyx_v_lbl);
  __Pyx_GIVEREF(__pyx_v_lbl);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_lbl);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":2165
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
 *         return "__PYX_ERR(%s, %s, %s)" % (             # <<<<<<<<<<<<<<
 *             self.lookup_filename(pos[0]),
 *             pos[1],
 */
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_PYX_ERR_s_s_s, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2162
 *             cinfo)
 * 
 *     def error_goto(self, pos):             # <<<<<<<<<<<<<<
 *         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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":2170
 *             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_197error_goto_if(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_197error_goto_if = {"error_goto_if", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_197error_goto_if, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_197error_goto_if(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cond = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("error_goto_if (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cond,&__pyx_n_s_pos,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cond)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto_if", 1, 3, 3, 1); __PYX_ERR(0, 2170, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto_if", 1, 3, 3, 2); __PYX_ERR(0, 2170, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "error_goto_if") < 0)) __PYX_ERR(0, 2170, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_cond = values[1];
    __pyx_v_pos = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("error_goto_if", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2170, __pyx_L3_error)
  __pyx_L3_error:;
  __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_196error_goto_if(__pyx_self, __pyx_v_self, __pyx_v_cond, __pyx_v_pos);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_196error_goto_if(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("error_goto_if", 0);

  /* "Cython/Compiler/Code.py":2171
 * 
 *     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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_unlikely); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_cond); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_cond};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_cond};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_cond);
      __Pyx_GIVEREF(__pyx_v_cond);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_cond);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_pos};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_pos};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_pos);
      __Pyx_GIVEREF(__pyx_v_pos);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_pos);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_if_s_s, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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":2170
 *             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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":2173
 *         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_199error_goto_if_null(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_199error_goto_if_null = {"error_goto_if_null", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_199error_goto_if_null, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_199error_goto_if_null(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("error_goto_if_null (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_pos,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto_if_null", 1, 3, 3, 1); __PYX_ERR(0, 2173, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto_if_null", 1, 3, 3, 2); __PYX_ERR(0, 2173, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "error_goto_if_null") < 0)) __PYX_ERR(0, 2173, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_pos = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("error_goto_if_null", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2173, __pyx_L3_error)
  __pyx_L3_error:;
  __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_198error_goto_if_null(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_pos);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_198error_goto_if_null(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("error_goto_if_null", 0);

  /* "Cython/Compiler/Code.py":2174
 * 
 *     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 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto_if); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_14, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_pos};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2174, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_pos};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2174, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_3);
    __Pyx_INCREF(__pyx_v_pos);
    __Pyx_GIVEREF(__pyx_v_pos);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_pos);
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2173
 *         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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __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":2176
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
 *     def error_goto_if_neg(self, cname, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("%s < 0" % cname, pos)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_201error_goto_if_neg(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_201error_goto_if_neg = {"error_goto_if_neg", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_201error_goto_if_neg, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_201error_goto_if_neg(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cname = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("error_goto_if_neg (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cname,&__pyx_n_s_pos,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto_if_neg", 1, 3, 3, 1); __PYX_ERR(0, 2176, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto_if_neg", 1, 3, 3, 2); __PYX_ERR(0, 2176, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "error_goto_if_neg") < 0)) __PYX_ERR(0, 2176, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_cname = values[1];
    __pyx_v_pos = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("error_goto_if_neg", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2176, __pyx_L3_error)
  __pyx_L3_error:;
  __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_200error_goto_if_neg(__pyx_self, __pyx_v_self, __pyx_v_cname, __pyx_v_pos);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_200error_goto_if_neg(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("error_goto_if_neg", 0);

  /* "Cython/Compiler/Code.py":2177
 * 
 *     def error_goto_if_neg(self, cname, pos):
 *         return self.error_goto_if("%s < 0" % cname, pos)             # <<<<<<<<<<<<<<
 * 
 *     def error_goto_if_PyErr(self, pos):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto_if); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_s_0, __pyx_v_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_pos};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2177, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_pos};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2177, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_3);
    __Pyx_INCREF(__pyx_v_pos);
    __Pyx_GIVEREF(__pyx_v_pos);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_pos);
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2176
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
 *     def error_goto_if_neg(self, cname, pos):             # <<<<<<<<<<<<<<
 *         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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __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":2179
 *         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_203error_goto_if_PyErr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_203error_goto_if_PyErr = {"error_goto_if_PyErr", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_203error_goto_if_PyErr, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_203error_goto_if_PyErr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("error_goto_if_PyErr (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pos,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("error_goto_if_PyErr", 1, 2, 2, 1); __PYX_ERR(0, 2179, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "error_goto_if_PyErr") < 0)) __PYX_ERR(0, 2179, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_pos = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("error_goto_if_PyErr", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2179, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.error_goto_if_PyErr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_202error_goto_if_PyErr(__pyx_self, __pyx_v_self, __pyx_v_pos);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_202error_goto_if_PyErr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("error_goto_if_PyErr", 0);

  /* "Cython/Compiler/Code.py":2180
 * 
 *     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 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto_if); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_PyErr_Occurred, __pyx_v_pos};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2180, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_PyErr_Occurred, __pyx_v_pos};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2180, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_PyErr_Occurred);
    __Pyx_GIVEREF(__pyx_kp_s_PyErr_Occurred);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_kp_s_PyErr_Occurred);
    __Pyx_INCREF(__pyx_v_pos);
    __Pyx_GIVEREF(__pyx_v_pos);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_pos);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2179
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __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":2182
 *         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_205lookup_filename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_205lookup_filename = {"lookup_filename", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_205lookup_filename, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_205lookup_filename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lookup_filename (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_filename,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filename)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lookup_filename", 1, 2, 2, 1); __PYX_ERR(0, 2182, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "lookup_filename") < 0)) __PYX_ERR(0, 2182, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_filename = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lookup_filename", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2182, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.lookup_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_204lookup_filename(__pyx_self, __pyx_v_self, __pyx_v_filename);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_204lookup_filename(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filename) {
  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;
  __Pyx_RefNannySetupContext("lookup_filename", 0);

  /* "Cython/Compiler/Code.py":2183
 * 
 *     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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_lookup_filename); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_filename};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_filename};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2183, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_filename);
      __Pyx_GIVEREF(__pyx_v_filename);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_filename);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 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":2182
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":2185
 *         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_207put_declare_refcount_context(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_207put_declare_refcount_context = {"put_declare_refcount_context", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_207put_declare_refcount_context, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_207put_declare_refcount_context(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_declare_refcount_context (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_206put_declare_refcount_context(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_206put_declare_refcount_context(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;
  __Pyx_RefNannySetupContext("put_declare_refcount_context", 0);

  /* "Cython/Compiler/Code.py":2186
 * 
 *     def put_declare_refcount_context(self):
 *         self.putln('__Pyx_RefNannyDeclarations')             # <<<<<<<<<<<<<<
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__146, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2186, __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":2185
 *         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_XDECREF(__pyx_t_2);
  __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":2188
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):             # <<<<<<<<<<<<<<
 *         if acquire_gil:
 *             self.globalstate.use_utility_code(
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_209put_setup_refcount_context(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_209put_setup_refcount_context = {"put_setup_refcount_context", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_209put_setup_refcount_context, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_209put_setup_refcount_context(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_acquire_gil = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_setup_refcount_context (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,&__pyx_n_s_acquire_gil,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_setup_refcount_context", 0, 2, 3, 1); __PYX_ERR(0, 2188, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_acquire_gil);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_setup_refcount_context") < 0)) __PYX_ERR(0, 2188, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_name = values[1];
    __pyx_v_acquire_gil = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_setup_refcount_context", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2188, __pyx_L3_error)
  __pyx_L3_error:;
  __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_208put_setup_refcount_context(__pyx_self, __pyx_v_self, __pyx_v_name, __pyx_v_acquire_gil);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_208put_setup_refcount_context(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_acquire_gil) {
  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;
  __Pyx_RefNannySetupContext("put_setup_refcount_context", 0);

  /* "Cython/Compiler/Code.py":2189
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 *         if acquire_gil:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_acquire_gil); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2189, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2190
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "Cython/Compiler/Code.py":2191
 *         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_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__147, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2190, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2190, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2190, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2190, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2190, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2189
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 *         if acquire_gil:             # <<<<<<<<<<<<<<
 *             self.globalstate.use_utility_code(
 *                 UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 */
  }

  /* "Cython/Compiler/Code.py":2192
 *             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):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_acquire_gil); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 2192, __pyx_L1_error)
  if (!__pyx_t_1) {
    goto __pyx_L5_next_or;
  } else {
  }
  if (!1) {
  } else {
    __pyx_t_3 = __Pyx_PyInt_From_long(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_L5_next_or:;
  __pyx_t_3 = __Pyx_PyInt_From_long(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_L4_bool_binop_done:;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_name);
  __Pyx_GIVEREF(__pyx_v_name);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_name);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_RefNannySetupContext_s_d, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2192, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2192, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2192, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2188
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):             # <<<<<<<<<<<<<<
 *         if acquire_gil:
 *             self.globalstate.use_utility_code(
 */

  /* 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_6);
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_setup_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":2194
 *         self.putln('__Pyx_RefNannySetupContext("%s", %d);' % (name, acquire_gil and 1 or 0))
 * 
 *     def put_finish_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_RefNannyFinishContext();")
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_211put_finish_refcount_context(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_211put_finish_refcount_context = {"put_finish_refcount_context", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_211put_finish_refcount_context, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_211put_finish_refcount_context(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_finish_refcount_context (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_210put_finish_refcount_context(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_210put_finish_refcount_context(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;
  __Pyx_RefNannySetupContext("put_finish_refcount_context", 0);

  /* "Cython/Compiler/Code.py":2195
 * 
 *     def put_finish_refcount_context(self):
 *         self.putln("__Pyx_RefNannyFinishContext();")             # <<<<<<<<<<<<<<
 * 
 *     def put_add_traceback(self, qualified_name):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__148, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2195, __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":2194
 *         self.putln('__Pyx_RefNannySetupContext("%s", %d);' % (name, acquire_gil and 1 or 0))
 * 
 *     def put_finish_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln("__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_2);
  __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":2197
 *         self.putln("__Pyx_RefNannyFinishContext();")
 * 
 *     def put_add_traceback(self, qualified_name):             # <<<<<<<<<<<<<<
 *         """
 *         Build a Python traceback for propagating exceptions.
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_213put_add_traceback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_212put_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_213put_add_traceback = {"put_add_traceback", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_213put_add_traceback, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_212put_add_traceback};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_213put_add_traceback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_qualified_name = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_add_traceback (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_qualified_name,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_qualified_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_add_traceback", 1, 2, 2, 1); __PYX_ERR(0, 2197, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_add_traceback") < 0)) __PYX_ERR(0, 2197, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_qualified_name = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_add_traceback", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2197, __pyx_L3_error)
  __pyx_L3_error:;
  __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_212put_add_traceback(__pyx_self, __pyx_v_self, __pyx_v_qualified_name);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_212put_add_traceback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_qualified_name) {
  PyObject *__pyx_v_format_tuple = 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;
  __Pyx_RefNannySetupContext("put_add_traceback", 0);

  /* "Cython/Compiler/Code.py":2205
 *         format_tuple = (
 *             qualified_name,
 *             Naming.clineno_cname,             # <<<<<<<<<<<<<<
 *             Naming.lineno_cname,
 *             Naming.filename_cname,
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_clineno_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":2206
 *             qualified_name,
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,             # <<<<<<<<<<<<<<
 *             Naming.filename_cname,
 *         )
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_lineno_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":2207
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,
 *             Naming.filename_cname,             # <<<<<<<<<<<<<<
 *         )
 *         self.funcstate.uses_error_indicator = True
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_filename_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "Cython/Compiler/Code.py":2204
 *         """
 *         format_tuple = (
 *             qualified_name,             # <<<<<<<<<<<<<<
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,
 */
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_qualified_name);
  __Pyx_GIVEREF(__pyx_v_qualified_name);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_qualified_name);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_format_tuple = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2209
 *             Naming.filename_cname,
 *         )
 *         self.funcstate.uses_error_indicator = True             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_AddTraceback("%s", %s, %s, %s);' % format_tuple)
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_uses_error_indicator, Py_True) < 0) __PYX_ERR(0, 2209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2210
 *         )
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_AddTraceback_s_s_s_s, __pyx_v_format_tuple); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_1) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2210, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_4);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2210, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2210, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL;
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2197
 *         self.putln("__Pyx_RefNannyFinishContext();")
 * 
 *     def put_add_traceback(self, qualified_name):             # <<<<<<<<<<<<<<
 *         """
 *         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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2212
 *         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_215put_unraisable(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_214put_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_215put_unraisable = {"put_unraisable", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_215put_unraisable, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_214put_unraisable};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_215put_unraisable(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_qualified_name = 0;
  PyObject *__pyx_v_nogil = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_unraisable (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_qualified_name,&__pyx_n_s_nogil,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_qualified_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_unraisable", 0, 2, 3, 1); __PYX_ERR(0, 2212, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nogil);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_unraisable") < 0)) __PYX_ERR(0, 2212, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_qualified_name = values[1];
    __pyx_v_nogil = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_unraisable", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2212, __pyx_L3_error)
  __pyx_L3_error:;
  __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_214put_unraisable(__pyx_self, __pyx_v_self, __pyx_v_qualified_name, __pyx_v_nogil);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_214put_unraisable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_qualified_name, PyObject *__pyx_v_nogil) {
  PyObject *__pyx_v_format_tuple = 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;
  __Pyx_RefNannySetupContext("put_unraisable", 0);

  /* "Cython/Compiler/Code.py":2220
 *         format_tuple = (
 *             qualified_name,
 *             Naming.clineno_cname,             # <<<<<<<<<<<<<<
 *             Naming.lineno_cname,
 *             Naming.filename_cname,
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_clineno_cname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "Cython/Compiler/Code.py":2221
 *             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_n_s_lineno_cname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":2222
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,
 *             Naming.filename_cname,             # <<<<<<<<<<<<<<
 *             self.globalstate.directives['unraisable_tracebacks'],
 *             nogil,
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_filename_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "Cython/Compiler/Code.py":2223
 *             Naming.lineno_cname,
 *             Naming.filename_cname,
 *             self.globalstate.directives['unraisable_tracebacks'],             # <<<<<<<<<<<<<<
 *             nogil,
 *         )
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_directives); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_GetItem(__pyx_t_5, __pyx_n_s_unraisable_tracebacks); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2219
 *         """
 *         format_tuple = (
 *             qualified_name,             # <<<<<<<<<<<<<<
 *             Naming.clineno_cname,
 *             Naming.lineno_cname,
 */
  __pyx_t_5 = PyTuple_New(6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF(__pyx_v_qualified_name);
  __Pyx_GIVEREF(__pyx_v_qualified_name);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_qualified_name);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_t_4);
  __Pyx_INCREF(__pyx_v_nogil);
  __Pyx_GIVEREF(__pyx_v_nogil);
  PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_v_nogil);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_v_format_tuple = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2226
 *             nogil,
 *         )
 *         self.funcstate.uses_error_indicator = True             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % format_tuple)
 *         self.globalstate.use_utility_code(
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_funcstate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_uses_error_indicator, Py_True) < 0) __PYX_ERR(0, 2226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2227
 *         )
 *         self.funcstate.uses_error_indicator = True
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % format_tuple)             # <<<<<<<<<<<<<<
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_WriteUnraisable_s_s_s_s_d, __pyx_v_format_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2227, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_5);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2227, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2227, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_1 = PyTuple_New(1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2227, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_1, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2227, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __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;

  /* "Cython/Compiler/Code.py":2228
 *         self.funcstate.uses_error_indicator = True
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % format_tuple)
 *         self.globalstate.use_utility_code(             # <<<<<<<<<<<<<<
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_globalstate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_use_utility_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2229
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % format_tuple)
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_declarations(self):
 */
  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_load_cached); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__149, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2228, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_5);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2228, __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_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "Cython/Compiler/Code.py":2212
 *         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_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_unraisable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_format_tuple);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2231
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 *     def put_trace_declarations(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_217put_trace_declarations(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_217put_trace_declarations = {"put_trace_declarations", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_217put_trace_declarations, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_217put_trace_declarations(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_trace_declarations (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_216put_trace_declarations(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_216put_trace_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;
  __Pyx_RefNannySetupContext("put_trace_declarations", 0);

  /* "Cython/Compiler/Code.py":2232
 * 
 *     def put_trace_declarations(self):
 *         self.putln('__Pyx_TraceDeclarations')             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_frame_init(self, codeobj=None):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__150, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2232, __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":2231
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 *     def put_trace_declarations(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 */

  /* 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_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":2234
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 *     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_219put_trace_frame_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_219put_trace_frame_init = {"put_trace_frame_init", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_219put_trace_frame_init, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_219put_trace_frame_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_codeobj = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_trace_frame_init (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_codeobj,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_codeobj);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_trace_frame_init") < 0)) __PYX_ERR(0, 2234, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_codeobj = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_trace_frame_init", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2234, __pyx_L3_error)
  __pyx_L3_error:;
  __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_218put_trace_frame_init(__pyx_self, __pyx_v_self, __pyx_v_codeobj);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_218put_trace_frame_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("put_trace_frame_init", 0);

  /* "Cython/Compiler/Code.py":2235
 * 
 *     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, 2235, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "Cython/Compiler/Code.py":2236
 *     def put_trace_frame_init(self, codeobj=None):
 *         if codeobj:
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_call(self, name, pos, nogil=False):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_TraceFrameInit_s, __pyx_v_codeobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2236, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2236, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2236, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2236, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2236, __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_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":2235
 * 
 *     def put_trace_frame_init(self, codeobj=None):
 *         if codeobj:             # <<<<<<<<<<<<<<
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 */
  }

  /* "Cython/Compiler/Code.py":2234
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 *     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_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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":2238
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_call(self, name, pos, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceCall("%s", %s[%s], %s, %d, %s);' % (
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_221put_trace_call(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_221put_trace_call = {"put_trace_call", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_221put_trace_call, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_221put_trace_call(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_pos = 0;
  PyObject *__pyx_v_nogil = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_trace_call (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,&__pyx_n_s_pos,&__pyx_n_s_nogil,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_trace_call", 0, 3, 4, 1); __PYX_ERR(0, 2238, __pyx_L3_error)
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_trace_call", 0, 3, 4, 2); __PYX_ERR(0, 2238, __pyx_L3_error)
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nogil);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_trace_call") < 0)) __PYX_ERR(0, 2238, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_name = values[1];
    __pyx_v_pos = values[2];
    __pyx_v_nogil = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_trace_call", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2238, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.put_trace_call", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_220put_trace_call(__pyx_self, __pyx_v_self, __pyx_v_name, __pyx_v_pos, __pyx_v_nogil);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_220put_trace_call(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_pos, 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 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("put_trace_call", 0);

  /* "Cython/Compiler/Code.py":2239
 * 
 *     def put_trace_call(self, name, pos, nogil=False):
 *         self.putln('__Pyx_TraceCall("%s", %s[%s], %s, %d, %s);' % (             # <<<<<<<<<<<<<<
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":2240
 *     def put_trace_call(self, name, pos, nogil=False):
 *         self.putln('__Pyx_TraceCall("%s", %s[%s], %s, %d, %s);' % (
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_exception(self):
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_filetable_cname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lookup_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_pos, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (!__pyx_t_7) {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2240, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_4);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else
    #endif
    {
      __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_pos, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_error_goto); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (!__pyx_t_7) {
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_pos); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_pos};
      __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_8);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_pos};
      __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_8);
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
      __Pyx_INCREF(__pyx_v_pos);
      __Pyx_GIVEREF(__pyx_v_pos);
      PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_pos);
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_INCREF(__pyx_v_name);
  __Pyx_GIVEREF(__pyx_v_name);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_name);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
  __Pyx_INCREF(__pyx_v_nogil);
  __Pyx_GIVEREF(__pyx_v_nogil);
  PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_v_nogil);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_6, 5, __pyx_t_8);
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":2239
 * 
 *     def put_trace_call(self, name, pos, nogil=False):
 *         self.putln('__Pyx_TraceCall("%s", %s[%s], %s, %d, %s);' % (             # <<<<<<<<<<<<<<
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 * 
 */
  __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_TraceCall_s_s_s_s_d_s, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2239, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2239, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2239, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2239, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_8);
      __pyx_t_8 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2239, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2238
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_call(self, name, pos, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceCall("%s", %s[%s], %s, %d, %s);' % (
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(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_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.CCodeWriter.put_trace_call", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2242
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 * 
 *     def put_trace_exception(self):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceException();")
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_223put_trace_exception(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_223put_trace_exception = {"put_trace_exception", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_223put_trace_exception, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_223put_trace_exception(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_trace_exception (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_222put_trace_exception(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_222put_trace_exception(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;
  __Pyx_RefNannySetupContext("put_trace_exception", 0);

  /* "Cython/Compiler/Code.py":2243
 * 
 *     def put_trace_exception(self):
 *         self.putln("__Pyx_TraceException();")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_return(self, retvalue_cname, nogil=False):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__151, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2243, __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":2242
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 * 
 *     def put_trace_exception(self):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceException();")
 * 
 */

  /* 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", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2245
 *         self.putln("__Pyx_TraceException();")
 * 
 *     def put_trace_return(self, retvalue_cname, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_225put_trace_return(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_225put_trace_return = {"put_trace_return", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_225put_trace_return, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_225put_trace_return(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_retvalue_cname = 0;
  PyObject *__pyx_v_nogil = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_trace_return (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_retvalue_cname,&__pyx_n_s_nogil,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_False));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_retvalue_cname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_trace_return", 0, 2, 3, 1); __PYX_ERR(0, 2245, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nogil);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_trace_return") < 0)) __PYX_ERR(0, 2245, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_retvalue_cname = values[1];
    __pyx_v_nogil = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_trace_return", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2245, __pyx_L3_error)
  __pyx_L3_error:;
  __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_224put_trace_return(__pyx_self, __pyx_v_self, __pyx_v_retvalue_cname, __pyx_v_nogil);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_224put_trace_return(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_retvalue_cname, 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;
  __Pyx_RefNannySetupContext("put_trace_return", 0);

  /* "Cython/Compiler/Code.py":2246
 * 
 *     def put_trace_return(self, retvalue_cname, nogil=False):
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))             # <<<<<<<<<<<<<<
 * 
 *     def putln_openmp(self, string):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_retvalue_cname);
  __Pyx_GIVEREF(__pyx_v_retvalue_cname);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_retvalue_cname);
  __Pyx_INCREF(__pyx_v_nogil);
  __Pyx_GIVEREF(__pyx_v_nogil);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_nogil);
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Pyx_TraceReturn_s_d, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2246, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2246, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2246, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2246, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2246, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2245
 *         self.putln("__Pyx_TraceException();")
 * 
 *     def put_trace_return(self, retvalue_cname, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 */

  /* 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.put_trace_return", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2248
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 *     def putln_openmp(self, string):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_227putln_openmp(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_227putln_openmp = {"putln_openmp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_227putln_openmp, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_227putln_openmp(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_string = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("putln_openmp (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_string,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_string)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("putln_openmp", 1, 2, 2, 1); __PYX_ERR(0, 2248, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "putln_openmp") < 0)) __PYX_ERR(0, 2248, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_string = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("putln_openmp", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2248, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.putln_openmp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_226putln_openmp(__pyx_self, __pyx_v_self, __pyx_v_string);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_226putln_openmp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_string) {
  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;
  __Pyx_RefNannySetupContext("putln_openmp", 0);

  /* "Cython/Compiler/Code.py":2249
 * 
 *     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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__152, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2249, __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":2250
 *     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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_string};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2250, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_string};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2250, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2250, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_string);
      __Pyx_GIVEREF(__pyx_v_string);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_string);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2250, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2251
 *         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_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__153, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2251, __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":2248
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 *     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_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":2253
 *         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_229undef_builtin_expect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_228undef_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_229undef_builtin_expect = {"undef_builtin_expect", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_229undef_builtin_expect, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_11CCodeWriter_228undef_builtin_expect};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_229undef_builtin_expect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cond = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("undef_builtin_expect (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cond,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cond)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("undef_builtin_expect", 1, 2, 2, 1); __PYX_ERR(0, 2253, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "undef_builtin_expect") < 0)) __PYX_ERR(0, 2253, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_cond = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("undef_builtin_expect", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2253, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.undef_builtin_expect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_228undef_builtin_expect(__pyx_self, __pyx_v_self, __pyx_v_cond);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_228undef_builtin_expect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cond) {
  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;
  __Pyx_RefNannySetupContext("undef_builtin_expect", 0);

  /* "Cython/Compiler/Code.py":2258
 *         condition 'cond'
 *         """
 *         self.putln("#if %s" % cond)             # <<<<<<<<<<<<<<
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_if_s, __pyx_v_cond); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2258, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2258, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2258, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2258, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2258, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2259
 *         """
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")             # <<<<<<<<<<<<<<
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__154, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2259, __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":2260
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__155, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2260, __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":2261
 *         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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__156, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2261, __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":2262
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")
 *         self.putln("    #define unlikely(x) (x)")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__157, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2262, __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":2263
 *         self.putln("    #define likely(x)   (x)")
 *         self.putln("    #define unlikely(x) (x)")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def redef_builtin_expect(self, cond):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__158, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2263, __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":2253
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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":2265
 *         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_231redef_builtin_expect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_231redef_builtin_expect = {"redef_builtin_expect", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_231redef_builtin_expect, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_11CCodeWriter_231redef_builtin_expect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_cond = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("redef_builtin_expect (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cond,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cond)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("redef_builtin_expect", 1, 2, 2, 1); __PYX_ERR(0, 2265, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "redef_builtin_expect") < 0)) __PYX_ERR(0, 2265, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_cond = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("redef_builtin_expect", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2265, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.CCodeWriter.redef_builtin_expect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_230redef_builtin_expect(__pyx_self, __pyx_v_self, __pyx_v_cond);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_11CCodeWriter_230redef_builtin_expect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cond) {
  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;
  __Pyx_RefNannySetupContext("redef_builtin_expect", 0);

  /* "Cython/Compiler/Code.py":2266
 * 
 *     def redef_builtin_expect(self, cond):
 *         self.putln("#if %s" % cond)             # <<<<<<<<<<<<<<
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_if_s, __pyx_v_cond); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2266, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2266, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2266, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2267
 *     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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__159, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2267, __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":2268
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__160, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2268, __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":2269
 *         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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__161, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2269, __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":2270
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__162, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2270, __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":2271
 *         self.putln("    #define likely(x)   __builtin_expect(!!(x), 1)")
 *         self.putln("    #define unlikely(x) __builtin_expect(!!(x), 0)")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 * class PyrexCodeWriter(object):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__163, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2271, __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":2265
 *         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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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.py":2277
 *     # 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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_outfile_name,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_outfile_name)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 2277, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_outfile_name = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2277, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":2278
 * 
 *     def __init__(self, outfile_name):
 *         self.f = Utils.open_new_file(outfile_name)             # <<<<<<<<<<<<<<
 *         self.level = 0
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Utils, __pyx_n_s_open_new_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_outfile_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_outfile_name};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_outfile_name};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2278, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_outfile_name);
      __Pyx_GIVEREF(__pyx_v_outfile_name);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_outfile_name);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __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":2279
 *     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":2277
 *     # 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_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __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":2281
 *         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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("putln (wrapper)", 0);
  __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 = NULL;
  __Pyx_RefNannySetupContext("putln", 0);

  /* "Cython/Compiler/Code.py":2282
 * 
 *     def putln(self, code):
 *         self.f.write("%s%s\n" % (" " * self.level, code))             # <<<<<<<<<<<<<<
 * 
 *     def indent(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyNumber_Multiply(__pyx_kp_s__127, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
  __Pyx_INCREF(__pyx_v_code);
  __Pyx_GIVEREF(__pyx_v_code);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_code);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_s_7, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2282, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2282, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2282, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2282, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2282, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2281
 *         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_5);
  __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":2284
 *         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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("indent (wrapper)", 0);
  __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":2285
 * 
 *     def indent(self):
 *         self.level += 1             # <<<<<<<<<<<<<<
 * 
 *     def dedent(self):
 */
  __pyx_v_self->level = (__pyx_v_self->level + 1);

  /* "Cython/Compiler/Code.py":2284
 *         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":2287
 *         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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("dedent (wrapper)", 0);
  __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":2288
 * 
 *     def dedent(self):
 *         self.level -= 1             # <<<<<<<<<<<<<<
 * 
 * class PyxCodeWriter(object):
 */
  __pyx_v_self->level = (__pyx_v_self->level - 1);

  /* "Cython/Compiler/Code.py":2287
 *         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":94
 * 
 * cdef class PyrexCodeWriter:
 *     cdef public object f             # <<<<<<<<<<<<<<
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
}

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_value));

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

static int __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__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->f);
  __Pyx_DECREF(__pyx_v_self->f);
  __pyx_v_self->f = __pyx_v_value;

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

/* Python wrapper */
static int __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_5__del__(PyObject *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_4__del__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self));

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

static int __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_4__del__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__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->f);
  __Pyx_DECREF(__pyx_v_self->f);
  __pyx_v_self->f = Py_None;

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

/* "Cython/Compiler/Code.pxd":95
 * cdef class PyrexCodeWriter:
 *     cdef public object f
 *     cdef public 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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __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;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->level); 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.PyrexCodeWriter.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_15PyrexCodeWriter_5level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level_2__set__(((struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *)__pyx_v_self), ((PyObject *)__pyx_v_value));

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

static int __pyx_pf_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level_2__set__(struct __pyx_obj_6Cython_8Compiler_4Code_PyrexCodeWriter *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 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, 95, __pyx_L1_error)
  __pyx_v_self->level = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyrexCodeWriter.level.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2297
 *     """
 * 
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):             # <<<<<<<<<<<<<<
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_buffer = 0;
  PyObject *__pyx_v_indent_level = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_v_encoding = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_buffer,&__pyx_n_s_indent_level,&__pyx_n_s_context,&__pyx_n_s_encoding,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[1] = ((PyObject *)((PyObject *)Py_None));
    values[2] = ((PyObject *)((PyObject *)__pyx_int_0));
    values[3] = ((PyObject *)((PyObject *)Py_None));
    values[4] = ((PyObject *)((PyObject*)__pyx_n_s_ascii));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buffer);
          if (value) { values[1] = value; kw_args--; }
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_indent_level);
          if (value) { values[2] = value; kw_args--; }
        }
        case  3:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context);
          if (value) { values[3] = value; kw_args--; }
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoding);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 2297, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_buffer = values[1];
    __pyx_v_indent_level = values[2];
    __pyx_v_context = values[3];
    __pyx_v_encoding = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2297, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter___init__(__pyx_self, __pyx_v_self, __pyx_v_buffer, __pyx_v_indent_level, __pyx_v_context, __pyx_v_encoding);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_buffer, PyObject *__pyx_v_indent_level, PyObject *__pyx_v_context, PyObject *__pyx_v_encoding) {
  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;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":2298
 * 
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):
 *         self.buffer = buffer or StringIOTree()             # <<<<<<<<<<<<<<
 *         self.level = indent_level
 *         self.context = context
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_buffer); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2298, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_v_buffer);
    __pyx_t_1 = __pyx_v_buffer;
    goto __pyx_L3_bool_binop_done;
  }
  __Pyx_INCREF(__pyx_v_6Cython_8Compiler_4Code_StringIOTree);
  __pyx_t_4 = __pyx_v_6Cython_8Compiler_4Code_StringIOTree; __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (__pyx_t_5) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2298, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2298, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_1 = __pyx_t_3;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_L3_bool_binop_done:;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_buffer, __pyx_t_1) < 0) __PYX_ERR(0, 2298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2299
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level             # <<<<<<<<<<<<<<
 *         self.context = context
 *         self.encoding = encoding
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_v_indent_level) < 0) __PYX_ERR(0, 2299, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2300
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level
 *         self.context = context             # <<<<<<<<<<<<<<
 *         self.encoding = encoding
 * 
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_context, __pyx_v_context) < 0) __PYX_ERR(0, 2300, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2301
 *         self.level = indent_level
 *         self.context = context
 *         self.encoding = encoding             # <<<<<<<<<<<<<<
 * 
 *     def indent(self, levels=1):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 2301, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2297
 *     """
 * 
 *     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 = 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_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.__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":2303
 *         self.encoding = encoding
 * 
 *     def indent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level += levels
 *         return True
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent = {"indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_levels = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("indent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_levels,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)__pyx_int_1));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_levels);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "indent") < 0)) __PYX_ERR(0, 2303, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_levels = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("indent", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2303, __pyx_L3_error)
  __pyx_L3_error:;
  __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(__pyx_self, __pyx_v_self, __pyx_v_levels);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_2indent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_levels) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("indent", 0);

  /* "Cython/Compiler/Code.py":2304
 * 
 *     def indent(self, levels=1):
 *         self.level += levels             # <<<<<<<<<<<<<<
 *         return True
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2304, __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, 2304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_2) < 0) __PYX_ERR(0, 2304, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2305
 *     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":2303
 *         self.encoding = encoding
 * 
 *     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":2307
 *         return True
 * 
 *     def dedent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level -= levels
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent = {"dedent", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_levels = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("dedent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_levels,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)((PyObject *)__pyx_int_1));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_levels);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "dedent") < 0)) __PYX_ERR(0, 2307, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_levels = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("dedent", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2307, __pyx_L3_error)
  __pyx_L3_error:;
  __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(__pyx_self, __pyx_v_self, __pyx_v_levels);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_4dedent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_levels) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("dedent", 0);

  /* "Cython/Compiler/Code.py":2308
 * 
 *     def dedent(self, levels=1):
 *         self.level -= levels             # <<<<<<<<<<<<<<
 * 
 *     def indenter(self, line):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2308, __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, 2308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_level, __pyx_t_2) < 0) __PYX_ERR(0, 2308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":2307
 *         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;
}

/* "Cython/Compiler/Code.py":2310
 *         self.level -= levels
 * 
 *     def indenter(self, line):             # <<<<<<<<<<<<<<
 *         """
 *         Instead of
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter[] = "\n        Instead of\n\n            with pyx_code.indenter(\"for i in range(10):\"):\n                pyx_code.putln(\"print i\")\n\n        write\n\n            if pyx_code.indenter(\"for i in range(10);\"):\n                pyx_code.putln(\"print i\")\n                pyx_code.dedent()\n        ";
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter = {"indenter", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_line = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("indenter (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_line,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_line)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("indenter", 1, 2, 2, 1); __PYX_ERR(0, 2310, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "indenter") < 0)) __PYX_ERR(0, 2310, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_line = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("indenter", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2310, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.indenter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter(__pyx_self, __pyx_v_self, __pyx_v_line);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_6indenter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_line) {
  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;
  __Pyx_RefNannySetupContext("indenter", 0);

  /* "Cython/Compiler/Code.py":2323
 *                 pyx_code.dedent()
 *         """
 *         self.putln(line)             # <<<<<<<<<<<<<<
 *         self.indent()
 *         return True
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_line};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2323, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_line};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2323, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2323, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_line);
      __Pyx_GIVEREF(__pyx_v_line);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_line);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2323, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2324
 *         """
 *         self.putln(line)
 *         self.indent()             # <<<<<<<<<<<<<<
 *         return True
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_indent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2324, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2324, __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":2325
 *         self.putln(line)
 *         self.indent()
 *         return True             # <<<<<<<<<<<<<<
 * 
 *     def getvalue(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_True);
  __pyx_r = Py_True;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2310
 *         self.level -= levels
 * 
 *     def indenter(self, line):             # <<<<<<<<<<<<<<
 *         """
 *         Instead of
 */

  /* 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.PyxCodeWriter.indenter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2327
 *         return True
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_9getvalue(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_9getvalue = {"getvalue", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_9getvalue, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_9getvalue(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getvalue (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_8getvalue(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_8getvalue(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_result = 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;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("getvalue", 0);

  /* "Cython/Compiler/Code.py":2328
 * 
 *     def getvalue(self):
 *         result = self.buffer.getvalue()             # <<<<<<<<<<<<<<
 *         if isinstance(result, bytes):
 *             result = result.decode(self.encoding)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getvalue); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2328, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2328, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2329
 *     def getvalue(self):
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):             # <<<<<<<<<<<<<<
 *             result = result.decode(self.encoding)
 *         return result
 */
  __pyx_t_4 = PyBytes_Check(__pyx_v_result); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (__pyx_t_5) {

    /* "Cython/Compiler/Code.py":2330
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
 *             result = result.decode(self.encoding)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_decode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_encoding); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2330, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2330, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2330, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2330, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_2);
        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_2);
        __pyx_t_2 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2330, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2329
 *     def getvalue(self):
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):             # <<<<<<<<<<<<<<
 *             result = result.decode(self.encoding)
 *         return result
 */
  }

  /* "Cython/Compiler/Code.py":2331
 *         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":2327
 *         return True
 * 
 *     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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":2333
 *         return result
 * 
 *     def putln(self, line, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_11putln(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_11putln = {"putln", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_11putln, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_11putln(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_line = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("putln (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_line,&__pyx_n_s_context,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_line)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("putln", 0, 2, 3, 1); __PYX_ERR(0, 2333, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "putln") < 0)) __PYX_ERR(0, 2333, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_line = values[1];
    __pyx_v_context = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("putln", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2333, __pyx_L3_error)
  __pyx_L3_error:;
  __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_10putln(__pyx_self, __pyx_v_self, __pyx_v_line, __pyx_v_context);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_10putln(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_line, PyObject *__pyx_v_context) {
  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_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("putln", 0);
  __Pyx_INCREF(__pyx_v_line);
  __Pyx_INCREF(__pyx_v_context);

  /* "Cython/Compiler/Code.py":2334
 * 
 *     def putln(self, line, context=None):
 *         context = context or self.context             # <<<<<<<<<<<<<<
 *         if context:
 *             line = sub_tempita(line, context)
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_context); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2334, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_v_context);
    __pyx_t_1 = __pyx_v_context;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_context); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2334, __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_L3_bool_binop_done:;
  __Pyx_DECREF_SET(__pyx_v_context, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2335
 *     def putln(self, line, context=None):
 *         context = context or self.context
 *         if context:             # <<<<<<<<<<<<<<
 *             line = sub_tempita(line, context)
 *         self._putln(line)
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_context); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2335, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":2336
 *         context = context or self.context
 *         if context:
 *             line = sub_tempita(line, context)             # <<<<<<<<<<<<<<
 *         self._putln(line)
 * 
 */
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_sub_tempita); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_line, __pyx_v_context};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2336, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_line, __pyx_v_context};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2336, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2336, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_INCREF(__pyx_v_line);
      __Pyx_GIVEREF(__pyx_v_line);
      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_line);
      __Pyx_INCREF(__pyx_v_context);
      __Pyx_GIVEREF(__pyx_v_context);
      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_context);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2336, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_line, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2335
 *     def putln(self, line, context=None):
 *         context = context or self.context
 *         if context:             # <<<<<<<<<<<<<<
 *             line = sub_tempita(line, context)
 *         self._putln(line)
 */
  }

  /* "Cython/Compiler/Code.py":2337
 *         if context:
 *             line = sub_tempita(line, context)
 *         self._putln(line)             # <<<<<<<<<<<<<<
 * 
 *     def _putln(self, line):
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_line};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2337, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_line};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2337, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2337, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_INCREF(__pyx_v_line);
      __Pyx_GIVEREF(__pyx_v_line);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_line);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2337, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2333
 *         return result
 * 
 *     def putln(self, line, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */

  /* 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_6);
  __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":2339
 *         self._putln(line)
 * 
 *     def _putln(self, line):             # <<<<<<<<<<<<<<
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_13_putln(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_13_putln = {"_putln", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_13_putln, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_13_putln(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_line = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_putln (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_line,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_line)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_putln", 1, 2, 2, 1); __PYX_ERR(0, 2339, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_putln") < 0)) __PYX_ERR(0, 2339, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_line = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_putln", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2339, __pyx_L3_error)
  __pyx_L3_error:;
  __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_12_putln(__pyx_self, __pyx_v_self, __pyx_v_line);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_12_putln(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_line) {
  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;
  __Pyx_RefNannySetupContext("_putln", 0);

  /* "Cython/Compiler/Code.py":2340
 * 
 *     def _putln(self, line):
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))             # <<<<<<<<<<<<<<
 * 
 *     def put_chunk(self, chunk, context=None):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2340, __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_self, __pyx_n_s_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_kp_s__164); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
  __Pyx_INCREF(__pyx_v_line);
  __Pyx_GIVEREF(__pyx_v_line);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_line);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_s_7, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2340, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2340, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2340, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2339
 *         self._putln(line)
 * 
 *     def _putln(self, line):             # <<<<<<<<<<<<<<
 *         self.buffer.write("%s%s\n" % (self.level * "    ", 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);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter._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":2342
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))
 * 
 *     def put_chunk(self, chunk, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk = {"put_chunk", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_chunk = 0;
  PyObject *__pyx_v_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("put_chunk (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_chunk,&__pyx_n_s_context,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)((PyObject *)Py_None));
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("put_chunk", 0, 2, 3, 1); __PYX_ERR(0, 2342, __pyx_L3_error)
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_context);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_chunk") < 0)) __PYX_ERR(0, 2342, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_self = values[0];
    __pyx_v_chunk = values[1];
    __pyx_v_context = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("put_chunk", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2342, __pyx_L3_error)
  __pyx_L3_error:;
  __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_14put_chunk(__pyx_self, __pyx_v_self, __pyx_v_chunk, __pyx_v_context);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_14put_chunk(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_chunk, PyObject *__pyx_v_context) {
  PyObject *__pyx_v_line = 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_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("put_chunk", 0);
  __Pyx_INCREF(__pyx_v_chunk);
  __Pyx_INCREF(__pyx_v_context);

  /* "Cython/Compiler/Code.py":2343
 * 
 *     def put_chunk(self, chunk, context=None):
 *         context = context or self.context             # <<<<<<<<<<<<<<
 *         if context:
 *             chunk = sub_tempita(chunk, context)
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_context); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2343, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF(__pyx_v_context);
    __pyx_t_1 = __pyx_v_context;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_context); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2343, __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_L3_bool_binop_done:;
  __Pyx_DECREF_SET(__pyx_v_context, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2344
 *     def put_chunk(self, chunk, context=None):
 *         context = context or self.context
 *         if context:             # <<<<<<<<<<<<<<
 *             chunk = sub_tempita(chunk, context)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_context); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2344, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "Cython/Compiler/Code.py":2345
 *         context = context or self.context
 *         if context:
 *             chunk = sub_tempita(chunk, context)             # <<<<<<<<<<<<<<
 * 
 *         chunk = textwrap.dedent(chunk)
 */
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_sub_tempita); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_chunk, __pyx_v_context};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2345, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_chunk, __pyx_v_context};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2345, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_INCREF(__pyx_v_chunk);
      __Pyx_GIVEREF(__pyx_v_chunk);
      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_chunk);
      __Pyx_INCREF(__pyx_v_context);
      __Pyx_GIVEREF(__pyx_v_context);
      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_context);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_chunk, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2344
 *     def put_chunk(self, chunk, context=None):
 *         context = context or self.context
 *         if context:             # <<<<<<<<<<<<<<
 *             chunk = sub_tempita(chunk, context)
 * 
 */
  }

  /* "Cython/Compiler/Code.py":2347
 *             chunk = sub_tempita(chunk, context)
 * 
 *         chunk = textwrap.dedent(chunk)             # <<<<<<<<<<<<<<
 *         for line in chunk.splitlines():
 *             self._putln(line)
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_textwrap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_dedent); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_chunk); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_chunk};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2347, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_chunk};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2347, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2347, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_chunk);
      __Pyx_GIVEREF(__pyx_v_chunk);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_chunk);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2347, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF_SET(__pyx_v_chunk, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2348
 * 
 *         chunk = textwrap.dedent(chunk)
 *         for line in chunk.splitlines():             # <<<<<<<<<<<<<<
 *             self._putln(line)
 * 
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_chunk, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  if (__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2348, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2348, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2348, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_6))) {
        if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 2348, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2348, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 2348, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2348, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_6);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 2348, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2349
 *         chunk = textwrap.dedent(chunk)
 *         for line in chunk.splitlines():
 *             self._putln(line)             # <<<<<<<<<<<<<<
 * 
 *     def insertion_point(self):
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_putln_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2349, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_line};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2349, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_line};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2349, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2349, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_v_line);
        __Pyx_GIVEREF(__pyx_v_line);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_line);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2349, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2348
 * 
 *         chunk = textwrap.dedent(chunk)
 *         for line in chunk.splitlines():             # <<<<<<<<<<<<<<
 *             self._putln(line)
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "Cython/Compiler/Code.py":2342
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))
 * 
 *     def put_chunk(self, chunk, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.put_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_line);
  __Pyx_XDECREF(__pyx_v_chunk);
  __Pyx_XDECREF(__pyx_v_context);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "Cython/Compiler/Code.py":2351
 *             self._putln(line)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         return PyxCodeWriter(self.buffer.insertion_point(), self.level,
 *                              self.context)
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point = {"insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point, METH_O, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("insertion_point (wrapper)", 0);
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_16insertion_point(__pyx_self, ((PyObject *)__pyx_v_self));

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_16insertion_point(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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("insertion_point", 0);

  /* "Cython/Compiler/Code.py":2352
 * 
 *     def insertion_point(self):
 *         return PyxCodeWriter(self.buffer.insertion_point(), self.level,             # <<<<<<<<<<<<<<
 *                              self.context)
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PyxCodeWriter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_insertion_point); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  if (__pyx_t_4) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2352, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2352, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_level); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "Cython/Compiler/Code.py":2353
 *     def insertion_point(self):
 *         return PyxCodeWriter(self.buffer.insertion_point(), self.level,
 *                              self.context)             # <<<<<<<<<<<<<<
 * 
 *     def named_insertion_point(self, name):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_context); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_7 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2352, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__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;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2352, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__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;
  } else
  #endif
  {
    __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__pyx_t_6) {
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_t_4);
    __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    __pyx_t_4 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "Cython/Compiler/Code.py":2351
 *             self._putln(line)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         return PyxCodeWriter(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_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __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":2355
 *                              self.context)
 * 
 *     def named_insertion_point(self, name):             # <<<<<<<<<<<<<<
 *         setattr(self, name, self.insertion_point())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_19named_insertion_point(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_19named_insertion_point = {"named_insertion_point", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_19named_insertion_point, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_13PyxCodeWriter_19named_insertion_point(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("named_insertion_point (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("named_insertion_point", 1, 2, 2, 1); __PYX_ERR(0, 2355, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "named_insertion_point") < 0)) __PYX_ERR(0, 2355, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_name = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("named_insertion_point", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2355, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("Cython.Compiler.Code.PyxCodeWriter.named_insertion_point", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_18named_insertion_point(__pyx_self, __pyx_v_self, __pyx_v_name);

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

static PyObject *__pyx_pf_6Cython_8Compiler_4Code_13PyxCodeWriter_18named_insertion_point(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  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;
  __Pyx_RefNannySetupContext("named_insertion_point", 0);

  /* "Cython/Compiler/Code.py":2356
 * 
 *     def named_insertion_point(self, name):
 *         setattr(self, name, self.insertion_point())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_insertion_point); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2356, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2356, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = PyObject_SetAttr(__pyx_v_self, __pyx_v_name, __pyx_t_1); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(0, 2356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2355
 *                              self.context)
 * 
 *     def named_insertion_point(self, name):             # <<<<<<<<<<<<<<
 *         setattr(self, 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_XDECREF(__pyx_t_3);
  __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":2360
 * 
 * class ClosureTempAllocator(object):
 *     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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__ = {"__init__", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_klass = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_klass,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_klass)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 2360, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 2360, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_klass = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2360, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "Cython/Compiler/Code.py":2361
 * class ClosureTempAllocator(object):
 *     def __init__(self, klass):
 *         self.klass = klass             # <<<<<<<<<<<<<<
 *         self.temps_allocated = {}
 *         self.temps_free = {}
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_klass, __pyx_v_klass) < 0) __PYX_ERR(0, 2361, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2362
 *     def __init__(self, klass):
 *         self.klass = klass
 *         self.temps_allocated = {}             # <<<<<<<<<<<<<<
 *         self.temps_free = {}
 *         self.temps_count = 0
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_temps_allocated, __pyx_t_1) < 0) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2363
 *         self.klass = klass
 *         self.temps_allocated = {}
 *         self.temps_free = {}             # <<<<<<<<<<<<<<
 *         self.temps_count = 0
 * 
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_temps_free, __pyx_t_1) < 0) __PYX_ERR(0, 2363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2364
 *         self.temps_allocated = {}
 *         self.temps_free = {}
 *         self.temps_count = 0             # <<<<<<<<<<<<<<
 * 
 *     def reset(self):
 */
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_temps_count, __pyx_int_0) < 0) __PYX_ERR(0, 2364, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2360
 * 
 * class ClosureTempAllocator(object):
 *     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":2366
 *         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) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("reset (wrapper)", 0);
  __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;
  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;
  PyObject *__pyx_t_7 = NULL;
  PyObject *(*__pyx_t_8)(PyObject *);
  __Pyx_RefNannySetupContext("reset", 0);

  /* "Cython/Compiler/Code.py":2367
 * 
 *     def reset(self):
 *         for type, cnames in self.temps_allocated.items():             # <<<<<<<<<<<<<<
 *             self.temps_free[type] = list(cnames)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_temps_allocated); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  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, 2367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2367, __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))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 2367, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 2367, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 2367, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      #if !CYTHON_COMPILING_IN_PYPY
      Py_ssize_t size = Py_SIZE(sequence);
      #else
      Py_ssize_t size = PySequence_Size(sequence);
      #endif
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 2367, __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_t_6 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      #else
      __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
      index = 0; __pyx_t_2 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 2367, __pyx_L1_error)
      __pyx_t_8 = NULL;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_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, 2367, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_type, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cnames, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "Cython/Compiler/Code.py":2368
 *     def reset(self):
 *         for type, cnames in self.temps_allocated.items():
 *             self.temps_free[type] = list(cnames)             # <<<<<<<<<<<<<<
 * 
 *     def allocate_temp(self, type):
 */
    __pyx_t_1 = PySequence_List(__pyx_v_cnames); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_temps_free); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_v_type, __pyx_t_1) < 0)) __PYX_ERR(0, 2368, __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":2367
 * 
 *     def reset(self):
 *         for type, cnames in self.temps_allocated.items():             # <<<<<<<<<<<<<<
 *             self.temps_free[type] = list(cnames)
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "Cython/Compiler/Code.py":2366
 *         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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":2370
 *             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, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp = {"allocate_temp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allocate_temp (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("allocate_temp", 1, 2, 2, 1); __PYX_ERR(0, 2370, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "allocate_temp") < 0)) __PYX_ERR(0, 2370, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_self = values[0];
    __pyx_v_type = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("allocate_temp", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2370, __pyx_L3_error)
  __pyx_L3_error:;
  __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 */
  __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;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("allocate_temp", 0);

  /* "Cython/Compiler/Code.py":2371
 * 
 *     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_n_s_temps_allocated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2371, __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, 2371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2372
 *     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, 2372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_temps_allocated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_type, __pyx_t_1) < 0)) __PYX_ERR(0, 2372, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2373
 *         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, 2373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_temps_free); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_type, __pyx_t_1) < 0)) __PYX_ERR(0, 2373, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":2371
 * 
 *     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":2374
 *             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_n_s_temps_free); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_v_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "Cython/Compiler/Code.py":2375
 *             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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_temps_free); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyObject_GetItem(__pyx_t_4, __pyx_v_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_PopIndex(__pyx_t_1, __pyx_int_0, 0, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __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":2374
 *             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":2376
 *         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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_n_s_codewriter_temp_prefix); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_temps_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
  __pyx_t_4 = 0;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_d, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cname = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2377
 *             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_n_s_klass); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_declare_var); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pos, Py_None) < 0) __PYX_ERR(0, 2377, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_name, __pyx_v_cname) < 0) __PYX_ERR(0, 2377, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cname, __pyx_v_cname) < 0) __PYX_ERR(0, 2377, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_type, __pyx_v_type) < 0) __PYX_ERR(0, 2377, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_is_cdef, Py_True) < 0) __PYX_ERR(0, 2377, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2378
 *         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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_temps_allocated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyObject_GetItem(__pyx_t_4, __pyx_v_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_cname); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2379
 *         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_n_s_temps_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_temps_count, __pyx_t_4) < 0) __PYX_ERR(0, 2379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "Cython/Compiler/Code.py":2380
 *         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":2370
 *             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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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;
}
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;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  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->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->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;
  #if PY_VERSION_HEX >= 0x030400a1
  if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  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->temps_allocated);
  Py_CLEAR(p->temps_free);
  Py_CLEAR(p->temps_used_type);
  Py_CLEAR(p->collect_temps_stack);
  Py_CLEAR(p->closure_temps);
  (*Py_TYPE(o)->tp_free)(o);
}

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;
  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->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->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->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->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_names_taken(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11names_taken_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_names_taken(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11names_taken_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_11names_taken_5__del__(o);
  }
}

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 int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_yield_labels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12yield_labels_5__del__(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_in_try_finally(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_in_try_finally(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_14in_try_finally_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

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_temps_allocated(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temps_allocated(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_allocated_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_temps_free(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_10temps_free_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temps_free(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_10temps_free_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_10temps_free_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_temps_used_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temps_used_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_15temps_used_type_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_temp_counter(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12temp_counter_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temp_counter(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_12temp_counter_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_collect_temps_stack(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_collect_temps_stack(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19collect_temps_stack_5__del__(o);
  }
}

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 int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_closure_temps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13closure_temps_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_should_declare_error_indicator(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_30should_declare_error_indicator_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_should_declare_error_indicator(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13FunctionState_30should_declare_error_indicator_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

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 PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_FunctionState[] = {
  {"new_yield_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_5new_yield_label, METH_NOARGS, 0},
  {"new_error_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_7new_error_label, METH_NOARGS, 0},
  {"new_loop_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_13new_loop_labels, METH_NOARGS, 0},
  {"all_new_labels", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_19all_new_labels, METH_NOARGS, 0},
  {"use_label", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_21use_label, METH_O, 0},
  {"label_used", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_23label_used, METH_O, 0},
  {"allocate_temp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_25allocate_temp, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_24allocate_temp},
  {"release_temp", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_27release_temp, METH_O, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_26release_temp},
  {"temps_holding_reference", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_31temps_holding_reference, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_30temps_holding_reference},
  {"all_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_33all_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_32all_managed_temps},
  {"all_free_managed_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_35all_free_managed_temps, METH_NOARGS, __pyx_doc_6Cython_8Compiler_4Code_13FunctionState_34all_free_managed_temps},
  {"init_closure_temps", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_13FunctionState_41init_closure_temps, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_FunctionState[] = {
  {(char *)"names_taken", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_names_taken, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_names_taken, (char *)0, 0},
  {(char *)"owner", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_owner, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_owner, (char *)0, 0},
  {(char *)"scope", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_scope, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_scope, (char *)0, 0},
  {(char *)"error_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_error_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_error_label, (char *)0, 0},
  {(char *)"label_counter", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_label_counter, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_label_counter, (char *)0, 0},
  {(char *)"labels_used", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_labels_used, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_labels_used, (char *)0, 0},
  {(char *)"return_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_return_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_return_label, (char *)0, 0},
  {(char *)"continue_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_continue_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_continue_label, (char *)0, 0},
  {(char *)"break_label", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_break_label, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_break_label, (char *)0, 0},
  {(char *)"yield_labels", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_yield_labels, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_yield_labels, (char *)0, 0},
  {(char *)"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, (char *)0, 0},
  {(char *)"exc_vars", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_exc_vars, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_exc_vars, (char *)0, 0},
  {(char *)"in_try_finally", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_in_try_finally, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_in_try_finally, (char *)0, 0},
  {(char *)"can_trace", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_can_trace, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_can_trace, (char *)0, 0},
  {(char *)"gil_owned", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_gil_owned, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_gil_owned, (char *)0, 0},
  {(char *)"temps_allocated", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_temps_allocated, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temps_allocated, (char *)0, 0},
  {(char *)"temps_free", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_temps_free, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temps_free, (char *)0, 0},
  {(char *)"temps_used_type", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_temps_used_type, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temps_used_type, (char *)0, 0},
  {(char *)"temp_counter", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_temp_counter, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_temp_counter, (char *)0, 0},
  {(char *)"collect_temps_stack", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_collect_temps_stack, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_collect_temps_stack, (char *)0, 0},
  {(char *)"closure_temps", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_closure_temps, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_closure_temps, (char *)0, 0},
  {(char *)"should_declare_error_indicator", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_should_declare_error_indicator, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_should_declare_error_indicator, (char *)0, 0},
  {(char *)"uses_error_indicator", __pyx_getprop_6Cython_8Compiler_4Code_13FunctionState_uses_error_indicator, __pyx_setprop_6Cython_8Compiler_4Code_13FunctionState_uses_error_indicator, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

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_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_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*/
  0, /*tp_dictoffset*/
  __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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code_IntConst(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *)o);
  p->cname = Py_None; Py_INCREF(Py_None);
  p->value = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code_IntConst(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *)o;
  #if PY_VERSION_HEX >= 0x030400a1
  if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->cname);
  Py_CLEAR(p->value);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code_IntConst(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *)o;
  if (p->cname) {
    e = (*v)(p->cname, a); if (e) return e;
  }
  if (p->value) {
    e = (*v)(p->value, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code_IntConst(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *p = (struct __pyx_obj_6Cython_8Compiler_4Code_IntConst *)o;
  tmp = ((PyObject*)p->cname);
  p->cname = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->value);
  p->value = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code_IntConst = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.IntConst", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code_IntConst), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code_IntConst, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_IntConst, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code_IntConst, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code_IntConst, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #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;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  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;
  #if PY_VERSION_HEX >= 0x030400a1
  if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->cname);
  Py_CLEAR(p->type);
  (*Py_TYPE(o)->tp_free)(o);
}

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;
  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 int __pyx_setprop_6Cython_8Compiler_4Code_13PyObjectConst_cname(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_5cname_5__del__(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 int __pyx_setprop_6Cython_8Compiler_4Code_13PyObjectConst_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_13PyObjectConst_4type_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_PyObjectConst[] = {
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_PyObjectConst[] = {
  {(char *)"cname", __pyx_getprop_6Cython_8Compiler_4Code_13PyObjectConst_cname, __pyx_setprop_6Cython_8Compiler_4Code_13PyObjectConst_cname, (char *)0, 0},
  {(char *)"type", __pyx_getprop_6Cython_8Compiler_4Code_13PyObjectConst_type, __pyx_setprop_6Cython_8Compiler_4Code_13PyObjectConst_type, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

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_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "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*/
  0, /*tp_dictoffset*/
  __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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #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;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  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);
  p->py_versions = ((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;
  #if PY_VERSION_HEX >= 0x030400a1
  if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->cname);
  Py_CLEAR(p->text);
  Py_CLEAR(p->escaped_value);
  Py_CLEAR(p->py_strings);
  Py_CLEAR(p->py_versions);
  (*Py_TYPE(o)->tp_free)(o);
}

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;
  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;
  }
  if (p->py_versions) {
    e = (*v)(p->py_versions, 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);
  tmp = ((PyObject*)p->py_versions);
  p->py_versions = ((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 int __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_cname(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_5cname_5__del__(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 int __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_text(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_4text_5__del__(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 int __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_escaped_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_13escaped_value_5__del__(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 int __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_py_strings(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_10py_strings_5__del__(o);
  }
}

static PyObject *__pyx_getprop_6Cython_8Compiler_4Code_11StringConst_py_versions(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_11py_versions_1__get__(o);
}

static int __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_py_versions(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_11py_versions_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_11StringConst_11py_versions_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_6Cython_8Compiler_4Code_StringConst[] = {
  {"add_py_version", (PyCFunction)__pyx_pw_6Cython_8Compiler_4Code_11StringConst_3add_py_version, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_4Code_StringConst[] = {
  {(char *)"cname", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_cname, __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_cname, (char *)0, 0},
  {(char *)"text", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_text, __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_text, (char *)0, 0},
  {(char *)"escaped_value", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_escaped_value, __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_escaped_value, (char *)0, 0},
  {(char *)"py_strings", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_py_strings, __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_py_strings, (char *)0, 0},
  {(char *)"py_versions", __pyx_getprop_6Cython_8Compiler_4Code_11StringConst_py_versions, __pyx_setprop_6Cython_8Compiler_4Code_11StringConst_py_versions, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

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_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "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*/
  0, /*tp_dictoffset*/
  __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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #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;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 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 PY_VERSION_HEX >= 0x030400a1
  if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->f);
  (*Py_TYPE(o)->tp_free)(o);
}

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;
  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 int __pyx_setprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_f(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_3__set__(o, v);
  }
  else {
    return __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_1f_5__del__(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 int __pyx_setprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_level(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_6Cython_8Compiler_4Code_15PyrexCodeWriter_5level_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

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[] = {
  {(char *)"f", __pyx_getprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_f, __pyx_setprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_f, (char *)0, 0},
  {(char *)"level", __pyx_getprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_level, __pyx_setprop_6Cython_8Compiler_4Code_15PyrexCodeWriter_level, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

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_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  0, /*tp_dictoffset*/
  __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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants[8];
static int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants = 0;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants)))) {
    o = (PyObject*)__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants[--__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants];
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_output);
  Py_CLEAR(p->__pyx_v_replacements);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants)))) {
    __pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants[__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *)o;
  if (p->__pyx_v_output) {
    e = (*v)(p->__pyx_v_output, a); if (e) return e;
  }
  if (p->__pyx_v_replacements) {
    e = (*v)(p->__pyx_v_replacements, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants *)o;
  tmp = ((PyObject*)p->__pyx_v_output);
  p->__pyx_v_output = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_replacements);
  p->__pyx_v_replacements = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.__pyx_scope_struct__inject_string_constants", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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__inject_string_constants, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods[8];
static int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods = 0;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods)))) {
    o = (PyObject*)__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods[--__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods];
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_output);
  Py_CLEAR(p->__pyx_v_utility_code);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods)))) {
    __pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods[__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *)o;
  if (p->__pyx_v_output) {
    e = (*v)(p->__pyx_v_output, a); if (e) return e;
  }
  if (p->__pyx_v_utility_code) {
    e = (*v)(p->__pyx_v_utility_code, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods *)o;
  tmp = ((PyObject*)p->__pyx_v_output);
  p->__pyx_v_output = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_utility_code);
  p->__pyx_v_utility_code = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.__pyx_scope_struct_1_inject_unbound_methods", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_inject_unbound_methods, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string[8];
static int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string = 0;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string)))) {
    o = (PyObject*)__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string[--__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string];
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_content);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string)))) {
    __pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string[__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *)o;
  if (p->__pyx_v_content) {
    e = (*v)(p->__pyx_v_content, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *)o;
  tmp = ((PyObject*)p->__pyx_v_content);
  p->__pyx_v_content = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.__pyx_scope_struct_2_split_string", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_split_string, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr[8];
static int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr = 0;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr)))) {
    o = (PyObject*)__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr[--__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_line);
  Py_CLEAR(p->__pyx_t_0);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr)))) {
    __pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr[__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject*)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_line) {
    e = (*v)(p->__pyx_v_line, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr *)o;
  tmp = ((PyObject*)p->__pyx_outer_scope);
  p->__pyx_outer_scope = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_line);
  p->__pyx_v_line = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_t_0);
  p->__pyx_t_0 = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.__pyx_scope_struct_3_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_genexpr, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_3_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property[8];
static int __pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property = 0;

static PyObject *__pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property)))) {
    o = (PyObject*)__pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property[--__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property];
    memset(o, 0, sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property(PyObject *o) {
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_attribute_of);
  Py_CLEAR(p->__pyx_v_name);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property)))) {
    __pyx_freelist_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property[__pyx_freecount_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property++] = ((struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *)o;
  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_4_funccontext_property(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property *p = (struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_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;
}

static PyTypeObject __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property = {
  PyVarObject_HEAD_INIT(0, 0)
  "Cython.Compiler.Code.__pyx_scope_struct_4_funccontext_property", /*tp_name*/
  sizeof(struct __pyx_obj_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_funccontext_property, /*tp_traverse*/
  __pyx_tp_clear_6Cython_8Compiler_4Code___pyx_scope_struct_4_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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_6Cython_8Compiler_4Code___pyx_scope_struct_4_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};

#if PY_MAJOR_VERSION >= 3
static struct PyModuleDef __pyx_moduledef = {
  #if PY_VERSION_HEX < 0x03020000
    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
  #else
    PyModuleDef_HEAD_INIT,
  #endif
    "Code",
    0, /* m_doc */
    -1, /* m_size */
    __pyx_methods /* m_methods */,
    NULL, /* m_reload */
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
  {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0},
  {&__pyx_kp_s_0, __pyx_k_0, sizeof(__pyx_k_0), 0, 0, 1, 0},
  {&__pyx_kp_s_0_0_0_0_0_0_0, __pyx_k_0_0_0_0_0_0_0, sizeof(__pyx_k_0_0_0_0_0_0_0), 0, 0, 1, 0},
  {&__pyx_kp_b_0_9_w, __pyx_k_0_9_w, sizeof(__pyx_k_0_9_w), 0, 0, 0, 0},
  {&__pyx_kp_s_0_9_w, __pyx_k_0_9_w, sizeof(__pyx_k_0_9_w), 0, 0, 1, 0},
  {&__pyx_kp_s_0x_02X_02X_02X_02X, __pyx_k_0x_02X_02X_02X_02X, sizeof(__pyx_k_0x_02X_02X_02X_02X), 0, 0, 1, 0},
  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
  {&__pyx_n_s_ASCII, __pyx_k_ASCII, sizeof(__pyx_k_ASCII), 0, 0, 1, 1},
  {&__pyx_n_s_C, __pyx_k_C, sizeof(__pyx_k_C), 0, 0, 1, 1},
  {&__pyx_kp_s_CALL_UNBOUND_METHOD, __pyx_k_CALL_UNBOUND_METHOD, sizeof(__pyx_k_CALL_UNBOUND_METHOD), 0, 0, 1, 0},
  {&__pyx_kp_s_CALL_UNBOUND_METHOD_a_zA_Z__s_s, __pyx_k_CALL_UNBOUND_METHOD_a_zA_Z__s_s, sizeof(__pyx_k_CALL_UNBOUND_METHOD_a_zA_Z__s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_CALL_UNBOUND_METHOD_requires_1_o, __pyx_k_CALL_UNBOUND_METHOD_requires_1_o, sizeof(__pyx_k_CALL_UNBOUND_METHOD_requires_1_o), 0, 0, 1, 0},
  {&__pyx_n_s_CCodeConfig, __pyx_k_CCodeConfig, sizeof(__pyx_k_CCodeConfig), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeConfig___init, __pyx_k_CCodeConfig___init, sizeof(__pyx_k_CCodeConfig___init), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter, __pyx_k_CCodeWriter, sizeof(__pyx_k_CCodeWriter), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter___init, __pyx_k_CCodeWriter___init, sizeof(__pyx_k_CCodeWriter___init), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter__build_marker, __pyx_k_CCodeWriter__build_marker, sizeof(__pyx_k_CCodeWriter__build_marker), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter__put_decref, __pyx_k_CCodeWriter__put_decref, sizeof(__pyx_k_CCodeWriter__put_decref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter__put_var_decref_clea, __pyx_k_CCodeWriter__put_var_decref_clea, sizeof(__pyx_k_CCodeWriter__put_var_decref_clea), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_all_new_labels, __pyx_k_CCodeWriter_all_new_labels, sizeof(__pyx_k_CCodeWriter_all_new_labels), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_as_pyobject, __pyx_k_CCodeWriter_as_pyobject, sizeof(__pyx_k_CCodeWriter_as_pyobject), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_begin_block, __pyx_k_CCodeWriter_begin_block, sizeof(__pyx_k_CCodeWriter_begin_block), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_build_function_modif, __pyx_k_CCodeWriter_build_function_modif, sizeof(__pyx_k_CCodeWriter_build_function_modif), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_copyto, __pyx_k_CCodeWriter_copyto, sizeof(__pyx_k_CCodeWriter_copyto), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_create_new, __pyx_k_CCodeWriter_create_new, sizeof(__pyx_k_CCodeWriter_create_new), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_declare_gilstate, __pyx_k_CCodeWriter_declare_gilstate, sizeof(__pyx_k_CCodeWriter_declare_gilstate), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_decrease_indent, __pyx_k_CCodeWriter_decrease_indent, sizeof(__pyx_k_CCodeWriter_decrease_indent), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_emit_marker, __pyx_k_CCodeWriter_emit_marker, sizeof(__pyx_k_CCodeWriter_emit_marker), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_end_block, __pyx_k_CCodeWriter_end_block, sizeof(__pyx_k_CCodeWriter_end_block), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_enter_cfunc_scope, __pyx_k_CCodeWriter_enter_cfunc_scope, sizeof(__pyx_k_CCodeWriter_enter_cfunc_scope), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_entry_as_pyobject, __pyx_k_CCodeWriter_entry_as_pyobject, sizeof(__pyx_k_CCodeWriter_entry_as_pyobject), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_error_goto, __pyx_k_CCodeWriter_error_goto, sizeof(__pyx_k_CCodeWriter_error_goto), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_error_goto_if, __pyx_k_CCodeWriter_error_goto_if, sizeof(__pyx_k_CCodeWriter_error_goto_if), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_error_goto_if_PyErr, __pyx_k_CCodeWriter_error_goto_if_PyErr, sizeof(__pyx_k_CCodeWriter_error_goto_if_PyErr), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_error_goto_if_neg, __pyx_k_CCodeWriter_error_goto_if_neg, sizeof(__pyx_k_CCodeWriter_error_goto_if_neg), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_error_goto_if_null, __pyx_k_CCodeWriter_error_goto_if_null, sizeof(__pyx_k_CCodeWriter_error_goto_if_null), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_exit_cfunc_scope, __pyx_k_CCodeWriter_exit_cfunc_scope, sizeof(__pyx_k_CCodeWriter_exit_cfunc_scope), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_all_labels, __pyx_k_CCodeWriter_get_all_labels, sizeof(__pyx_k_CCodeWriter_get_all_labels), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_argument_default, __pyx_k_CCodeWriter_get_argument_default, sizeof(__pyx_k_CCodeWriter_get_argument_default), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_cached_constants, __pyx_k_CCodeWriter_get_cached_constants, sizeof(__pyx_k_CCodeWriter_get_cached_constants), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_loop_labels, __pyx_k_CCodeWriter_get_loop_labels, sizeof(__pyx_k_CCodeWriter_get_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_py_const, __pyx_k_CCodeWriter_get_py_const, sizeof(__pyx_k_CCodeWriter_get_py_const), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_py_float, __pyx_k_CCodeWriter_get_py_float, sizeof(__pyx_k_CCodeWriter_get_py_float), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_py_int, __pyx_k_CCodeWriter_get_py_int, sizeof(__pyx_k_CCodeWriter_get_py_int), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_py_string_const, __pyx_k_CCodeWriter_get_py_string_const, sizeof(__pyx_k_CCodeWriter_get_py_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_py_version_hex, __pyx_k_CCodeWriter_get_py_version_hex, sizeof(__pyx_k_CCodeWriter_get_py_version_hex), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_pyunicode_ptr_co, __pyx_k_CCodeWriter_get_pyunicode_ptr_co, sizeof(__pyx_k_CCodeWriter_get_pyunicode_ptr_co), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_get_string_const, __pyx_k_CCodeWriter_get_string_const, sizeof(__pyx_k_CCodeWriter_get_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_getvalue, __pyx_k_CCodeWriter_getvalue, sizeof(__pyx_k_CCodeWriter_getvalue), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_increase_indent, __pyx_k_CCodeWriter_increase_indent, sizeof(__pyx_k_CCodeWriter_increase_indent), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_indent, __pyx_k_CCodeWriter_indent, sizeof(__pyx_k_CCodeWriter_indent), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_insert, __pyx_k_CCodeWriter_insert, sizeof(__pyx_k_CCodeWriter_insert), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_insertion_point, __pyx_k_CCodeWriter_insertion_point, sizeof(__pyx_k_CCodeWriter_insertion_point), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_intern, __pyx_k_CCodeWriter_intern, sizeof(__pyx_k_CCodeWriter_intern), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_intern_identifier, __pyx_k_CCodeWriter_intern_identifier, sizeof(__pyx_k_CCodeWriter_intern_identifier), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_label_used, __pyx_k_CCodeWriter_label_used, sizeof(__pyx_k_CCodeWriter_label_used), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_lookup_filename, __pyx_k_CCodeWriter_lookup_filename, sizeof(__pyx_k_CCodeWriter_lookup_filename), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_mark_pos, __pyx_k_CCodeWriter_mark_pos, sizeof(__pyx_k_CCodeWriter_mark_pos), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_new_error_label, __pyx_k_CCodeWriter_new_error_label, sizeof(__pyx_k_CCodeWriter_new_error_label), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_new_label, __pyx_k_CCodeWriter_new_label, sizeof(__pyx_k_CCodeWriter_new_label), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_new_loop_labels, __pyx_k_CCodeWriter_new_loop_labels, sizeof(__pyx_k_CCodeWriter_new_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_new_writer, __pyx_k_CCodeWriter_new_writer, sizeof(__pyx_k_CCodeWriter_new_writer), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_new_yield_label, __pyx_k_CCodeWriter_new_yield_label, sizeof(__pyx_k_CCodeWriter_new_yield_label), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put, __pyx_k_CCodeWriter_put, sizeof(__pyx_k_CCodeWriter_put), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_acquire_gil, __pyx_k_CCodeWriter_put_acquire_gil, sizeof(__pyx_k_CCodeWriter_put_acquire_gil), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_add_traceback, __pyx_k_CCodeWriter_put_add_traceback, sizeof(__pyx_k_CCodeWriter_put_add_traceback), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_declare_refcount, __pyx_k_CCodeWriter_put_declare_refcount, sizeof(__pyx_k_CCodeWriter_put_declare_refcount), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_decref, __pyx_k_CCodeWriter_put_decref, sizeof(__pyx_k_CCodeWriter_put_decref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_decref_clear, __pyx_k_CCodeWriter_put_decref_clear, sizeof(__pyx_k_CCodeWriter_put_decref_clear), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_decref_set, __pyx_k_CCodeWriter_put_decref_set, sizeof(__pyx_k_CCodeWriter_put_decref_set), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_ensure_gil, __pyx_k_CCodeWriter_put_ensure_gil, sizeof(__pyx_k_CCodeWriter_put_ensure_gil), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_error_if_neg, __pyx_k_CCodeWriter_put_error_if_neg, sizeof(__pyx_k_CCodeWriter_put_error_if_neg), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_error_if_unbound, __pyx_k_CCodeWriter_put_error_if_unbound, sizeof(__pyx_k_CCodeWriter_put_error_if_unbound), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_finish_refcount, __pyx_k_CCodeWriter_put_finish_refcount, sizeof(__pyx_k_CCodeWriter_put_finish_refcount), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_generated_by, __pyx_k_CCodeWriter_put_generated_by, sizeof(__pyx_k_CCodeWriter_put_generated_by), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_giveref, __pyx_k_CCodeWriter_put_giveref, sizeof(__pyx_k_CCodeWriter_put_giveref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_goto, __pyx_k_CCodeWriter_put_goto, sizeof(__pyx_k_CCodeWriter_put_goto), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_gotref, __pyx_k_CCodeWriter_put_gotref, sizeof(__pyx_k_CCodeWriter_put_gotref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_h_guard, __pyx_k_CCodeWriter_put_h_guard, sizeof(__pyx_k_CCodeWriter_put_h_guard), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_incref, __pyx_k_CCodeWriter_put_incref, sizeof(__pyx_k_CCodeWriter_put_incref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_incref_memoryvie, __pyx_k_CCodeWriter_put_incref_memoryvie, sizeof(__pyx_k_CCodeWriter_put_incref_memoryvie), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_init_to_py_none, __pyx_k_CCodeWriter_put_init_to_py_none, sizeof(__pyx_k_CCodeWriter_put_init_to_py_none), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_init_var_to_py_n, __pyx_k_CCodeWriter_put_init_var_to_py_n, sizeof(__pyx_k_CCodeWriter_put_init_var_to_py_n), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_label, __pyx_k_CCodeWriter_put_label, sizeof(__pyx_k_CCodeWriter_put_label), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_or_include, __pyx_k_CCodeWriter_put_or_include, sizeof(__pyx_k_CCodeWriter_put_or_include), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_pymethoddef, __pyx_k_CCodeWriter_put_pymethoddef, sizeof(__pyx_k_CCodeWriter_put_pymethoddef), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_release_ensured, __pyx_k_CCodeWriter_put_release_ensured, sizeof(__pyx_k_CCodeWriter_put_release_ensured), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_release_gil, __pyx_k_CCodeWriter_put_release_gil, sizeof(__pyx_k_CCodeWriter_put_release_gil), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_safe, __pyx_k_CCodeWriter_put_safe, sizeof(__pyx_k_CCodeWriter_put_safe), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_setup_refcount_c, __pyx_k_CCodeWriter_put_setup_refcount_c, sizeof(__pyx_k_CCodeWriter_put_setup_refcount_c), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_temp_declaration, __pyx_k_CCodeWriter_put_temp_declaration, sizeof(__pyx_k_CCodeWriter_put_temp_declaration), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_tempita, __pyx_k_CCodeWriter_put_tempita, sizeof(__pyx_k_CCodeWriter_put_tempita), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_trace_call, __pyx_k_CCodeWriter_put_trace_call, sizeof(__pyx_k_CCodeWriter_put_trace_call), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_trace_declaratio, __pyx_k_CCodeWriter_put_trace_declaratio, sizeof(__pyx_k_CCodeWriter_put_trace_declaratio), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_trace_exception, __pyx_k_CCodeWriter_put_trace_exception, sizeof(__pyx_k_CCodeWriter_put_trace_exception), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_trace_frame_init, __pyx_k_CCodeWriter_put_trace_frame_init, sizeof(__pyx_k_CCodeWriter_put_trace_frame_init), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_trace_return, __pyx_k_CCodeWriter_put_trace_return, sizeof(__pyx_k_CCodeWriter_put_trace_return), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_unraisable, __pyx_k_CCodeWriter_put_unraisable, sizeof(__pyx_k_CCodeWriter_put_unraisable), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_declaration, __pyx_k_CCodeWriter_put_var_declaration, sizeof(__pyx_k_CCodeWriter_put_var_declaration), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_decref, __pyx_k_CCodeWriter_put_var_decref, sizeof(__pyx_k_CCodeWriter_put_var_decref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_decref_clear, __pyx_k_CCodeWriter_put_var_decref_clear, sizeof(__pyx_k_CCodeWriter_put_var_decref_clear), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_decrefs, __pyx_k_CCodeWriter_put_var_decrefs, sizeof(__pyx_k_CCodeWriter_put_var_decrefs), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_giveref, __pyx_k_CCodeWriter_put_var_giveref, sizeof(__pyx_k_CCodeWriter_put_var_giveref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_gotref, __pyx_k_CCodeWriter_put_var_gotref, sizeof(__pyx_k_CCodeWriter_put_var_gotref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_incref, __pyx_k_CCodeWriter_put_var_incref, sizeof(__pyx_k_CCodeWriter_put_var_incref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_xdecref, __pyx_k_CCodeWriter_put_var_xdecref, sizeof(__pyx_k_CCodeWriter_put_var_xdecref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_xdecref_clea, __pyx_k_CCodeWriter_put_var_xdecref_clea, sizeof(__pyx_k_CCodeWriter_put_var_xdecref_clea), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_xdecrefs, __pyx_k_CCodeWriter_put_var_xdecrefs, sizeof(__pyx_k_CCodeWriter_put_var_xdecrefs), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_xdecrefs_cle, __pyx_k_CCodeWriter_put_var_xdecrefs_cle, sizeof(__pyx_k_CCodeWriter_put_var_xdecrefs_cle), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_xgiveref, __pyx_k_CCodeWriter_put_var_xgiveref, sizeof(__pyx_k_CCodeWriter_put_var_xgiveref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_xgotref, __pyx_k_CCodeWriter_put_var_xgotref, sizeof(__pyx_k_CCodeWriter_put_var_xgotref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_var_xincref, __pyx_k_CCodeWriter_put_var_xincref, sizeof(__pyx_k_CCodeWriter_put_var_xincref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_xdecref, __pyx_k_CCodeWriter_put_xdecref, sizeof(__pyx_k_CCodeWriter_put_xdecref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_xdecref_clear, __pyx_k_CCodeWriter_put_xdecref_clear, sizeof(__pyx_k_CCodeWriter_put_xdecref_clear), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_xdecref_memoryvi, __pyx_k_CCodeWriter_put_xdecref_memoryvi, sizeof(__pyx_k_CCodeWriter_put_xdecref_memoryvi), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_xdecref_set, __pyx_k_CCodeWriter_put_xdecref_set, sizeof(__pyx_k_CCodeWriter_put_xdecref_set), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_xgiveref, __pyx_k_CCodeWriter_put_xgiveref, sizeof(__pyx_k_CCodeWriter_put_xgiveref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_xgiveref_memoryv, __pyx_k_CCodeWriter_put_xgiveref_memoryv, sizeof(__pyx_k_CCodeWriter_put_xgiveref_memoryv), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_put_xgotref, __pyx_k_CCodeWriter_put_xgotref, sizeof(__pyx_k_CCodeWriter_put_xgotref), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_putln, __pyx_k_CCodeWriter_putln, sizeof(__pyx_k_CCodeWriter_putln), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_putln_openmp, __pyx_k_CCodeWriter_putln_openmp, sizeof(__pyx_k_CCodeWriter_putln_openmp), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_putln_tempita, __pyx_k_CCodeWriter_putln_tempita, sizeof(__pyx_k_CCodeWriter_putln_tempita), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_redef_builtin_expect, __pyx_k_CCodeWriter_redef_builtin_expect, sizeof(__pyx_k_CCodeWriter_redef_builtin_expect), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_set_all_labels, __pyx_k_CCodeWriter_set_all_labels, sizeof(__pyx_k_CCodeWriter_set_all_labels), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_set_error_info, __pyx_k_CCodeWriter_set_error_info, sizeof(__pyx_k_CCodeWriter_set_error_info), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_set_global_state, __pyx_k_CCodeWriter_set_global_state, sizeof(__pyx_k_CCodeWriter_set_global_state), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_set_loop_labels, __pyx_k_CCodeWriter_set_loop_labels, sizeof(__pyx_k_CCodeWriter_set_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_undef_builtin_expect, __pyx_k_CCodeWriter_undef_builtin_expect, sizeof(__pyx_k_CCodeWriter_undef_builtin_expect), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_unlikely, __pyx_k_CCodeWriter_unlikely, sizeof(__pyx_k_CCodeWriter_unlikely), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_use_label, __pyx_k_CCodeWriter_use_label, sizeof(__pyx_k_CCodeWriter_use_label), 0, 0, 1, 1},
  {&__pyx_n_s_CCodeWriter_write, __pyx_k_CCodeWriter_write, sizeof(__pyx_k_CCodeWriter_write), 0, 0, 1, 1},
  {&__pyx_kp_s_CSTRING, __pyx_k_CSTRING, sizeof(__pyx_k_CSTRING), 0, 0, 1, 0},
  {&__pyx_kp_s_CSTRING_s_s, __pyx_k_CSTRING_s_s, sizeof(__pyx_k_CSTRING_s_s), 0, 0, 1, 0},
  {&__pyx_n_s_CYTHON_INLINE, __pyx_k_CYTHON_INLINE, sizeof(__pyx_k_CYTHON_INLINE), 0, 0, 1, 1},
  {&__pyx_kp_s_CYTHON_UNUSED, __pyx_k_CYTHON_UNUSED, sizeof(__pyx_k_CYTHON_UNUSED), 0, 0, 1, 0},
  {&__pyx_kp_s_C_s_5_30_s_P_name_w_s_C_s_5_30, __pyx_k_C_s_5_30_s_P_name_w_s_C_s_5_30, sizeof(__pyx_k_C_s_5_30_s_P_name_w_s_C_s_5_30), 0, 0, 1, 0},
  {&__pyx_n_s_CallUnboundCMethod0, __pyx_k_CallUnboundCMethod0, sizeof(__pyx_k_CallUnboundCMethod0), 0, 0, 1, 1},
  {&__pyx_n_s_CallUnboundCMethod1, __pyx_k_CallUnboundCMethod1, sizeof(__pyx_k_CallUnboundCMethod1), 0, 0, 1, 1},
  {&__pyx_kp_s_Can_be_used_for_writing_out_som, __pyx_k_Can_be_used_for_writing_out_som, sizeof(__pyx_k_Can_be_used_for_writing_out_som), 0, 0, 1, 0},
  {&__pyx_n_s_ClosureTempAllocator, __pyx_k_ClosureTempAllocator, sizeof(__pyx_k_ClosureTempAllocator), 0, 0, 1, 1},
  {&__pyx_n_s_ClosureTempAllocator___init, __pyx_k_ClosureTempAllocator___init, sizeof(__pyx_k_ClosureTempAllocator___init), 0, 0, 1, 1},
  {&__pyx_n_s_ClosureTempAllocator_allocate_te, __pyx_k_ClosureTempAllocator_allocate_te, sizeof(__pyx_k_ClosureTempAllocator_allocate_te), 0, 0, 1, 1},
  {&__pyx_n_s_ClosureTempAllocator_reset, __pyx_k_ClosureTempAllocator_reset, sizeof(__pyx_k_ClosureTempAllocator_reset), 0, 0, 1, 1},
  {&__pyx_n_s_Cython_Compiler_Code, __pyx_k_Cython_Compiler_Code, sizeof(__pyx_k_Cython_Compiler_Code), 0, 0, 1, 1},
  {&__pyx_n_s_Cython_dir, __pyx_k_Cython_dir, sizeof(__pyx_k_Cython_dir), 0, 0, 1, 1},
  {&__pyx_n_s_DebugFlags, __pyx_k_DebugFlags, sizeof(__pyx_k_DebugFlags), 0, 0, 1, 1},
  {&__pyx_kp_s_Empty_utility_code_file, __pyx_k_Empty_utility_code_file, sizeof(__pyx_k_Empty_utility_code_file), 0, 0, 1, 0},
  {&__pyx_n_s_EncodedString, __pyx_k_EncodedString, sizeof(__pyx_k_EncodedString), 0, 0, 1, 1},
  {&__pyx_kp_s_Error_parsing_templated_utility, __pyx_k_Error_parsing_templated_utility, sizeof(__pyx_k_Error_parsing_templated_utility), 0, 0, 1, 0},
  {&__pyx_kp_s_Exceptions_c, __pyx_k_Exceptions_c, sizeof(__pyx_k_Exceptions_c), 0, 0, 1, 0},
  {&__pyx_n_s_ExprNodes, __pyx_k_ExprNodes, sizeof(__pyx_k_ExprNodes), 0, 0, 1, 1},
  {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1},
  {&__pyx_n_s_ForceInitThreads, __pyx_k_ForceInitThreads, sizeof(__pyx_k_ForceInitThreads), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_all_free_managed_t, __pyx_k_FunctionState_all_free_managed_t, sizeof(__pyx_k_FunctionState_all_free_managed_t), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_all_managed_temps, __pyx_k_FunctionState_all_managed_temps, sizeof(__pyx_k_FunctionState_all_managed_temps), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_all_new_labels, __pyx_k_FunctionState_all_new_labels, sizeof(__pyx_k_FunctionState_all_new_labels), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_allocate_temp, __pyx_k_FunctionState_allocate_temp, sizeof(__pyx_k_FunctionState_allocate_temp), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_get_all_labels, __pyx_k_FunctionState_get_all_labels, sizeof(__pyx_k_FunctionState_get_all_labels), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_get_loop_labels, __pyx_k_FunctionState_get_loop_labels, sizeof(__pyx_k_FunctionState_get_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_init_closure_temps, __pyx_k_FunctionState_init_closure_temps, sizeof(__pyx_k_FunctionState_init_closure_temps), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_label_used, __pyx_k_FunctionState_label_used, sizeof(__pyx_k_FunctionState_label_used), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_new_error_label, __pyx_k_FunctionState_new_error_label, sizeof(__pyx_k_FunctionState_new_error_label), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_new_label, __pyx_k_FunctionState_new_label, sizeof(__pyx_k_FunctionState_new_label), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_new_loop_labels, __pyx_k_FunctionState_new_loop_labels, sizeof(__pyx_k_FunctionState_new_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_new_yield_label, __pyx_k_FunctionState_new_yield_label, sizeof(__pyx_k_FunctionState_new_yield_label), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_release_temp, __pyx_k_FunctionState_release_temp, sizeof(__pyx_k_FunctionState_release_temp), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_set_all_labels, __pyx_k_FunctionState_set_all_labels, sizeof(__pyx_k_FunctionState_set_all_labels), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_set_loop_labels, __pyx_k_FunctionState_set_loop_labels, sizeof(__pyx_k_FunctionState_set_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_start_collecting_t, __pyx_k_FunctionState_start_collecting_t, sizeof(__pyx_k_FunctionState_start_collecting_t), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_stop_collecting_te, __pyx_k_FunctionState_stop_collecting_te, sizeof(__pyx_k_FunctionState_stop_collecting_te), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_temps_holding_refe, __pyx_k_FunctionState_temps_holding_refe, sizeof(__pyx_k_FunctionState_temps_holding_refe), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_temps_in_use, __pyx_k_FunctionState_temps_in_use, sizeof(__pyx_k_FunctionState_temps_in_use), 0, 0, 1, 1},
  {&__pyx_n_s_FunctionState_use_label, __pyx_k_FunctionState_use_label, sizeof(__pyx_k_FunctionState_use_label), 0, 0, 1, 1},
  {&__pyx_kp_s_Generated_by_Cython_s, __pyx_k_Generated_by_Cython_s, sizeof(__pyx_k_Generated_by_Cython_s), 0, 0, 1, 0},
  {&__pyx_n_s_GetBuiltinName, __pyx_k_GetBuiltinName, sizeof(__pyx_k_GetBuiltinName), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState, __pyx_k_GlobalState, sizeof(__pyx_k_GlobalState), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState___getitem, __pyx_k_GlobalState___getitem, sizeof(__pyx_k_GlobalState___getitem), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState___init, __pyx_k_GlobalState___init, sizeof(__pyx_k_GlobalState___init), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_add_cached_builtin_d, __pyx_k_GlobalState_add_cached_builtin_d, sizeof(__pyx_k_GlobalState_add_cached_builtin_d), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_close_global_decls, __pyx_k_GlobalState_close_global_decls, sizeof(__pyx_k_GlobalState_close_global_decls), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_commented_file_conte, __pyx_k_GlobalState_commented_file_conte, sizeof(__pyx_k_GlobalState_commented_file_conte), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_finalize_main_c_code, __pyx_k_GlobalState_finalize_main_c_code, sizeof(__pyx_k_GlobalState_finalize_main_c_code), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_generate_cached_meth, __pyx_k_GlobalState_generate_cached_meth, sizeof(__pyx_k_GlobalState_generate_cached_meth), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_generate_const_decla, __pyx_k_GlobalState_generate_const_decla, sizeof(__pyx_k_GlobalState_generate_const_decla), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_generate_num_constan, __pyx_k_GlobalState_generate_num_constan, sizeof(__pyx_k_GlobalState_generate_num_constan), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_generate_object_cons, __pyx_k_GlobalState_generate_object_cons, sizeof(__pyx_k_GlobalState_generate_object_cons), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_generate_string_cons, __pyx_k_GlobalState_generate_string_cons, sizeof(__pyx_k_GlobalState_generate_string_cons), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_cached_constants, __pyx_k_GlobalState_get_cached_constants, sizeof(__pyx_k_GlobalState_get_cached_constants), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_cached_unbound_m, __pyx_k_GlobalState_get_cached_unbound_m, sizeof(__pyx_k_GlobalState_get_cached_unbound_m), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_float_const, __pyx_k_GlobalState_get_float_const, sizeof(__pyx_k_GlobalState_get_float_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_int_const, __pyx_k_GlobalState_get_int_const, sizeof(__pyx_k_GlobalState_get_int_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_interned_identif, __pyx_k_GlobalState_get_interned_identif, sizeof(__pyx_k_GlobalState_get_interned_identif), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_py_const, __pyx_k_GlobalState_get_py_const, sizeof(__pyx_k_GlobalState_get_py_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_py_string_const, __pyx_k_GlobalState_get_py_string_const, sizeof(__pyx_k_GlobalState_get_py_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_pyunicode_ptr_co, __pyx_k_GlobalState_get_pyunicode_ptr_co, sizeof(__pyx_k_GlobalState_get_pyunicode_ptr_co), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_get_string_const, __pyx_k_GlobalState_get_string_const, sizeof(__pyx_k_GlobalState_get_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_initialize_main_c_co, __pyx_k_GlobalState_initialize_main_c_co, sizeof(__pyx_k_GlobalState_initialize_main_c_co), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_lookup_filename, __pyx_k_GlobalState_lookup_filename, sizeof(__pyx_k_GlobalState_lookup_filename), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_new_const_cname, __pyx_k_GlobalState_new_const_cname, sizeof(__pyx_k_GlobalState_new_const_cname), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_new_num_const, __pyx_k_GlobalState_new_num_const, sizeof(__pyx_k_GlobalState_new_num_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_new_num_const_cname, __pyx_k_GlobalState_new_num_const_cname, sizeof(__pyx_k_GlobalState_new_num_const_cname), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_new_py_const, __pyx_k_GlobalState_new_py_const, sizeof(__pyx_k_GlobalState_new_py_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_new_string_const, __pyx_k_GlobalState_new_string_const, sizeof(__pyx_k_GlobalState_new_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_new_string_const_cna, __pyx_k_GlobalState_new_string_const_cna, sizeof(__pyx_k_GlobalState_new_string_const_cna), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_put_cached_builtin_i, __pyx_k_GlobalState_put_cached_builtin_i, sizeof(__pyx_k_GlobalState_put_cached_builtin_i), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_put_pyobject_decl, __pyx_k_GlobalState_put_pyobject_decl, sizeof(__pyx_k_GlobalState_put_pyobject_decl), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_should_declare, __pyx_k_GlobalState_should_declare, sizeof(__pyx_k_GlobalState_should_declare), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_use_entry_utility_co, __pyx_k_GlobalState_use_entry_utility_co, sizeof(__pyx_k_GlobalState_use_entry_utility_co), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalState_use_utility_code, __pyx_k_GlobalState_use_utility_code, sizeof(__pyx_k_GlobalState_use_utility_code), 0, 0, 1, 1},
  {&__pyx_kp_s_Global_info_about_a_Python_numbe, __pyx_k_Global_info_about_a_Python_numbe, sizeof(__pyx_k_Global_info_about_a_Python_numbe), 0, 0, 1, 0},
  {&__pyx_kp_s_Global_info_about_a_Python_strin, __pyx_k_Global_info_about_a_Python_strin, sizeof(__pyx_k_Global_info_about_a_Python_strin), 0, 0, 1, 0},
  {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
  {&__pyx_n_s_InitStrings, __pyx_k_InitStrings, sizeof(__pyx_k_InitStrings), 0, 0, 1, 1},
  {&__pyx_n_s_KEYWORDS_MUST_BE_BYTES, __pyx_k_KEYWORDS_MUST_BE_BYTES, sizeof(__pyx_k_KEYWORDS_MUST_BE_BYTES), 0, 0, 1, 1},
  {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
  {&__pyx_n_s_L, __pyx_k_L, sizeof(__pyx_k_L), 0, 0, 1, 1},
  {&__pyx_n_s_LazyUtilityCode, __pyx_k_LazyUtilityCode, sizeof(__pyx_k_LazyUtilityCode), 0, 0, 1, 1},
  {&__pyx_n_s_LazyUtilityCode___init, __pyx_k_LazyUtilityCode___init, sizeof(__pyx_k_LazyUtilityCode___init), 0, 0, 1, 1},
  {&__pyx_n_s_LazyUtilityCode_put_code, __pyx_k_LazyUtilityCode_put_code, sizeof(__pyx_k_LazyUtilityCode_put_code), 0, 0, 1, 1},
  {&__pyx_n_s_MemoryView, __pyx_k_MemoryView, sizeof(__pyx_k_MemoryView), 0, 0, 1, 1},
  {&__pyx_kp_s_ModuleSetupCode_c, __pyx_k_ModuleSetupCode_c, sizeof(__pyx_k_ModuleSetupCode_c), 0, 0, 1, 0},
  {&__pyx_kp_s_More_than_one_filename_match_fou, __pyx_k_More_than_one_filename_match_fou, sizeof(__pyx_k_More_than_one_filename_match_fou), 0, 0, 1, 0},
  {&__pyx_kp_s_NULL, __pyx_k_NULL, sizeof(__pyx_k_NULL), 0, 0, 1, 0},
  {&__pyx_n_s_Naming, __pyx_k_Naming, sizeof(__pyx_k_Naming), 0, 0, 1, 1},
  {&__pyx_kp_s_No_match_found_for_utility_code, __pyx_k_No_match_found_for_utility_code, sizeof(__pyx_k_No_match_found_for_utility_code), 0, 0, 1, 0},
  {&__pyx_n_s_NumConst, __pyx_k_NumConst, sizeof(__pyx_k_NumConst), 0, 0, 1, 1},
  {&__pyx_n_s_NumConst___init, __pyx_k_NumConst___init, sizeof(__pyx_k_NumConst___init), 0, 0, 1, 1},
  {&__pyx_n_s_OSError, __pyx_k_OSError, sizeof(__pyx_k_OSError), 0, 0, 1, 1},
  {&__pyx_kp_s_ObjectHandling_c, __pyx_k_ObjectHandling_c, sizeof(__pyx_k_ObjectHandling_c), 0, 0, 1, 0},
  {&__pyx_n_s_Options, __pyx_k_Options, sizeof(__pyx_k_Options), 0, 0, 1, 1},
  {&__pyx_kp_s_PYIDENT, __pyx_k_PYIDENT, sizeof(__pyx_k_PYIDENT), 0, 0, 1, 0},
  {&__pyx_kp_s_PYIDENT_2, __pyx_k_PYIDENT_2, sizeof(__pyx_k_PYIDENT_2), 0, 0, 1, 0},
  {&__pyx_kp_s_PYX_ERR_s_s_s, __pyx_k_PYX_ERR_s_s_s, sizeof(__pyx_k_PYX_ERR_s_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_PYX_INC_MEMVIEW_s_d, __pyx_k_PYX_INC_MEMVIEW_s_d, sizeof(__pyx_k_PYX_INC_MEMVIEW_s_d), 0, 0, 1, 0},
  {&__pyx_kp_s_PYX_XDEC_MEMVIEW_s_d, __pyx_k_PYX_XDEC_MEMVIEW_s_d, sizeof(__pyx_k_PYX_XDEC_MEMVIEW_s_d), 0, 0, 1, 0},
  {&__pyx_kp_s_PY_MAJOR_VERSION_3, __pyx_k_PY_MAJOR_VERSION_3, sizeof(__pyx_k_PY_MAJOR_VERSION_3), 0, 0, 1, 0},
  {&__pyx_kp_s_PY_MAJOR_VERSION_3_2, __pyx_k_PY_MAJOR_VERSION_3_2, sizeof(__pyx_k_PY_MAJOR_VERSION_3_2), 0, 0, 1, 0},
  {&__pyx_n_s_Py, __pyx_k_Py, sizeof(__pyx_k_Py), 0, 0, 1, 1},
  {&__pyx_kp_s_PyErr_Occurred, __pyx_k_PyErr_Occurred, sizeof(__pyx_k_PyErr_Occurred), 0, 0, 1, 0},
  {&__pyx_kp_s_PyFloat_FromDouble_s, __pyx_k_PyFloat_FromDouble_s, sizeof(__pyx_k_PyFloat_FromDouble_s), 0, 0, 1, 0},
  {&__pyx_kp_s_PyGILState_Release_s, __pyx_k_PyGILState_Release_s, sizeof(__pyx_k_PyGILState_Release_s), 0, 0, 1, 0},
  {&__pyx_kp_s_PyGILState_STATE, __pyx_k_PyGILState_STATE, sizeof(__pyx_k_PyGILState_STATE), 0, 0, 1, 0},
  {&__pyx_kp_s_PyGILState_STATE___pyx_gilstate, __pyx_k_PyGILState_STATE___pyx_gilstate, sizeof(__pyx_k_PyGILState_STATE___pyx_gilstate), 0, 0, 1, 0},
  {&__pyx_n_s_PyHeapTypeObject, __pyx_k_PyHeapTypeObject, sizeof(__pyx_k_PyHeapTypeObject), 0, 0, 1, 1},
  {&__pyx_kp_s_PyInt_FromLong_s, __pyx_k_PyInt_FromLong_s, sizeof(__pyx_k_PyInt_FromLong_s), 0, 0, 1, 0},
  {&__pyx_kp_s_PyInt_FromLong_sL, __pyx_k_PyInt_FromLong_sL, sizeof(__pyx_k_PyInt_FromLong_sL), 0, 0, 1, 0},
  {&__pyx_kp_s_PyInt_FromString_char_s_0_0, __pyx_k_PyInt_FromString_char_s_0_0, sizeof(__pyx_k_PyInt_FromString_char_s_0_0), 0, 0, 1, 0},
  {&__pyx_kp_s_PyLong_FromString_char_s_0_0, __pyx_k_PyLong_FromString_char_s_0_0, sizeof(__pyx_k_PyLong_FromString_char_s_0_0), 0, 0, 1, 0},
  {&__pyx_kp_s_PyObject, __pyx_k_PyObject, sizeof(__pyx_k_PyObject), 0, 0, 1, 0},
  {&__pyx_n_s_PyStringConst, __pyx_k_PyStringConst, sizeof(__pyx_k_PyStringConst), 0, 0, 1, 1},
  {&__pyx_n_s_PyStringConst___init, __pyx_k_PyStringConst___init, sizeof(__pyx_k_PyStringConst___init), 0, 0, 1, 1},
  {&__pyx_n_s_PyStringConst___lt, __pyx_k_PyStringConst___lt, sizeof(__pyx_k_PyStringConst___lt), 0, 0, 1, 1},
  {&__pyx_kp_s_PyThreadState__save, __pyx_k_PyThreadState__save, sizeof(__pyx_k_PyThreadState__save), 0, 0, 1, 0},
  {&__pyx_n_s_PyTypeObject, __pyx_k_PyTypeObject, sizeof(__pyx_k_PyTypeObject), 0, 0, 1, 1},
  {&__pyx_n_s_Py_BLOCK_THREADS, __pyx_k_Py_BLOCK_THREADS, sizeof(__pyx_k_Py_BLOCK_THREADS), 0, 0, 1, 1},
  {&__pyx_kp_s_Py_CLEAR_s, __pyx_k_Py_CLEAR_s, sizeof(__pyx_k_Py_CLEAR_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Py_CLEAR_s_method, __pyx_k_Py_CLEAR_s_method, sizeof(__pyx_k_Py_CLEAR_s_method), 0, 0, 1, 0},
  {&__pyx_kp_s_Py_INCREF_s, __pyx_k_Py_INCREF_s, sizeof(__pyx_k_Py_INCREF_s), 0, 0, 1, 0},
  {&__pyx_n_s_Py_None, __pyx_k_Py_None, sizeof(__pyx_k_Py_None), 0, 0, 1, 1},
  {&__pyx_n_s_Py_UNBLOCK_THREADS, __pyx_k_Py_UNBLOCK_THREADS, sizeof(__pyx_k_Py_UNBLOCK_THREADS), 0, 0, 1, 1},
  {&__pyx_n_s_PyrexCodeWriter_dedent, __pyx_k_PyrexCodeWriter_dedent, sizeof(__pyx_k_PyrexCodeWriter_dedent), 0, 0, 1, 1},
  {&__pyx_n_s_PyrexCodeWriter_indent, __pyx_k_PyrexCodeWriter_indent, sizeof(__pyx_k_PyrexCodeWriter_indent), 0, 0, 1, 1},
  {&__pyx_n_s_PyrexCodeWriter_putln, __pyx_k_PyrexCodeWriter_putln, sizeof(__pyx_k_PyrexCodeWriter_putln), 0, 0, 1, 1},
  {&__pyx_n_s_PyrexTypes, __pyx_k_PyrexTypes, sizeof(__pyx_k_PyrexTypes), 0, 0, 1, 1},
  {&__pyx_n_s_Pyx, __pyx_k_Pyx, sizeof(__pyx_k_Pyx), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter, __pyx_k_PyxCodeWriter, sizeof(__pyx_k_PyxCodeWriter), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter___init, __pyx_k_PyxCodeWriter___init, sizeof(__pyx_k_PyxCodeWriter___init), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter__putln, __pyx_k_PyxCodeWriter__putln, sizeof(__pyx_k_PyxCodeWriter__putln), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_dedent, __pyx_k_PyxCodeWriter_dedent, sizeof(__pyx_k_PyxCodeWriter_dedent), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_getvalue, __pyx_k_PyxCodeWriter_getvalue, sizeof(__pyx_k_PyxCodeWriter_getvalue), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_indent, __pyx_k_PyxCodeWriter_indent, sizeof(__pyx_k_PyxCodeWriter_indent), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_indenter, __pyx_k_PyxCodeWriter_indenter, sizeof(__pyx_k_PyxCodeWriter_indenter), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_insertion_point, __pyx_k_PyxCodeWriter_insertion_point, sizeof(__pyx_k_PyxCodeWriter_insertion_point), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_named_insertion_po, __pyx_k_PyxCodeWriter_named_insertion_po, sizeof(__pyx_k_PyxCodeWriter_named_insertion_po), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_put_chunk, __pyx_k_PyxCodeWriter_put_chunk, sizeof(__pyx_k_PyxCodeWriter_put_chunk), 0, 0, 1, 1},
  {&__pyx_n_s_PyxCodeWriter_putln, __pyx_k_PyxCodeWriter_putln, sizeof(__pyx_k_PyxCodeWriter_putln), 0, 0, 1, 1},
  {&__pyx_kp_s_Pyx_AddTraceback_s_s_s_s, __pyx_k_Pyx_AddTraceback_s_s_s_s, sizeof(__pyx_k_Pyx_AddTraceback_s_s_s_s), 0, 0, 1, 0},
  {&__pyx_n_s_Pyx_CallUnboundCMethod0, __pyx_k_Pyx_CallUnboundCMethod0, sizeof(__pyx_k_Pyx_CallUnboundCMethod0), 0, 0, 1, 1},
  {&__pyx_n_s_Pyx_CallUnboundCMethod1, __pyx_k_Pyx_CallUnboundCMethod1, sizeof(__pyx_k_Pyx_CallUnboundCMethod1), 0, 0, 1, 1},
  {&__pyx_kp_s_Pyx_DECREF_SET_s_s, __pyx_k_Pyx_DECREF_SET_s_s, sizeof(__pyx_k_Pyx_DECREF_SET_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_GIVEREF_s, __pyx_k_Pyx_GIVEREF_s, sizeof(__pyx_k_Pyx_GIVEREF_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_GOTREF_s, __pyx_k_Pyx_GOTREF_s, sizeof(__pyx_k_Pyx_GOTREF_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_INCREF_s, __pyx_k_Pyx_INCREF_s, sizeof(__pyx_k_Pyx_INCREF_s), 0, 0, 1, 0},
  {&__pyx_n_s_Pyx_InitCachedConstants, __pyx_k_Pyx_InitCachedConstants, sizeof(__pyx_k_Pyx_InitCachedConstants), 0, 0, 1, 1},
  {&__pyx_n_s_Pyx_RaiseClosureNameError, __pyx_k_Pyx_RaiseClosureNameError, sizeof(__pyx_k_Pyx_RaiseClosureNameError), 0, 0, 1, 1},
  {&__pyx_n_s_Pyx_RaiseUnboundLocalError, __pyx_k_Pyx_RaiseUnboundLocalError, sizeof(__pyx_k_Pyx_RaiseUnboundLocalError), 0, 0, 1, 1},
  {&__pyx_n_s_Pyx_RaiseUnboundMemoryviewSlic, __pyx_k_Pyx_RaiseUnboundMemoryviewSlic, sizeof(__pyx_k_Pyx_RaiseUnboundMemoryviewSlic), 0, 0, 1, 1},
  {&__pyx_n_s_Pyx_RefNannyDeclarations, __pyx_k_Pyx_RefNannyDeclarations, sizeof(__pyx_k_Pyx_RefNannyDeclarations), 0, 0, 1, 1},
  {&__pyx_kp_s_Pyx_RefNannyFinishContext, __pyx_k_Pyx_RefNannyFinishContext, sizeof(__pyx_k_Pyx_RefNannyFinishContext), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_RefNannySetupContext_s_d, __pyx_k_Pyx_RefNannySetupContext_s_d, sizeof(__pyx_k_Pyx_RefNannySetupContext_s_d), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_TraceCall_s_s_s_s_d_s, __pyx_k_Pyx_TraceCall_s_s_s_s_d_s, sizeof(__pyx_k_Pyx_TraceCall_s_s_s_s_d_s), 0, 0, 1, 0},
  {&__pyx_n_s_Pyx_TraceDeclarations, __pyx_k_Pyx_TraceDeclarations, sizeof(__pyx_k_Pyx_TraceDeclarations), 0, 0, 1, 1},
  {&__pyx_kp_s_Pyx_TraceException, __pyx_k_Pyx_TraceException, sizeof(__pyx_k_Pyx_TraceException), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_TraceFrameInit_s, __pyx_k_Pyx_TraceFrameInit_s, sizeof(__pyx_k_Pyx_TraceFrameInit_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_TraceLine_d_d_s, __pyx_k_Pyx_TraceLine_d_d_s, sizeof(__pyx_k_Pyx_TraceLine_d_d_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_TraceReturn_s_d, __pyx_k_Pyx_TraceReturn_s_d, sizeof(__pyx_k_Pyx_TraceReturn_s_d), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_WriteUnraisable_s_s_s_s_d, __pyx_k_Pyx_WriteUnraisable_s_s_s_s_d, sizeof(__pyx_k_Pyx_WriteUnraisable_s_s_s_s_d), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_XDECREF_SET_s_s, __pyx_k_Pyx_XDECREF_SET_s_s, sizeof(__pyx_k_Pyx_XDECREF_SET_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_XDECREF_s, __pyx_k_Pyx_XDECREF_s, sizeof(__pyx_k_Pyx_XDECREF_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_XGIVEREF_s, __pyx_k_Pyx_XGIVEREF_s, sizeof(__pyx_k_Pyx_XGIVEREF_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_XGOTREF_s, __pyx_k_Pyx_XGOTREF_s, sizeof(__pyx_k_Pyx_XGOTREF_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx_XINCREF_s, __pyx_k_Pyx_XINCREF_s, sizeof(__pyx_k_Pyx_XINCREF_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx__sCLEAR_s, __pyx_k_Pyx__sCLEAR_s, sizeof(__pyx_k_Pyx__sCLEAR_s), 0, 0, 1, 0},
  {&__pyx_kp_s_Pyx__sDECREF_s_s_0, __pyx_k_Pyx__sDECREF_s_s_0, sizeof(__pyx_k_Pyx__sDECREF_s_s_0), 0, 0, 1, 0},
  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
  {&__pyx_kp_s_Runtime_support_code, __pyx_k_Runtime_support_code, sizeof(__pyx_k_Runtime_support_code), 0, 0, 1, 0},
  {&__pyx_kp_s_Runtime_support_code_head, __pyx_k_Runtime_support_code_head, sizeof(__pyx_k_Runtime_support_code_head), 0, 0, 1, 0},
  {&__pyx_n_s_Scanning, __pyx_k_Scanning, sizeof(__pyx_k_Scanning), 0, 0, 1, 1},
  {&__pyx_n_s_SourceDescriptor, __pyx_k_SourceDescriptor, sizeof(__pyx_k_SourceDescriptor), 0, 0, 1, 1},
  {&__pyx_kp_s_Stores_utility_code_to_add_duri, __pyx_k_Stores_utility_code_to_add_duri, sizeof(__pyx_k_Stores_utility_code_to_add_duri), 0, 0, 1, 0},
  {&__pyx_n_s_StringConst_add_py_version, __pyx_k_StringConst_add_py_version, sizeof(__pyx_k_StringConst_add_py_version), 0, 0, 1, 1},
  {&__pyx_n_s_StringConst_get_py_string_const, __pyx_k_StringConst_get_py_string_const, sizeof(__pyx_k_StringConst_get_py_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_StringEncoding, __pyx_k_StringEncoding, sizeof(__pyx_k_StringEncoding), 0, 0, 1, 1},
  {&__pyx_n_s_StringIOTree, __pyx_k_StringIOTree, sizeof(__pyx_k_StringIOTree), 0, 0, 1, 1},
  {&__pyx_kp_s_StringTools_c, __pyx_k_StringTools_c, sizeof(__pyx_k_StringTools_c), 0, 0, 1, 0},
  {&__pyx_kp_s_Support_for_loading_utility_cod, __pyx_k_Support_for_loading_utility_cod, sizeof(__pyx_k_Support_for_loading_utility_cod), 0, 0, 1, 0},
  {&__pyx_kp_s_Temp_s_freed_twice, __pyx_k_Temp_s_freed_twice, sizeof(__pyx_k_Temp_s_freed_twice), 0, 0, 1, 0},
  {&__pyx_n_s_Tempita, __pyx_k_Tempita, sizeof(__pyx_k_Tempita), 0, 0, 1, 1},
  {&__pyx_n_s_TempitaUtilityCode, __pyx_k_TempitaUtilityCode, sizeof(__pyx_k_TempitaUtilityCode), 0, 0, 1, 1},
  {&__pyx_n_s_TempitaUtilityCode___init, __pyx_k_TempitaUtilityCode___init, sizeof(__pyx_k_TempitaUtilityCode___init), 0, 0, 1, 1},
  {&__pyx_n_s_TempitaUtilityCode_load_cached, __pyx_k_TempitaUtilityCode_load_cached, sizeof(__pyx_k_TempitaUtilityCode_load_cached), 0, 0, 1, 1},
  {&__pyx_n_s_TempitaUtilityCode_none_or_sub, __pyx_k_TempitaUtilityCode_none_or_sub, sizeof(__pyx_k_TempitaUtilityCode_none_or_sub), 0, 0, 1, 1},
  {&__pyx_n_s_Template, __pyx_k_Template, sizeof(__pyx_k_Template), 0, 0, 1, 1},
  {&__pyx_kp_s_TypeConversion_c, __pyx_k_TypeConversion_c, sizeof(__pyx_k_TypeConversion_c), 0, 0, 1, 0},
  {&__pyx_n_s_TypeConversions, __pyx_k_TypeConversions, sizeof(__pyx_k_TypeConversions), 0, 0, 1, 1},
  {&__pyx_n_s_TypeSlots, __pyx_k_TypeSlots, sizeof(__pyx_k_TypeSlots), 0, 0, 1, 1},
  {&__pyx_n_s_U, __pyx_k_U, sizeof(__pyx_k_U), 0, 0, 1, 1},
  {&__pyx_n_s_USASCII, __pyx_k_USASCII, sizeof(__pyx_k_USASCII), 0, 0, 1, 1},
  {&__pyx_kp_s_US_ASCII, __pyx_k_US_ASCII, sizeof(__pyx_k_US_ASCII), 0, 0, 1, 0},
  {&__pyx_n_s_UTF8, __pyx_k_UTF8, sizeof(__pyx_k_UTF8), 0, 0, 1, 1},
  {&__pyx_kp_s_UTF_8, __pyx_k_UTF_8, sizeof(__pyx_k_UTF_8), 0, 0, 1, 0},
  {&__pyx_n_s_Utility, __pyx_k_Utility, sizeof(__pyx_k_Utility), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode, __pyx_k_UtilityCode, sizeof(__pyx_k_UtilityCode), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase, __pyx_k_UtilityCodeBase, sizeof(__pyx_k_UtilityCodeBase), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase___str, __pyx_k_UtilityCodeBase___str, sizeof(__pyx_k_UtilityCodeBase___str), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase__add_utility, __pyx_k_UtilityCodeBase__add_utility, sizeof(__pyx_k_UtilityCodeBase__add_utility), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase_format_code, __pyx_k_UtilityCodeBase_format_code, sizeof(__pyx_k_UtilityCodeBase_format_code), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase_get_tree, __pyx_k_UtilityCodeBase_get_tree, sizeof(__pyx_k_UtilityCodeBase_get_tree), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase_load, __pyx_k_UtilityCodeBase_load, sizeof(__pyx_k_UtilityCodeBase_load), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase_load_as_string, __pyx_k_UtilityCodeBase_load_as_string, sizeof(__pyx_k_UtilityCodeBase_load_as_string), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase_load_cached, __pyx_k_UtilityCodeBase_load_cached, sizeof(__pyx_k_UtilityCodeBase_load_cached), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase_load_utilities_f, __pyx_k_UtilityCodeBase_load_utilities_f, sizeof(__pyx_k_UtilityCodeBase_load_utilities_f), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCodeBase_load_utilities_f_2, __pyx_k_UtilityCodeBase_load_utilities_f_2, sizeof(__pyx_k_UtilityCodeBase_load_utilities_f_2), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode___eq, __pyx_k_UtilityCode___eq, sizeof(__pyx_k_UtilityCode___eq), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode___hash, __pyx_k_UtilityCode___hash, sizeof(__pyx_k_UtilityCode___hash), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode___init, __pyx_k_UtilityCode___init, sizeof(__pyx_k_UtilityCode___init), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_inject_string_consta, __pyx_k_UtilityCode_inject_string_consta, sizeof(__pyx_k_UtilityCode_inject_string_consta), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_inject_string_consta_2, __pyx_k_UtilityCode_inject_string_consta_2, sizeof(__pyx_k_UtilityCode_inject_string_consta_2), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_inject_unbound_metho, __pyx_k_UtilityCode_inject_unbound_metho, sizeof(__pyx_k_UtilityCode_inject_unbound_metho), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_inject_unbound_metho_2, __pyx_k_UtilityCode_inject_unbound_metho_2, sizeof(__pyx_k_UtilityCode_inject_unbound_metho_2), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_none_or_sub, __pyx_k_UtilityCode_none_or_sub, sizeof(__pyx_k_UtilityCode_none_or_sub), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_put_code, __pyx_k_UtilityCode_put_code, sizeof(__pyx_k_UtilityCode_put_code), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_specialize, __pyx_k_UtilityCode_specialize, sizeof(__pyx_k_UtilityCode_specialize), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_wrap_c_strings, __pyx_k_UtilityCode_wrap_c_strings, sizeof(__pyx_k_UtilityCode_wrap_c_strings), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_wrap_c_strings_local, __pyx_k_UtilityCode_wrap_c_strings_local, sizeof(__pyx_k_UtilityCode_wrap_c_strings_local), 0, 0, 1, 1},
  {&__pyx_n_s_UtilityCode_wrap_c_strings_local_2, __pyx_k_UtilityCode_wrap_c_strings_local_2, sizeof(__pyx_k_UtilityCode_wrap_c_strings_local_2), 0, 0, 1, 1},
  {&__pyx_kp_s_Utility_class_to_output_C_code, __pyx_k_Utility_class_to_output_C_code, sizeof(__pyx_k_Utility_class_to_output_C_code), 0, 0, 1, 0},
  {&__pyx_kp_s_Utility_code_that_calls_a_callb, __pyx_k_Utility_code_that_calls_a_callb, sizeof(__pyx_k_Utility_code_that_calls_a_callb), 0, 0, 1, 0},
  {&__pyx_n_s_Utils, __pyx_k_Utils, sizeof(__pyx_k_Utils), 0, 0, 1, 1},
  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
  {&__pyx_n_s_Version, __pyx_k_Version, sizeof(__pyx_k_Version), 0, 0, 1, 1},
  {&__pyx_n_s_WindowsError, __pyx_k_WindowsError, sizeof(__pyx_k_WindowsError), 0, 0, 1, 1},
  {&__pyx_n_s_WriteUnraisableException, __pyx_k_WriteUnraisableException, sizeof(__pyx_k_WriteUnraisableException), 0, 0, 1, 1},
  {&__pyx_n_s_X, __pyx_k_X, sizeof(__pyx_k_X), 0, 0, 1, 1},
  {&__pyx_n_s_ZipFile, __pyx_k_ZipFile, sizeof(__pyx_k_ZipFile), 0, 0, 1, 1},
  {&__pyx_kp_u__101, __pyx_k__101, sizeof(__pyx_k__101), 0, 1, 0, 0},
  {&__pyx_kp_u__112, __pyx_k__112, sizeof(__pyx_k__112), 0, 1, 0, 0},
  {&__pyx_kp_s__115, __pyx_k__115, sizeof(__pyx_k__115), 0, 0, 1, 0},
  {&__pyx_kp_s__120, __pyx_k__120, sizeof(__pyx_k__120), 0, 0, 1, 0},
  {&__pyx_kp_s__124, __pyx_k__124, sizeof(__pyx_k__124), 0, 0, 1, 0},
  {&__pyx_kp_s__127, __pyx_k__127, sizeof(__pyx_k__127), 0, 0, 1, 0},
  {&__pyx_kp_s__129, __pyx_k__129, sizeof(__pyx_k__129), 0, 0, 1, 0},
  {&__pyx_kp_s__164, __pyx_k__164, sizeof(__pyx_k__164), 0, 0, 1, 0},
  {&__pyx_kp_s__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 0, 1, 0},
  {&__pyx_kp_s__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 0, 1, 0},
  {&__pyx_kp_s__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 0, 1, 0},
  {&__pyx_kp_s__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 0, 1, 0},
  {&__pyx_kp_s__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 0, 1, 0},
  {&__pyx_kp_s__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 0, 1, 0},
  {&__pyx_kp_s__35, __pyx_k__35, sizeof(__pyx_k__35), 0, 0, 1, 0},
  {&__pyx_kp_s__39, __pyx_k__39, sizeof(__pyx_k__39), 0, 0, 1, 0},
  {&__pyx_n_s__44, __pyx_k__44, sizeof(__pyx_k__44), 0, 0, 1, 1},
  {&__pyx_kp_s__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 0, 1, 0},
  {&__pyx_kp_s__62, __pyx_k__62, sizeof(__pyx_k__62), 0, 0, 1, 0},
  {&__pyx_kp_s__73, __pyx_k__73, sizeof(__pyx_k__73), 0, 0, 1, 0},
  {&__pyx_kp_s__75, __pyx_k__75, sizeof(__pyx_k__75), 0, 0, 1, 0},
  {&__pyx_kp_s__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 0, 1, 0},
  {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0},
  {&__pyx_kp_s__83, __pyx_k__83, sizeof(__pyx_k__83), 0, 0, 1, 0},
  {&__pyx_kp_s__84, __pyx_k__84, sizeof(__pyx_k__84), 0, 0, 1, 0},
  {&__pyx_kp_s__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 0, 1, 0},
  {&__pyx_kp_s__95, __pyx_k__95, sizeof(__pyx_k__95), 0, 0, 1, 0},
  {&__pyx_kp_u__98, __pyx_k__98, sizeof(__pyx_k__98), 0, 1, 0, 0},
  {&__pyx_kp_u__99, __pyx_k__99, sizeof(__pyx_k__99), 0, 1, 0, 0},
  {&__pyx_kp_s_a_zA_Z0_9, __pyx_k_a_zA_Z0_9, sizeof(__pyx_k_a_zA_Z0_9), 0, 0, 1, 0},
  {&__pyx_kp_s_a_zA_Z0_9_2, __pyx_k_a_zA_Z0_9_2, sizeof(__pyx_k_a_zA_Z0_9_2), 0, 0, 1, 0},
  {&__pyx_n_s_abspath, __pyx_k_abspath, sizeof(__pyx_k_abspath), 0, 0, 1, 1},
  {&__pyx_n_s_acquire_gil, __pyx_k_acquire_gil, sizeof(__pyx_k_acquire_gil), 0, 0, 1, 1},
  {&__pyx_n_s_add, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1},
  {&__pyx_n_s_add_cached_builtin_decl, __pyx_k_add_cached_builtin_decl, sizeof(__pyx_k_add_cached_builtin_decl), 0, 0, 1, 1},
  {&__pyx_n_s_add_py_version, __pyx_k_add_py_version, sizeof(__pyx_k_add_py_version), 0, 0, 1, 1},
  {&__pyx_n_s_add_utility, __pyx_k_add_utility, sizeof(__pyx_k_add_utility), 0, 0, 1, 1},
  {&__pyx_n_s_aiter, __pyx_k_aiter, sizeof(__pyx_k_aiter), 0, 0, 1, 1},
  {&__pyx_n_s_all_free_managed_temps, __pyx_k_all_free_managed_temps, sizeof(__pyx_k_all_free_managed_temps), 0, 0, 1, 1},
  {&__pyx_n_s_all_lines, __pyx_k_all_lines, sizeof(__pyx_k_all_lines), 0, 0, 1, 1},
  {&__pyx_n_s_all_managed_temps, __pyx_k_all_managed_temps, sizeof(__pyx_k_all_managed_temps), 0, 0, 1, 1},
  {&__pyx_n_s_all_new_labels, __pyx_k_all_new_labels, sizeof(__pyx_k_all_new_labels), 0, 0, 1, 1},
  {&__pyx_n_s_all_tags, __pyx_k_all_tags, sizeof(__pyx_k_all_tags), 0, 0, 1, 1},
  {&__pyx_n_s_all_the_rest, __pyx_k_all_the_rest, sizeof(__pyx_k_all_the_rest), 0, 0, 1, 1},
  {&__pyx_n_s_allocate_temp, __pyx_k_allocate_temp, sizeof(__pyx_k_allocate_temp), 0, 0, 1, 1},
  {&__pyx_n_s_allow_skip, __pyx_k_allow_skip, sizeof(__pyx_k_allow_skip), 0, 0, 1, 1},
  {&__pyx_n_s_anext, __pyx_k_anext, sizeof(__pyx_k_anext), 0, 0, 1, 1},
  {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
  {&__pyx_n_s_archive, __pyx_k_archive, sizeof(__pyx_k_archive), 0, 0, 1, 1},
  {&__pyx_n_s_arg, __pyx_k_arg, sizeof(__pyx_k_arg), 0, 0, 1, 1},
  {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
  {&__pyx_n_s_args_count, __pyx_k_args_count, sizeof(__pyx_k_args_count), 0, 0, 1, 1},
  {&__pyx_n_s_as_pyobject, __pyx_k_as_pyobject, sizeof(__pyx_k_as_pyobject), 0, 0, 1, 1},
  {&__pyx_n_s_ascii, __pyx_k_ascii, sizeof(__pyx_k_ascii), 0, 0, 1, 1},
  {&__pyx_n_s_attrgetter, __pyx_k_attrgetter, sizeof(__pyx_k_attrgetter), 0, 0, 1, 1},
  {&__pyx_n_s_attribute_of, __pyx_k_attribute_of, sizeof(__pyx_k_attribute_of), 0, 0, 1, 1},
  {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1},
  {&__pyx_n_s_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 0, 1, 1},
  {&__pyx_n_s_basename, __pyx_k_basename, sizeof(__pyx_k_basename), 0, 0, 1, 1},
  {&__pyx_n_s_basestring, __pyx_k_basestring, sizeof(__pyx_k_basestring), 0, 0, 1, 1},
  {&__pyx_n_s_basicsize_builtins_map, __pyx_k_basicsize_builtins_map, sizeof(__pyx_k_basicsize_builtins_map), 0, 0, 1, 1},
  {&__pyx_n_s_before_global_var, __pyx_k_before_global_var, sizeof(__pyx_k_before_global_var), 0, 0, 1, 1},
  {&__pyx_n_s_begin_block, __pyx_k_begin_block, sizeof(__pyx_k_begin_block), 0, 0, 1, 1},
  {&__pyx_n_s_begin_lineno, __pyx_k_begin_lineno, sizeof(__pyx_k_begin_lineno), 0, 0, 1, 1},
  {&__pyx_n_s_bol, __pyx_k_bol, sizeof(__pyx_k_bol), 0, 0, 1, 1},
  {&__pyx_n_s_break, __pyx_k_break, sizeof(__pyx_k_break), 0, 0, 1, 1},
  {&__pyx_n_s_break_label, __pyx_k_break_label, sizeof(__pyx_k_break_label), 0, 0, 1, 1},
  {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1},
  {&__pyx_n_s_build_function_modifiers, __pyx_k_build_function_modifiers, sizeof(__pyx_k_build_function_modifiers), 0, 0, 1, 1},
  {&__pyx_n_s_build_marker, __pyx_k_build_marker, sizeof(__pyx_k_build_marker), 0, 0, 1, 1},
  {&__pyx_n_s_builtin, __pyx_k_builtin, sizeof(__pyx_k_builtin), 0, 0, 1, 1},
  {&__pyx_n_s_builtins, __pyx_k_builtins, sizeof(__pyx_k_builtins), 0, 0, 1, 1},
  {&__pyx_n_s_byte_string, __pyx_k_byte_string, sizeof(__pyx_k_byte_string), 0, 0, 1, 1},
  {&__pyx_n_s_byteencode, __pyx_k_byteencode, sizeof(__pyx_k_byteencode), 0, 0, 1, 1},
  {&__pyx_n_s_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 0, 1, 1},
  {&__pyx_n_s_bytes_value, __pyx_k_bytes_value, sizeof(__pyx_k_bytes_value), 0, 0, 1, 1},
  {&__pyx_n_s_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 0, 1, 1},
  {&__pyx_n_s_c_cname, __pyx_k_c_cname, sizeof(__pyx_k_c_cname), 0, 0, 1, 1},
  {&__pyx_n_s_c_consts, __pyx_k_c_consts, sizeof(__pyx_k_c_consts), 0, 0, 1, 1},
  {&__pyx_n_s_c_line_in_traceback, __pyx_k_c_line_in_traceback, sizeof(__pyx_k_c_line_in_traceback), 0, 0, 1, 1},
  {&__pyx_n_s_c_string, __pyx_k_c_string, sizeof(__pyx_k_c_string), 0, 0, 1, 1},
  {&__pyx_n_s_cache, __pyx_k_cache, sizeof(__pyx_k_cache), 0, 0, 1, 1},
  {&__pyx_n_s_cache_2, __pyx_k_cache_2, sizeof(__pyx_k_cache_2), 0, 0, 1, 1},
  {&__pyx_n_s_cache_builtins, __pyx_k_cache_builtins, sizeof(__pyx_k_cache_builtins), 0, 0, 1, 1},
  {&__pyx_n_s_cached_builtins, __pyx_k_cached_builtins, sizeof(__pyx_k_cached_builtins), 0, 0, 1, 1},
  {&__pyx_n_s_cached_cmethods, __pyx_k_cached_cmethods, sizeof(__pyx_k_cached_cmethods), 0, 0, 1, 1},
  {&__pyx_n_s_cached_constants, __pyx_k_cached_constants, sizeof(__pyx_k_cached_constants), 0, 0, 1, 1},
  {&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1},
  {&__pyx_n_s_call_level, __pyx_k_call_level, sizeof(__pyx_k_call_level), 0, 0, 1, 1},
  {&__pyx_n_s_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 0, 0, 1, 1},
  {&__pyx_n_s_can_trace, __pyx_k_can_trace, sizeof(__pyx_k_can_trace), 0, 0, 1, 1},
  {&__pyx_n_s_cf_used, __pyx_k_cf_used, sizeof(__pyx_k_cf_used), 0, 0, 1, 1},
  {&__pyx_n_s_check_for_null_code, __pyx_k_check_for_null_code, sizeof(__pyx_k_check_for_null_code), 0, 0, 1, 1},
  {&__pyx_n_s_chunk, __pyx_k_chunk, sizeof(__pyx_k_chunk), 0, 0, 1, 1},
  {&__pyx_n_s_cinfo, __pyx_k_cinfo, sizeof(__pyx_k_cinfo), 0, 0, 1, 1},
  {&__pyx_n_s_cinit, __pyx_k_cinit, sizeof(__pyx_k_cinit), 0, 0, 1, 1},
  {&__pyx_n_s_cleanup, __pyx_k_cleanup, sizeof(__pyx_k_cleanup), 0, 0, 1, 1},
  {&__pyx_n_s_cleanup_globals, __pyx_k_cleanup_globals, sizeof(__pyx_k_cleanup_globals), 0, 0, 1, 1},
  {&__pyx_n_s_cleanup_level, __pyx_k_cleanup_level, sizeof(__pyx_k_cleanup_level), 0, 0, 1, 1},
  {&__pyx_n_s_cleanup_module, __pyx_k_cleanup_module, sizeof(__pyx_k_cleanup_module), 0, 0, 1, 1},
  {&__pyx_n_s_cleanup_writer, __pyx_k_cleanup_writer, sizeof(__pyx_k_cleanup_writer), 0, 0, 1, 1},
  {&__pyx_n_s_clear, __pyx_k_clear, sizeof(__pyx_k_clear), 0, 0, 1, 1},
  {&__pyx_n_s_clear_before_decref, __pyx_k_clear_before_decref, sizeof(__pyx_k_clear_before_decref), 0, 0, 1, 1},
  {&__pyx_n_s_clineno_cname, __pyx_k_clineno_cname, sizeof(__pyx_k_clineno_cname), 0, 0, 1, 1},
  {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
  {&__pyx_n_s_close_global_decls, __pyx_k_close_global_decls, sizeof(__pyx_k_close_global_decls), 0, 0, 1, 1},
  {&__pyx_n_s_closing, __pyx_k_closing, sizeof(__pyx_k_closing), 0, 0, 1, 1},
  {&__pyx_n_s_cls, __pyx_k_cls, sizeof(__pyx_k_cls), 0, 0, 1, 1},
  {&__pyx_n_s_cname, __pyx_k_cname, sizeof(__pyx_k_cname), 0, 0, 1, 1},
  {&__pyx_n_s_cnames, __pyx_k_cnames, sizeof(__pyx_k_cnames), 0, 0, 1, 1},
  {&__pyx_n_s_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 0, 1, 1},
  {&__pyx_n_s_code_config, __pyx_k_code_config, sizeof(__pyx_k_code_config), 0, 0, 1, 1},
  {&__pyx_n_s_code_layout, __pyx_k_code_layout, sizeof(__pyx_k_code_layout), 0, 0, 1, 1},
  {&__pyx_n_s_code_string, __pyx_k_code_string, sizeof(__pyx_k_code_string), 0, 0, 1, 1},
  {&__pyx_n_s_codeobj, __pyx_k_codeobj, sizeof(__pyx_k_codeobj), 0, 0, 1, 1},
  {&__pyx_n_s_codewriter_temp_prefix, __pyx_k_codewriter_temp_prefix, sizeof(__pyx_k_codewriter_temp_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_col, __pyx_k_col, sizeof(__pyx_k_col), 0, 0, 1, 1},
  {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1},
  {&__pyx_n_s_comment, __pyx_k_comment, sizeof(__pyx_k_comment), 0, 0, 1, 1},
  {&__pyx_n_s_commented_file_contents, __pyx_k_commented_file_contents, sizeof(__pyx_k_commented_file_contents), 0, 0, 1, 1},
  {&__pyx_n_s_common_utility_include_dir, __pyx_k_common_utility_include_dir, sizeof(__pyx_k_common_utility_include_dir), 0, 0, 1, 1},
  {&__pyx_n_s_compile, __pyx_k_compile, sizeof(__pyx_k_compile), 0, 0, 1, 1},
  {&__pyx_n_s_complex_type_declarations, __pyx_k_complex_type_declarations, sizeof(__pyx_k_complex_type_declarations), 0, 0, 1, 1},
  {&__pyx_n_s_cond, __pyx_k_cond, sizeof(__pyx_k_cond), 0, 0, 1, 1},
  {&__pyx_n_s_condition, __pyx_k_condition, sizeof(__pyx_k_condition), 0, 0, 1, 1},
  {&__pyx_n_s_conditional, __pyx_k_conditional, sizeof(__pyx_k_conditional), 0, 0, 1, 1},
  {&__pyx_n_s_const, __pyx_k_const, sizeof(__pyx_k_const), 0, 0, 1, 1},
  {&__pyx_n_s_const_base_type, __pyx_k_const_base_type, sizeof(__pyx_k_const_base_type), 0, 0, 1, 1},
  {&__pyx_n_s_const_cnames_used, __pyx_k_const_cnames_used, sizeof(__pyx_k_const_cnames_used), 0, 0, 1, 1},
  {&__pyx_n_s_const_prefix, __pyx_k_const_prefix, sizeof(__pyx_k_const_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_consts, __pyx_k_consts, sizeof(__pyx_k_consts), 0, 0, 1, 1},
  {&__pyx_n_s_content, __pyx_k_content, sizeof(__pyx_k_content), 0, 0, 1, 1},
  {&__pyx_n_s_contents, __pyx_k_contents, sizeof(__pyx_k_contents), 0, 0, 1, 1},
  {&__pyx_n_s_context, __pyx_k_context, sizeof(__pyx_k_context), 0, 0, 1, 1},
  {&__pyx_n_s_context_key, __pyx_k_context_key, sizeof(__pyx_k_context_key), 0, 0, 1, 1},
  {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1},
  {&__pyx_n_s_continue, __pyx_k_continue, sizeof(__pyx_k_continue), 0, 0, 1, 1},
  {&__pyx_n_s_continue_label, __pyx_k_continue_label, sizeof(__pyx_k_continue_label), 0, 0, 1, 1},
  {&__pyx_n_s_copy_formatting, __pyx_k_copy_formatting, sizeof(__pyx_k_copy_formatting), 0, 0, 1, 1},
  {&__pyx_n_s_copyto, __pyx_k_copyto, sizeof(__pyx_k_copyto), 0, 0, 1, 1},
  {&__pyx_n_s_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 0, 1, 1},
  {&__pyx_n_s_counter, __pyx_k_counter, sizeof(__pyx_k_counter), 0, 0, 1, 1},
  {&__pyx_n_s_create_from, __pyx_k_create_from, sizeof(__pyx_k_create_from), 0, 0, 1, 1},
  {&__pyx_n_s_create_new, __pyx_k_create_new, sizeof(__pyx_k_create_new), 0, 0, 1, 1},
  {&__pyx_n_s_cython_lineno, __pyx_k_cython_lineno, sizeof(__pyx_k_cython_lineno), 0, 0, 1, 1},
  {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
  {&__pyx_n_s_dealloc, __pyx_k_dealloc, sizeof(__pyx_k_dealloc), 0, 0, 1, 1},
  {&__pyx_n_s_debug_temp_code_comments, __pyx_k_debug_temp_code_comments, sizeof(__pyx_k_debug_temp_code_comments), 0, 0, 1, 1},
  {&__pyx_n_s_decl, __pyx_k_decl, sizeof(__pyx_k_decl), 0, 0, 1, 1},
  {&__pyx_n_s_declaration_code, __pyx_k_declaration_code, sizeof(__pyx_k_declaration_code), 0, 0, 1, 1},
  {&__pyx_n_s_declare_gilstate, __pyx_k_declare_gilstate, sizeof(__pyx_k_declare_gilstate), 0, 0, 1, 1},
  {&__pyx_n_s_declare_var, __pyx_k_declare_var, sizeof(__pyx_k_declare_var), 0, 0, 1, 1},
  {&__pyx_n_s_declared_cnames, __pyx_k_declared_cnames, sizeof(__pyx_k_declared_cnames), 0, 0, 1, 1},
  {&__pyx_n_s_decls, __pyx_k_decls, sizeof(__pyx_k_decls), 0, 0, 1, 1},
  {&__pyx_n_s_decls_writer, __pyx_k_decls_writer, sizeof(__pyx_k_decls_writer), 0, 0, 1, 1},
  {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1},
  {&__pyx_n_s_decrease_indent, __pyx_k_decrease_indent, sizeof(__pyx_k_decrease_indent), 0, 0, 1, 1},
  {&__pyx_n_s_dedent, __pyx_k_dedent, sizeof(__pyx_k_dedent), 0, 0, 1, 1},
  {&__pyx_n_s_defaultdict, __pyx_k_defaultdict, sizeof(__pyx_k_defaultdict), 0, 0, 1, 1},
  {&__pyx_kp_s_define_likely_x___builtin_expec, __pyx_k_define_likely_x___builtin_expec, sizeof(__pyx_k_define_likely_x___builtin_expec), 0, 0, 1, 0},
  {&__pyx_kp_s_define_likely_x_x, __pyx_k_define_likely_x_x, sizeof(__pyx_k_define_likely_x_x), 0, 0, 1, 0},
  {&__pyx_kp_s_define_s, __pyx_k_define_s, sizeof(__pyx_k_define_s), 0, 0, 1, 0},
  {&__pyx_kp_s_define_unlikely_x___builtin_exp, __pyx_k_define_unlikely_x___builtin_exp, sizeof(__pyx_k_define_unlikely_x___builtin_exp), 0, 0, 1, 0},
  {&__pyx_kp_s_define_unlikely_x_x, __pyx_k_define_unlikely_x_x, sizeof(__pyx_k_define_unlikely_x_x), 0, 0, 1, 0},
  {&__pyx_n_s_defined_in_pxd, __pyx_k_defined_in_pxd, sizeof(__pyx_k_defined_in_pxd), 0, 0, 1, 1},
  {&__pyx_n_s_definition, __pyx_k_definition, sizeof(__pyx_k_definition), 0, 0, 1, 1},
  {&__pyx_n_s_dep, __pyx_k_dep, sizeof(__pyx_k_dep), 0, 0, 1, 1},
  {&__pyx_n_s_dependency, __pyx_k_dependency, sizeof(__pyx_k_dependency), 0, 0, 1, 1},
  {&__pyx_n_s_directives, __pyx_k_directives, sizeof(__pyx_k_directives), 0, 0, 1, 1},
  {&__pyx_n_s_dirname, __pyx_k_dirname, sizeof(__pyx_k_dirname), 0, 0, 1, 1},
  {&__pyx_n_s_dl, __pyx_k_dl, sizeof(__pyx_k_dl), 0, 0, 1, 1},
  {&__pyx_n_s_dll_linkage, __pyx_k_dll_linkage, sizeof(__pyx_k_dll_linkage), 0, 0, 1, 1},
  {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
  {&__pyx_n_s_doc_2, __pyx_k_doc_2, sizeof(__pyx_k_doc_2), 0, 0, 1, 1},
  {&__pyx_n_s_doc_cname, __pyx_k_doc_cname, sizeof(__pyx_k_doc_cname), 0, 0, 1, 1},
  {&__pyx_n_s_doc_code, __pyx_k_doc_code, sizeof(__pyx_k_doc_code), 0, 0, 1, 1},
  {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1},
  {&__pyx_kp_s_else, __pyx_k_else, sizeof(__pyx_k_else), 0, 0, 1, 0},
  {&__pyx_n_s_emit_code_comments, __pyx_k_emit_code_comments, sizeof(__pyx_k_emit_code_comments), 0, 0, 1, 1},
  {&__pyx_n_s_emit_linenums, __pyx_k_emit_linenums, sizeof(__pyx_k_emit_linenums), 0, 0, 1, 1},
  {&__pyx_n_s_emit_marker, __pyx_k_emit_marker, sizeof(__pyx_k_emit_marker), 0, 0, 1, 1},
  {&__pyx_n_s_empty_declaration_code, __pyx_k_empty_declaration_code, sizeof(__pyx_k_empty_declaration_code), 0, 0, 1, 1},
  {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1},
  {&__pyx_n_s_encode_pyunicode_string, __pyx_k_encode_pyunicode_string, sizeof(__pyx_k_encode_pyunicode_string), 0, 0, 1, 1},
  {&__pyx_n_s_encoding, __pyx_k_encoding, sizeof(__pyx_k_encoding), 0, 0, 1, 1},
  {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
  {&__pyx_n_s_end_block, __pyx_k_end_block, sizeof(__pyx_k_end_block), 0, 0, 1, 1},
  {&__pyx_kp_s_endif, __pyx_k_endif, sizeof(__pyx_k_endif), 0, 0, 1, 0},
  {&__pyx_kp_s_endif__OPENMP, __pyx_k_endif__OPENMP, sizeof(__pyx_k_endif__OPENMP), 0, 0, 1, 0},
  {&__pyx_n_s_endswith, __pyx_k_endswith, sizeof(__pyx_k_endswith), 0, 0, 1, 1},
  {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1},
  {&__pyx_n_s_enter_cfunc_scope, __pyx_k_enter_cfunc_scope, sizeof(__pyx_k_enter_cfunc_scope), 0, 0, 1, 1},
  {&__pyx_n_s_entries, __pyx_k_entries, sizeof(__pyx_k_entries), 0, 0, 1, 1},
  {&__pyx_n_s_entry, __pyx_k_entry, sizeof(__pyx_k_entry), 0, 0, 1, 1},
  {&__pyx_n_s_entry_as_pyobject, __pyx_k_entry_as_pyobject, sizeof(__pyx_k_entry_as_pyobject), 0, 0, 1, 1},
  {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1},
  {&__pyx_n_s_eq, __pyx_k_eq, sizeof(__pyx_k_eq), 0, 0, 1, 1},
  {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
  {&__pyx_n_s_error_goto, __pyx_k_error_goto, sizeof(__pyx_k_error_goto), 0, 0, 1, 1},
  {&__pyx_n_s_error_goto_if, __pyx_k_error_goto_if, sizeof(__pyx_k_error_goto_if), 0, 0, 1, 1},
  {&__pyx_n_s_error_goto_if_PyErr, __pyx_k_error_goto_if_PyErr, sizeof(__pyx_k_error_goto_if_PyErr), 0, 0, 1, 1},
  {&__pyx_n_s_error_goto_if_neg, __pyx_k_error_goto_if_neg, sizeof(__pyx_k_error_goto_if_neg), 0, 0, 1, 1},
  {&__pyx_n_s_error_goto_if_null, __pyx_k_error_goto_if_null, sizeof(__pyx_k_error_goto_if_null), 0, 0, 1, 1},
  {&__pyx_n_s_error_handling, __pyx_k_error_handling, sizeof(__pyx_k_error_handling), 0, 0, 1, 1},
  {&__pyx_n_s_error_label, __pyx_k_error_label, sizeof(__pyx_k_error_label), 0, 0, 1, 1},
  {&__pyx_n_s_escape_byte_string, __pyx_k_escape_byte_string, sizeof(__pyx_k_escape_byte_string), 0, 0, 1, 1},
  {&__pyx_n_s_escaped_value, __pyx_k_escaped_value, sizeof(__pyx_k_escaped_value), 0, 0, 1, 1},
  {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1},
  {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1},
  {&__pyx_n_s_exit_cfunc_scope, __pyx_k_exit_cfunc_scope, sizeof(__pyx_k_exit_cfunc_scope), 0, 0, 1, 1},
  {&__pyx_n_s_ext, __pyx_k_ext, sizeof(__pyx_k_ext), 0, 0, 1, 1},
  {&__pyx_n_s_extend, __pyx_k_extend, sizeof(__pyx_k_extend), 0, 0, 1, 1},
  {&__pyx_n_s_externalise, __pyx_k_externalise, sizeof(__pyx_k_externalise), 0, 0, 1, 1},
  {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
  {&__pyx_n_s_fast_getattr, __pyx_k_fast_getattr, sizeof(__pyx_k_fast_getattr), 0, 0, 1, 1},
  {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
  {&__pyx_n_s_file_2, __pyx_k_file_2, sizeof(__pyx_k_file_2), 0, 0, 1, 1},
  {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1},
  {&__pyx_n_s_filename_cname, __pyx_k_filename_cname, sizeof(__pyx_k_filename_cname), 0, 0, 1, 1},
  {&__pyx_n_s_filename_list, __pyx_k_filename_list, sizeof(__pyx_k_filename_list), 0, 0, 1, 1},
  {&__pyx_n_s_filename_table, __pyx_k_filename_table, sizeof(__pyx_k_filename_table), 0, 0, 1, 1},
  {&__pyx_n_s_fileobj, __pyx_k_fileobj, sizeof(__pyx_k_fileobj), 0, 0, 1, 1},
  {&__pyx_n_s_files, __pyx_k_files, sizeof(__pyx_k_files), 0, 0, 1, 1},
  {&__pyx_n_s_filetable_cname, __pyx_k_filetable_cname, sizeof(__pyx_k_filetable_cname), 0, 0, 1, 1},
  {&__pyx_n_s_finalize_main_c_code, __pyx_k_finalize_main_c_code, sizeof(__pyx_k_finalize_main_c_code), 0, 0, 1, 1},
  {&__pyx_n_s_findall, __pyx_k_findall, sizeof(__pyx_k_findall), 0, 0, 1, 1},
  {&__pyx_n_s_fix_indent, __pyx_k_fix_indent, sizeof(__pyx_k_fix_indent), 0, 0, 1, 1},
  {&__pyx_n_s_float, __pyx_k_float, sizeof(__pyx_k_float), 0, 0, 1, 1},
  {&__pyx_n_s_format_code, __pyx_k_format_code, sizeof(__pyx_k_format_code), 0, 0, 1, 1},
  {&__pyx_n_s_format_tuple, __pyx_k_format_tuple, sizeof(__pyx_k_format_tuple), 0, 0, 1, 1},
  {&__pyx_n_s_freelist, __pyx_k_freelist, sizeof(__pyx_k_freelist), 0, 0, 1, 1},
  {&__pyx_n_s_from_closure, __pyx_k_from_closure, sizeof(__pyx_k_from_closure), 0, 0, 1, 1},
  {&__pyx_n_s_from_file, __pyx_k_from_file, sizeof(__pyx_k_from_file), 0, 0, 1, 1},
  {&__pyx_n_s_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 0, 1, 1},
  {&__pyx_n_s_func_cname, __pyx_k_func_cname, sizeof(__pyx_k_func_cname), 0, 0, 1, 1},
  {&__pyx_n_s_func_context, __pyx_k_func_context, sizeof(__pyx_k_func_context), 0, 0, 1, 1},
  {&__pyx_n_s_funccontext_property, __pyx_k_funccontext_property, sizeof(__pyx_k_funccontext_property), 0, 0, 1, 1},
  {&__pyx_n_s_funccontext_property_locals_get, __pyx_k_funccontext_property_locals_get, sizeof(__pyx_k_funccontext_property_locals_get), 0, 0, 1, 1},
  {&__pyx_n_s_funccontext_property_locals_set, __pyx_k_funccontext_property_locals_set, sizeof(__pyx_k_funccontext_property_locals_set), 0, 0, 1, 1},
  {&__pyx_n_s_funcstate, __pyx_k_funcstate, sizeof(__pyx_k_funcstate), 0, 0, 1, 1},
  {&__pyx_n_s_function, __pyx_k_function, sizeof(__pyx_k_function), 0, 0, 1, 1},
  {&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1},
  {&__pyx_n_s_gcc_branch_hints, __pyx_k_gcc_branch_hints, sizeof(__pyx_k_gcc_branch_hints), 0, 0, 1, 1},
  {&__pyx_n_s_generate_cached_methods_decls, __pyx_k_generate_cached_methods_decls, sizeof(__pyx_k_generate_cached_methods_decls), 0, 0, 1, 1},
  {&__pyx_n_s_generate_cleanup_code, __pyx_k_generate_cleanup_code, sizeof(__pyx_k_generate_cleanup_code), 0, 0, 1, 1},
  {&__pyx_n_s_generate_const_declarations, __pyx_k_generate_const_declarations, sizeof(__pyx_k_generate_const_declarations), 0, 0, 1, 1},
  {&__pyx_n_s_generate_num_constants, __pyx_k_generate_num_constants, sizeof(__pyx_k_generate_num_constants), 0, 0, 1, 1},
  {&__pyx_n_s_generate_object_constant_decls, __pyx_k_generate_object_constant_decls, sizeof(__pyx_k_generate_object_constant_decls), 0, 0, 1, 1},
  {&__pyx_n_s_generate_string_constants, __pyx_k_generate_string_constants, sizeof(__pyx_k_generate_string_constants), 0, 0, 1, 1},
  {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
  {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
  {&__pyx_n_s_get_all_labels, __pyx_k_get_all_labels, sizeof(__pyx_k_get_all_labels), 0, 0, 1, 1},
  {&__pyx_n_s_get_argument_default_const, __pyx_k_get_argument_default_const, sizeof(__pyx_k_get_argument_default_const), 0, 0, 1, 1},
  {&__pyx_n_s_get_cached_constants_writer, __pyx_k_get_cached_constants_writer, sizeof(__pyx_k_get_cached_constants_writer), 0, 0, 1, 1},
  {&__pyx_n_s_get_cached_unbound_method, __pyx_k_get_cached_unbound_method, sizeof(__pyx_k_get_cached_unbound_method), 0, 0, 1, 1},
  {&__pyx_n_s_get_escaped_description, __pyx_k_get_escaped_description, sizeof(__pyx_k_get_escaped_description), 0, 0, 1, 1},
  {&__pyx_n_s_get_filenametable_entry, __pyx_k_get_filenametable_entry, sizeof(__pyx_k_get_filenametable_entry), 0, 0, 1, 1},
  {&__pyx_n_s_get_float_const, __pyx_k_get_float_const, sizeof(__pyx_k_get_float_const), 0, 0, 1, 1},
  {&__pyx_n_s_get_int_const, __pyx_k_get_int_const, sizeof(__pyx_k_get_int_const), 0, 0, 1, 1},
  {&__pyx_n_s_get_interned_identifier, __pyx_k_get_interned_identifier, sizeof(__pyx_k_get_interned_identifier), 0, 0, 1, 1},
  {&__pyx_n_s_get_lines, __pyx_k_get_lines, sizeof(__pyx_k_get_lines), 0, 0, 1, 1},
  {&__pyx_n_s_get_loop_labels, __pyx_k_get_loop_labels, sizeof(__pyx_k_get_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_get_py_const, __pyx_k_get_py_const, sizeof(__pyx_k_get_py_const), 0, 0, 1, 1},
  {&__pyx_n_s_get_py_float, __pyx_k_get_py_float, sizeof(__pyx_k_get_py_float), 0, 0, 1, 1},
  {&__pyx_n_s_get_py_int, __pyx_k_get_py_int, sizeof(__pyx_k_get_py_int), 0, 0, 1, 1},
  {&__pyx_n_s_get_py_string_const, __pyx_k_get_py_string_const, sizeof(__pyx_k_get_py_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_get_py_version_hex, __pyx_k_get_py_version_hex, sizeof(__pyx_k_get_py_version_hex), 0, 0, 1, 1},
  {&__pyx_n_s_get_pyunicode_ptr_const, __pyx_k_get_pyunicode_ptr_const, sizeof(__pyx_k_get_pyunicode_ptr_const), 0, 0, 1, 1},
  {&__pyx_n_s_get_string_const, __pyx_k_get_string_const, sizeof(__pyx_k_get_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_get_tree, __pyx_k_get_tree, sizeof(__pyx_k_get_tree), 0, 0, 1, 1},
  {&__pyx_n_s_get_utility_dir, __pyx_k_get_utility_dir, sizeof(__pyx_k_get_utility_dir), 0, 0, 1, 1},
  {&__pyx_n_s_getattr, __pyx_k_getattr, sizeof(__pyx_k_getattr), 0, 0, 1, 1},
  {&__pyx_n_s_getattribute, __pyx_k_getattribute, sizeof(__pyx_k_getattribute), 0, 0, 1, 1},
  {&__pyx_n_s_getbuffer, __pyx_k_getbuffer, sizeof(__pyx_k_getbuffer), 0, 0, 1, 1},
  {&__pyx_n_s_getcharbuffer, __pyx_k_getcharbuffer, sizeof(__pyx_k_getcharbuffer), 0, 0, 1, 1},
  {&__pyx_n_s_getitem, __pyx_k_getitem, sizeof(__pyx_k_getitem), 0, 0, 1, 1},
  {&__pyx_n_s_getpid, __pyx_k_getpid, sizeof(__pyx_k_getpid), 0, 0, 1, 1},
  {&__pyx_n_s_getreadbuffer, __pyx_k_getreadbuffer, sizeof(__pyx_k_getreadbuffer), 0, 0, 1, 1},
  {&__pyx_n_s_getsegcount, __pyx_k_getsegcount, sizeof(__pyx_k_getsegcount), 0, 0, 1, 1},
  {&__pyx_n_s_getvalue, __pyx_k_getvalue, sizeof(__pyx_k_getvalue), 0, 0, 1, 1},
  {&__pyx_n_s_getwritebuffer, __pyx_k_getwritebuffer, sizeof(__pyx_k_getwritebuffer), 0, 0, 1, 1},
  {&__pyx_n_s_gil_owned, __pyx_k_gil_owned, sizeof(__pyx_k_gil_owned), 0, 0, 1, 1},
  {&__pyx_n_s_global_state, __pyx_k_global_state, sizeof(__pyx_k_global_state), 0, 0, 1, 1},
  {&__pyx_n_s_global_var, __pyx_k_global_var, sizeof(__pyx_k_global_var), 0, 0, 1, 1},
  {&__pyx_n_s_globalstate, __pyx_k_globalstate, sizeof(__pyx_k_globalstate), 0, 0, 1, 1},
  {&__pyx_kp_s_goto_s, __pyx_k_goto_s, sizeof(__pyx_k_goto_s), 0, 0, 1, 0},
  {&__pyx_n_s_group, __pyx_k_group, sizeof(__pyx_k_group), 0, 0, 1, 1},
  {&__pyx_n_s_groups, __pyx_k_groups, sizeof(__pyx_k_groups), 0, 0, 1, 1},
  {&__pyx_n_s_guard, __pyx_k_guard, sizeof(__pyx_k_guard), 0, 0, 1, 1},
  {&__pyx_n_s_h_code, __pyx_k_h_code, sizeof(__pyx_k_h_code), 0, 0, 1, 1},
  {&__pyx_n_s_hash, __pyx_k_hash, sizeof(__pyx_k_hash), 0, 0, 1, 1},
  {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1},
  {&__pyx_n_s_have_gil, __pyx_k_have_gil, sizeof(__pyx_k_have_gil), 0, 0, 1, 1},
  {&__pyx_n_s_helper, __pyx_k_helper, sizeof(__pyx_k_helper), 0, 0, 1, 1},
  {&__pyx_n_s_hexdigest, __pyx_k_hexdigest, sizeof(__pyx_k_hexdigest), 0, 0, 1, 1},
  {&__pyx_n_s_identifier, __pyx_k_identifier, sizeof(__pyx_k_identifier), 0, 0, 1, 1},
  {&__pyx_kp_s_if_PY_MAJOR_VERSION_3, __pyx_k_if_PY_MAJOR_VERSION_3, sizeof(__pyx_k_if_PY_MAJOR_VERSION_3), 0, 0, 1, 0},
  {&__pyx_kp_s_if_PY_MAJOR_VERSION_s_3, __pyx_k_if_PY_MAJOR_VERSION_s_3, sizeof(__pyx_k_if_PY_MAJOR_VERSION_s_3), 0, 0, 1, 0},
  {&__pyx_kp_s_if___Pyx_InitStrings_s_0_s, __pyx_k_if___Pyx_InitStrings_s_0_s, sizeof(__pyx_k_if___Pyx_InitStrings_s_0_s), 0, 0, 1, 0},
  {&__pyx_kp_s_if_s, __pyx_k_if_s, sizeof(__pyx_k_if_s), 0, 0, 1, 0},
  {&__pyx_kp_s_if_s_0_s, __pyx_k_if_s_0_s, sizeof(__pyx_k_if_s_0_s), 0, 0, 1, 0},
  {&__pyx_kp_s_if_s_s, __pyx_k_if_s_s, sizeof(__pyx_k_if_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_if_unlikely_s_s_s_s, __pyx_k_if_unlikely_s_s_s_s, sizeof(__pyx_k_if_unlikely_s_s_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_ifdef_Py_UNICODE_WIDE, __pyx_k_ifdef_Py_UNICODE_WIDE, sizeof(__pyx_k_ifdef_Py_UNICODE_WIDE), 0, 0, 1, 0},
  {&__pyx_kp_s_ifdef_WITH_THREAD, __pyx_k_ifdef_WITH_THREAD, sizeof(__pyx_k_ifdef_WITH_THREAD), 0, 0, 1, 0},
  {&__pyx_kp_s_ifdef__OPENMP, __pyx_k_ifdef__OPENMP, sizeof(__pyx_k_ifdef__OPENMP), 0, 0, 1, 0},
  {&__pyx_kp_s_ifndef_s, __pyx_k_ifndef_s, sizeof(__pyx_k_ifndef_s), 0, 0, 1, 0},
  {&__pyx_n_s_ignore, __pyx_k_ignore, sizeof(__pyx_k_ignore), 0, 0, 1, 1},
  {&__pyx_n_s_impl, __pyx_k_impl, sizeof(__pyx_k_impl), 0, 0, 1, 1},
  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
  {&__pyx_n_s_in_closure, __pyx_k_in_closure, sizeof(__pyx_k_in_closure), 0, 0, 1, 1},
  {&__pyx_n_s_in_nogil_context, __pyx_k_in_nogil_context, sizeof(__pyx_k_in_nogil_context), 0, 0, 1, 1},
  {&__pyx_n_s_in_utility_code_generation, __pyx_k_in_utility_code_generation, sizeof(__pyx_k_in_utility_code_generation), 0, 0, 1, 1},
  {&__pyx_n_s_include_dir, __pyx_k_include_dir, sizeof(__pyx_k_include_dir), 0, 0, 1, 1},
  {&__pyx_n_s_include_file, __pyx_k_include_file, sizeof(__pyx_k_include_file), 0, 0, 1, 1},
  {&__pyx_kp_s_include_s, __pyx_k_include_s, sizeof(__pyx_k_include_s), 0, 0, 1, 0},
  {&__pyx_n_s_increase_indent, __pyx_k_increase_indent, sizeof(__pyx_k_increase_indent), 0, 0, 1, 1},
  {&__pyx_n_s_indent, __pyx_k_indent, sizeof(__pyx_k_indent), 0, 0, 1, 1},
  {&__pyx_n_s_indent_level, __pyx_k_indent_level, sizeof(__pyx_k_indent_level), 0, 0, 1, 1},
  {&__pyx_n_s_indenter, __pyx_k_indenter, sizeof(__pyx_k_indenter), 0, 0, 1, 1},
  {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
  {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
  {&__pyx_n_s_init_2, __pyx_k_init_2, sizeof(__pyx_k_init_2), 0, 0, 1, 1},
  {&__pyx_n_s_init_closure_temps, __pyx_k_init_closure_temps, sizeof(__pyx_k_init_closure_temps), 0, 0, 1, 1},
  {&__pyx_n_s_init_globals, __pyx_k_init_globals, sizeof(__pyx_k_init_globals), 0, 0, 1, 1},
  {&__pyx_n_s_init_module, __pyx_k_init_module, sizeof(__pyx_k_init_module), 0, 0, 1, 1},
  {&__pyx_n_s_initialize_main_c_code, __pyx_k_initialize_main_c_code, sizeof(__pyx_k_initialize_main_c_code), 0, 0, 1, 1},
  {&__pyx_n_s_inject_string_constants, __pyx_k_inject_string_constants, sizeof(__pyx_k_inject_string_constants), 0, 0, 1, 1},
  {&__pyx_n_s_inject_unbound_methods, __pyx_k_inject_unbound_methods, sizeof(__pyx_k_inject_unbound_methods), 0, 0, 1, 1},
  {&__pyx_n_s_inline, __pyx_k_inline, sizeof(__pyx_k_inline), 0, 0, 1, 1},
  {&__pyx_n_s_input, __pyx_k_input, sizeof(__pyx_k_input), 0, 0, 1, 1},
  {&__pyx_n_s_input_file_contents, __pyx_k_input_file_contents, sizeof(__pyx_k_input_file_contents), 0, 0, 1, 1},
  {&__pyx_n_s_insert, __pyx_k_insert, sizeof(__pyx_k_insert), 0, 0, 1, 1},
  {&__pyx_kp_u_inserted_by_cython_to_avoid_com, __pyx_k_inserted_by_cython_to_avoid_com, sizeof(__pyx_k_inserted_by_cython_to_avoid_com), 0, 1, 0, 0},
  {&__pyx_kp_u_inserted_by_cython_to_avoid_com_2, __pyx_k_inserted_by_cython_to_avoid_com_2, sizeof(__pyx_k_inserted_by_cython_to_avoid_com_2), 0, 1, 0, 0},
  {&__pyx_n_s_insertion_point, __pyx_k_insertion_point, sizeof(__pyx_k_insertion_point), 0, 0, 1, 1},
  {&__pyx_n_s_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1},
  {&__pyx_n_s_intern, __pyx_k_intern, sizeof(__pyx_k_intern), 0, 0, 1, 1},
  {&__pyx_n_s_intern_identifier, __pyx_k_intern_identifier, sizeof(__pyx_k_intern_identifier), 0, 0, 1, 1},
  {&__pyx_n_s_interned_cname, __pyx_k_interned_cname, sizeof(__pyx_k_interned_cname), 0, 0, 1, 1},
  {&__pyx_n_s_interned_prefixes, __pyx_k_interned_prefixes, sizeof(__pyx_k_interned_prefixes), 0, 0, 1, 1},
  {&__pyx_n_s_is_builtin, __pyx_k_is_builtin, sizeof(__pyx_k_is_builtin), 0, 0, 1, 1},
  {&__pyx_n_s_is_cdef, __pyx_k_is_cdef, sizeof(__pyx_k_is_cdef), 0, 0, 1, 1},
  {&__pyx_n_s_is_complete, __pyx_k_is_complete, sizeof(__pyx_k_is_complete), 0, 0, 1, 1},
  {&__pyx_n_s_is_const, __pyx_k_is_const, sizeof(__pyx_k_is_const), 0, 0, 1, 1},
  {&__pyx_n_s_is_cython_utility, __pyx_k_is_cython_utility, sizeof(__pyx_k_is_cython_utility), 0, 0, 1, 1},
  {&__pyx_n_s_is_extension_type, __pyx_k_is_extension_type, sizeof(__pyx_k_is_extension_type), 0, 0, 1, 1},
  {&__pyx_n_s_is_fake_reference, __pyx_k_is_fake_reference, sizeof(__pyx_k_is_fake_reference), 0, 0, 1, 1},
  {&__pyx_n_s_is_memoryviewslice, __pyx_k_is_memoryviewslice, sizeof(__pyx_k_is_memoryviewslice), 0, 0, 1, 1},
  {&__pyx_n_s_is_pyobject, __pyx_k_is_pyobject, sizeof(__pyx_k_is_pyobject), 0, 0, 1, 1},
  {&__pyx_n_s_is_reference, __pyx_k_is_reference, sizeof(__pyx_k_is_reference), 0, 0, 1, 1},
  {&__pyx_n_s_is_self_arg, __pyx_k_is_self_arg, sizeof(__pyx_k_is_self_arg), 0, 0, 1, 1},
  {&__pyx_n_s_is_self_assignment, __pyx_k_is_self_assignment, sizeof(__pyx_k_is_self_assignment), 0, 0, 1, 1},
  {&__pyx_n_s_is_special, __pyx_k_is_special, sizeof(__pyx_k_is_special), 0, 0, 1, 1},
  {&__pyx_n_s_is_specialised1, __pyx_k_is_specialised1, sizeof(__pyx_k_is_specialised1), 0, 0, 1, 1},
  {&__pyx_n_s_is_specialised2, __pyx_k_is_specialised2, sizeof(__pyx_k_is_specialised2), 0, 0, 1, 1},
  {&__pyx_n_s_is_str, __pyx_k_is_str, sizeof(__pyx_k_is_str), 0, 0, 1, 1},
  {&__pyx_n_s_is_unicode, __pyx_k_is_unicode, sizeof(__pyx_k_is_unicode), 0, 0, 1, 1},
  {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
  {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
  {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
  {&__pyx_n_s_klass, __pyx_k_klass, sizeof(__pyx_k_klass), 0, 0, 1, 1},
  {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
  {&__pyx_n_s_label, __pyx_k_label, sizeof(__pyx_k_label), 0, 0, 1, 1},
  {&__pyx_n_s_label_counter, __pyx_k_label_counter, sizeof(__pyx_k_label_counter), 0, 0, 1, 1},
  {&__pyx_n_s_label_prefix, __pyx_k_label_prefix, sizeof(__pyx_k_label_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_label_used, __pyx_k_label_used, sizeof(__pyx_k_label_used), 0, 0, 1, 1},
  {&__pyx_n_s_labels, __pyx_k_labels, sizeof(__pyx_k_labels), 0, 0, 1, 1},
  {&__pyx_n_s_labels_used, __pyx_k_labels_used, sizeof(__pyx_k_labels_used), 0, 0, 1, 1},
  {&__pyx_n_s_last_marked_pos, __pyx_k_last_marked_pos, sizeof(__pyx_k_last_marked_pos), 0, 0, 1, 1},
  {&__pyx_n_s_last_pos, __pyx_k_last_pos, sizeof(__pyx_k_last_pos), 0, 0, 1, 1},
  {&__pyx_kp_s_lazy, __pyx_k_lazy, sizeof(__pyx_k_lazy), 0, 0, 1, 0},
  {&__pyx_n_s_lbl, __pyx_k_lbl, sizeof(__pyx_k_lbl), 0, 0, 1, 1},
  {&__pyx_n_s_level, __pyx_k_level, sizeof(__pyx_k_level), 0, 0, 1, 1},
  {&__pyx_n_s_levels, __pyx_k_levels, sizeof(__pyx_k_levels), 0, 0, 1, 1},
  {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1},
  {&__pyx_kp_s_line_1_cython_utility, __pyx_k_line_1_cython_utility, sizeof(__pyx_k_line_1_cython_utility), 0, 0, 1, 0},
  {&__pyx_n_s_line_c_macro, __pyx_k_line_c_macro, sizeof(__pyx_k_line_c_macro), 0, 0, 1, 1},
  {&__pyx_kp_s_line_s_s, __pyx_k_line_s_s, sizeof(__pyx_k_line_s_s), 0, 0, 1, 0},
  {&__pyx_n_s_lineno, __pyx_k_lineno, sizeof(__pyx_k_lineno), 0, 0, 1, 1},
  {&__pyx_n_s_lineno_cname, __pyx_k_lineno_cname, sizeof(__pyx_k_lineno_cname), 0, 0, 1, 1},
  {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1},
  {&__pyx_n_s_linetrace, __pyx_k_linetrace, sizeof(__pyx_k_linetrace), 0, 0, 1, 1},
  {&__pyx_n_s_listdir, __pyx_k_listdir, sizeof(__pyx_k_listdir), 0, 0, 1, 1},
  {&__pyx_n_s_listing, __pyx_k_listing, sizeof(__pyx_k_listing), 0, 0, 1, 1},
  {&__pyx_n_s_literal_code, __pyx_k_literal_code, sizeof(__pyx_k_literal_code), 0, 0, 1, 1},
  {&__pyx_n_s_load, __pyx_k_load, sizeof(__pyx_k_load), 0, 0, 1, 1},
  {&__pyx_n_s_load_as_string, __pyx_k_load_as_string, sizeof(__pyx_k_load_as_string), 0, 0, 1, 1},
  {&__pyx_n_s_load_cached, __pyx_k_load_cached, sizeof(__pyx_k_load_cached), 0, 0, 1, 1},
  {&__pyx_n_s_load_utilities_from_file, __pyx_k_load_utilities_from_file, sizeof(__pyx_k_load_utilities_from_file), 0, 0, 1, 1},
  {&__pyx_n_s_loader, __pyx_k_loader, sizeof(__pyx_k_loader), 0, 0, 1, 1},
  {&__pyx_n_s_loader_2, __pyx_k_loader_2, sizeof(__pyx_k_loader_2), 0, 0, 1, 1},
  {&__pyx_n_s_long, __pyx_k_long, sizeof(__pyx_k_long), 0, 0, 1, 1},
  {&__pyx_n_s_long_literal, __pyx_k_long_literal, sizeof(__pyx_k_long_literal), 0, 0, 1, 1},
  {&__pyx_n_s_longness, __pyx_k_longness, sizeof(__pyx_k_longness), 0, 0, 1, 1},
  {&__pyx_n_s_lookup_filename, __pyx_k_lookup_filename, sizeof(__pyx_k_lookup_filename), 0, 0, 1, 1},
  {&__pyx_n_s_lower, __pyx_k_lower, sizeof(__pyx_k_lower), 0, 0, 1, 1},
  {&__pyx_n_s_lstrip, __pyx_k_lstrip, sizeof(__pyx_k_lstrip), 0, 0, 1, 1},
  {&__pyx_n_s_lt, __pyx_k_lt, sizeof(__pyx_k_lt), 0, 0, 1, 1},
  {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1},
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
  {&__pyx_n_s_main_method, __pyx_k_main_method, sizeof(__pyx_k_main_method), 0, 0, 1, 1},
  {&__pyx_n_s_manage_ref, __pyx_k_manage_ref, sizeof(__pyx_k_manage_ref), 0, 0, 1, 1},
  {&__pyx_n_s_mapper, __pyx_k_mapper, sizeof(__pyx_k_mapper), 0, 0, 1, 1},
  {&__pyx_n_s_mark_pos, __pyx_k_mark_pos, sizeof(__pyx_k_mark_pos), 0, 0, 1, 1},
  {&__pyx_n_s_markers, __pyx_k_markers, sizeof(__pyx_k_markers), 0, 0, 1, 1},
  {&__pyx_n_s_match, __pyx_k_match, sizeof(__pyx_k_match), 0, 0, 1, 1},
  {&__pyx_n_s_match_special, __pyx_k_match_special, sizeof(__pyx_k_match_special), 0, 0, 1, 1},
  {&__pyx_n_s_match_type, __pyx_k_match_type, sizeof(__pyx_k_match_type), 0, 0, 1, 1},
  {&__pyx_n_s_matchobj, __pyx_k_matchobj, sizeof(__pyx_k_matchobj), 0, 0, 1, 1},
  {&__pyx_n_s_md5, __pyx_k_md5, sizeof(__pyx_k_md5), 0, 0, 1, 1},
  {&__pyx_n_s_memslice_entry_init, __pyx_k_memslice_entry_init, sizeof(__pyx_k_memslice_entry_init), 0, 0, 1, 1},
  {&__pyx_n_s_memviewslice_init_code, __pyx_k_memviewslice_init_code, sizeof(__pyx_k_memviewslice_init_code), 0, 0, 1, 1},
  {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
  {&__pyx_n_s_method_coexist, __pyx_k_method_coexist, sizeof(__pyx_k_method_coexist), 0, 0, 1, 1},
  {&__pyx_n_s_method_flags, __pyx_k_method_flags, sizeof(__pyx_k_method_flags), 0, 0, 1, 1},
  {&__pyx_n_s_method_name, __pyx_k_method_name, sizeof(__pyx_k_method_name), 0, 0, 1, 1},
  {&__pyx_n_s_method_name_cname, __pyx_k_method_name_cname, sizeof(__pyx_k_method_name_cname), 0, 0, 1, 1},
  {&__pyx_n_s_modifier_output_mapper, __pyx_k_modifier_output_mapper, sizeof(__pyx_k_modifier_output_mapper), 0, 0, 1, 1},
  {&__pyx_n_s_modifiers, __pyx_k_modifiers, sizeof(__pyx_k_modifiers), 0, 0, 1, 1},
  {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
  {&__pyx_n_s_module_declarations, __pyx_k_module_declarations, sizeof(__pyx_k_module_declarations), 0, 0, 1, 1},
  {&__pyx_n_s_module_node, __pyx_k_module_node, sizeof(__pyx_k_module_node), 0, 0, 1, 1},
  {&__pyx_n_s_module_pos, __pyx_k_module_pos, sizeof(__pyx_k_module_pos), 0, 0, 1, 1},
  {&__pyx_n_s_mtype, __pyx_k_mtype, sizeof(__pyx_k_mtype), 0, 0, 1, 1},
  {&__pyx_kp_s_n_n, __pyx_k_n_n, sizeof(__pyx_k_n_n), 0, 0, 1, 0},
  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
  {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
  {&__pyx_n_s_name_3, __pyx_k_name_3, sizeof(__pyx_k_name_3), 0, 0, 1, 1},
  {&__pyx_n_s_name_suffix, __pyx_k_name_suffix, sizeof(__pyx_k_name_suffix), 0, 0, 1, 1},
  {&__pyx_n_s_named_insertion_point, __pyx_k_named_insertion_point, sizeof(__pyx_k_named_insertion_point), 0, 0, 1, 1},
  {&__pyx_n_s_namelist, __pyx_k_namelist, sizeof(__pyx_k_namelist), 0, 0, 1, 1},
  {&__pyx_n_s_names_taken, __pyx_k_names_taken, sizeof(__pyx_k_names_taken), 0, 0, 1, 1},
  {&__pyx_n_s_naming, __pyx_k_naming, sizeof(__pyx_k_naming), 0, 0, 1, 1},
  {&__pyx_n_s_nanny, __pyx_k_nanny, sizeof(__pyx_k_nanny), 0, 0, 1, 1},
  {&__pyx_n_s_neg, __pyx_k_neg, sizeof(__pyx_k_neg), 0, 0, 1, 1},
  {&__pyx_n_s_new_const_cname, __pyx_k_new_const_cname, sizeof(__pyx_k_new_const_cname), 0, 0, 1, 1},
  {&__pyx_n_s_new_error_label, __pyx_k_new_error_label, sizeof(__pyx_k_new_error_label), 0, 0, 1, 1},
  {&__pyx_n_s_new_label, __pyx_k_new_label, sizeof(__pyx_k_new_label), 0, 0, 1, 1},
  {&__pyx_n_s_new_labels, __pyx_k_new_labels, sizeof(__pyx_k_new_labels), 0, 0, 1, 1},
  {&__pyx_n_s_new_loop_labels, __pyx_k_new_loop_labels, sizeof(__pyx_k_new_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_new_num_const, __pyx_k_new_num_const, sizeof(__pyx_k_new_num_const), 0, 0, 1, 1},
  {&__pyx_n_s_new_num_const_cname, __pyx_k_new_num_const_cname, sizeof(__pyx_k_new_num_const_cname), 0, 0, 1, 1},
  {&__pyx_n_s_new_py_const, __pyx_k_new_py_const, sizeof(__pyx_k_new_py_const), 0, 0, 1, 1},
  {&__pyx_n_s_new_string_const, __pyx_k_new_string_const, sizeof(__pyx_k_new_string_const), 0, 0, 1, 1},
  {&__pyx_n_s_new_string_const_cname, __pyx_k_new_string_const_cname, sizeof(__pyx_k_new_string_const_cname), 0, 0, 1, 1},
  {&__pyx_n_s_new_writer, __pyx_k_new_writer, sizeof(__pyx_k_new_writer), 0, 0, 1, 1},
  {&__pyx_n_s_new_yield_label, __pyx_k_new_yield_label, sizeof(__pyx_k_new_yield_label), 0, 0, 1, 1},
  {&__pyx_n_s_next, __pyx_k_next, sizeof(__pyx_k_next), 0, 0, 1, 1},
  {&__pyx_n_s_nogil, __pyx_k_nogil, sizeof(__pyx_k_nogil), 0, 0, 1, 1},
  {&__pyx_n_s_non_portable_builtins_map, __pyx_k_non_portable_builtins_map, sizeof(__pyx_k_non_portable_builtins_map), 0, 0, 1, 1},
  {&__pyx_n_s_none_or_sub, __pyx_k_none_or_sub, sizeof(__pyx_k_none_or_sub), 0, 0, 1, 1},
  {&__pyx_n_s_null_check, __pyx_k_null_check, sizeof(__pyx_k_null_check), 0, 0, 1, 1},
  {&__pyx_n_s_num_and_label, __pyx_k_num_and_label, sizeof(__pyx_k_num_and_label), 0, 0, 1, 1},
  {&__pyx_n_s_num_const_index, __pyx_k_num_const_index, sizeof(__pyx_k_num_const_index), 0, 0, 1, 1},
  {&__pyx_n_s_numeric_typedefs, __pyx_k_numeric_typedefs, sizeof(__pyx_k_numeric_typedefs), 0, 0, 1, 1},
  {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1},
  {&__pyx_n_s_old_err_lbl, __pyx_k_old_err_lbl, sizeof(__pyx_k_old_err_lbl), 0, 0, 1, 1},
  {&__pyx_n_s_old_label, __pyx_k_old_label, sizeof(__pyx_k_old_label), 0, 0, 1, 1},
  {&__pyx_n_s_old_labels, __pyx_k_old_labels, sizeof(__pyx_k_old_labels), 0, 0, 1, 1},
  {&__pyx_n_s_open_new_file, __pyx_k_open_new_file, sizeof(__pyx_k_open_new_file), 0, 0, 1, 1},
  {&__pyx_n_s_open_source_file, __pyx_k_open_source_file, sizeof(__pyx_k_open_source_file), 0, 0, 1, 1},
  {&__pyx_n_s_operator, __pyx_k_operator, sizeof(__pyx_k_operator), 0, 0, 1, 1},
  {&__pyx_n_s_orig_kwargs, __pyx_k_orig_kwargs, sizeof(__pyx_k_orig_kwargs), 0, 0, 1, 1},
  {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1},
  {&__pyx_n_s_other, __pyx_k_other, sizeof(__pyx_k_other), 0, 0, 1, 1},
  {&__pyx_n_s_other_proto, __pyx_k_other_proto, sizeof(__pyx_k_other_proto), 0, 0, 1, 1},
  {&__pyx_n_s_other_type, __pyx_k_other_type, sizeof(__pyx_k_other_type), 0, 0, 1, 1},
  {&__pyx_n_s_outfile_name, __pyx_k_outfile_name, sizeof(__pyx_k_outfile_name), 0, 0, 1, 1},
  {&__pyx_n_s_output, __pyx_k_output, sizeof(__pyx_k_output), 0, 0, 1, 1},
  {&__pyx_n_s_owner, __pyx_k_owner, sizeof(__pyx_k_owner), 0, 0, 1, 1},
  {&__pyx_n_s_part, __pyx_k_part, sizeof(__pyx_k_part), 0, 0, 1, 1},
  {&__pyx_n_s_partial, __pyx_k_partial, sizeof(__pyx_k_partial), 0, 0, 1, 1},
  {&__pyx_n_s_parts, __pyx_k_parts, sizeof(__pyx_k_parts), 0, 0, 1, 1},
  {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1},
  {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},
  {&__pyx_n_s_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 0, 1, 1},
  {&__pyx_n_s_prefix, __pyx_k_prefix, sizeof(__pyx_k_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
  {&__pyx_n_s_private, __pyx_k_private, sizeof(__pyx_k_private), 0, 0, 1, 1},
  {&__pyx_n_s_property, __pyx_k_property, sizeof(__pyx_k_property), 0, 0, 1, 1},
  {&__pyx_n_s_proto, __pyx_k_proto, sizeof(__pyx_k_proto), 0, 0, 1, 1},
  {&__pyx_kp_s_proto_2, __pyx_k_proto_2, sizeof(__pyx_k_proto_2), 0, 0, 1, 0},
  {&__pyx_kp_s_proto_S_impl_init_cleanup, __pyx_k_proto_S_impl_init_cleanup, sizeof(__pyx_k_proto_S_impl_init_cleanup), 0, 0, 1, 0},
  {&__pyx_n_s_proto_block, __pyx_k_proto_block, sizeof(__pyx_k_proto_block), 0, 0, 1, 1},
  {&__pyx_n_s_put, __pyx_k_put, sizeof(__pyx_k_put), 0, 0, 1, 1},
  {&__pyx_n_s_put_acquire_gil, __pyx_k_put_acquire_gil, sizeof(__pyx_k_put_acquire_gil), 0, 0, 1, 1},
  {&__pyx_n_s_put_add_traceback, __pyx_k_put_add_traceback, sizeof(__pyx_k_put_add_traceback), 0, 0, 1, 1},
  {&__pyx_n_s_put_cached_builtin_init, __pyx_k_put_cached_builtin_init, sizeof(__pyx_k_put_cached_builtin_init), 0, 0, 1, 1},
  {&__pyx_n_s_put_chunk, __pyx_k_put_chunk, sizeof(__pyx_k_put_chunk), 0, 0, 1, 1},
  {&__pyx_n_s_put_code, __pyx_k_put_code, sizeof(__pyx_k_put_code), 0, 0, 1, 1},
  {&__pyx_n_s_put_declare_refcount_context, __pyx_k_put_declare_refcount_context, sizeof(__pyx_k_put_declare_refcount_context), 0, 0, 1, 1},
  {&__pyx_n_s_put_decref, __pyx_k_put_decref, sizeof(__pyx_k_put_decref), 0, 0, 1, 1},
  {&__pyx_n_s_put_decref_2, __pyx_k_put_decref_2, sizeof(__pyx_k_put_decref_2), 0, 0, 1, 1},
  {&__pyx_n_s_put_decref_clear, __pyx_k_put_decref_clear, sizeof(__pyx_k_put_decref_clear), 0, 0, 1, 1},
  {&__pyx_n_s_put_decref_set, __pyx_k_put_decref_set, sizeof(__pyx_k_put_decref_set), 0, 0, 1, 1},
  {&__pyx_n_s_put_ensure_gil, __pyx_k_put_ensure_gil, sizeof(__pyx_k_put_ensure_gil), 0, 0, 1, 1},
  {&__pyx_n_s_put_error_if_neg, __pyx_k_put_error_if_neg, sizeof(__pyx_k_put_error_if_neg), 0, 0, 1, 1},
  {&__pyx_n_s_put_error_if_unbound, __pyx_k_put_error_if_unbound, sizeof(__pyx_k_put_error_if_unbound), 0, 0, 1, 1},
  {&__pyx_n_s_put_finish_refcount_context, __pyx_k_put_finish_refcount_context, sizeof(__pyx_k_put_finish_refcount_context), 0, 0, 1, 1},
  {&__pyx_n_s_put_generated_by, __pyx_k_put_generated_by, sizeof(__pyx_k_put_generated_by), 0, 0, 1, 1},
  {&__pyx_n_s_put_giveref, __pyx_k_put_giveref, sizeof(__pyx_k_put_giveref), 0, 0, 1, 1},
  {&__pyx_n_s_put_goto, __pyx_k_put_goto, sizeof(__pyx_k_put_goto), 0, 0, 1, 1},
  {&__pyx_n_s_put_gotref, __pyx_k_put_gotref, sizeof(__pyx_k_put_gotref), 0, 0, 1, 1},
  {&__pyx_n_s_put_h_guard, __pyx_k_put_h_guard, sizeof(__pyx_k_put_h_guard), 0, 0, 1, 1},
  {&__pyx_n_s_put_incref, __pyx_k_put_incref, sizeof(__pyx_k_put_incref), 0, 0, 1, 1},
  {&__pyx_n_s_put_incref_memoryviewslice, __pyx_k_put_incref_memoryviewslice, sizeof(__pyx_k_put_incref_memoryviewslice), 0, 0, 1, 1},
  {&__pyx_n_s_put_init_to_py_none, __pyx_k_put_init_to_py_none, sizeof(__pyx_k_put_init_to_py_none), 0, 0, 1, 1},
  {&__pyx_n_s_put_init_var_to_py_none, __pyx_k_put_init_var_to_py_none, sizeof(__pyx_k_put_init_var_to_py_none), 0, 0, 1, 1},
  {&__pyx_n_s_put_label, __pyx_k_put_label, sizeof(__pyx_k_put_label), 0, 0, 1, 1},
  {&__pyx_n_s_put_or_include, __pyx_k_put_or_include, sizeof(__pyx_k_put_or_include), 0, 0, 1, 1},
  {&__pyx_n_s_put_pymethoddef, __pyx_k_put_pymethoddef, sizeof(__pyx_k_put_pymethoddef), 0, 0, 1, 1},
  {&__pyx_n_s_put_pyobject_decl, __pyx_k_put_pyobject_decl, sizeof(__pyx_k_put_pyobject_decl), 0, 0, 1, 1},
  {&__pyx_n_s_put_release_ensured_gil, __pyx_k_put_release_ensured_gil, sizeof(__pyx_k_put_release_ensured_gil), 0, 0, 1, 1},
  {&__pyx_n_s_put_release_gil, __pyx_k_put_release_gil, sizeof(__pyx_k_put_release_gil), 0, 0, 1, 1},
  {&__pyx_n_s_put_safe, __pyx_k_put_safe, sizeof(__pyx_k_put_safe), 0, 0, 1, 1},
  {&__pyx_n_s_put_setup_refcount_context, __pyx_k_put_setup_refcount_context, sizeof(__pyx_k_put_setup_refcount_context), 0, 0, 1, 1},
  {&__pyx_n_s_put_temp_declarations, __pyx_k_put_temp_declarations, sizeof(__pyx_k_put_temp_declarations), 0, 0, 1, 1},
  {&__pyx_n_s_put_tempita, __pyx_k_put_tempita, sizeof(__pyx_k_put_tempita), 0, 0, 1, 1},
  {&__pyx_n_s_put_trace_call, __pyx_k_put_trace_call, sizeof(__pyx_k_put_trace_call), 0, 0, 1, 1},
  {&__pyx_n_s_put_trace_declarations, __pyx_k_put_trace_declarations, sizeof(__pyx_k_put_trace_declarations), 0, 0, 1, 1},
  {&__pyx_n_s_put_trace_exception, __pyx_k_put_trace_exception, sizeof(__pyx_k_put_trace_exception), 0, 0, 1, 1},
  {&__pyx_n_s_put_trace_frame_init, __pyx_k_put_trace_frame_init, sizeof(__pyx_k_put_trace_frame_init), 0, 0, 1, 1},
  {&__pyx_n_s_put_trace_return, __pyx_k_put_trace_return, sizeof(__pyx_k_put_trace_return), 0, 0, 1, 1},
  {&__pyx_n_s_put_unraisable, __pyx_k_put_unraisable, sizeof(__pyx_k_put_unraisable), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_declaration, __pyx_k_put_var_declaration, sizeof(__pyx_k_put_var_declaration), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_decref, __pyx_k_put_var_decref, sizeof(__pyx_k_put_var_decref), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_decref_clear, __pyx_k_put_var_decref_clear, sizeof(__pyx_k_put_var_decref_clear), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_decref_clear_2, __pyx_k_put_var_decref_clear_2, sizeof(__pyx_k_put_var_decref_clear_2), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_decrefs, __pyx_k_put_var_decrefs, sizeof(__pyx_k_put_var_decrefs), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_giveref, __pyx_k_put_var_giveref, sizeof(__pyx_k_put_var_giveref), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_gotref, __pyx_k_put_var_gotref, sizeof(__pyx_k_put_var_gotref), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_incref, __pyx_k_put_var_incref, sizeof(__pyx_k_put_var_incref), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_xdecref, __pyx_k_put_var_xdecref, sizeof(__pyx_k_put_var_xdecref), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_xdecref_clear, __pyx_k_put_var_xdecref_clear, sizeof(__pyx_k_put_var_xdecref_clear), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_xdecrefs, __pyx_k_put_var_xdecrefs, sizeof(__pyx_k_put_var_xdecrefs), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_xdecrefs_clear, __pyx_k_put_var_xdecrefs_clear, sizeof(__pyx_k_put_var_xdecrefs_clear), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_xgiveref, __pyx_k_put_var_xgiveref, sizeof(__pyx_k_put_var_xgiveref), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_xgotref, __pyx_k_put_var_xgotref, sizeof(__pyx_k_put_var_xgotref), 0, 0, 1, 1},
  {&__pyx_n_s_put_var_xincref, __pyx_k_put_var_xincref, sizeof(__pyx_k_put_var_xincref), 0, 0, 1, 1},
  {&__pyx_n_s_put_xdecref, __pyx_k_put_xdecref, sizeof(__pyx_k_put_xdecref), 0, 0, 1, 1},
  {&__pyx_n_s_put_xdecref_clear, __pyx_k_put_xdecref_clear, sizeof(__pyx_k_put_xdecref_clear), 0, 0, 1, 1},
  {&__pyx_n_s_put_xdecref_memoryviewslice, __pyx_k_put_xdecref_memoryviewslice, sizeof(__pyx_k_put_xdecref_memoryviewslice), 0, 0, 1, 1},
  {&__pyx_n_s_put_xdecref_set, __pyx_k_put_xdecref_set, sizeof(__pyx_k_put_xdecref_set), 0, 0, 1, 1},
  {&__pyx_n_s_put_xgiveref, __pyx_k_put_xgiveref, sizeof(__pyx_k_put_xgiveref), 0, 0, 1, 1},
  {&__pyx_n_s_put_xgiveref_memoryviewslice, __pyx_k_put_xgiveref_memoryviewslice, sizeof(__pyx_k_put_xgiveref_memoryviewslice), 0, 0, 1, 1},
  {&__pyx_n_s_put_xgotref, __pyx_k_put_xgotref, sizeof(__pyx_k_put_xgotref), 0, 0, 1, 1},
  {&__pyx_n_s_putln, __pyx_k_putln, sizeof(__pyx_k_putln), 0, 0, 1, 1},
  {&__pyx_n_s_putln_2, __pyx_k_putln_2, sizeof(__pyx_k_putln_2), 0, 0, 1, 1},
  {&__pyx_n_s_putln_openmp, __pyx_k_putln_openmp, sizeof(__pyx_k_putln_openmp), 0, 0, 1, 1},
  {&__pyx_n_s_putln_tempita, __pyx_k_putln_tempita, sizeof(__pyx_k_putln_tempita), 0, 0, 1, 1},
  {&__pyx_kp_s_pxd, __pyx_k_pxd, sizeof(__pyx_k_pxd), 0, 0, 1, 0},
  {&__pyx_kp_s_pxi, __pyx_k_pxi, sizeof(__pyx_k_pxi), 0, 0, 1, 0},
  {&__pyx_kp_s_py, __pyx_k_py, sizeof(__pyx_k_py), 0, 0, 1, 0},
  {&__pyx_n_s_py3str_cstring, __pyx_k_py3str_cstring, sizeof(__pyx_k_py3str_cstring), 0, 0, 1, 1},
  {&__pyx_n_s_py_const_prefix, __pyx_k_py_const_prefix, sizeof(__pyx_k_py_const_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_py_constants, __pyx_k_py_constants, sizeof(__pyx_k_py_constants), 0, 0, 1, 1},
  {&__pyx_n_s_py_none, __pyx_k_py_none, sizeof(__pyx_k_py_none), 0, 0, 1, 1},
  {&__pyx_n_s_py_object_type, __pyx_k_py_object_type, sizeof(__pyx_k_py_object_type), 0, 0, 1, 1},
  {&__pyx_n_s_py_string, __pyx_k_py_string, sizeof(__pyx_k_py_string), 0, 0, 1, 1},
  {&__pyx_n_s_py_strings, __pyx_k_py_strings, sizeof(__pyx_k_py_strings), 0, 0, 1, 1},
  {&__pyx_n_s_py_type, __pyx_k_py_type, sizeof(__pyx_k_py_type), 0, 0, 1, 1},
  {&__pyx_n_s_py_version, __pyx_k_py_version, sizeof(__pyx_k_py_version), 0, 0, 1, 1},
  {&__pyx_n_s_py_versions, __pyx_k_py_versions, sizeof(__pyx_k_py_versions), 0, 0, 1, 1},
  {&__pyx_n_s_pyclass_stack, __pyx_k_pyclass_stack, sizeof(__pyx_k_pyclass_stack), 0, 0, 1, 1},
  {&__pyx_n_s_pyrex_type, __pyx_k_pyrex_type, sizeof(__pyx_k_pyrex_type), 0, 0, 1, 1},
  {&__pyx_n_s_pystring_table, __pyx_k_pystring_table, sizeof(__pyx_k_pystring_table), 0, 0, 1, 1},
  {&__pyx_n_s_pyunicode_ptr_const_index, __pyx_k_pyunicode_ptr_const_index, sizeof(__pyx_k_pyunicode_ptr_const_index), 0, 0, 1, 1},
  {&__pyx_n_s_pyversion, __pyx_k_pyversion, sizeof(__pyx_k_pyversion), 0, 0, 1, 1},
  {&__pyx_kp_s_pyx, __pyx_k_pyx, sizeof(__pyx_k_pyx), 0, 0, 1, 0},
  {&__pyx_n_s_pyx_gilstate_save, __pyx_k_pyx_gilstate_save, sizeof(__pyx_k_pyx_gilstate_save), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
  {&__pyx_n_s_qualified_name, __pyx_k_qualified_name, sizeof(__pyx_k_qualified_name), 0, 0, 1, 1},
  {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
  {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1},
  {&__pyx_n_s_raise_closure_name_error_utility, __pyx_k_raise_closure_name_error_utility, sizeof(__pyx_k_raise_closure_name_error_utility), 0, 0, 1, 1},
  {&__pyx_n_s_raise_unbound_local_error_utilit, __pyx_k_raise_unbound_local_error_utilit, sizeof(__pyx_k_raise_unbound_local_error_utilit), 0, 0, 1, 1},
  {&__pyx_n_s_raise_unbound_memoryview_utility, __pyx_k_raise_unbound_memoryview_utility, sizeof(__pyx_k_raise_unbound_memoryview_utility), 0, 0, 1, 1},
  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
  {&__pyx_n_s_raw_input, __pyx_k_raw_input, sizeof(__pyx_k_raw_input), 0, 0, 1, 1},
  {&__pyx_n_s_re, __pyx_k_re, sizeof(__pyx_k_re), 0, 0, 1, 1},
  {&__pyx_n_s_readlines, __pyx_k_readlines, sizeof(__pyx_k_readlines), 0, 0, 1, 1},
  {&__pyx_n_s_redef_builtin_expect, __pyx_k_redef_builtin_expect, sizeof(__pyx_k_redef_builtin_expect), 0, 0, 1, 1},
  {&__pyx_n_s_ref_base_type, __pyx_k_ref_base_type, sizeof(__pyx_k_ref_base_type), 0, 0, 1, 1},
  {&__pyx_n_s_release_temp, __pyx_k_release_temp, sizeof(__pyx_k_release_temp), 0, 0, 1, 1},
  {&__pyx_n_s_releasebuffer, __pyx_k_releasebuffer, sizeof(__pyx_k_releasebuffer), 0, 0, 1, 1},
  {&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1},
  {&__pyx_n_s_rename, __pyx_k_rename, sizeof(__pyx_k_rename), 0, 0, 1, 1},
  {&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1},
  {&__pyx_n_s_replace_empty_lines, __pyx_k_replace_empty_lines, sizeof(__pyx_k_replace_empty_lines), 0, 0, 1, 1},
  {&__pyx_n_s_replacement, __pyx_k_replacement, sizeof(__pyx_k_replacement), 0, 0, 1, 1},
  {&__pyx_n_s_replacements, __pyx_k_replacements, sizeof(__pyx_k_replacements), 0, 0, 1, 1},
  {&__pyx_n_s_requires, __pyx_k_requires, sizeof(__pyx_k_requires), 0, 0, 1, 1},
  {&__pyx_n_s_reset, __pyx_k_reset, sizeof(__pyx_k_reset), 0, 0, 1, 1},
  {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1},
  {&__pyx_n_s_resume_from_yield, __pyx_k_resume_from_yield, sizeof(__pyx_k_resume_from_yield), 0, 0, 1, 1},
  {&__pyx_n_s_return, __pyx_k_return, sizeof(__pyx_k_return), 0, 0, 1, 1},
  {&__pyx_kp_s_return_0, __pyx_k_return_0, sizeof(__pyx_k_return_0), 0, 0, 1, 0},
  {&__pyx_kp_s_return_1, __pyx_k_return_1, sizeof(__pyx_k_return_1), 0, 0, 1, 0},
  {&__pyx_n_s_return_from_error_cleanup_label, __pyx_k_return_from_error_cleanup_label, sizeof(__pyx_k_return_from_error_cleanup_label), 0, 0, 1, 1},
  {&__pyx_n_s_return_label, __pyx_k_return_label, sizeof(__pyx_k_return_label), 0, 0, 1, 1},
  {&__pyx_n_s_retvalue_cname, __pyx_k_retvalue_cname, sizeof(__pyx_k_retvalue_cname), 0, 0, 1, 1},
  {&__pyx_n_s_rhs_cname, __pyx_k_rhs_cname, sizeof(__pyx_k_rhs_cname), 0, 0, 1, 1},
  {&__pyx_n_s_richcmp, __pyx_k_richcmp, sizeof(__pyx_k_richcmp), 0, 0, 1, 1},
  {&__pyx_n_s_rootwriter, __pyx_k_rootwriter, sizeof(__pyx_k_rootwriter), 0, 0, 1, 1},
  {&__pyx_n_s_rsplit, __pyx_k_rsplit, sizeof(__pyx_k_rsplit), 0, 0, 1, 1},
  {&__pyx_n_s_rstrip, __pyx_k_rstrip, sizeof(__pyx_k_rstrip), 0, 0, 1, 1},
  {&__pyx_kp_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_0, __pyx_k_s_0, sizeof(__pyx_k_s_0), 0, 0, 1, 0},
  {&__pyx_kp_s_s_10, __pyx_k_s_10, sizeof(__pyx_k_s_10), 0, 0, 1, 0},
  {&__pyx_kp_s_s_11, __pyx_k_s_11, sizeof(__pyx_k_s_11), 0, 0, 1, 0},
  {&__pyx_kp_s_s_12, __pyx_k_s_12, sizeof(__pyx_k_s_12), 0, 0, 1, 0},
  {&__pyx_kp_s_s_13, __pyx_k_s_13, sizeof(__pyx_k_s_13), 0, 0, 1, 0},
  {&__pyx_kp_s_s_14, __pyx_k_s_14, sizeof(__pyx_k_s_14), 0, 0, 1, 0},
  {&__pyx_kp_s_s_2, __pyx_k_s_2, sizeof(__pyx_k_s_2), 0, 0, 1, 0},
  {&__pyx_kp_s_s_3, __pyx_k_s_3, sizeof(__pyx_k_s_3), 0, 0, 1, 0},
  {&__pyx_n_s_s_4, __pyx_k_s_4, sizeof(__pyx_k_s_4), 0, 0, 1, 1},
  {&__pyx_kp_s_s_5, __pyx_k_s_5, sizeof(__pyx_k_s_5), 0, 0, 1, 0},
  {&__pyx_kp_s_s_6, __pyx_k_s_6, sizeof(__pyx_k_s_6), 0, 0, 1, 0},
  {&__pyx_kp_s_s_7, __pyx_k_s_7, sizeof(__pyx_k_s_7), 0, 0, 1, 0},
  {&__pyx_kp_s_s_8, __pyx_k_s_8, sizeof(__pyx_k_s_8), 0, 0, 1, 0},
  {&__pyx_kp_s_s_9, __pyx_k_s_9, sizeof(__pyx_k_s_9), 0, 0, 1, 0},
  {&__pyx_kp_s_s_NULL, __pyx_k_s_NULL, sizeof(__pyx_k_s_NULL), 0, 0, 1, 0},
  {&__pyx_kp_s_s_PyCFunction_s_s_s_s, __pyx_k_s_PyCFunction_s_s_s_s, sizeof(__pyx_k_s_PyCFunction_s_s_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_PyGILState_Ensure, __pyx_k_s_PyGILState_Ensure, sizeof(__pyx_k_s_PyGILState_Ensure), 0, 0, 1, 0},
  {&__pyx_kp_s_s___Pyx_GetBuiltinName_s_if_s_s, __pyx_k_s___Pyx_GetBuiltinName_s_if_s_s, sizeof(__pyx_k_s___Pyx_GetBuiltinName_s_if_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s__d, __pyx_k_s__d, sizeof(__pyx_k_s__d), 0, 0, 1, 0},
  {&__pyx_kp_s_s__s, __pyx_k_s__s, sizeof(__pyx_k_s__s), 0, 0, 1, 0},
  {&__pyx_kp_s_s__sCLEAR_s, __pyx_k_s__sCLEAR_s, sizeof(__pyx_k_s__sCLEAR_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s__sDECREF_s, __pyx_k_s__sDECREF_s, sizeof(__pyx_k_s__sDECREF_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s__sDECREF_s_s_0, __pyx_k_s__sDECREF_s_s_0, sizeof(__pyx_k_s__sDECREF_s_s_0), 0, 0, 1, 0},
  {&__pyx_kp_s_s__s_h, __pyx_k_s__s_h, sizeof(__pyx_k_s__s_h), 0, 0, 1, 0},
  {&__pyx_kp_s_s__save, __pyx_k_s__save, sizeof(__pyx_k_s__save), 0, 0, 1, 0},
  {&__pyx_kp_s_s_allocated_s, __pyx_k_s_allocated_s, sizeof(__pyx_k_s_allocated_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_cleanup, __pyx_k_s_cleanup, sizeof(__pyx_k_s_cleanup), 0, 0, 1, 0},
  {&__pyx_kp_s_s_cleanup_2, __pyx_k_s_cleanup_2, sizeof(__pyx_k_s_cleanup_2), 0, 0, 1, 0},
  {&__pyx_kp_s_s_d, __pyx_k_s_d, sizeof(__pyx_k_s_d), 0, 0, 1, 0},
  {&__pyx_kp_u_s_d_s, __pyx_k_s_d_s, sizeof(__pyx_k_s_d_s), 0, 1, 0, 0},
  {&__pyx_kp_s_s_impl, __pyx_k_s_impl, sizeof(__pyx_k_s_impl), 0, 0, 1, 0},
  {&__pyx_kp_s_s_init, __pyx_k_s_init, sizeof(__pyx_k_s_init), 0, 0, 1, 0},
  {&__pyx_kp_s_s_memview, __pyx_k_s_memview, sizeof(__pyx_k_s_memview), 0, 0, 1, 0},
  {&__pyx_kp_s_s_n, __pyx_k_s_n, sizeof(__pyx_k_s_n), 0, 0, 1, 0},
  {&__pyx_kp_s_s_proto, __pyx_k_s_proto, sizeof(__pyx_k_s_proto), 0, 0, 1, 0},
  {&__pyx_kp_s_s_proto_2, __pyx_k_s_proto_2, sizeof(__pyx_k_s_proto_2), 0, 0, 1, 0},
  {&__pyx_kp_s_s_released, __pyx_k_s_released, sizeof(__pyx_k_s_released), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s, __pyx_k_s_s, sizeof(__pyx_k_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_2, __pyx_k_s_s_2, sizeof(__pyx_k_s_s_2), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_3, __pyx_k_s_s_3, sizeof(__pyx_k_s_s_3), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_4, __pyx_k_s_s_4, sizeof(__pyx_k_s_s_4), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_5, __pyx_k_s_s_5, sizeof(__pyx_k_s_s_5), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_6, __pyx_k_s_s_6, sizeof(__pyx_k_s_s_6), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_7, __pyx_k_s_s_7, sizeof(__pyx_k_s_s_7), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_Py_INCREF_Py_None, __pyx_k_s_s_Py_INCREF_Py_None, sizeof(__pyx_k_s_s_Py_INCREF_Py_None), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s___Pyx_INCREF_Py_None, __pyx_k_s_s___Pyx_INCREF_Py_None, sizeof(__pyx_k_s_s___Pyx_INCREF_Py_None), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_s, __pyx_k_s_s_s, sizeof(__pyx_k_s_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_s_2, __pyx_k_s_s_s_2, sizeof(__pyx_k_s_s_s_2), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_s__s, __pyx_k_s_s_s__s, sizeof(__pyx_k_s_s_s__s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_s_s_s_s, __pyx_k_s_s_s_s_s_s, sizeof(__pyx_k_s_s_s_s_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_s_sizeof_s_s_d_d_d, __pyx_k_s_s_sizeof_s_s_d_d_d, sizeof(__pyx_k_s_s_sizeof_s_s_d_d_d), 0, 0, 1, 0},
  {&__pyx_kp_s_s_tmp_s, __pyx_k_s_tmp_s, sizeof(__pyx_k_s_tmp_s), 0, 0, 1, 0},
  {&__pyx_kp_s_s_type_PyObject_s, __pyx_k_s_type_PyObject_s, sizeof(__pyx_k_s_type_PyObject_s), 0, 0, 1, 0},
  {&__pyx_n_s_safe, __pyx_k_safe, sizeof(__pyx_k_safe), 0, 0, 1, 1},
  {&__pyx_kp_s_save_s, __pyx_k_save_s, sizeof(__pyx_k_save_s), 0, 0, 1, 0},
  {&__pyx_kp_s_sconst_char_s_NULL, __pyx_k_sconst_char_s_NULL, sizeof(__pyx_k_sconst_char_s_NULL), 0, 0, 1, 0},
  {&__pyx_n_s_scope, __pyx_k_scope, sizeof(__pyx_k_scope), 0, 0, 1, 1},
  {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
  {&__pyx_n_s_self_proto, __pyx_k_self_proto, sizeof(__pyx_k_self_proto), 0, 0, 1, 1},
  {&__pyx_n_s_self_type, __pyx_k_self_type, sizeof(__pyx_k_self_type), 0, 0, 1, 1},
  {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
  {&__pyx_n_s_set, __pyx_k_set, sizeof(__pyx_k_set), 0, 0, 1, 1},
  {&__pyx_n_s_set_all_labels, __pyx_k_set_all_labels, sizeof(__pyx_k_set_all_labels), 0, 0, 1, 1},
  {&__pyx_n_s_set_error_info, __pyx_k_set_error_info, sizeof(__pyx_k_set_error_info), 0, 0, 1, 1},
  {&__pyx_n_s_set_global_state, __pyx_k_set_global_state, sizeof(__pyx_k_set_global_state), 0, 0, 1, 1},
  {&__pyx_n_s_set_loop_labels, __pyx_k_set_loop_labels, sizeof(__pyx_k_set_loop_labels), 0, 0, 1, 1},
  {&__pyx_n_s_setdefault, __pyx_k_setdefault, sizeof(__pyx_k_setdefault), 0, 0, 1, 1},
  {&__pyx_n_s_should_declare, __pyx_k_should_declare, sizeof(__pyx_k_should_declare), 0, 0, 1, 1},
  {&__pyx_n_s_should_declare_error_indicator, __pyx_k_should_declare_error_indicator, sizeof(__pyx_k_should_declare_error_indicator), 0, 0, 1, 1},
  {&__pyx_n_s_signature, __pyx_k_signature, sizeof(__pyx_k_signature), 0, 0, 1, 1},
  {&__pyx_kp_s_sint_s_0, __pyx_k_sint_s_0, sizeof(__pyx_k_sint_s_0), 0, 0, 1, 0},
  {&__pyx_n_s_slice_cname, __pyx_k_slice_cname, sizeof(__pyx_k_slice_cname), 0, 0, 1, 1},
  {&__pyx_n_s_source_desc, __pyx_k_source_desc, sizeof(__pyx_k_source_desc), 0, 0, 1, 1},
  {&__pyx_n_s_source_file, __pyx_k_source_file, sizeof(__pyx_k_source_file), 0, 0, 1, 1},
  {&__pyx_n_s_special_py_methods, __pyx_k_special_py_methods, sizeof(__pyx_k_special_py_methods), 0, 0, 1, 1},
  {&__pyx_n_s_specialization_name, __pyx_k_specialization_name, sizeof(__pyx_k_specialization_name), 0, 0, 1, 1},
  {&__pyx_n_s_specialize, __pyx_k_specialize, sizeof(__pyx_k_specialize), 0, 0, 1, 1},
  {&__pyx_n_s_specialize_list, __pyx_k_specialize_list, sizeof(__pyx_k_specialize_list), 0, 0, 1, 1},
  {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
  {&__pyx_n_s_split_string, __pyx_k_split_string, sizeof(__pyx_k_split_string), 0, 0, 1, 1},
  {&__pyx_n_s_split_string_literal, __pyx_k_split_string_literal, sizeof(__pyx_k_split_string_literal), 0, 0, 1, 1},
  {&__pyx_n_s_splitext, __pyx_k_splitext, sizeof(__pyx_k_splitext), 0, 0, 1, 1},
  {&__pyx_n_s_splitlines, __pyx_k_splitlines, sizeof(__pyx_k_splitlines), 0, 0, 1, 1},
  {&__pyx_n_s_start_collecting_temps, __pyx_k_start_collecting_temps, sizeof(__pyx_k_start_collecting_temps), 0, 0, 1, 1},
  {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
  {&__pyx_n_s_static, __pyx_k_static, sizeof(__pyx_k_static), 0, 0, 1, 1},
  {&__pyx_kp_s_static_2, __pyx_k_static_2, sizeof(__pyx_k_static_2), 0, 0, 1, 0},
  {&__pyx_kp_s_static_PyObject_s, __pyx_k_static_PyObject_s, sizeof(__pyx_k_static_PyObject_s), 0, 0, 1, 0},
  {&__pyx_kp_s_static_Py_UNICODE_s_s, __pyx_k_static_Py_UNICODE_s_s, sizeof(__pyx_k_static_Py_UNICODE_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_static___Pyx_CachedCFunction_s_0, __pyx_k_static___Pyx_CachedCFunction_s_0, sizeof(__pyx_k_static___Pyx_CachedCFunction_s_0), 0, 0, 1, 0},
  {&__pyx_kp_s_static___Pyx_StringTabEntry_s, __pyx_k_static___Pyx_StringTabEntry_s, sizeof(__pyx_k_static___Pyx_StringTabEntry_s), 0, 0, 1, 0},
  {&__pyx_kp_s_static_const_char_s_s, __pyx_k_static_const_char_s_s, sizeof(__pyx_k_static_const_char_s_s), 0, 0, 1, 0},
  {&__pyx_kp_s_static_int___Pyx_InitCachedBuilt, __pyx_k_static_int___Pyx_InitCachedBuilt, sizeof(__pyx_k_static_int___Pyx_InitCachedBuilt), 0, 0, 1, 0},
  {&__pyx_kp_s_static_int___Pyx_InitCachedConst, __pyx_k_static_int___Pyx_InitCachedConst, sizeof(__pyx_k_static_int___Pyx_InitCachedConst), 0, 0, 1, 0},
  {&__pyx_kp_s_static_int___Pyx_InitGlobals_voi, __pyx_k_static_int___Pyx_InitGlobals_voi, sizeof(__pyx_k_static_int___Pyx_InitGlobals_voi), 0, 0, 1, 0},
  {&__pyx_kp_s_static_s, __pyx_k_static_s, sizeof(__pyx_k_static_s), 0, 0, 1, 0},
  {&__pyx_kp_s_static_void___Pyx_CleanupGlobals, __pyx_k_static_void___Pyx_CleanupGlobals, sizeof(__pyx_k_static_void___Pyx_CleanupGlobals), 0, 0, 1, 0},
  {&__pyx_n_s_stop_collecting_temps, __pyx_k_stop_collecting_temps, sizeof(__pyx_k_stop_collecting_temps), 0, 0, 1, 1},
  {&__pyx_n_s_storage_class, __pyx_k_storage_class, sizeof(__pyx_k_storage_class), 0, 0, 1, 1},
  {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
  {&__pyx_n_s_str_2, __pyx_k_str_2, sizeof(__pyx_k_str_2), 0, 0, 1, 1},
  {&__pyx_n_s_str_value, __pyx_k_str_value, sizeof(__pyx_k_str_value), 0, 0, 1, 1},
  {&__pyx_n_s_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 0, 1, 1},
  {&__pyx_n_s_string_const_index, __pyx_k_string_const_index, sizeof(__pyx_k_string_const_index), 0, 0, 1, 1},
  {&__pyx_n_s_string_decls, __pyx_k_string_decls, sizeof(__pyx_k_string_decls), 0, 0, 1, 1},
  {&__pyx_n_s_stringtab_cname, __pyx_k_stringtab_cname, sizeof(__pyx_k_stringtab_cname), 0, 0, 1, 1},
  {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1},
  {&__pyx_n_s_strip_comments, __pyx_k_strip_comments, sizeof(__pyx_k_strip_comments), 0, 0, 1, 1},
  {&__pyx_n_s_sub, __pyx_k_sub, sizeof(__pyx_k_sub), 0, 0, 1, 1},
  {&__pyx_n_s_sub_tempita, __pyx_k_sub_tempita, sizeof(__pyx_k_sub_tempita), 0, 0, 1, 1},
  {&__pyx_n_s_substitute, __pyx_k_substitute, sizeof(__pyx_k_substitute), 0, 0, 1, 1},
  {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
  {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1},
  {&__pyx_n_s_tag, __pyx_k_tag, sizeof(__pyx_k_tag), 0, 0, 1, 1},
  {&__pyx_n_s_tags, __pyx_k_tags, sizeof(__pyx_k_tags), 0, 0, 1, 1},
  {&__pyx_n_s_template, __pyx_k_template, sizeof(__pyx_k_template), 0, 0, 1, 1},
  {&__pyx_n_s_temps_allocated, __pyx_k_temps_allocated, sizeof(__pyx_k_temps_allocated), 0, 0, 1, 1},
  {&__pyx_n_s_temps_count, __pyx_k_temps_count, sizeof(__pyx_k_temps_count), 0, 0, 1, 1},
  {&__pyx_n_s_temps_free, __pyx_k_temps_free, sizeof(__pyx_k_temps_free), 0, 0, 1, 1},
  {&__pyx_n_s_temps_holding_reference, __pyx_k_temps_holding_reference, sizeof(__pyx_k_temps_holding_reference), 0, 0, 1, 1},
  {&__pyx_n_s_temps_in_use, __pyx_k_temps_in_use, sizeof(__pyx_k_temps_in_use), 0, 0, 1, 1},
  {&__pyx_n_s_term, __pyx_k_term, sizeof(__pyx_k_term), 0, 0, 1, 1},
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
  {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1},
  {&__pyx_n_s_textwrap, __pyx_k_textwrap, sizeof(__pyx_k_textwrap), 0, 0, 1, 1},
  {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
  {&__pyx_n_s_tmp_path, __pyx_k_tmp_path, sizeof(__pyx_k_tmp_path), 0, 0, 1, 1},
  {&__pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_k_tmp_pip_install_9i_72p5f_cython, sizeof(__pyx_k_tmp_pip_install_9i_72p5f_cython), 0, 0, 1, 0},
  {&__pyx_n_s_trace, __pyx_k_trace, sizeof(__pyx_k_trace), 0, 0, 1, 1},
  {&__pyx_n_s_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 0, 1, 1},
  {&__pyx_n_s_type_cname, __pyx_k_type_cname, sizeof(__pyx_k_type_cname), 0, 0, 1, 1},
  {&__pyx_n_s_type_declarations, __pyx_k_type_declarations, sizeof(__pyx_k_type_declarations), 0, 0, 1, 1},
  {&__pyx_n_s_type_name, __pyx_k_type_name, sizeof(__pyx_k_type_name), 0, 0, 1, 1},
  {&__pyx_n_s_typecast, __pyx_k_typecast, sizeof(__pyx_k_typecast), 0, 0, 1, 1},
  {&__pyx_n_s_typeinfo, __pyx_k_typeinfo, sizeof(__pyx_k_typeinfo), 0, 0, 1, 1},
  {&__pyx_n_s_u, __pyx_k_u, sizeof(__pyx_k_u), 0, 0, 1, 1},
  {&__pyx_n_s_umethod, __pyx_k_umethod, sizeof(__pyx_k_umethod), 0, 0, 1, 1},
  {&__pyx_n_s_uncachable_builtins, __pyx_k_uncachable_builtins, sizeof(__pyx_k_uncachable_builtins), 0, 0, 1, 1},
  {&__pyx_n_s_undef_builtin_expect, __pyx_k_undef_builtin_expect, sizeof(__pyx_k_undef_builtin_expect), 0, 0, 1, 1},
  {&__pyx_kp_s_undef_likely, __pyx_k_undef_likely, sizeof(__pyx_k_undef_likely), 0, 0, 1, 0},
  {&__pyx_kp_s_undef_unlikely, __pyx_k_undef_unlikely, sizeof(__pyx_k_undef_unlikely), 0, 0, 1, 0},
  {&__pyx_n_s_unicode, __pyx_k_unicode, sizeof(__pyx_k_unicode), 0, 0, 1, 1},
  {&__pyx_n_s_unicode_2, __pyx_k_unicode_2, sizeof(__pyx_k_unicode_2), 0, 0, 1, 1},
  {&__pyx_n_s_unicode_value, __pyx_k_unicode_value, sizeof(__pyx_k_unicode_value), 0, 0, 1, 1},
  {&__pyx_n_s_unlikely, __pyx_k_unlikely, sizeof(__pyx_k_unlikely), 0, 0, 1, 1},
  {&__pyx_kp_s_unlikely_s, __pyx_k_unlikely_s, sizeof(__pyx_k_unlikely_s), 0, 0, 1, 0},
  {&__pyx_n_s_unraisable_tracebacks, __pyx_k_unraisable_tracebacks, sizeof(__pyx_k_unraisable_tracebacks), 0, 0, 1, 1},
  {&__pyx_n_s_unused, __pyx_k_unused, sizeof(__pyx_k_unused), 0, 0, 1, 1},
  {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
  {&__pyx_kp_s_us_ascii, __pyx_k_us_ascii, sizeof(__pyx_k_us_ascii), 0, 0, 1, 0},
  {&__pyx_n_s_usascii, __pyx_k_usascii, sizeof(__pyx_k_usascii), 0, 0, 1, 1},
  {&__pyx_n_s_use_entry_utility_code, __pyx_k_use_entry_utility_code, sizeof(__pyx_k_use_entry_utility_code), 0, 0, 1, 1},
  {&__pyx_n_s_use_label, __pyx_k_use_label, sizeof(__pyx_k_use_label), 0, 0, 1, 1},
  {&__pyx_n_s_use_utility_code, __pyx_k_use_utility_code, sizeof(__pyx_k_use_utility_code), 0, 0, 1, 1},
  {&__pyx_n_s_used, __pyx_k_used, sizeof(__pyx_k_used), 0, 0, 1, 1},
  {&__pyx_n_s_used_only, __pyx_k_used_only, sizeof(__pyx_k_used_only), 0, 0, 1, 1},
  {&__pyx_n_s_uses_error_indicator, __pyx_k_uses_error_indicator, sizeof(__pyx_k_uses_error_indicator), 0, 0, 1, 1},
  {&__pyx_n_s_utf16_array, __pyx_k_utf16_array, sizeof(__pyx_k_utf16_array), 0, 0, 1, 1},
  {&__pyx_n_s_utf32_array, __pyx_k_utf32_array, sizeof(__pyx_k_utf32_array), 0, 0, 1, 1},
  {&__pyx_n_s_utf8, __pyx_k_utf8, sizeof(__pyx_k_utf8), 0, 0, 1, 1},
  {&__pyx_n_s_utf8encode, __pyx_k_utf8encode, sizeof(__pyx_k_utf8encode), 0, 0, 1, 1},
  {&__pyx_kp_s_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 0, 1, 0},
  {&__pyx_n_s_util, __pyx_k_util, sizeof(__pyx_k_util), 0, 0, 1, 1},
  {&__pyx_n_s_util_code_name, __pyx_k_util_code_name, sizeof(__pyx_k_util_code_name), 0, 0, 1, 1},
  {&__pyx_n_s_utilities, __pyx_k_utilities, sizeof(__pyx_k_utilities), 0, 0, 1, 1},
  {&__pyx_n_s_utility, __pyx_k_utility, sizeof(__pyx_k_utility), 0, 0, 1, 1},
  {&__pyx_n_s_utility_cache, __pyx_k_utility_cache, sizeof(__pyx_k_utility_cache), 0, 0, 1, 1},
  {&__pyx_n_s_utility_code, __pyx_k_utility_code, sizeof(__pyx_k_utility_code), 0, 0, 1, 1},
  {&__pyx_n_s_utility_code_def, __pyx_k_utility_code_def, sizeof(__pyx_k_utility_code_def), 0, 0, 1, 1},
  {&__pyx_n_s_utility_code_definition, __pyx_k_utility_code_definition, sizeof(__pyx_k_utility_code_definition), 0, 0, 1, 1},
  {&__pyx_n_s_utility_code_name, __pyx_k_utility_code_name, sizeof(__pyx_k_utility_code_name), 0, 0, 1, 1},
  {&__pyx_n_s_utility_code_proto, __pyx_k_utility_code_proto, sizeof(__pyx_k_utility_code_proto), 0, 0, 1, 1},
  {&__pyx_n_s_utility_code_proto_before_types, __pyx_k_utility_code_proto_before_types, sizeof(__pyx_k_utility_code_proto_before_types), 0, 0, 1, 1},
  {&__pyx_n_s_utility_codes, __pyx_k_utility_codes, sizeof(__pyx_k_utility_codes), 0, 0, 1, 1},
  {&__pyx_n_s_utility_dir, __pyx_k_utility_dir, sizeof(__pyx_k_utility_dir), 0, 0, 1, 1},
  {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
  {&__pyx_n_s_value_code, __pyx_k_value_code, sizeof(__pyx_k_value_code), 0, 0, 1, 1},
  {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
  {&__pyx_n_s_variable, __pyx_k_variable, sizeof(__pyx_k_variable), 0, 0, 1, 1},
  {&__pyx_n_s_vars, __pyx_k_vars, sizeof(__pyx_k_vars), 0, 0, 1, 1},
  {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1},
  {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1},
  {&__pyx_n_s_visibility, __pyx_k_visibility, sizeof(__pyx_k_visibility), 0, 0, 1, 1},
  {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1},
  {&__pyx_kp_s_w_1_s, __pyx_k_w_1_s, sizeof(__pyx_k_w_1_s), 0, 0, 1, 0},
  {&__pyx_n_s_watermark, __pyx_k_watermark, sizeof(__pyx_k_watermark), 0, 0, 1, 1},
  {&__pyx_n_s_wrap_c_strings, __pyx_k_wrap_c_strings, sizeof(__pyx_k_wrap_c_strings), 0, 0, 1, 1},
  {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1},
  {&__pyx_n_s_writer, __pyx_k_writer, sizeof(__pyx_k_writer), 0, 0, 1, 1},
  {&__pyx_n_s_xdecref_cleanup, __pyx_k_xdecref_cleanup, sizeof(__pyx_k_xdecref_cleanup), 0, 0, 1, 1},
  {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
  {&__pyx_n_s_yield_labels, __pyx_k_yield_labels, sizeof(__pyx_k_yield_labels), 0, 0, 1, 1},
  {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
  {&__pyx_n_s_zipfile, __pyx_k_zipfile, sizeof(__pyx_k_zipfile), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 26, __pyx_L1_error)
  __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 88, __pyx_L1_error)
  __pyx_builtin_vars = __Pyx_GetBuiltinName(__pyx_n_s_vars); if (!__pyx_builtin_vars) __PYX_ERR(0, 130, __pyx_L1_error)
  __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 131, __pyx_L1_error)
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 131, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 132, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 189, __pyx_L1_error)
  __pyx_builtin_OSError = __Pyx_GetBuiltinName(__pyx_n_s_OSError); if (!__pyx_builtin_OSError) __PYX_ERR(0, 237, __pyx_L1_error)
  __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 536, __pyx_L1_error)
  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 677, __pyx_L1_error)
  __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_n_s_property); if (!__pyx_builtin_property) __PYX_ERR(0, 1500, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "Cython/Compiler/Code.py":140
 *         if type == 'proto':
 *             utility[0] = code
 *         elif type.startswith('proto.'):             # <<<<<<<<<<<<<<
 *             utility[0] = code
 *             utility[1] = type[6:]
 */
  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_proto_2); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__2);
  __Pyx_GIVEREF(__pyx_tuple__2);

  /* "Cython/Compiler/Code.py":142
 *         elif type.startswith('proto.'):
 *             utility[0] = code
 *             utility[1] = type[6:]             # <<<<<<<<<<<<<<
 *         elif type == 'impl':
 *             utility[2] = code
 */
  __pyx_slice__3 = PySlice_New(__pyx_int_6, Py_None, Py_None); if (unlikely(!__pyx_slice__3)) __PYX_ERR(0, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__3);
  __Pyx_GIVEREF(__pyx_slice__3);

  /* "Cython/Compiler/Code.py":148
 *             all_tags = utility[3]
 *             if KEYWORDS_MUST_BE_BYTES:
 *                 type = type.encode('ASCII')             # <<<<<<<<<<<<<<
 *             all_tags[type] = code
 * 
 */
  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_n_s_ASCII); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__4);
  __Pyx_GIVEREF(__pyx_tuple__4);

  /* "Cython/Compiler/Code.py":155
 *             for name, values in tags.items():
 *                 if KEYWORDS_MUST_BE_BYTES:
 *                     name = name.encode('ASCII')             # <<<<<<<<<<<<<<
 *                 all_tags.setdefault(name, set()).update(values)
 * 
 */
  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_n_s_ASCII); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__5);
  __Pyx_GIVEREF(__pyx_tuple__5);

  /* "Cython/Compiler/Code.py":168
 *         if ext in ('.pyx', '.py', '.pxd', '.pxi'):
 *             comment = '#'
 *             strip_comments = partial(re.compile(r'^\s*#.*').sub, '')             # <<<<<<<<<<<<<<
 *             rstrip = StringEncoding._unicode.rstrip
 *         else:
 */
  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_s); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__7);
  __Pyx_GIVEREF(__pyx_tuple__7);

  /* "Cython/Compiler/Code.py":172
 *         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')
 *         match_special = re.compile(
 */
  __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_s_2); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__10);
  __Pyx_GIVEREF(__pyx_tuple__10);

  /* "Cython/Compiler/Code.py":173
 *             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 = re.compile(
 *             (r'^%(C)s{5,30}\s*(?P<name>(?:\w|\.)+)\s*%(C)s{5,30}|'
 */
  __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_s_3); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__11);
  __Pyx_GIVEREF(__pyx_tuple__11);

  /* "Cython/Compiler/Code.py":178
 *              r'^%(C)s+@(?P<tag>\w+)\s*:\s*(?P<value>(?:\w|[.:])+)') %
 *             {'C': comment}).match
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match             # <<<<<<<<<<<<<<
 * 
 *         with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:
 */
  __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_proto_S_impl_init_cleanup); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__12);
  __Pyx_GIVEREF(__pyx_tuple__12);

  /* "Cython/Compiler/Code.py":180
 *         match_type = re.compile('(.+)[.](proto(?:[.]\S+)?|impl|init|cleanup)$').match
 * 
 *         with closing(Utils.open_source_file(filename, encoding='UTF-8')) as f:             # <<<<<<<<<<<<<<
 *             all_lines = f.readlines()
 * 
 */
  __pyx_tuple__13 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__13);
  __Pyx_GIVEREF(__pyx_tuple__13);

  /* "Cython/Compiler/Code.py":192
 *             m = match_special(line)
 *             if m:
 *                 if m.group('name'):             # <<<<<<<<<<<<<<
 *                     cls._add_utility(utility, type, lines, begin_lineno, tags)
 * 
 */
  __pyx_tuple__14 = PyTuple_Pack(1, __pyx_n_s_name); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__14);
  __Pyx_GIVEREF(__pyx_tuple__14);

  /* "Cython/Compiler/Code.py":199
 *                     tags.clear()
 * 
 *                     name = m.group('name')             # <<<<<<<<<<<<<<
 *                     mtype = match_type(name)
 *                     if mtype:
 */
  __pyx_tuple__15 = PyTuple_Pack(1, __pyx_n_s_name); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__15);
  __Pyx_GIVEREF(__pyx_tuple__15);

  /* "Cython/Compiler/Code.py":207
 *                     utility = utilities[name]
 *                 else:
 *                     tags[m.group('tag')].add(m.group('value'))             # <<<<<<<<<<<<<<
 *                     lines.append('')  # keep line number correct
 *             else:
 */
  __pyx_tuple__16 = PyTuple_Pack(1, __pyx_n_s_tag); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__16);
  __Pyx_GIVEREF(__pyx_tuple__16);
  __pyx_tuple__17 = PyTuple_Pack(1, __pyx_n_s_value); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__17);
  __Pyx_GIVEREF(__pyx_tuple__17);

  /* "Cython/Compiler/Code.py":213
 * 
 *         if utility is None:
 *             raise ValueError("Empty utility code file")             # <<<<<<<<<<<<<<
 * 
 *         # Don't forget to add the last utility code
 */
  __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_Empty_utility_code_file); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__18);
  __Pyx_GIVEREF(__pyx_tuple__18);

  /* "Cython/Compiler/Code.py":231
 *         """
 *         if '::' in util_code_name:
 *             from_file, util_code_name = util_code_name.rsplit('::', 1)             # <<<<<<<<<<<<<<
 *         if not from_file:
 *             utility_dir = get_utility_dir()
 */
  __pyx_tuple__20 = PyTuple_Pack(2, __pyx_kp_s__19, __pyx_int_1); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__20);
  __Pyx_GIVEREF(__pyx_tuple__20);

  /* "Cython/Compiler/Code.py":244
 *                 loader = __loader__
 *                 archive = loader.archive
 *                 with closing(zipfile.ZipFile(archive)) as fileobj:             # <<<<<<<<<<<<<<
 *                     listing = [os.path.basename(name)
 *                                for name in fileobj.namelist()
 */
  __pyx_tuple__22 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__22);
  __Pyx_GIVEREF(__pyx_tuple__22);

  /* "Cython/Compiler/Code.py":418
 *         replacements = {}
 *         def externalise(matchobj):
 *             name = matchobj.group(1)             # <<<<<<<<<<<<<<
 *             try:
 *                 cname = replacements[name]
 */
  __pyx_tuple__24 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__24);
  __Pyx_GIVEREF(__pyx_tuple__24);

  /* "Cython/Compiler/Code.py":417
 * 
 *         replacements = {}
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             name = matchobj.group(1)
 *             try:
 */
  __pyx_tuple__25 = PyTuple_Pack(3, __pyx_n_s_matchobj, __pyx_n_s_name, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__25);
  __Pyx_GIVEREF(__pyx_tuple__25);
  __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_externalise, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 417, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":439
 *         def externalise(matchobj):
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]             # <<<<<<<<<<<<<<
 *             if len(args) == 1:
 *                 call = '__Pyx_CallUnboundCMethod0'
 */
  __pyx_slice__27 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__27)) __PYX_ERR(0, 439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__27);
  __Pyx_GIVEREF(__pyx_slice__27);
  __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s__28); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__29);
  __Pyx_GIVEREF(__pyx_tuple__29);

  /* "Cython/Compiler/Code.py":437
 * 
 *         utility_code = set()
 *         def externalise(matchobj):             # <<<<<<<<<<<<<<
 *             type_cname, method_name, args = matchobj.groups()
 *             args = [arg.strip() for arg in args[1:].split(',')]
 */
  __pyx_tuple__31 = PyTuple_Pack(7, __pyx_n_s_matchobj, __pyx_n_s_type_cname, __pyx_n_s_method_name, __pyx_n_s_args, __pyx_n_s_call, __pyx_n_s_cname, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__31);
  __Pyx_GIVEREF(__pyx_tuple__31);
  __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_externalise, 437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 437, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":468
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]             # <<<<<<<<<<<<<<
 *                 for line in content.splitlines())
 * 
 */
  __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s__33); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__34);
  __Pyx_GIVEREF(__pyx_tuple__34);
  __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s__35); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__36);
  __Pyx_GIVEREF(__pyx_tuple__36);
  __pyx_slice__37 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__37)) __PYX_ERR(0, 468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__37);
  __Pyx_GIVEREF(__pyx_slice__37);

  /* "Cython/Compiler/Code.py":466
 * 
 *         def split_string(matchobj):
 *             content = matchobj.group(1).replace('"', '\042')             # <<<<<<<<<<<<<<
 *             return ''.join(
 *                 '"%s\\n"\n' % line if not line.endswith('\\') or line.endswith('\\\\') else '"%s"\n' % line[:-1]
 */
  __pyx_tuple__38 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__38);
  __Pyx_GIVEREF(__pyx_tuple__38);
  __pyx_tuple__40 = PyTuple_Pack(2, __pyx_kp_s__39, __pyx_kp_s__39); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__40);
  __Pyx_GIVEREF(__pyx_tuple__40);

  /* "Cython/Compiler/Code.py":465
 *             return impl
 * 
 *         def split_string(matchobj):             # <<<<<<<<<<<<<<
 *             content = matchobj.group(1).replace('"', '\042')
 *             return ''.join(
 */
  __pyx_tuple__41 = PyTuple_Pack(4, __pyx_n_s_matchobj, __pyx_n_s_content, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__41);
  __Pyx_GIVEREF(__pyx_tuple__41);
  __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_split_string, 465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 465, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1037
 *             w = self.parts['cached_builtins']
 *             w.enter_cfunc_scope()
 *             w.putln("static int __Pyx_InitCachedBuiltins(void) {")             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['cached_constants']
 */
  __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_static_int___Pyx_InitCachedBuilt); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__45);
  __Pyx_GIVEREF(__pyx_tuple__45);

  /* "Cython/Compiler/Code.py":1041
 *         w = self.parts['cached_constants']
 *         w.enter_cfunc_scope()
 *         w.putln("")             # <<<<<<<<<<<<<<
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")
 *         w.put_declare_refcount_context()
 */
  __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 1041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__46);
  __Pyx_GIVEREF(__pyx_tuple__46);

  /* "Cython/Compiler/Code.py":1042
 *         w.enter_cfunc_scope()
 *         w.putln("")
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")             # <<<<<<<<<<<<<<
 *         w.put_declare_refcount_context()
 *         w.put_setup_refcount_context("__Pyx_InitCachedConstants")
 */
  __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_static_int___Pyx_InitCachedConst); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 1042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__47);
  __Pyx_GIVEREF(__pyx_tuple__47);

  /* "Cython/Compiler/Code.py":1044
 *         w.putln("static int __Pyx_InitCachedConstants(void) {")
 *         w.put_declare_refcount_context()
 *         w.put_setup_refcount_context("__Pyx_InitCachedConstants")             # <<<<<<<<<<<<<<
 * 
 *         w = self.parts['init_globals']
 */
  __pyx_tuple__48 = PyTuple_Pack(1, __pyx_n_s_Pyx_InitCachedConstants); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__48);
  __Pyx_GIVEREF(__pyx_tuple__48);

  /* "Cython/Compiler/Code.py":1048
 *         w = self.parts['init_globals']
 *         w.enter_cfunc_scope()
 *         w.putln("")             # <<<<<<<<<<<<<<
 *         w.putln("static int __Pyx_InitGlobals(void) {")
 * 
 */
  __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 1048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__49);
  __Pyx_GIVEREF(__pyx_tuple__49);

  /* "Cython/Compiler/Code.py":1049
 *         w.enter_cfunc_scope()
 *         w.putln("")
 *         w.putln("static int __Pyx_InitGlobals(void) {")             # <<<<<<<<<<<<<<
 * 
 *         if not Options.generate_cleanup_code:
 */
  __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_s_static_int___Pyx_InitGlobals_voi); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 1049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__50);
  __Pyx_GIVEREF(__pyx_tuple__50);

  /* "Cython/Compiler/Code.py":1056
 *             w = self.parts['cleanup_globals']
 *             w.enter_cfunc_scope()
 *             w.putln("")             # <<<<<<<<<<<<<<
 *             w.putln("static void __Pyx_CleanupGlobals(void) {")
 * 
 */
  __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__51);
  __Pyx_GIVEREF(__pyx_tuple__51);

  /* "Cython/Compiler/Code.py":1057
 *             w.enter_cfunc_scope()
 *             w.putln("")
 *             w.putln("static void __Pyx_CleanupGlobals(void) {")             # <<<<<<<<<<<<<<
 * 
 *         code = self.parts['utility_code_proto']
 */
  __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_static_void___Pyx_CleanupGlobals); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 1057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__52);
  __Pyx_GIVEREF(__pyx_tuple__52);

  /* "Cython/Compiler/Code.py":1060
 * 
 *         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_tuple__53 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__53);
  __Pyx_GIVEREF(__pyx_tuple__53);

  /* "Cython/Compiler/Code.py":1061
 *         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_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_Runtime_support_code_head); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__54);
  __Pyx_GIVEREF(__pyx_tuple__54);

  /* "Cython/Compiler/Code.py":1065
 *         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_tuple__55 = PyTuple_Pack(1, __pyx_kp_s_line_1_cython_utility); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__55);
  __Pyx_GIVEREF(__pyx_tuple__55);

  /* "Cython/Compiler/Code.py":1066
 *         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_tuple__56 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 1066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__56);
  __Pyx_GIVEREF(__pyx_tuple__56);

  /* "Cython/Compiler/Code.py":1067
 *             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 finalize_main_c_code(self):
 */
  __pyx_tuple__57 = PyTuple_Pack(1, __pyx_kp_s_Runtime_support_code); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 1067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__57);
  __Pyx_GIVEREF(__pyx_tuple__57);

  /* "Cython/Compiler/Code.py":1076
 *         #
 *         code = self.parts['utility_code_def']
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")             # <<<<<<<<<<<<<<
 *         code.put(util.format_code(util.impl))
 *         code.putln("")
 */
  __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_TypeConversions, __pyx_kp_s_TypeConversion_c); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 1076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__58);
  __Pyx_GIVEREF(__pyx_tuple__58);

  /* "Cython/Compiler/Code.py":1078
 *         util = TempitaUtilityCode.load_cached("TypeConversions", "TypeConversion.c")
 *         code.put(util.format_code(util.impl))
 *         code.putln("")             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, key):
 */
  __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 1078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__59);
  __Pyx_GIVEREF(__pyx_tuple__59);

  /* "Cython/Compiler/Code.py":1092
 *         if Options.cache_builtins:
 *             w = self.parts['cached_builtins']
 *             w.putln("return 0;")             # <<<<<<<<<<<<<<
 *             if w.label_used(w.error_label):
 *                 w.put_label(w.error_label)
 */
  __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_s_return_0); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 1092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__60);
  __Pyx_GIVEREF(__pyx_tuple__60);

  /* "Cython/Compiler/Code.py":1095
 *             if w.label_used(w.error_label):
 *                 w.put_label(w.error_label)
 *                 w.putln("return -1;")             # <<<<<<<<<<<<<<
 *             w.putln("}")
 *             w.exit_cfunc_scope()
 */
  __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_s_return_1); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 1095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__61);
  __Pyx_GIVEREF(__pyx_tuple__61);

  /* "Cython/Compiler/Code.py":1096
 *                 w.put_label(w.error_label)
 *                 w.putln("return -1;")
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
 */
  __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_s__62); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 1096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__63);
  __Pyx_GIVEREF(__pyx_tuple__63);

  /* "Cython/Compiler/Code.py":1101
 *         w = self.parts['cached_constants']
 *         w.put_finish_refcount_context()
 *         w.putln("return 0;")             # <<<<<<<<<<<<<<
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
 */
  __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_s_return_0); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 1101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__64);
  __Pyx_GIVEREF(__pyx_tuple__64);

  /* "Cython/Compiler/Code.py":1105
 *             w.put_label(w.error_label)
 *             w.put_finish_refcount_context()
 *             w.putln("return -1;")             # <<<<<<<<<<<<<<
 *         w.putln("}")
 *         w.exit_cfunc_scope()
 */
  __pyx_tuple__65 = PyTuple_Pack(1, __pyx_kp_s_return_1); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 1105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__65);
  __Pyx_GIVEREF(__pyx_tuple__65);

  /* "Cython/Compiler/Code.py":1106
 *             w.put_finish_refcount_context()
 *             w.putln("return -1;")
 *         w.putln("}")             # <<<<<<<<<<<<<<
 *         w.exit_cfunc_scope()
 * 
 */
  __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_s__62); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 1106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__66);
  __Pyx_GIVEREF(__pyx_tuple__66);

  /* "Cython/Compiler/Code.py":1110
 * 
 *         w = self.parts['init_globals']
 *         w.putln("return 0;")             # <<<<<<<<<<<<<<
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
 */
  __pyx_tuple__67 = PyTuple_Pack(1, __pyx_kp_s_return_0); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 1110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__67);
  __Pyx_GIVEREF(__pyx_tuple__67);

  /* "Cython/Compiler/Code.py":1113
 *         if w.label_used(w.error_label):
 *             w.put_label(w.error_label)
 *             w.putln("return -1;")             # <<<<<<<<<<<<<<
 *         w.putln("}")
 *         w.exit_cfunc_scope()
 */
  __pyx_tuple__68 = PyTuple_Pack(1, __pyx_kp_s_return_1); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 1113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__68);
  __Pyx_GIVEREF(__pyx_tuple__68);

  /* "Cython/Compiler/Code.py":1114
 *             w.put_label(w.error_label)
 *             w.putln("return -1;")
 *         w.putln("}")             # <<<<<<<<<<<<<<
 *         w.exit_cfunc_scope()
 * 
 */
  __pyx_tuple__69 = PyTuple_Pack(1, __pyx_kp_s__62); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 1114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__69);
  __Pyx_GIVEREF(__pyx_tuple__69);

  /* "Cython/Compiler/Code.py":1119
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_globals']
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
 */
  __pyx_tuple__70 = PyTuple_Pack(1, __pyx_kp_s__62); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 1119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__70);
  __Pyx_GIVEREF(__pyx_tuple__70);

  /* "Cython/Compiler/Code.py":1124
 *         if Options.generate_cleanup_code:
 *             w = self.parts['cleanup_module']
 *             w.putln("}")             # <<<<<<<<<<<<<<
 *             w.exit_cfunc_scope()
 * 
 */
  __pyx_tuple__71 = PyTuple_Pack(1, __pyx_kp_s__62); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 1124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__71);
  __Pyx_GIVEREF(__pyx_tuple__71);

  /* "Cython/Compiler/Code.py":1218
 *     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_tuple__72 = PyTuple_Pack(2, __pyx_n_s_ASCII, __pyx_n_s_ignore); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(0, 1218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__72);
  __Pyx_GIVEREF(__pyx_tuple__72);

  /* "Cython/Compiler/Code.py":1227
 *         prefix = Naming.interned_prefixes[py_type]
 *         cname = "%s%s" % (prefix, value)
 *         cname = cname.replace('+', '_').replace('-', 'neg_').replace('.', '_')             # <<<<<<<<<<<<<<
 *         return cname
 * 
 */
  __pyx_tuple__74 = PyTuple_Pack(2, __pyx_kp_s__73, __pyx_n_s__44); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__74);
  __Pyx_GIVEREF(__pyx_tuple__74);
  __pyx_tuple__76 = PyTuple_Pack(2, __pyx_kp_s__75, __pyx_n_s_neg); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__76);
  __Pyx_GIVEREF(__pyx_tuple__76);
  __pyx_tuple__77 = PyTuple_Pack(2, __pyx_kp_s__21, __pyx_n_s__44); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__77);
  __Pyx_GIVEREF(__pyx_tuple__77);

  /* "Cython/Compiler/Code.py":1231
 * 
 *     def new_const_cname(self, prefix='', value=''):
 *         value = replace_identifier('_', value)[:32].strip('_')             # <<<<<<<<<<<<<<
 *         used = self.const_cnames_used
 *         name_suffix = value
 */
  __pyx_slice__78 = PySlice_New(Py_None, __pyx_int_32, Py_None); if (unlikely(!__pyx_slice__78)) __PYX_ERR(0, 1231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__78);
  __Pyx_GIVEREF(__pyx_slice__78);
  __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s__44); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 1231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__79);
  __Pyx_GIVEREF(__pyx_tuple__79);

  /* "Cython/Compiler/Code.py":1265
 *                         entry.pos, StringEncoding.EncodedString(replacement),
 *                         entry.cname)
 *                     w.putln('#else')             # <<<<<<<<<<<<<<
 *                 self.put_cached_builtin_init(
 *                     entry.pos, StringEncoding.EncodedString(entry.name),
 */
  __pyx_tuple__80 = PyTuple_Pack(1, __pyx_kp_s_else); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(0, 1265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__80);
  __Pyx_GIVEREF(__pyx_tuple__80);

  /* "Cython/Compiler/Code.py":1270
 *                     entry.cname)
 *                 if condition:
 *                     w.putln('#endif')             # <<<<<<<<<<<<<<
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):
 */
  __pyx_tuple__81 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__81);
  __Pyx_GIVEREF(__pyx_tuple__81);

  /* "Cython/Compiler/Code.py":1276
 *         interned_cname = 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_tuple__82 = PyTuple_Pack(2, __pyx_n_s_GetBuiltinName, __pyx_kp_s_ObjectHandling_c); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 1276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__82);
  __Pyx_GIVEREF(__pyx_tuple__82);

  /* "Cython/Compiler/Code.py":1334
 *                 cname, StringEncoding.split_string_literal(c.escaped_value)))
 *             if conditional:
 *                 decls_writer.putln("#endif")             # <<<<<<<<<<<<<<
 *             if c.py_strings is not None:
 *                 for py_string in c.py_strings.values():
 */
  __pyx_tuple__85 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 1334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__85);
  __Pyx_GIVEREF(__pyx_tuple__85);

  /* "Cython/Compiler/Code.py":1343
 *             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_tuple__86 = PyTuple_Pack(1, __pyx_kp_s_ifdef_Py_UNICODE_WIDE); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 1343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__86);
  __Pyx_GIVEREF(__pyx_tuple__86);

  /* "Cython/Compiler/Code.py":1346
 *             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_tuple__87 = PyTuple_Pack(1, __pyx_kp_s_else); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 1346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__87);
  __Pyx_GIVEREF(__pyx_tuple__87);

  /* "Cython/Compiler/Code.py":1348
 *                 decls_writer.putln("#else")
 *                 decls_writer.putln("static Py_UNICODE %s[] = { %s };" % (cname, utf16_array))
 *                 decls_writer.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *         if py_strings:
 */
  __pyx_tuple__88 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 1348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__88);
  __Pyx_GIVEREF(__pyx_tuple__88);

  /* "Cython/Compiler/Code.py":1351
 * 
 *         if py_strings:
 *             self.use_utility_code(UtilityCode.load_cached("InitStrings", "StringTools.c"))             # <<<<<<<<<<<<<<
 *             py_strings.sort()
 *             w = self.parts['pystring_table']
 */
  __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_InitStrings, __pyx_kp_s_StringTools_c); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 1351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__89);
  __Pyx_GIVEREF(__pyx_tuple__89);

  /* "Cython/Compiler/Code.py":1354
 *             py_strings.sort()
 *             w = self.parts['pystring_table']
 *             w.putln("")             # <<<<<<<<<<<<<<
 *             w.putln("static __Pyx_StringTabEntry %s[] = {" % Naming.stringtab_cname)
 *             for c_cname, _, py_string in py_strings:
 */
  __pyx_tuple__90 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 1354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__90);
  __Pyx_GIVEREF(__pyx_tuple__90);

  /* "Cython/Compiler/Code.py":1367
 *                     "static PyObject *%s;" % py_string.cname)
 *                 if py_string.py3str_cstring:
 *                     w.putln("#if PY_MAJOR_VERSION >= 3")             # <<<<<<<<<<<<<<
 *                     w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                         py_string.cname,
 */
  __pyx_tuple__91 = PyTuple_Pack(1, __pyx_kp_s_if_PY_MAJOR_VERSION_3); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 1367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__91);
  __Pyx_GIVEREF(__pyx_tuple__91);

  /* "Cython/Compiler/Code.py":1375
 *                         py_string.intern
 *                         ))
 *                     w.putln("#else")             # <<<<<<<<<<<<<<
 *                 w.putln("{&%s, %s, sizeof(%s), %s, %d, %d, %d}," % (
 *                     py_string.cname,
 */
  __pyx_tuple__92 = PyTuple_Pack(1, __pyx_kp_s_else); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 1375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__92);
  __Pyx_GIVEREF(__pyx_tuple__92);

  /* "Cython/Compiler/Code.py":1386
 *                     ))
 *                 if py_string.py3str_cstring:
 *                     w.putln("#endif")             # <<<<<<<<<<<<<<
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")
 *             w.putln("};")
 */
  __pyx_tuple__93 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 1386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__93);
  __Pyx_GIVEREF(__pyx_tuple__93);

  /* "Cython/Compiler/Code.py":1387
 *                 if py_string.py3str_cstring:
 *                     w.putln("#endif")
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")             # <<<<<<<<<<<<<<
 *             w.putln("};")
 * 
 */
  __pyx_tuple__94 = PyTuple_Pack(1, __pyx_kp_s_0_0_0_0_0_0_0); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 1387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__94);
  __Pyx_GIVEREF(__pyx_tuple__94);

  /* "Cython/Compiler/Code.py":1388
 *                     w.putln("#endif")
 *             w.putln("{0, 0, 0, 0, 0, 0, 0}")
 *             w.putln("};")             # <<<<<<<<<<<<<<
 * 
 *             init_globals = self.parts['init_globals']
 */
  __pyx_tuple__96 = PyTuple_Pack(1, __pyx_kp_s__95); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 1388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__96);
  __Pyx_GIVEREF(__pyx_tuple__96);

  /* "Cython/Compiler/Code.py":1411
 *             elif Utils.long_literal(value):
 *                 function = 'PyInt_FromString((char *)"%s", 0, 0)'
 *             elif len(value.lstrip('-')) > 4:             # <<<<<<<<<<<<<<
 *                 function = "PyInt_FromLong(%sL)"
 *             else:
 */
  __pyx_tuple__97 = PyTuple_Pack(1, __pyx_kp_s__75); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 1411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__97);
  __Pyx_GIVEREF(__pyx_tuple__97);

  /* "Cython/Compiler/Code.py":1455
 *                                             error_handling='ignore')
 *         try:
 *             F = [u' * ' + line.rstrip().replace(             # <<<<<<<<<<<<<<
 *                     u'*[inserted by cython to avoid comment closer]/', u'*[inserted by cython to avoid comment closer]/'
 *                     ).replace(
 */
  __pyx_tuple__100 = PyTuple_Pack(2, __pyx_kp_u__99, __pyx_kp_u_inserted_by_cython_to_avoid_com); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 1455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__100);
  __Pyx_GIVEREF(__pyx_tuple__100);

  /* "Cython/Compiler/Code.py":1457
 *             F = [u' * ' + line.rstrip().replace(
 *                     u'*[inserted by cython to avoid comment closer]/', u'*[inserted by cython to avoid comment closer]/'
 *                     ).replace(             # <<<<<<<<<<<<<<
 *                     u'/[inserted by cython to avoid comment start]*', u'/[inserted by cython to avoid comment start]*'
 *                     )
 */
  __pyx_tuple__102 = PyTuple_Pack(2, __pyx_kp_u__101, __pyx_kp_u_inserted_by_cython_to_avoid_com_2); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 1457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__102);
  __Pyx_GIVEREF(__pyx_tuple__102);

  /* "Cython/Compiler/Code.py":1496
 * def funccontext_property(name):
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):             # <<<<<<<<<<<<<<
 *         return attribute_of(self.funcstate)
 *     def set(self, value):
 */
  __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 1496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__103);
  __Pyx_GIVEREF(__pyx_tuple__103);
  __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get, 1496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(0, 1496, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1498
 *     def get(self):
 *         return attribute_of(self.funcstate)
 *     def set(self, value):             # <<<<<<<<<<<<<<
 *         setattr(self.funcstate, name, value)
 *     return property(get, set)
 */
  __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_value); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 1498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__105);
  __Pyx_GIVEREF(__pyx_tuple__105);
  __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_set, 1498, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(0, 1498, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1592
 *         # have no Cython source code correspondence
 *         cython_lineno = self.last_marked_pos[1] if self.last_marked_pos else 0
 *         self.buffer.markers.extend([cython_lineno] * s.count('\n'))             # <<<<<<<<<<<<<<
 *         self.buffer.write(s)
 * 
 */
  __pyx_tuple__107 = PyTuple_Pack(1, __pyx_kp_s_); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__107);
  __Pyx_GIVEREF(__pyx_tuple__107);

  /* "Cython/Compiler/Code.py":1693
 *             else:
 *                 self.put(code)
 *         self.write("\n")             # <<<<<<<<<<<<<<
 *         self.bol = 1
 * 
 */
  __pyx_tuple__108 = PyTuple_Pack(1, __pyx_kp_s_); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 1693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__108);
  __Pyx_GIVEREF(__pyx_tuple__108);

  /* "Cython/Compiler/Code.py":1699
 *         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_slice__109 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__109)) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__109);
  __Pyx_GIVEREF(__pyx_slice__109);
  __pyx_slice__110 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__110)) __PYX_ERR(0, 1699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__110);
  __Pyx_GIVEREF(__pyx_slice__110);

  /* "Cython/Compiler/Code.py":1707
 *         self.last_marked_pos = pos
 *         self.last_pos = None
 *         self.write("\n")             # <<<<<<<<<<<<<<
 *         if self.code_config.emit_code_comments:
 *             self.indent()
 */
  __pyx_tuple__111 = PyTuple_Pack(1, __pyx_kp_s_); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 1707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__111);
  __Pyx_GIVEREF(__pyx_tuple__111);

  /* "Cython/Compiler/Code.py":1734
 *         if include_dir and len(code) > 1024:
 *             include_file = "%s_%s.h" % (
 *                 name, hashlib.md5(code.encode('utf8')).hexdigest())             # <<<<<<<<<<<<<<
 *             path = os.path.join(include_dir, include_file)
 *             if not os.path.exists(path):
 */
  __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 1734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__113);
  __Pyx_GIVEREF(__pyx_tuple__113);

  /* "Cython/Compiler/Code.py":1738
 *             if not os.path.exists(path):
 *                 tmp_path = '%s.tmp%s' % (path, os.getpid())
 *                 with closing(Utils.open_new_file(tmp_path)) as f:             # <<<<<<<<<<<<<<
 *                     f.write(code)
 *                 os.rename(tmp_path, path)
 */
  __pyx_tuple__114 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 1738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__114);
  __Pyx_GIVEREF(__pyx_tuple__114);

  /* "Cython/Compiler/Code.py":1749
 *         fix_indent = False
 *         if "{" in code:
 *             dl = code.count("{")             # <<<<<<<<<<<<<<
 *         else:
 *             dl = 0
 */
  __pyx_tuple__116 = PyTuple_Pack(1, __pyx_kp_s__115); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 1749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__116);
  __Pyx_GIVEREF(__pyx_tuple__116);

  /* "Cython/Compiler/Code.py":1753
 *             dl = 0
 *         if "}" in code:
 *             dl -= code.count("}")             # <<<<<<<<<<<<<<
 *             if dl < 0:
 *                 self.level += dl
 */
  __pyx_tuple__117 = PyTuple_Pack(1, __pyx_kp_s__62); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 1753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__117);
  __Pyx_GIVEREF(__pyx_tuple__117);

  /* "Cython/Compiler/Code.py":1784
 * 
 *     def begin_block(self):
 *         self.putln("{")             # <<<<<<<<<<<<<<
 *         self.increase_indent()
 * 
 */
  __pyx_tuple__118 = PyTuple_Pack(1, __pyx_kp_s__115); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 1784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__118);
  __Pyx_GIVEREF(__pyx_tuple__118);

  /* "Cython/Compiler/Code.py":1789
 *     def end_block(self):
 *         self.decrease_indent()
 *         self.putln("}")             # <<<<<<<<<<<<<<
 * 
 *     def indent(self):
 */
  __pyx_tuple__119 = PyTuple_Pack(1, __pyx_kp_s__62); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__119);
  __Pyx_GIVEREF(__pyx_tuple__119);

  /* "Cython/Compiler/Code.py":1795
 * 
 *     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_tuple__121 = PyTuple_Pack(4, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 1795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__121);
  __Pyx_GIVEREF(__pyx_tuple__121);

  /* "Cython/Compiler/Code.py":1817
 *             self.put("%s " % storage_class)
 *         if not entry.cf_used:
 *             self.put('CYTHON_UNUSED ')             # <<<<<<<<<<<<<<
 *         self.put(entry.type.declaration_code(
 *             entry.cname, dll_linkage=dll_linkage))
 */
  __pyx_tuple__122 = PyTuple_Pack(1, __pyx_kp_s_CYTHON_UNUSED); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 1817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__122);
  __Pyx_GIVEREF(__pyx_tuple__122);

  /* "Cython/Compiler/Code.py":1823
 *             self.put_safe(" = %s" % entry.type.literal_code(entry.init))
 *         elif entry.type.is_pyobject:
 *             self.put(" = NULL")             # <<<<<<<<<<<<<<
 *         self.putln(";")
 * 
 */
  __pyx_tuple__123 = PyTuple_Pack(1, __pyx_kp_s_NULL); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 1823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__123);
  __Pyx_GIVEREF(__pyx_tuple__123);

  /* "Cython/Compiler/Code.py":1824
 *         elif entry.type.is_pyobject:
 *             self.put(" = NULL")
 *         self.putln(";")             # <<<<<<<<<<<<<<
 * 
 *     def put_temp_declarations(self, func_context):
 */
  __pyx_tuple__125 = PyTuple_Pack(1, __pyx_kp_s__124); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 1824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__125);
  __Pyx_GIVEREF(__pyx_tuple__125);

  /* "Cython/Compiler/Code.py":1849
 *     def put_generated_by(self):
 *         self.putln("/[inserted by cython to avoid comment start]* Generated by Cython %s *[inserted by cython to avoid comment closer]/" % Version.watermark)
 *         self.putln("")             # <<<<<<<<<<<<<<
 * 
 *     def put_h_guard(self, guard):
 */
  __pyx_tuple__126 = PyTuple_Pack(1, __pyx_kp_s__8); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 1849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__126);
  __Pyx_GIVEREF(__pyx_tuple__126);

  /* "Cython/Compiler/Code.py":2035
 *         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):
 */
  __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_Py_None); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__128);
  __Pyx_GIVEREF(__pyx_tuple__128);

  /* "Cython/Compiler/Code.py":2074
 *         """
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef WITH_THREAD")
 *         if not variable:
 */
  __pyx_tuple__130 = PyTuple_Pack(2, __pyx_n_s_ForceInitThreads, __pyx_kp_s_ModuleSetupCode_c); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__130);
  __Pyx_GIVEREF(__pyx_tuple__130);

  /* "Cython/Compiler/Code.py":2075
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("ForceInitThreads", "ModuleSetupCode.c"))
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 */
  __pyx_tuple__131 = PyTuple_Pack(1, __pyx_kp_s_ifdef_WITH_THREAD); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 2075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__131);
  __Pyx_GIVEREF(__pyx_tuple__131);

  /* "Cython/Compiler/Code.py":2079
 *             variable = '__pyx_gilstate_save'
 *             if declare_gilstate:
 *                 self.put("PyGILState_STATE ")             # <<<<<<<<<<<<<<
 *         self.putln("%s = PyGILState_Ensure();" % variable)
 *         self.putln("#endif")
 */
  __pyx_tuple__132 = PyTuple_Pack(1, __pyx_kp_s_PyGILState_STATE); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 2079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__132);
  __Pyx_GIVEREF(__pyx_tuple__132);

  /* "Cython/Compiler/Code.py":2081
 *                 self.put("PyGILState_STATE ")
 *         self.putln("%s = PyGILState_Ensure();" % variable)
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_release_ensured_gil(self, variable=None):
 */
  __pyx_tuple__133 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 2081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__133);
  __Pyx_GIVEREF(__pyx_tuple__133);

  /* "Cython/Compiler/Code.py":2089
 *         if not variable:
 *             variable = '__pyx_gilstate_save'
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         self.putln("PyGILState_Release(%s);" % variable)
 *         self.putln("#endif")
 */
  __pyx_tuple__134 = PyTuple_Pack(1, __pyx_kp_s_ifdef_WITH_THREAD); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__134);
  __Pyx_GIVEREF(__pyx_tuple__134);

  /* "Cython/Compiler/Code.py":2091
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_Release(%s);" % variable)
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_acquire_gil(self, variable=None):
 */
  __pyx_tuple__135 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(0, 2091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__135);
  __Pyx_GIVEREF(__pyx_tuple__135);

  /* "Cython/Compiler/Code.py":2098
 *         by a previous `put_release_gil`
 *         """
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         if variable:
 *             self.putln('_save = %s;' % variable)
 */
  __pyx_tuple__136 = PyTuple_Pack(1, __pyx_kp_s_ifdef_WITH_THREAD); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 2098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__136);
  __Pyx_GIVEREF(__pyx_tuple__136);

  /* "Cython/Compiler/Code.py":2101
 *         if variable:
 *             self.putln('_save = %s;' % variable)
 *         self.putln("Py_BLOCK_THREADS")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_tuple__137 = PyTuple_Pack(1, __pyx_n_s_Py_BLOCK_THREADS); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(0, 2101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__137);
  __Pyx_GIVEREF(__pyx_tuple__137);

  /* "Cython/Compiler/Code.py":2102
 *             self.putln('_save = %s;' % variable)
 *         self.putln("Py_BLOCK_THREADS")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def put_release_gil(self, variable=None):
 */
  __pyx_tuple__138 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 2102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__138);
  __Pyx_GIVEREF(__pyx_tuple__138);

  /* "Cython/Compiler/Code.py":2106
 *     def put_release_gil(self, variable=None):
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         self.putln("PyThreadState *_save;")
 *         self.putln("Py_UNBLOCK_THREADS")
 */
  __pyx_tuple__139 = PyTuple_Pack(1, __pyx_kp_s_ifdef_WITH_THREAD); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__139);
  __Pyx_GIVEREF(__pyx_tuple__139);

  /* "Cython/Compiler/Code.py":2107
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyThreadState *_save;")             # <<<<<<<<<<<<<<
 *         self.putln("Py_UNBLOCK_THREADS")
 *         if variable:
 */
  __pyx_tuple__140 = PyTuple_Pack(1, __pyx_kp_s_PyThreadState__save); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 2107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__140);
  __Pyx_GIVEREF(__pyx_tuple__140);

  /* "Cython/Compiler/Code.py":2108
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyThreadState *_save;")
 *         self.putln("Py_UNBLOCK_THREADS")             # <<<<<<<<<<<<<<
 *         if variable:
 *             self.putln('%s = _save;' % variable)
 */
  __pyx_tuple__141 = PyTuple_Pack(1, __pyx_n_s_Py_UNBLOCK_THREADS); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(0, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__141);
  __Pyx_GIVEREF(__pyx_tuple__141);

  /* "Cython/Compiler/Code.py":2111
 *         if variable:
 *             self.putln('%s = _save;' % variable)
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def declare_gilstate(self):
 */
  __pyx_tuple__142 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__142);
  __Pyx_GIVEREF(__pyx_tuple__142);

  /* "Cython/Compiler/Code.py":2114
 * 
 *     def declare_gilstate(self):
 *         self.putln("#ifdef WITH_THREAD")             # <<<<<<<<<<<<<<
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 *         self.putln("#endif")
 */
  __pyx_tuple__143 = PyTuple_Pack(1, __pyx_kp_s_ifdef_WITH_THREAD); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 2114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__143);
  __Pyx_GIVEREF(__pyx_tuple__143);

  /* "Cython/Compiler/Code.py":2115
 *     def declare_gilstate(self):
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_tuple__144 = PyTuple_Pack(1, __pyx_kp_s_PyGILState_STATE___pyx_gilstate); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 2115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__144);
  __Pyx_GIVEREF(__pyx_tuple__144);

  /* "Cython/Compiler/Code.py":2116
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     # error handling
 */
  __pyx_tuple__145 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(0, 2116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__145);
  __Pyx_GIVEREF(__pyx_tuple__145);

  /* "Cython/Compiler/Code.py":2186
 * 
 *     def put_declare_refcount_context(self):
 *         self.putln('__Pyx_RefNannyDeclarations')             # <<<<<<<<<<<<<<
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):
 */
  __pyx_tuple__146 = PyTuple_Pack(1, __pyx_n_s_Pyx_RefNannyDeclarations); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 2186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__146);
  __Pyx_GIVEREF(__pyx_tuple__146);

  /* "Cython/Compiler/Code.py":2191
 *         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_tuple__147 = PyTuple_Pack(2, __pyx_n_s_ForceInitThreads, __pyx_kp_s_ModuleSetupCode_c); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(0, 2191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__147);
  __Pyx_GIVEREF(__pyx_tuple__147);

  /* "Cython/Compiler/Code.py":2195
 * 
 *     def put_finish_refcount_context(self):
 *         self.putln("__Pyx_RefNannyFinishContext();")             # <<<<<<<<<<<<<<
 * 
 *     def put_add_traceback(self, qualified_name):
 */
  __pyx_tuple__148 = PyTuple_Pack(1, __pyx_kp_s_Pyx_RefNannyFinishContext); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 2195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__148);
  __Pyx_GIVEREF(__pyx_tuple__148);

  /* "Cython/Compiler/Code.py":2229
 *         self.putln('__Pyx_WriteUnraisable("%s", %s, %s, %s, %d, %d);' % format_tuple)
 *         self.globalstate.use_utility_code(
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_declarations(self):
 */
  __pyx_tuple__149 = PyTuple_Pack(2, __pyx_n_s_WriteUnraisableException, __pyx_kp_s_Exceptions_c); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__149);
  __Pyx_GIVEREF(__pyx_tuple__149);

  /* "Cython/Compiler/Code.py":2232
 * 
 *     def put_trace_declarations(self):
 *         self.putln('__Pyx_TraceDeclarations')             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_frame_init(self, codeobj=None):
 */
  __pyx_tuple__150 = PyTuple_Pack(1, __pyx_n_s_Pyx_TraceDeclarations); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__150);
  __Pyx_GIVEREF(__pyx_tuple__150);

  /* "Cython/Compiler/Code.py":2243
 * 
 *     def put_trace_exception(self):
 *         self.putln("__Pyx_TraceException();")             # <<<<<<<<<<<<<<
 * 
 *     def put_trace_return(self, retvalue_cname, nogil=False):
 */
  __pyx_tuple__151 = PyTuple_Pack(1, __pyx_kp_s_Pyx_TraceException); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(0, 2243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__151);
  __Pyx_GIVEREF(__pyx_tuple__151);

  /* "Cython/Compiler/Code.py":2249
 * 
 *     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_tuple__152 = PyTuple_Pack(1, __pyx_kp_s_ifdef__OPENMP); if (unlikely(!__pyx_tuple__152)) __PYX_ERR(0, 2249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__152);
  __Pyx_GIVEREF(__pyx_tuple__152);

  /* "Cython/Compiler/Code.py":2251
 *         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_tuple__153 = PyTuple_Pack(1, __pyx_kp_s_endif__OPENMP); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__153);
  __Pyx_GIVEREF(__pyx_tuple__153);

  /* "Cython/Compiler/Code.py":2259
 *         """
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")             # <<<<<<<<<<<<<<
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")
 */
  __pyx_tuple__154 = PyTuple_Pack(1, __pyx_kp_s_undef_likely); if (unlikely(!__pyx_tuple__154)) __PYX_ERR(0, 2259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__154);
  __Pyx_GIVEREF(__pyx_tuple__154);

  /* "Cython/Compiler/Code.py":2260
 *         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_tuple__155 = PyTuple_Pack(1, __pyx_kp_s_undef_unlikely); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(0, 2260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__155);
  __Pyx_GIVEREF(__pyx_tuple__155);

  /* "Cython/Compiler/Code.py":2261
 *         self.putln("    #undef likely")
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")             # <<<<<<<<<<<<<<
 *         self.putln("    #define unlikely(x) (x)")
 *         self.putln("#endif")
 */
  __pyx_tuple__156 = PyTuple_Pack(1, __pyx_kp_s_define_likely_x_x); if (unlikely(!__pyx_tuple__156)) __PYX_ERR(0, 2261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__156);
  __Pyx_GIVEREF(__pyx_tuple__156);

  /* "Cython/Compiler/Code.py":2262
 *         self.putln("    #undef unlikely")
 *         self.putln("    #define likely(x)   (x)")
 *         self.putln("    #define unlikely(x) (x)")             # <<<<<<<<<<<<<<
 *         self.putln("#endif")
 * 
 */
  __pyx_tuple__157 = PyTuple_Pack(1, __pyx_kp_s_define_unlikely_x_x); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(0, 2262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__157);
  __Pyx_GIVEREF(__pyx_tuple__157);

  /* "Cython/Compiler/Code.py":2263
 *         self.putln("    #define likely(x)   (x)")
 *         self.putln("    #define unlikely(x) (x)")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 *     def redef_builtin_expect(self, cond):
 */
  __pyx_tuple__158 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__158)) __PYX_ERR(0, 2263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__158);
  __Pyx_GIVEREF(__pyx_tuple__158);

  /* "Cython/Compiler/Code.py":2267
 *     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_tuple__159 = PyTuple_Pack(1, __pyx_kp_s_undef_likely); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(0, 2267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__159);
  __Pyx_GIVEREF(__pyx_tuple__159);

  /* "Cython/Compiler/Code.py":2268
 *         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_tuple__160 = PyTuple_Pack(1, __pyx_kp_s_undef_unlikely); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__160);
  __Pyx_GIVEREF(__pyx_tuple__160);

  /* "Cython/Compiler/Code.py":2269
 *         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_tuple__161 = PyTuple_Pack(1, __pyx_kp_s_define_likely_x___builtin_expec); if (unlikely(!__pyx_tuple__161)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__161);
  __Pyx_GIVEREF(__pyx_tuple__161);

  /* "Cython/Compiler/Code.py":2270
 *         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_tuple__162 = PyTuple_Pack(1, __pyx_kp_s_define_unlikely_x___builtin_exp); if (unlikely(!__pyx_tuple__162)) __PYX_ERR(0, 2270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__162);
  __Pyx_GIVEREF(__pyx_tuple__162);

  /* "Cython/Compiler/Code.py":2271
 *         self.putln("    #define likely(x)   __builtin_expect(!!(x), 1)")
 *         self.putln("    #define unlikely(x) __builtin_expect(!!(x), 0)")
 *         self.putln("#endif")             # <<<<<<<<<<<<<<
 * 
 * class PyrexCodeWriter(object):
 */
  __pyx_tuple__163 = PyTuple_Pack(1, __pyx_kp_s_endif); if (unlikely(!__pyx_tuple__163)) __PYX_ERR(0, 2271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__163);
  __Pyx_GIVEREF(__pyx_tuple__163);

  /* "Cython/Compiler/Code.py":43
 *     from builtins import str as basestring
 * 
 * KEYWORDS_MUST_BE_BYTES = sys.version_info < (2, 7)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__165 = PyTuple_Pack(2, __pyx_int_2, __pyx_int_7); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__165);
  __Pyx_GIVEREF(__pyx_tuple__165);

  /* "Cython/Compiler/Code.py":48
 * non_portable_builtins_map = {
 *     # builtins that have different names in different Python versions
 *     'bytes'         : ('PY_MAJOR_VERSION < 3',  'str'),             # <<<<<<<<<<<<<<
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 */
  __pyx_tuple__166 = PyTuple_Pack(2, __pyx_kp_s_PY_MAJOR_VERSION_3, __pyx_n_s_str); if (unlikely(!__pyx_tuple__166)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__166);
  __Pyx_GIVEREF(__pyx_tuple__166);

  /* "Cython/Compiler/Code.py":49
 *     # builtins that have different names in different Python versions
 *     'bytes'         : ('PY_MAJOR_VERSION < 3',  'str'),
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),             # <<<<<<<<<<<<<<
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),
 */
  __pyx_tuple__167 = PyTuple_Pack(2, __pyx_kp_s_PY_MAJOR_VERSION_3_2, __pyx_n_s_str); if (unlikely(!__pyx_tuple__167)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__167);
  __Pyx_GIVEREF(__pyx_tuple__167);

  /* "Cython/Compiler/Code.py":50
 *     'bytes'         : ('PY_MAJOR_VERSION < 3',  'str'),
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),             # <<<<<<<<<<<<<<
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),
 *     'raw_input'     : ('PY_MAJOR_VERSION >= 3', 'input'),
 */
  __pyx_tuple__168 = PyTuple_Pack(2, __pyx_kp_s_PY_MAJOR_VERSION_3_2, __pyx_n_s_str); if (unlikely(!__pyx_tuple__168)) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__168);
  __Pyx_GIVEREF(__pyx_tuple__168);

  /* "Cython/Compiler/Code.py":51
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),             # <<<<<<<<<<<<<<
 *     'raw_input'     : ('PY_MAJOR_VERSION >= 3', 'input'),
 * }
 */
  __pyx_tuple__169 = PyTuple_Pack(2, __pyx_kp_s_PY_MAJOR_VERSION_3_2, __pyx_n_s_range); if (unlikely(!__pyx_tuple__169)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__169);
  __Pyx_GIVEREF(__pyx_tuple__169);

  /* "Cython/Compiler/Code.py":52
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),
 *     'raw_input'     : ('PY_MAJOR_VERSION >= 3', 'input'),             # <<<<<<<<<<<<<<
 * }
 * 
 */
  __pyx_tuple__170 = PyTuple_Pack(2, __pyx_kp_s_PY_MAJOR_VERSION_3_2, __pyx_n_s_input); if (unlikely(!__pyx_tuple__170)) __PYX_ERR(0, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__170);
  __Pyx_GIVEREF(__pyx_tuple__170);

  /* "Cython/Compiler/Code.py":78
 * }.get
 * 
 * is_self_assignment = re.compile(r" *(\w+) = (\1);\s*$").match             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__171 = PyTuple_Pack(1, __pyx_kp_s_w_1_s); if (unlikely(!__pyx_tuple__171)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__171);
  __Pyx_GIVEREF(__pyx_tuple__171);

  /* "Cython/Compiler/Code.py":81
 * 
 * 
 * def get_utility_dir():             # <<<<<<<<<<<<<<
 *     # make this a function and not global variables:
 *     # http://trac.cython.org/cython_trac/ticket/475
 */
  __pyx_tuple__172 = PyTuple_Pack(1, __pyx_n_s_Cython_dir); if (unlikely(!__pyx_tuple__172)) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__172);
  __Pyx_GIVEREF(__pyx_tuple__172);
  __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_utility_dir, 81, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) __PYX_ERR(0, 81, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":122
 * 
 *     @classmethod
 *     def _add_utility(cls, utility, type, lines, begin_lineno, tags=None):             # <<<<<<<<<<<<<<
 *         if utility is None:
 *             return
 */
  __pyx_tuple__174 = PyTuple_Pack(11, __pyx_n_s_cls, __pyx_n_s_utility, __pyx_n_s_type, __pyx_n_s_lines, __pyx_n_s_begin_lineno, __pyx_n_s_tags, __pyx_n_s_code, __pyx_n_s_e, __pyx_n_s_all_tags, __pyx_n_s_name, __pyx_n_s_values); if (unlikely(!__pyx_tuple__174)) __PYX_ERR(0, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__174);
  __Pyx_GIVEREF(__pyx_tuple__174);
  __pyx_codeobj__175 = (PyObject*)__Pyx_PyCode_New(6, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_add_utility, 122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__175)) __PYX_ERR(0, 122, __pyx_L1_error)
  __pyx_tuple__176 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__176)) __PYX_ERR(0, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__176);
  __Pyx_GIVEREF(__pyx_tuple__176);

  /* "Cython/Compiler/Code.py":159
 * 
 *     @classmethod
 *     def load_utilities_from_file(cls, path):             # <<<<<<<<<<<<<<
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:
 */
  __pyx_tuple__177 = PyTuple_Pack(23, __pyx_n_s_cls, __pyx_n_s_path, __pyx_n_s_utilities, __pyx_n_s_filename, __pyx_n_s__44, __pyx_n_s_ext, __pyx_n_s_comment, __pyx_n_s_strip_comments, __pyx_n_s_rstrip, __pyx_n_s_match_special, __pyx_n_s_match_type, __pyx_n_s_f, __pyx_n_s_all_lines, __pyx_n_s_lines, __pyx_n_s_tags, __pyx_n_s_utility, __pyx_n_s_type, __pyx_n_s_begin_lineno, __pyx_n_s_lineno, __pyx_n_s_line, __pyx_n_s_m, __pyx_n_s_name, __pyx_n_s_mtype); if (unlikely(!__pyx_tuple__177)) __PYX_ERR(0, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__177);
  __Pyx_GIVEREF(__pyx_tuple__177);
  __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(2, 0, 23, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_load_utilities_from_file, 159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(0, 159, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":223
 * 
 *     @classmethod
 *     def load(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load utility code from a file specified by from_file (relative to
 */
  __pyx_tuple__179 = PyTuple_Pack(22, __pyx_n_s_cls, __pyx_n_s_util_code_name, __pyx_n_s_from_file, __pyx_n_s_kwargs, __pyx_n_s_utility_dir, __pyx_n_s_prefix, __pyx_n_s_listing, __pyx_n_s_zipfile, __pyx_n_s_loader_2, __pyx_n_s_archive, __pyx_n_s_fileobj, __pyx_n_s_files, __pyx_n_s_utilities, __pyx_n_s_proto, __pyx_n_s_proto_block, __pyx_n_s_impl, __pyx_n_s_tags, __pyx_n_s_orig_kwargs, __pyx_n_s_name, __pyx_n_s_values, __pyx_n_s_filename, __pyx_n_s_dep); if (unlikely(!__pyx_tuple__179)) __PYX_ERR(0, 223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__179);
  __Pyx_GIVEREF(__pyx_tuple__179);
  __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(3, 0, 22, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_load, 223, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(0, 223, __pyx_L1_error)
  __pyx_tuple__181 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__181)) __PYX_ERR(0, 223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__181);
  __Pyx_GIVEREF(__pyx_tuple__181);

  /* "Cython/Compiler/Code.py":294
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, __cache={}):             # <<<<<<<<<<<<<<
 *         """
 *         Calls .load(), but using a per-type cache based on utility name and file name.
 */
  __pyx_tuple__182 = PyTuple_Pack(6, __pyx_n_s_cls, __pyx_n_s_utility_code_name, __pyx_n_s_from_file, __pyx_n_s_cache, __pyx_n_s_key, __pyx_n_s_code); if (unlikely(!__pyx_tuple__182)) __PYX_ERR(0, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__182);
  __Pyx_GIVEREF(__pyx_tuple__182);
  __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__182, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_load_cached, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) __PYX_ERR(0, 294, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":307
 * 
 *     @classmethod
 *     def load_as_string(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load a utility code as a string. Returns (proto, implementation)
 */
  __pyx_tuple__184 = PyTuple_Pack(7, __pyx_n_s_cls, __pyx_n_s_util_code_name, __pyx_n_s_from_file, __pyx_n_s_kwargs, __pyx_n_s_util, __pyx_n_s_proto, __pyx_n_s_impl); if (unlikely(!__pyx_tuple__184)) __PYX_ERR(0, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__184);
  __Pyx_GIVEREF(__pyx_tuple__184);
  __pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__184, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_load_as_string, 307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) __PYX_ERR(0, 307, __pyx_L1_error)
  __pyx_tuple__186 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__186)) __PYX_ERR(0, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__186);
  __Pyx_GIVEREF(__pyx_tuple__186);

  /* "Cython/Compiler/Code.py":315
 *         return util.format_code(proto), util.format_code(impl)
 * 
 *     def format_code(self, code_string, replace_empty_lines=re.compile(r'\n\n+').sub):             # <<<<<<<<<<<<<<
 *         """
 *         Format a code section for output.
 */
  __pyx_tuple__187 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_code_string, __pyx_n_s_replace_empty_lines); if (unlikely(!__pyx_tuple__187)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__187);
  __Pyx_GIVEREF(__pyx_tuple__187);
  __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_format_code, 315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) __PYX_ERR(0, 315, __pyx_L1_error)
  __pyx_tuple__189 = PyTuple_Pack(1, __pyx_kp_s_n_n); if (unlikely(!__pyx_tuple__189)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__189);
  __Pyx_GIVEREF(__pyx_tuple__189);

  /* "Cython/Compiler/Code.py":323
 *         return code_string
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 */
  __pyx_tuple__190 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__190)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__190);
  __Pyx_GIVEREF(__pyx_tuple__190);
  __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_str_2, 323, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) __PYX_ERR(0, 323, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":326
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */
  __pyx_tuple__192 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__192)) __PYX_ERR(0, 326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__192);
  __Pyx_GIVEREF(__pyx_tuple__192);
  __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__192, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_tree, 326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) __PYX_ERR(0, 326, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":349
 *     """
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None, requires=None,             # <<<<<<<<<<<<<<
 *                  proto_block='utility_code_proto', name=None, file=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 */
  __pyx_tuple__194 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_proto, __pyx_n_s_impl, __pyx_n_s_init, __pyx_n_s_cleanup, __pyx_n_s_requires, __pyx_n_s_proto_block, __pyx_n_s_name, __pyx_n_s_file_2); if (unlikely(!__pyx_tuple__194)) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__194);
  __Pyx_GIVEREF(__pyx_tuple__194);
  __pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(9, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__194, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) __PYX_ERR(0, 349, __pyx_L1_error)
  __pyx_tuple__196 = PyTuple_Pack(8, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject*)__pyx_n_s_utility_code_proto), ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__196)) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__196);
  __Pyx_GIVEREF(__pyx_tuple__196);

  /* "Cython/Compiler/Code.py":363
 *         self.file = file
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash((self.proto, self.impl))
 * 
 */
  __pyx_tuple__197 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__197)) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__197);
  __Pyx_GIVEREF(__pyx_tuple__197);
  __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_hash, 363, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) __PYX_ERR(0, 363, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":366
 *         return hash((self.proto, self.impl))
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if self is other:
 *             return True
 */
  __pyx_tuple__199 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_other, __pyx_n_s_self_type, __pyx_n_s_other_type, __pyx_n_s_self_proto, __pyx_n_s_other_proto); if (unlikely(!__pyx_tuple__199)) __PYX_ERR(0, 366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__199);
  __Pyx_GIVEREF(__pyx_tuple__199);
  __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_eq, 366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) __PYX_ERR(0, 366, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":377
 *         return (self_proto, self.impl) == (other_proto, other.impl)
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
 */
  __pyx_tuple__201 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_s_4, __pyx_n_s_context); if (unlikely(!__pyx_tuple__201)) __PYX_ERR(0, 377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__201);
  __Pyx_GIVEREF(__pyx_tuple__201);
  __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_none_or_sub, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) __PYX_ERR(0, 377, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":385
 *         return s % context
 * 
 *     def specialize(self, pyrex_type=None, **data):             # <<<<<<<<<<<<<<
 *         # Dicts aren't hashable...
 *         if pyrex_type is not None:
 */
  __pyx_tuple__203 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_pyrex_type, __pyx_n_s_data, __pyx_n_s_key, __pyx_n_s_requires, __pyx_n_s_s_4, __pyx_n_s_r); if (unlikely(!__pyx_tuple__203)) __PYX_ERR(0, 385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__203);
  __Pyx_GIVEREF(__pyx_tuple__203);
  __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_specialize, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) __PYX_ERR(0, 385, __pyx_L1_error)
  __pyx_tuple__205 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__205)) __PYX_ERR(0, 385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__205);
  __Pyx_GIVEREF(__pyx_tuple__205);

  /* "Cython/Compiler/Code.py":410
 *             return s
 * 
 *     def inject_string_constants(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 */
  __pyx_tuple__206 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_impl, __pyx_n_s_output, __pyx_n_s_replacements, __pyx_n_s_externalise, __pyx_n_s_externalise); if (unlikely(!__pyx_tuple__206)) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__206);
  __Pyx_GIVEREF(__pyx_tuple__206);
  __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_inject_string_constants, 410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) __PYX_ERR(0, 410, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":430
 *         return bool(replacements), impl
 * 
 *     def inject_unbound_methods(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 */
  __pyx_tuple__208 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_impl, __pyx_n_s_output, __pyx_n_s_utility_code, __pyx_n_s_externalise, __pyx_n_s_externalise, __pyx_n_s_helper); if (unlikely(!__pyx_tuple__208)) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__208);
  __Pyx_GIVEREF(__pyx_tuple__208);
  __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_inject_unbound_methods, 430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(0, 430, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":459
 *         return bool(utility_code), impl
 * 
 *     def wrap_c_strings(self, impl):             # <<<<<<<<<<<<<<
 *         """Replace CSTRING('''xyz''') by a C compatible string
 *         """
 */
  __pyx_tuple__210 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_impl, __pyx_n_s_split_string, __pyx_n_s_split_string); if (unlikely(!__pyx_tuple__210)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__210);
  __Pyx_GIVEREF(__pyx_tuple__210);
  __pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_wrap_c_strings, 459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(0, 459, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":475
 *         return impl
 * 
 *     def put_code(self, output):             # <<<<<<<<<<<<<<
 *         if self.requires:
 *             for dependency in self.requires:
 */
  __pyx_tuple__212 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_output, __pyx_n_s_dependency, __pyx_n_s_writer, __pyx_n_s_impl, __pyx_n_s_is_specialised1, __pyx_n_s_is_specialised2); if (unlikely(!__pyx_tuple__212)) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__212);
  __Pyx_GIVEREF(__pyx_tuple__212);
  __pyx_codeobj__213 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__212, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_code, 475, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__213)) __PYX_ERR(0, 475, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":515
 * 
 * 
 * def sub_tempita(s, context, file=None, name=None):             # <<<<<<<<<<<<<<
 *     "Run tempita on string s with given context."
 *     if not s:
 */
  __pyx_tuple__214 = PyTuple_Pack(5, __pyx_n_s_s_4, __pyx_n_s_context, __pyx_n_s_file_2, __pyx_n_s_name, __pyx_n_s_sub); if (unlikely(!__pyx_tuple__214)) __PYX_ERR(0, 515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__214);
  __Pyx_GIVEREF(__pyx_tuple__214);
  __pyx_codeobj__215 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__214, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_sub_tempita, 515, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__215)) __PYX_ERR(0, 515, __pyx_L1_error)
  __pyx_tuple__216 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__216)) __PYX_ERR(0, 515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__216);
  __Pyx_GIVEREF(__pyx_tuple__216);

  /* "Cython/Compiler/Code.py":530
 * 
 * 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_tuple__217 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_proto, __pyx_n_s_impl, __pyx_n_s_init, __pyx_n_s_file_2, __pyx_n_s_context, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__217)) __PYX_ERR(0, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__217);
  __Pyx_GIVEREF(__pyx_tuple__217);
  __pyx_codeobj__218 = (PyObject*)__Pyx_PyCode_New(7, 0, 8, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__217, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__218)) __PYX_ERR(0, 530, __pyx_L1_error)
  __pyx_tuple__219 = PyTuple_Pack(6, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__219)) __PYX_ERR(0, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__219);
  __Pyx_GIVEREF(__pyx_tuple__219);

  /* "Cython/Compiler/Code.py":540
 * 
 *     @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_tuple__220 = PyTuple_Pack(8, __pyx_n_s_cls, __pyx_n_s_utility_code_name, __pyx_n_s_from_file, __pyx_n_s_context, __pyx_n_s_cache, __pyx_n_s_context_key, __pyx_n_s_key, __pyx_n_s_code); if (unlikely(!__pyx_tuple__220)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__220);
  __Pyx_GIVEREF(__pyx_tuple__220);
  __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(5, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__220, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_load_cached, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) __PYX_ERR(0, 540, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":551
 *         return code
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
 */
  __pyx_tuple__222 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_s_4, __pyx_n_s_context); if (unlikely(!__pyx_tuple__222)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__222);
  __Pyx_GIVEREF(__pyx_tuple__222);
  __pyx_codeobj__223 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__222, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_none_or_sub, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__223)) __PYX_ERR(0, 551, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":567
 *     __name__ = '<lazy>'
 * 
 *     def __init__(self, callback):             # <<<<<<<<<<<<<<
 *         self.callback = callback
 * 
 */
  __pyx_tuple__224 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_callback); if (unlikely(!__pyx_tuple__224)) __PYX_ERR(0, 567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__224);
  __Pyx_GIVEREF(__pyx_tuple__224);
  __pyx_codeobj__225 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__224, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 567, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__225)) __PYX_ERR(0, 567, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":570
 *         self.callback = callback
 * 
 *     def put_code(self, globalstate):             # <<<<<<<<<<<<<<
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility)
 */
  __pyx_tuple__226 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_globalstate, __pyx_n_s_utility); if (unlikely(!__pyx_tuple__226)) __PYX_ERR(0, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__226);
  __Pyx_GIVEREF(__pyx_tuple__226);
  __pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__226, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_code, 570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(0, 570, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":626
 *     # labels
 * 
 *     def new_label(self, name=None):             # <<<<<<<<<<<<<<
 *         n = self.label_counter
 *         self.label_counter = n + 1
 */
  __pyx_tuple__228 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name); if (unlikely(!__pyx_tuple__228)) __PYX_ERR(0, 626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__228);
  __Pyx_GIVEREF(__pyx_tuple__228);
  __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_label, 626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) __PYX_ERR(0, 626, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":634
 *         return label
 * 
 *     def new_yield_label(self):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_yield')
 *         num_and_label = (len(self.yield_labels) + 1, label)
 */
  __pyx_tuple__230 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_label, __pyx_n_s_num_and_label); if (unlikely(!__pyx_tuple__230)) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__230);
  __Pyx_GIVEREF(__pyx_tuple__230);
  __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__230, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_yield_label, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(0, 634, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":640
 *         return num_and_label
 * 
 *     def new_error_label(self):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label('error')
 */
  __pyx_tuple__232 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_old_err_lbl); if (unlikely(!__pyx_tuple__232)) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__232);
  __Pyx_GIVEREF(__pyx_tuple__232);
  __pyx_codeobj__233 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__232, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_error_label, 640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__233)) __PYX_ERR(0, 640, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":645
 *         return old_err_lbl
 * 
 *     def get_loop_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
 */
  __pyx_tuple__234 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__234)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__234);
  __Pyx_GIVEREF(__pyx_tuple__234);
  __pyx_codeobj__235 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__234, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_loop_labels, 645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__235)) __PYX_ERR(0, 645, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":650
 *             self.break_label)
 * 
 *     def set_loop_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label) = labels
 */
  __pyx_tuple__236 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_labels); if (unlikely(!__pyx_tuple__236)) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__236);
  __Pyx_GIVEREF(__pyx_tuple__236);
  __pyx_codeobj__237 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__236, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_set_loop_labels, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__237)) __PYX_ERR(0, 650, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":654
 *          self.break_label) = labels
 * 
 *     def new_loop_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
 */
  __pyx_tuple__238 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_old_labels); if (unlikely(!__pyx_tuple__238)) __PYX_ERR(0, 654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__238);
  __Pyx_GIVEREF(__pyx_tuple__238);
  __pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__238, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_loop_labels, 654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) __PYX_ERR(0, 654, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":661
 *         return old_labels
 * 
 *     def get_all_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
 */
  __pyx_tuple__240 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__240)) __PYX_ERR(0, 661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__240);
  __Pyx_GIVEREF(__pyx_tuple__240);
  __pyx_codeobj__241 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__240, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_all_labels, 661, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) __PYX_ERR(0, 661, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":668
 *             self.error_label)
 * 
 *     def set_all_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label,
 */
  __pyx_tuple__242 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_labels); if (unlikely(!__pyx_tuple__242)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__242);
  __Pyx_GIVEREF(__pyx_tuple__242);
  __pyx_codeobj__243 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__242, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_set_all_labels, 668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__243)) __PYX_ERR(0, 668, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":674
 *          self.error_label) = labels
 * 
 *     def all_new_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_all_labels()
 *         new_labels = []
 */
  __pyx_tuple__244 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_old_labels, __pyx_n_s_new_labels, __pyx_n_s_old_label, __pyx_n_s_name); if (unlikely(!__pyx_tuple__244)) __PYX_ERR(0, 674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__244);
  __Pyx_GIVEREF(__pyx_tuple__244);
  __pyx_codeobj__245 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__244, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_all_new_labels, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__245)) __PYX_ERR(0, 674, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":685
 *         return old_labels
 * 
 *     def use_label(self, lbl):             # <<<<<<<<<<<<<<
 *         self.labels_used.add(lbl)
 * 
 */
  __pyx_tuple__246 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_lbl); if (unlikely(!__pyx_tuple__246)) __PYX_ERR(0, 685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__246);
  __Pyx_GIVEREF(__pyx_tuple__246);
  __pyx_codeobj__247 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__246, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_use_label, 685, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__247)) __PYX_ERR(0, 685, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":688
 *         self.labels_used.add(lbl)
 * 
 *     def label_used(self, lbl):             # <<<<<<<<<<<<<<
 *         return lbl in self.labels_used
 * 
 */
  __pyx_tuple__248 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_lbl); if (unlikely(!__pyx_tuple__248)) __PYX_ERR(0, 688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__248);
  __Pyx_GIVEREF(__pyx_tuple__248);
  __pyx_codeobj__249 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__248, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_label_used, 688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__249)) __PYX_ERR(0, 688, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":693
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False):             # <<<<<<<<<<<<<<
 *         """
 *         Allocates a temporary (which may create a new one or get a previously
 */
  __pyx_tuple__250 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_manage_ref, __pyx_n_s_static, __pyx_n_s_freelist, __pyx_n_s_result); if (unlikely(!__pyx_tuple__250)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__250);
  __Pyx_GIVEREF(__pyx_tuple__250);
  __pyx_codeobj__251 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__250, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_allocate_temp, 693, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) __PYX_ERR(0, 693, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":742
 *         return result
 * 
 *     def release_temp(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Releases a temporary so that it can be reused by other code needing
 */
  __pyx_tuple__252 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_type, __pyx_n_s_manage_ref, __pyx_n_s_freelist); if (unlikely(!__pyx_tuple__252)) __PYX_ERR(0, 742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__252);
  __Pyx_GIVEREF(__pyx_tuple__252);
  __pyx_codeobj__253 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__252, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_release_temp, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__253)) __PYX_ERR(0, 742, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":759
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released *[inserted by cython to avoid comment closer]/" % name)
 * 
 *     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_tuple__254 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__254)) __PYX_ERR(0, 759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__254);
  __Pyx_GIVEREF(__pyx_tuple__254);
  __pyx_codeobj__255 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__254, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_temps_in_use, 759, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__255)) __PYX_ERR(0, 759, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":770
 *         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 of a
 */
  __pyx_tuple__256 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_type, __pyx_n_s_manage_ref); if (unlikely(!__pyx_tuple__256)) __PYX_ERR(0, 770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__256);
  __Pyx_GIVEREF(__pyx_tuple__256);
  __pyx_codeobj__257 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__256, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_temps_holding_reference, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__257)) __PYX_ERR(0, 770, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":779
 *                 if manage_ref  and type.is_pyobject]
 * 
 *     def all_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python objects.
 *         """
 */
  __pyx_tuple__258 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_manage_ref, __pyx_n_s_static); if (unlikely(!__pyx_tuple__258)) __PYX_ERR(0, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__258);
  __Pyx_GIVEREF(__pyx_tuple__258);
  __pyx_codeobj__259 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__258, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_all_managed_temps, 779, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__259)) __PYX_ERR(0, 779, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":786
 *                 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_tuple__260 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_manage_ref, __pyx_n_s_freelist, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__260)) __PYX_ERR(0, 786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__260);
  __Pyx_GIVEREF(__pyx_tuple__260);
  __pyx_codeobj__261 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__260, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_all_free_managed_temps, 786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) __PYX_ERR(0, 786, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":796
 *                 for cname in freelist[0]]
 * 
 *     def start_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         """
 *         Useful to find out which temps were used in a code block
 */
  __pyx_tuple__262 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__262)) __PYX_ERR(0, 796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__262);
  __Pyx_GIVEREF(__pyx_tuple__262);
  __pyx_codeobj__263 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__262, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_start_collecting_temps, 796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__263)) __PYX_ERR(0, 796, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":802
 *         self.collect_temps_stack.append(set())
 * 
 *     def stop_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         return self.collect_temps_stack.pop()
 * 
 */
  __pyx_tuple__264 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__264)) __PYX_ERR(0, 802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__264);
  __Pyx_GIVEREF(__pyx_tuple__264);
  __pyx_codeobj__265 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_stop_collecting_temps, 802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__265)) __PYX_ERR(0, 802, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":805
 *         return self.collect_temps_stack.pop()
 * 
 *     def init_closure_temps(self, scope):             # <<<<<<<<<<<<<<
 *         self.closure_temps = ClosureTempAllocator(scope)
 * 
 */
  __pyx_tuple__266 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_scope); if (unlikely(!__pyx_tuple__266)) __PYX_ERR(0, 805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__266);
  __Pyx_GIVEREF(__pyx_tuple__266);
  __pyx_codeobj__267 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__266, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_closure_temps, 805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__267)) __PYX_ERR(0, 805, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":818
 *     """
 * 
 *     def __init__(self, cname, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.value = value
 */
  __pyx_tuple__268 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_value, __pyx_n_s_py_type, __pyx_n_s_value_code); if (unlikely(!__pyx_tuple__268)) __PYX_ERR(0, 818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__268);
  __Pyx_GIVEREF(__pyx_tuple__268);
  __pyx_codeobj__269 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__268, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__269)) __PYX_ERR(0, 818, __pyx_L1_error)
  __pyx_tuple__270 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__270)) __PYX_ERR(0, 818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__270);
  __Pyx_GIVEREF(__pyx_tuple__270);

  /* "Cython/Compiler/Code.py":839
 *                replace_identifier=object, find_alphanums=object)
 * possible_unicode_identifier = re.compile(br"(?![0-9])\w+$".decode('ascii'), re.U).match
 * possible_bytes_identifier = re.compile(r"(?![0-9])\w+$".encode('ASCII')).match             # <<<<<<<<<<<<<<
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
 */
  __pyx_tuple__271 = PyTuple_Pack(1, __pyx_n_s_ASCII); if (unlikely(!__pyx_tuple__271)) __PYX_ERR(0, 839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__271);
  __Pyx_GIVEREF(__pyx_tuple__271);

  /* "Cython/Compiler/Code.py":840
 * possible_unicode_identifier = re.compile(br"(?![0-9])\w+$".decode('ascii'), re.U).match
 * possible_bytes_identifier = re.compile(r"(?![0-9])\w+$".encode('ASCII')).match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub             # <<<<<<<<<<<<<<
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
 * 
 */
  __pyx_tuple__272 = PyTuple_Pack(1, __pyx_kp_s_a_zA_Z0_9); if (unlikely(!__pyx_tuple__272)) __PYX_ERR(0, 840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__272);
  __Pyx_GIVEREF(__pyx_tuple__272);

  /* "Cython/Compiler/Code.py":841
 * possible_bytes_identifier = re.compile(r"(?![0-9])\w+$".encode('ASCII')).match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall             # <<<<<<<<<<<<<<
 * 
 * class StringConst(object):
 */
  __pyx_tuple__273 = PyTuple_Pack(1, __pyx_kp_s_a_zA_Z0_9_2); if (unlikely(!__pyx_tuple__273)) __PYX_ERR(0, 841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__273);
  __Pyx_GIVEREF(__pyx_tuple__273);

  /* "Cython/Compiler/Code.py":857
 *         self.py_versions = []
 * 
 *     def add_py_version(self, version):             # <<<<<<<<<<<<<<
 *         if not version:
 *             self.py_versions = [2, 3]
 */
  __pyx_tuple__274 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_version); if (unlikely(!__pyx_tuple__274)) __PYX_ERR(0, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__274);
  __Pyx_GIVEREF(__pyx_tuple__274);
  __pyx_codeobj__275 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__274, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_add_py_version, 857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__275)) __PYX_ERR(0, 857, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":863
 *             self.py_versions.append(version)
 * 
 *     def get_py_string_const(self, encoding, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings
 */
  __pyx_tuple__276 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_encoding, __pyx_n_s_identifier, __pyx_n_s_is_str, __pyx_n_s_py3str_cstring); if (unlikely(!__pyx_tuple__276)) __PYX_ERR(0, 863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__276);
  __Pyx_GIVEREF(__pyx_tuple__276);
  __pyx_codeobj__277 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__276, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_string_const, 863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__277)) __PYX_ERR(0, 863, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":932
 *     # is_str      boolean
 * 
 *     def __init__(self, cname, encoding, is_unicode, is_str=False,             # <<<<<<<<<<<<<<
 *                  py3str_cstring=None, intern=False):
 *         self.cname = cname
 */
  __pyx_tuple__278 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_encoding, __pyx_n_s_is_unicode, __pyx_n_s_is_str, __pyx_n_s_py3str_cstring, __pyx_n_s_intern); if (unlikely(!__pyx_tuple__278)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__278);
  __Pyx_GIVEREF(__pyx_tuple__278);
  __pyx_codeobj__279 = (PyObject*)__Pyx_PyCode_New(7, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__278, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 932, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__279)) __PYX_ERR(0, 932, __pyx_L1_error)
  __pyx_tuple__280 = PyTuple_Pack(3, ((PyObject *)Py_False), ((PyObject *)Py_None), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__280)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__280);
  __Pyx_GIVEREF(__pyx_tuple__280);

  /* "Cython/Compiler/Code.py":941
 *         self.intern = intern
 * 
 *     def __lt__(self, other):             # <<<<<<<<<<<<<<
 *         return self.cname < other.cname
 * 
 */
  __pyx_tuple__281 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__281)) __PYX_ERR(0, 941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__281);
  __Pyx_GIVEREF(__pyx_tuple__281);
  __pyx_codeobj__282 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__281, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_lt, 941, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__282)) __PYX_ERR(0, 941, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1004
 * 
 * 
 *     def __init__(self, writer, module_node, code_config, common_utility_include_dir=None):             # <<<<<<<<<<<<<<
 *         self.filename_table = {}
 *         self.filename_list = []
 */
  __pyx_tuple__283 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_writer, __pyx_n_s_module_node, __pyx_n_s_code_config, __pyx_n_s_common_utility_include_dir); if (unlikely(!__pyx_tuple__283)) __PYX_ERR(0, 1004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__283);
  __Pyx_GIVEREF(__pyx_tuple__283);
  __pyx_codeobj__284 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__283, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 1004, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__284)) __PYX_ERR(0, 1004, __pyx_L1_error)
  __pyx_tuple__285 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__285)) __PYX_ERR(0, 1004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__285);
  __Pyx_GIVEREF(__pyx_tuple__285);

  /* "Cython/Compiler/Code.py":1027
 *         self.rootwriter = writer
 * 
 *     def initialize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for part in self.code_layout:
 */
  __pyx_tuple__286 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_rootwriter, __pyx_n_s_part, __pyx_n_s_w, __pyx_n_s_code); if (unlikely(!__pyx_tuple__286)) __PYX_ERR(0, 1027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__286);
  __Pyx_GIVEREF(__pyx_tuple__286);
  __pyx_codeobj__287 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__286, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_initialize_main_c_code, 1027, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__287)) __PYX_ERR(0, 1027, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1069
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
 *     def finalize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         self.close_global_decls()
 * 
 */
  __pyx_tuple__288 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_code, __pyx_n_s_util); if (unlikely(!__pyx_tuple__288)) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__288);
  __Pyx_GIVEREF(__pyx_tuple__288);
  __pyx_codeobj__289 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__288, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_finalize_main_c_code, 1069, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__289)) __PYX_ERR(0, 1069, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1080
 *         code.putln("")
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         return self.parts[key]
 * 
 */
  __pyx_tuple__290 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__290)) __PYX_ERR(0, 1080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__290);
  __Pyx_GIVEREF(__pyx_tuple__290);
  __pyx_codeobj__291 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__290, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_getitem, 1080, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__291)) __PYX_ERR(0, 1080, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1086
 *     # 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_tuple__292 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_w); if (unlikely(!__pyx_tuple__292)) __PYX_ERR(0, 1086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__292);
  __Pyx_GIVEREF(__pyx_tuple__292);
  __pyx_codeobj__293 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_close_global_decls, 1086, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__293)) __PYX_ERR(0, 1086, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1127
 *             w.exit_cfunc_scope()
 * 
 *     def put_pyobject_decl(self, entry):             # <<<<<<<<<<<<<<
 *         self['global_var'].putln("static PyObject *%s;" % entry.cname)
 * 
 */
  __pyx_tuple__294 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__294)) __PYX_ERR(0, 1127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__294);
  __Pyx_GIVEREF(__pyx_tuple__294);
  __pyx_codeobj__295 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__294, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_pyobject_decl, 1127, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__295)) __PYX_ERR(0, 1127, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1132
 *     # constant handling at code generation time
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.parts['cached_constants']
 * 
 */
  __pyx_tuple__296 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__296)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__296);
  __Pyx_GIVEREF(__pyx_tuple__296);
  __pyx_codeobj__297 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__296, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_cached_constants_writer, 1132, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__297)) __PYX_ERR(0, 1132, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1135
 *         return self.parts['cached_constants']
 * 
 *     def get_int_const(self, str_value, longness=False):             # <<<<<<<<<<<<<<
 *         py_type = longness and 'long' or 'int'
 *         try:
 */
  __pyx_tuple__298 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_str_value, __pyx_n_s_longness, __pyx_n_s_py_type, __pyx_n_s_c); if (unlikely(!__pyx_tuple__298)) __PYX_ERR(0, 1135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__298);
  __Pyx_GIVEREF(__pyx_tuple__298);
  __pyx_codeobj__299 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__298, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_int_const, 1135, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__299)) __PYX_ERR(0, 1135, __pyx_L1_error)
  __pyx_tuple__300 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__300)) __PYX_ERR(0, 1135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__300);
  __Pyx_GIVEREF(__pyx_tuple__300);

  /* "Cython/Compiler/Code.py":1143
 *         return c
 * 
 *     def get_float_const(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.num_const_index[(str_value, 'float')]
 */
  __pyx_tuple__301 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_str_value, __pyx_n_s_value_code, __pyx_n_s_c); if (unlikely(!__pyx_tuple__301)) __PYX_ERR(0, 1143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__301);
  __Pyx_GIVEREF(__pyx_tuple__301);
  __pyx_codeobj__302 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__301, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_float_const, 1143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__302)) __PYX_ERR(0, 1143, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1150
 *         return c
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)
 */
  __pyx_tuple__303 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_prefix, __pyx_n_s_cleanup_level, __pyx_n_s_const, __pyx_n_s_cleanup_writer); if (unlikely(!__pyx_tuple__303)) __PYX_ERR(0, 1150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__303);
  __Pyx_GIVEREF(__pyx_tuple__303);
  __pyx_codeobj__304 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__303, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_const, 1150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__304)) __PYX_ERR(0, 1150, __pyx_L1_error)
  __pyx_tuple__305 = PyTuple_Pack(2, ((PyObject*)__pyx_kp_s__8), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__305)) __PYX_ERR(0, 1150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__305);
  __Pyx_GIVEREF(__pyx_tuple__305);

  /* "Cython/Compiler/Code.py":1159
 *         return const
 * 
 *     def get_string_const(self, text, py_version=None):             # <<<<<<<<<<<<<<
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:
 */
  __pyx_tuple__306 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_text, __pyx_n_s_py_version, __pyx_n_s_byte_string, __pyx_n_s_c); if (unlikely(!__pyx_tuple__306)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__306);
  __Pyx_GIVEREF(__pyx_tuple__306);
  __pyx_codeobj__307 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__306, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_string_const, 1159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__307)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __pyx_tuple__308 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__308)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__308);
  __Pyx_GIVEREF(__pyx_tuple__308);

  /* "Cython/Compiler/Code.py":1172
 *         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_tuple__309 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_text, __pyx_n_s_c); if (unlikely(!__pyx_tuple__309)) __PYX_ERR(0, 1172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__309);
  __Pyx_GIVEREF(__pyx_tuple__309);
  __pyx_codeobj__310 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__309, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_pyunicode_ptr_const, 1172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__310)) __PYX_ERR(0, 1172, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1181
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         # return a Python string constant, creating a new one if necessary
 */
  __pyx_tuple__311 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_text, __pyx_n_s_identifier, __pyx_n_s_is_str, __pyx_n_s_unicode_value, __pyx_n_s_py3str_cstring, __pyx_n_s_c_string, __pyx_n_s_py_string); if (unlikely(!__pyx_tuple__311)) __PYX_ERR(0, 1181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__311);
  __Pyx_GIVEREF(__pyx_tuple__311);
  __pyx_codeobj__312 = (PyObject*)__Pyx_PyCode_New(5, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__311, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_string_const, 1181, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__312)) __PYX_ERR(0, 1181, __pyx_L1_error)
  __pyx_tuple__313 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_False), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__313)) __PYX_ERR(0, 1181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__313);
  __Pyx_GIVEREF(__pyx_tuple__313);

  /* "Cython/Compiler/Code.py":1195
 *         return py_string
 * 
 *     def get_interned_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
 */
  __pyx_tuple__314 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__314)) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__314);
  __Pyx_GIVEREF(__pyx_tuple__314);
  __pyx_codeobj__315 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_interned_identifier, 1195, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__315)) __PYX_ERR(0, 1195, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1198
 *         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_tuple__316 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_text, __pyx_n_s_byte_string, __pyx_n_s_cname, __pyx_n_s_c); if (unlikely(!__pyx_tuple__316)) __PYX_ERR(0, 1198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__316);
  __Pyx_GIVEREF(__pyx_tuple__316);
  __pyx_codeobj__317 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__316, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_string_const, 1198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__317)) __PYX_ERR(0, 1198, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1204
 *         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_tuple__318 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_value, __pyx_n_s_py_type, __pyx_n_s_value_code, __pyx_n_s_cname, __pyx_n_s_c); if (unlikely(!__pyx_tuple__318)) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__318);
  __Pyx_GIVEREF(__pyx_tuple__318);
  __pyx_codeobj__319 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__318, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_num_const, 1204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__319)) __PYX_ERR(0, 1204, __pyx_L1_error)
  __pyx_tuple__320 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__320)) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__320);
  __Pyx_GIVEREF(__pyx_tuple__320);

  /* "Cython/Compiler/Code.py":1210
 *         return c
 * 
 *     def new_py_const(self, type, prefix=''):             # <<<<<<<<<<<<<<
 *         cname = self.new_const_cname(prefix)
 *         c = PyObjectConst(cname, type)
 */
  __pyx_tuple__321 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_prefix, __pyx_n_s_cname, __pyx_n_s_c); if (unlikely(!__pyx_tuple__321)) __PYX_ERR(0, 1210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__321);
  __Pyx_GIVEREF(__pyx_tuple__321);
  __pyx_codeobj__322 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__321, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_py_const, 1210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__322)) __PYX_ERR(0, 1210, __pyx_L1_error)
  __pyx_tuple__323 = PyTuple_Pack(1, ((PyObject*)__pyx_kp_s__8)); if (unlikely(!__pyx_tuple__323)) __PYX_ERR(0, 1210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__323);
  __Pyx_GIVEREF(__pyx_tuple__323);

  /* "Cython/Compiler/Code.py":1216
 *         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_tuple__324 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_bytes_value, __pyx_n_s_value); if (unlikely(!__pyx_tuple__324)) __PYX_ERR(0, 1216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__324);
  __Pyx_GIVEREF(__pyx_tuple__324);
  __pyx_codeobj__325 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__324, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_string_const_cname, 1216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__325)) __PYX_ERR(0, 1216, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1221
 *         return self.new_const_cname(value=value)
 * 
 *     def new_num_const_cname(self, value, py_type):             # <<<<<<<<<<<<<<
 *         if py_type == 'long':
 *             value += 'L'
 */
  __pyx_tuple__326 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_value, __pyx_n_s_py_type, __pyx_n_s_prefix, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__326)) __PYX_ERR(0, 1221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__326);
  __Pyx_GIVEREF(__pyx_tuple__326);
  __pyx_codeobj__327 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__326, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_num_const_cname, 1221, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__327)) __PYX_ERR(0, 1221, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1230
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         used = self.const_cnames_used
 */
  __pyx_tuple__328 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_prefix, __pyx_n_s_value, __pyx_n_s_used, __pyx_n_s_name_suffix, __pyx_n_s_counter); if (unlikely(!__pyx_tuple__328)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__328);
  __Pyx_GIVEREF(__pyx_tuple__328);
  __pyx_codeobj__329 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__328, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_const_cname, 1230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__329)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __pyx_tuple__330 = PyTuple_Pack(2, ((PyObject*)__pyx_kp_s__8), ((PyObject*)__pyx_kp_s__8)); if (unlikely(!__pyx_tuple__330)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__330);
  __Pyx_GIVEREF(__pyx_tuple__330);

  /* "Cython/Compiler/Code.py":1244
 *         return "%s%s" % (prefix, name_suffix)
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):             # <<<<<<<<<<<<<<
 *         key = (type_cname, method_name, args_count)
 *         try:
 */
  __pyx_tuple__331 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_type_cname, __pyx_n_s_method_name, __pyx_n_s_args_count, __pyx_n_s_key, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__331)) __PYX_ERR(0, 1244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__331);
  __Pyx_GIVEREF(__pyx_tuple__331);
  __pyx_codeobj__332 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__331, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_cached_unbound_method, 1244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__332)) __PYX_ERR(0, 1244, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1253
 *         return cname
 * 
 *     def add_cached_builtin_decl(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):
 */
  __pyx_tuple__333 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_entry, __pyx_n_s_w, __pyx_n_s_condition, __pyx_n_s_replacement); if (unlikely(!__pyx_tuple__333)) __PYX_ERR(0, 1253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__333);
  __Pyx_GIVEREF(__pyx_tuple__333);
  __pyx_codeobj__334 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__333, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_add_cached_builtin_decl, 1253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__334)) __PYX_ERR(0, 1253, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1272
 *                     w.putln('#endif')
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):             # <<<<<<<<<<<<<<
 *         w = self.parts['cached_builtins']
 *         interned_cname = self.get_interned_identifier(name).cname
 */
  __pyx_tuple__335 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_name, __pyx_n_s_cname, __pyx_n_s_w, __pyx_n_s_interned_cname); if (unlikely(!__pyx_tuple__335)) __PYX_ERR(0, 1272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__335);
  __Pyx_GIVEREF(__pyx_tuple__335);
  __pyx_codeobj__336 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__335, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_cached_builtin_init, 1272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__336)) __PYX_ERR(0, 1272, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1283
 *             w.error_goto(pos)))
 * 
 *     def generate_const_declarations(self):             # <<<<<<<<<<<<<<
 *         self.generate_cached_methods_decls()
 *         self.generate_string_constants()
 */
  __pyx_tuple__337 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__337)) __PYX_ERR(0, 1283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__337);
  __Pyx_GIVEREF(__pyx_tuple__337);
  __pyx_codeobj__338 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__337, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_generate_const_declarations, 1283, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__338)) __PYX_ERR(0, 1283, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1289
 *         self.generate_object_constant_decls()
 * 
 *     def generate_object_constant_decls(self):             # <<<<<<<<<<<<<<
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.py_constants]
 */
  __pyx_tuple__339 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_consts, __pyx_n_s_decls_writer, __pyx_n_s__44, __pyx_n_s_cname, __pyx_n_s_c); if (unlikely(!__pyx_tuple__339)) __PYX_ERR(0, 1289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__339);
  __Pyx_GIVEREF(__pyx_tuple__339);
  __pyx_codeobj__340 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__339, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_generate_object_constant_decls, 1289, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__340)) __PYX_ERR(0, 1289, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1298
 *                 "static %s;" % c.type.declaration_code(cname))
 * 
 *     def generate_cached_methods_decls(self):             # <<<<<<<<<<<<<<
 *         if not self.cached_cmethods:
 *             return
 */
  __pyx_tuple__341 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_decl, __pyx_n_s_init, __pyx_n_s_cnames, __pyx_n_s_type_cname, __pyx_n_s_method_name, __pyx_n_s__44, __pyx_n_s_cname, __pyx_n_s_method_name_cname, __pyx_n_s_cleanup); if (unlikely(!__pyx_tuple__341)) __PYX_ERR(0, 1298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__341);
  __Pyx_GIVEREF(__pyx_tuple__341);
  __pyx_codeobj__342 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__341, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_generate_cached_methods_decls, 1298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__342)) __PYX_ERR(0, 1298, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1319
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)
 * 
 *     def generate_string_constants(self):             # <<<<<<<<<<<<<<
 *         c_consts = [(len(c.cname), c.cname, c) for c in self.string_const_index.values()]
 *         c_consts.sort()
 */
  __pyx_tuple__343 = PyTuple_Pack(15, __pyx_n_s_self, __pyx_n_s_c_consts, __pyx_n_s_py_strings, __pyx_n_s_decls_writer, __pyx_n_s__44, __pyx_n_s_cname, __pyx_n_s_c, __pyx_n_s_conditional, __pyx_n_s_py_string, __pyx_n_s_utf16_array, __pyx_n_s_utf32_array, __pyx_n_s_w, __pyx_n_s_c_cname, __pyx_n_s_encoding, __pyx_n_s_init_globals); if (unlikely(!__pyx_tuple__343)) __PYX_ERR(0, 1319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__343);
  __Pyx_GIVEREF(__pyx_tuple__343);
  __pyx_codeobj__344 = (PyObject*)__Pyx_PyCode_New(1, 0, 15, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__343, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_generate_string_constants, 1319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__344)) __PYX_ERR(0, 1319, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1396
 *                     init_globals.error_goto(self.module_pos)))
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
 */
  __pyx_tuple__345 = PyTuple_Pack(11, __pyx_n_s_self, __pyx_n_s_consts, __pyx_n_s_decls_writer, __pyx_n_s_init_globals, __pyx_n_s_py_type, __pyx_n_s__44, __pyx_n_s_value, __pyx_n_s_value_code, __pyx_n_s_c, __pyx_n_s_cname, __pyx_n_s_function); if (unlikely(!__pyx_tuple__345)) __PYX_ERR(0, 1396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__345);
  __Pyx_GIVEREF(__pyx_tuple__345);
  __pyx_codeobj__346 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__345, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_generate_num_constants, 1396, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__346)) __PYX_ERR(0, 1396, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1424
 *     # 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_tuple__347 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_entry, __pyx_n_s_other); if (unlikely(!__pyx_tuple__347)) __PYX_ERR(0, 1424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__347);
  __Pyx_GIVEREF(__pyx_tuple__347);
  __pyx_codeobj__348 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__347, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_should_declare, 1424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__348)) __PYX_ERR(0, 1424, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1438
 *     #
 * 
 *     def lookup_filename(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 */
  __pyx_tuple__349 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_source_desc, __pyx_n_s_index); if (unlikely(!__pyx_tuple__349)) __PYX_ERR(0, 1438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__349);
  __Pyx_GIVEREF(__pyx_tuple__349);
  __pyx_codeobj__350 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__349, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_lookup_filename, 1438, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__350)) __PYX_ERR(0, 1438, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1447
 *         return index
 * 
 *     def commented_file_contents(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             return self.input_file_contents[source_desc]
 */
  __pyx_tuple__351 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_source_desc, __pyx_n_s_source_file, __pyx_n_s_F, __pyx_n_s_line); if (unlikely(!__pyx_tuple__351)) __PYX_ERR(0, 1447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__351);
  __Pyx_GIVEREF(__pyx_tuple__351);
  __pyx_codeobj__352 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__351, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_commented_file_contents, 1447, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__352)) __PYX_ERR(0, 1447, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1472
 *     #
 * 
 *     def use_utility_code(self, utility_code):             # <<<<<<<<<<<<<<
 *         """
 *         Adds code to the C file. utility_code should
 */
  __pyx_tuple__353 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_utility_code); if (unlikely(!__pyx_tuple__353)) __PYX_ERR(0, 1472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__353);
  __Pyx_GIVEREF(__pyx_tuple__353);
  __pyx_codeobj__354 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__353, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_use_utility_code, 1472, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__354)) __PYX_ERR(0, 1472, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1485
 *             utility_code.put_code(self)
 * 
 *     def use_entry_utility_code(self, entry):             # <<<<<<<<<<<<<<
 *         if entry is None:
 *             return
 */
  __pyx_tuple__355 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__355)) __PYX_ERR(0, 1485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__355);
  __Pyx_GIVEREF(__pyx_tuple__355);
  __pyx_codeobj__356 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__355, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_use_entry_utility_code, 1485, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__356)) __PYX_ERR(0, 1485, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1494
 * 
 * 
 * def funccontext_property(name):             # <<<<<<<<<<<<<<
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
 */
  __pyx_tuple__357 = PyTuple_Pack(6, __pyx_n_s_name, __pyx_n_s_attribute_of, __pyx_n_s_get, __pyx_n_s_get, __pyx_n_s_set, __pyx_n_s_set); if (unlikely(!__pyx_tuple__357)) __PYX_ERR(0, 1494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__357);
  __Pyx_GIVEREF(__pyx_tuple__357);
  __pyx_codeobj__358 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__357, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_funccontext_property, 1494, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__358)) __PYX_ERR(0, 1494, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1508
 *     # 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_tuple__359 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_emit_linenums, __pyx_n_s_emit_code_comments, __pyx_n_s_c_line_in_traceback); if (unlikely(!__pyx_tuple__359)) __PYX_ERR(0, 1508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__359);
  __Pyx_GIVEREF(__pyx_tuple__359);
  __pyx_codeobj__360 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__359, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 1508, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__360)) __PYX_ERR(0, 1508, __pyx_L1_error)
  __pyx_tuple__361 = PyTuple_Pack(3, ((PyObject *)Py_True), ((PyObject *)Py_True), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__361)) __PYX_ERR(0, 1508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__361);
  __Pyx_GIVEREF(__pyx_tuple__361);

  /* "Cython/Compiler/Code.py":1547
 *     globalstate = code_config = None
 * 
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):             # <<<<<<<<<<<<<<
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer
 */
  __pyx_tuple__362 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_create_from, __pyx_n_s_buffer, __pyx_n_s_copy_formatting); if (unlikely(!__pyx_tuple__362)) __PYX_ERR(0, 1547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__362);
  __Pyx_GIVEREF(__pyx_tuple__362);
  __pyx_codeobj__363 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__362, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 1547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__363)) __PYX_ERR(0, 1547, __pyx_L1_error)
  __pyx_tuple__364 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__364)) __PYX_ERR(0, 1547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__364);
  __Pyx_GIVEREF(__pyx_tuple__364);

  /* "Cython/Compiler/Code.py":1571
 *             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_tuple__365 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_create_from, __pyx_n_s_buffer, __pyx_n_s_copy_formatting, __pyx_n_s_result); if (unlikely(!__pyx_tuple__365)) __PYX_ERR(0, 1571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__365);
  __Pyx_GIVEREF(__pyx_tuple__365);
  __pyx_codeobj__366 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__365, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_create_new, 1571, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__366)) __PYX_ERR(0, 1571, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1577
 *         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_tuple__367 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_global_state); if (unlikely(!__pyx_tuple__367)) __PYX_ERR(0, 1577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__367);
  __Pyx_GIVEREF(__pyx_tuple__367);
  __pyx_codeobj__368 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__367, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_set_global_state, 1577, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__368)) __PYX_ERR(0, 1577, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1582
 *         self.code_config = global_state.code_config
 * 
 *     def copyto(self, f):             # <<<<<<<<<<<<<<
 *         self.buffer.copyto(f)
 * 
 */
  __pyx_tuple__369 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_f); if (unlikely(!__pyx_tuple__369)) __PYX_ERR(0, 1582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__369);
  __Pyx_GIVEREF(__pyx_tuple__369);
  __pyx_codeobj__370 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__369, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_copyto, 1582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__370)) __PYX_ERR(0, 1582, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1585
 *         self.buffer.copyto(f)
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.getvalue()
 * 
 */
  __pyx_tuple__371 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__371)) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__371);
  __Pyx_GIVEREF(__pyx_tuple__371);
  __pyx_codeobj__372 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__371, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_getvalue, 1585, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__372)) __PYX_ERR(0, 1585, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1588
 *         return self.buffer.getvalue()
 * 
 *     def write(self, s):             # <<<<<<<<<<<<<<
 *         # also put invalid markers (lineno 0), to indicate that those lines
 *         # have no Cython source code correspondence
 */
  __pyx_tuple__373 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_s_4, __pyx_n_s_cython_lineno); if (unlikely(!__pyx_tuple__373)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__373);
  __Pyx_GIVEREF(__pyx_tuple__373);
  __pyx_codeobj__374 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__373, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_write, 1588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__374)) __PYX_ERR(0, 1588, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1595
 *         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_tuple__375 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__375)) __PYX_ERR(0, 1595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__375);
  __Pyx_GIVEREF(__pyx_tuple__375);
  __pyx_codeobj__376 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__375, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_insertion_point, 1595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__376)) __PYX_ERR(0, 1595, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1599
 *         return other
 * 
 *     def new_writer(self):             # <<<<<<<<<<<<<<
 *         """
 *         Creates a new CCodeWriter connected to the same global state, which
 */
  __pyx_tuple__377 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__377)) __PYX_ERR(0, 1599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__377);
  __Pyx_GIVEREF(__pyx_tuple__377);
  __pyx_codeobj__378 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__377, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_writer, 1599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__378)) __PYX_ERR(0, 1599, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1606
 *         return CCodeWriter(create_from=self)
 * 
 *     def insert(self, writer):             # <<<<<<<<<<<<<<
 *         """
 *         Inserts the contents of another code writer (created with
 */
  __pyx_tuple__379 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_writer); if (unlikely(!__pyx_tuple__379)) __PYX_ERR(0, 1606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__379);
  __Pyx_GIVEREF(__pyx_tuple__379);
  __pyx_codeobj__380 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__379, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_insert, 1606, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__380)) __PYX_ERR(0, 1606, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1617
 * 
 *     # Properties delegated to function scope
 *     label_counter = funccontext_property("label_counter")             # <<<<<<<<<<<<<<
 *     return_label = funccontext_property("return_label")
 *     error_label = funccontext_property("error_label")
 */
  __pyx_tuple__381 = PyTuple_Pack(1, __pyx_n_s_label_counter); if (unlikely(!__pyx_tuple__381)) __PYX_ERR(0, 1617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__381);
  __Pyx_GIVEREF(__pyx_tuple__381);

  /* "Cython/Compiler/Code.py":1618
 *     # Properties delegated to function scope
 *     label_counter = funccontext_property("label_counter")
 *     return_label = funccontext_property("return_label")             # <<<<<<<<<<<<<<
 *     error_label = funccontext_property("error_label")
 *     labels_used = funccontext_property("labels_used")
 */
  __pyx_tuple__382 = PyTuple_Pack(1, __pyx_n_s_return_label); if (unlikely(!__pyx_tuple__382)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__382);
  __Pyx_GIVEREF(__pyx_tuple__382);

  /* "Cython/Compiler/Code.py":1619
 *     label_counter = funccontext_property("label_counter")
 *     return_label = funccontext_property("return_label")
 *     error_label = funccontext_property("error_label")             # <<<<<<<<<<<<<<
 *     labels_used = funccontext_property("labels_used")
 *     continue_label = funccontext_property("continue_label")
 */
  __pyx_tuple__383 = PyTuple_Pack(1, __pyx_n_s_error_label); if (unlikely(!__pyx_tuple__383)) __PYX_ERR(0, 1619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__383);
  __Pyx_GIVEREF(__pyx_tuple__383);

  /* "Cython/Compiler/Code.py":1620
 *     return_label = funccontext_property("return_label")
 *     error_label = funccontext_property("error_label")
 *     labels_used = funccontext_property("labels_used")             # <<<<<<<<<<<<<<
 *     continue_label = funccontext_property("continue_label")
 *     break_label = funccontext_property("break_label")
 */
  __pyx_tuple__384 = PyTuple_Pack(1, __pyx_n_s_labels_used); if (unlikely(!__pyx_tuple__384)) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__384);
  __Pyx_GIVEREF(__pyx_tuple__384);

  /* "Cython/Compiler/Code.py":1621
 *     error_label = funccontext_property("error_label")
 *     labels_used = funccontext_property("labels_used")
 *     continue_label = funccontext_property("continue_label")             # <<<<<<<<<<<<<<
 *     break_label = funccontext_property("break_label")
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")
 */
  __pyx_tuple__385 = PyTuple_Pack(1, __pyx_n_s_continue_label); if (unlikely(!__pyx_tuple__385)) __PYX_ERR(0, 1621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__385);
  __Pyx_GIVEREF(__pyx_tuple__385);

  /* "Cython/Compiler/Code.py":1622
 *     labels_used = funccontext_property("labels_used")
 *     continue_label = funccontext_property("continue_label")
 *     break_label = funccontext_property("break_label")             # <<<<<<<<<<<<<<
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")
 *     yield_labels = funccontext_property("yield_labels")
 */
  __pyx_tuple__386 = PyTuple_Pack(1, __pyx_n_s_break_label); if (unlikely(!__pyx_tuple__386)) __PYX_ERR(0, 1622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__386);
  __Pyx_GIVEREF(__pyx_tuple__386);

  /* "Cython/Compiler/Code.py":1623
 *     continue_label = funccontext_property("continue_label")
 *     break_label = funccontext_property("break_label")
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")             # <<<<<<<<<<<<<<
 *     yield_labels = funccontext_property("yield_labels")
 * 
 */
  __pyx_tuple__387 = PyTuple_Pack(1, __pyx_n_s_return_from_error_cleanup_label); if (unlikely(!__pyx_tuple__387)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__387);
  __Pyx_GIVEREF(__pyx_tuple__387);

  /* "Cython/Compiler/Code.py":1624
 *     break_label = funccontext_property("break_label")
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")
 *     yield_labels = funccontext_property("yield_labels")             # <<<<<<<<<<<<<<
 * 
 *     # Functions delegated to function scope
 */
  __pyx_tuple__388 = PyTuple_Pack(1, __pyx_n_s_yield_labels); if (unlikely(!__pyx_tuple__388)) __PYX_ERR(0, 1624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__388);
  __Pyx_GIVEREF(__pyx_tuple__388);

  /* "Cython/Compiler/Code.py":1627
 * 
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)             # <<<<<<<<<<<<<<
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 */
  __pyx_tuple__389 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name); if (unlikely(!__pyx_tuple__389)) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__389);
  __Pyx_GIVEREF(__pyx_tuple__389);
  __pyx_codeobj__390 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__389, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_label, 1627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__390)) __PYX_ERR(0, 1627, __pyx_L1_error)
  __pyx_tuple__391 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__391)) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__391);
  __Pyx_GIVEREF(__pyx_tuple__391);

  /* "Cython/Compiler/Code.py":1628
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self):         return self.funcstate.new_error_label()             # <<<<<<<<<<<<<<
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 */
  __pyx_tuple__392 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__392)) __PYX_ERR(0, 1628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__392);
  __Pyx_GIVEREF(__pyx_tuple__392);
  __pyx_codeobj__393 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__392, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_error_label, 1628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__393)) __PYX_ERR(0, 1628, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1629
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()             # <<<<<<<<<<<<<<
 *     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_tuple__394 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__394)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__394);
  __Pyx_GIVEREF(__pyx_tuple__394);
  __pyx_codeobj__395 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__394, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_yield_label, 1629, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__395)) __PYX_ERR(0, 1629, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1630
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     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):         return self.funcstate.new_loop_labels()
 */
  __pyx_tuple__396 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__396)) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__396);
  __Pyx_GIVEREF(__pyx_tuple__396);
  __pyx_codeobj__397 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__396, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_loop_labels, 1630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__397)) __PYX_ERR(0, 1630, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1631
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     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):         return self.funcstate.new_loop_labels()
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 */
  __pyx_tuple__398 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_labels); if (unlikely(!__pyx_tuple__398)) __PYX_ERR(0, 1631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__398);
  __Pyx_GIVEREF(__pyx_tuple__398);
  __pyx_codeobj__399 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__398, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_set_loop_labels, 1631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__399)) __PYX_ERR(0, 1631, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1632
 *     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):         return self.funcstate.new_loop_labels()             # <<<<<<<<<<<<<<
 *     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_tuple__400 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__400)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__400);
  __Pyx_GIVEREF(__pyx_tuple__400);
  __pyx_codeobj__401 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__400, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_new_loop_labels, 1632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__401)) __PYX_ERR(0, 1632, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1633
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self):         return self.funcstate.new_loop_labels()
 *     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_tuple__402 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__402)) __PYX_ERR(0, 1633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__402);
  __Pyx_GIVEREF(__pyx_tuple__402);
  __pyx_codeobj__403 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__402, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_all_labels, 1633, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__403)) __PYX_ERR(0, 1633, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1634
 *     def new_loop_labels(self):         return self.funcstate.new_loop_labels()
 *     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_tuple__404 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_labels); if (unlikely(!__pyx_tuple__404)) __PYX_ERR(0, 1634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__404);
  __Pyx_GIVEREF(__pyx_tuple__404);
  __pyx_codeobj__405 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__404, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_set_all_labels, 1634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__405)) __PYX_ERR(0, 1634, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1635
 *     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_tuple__406 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__406)) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__406);
  __Pyx_GIVEREF(__pyx_tuple__406);
  __pyx_codeobj__407 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__406, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_all_new_labels, 1635, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__407)) __PYX_ERR(0, 1635, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1636
 *     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_tuple__408 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_lbl); if (unlikely(!__pyx_tuple__408)) __PYX_ERR(0, 1636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__408);
  __Pyx_GIVEREF(__pyx_tuple__408);
  __pyx_codeobj__409 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__408, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_use_label, 1636, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__409)) __PYX_ERR(0, 1636, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1637
 *     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_tuple__410 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_lbl); if (unlikely(!__pyx_tuple__410)) __PYX_ERR(0, 1637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__410);
  __Pyx_GIVEREF(__pyx_tuple__410);
  __pyx_codeobj__411 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__410, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_label_used, 1637, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__411)) __PYX_ERR(0, 1637, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1640
 * 
 * 
 *     def enter_cfunc_scope(self, scope=None):             # <<<<<<<<<<<<<<
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 */
  __pyx_tuple__412 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_scope); if (unlikely(!__pyx_tuple__412)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__412);
  __Pyx_GIVEREF(__pyx_tuple__412);
  __pyx_codeobj__413 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__412, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_enter_cfunc_scope, 1640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__413)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __pyx_tuple__414 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__414)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__414);
  __Pyx_GIVEREF(__pyx_tuple__414);

  /* "Cython/Compiler/Code.py":1643
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 *     def exit_cfunc_scope(self):             # <<<<<<<<<<<<<<
 *         self.funcstate = None
 * 
 */
  __pyx_tuple__415 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__415)) __PYX_ERR(0, 1643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__415);
  __Pyx_GIVEREF(__pyx_tuple__415);
  __pyx_codeobj__416 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__415, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_exit_cfunc_scope, 1643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__416)) __PYX_ERR(0, 1643, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1648
 *     # constant handling
 * 
 *     def get_py_int(self, str_value, longness):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_int_const(str_value, longness).cname
 * 
 */
  __pyx_tuple__417 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_str_value, __pyx_n_s_longness); if (unlikely(!__pyx_tuple__417)) __PYX_ERR(0, 1648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__417);
  __Pyx_GIVEREF(__pyx_tuple__417);
  __pyx_codeobj__418 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__417, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_int, 1648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__418)) __PYX_ERR(0, 1648, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1651
 *         return self.globalstate.get_int_const(str_value, longness).cname
 * 
 *     def get_py_float(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_float_const(str_value, value_code).cname
 * 
 */
  __pyx_tuple__419 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_str_value, __pyx_n_s_value_code); if (unlikely(!__pyx_tuple__419)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__419);
  __Pyx_GIVEREF(__pyx_tuple__419);
  __pyx_codeobj__420 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__419, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_float, 1651, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__420)) __PYX_ERR(0, 1651, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1654
 *         return self.globalstate.get_float_const(str_value, value_code).cname
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname
 * 
 */
  __pyx_tuple__421 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_prefix, __pyx_n_s_cleanup_level); if (unlikely(!__pyx_tuple__421)) __PYX_ERR(0, 1654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__421);
  __Pyx_GIVEREF(__pyx_tuple__421);
  __pyx_codeobj__422 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__421, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_const, 1654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__422)) __PYX_ERR(0, 1654, __pyx_L1_error)
  __pyx_tuple__423 = PyTuple_Pack(2, ((PyObject*)__pyx_kp_s__8), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__423)) __PYX_ERR(0, 1654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__423);
  __Pyx_GIVEREF(__pyx_tuple__423);

  /* "Cython/Compiler/Code.py":1657
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname
 * 
 *     def get_string_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_string_const(text).cname
 * 
 */
  __pyx_tuple__424 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__424)) __PYX_ERR(0, 1657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__424);
  __Pyx_GIVEREF(__pyx_tuple__424);
  __pyx_codeobj__425 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__424, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_string_const, 1657, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__425)) __PYX_ERR(0, 1657, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1660
 *         return self.globalstate.get_string_const(text).cname
 * 
 *     def get_pyunicode_ptr_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 */
  __pyx_tuple__426 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__426)) __PYX_ERR(0, 1660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__426);
  __Pyx_GIVEREF(__pyx_tuple__426);
  __pyx_codeobj__427 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__426, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_pyunicode_ptr_const, 1660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__427)) __PYX_ERR(0, 1660, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1663
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         return self.globalstate.get_py_string_const(
 */
  __pyx_tuple__428 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_text, __pyx_n_s_identifier, __pyx_n_s_is_str, __pyx_n_s_unicode_value); if (unlikely(!__pyx_tuple__428)) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__428);
  __Pyx_GIVEREF(__pyx_tuple__428);
  __pyx_codeobj__429 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__428, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_string_const, 1663, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__429)) __PYX_ERR(0, 1663, __pyx_L1_error)
  __pyx_tuple__430 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_False), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__430)) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__430);
  __Pyx_GIVEREF(__pyx_tuple__430);

  /* "Cython/Compiler/Code.py":1668
 *             text, identifier, is_str, unicode_value).cname
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_const(type).cname
 * 
 */
  __pyx_tuple__431 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_type); if (unlikely(!__pyx_tuple__431)) __PYX_ERR(0, 1668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__431);
  __Pyx_GIVEREF(__pyx_tuple__431);
  __pyx_codeobj__432 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__431, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_argument_default_const, 1668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__432)) __PYX_ERR(0, 1668, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1671
 *         return self.globalstate.get_py_const(type).cname
 * 
 *     def intern(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text)
 * 
 */
  __pyx_tuple__433 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__433)) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__433);
  __Pyx_GIVEREF(__pyx_tuple__433);
  __pyx_codeobj__434 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__433, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_intern, 1671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__434)) __PYX_ERR(0, 1671, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1674
 *         return self.get_py_string_const(text)
 * 
 *     def intern_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
 */
  __pyx_tuple__435 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__435)) __PYX_ERR(0, 1674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__435);
  __Pyx_GIVEREF(__pyx_tuple__435);
  __pyx_codeobj__436 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__435, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_intern_identifier, 1674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__436)) __PYX_ERR(0, 1674, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1677
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_cached_constants_writer()
 * 
 */
  __pyx_tuple__437 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__437)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__437);
  __Pyx_GIVEREF(__pyx_tuple__437);
  __pyx_codeobj__438 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__437, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_cached_constants_writer, 1677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__438)) __PYX_ERR(0, 1677, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1682
 *     # code generation
 * 
 *     def putln(self, code="", safe=False):             # <<<<<<<<<<<<<<
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
 */
  __pyx_tuple__439 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_code, __pyx_n_s_safe, __pyx_n_s_source_desc, __pyx_n_s_line, __pyx_n_s__44); if (unlikely(!__pyx_tuple__439)) __PYX_ERR(0, 1682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__439);
  __Pyx_GIVEREF(__pyx_tuple__439);
  __pyx_codeobj__440 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__439, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_putln, 1682, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__440)) __PYX_ERR(0, 1682, __pyx_L1_error)
  __pyx_tuple__441 = PyTuple_Pack(2, ((PyObject*)__pyx_kp_s__8), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__441)) __PYX_ERR(0, 1682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__441);
  __Pyx_GIVEREF(__pyx_tuple__441);

  /* "Cython/Compiler/Code.py":1696
 *         self.bol = 1
 * 
 *     def mark_pos(self, pos, trace=True):             # <<<<<<<<<<<<<<
 *         if pos is None:
 *             return
 */
  __pyx_tuple__442 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_trace); if (unlikely(!__pyx_tuple__442)) __PYX_ERR(0, 1696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__442);
  __Pyx_GIVEREF(__pyx_tuple__442);
  __pyx_codeobj__443 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__442, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_mark_pos, 1696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__443)) __PYX_ERR(0, 1696, __pyx_L1_error)
  __pyx_tuple__444 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__444)) __PYX_ERR(0, 1696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__444);
  __Pyx_GIVEREF(__pyx_tuple__444);

  /* "Cython/Compiler/Code.py":1703
 *         self.last_pos = (pos, trace)
 * 
 *     def emit_marker(self):             # <<<<<<<<<<<<<<
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = pos
 */
  __pyx_tuple__445 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_trace); if (unlikely(!__pyx_tuple__445)) __PYX_ERR(0, 1703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__445);
  __Pyx_GIVEREF(__pyx_tuple__445);
  __pyx_codeobj__446 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__445, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_emit_marker, 1703, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__446)) __PYX_ERR(0, 1703, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1716
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))
 * 
 *     def _build_marker(self, pos):             # <<<<<<<<<<<<<<
 *         source_desc, line, col = pos
 *         assert isinstance(source_desc, SourceDescriptor)
 */
  __pyx_tuple__447 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_source_desc, __pyx_n_s_line, __pyx_n_s_col, __pyx_n_s_contents, __pyx_n_s_lines); if (unlikely(!__pyx_tuple__447)) __PYX_ERR(0, 1716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__447);
  __Pyx_GIVEREF(__pyx_tuple__447);
  __pyx_codeobj__448 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__447, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_build_marker, 1716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__448)) __PYX_ERR(0, 1716, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1725
 *         return u'"%s":%d\n%s\n' % (source_desc.get_escaped_description(), line, u'\n'.join(lines))
 * 
 *     def put_safe(self, code):             # <<<<<<<<<<<<<<
 *         # put code, but ignore {}
 *         self.write(code)
 */
  __pyx_tuple__449 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_code); if (unlikely(!__pyx_tuple__449)) __PYX_ERR(0, 1725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__449);
  __Pyx_GIVEREF(__pyx_tuple__449);
  __pyx_codeobj__450 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__449, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_safe, 1725, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__450)) __PYX_ERR(0, 1725, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1730
 *         self.bol = 0
 * 
 *     def put_or_include(self, code, name):             # <<<<<<<<<<<<<<
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:
 */
  __pyx_tuple__451 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_code, __pyx_n_s_name, __pyx_n_s_include_dir, __pyx_n_s_include_file, __pyx_n_s_path, __pyx_n_s_tmp_path, __pyx_n_s_f); if (unlikely(!__pyx_tuple__451)) __PYX_ERR(0, 1730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__451);
  __Pyx_GIVEREF(__pyx_tuple__451);
  __pyx_codeobj__452 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__451, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_or_include, 1730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__452)) __PYX_ERR(0, 1730, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1744
 *         self.put(code)
 * 
 *     def put(self, code):             # <<<<<<<<<<<<<<
 *         if is_self_assignment(code):
 *             return
 */
  __pyx_tuple__453 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_code, __pyx_n_s_fix_indent, __pyx_n_s_dl); if (unlikely(!__pyx_tuple__453)) __PYX_ERR(0, 1744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__453);
  __Pyx_GIVEREF(__pyx_tuple__453);
  __pyx_codeobj__454 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__453, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put, 1744, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__454)) __PYX_ERR(0, 1744, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1769
 *             self.level += 1
 * 
 *     def putln_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.putln(sub(code, **context))
 */
  __pyx_tuple__455 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_code, __pyx_n_s_context, __pyx_n_s_sub); if (unlikely(!__pyx_tuple__455)) __PYX_ERR(0, 1769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__455);
  __Pyx_GIVEREF(__pyx_tuple__455);
  __pyx_codeobj__456 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__455, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_putln_tempita, 1769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__456)) __PYX_ERR(0, 1769, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1773
 *         self.putln(sub(code, **context))
 * 
 *     def put_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.put(sub(code, **context))
 */
  __pyx_tuple__457 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_code, __pyx_n_s_context, __pyx_n_s_sub); if (unlikely(!__pyx_tuple__457)) __PYX_ERR(0, 1773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__457);
  __Pyx_GIVEREF(__pyx_tuple__457);
  __pyx_codeobj__458 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__457, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_tempita, 1773, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__458)) __PYX_ERR(0, 1773, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1777
 *         self.put(sub(code, **context))
 * 
 *     def increase_indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
 */
  __pyx_tuple__459 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__459)) __PYX_ERR(0, 1777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__459);
  __Pyx_GIVEREF(__pyx_tuple__459);
  __pyx_codeobj__460 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__459, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_increase_indent, 1777, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__460)) __PYX_ERR(0, 1777, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1780
 *         self.level += 1
 * 
 *     def decrease_indent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
 */
  __pyx_tuple__461 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__461)) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__461);
  __Pyx_GIVEREF(__pyx_tuple__461);
  __pyx_codeobj__462 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__461, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_decrease_indent, 1780, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__462)) __PYX_ERR(0, 1780, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1783
 *         self.level -= 1
 * 
 *     def begin_block(self):             # <<<<<<<<<<<<<<
 *         self.putln("{")
 *         self.increase_indent()
 */
  __pyx_tuple__463 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__463)) __PYX_ERR(0, 1783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__463);
  __Pyx_GIVEREF(__pyx_tuple__463);
  __pyx_codeobj__464 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__463, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_begin_block, 1783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__464)) __PYX_ERR(0, 1783, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1787
 *         self.increase_indent()
 * 
 *     def end_block(self):             # <<<<<<<<<<<<<<
 *         self.decrease_indent()
 *         self.putln("}")
 */
  __pyx_tuple__465 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__465)) __PYX_ERR(0, 1787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__465);
  __Pyx_GIVEREF(__pyx_tuple__465);
  __pyx_codeobj__466 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__465, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_end_block, 1787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__466)) __PYX_ERR(0, 1787, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1791
 *         self.putln("}")
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.write("  " * self.level)
 * 
 */
  __pyx_tuple__467 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__467)) __PYX_ERR(0, 1791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__467);
  __Pyx_GIVEREF(__pyx_tuple__467);
  __pyx_codeobj__468 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__467, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_indent, 1791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__468)) __PYX_ERR(0, 1791, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1794
 *         self.write("  " * self.level)
 * 
 *     def get_py_version_hex(self, pyversion):             # <<<<<<<<<<<<<<
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
 */
  __pyx_tuple__469 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyversion); if (unlikely(!__pyx_tuple__469)) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__469);
  __Pyx_GIVEREF(__pyx_tuple__469);
  __pyx_codeobj__470 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__469, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_get_py_version_hex, 1794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__470)) __PYX_ERR(0, 1794, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1797
 *         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_tuple__471 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_lbl); if (unlikely(!__pyx_tuple__471)) __PYX_ERR(0, 1797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__471);
  __Pyx_GIVEREF(__pyx_tuple__471);
  __pyx_codeobj__472 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__471, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_label, 1797, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__472)) __PYX_ERR(0, 1797, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1801
 *             self.putln("%s:;" % lbl)
 * 
 *     def put_goto(self, lbl):             # <<<<<<<<<<<<<<
 *         self.funcstate.use_label(lbl)
 *         self.putln("goto %s;" % lbl)
 */
  __pyx_tuple__473 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_lbl); if (unlikely(!__pyx_tuple__473)) __PYX_ERR(0, 1801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__473);
  __Pyx_GIVEREF(__pyx_tuple__473);
  __pyx_codeobj__474 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__473, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_goto, 1801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__474)) __PYX_ERR(0, 1801, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1805
 *         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_tuple__475 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_entry, __pyx_n_s_storage_class, __pyx_n_s_dll_linkage, __pyx_n_s_definition); if (unlikely(!__pyx_tuple__475)) __PYX_ERR(0, 1805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__475);
  __Pyx_GIVEREF(__pyx_tuple__475);
  __pyx_codeobj__476 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__475, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_declaration, 1805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__476)) __PYX_ERR(0, 1805, __pyx_L1_error)
  __pyx_tuple__477 = PyTuple_Pack(3, ((PyObject*)__pyx_kp_s__8), ((PyObject *)Py_None), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__477)) __PYX_ERR(0, 1805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__477);
  __Pyx_GIVEREF(__pyx_tuple__477);

  /* "Cython/Compiler/Code.py":1826
 *         self.putln(";")
 * 
 *     def put_temp_declarations(self, func_context):             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             decl = type.declaration_code(name)
 */
  __pyx_tuple__478 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_func_context, __pyx_n_s_name, __pyx_n_s_type, __pyx_n_s_manage_ref, __pyx_n_s_static, __pyx_n_s_decl, __pyx_n_s_MemoryView, __pyx_n_s_unused); if (unlikely(!__pyx_tuple__478)) __PYX_ERR(0, 1826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__478);
  __Pyx_GIVEREF(__pyx_tuple__478);
  __pyx_codeobj__479 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__478, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_temp_declarations, 1826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__479)) __PYX_ERR(0, 1826, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1847
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
 *     def put_generated_by(self):             # <<<<<<<<<<<<<<
 *         self.putln("/[inserted by cython to avoid comment start]* Generated by Cython %s *[inserted by cython to avoid comment closer]/" % Version.watermark)
 *         self.putln("")
 */
  __pyx_tuple__480 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__480)) __PYX_ERR(0, 1847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__480);
  __Pyx_GIVEREF(__pyx_tuple__480);
  __pyx_codeobj__481 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__480, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_generated_by, 1847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__481)) __PYX_ERR(0, 1847, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1851
 *         self.putln("")
 * 
 *     def put_h_guard(self, guard):             # <<<<<<<<<<<<<<
 *         self.putln("#ifndef %s" % guard)
 *         self.putln("#define %s" % guard)
 */
  __pyx_tuple__482 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_guard); if (unlikely(!__pyx_tuple__482)) __PYX_ERR(0, 1851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__482);
  __Pyx_GIVEREF(__pyx_tuple__482);
  __pyx_codeobj__483 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__482, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_h_guard, 1851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__483)) __PYX_ERR(0, 1851, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1855
 *         self.putln("#define %s" % guard)
 * 
 *     def unlikely(self, cond):             # <<<<<<<<<<<<<<
 *         if Options.gcc_branch_hints:
 *             return 'unlikely(%s)' % cond
 */
  __pyx_tuple__484 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_cond); if (unlikely(!__pyx_tuple__484)) __PYX_ERR(0, 1855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__484);
  __Pyx_GIVEREF(__pyx_tuple__484);
  __pyx_codeobj__485 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__484, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_unlikely, 1855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__485)) __PYX_ERR(0, 1855, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1861
 *             return cond
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):             # <<<<<<<<<<<<<<
 *         if not modifiers:
 *             return ''
 */
  __pyx_tuple__486 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_modifiers, __pyx_n_s_mapper, __pyx_n_s_m); if (unlikely(!__pyx_tuple__486)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__486);
  __Pyx_GIVEREF(__pyx_tuple__486);
  __pyx_codeobj__487 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__486, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_build_function_modifiers, 1861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__487)) __PYX_ERR(0, 1861, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1868
 *     # 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_tuple__488 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_entry, __pyx_n_s_type); if (unlikely(!__pyx_tuple__488)) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__488);
  __Pyx_GIVEREF(__pyx_tuple__488);
  __pyx_codeobj__489 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__488, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_entry_as_pyobject, 1868, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__489)) __PYX_ERR(0, 1868, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1876
 *             return entry.cname
 * 
 *     def as_pyobject(self, cname, type):             # <<<<<<<<<<<<<<
 *         from .PyrexTypes import py_object_type, typecast
 *         return typecast(py_object_type, type, cname)
 */
  __pyx_tuple__490 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_py_object_type, __pyx_n_s_typecast); if (unlikely(!__pyx_tuple__490)) __PYX_ERR(0, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__490);
  __Pyx_GIVEREF(__pyx_tuple__490);
  __pyx_codeobj__491 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__490, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_as_pyobject, 1876, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__491)) __PYX_ERR(0, 1876, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1880
 *         return typecast(py_object_type, type, cname)
 * 
 *     def put_gotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GOTREF(%s);" % cname)
 * 
 */
  __pyx_tuple__492 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__492)) __PYX_ERR(0, 1880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__492);
  __Pyx_GIVEREF(__pyx_tuple__492);
  __pyx_codeobj__493 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__492, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_gotref, 1880, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__493)) __PYX_ERR(0, 1880, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1883
 *         self.putln("__Pyx_GOTREF(%s);" % cname)
 * 
 *     def put_giveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)
 * 
 */
  __pyx_tuple__494 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__494)) __PYX_ERR(0, 1883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__494);
  __Pyx_GIVEREF(__pyx_tuple__494);
  __pyx_codeobj__495 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__494, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_giveref, 1883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__495)) __PYX_ERR(0, 1883, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1886
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)
 * 
 *     def put_xgiveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)
 * 
 */
  __pyx_tuple__496 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__496)) __PYX_ERR(0, 1886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__496);
  __Pyx_GIVEREF(__pyx_tuple__496);
  __pyx_codeobj__497 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__496, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_xgiveref, 1886, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__497)) __PYX_ERR(0, 1886, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1889
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)
 * 
 *     def put_xgotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)
 * 
 */
  __pyx_tuple__498 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__498)) __PYX_ERR(0, 1889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__498);
  __Pyx_GIVEREF(__pyx_tuple__498);
  __pyx_codeobj__499 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__498, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_xgotref, 1889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__499)) __PYX_ERR(0, 1889, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1892
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)
 * 
 *     def put_incref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         if nanny:
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))
 */
  __pyx_tuple__500 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_nanny); if (unlikely(!__pyx_tuple__500)) __PYX_ERR(0, 1892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__500);
  __Pyx_GIVEREF(__pyx_tuple__500);
  __pyx_codeobj__501 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__500, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_incref, 1892, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__501)) __PYX_ERR(0, 1892, __pyx_L1_error)
  __pyx_tuple__502 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__502)) __PYX_ERR(0, 1892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__502);
  __Pyx_GIVEREF(__pyx_tuple__502);

  /* "Cython/Compiler/Code.py":1898
 *             self.putln("Py_INCREF(%s);" % self.as_pyobject(cname, type))
 * 
 *     def put_decref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 */
  __pyx_tuple__503 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_nanny); if (unlikely(!__pyx_tuple__503)) __PYX_ERR(0, 1898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__503);
  __Pyx_GIVEREF(__pyx_tuple__503);
  __pyx_codeobj__504 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__503, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_decref_2, 1898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__504)) __PYX_ERR(0, 1898, __pyx_L1_error)
  __pyx_tuple__505 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__505)) __PYX_ERR(0, 1898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__505);
  __Pyx_GIVEREF(__pyx_tuple__505);

  /* "Cython/Compiler/Code.py":1901
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 *     def put_var_gotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__506 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__506)) __PYX_ERR(0, 1901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__506);
  __Pyx_GIVEREF(__pyx_tuple__506);
  __pyx_codeobj__507 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__506, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_gotref, 1901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__507)) __PYX_ERR(0, 1901, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1905
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_giveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__508 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__508)) __PYX_ERR(0, 1905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__508);
  __Pyx_GIVEREF(__pyx_tuple__508);
  __pyx_codeobj__509 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__508, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_giveref, 1905, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__509)) __PYX_ERR(0, 1905, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1909
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__510 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__510)) __PYX_ERR(0, 1909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__510);
  __Pyx_GIVEREF(__pyx_tuple__510);
  __pyx_codeobj__511 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__510, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_xgotref, 1909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__511)) __PYX_ERR(0, 1909, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1913
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgiveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__512 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__512)) __PYX_ERR(0, 1913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__512);
  __Pyx_GIVEREF(__pyx_tuple__512);
  __pyx_codeobj__513 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__512, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_xgiveref, 1913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__513)) __PYX_ERR(0, 1913, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1917
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_incref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__514 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__514)) __PYX_ERR(0, 1917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__514);
  __Pyx_GIVEREF(__pyx_tuple__514);
  __pyx_codeobj__515 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__514, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_incref, 1917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__515)) __PYX_ERR(0, 1917, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1921
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xincref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__516 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__516)) __PYX_ERR(0, 1921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__516);
  __Pyx_GIVEREF(__pyx_tuple__516);
  __pyx_codeobj__517 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__516, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_xincref, 1921, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__517)) __PYX_ERR(0, 1921, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1925
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */
  __pyx_tuple__518 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_nanny, __pyx_n_s_clear_before_decref); if (unlikely(!__pyx_tuple__518)) __PYX_ERR(0, 1925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__518);
  __Pyx_GIVEREF(__pyx_tuple__518);
  __pyx_codeobj__519 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__518, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_decref_clear, 1925, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__519)) __PYX_ERR(0, 1925, __pyx_L1_error)
  __pyx_tuple__520 = PyTuple_Pack(2, ((PyObject *)Py_True), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__520)) __PYX_ERR(0, 1925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__520);
  __Pyx_GIVEREF(__pyx_tuple__520);

  /* "Cython/Compiler/Code.py":1929
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          have_gil=have_gil, clear=False)
 */
  __pyx_tuple__521 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_nanny, __pyx_n_s_have_gil); if (unlikely(!__pyx_tuple__521)) __PYX_ERR(0, 1929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__521);
  __Pyx_GIVEREF(__pyx_tuple__521);
  __pyx_codeobj__522 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__521, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_xdecref, 1929, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__522)) __PYX_ERR(0, 1929, __pyx_L1_error)
  __pyx_tuple__523 = PyTuple_Pack(2, ((PyObject *)Py_True), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__523)) __PYX_ERR(0, 1929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__523);
  __Pyx_GIVEREF(__pyx_tuple__523);

  /* "Cython/Compiler/Code.py":1933
 *                          have_gil=have_gil, clear=False)
 * 
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */
  __pyx_tuple__524 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_nanny, __pyx_n_s_clear_before_decref); if (unlikely(!__pyx_tuple__524)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__524);
  __Pyx_GIVEREF(__pyx_tuple__524);
  __pyx_codeobj__525 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__524, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_xdecref_clear, 1933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__525)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __pyx_tuple__526 = PyTuple_Pack(2, ((PyObject *)Py_True), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__526)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__526);
  __Pyx_GIVEREF(__pyx_tuple__526);

  /* "Cython/Compiler/Code.py":1937
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,             # <<<<<<<<<<<<<<
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:
 */
  __pyx_tuple__527 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_nanny, __pyx_n_s_null_check, __pyx_n_s_have_gil, __pyx_n_s_clear, __pyx_n_s_clear_before_decref, __pyx_n_s_prefix, __pyx_n_s_X); if (unlikely(!__pyx_tuple__527)) __PYX_ERR(0, 1937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__527);
  __Pyx_GIVEREF(__pyx_tuple__527);
  __pyx_codeobj__528 = (PyObject*)__Pyx_PyCode_New(8, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__527, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_decref, 1937, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__528)) __PYX_ERR(0, 1937, __pyx_L1_error)
  __pyx_tuple__529 = PyTuple_Pack(5, ((PyObject *)Py_True), ((PyObject *)Py_False), ((PyObject *)Py_True), ((PyObject *)Py_False), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__529)) __PYX_ERR(0, 1937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__529);
  __Pyx_GIVEREF(__pyx_tuple__529);

  /* "Cython/Compiler/Code.py":1958
 *                 prefix, X, self.as_pyobject(cname, type)))
 * 
 *     def put_decref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 */
  __pyx_tuple__530 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_rhs_cname); if (unlikely(!__pyx_tuple__530)) __PYX_ERR(0, 1958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__530);
  __Pyx_GIVEREF(__pyx_tuple__530);
  __pyx_codeobj__531 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__530, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_decref_set, 1958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__531)) __PYX_ERR(0, 1958, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1961
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_xdecref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 */
  __pyx_tuple__532 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_rhs_cname); if (unlikely(!__pyx_tuple__532)) __PYX_ERR(0, 1961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__532);
  __Pyx_GIVEREF(__pyx_tuple__532);
  __pyx_codeobj__533 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__532, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_xdecref_set, 1961, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__533)) __PYX_ERR(0, 1961, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1964
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_var_decref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__534 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__534)) __PYX_ERR(0, 1964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__534);
  __Pyx_GIVEREF(__pyx_tuple__534);
  __pyx_codeobj__535 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__534, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_decref, 1964, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__535)) __PYX_ERR(0, 1964, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1968
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xdecref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_tuple__536 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__536)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__536);
  __Pyx_GIVEREF(__pyx_tuple__536);
  __pyx_codeobj__537 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__536, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_xdecref, 1968, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__537)) __PYX_ERR(0, 1968, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1972
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_decref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 */
  __pyx_tuple__538 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__538)) __PYX_ERR(0, 1972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__538);
  __Pyx_GIVEREF(__pyx_tuple__538);
  __pyx_codeobj__539 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__538, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_decref_clear_2, 1972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__539)) __PYX_ERR(0, 1972, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1975
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 *     def put_var_xdecref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 */
  __pyx_tuple__540 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__540)) __PYX_ERR(0, 1975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__540);
  __Pyx_GIVEREF(__pyx_tuple__540);
  __pyx_codeobj__541 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__540, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_xdecref_clear, 1975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__541)) __PYX_ERR(0, 1975, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1978
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 *     def _put_var_decref_clear(self, entry, null_check):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             if entry.in_closure:
 */
  __pyx_tuple__542 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_entry, __pyx_n_s_null_check); if (unlikely(!__pyx_tuple__542)) __PYX_ERR(0, 1978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__542);
  __Pyx_GIVEREF(__pyx_tuple__542);
  __pyx_codeobj__543 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__542, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_decref_clear, 1978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__543)) __PYX_ERR(0, 1978, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1992
 *                     entry.cname))
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             if not used_only or entry.used:
 */
  __pyx_tuple__544 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_entries, __pyx_n_s_used_only, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__544)) __PYX_ERR(0, 1992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__544);
  __Pyx_GIVEREF(__pyx_tuple__544);
  __pyx_codeobj__545 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__544, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_decrefs, 1992, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__545)) __PYX_ERR(0, 1992, __pyx_L1_error)
  __pyx_tuple__546 = PyTuple_Pack(1, ((PyObject *)__pyx_int_0)); if (unlikely(!__pyx_tuple__546)) __PYX_ERR(0, 1992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__546);
  __Pyx_GIVEREF(__pyx_tuple__546);

  /* "Cython/Compiler/Code.py":2000
 *                     self.put_var_decref(entry)
 * 
 *     def put_var_xdecrefs(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref(entry)
 */
  __pyx_tuple__547 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_entries, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__547)) __PYX_ERR(0, 2000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__547);
  __Pyx_GIVEREF(__pyx_tuple__547);
  __pyx_codeobj__548 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__547, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_xdecrefs, 2000, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__548)) __PYX_ERR(0, 2000, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2004
 *             self.put_var_xdecref(entry)
 * 
 *     def put_var_xdecrefs_clear(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref_clear(entry)
 */
  __pyx_tuple__549 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_entries, __pyx_n_s_entry); if (unlikely(!__pyx_tuple__549)) __PYX_ERR(0, 2004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__549);
  __Pyx_GIVEREF(__pyx_tuple__549);
  __pyx_codeobj__550 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__549, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_var_xdecrefs_clear, 2004, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__550)) __PYX_ERR(0, 2004, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2008
 *             self.put_var_xdecref_clear(entry)
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 */
  __pyx_tuple__551 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_slice_cname, __pyx_n_s_have_gil, __pyx_n_s_MemoryView); if (unlikely(!__pyx_tuple__551)) __PYX_ERR(0, 2008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__551);
  __Pyx_GIVEREF(__pyx_tuple__551);
  __pyx_codeobj__552 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__551, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_incref_memoryviewslice, 2008, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__552)) __PYX_ERR(0, 2008, __pyx_L1_error)
  __pyx_tuple__553 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__553)) __PYX_ERR(0, 2008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__553);
  __Pyx_GIVEREF(__pyx_tuple__553);

  /* "Cython/Compiler/Code.py":2013
 *         self.putln("__PYX_INC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xdecref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 */
  __pyx_tuple__554 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_slice_cname, __pyx_n_s_have_gil, __pyx_n_s_MemoryView); if (unlikely(!__pyx_tuple__554)) __PYX_ERR(0, 2013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__554);
  __Pyx_GIVEREF(__pyx_tuple__554);
  __pyx_codeobj__555 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__554, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_xdecref_memoryviewslice, 2013, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__555)) __PYX_ERR(0, 2013, __pyx_L1_error)
  __pyx_tuple__556 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__556)) __PYX_ERR(0, 2013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__556);
  __Pyx_GIVEREF(__pyx_tuple__556);

  /* "Cython/Compiler/Code.py":2018
 *         self.putln("__PYX_XDEC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xgiveref_memoryviewslice(self, slice_cname):             # <<<<<<<<<<<<<<
 *         self.put_xgiveref("%s.memview" % slice_cname)
 * 
 */
  __pyx_tuple__557 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_slice_cname); if (unlikely(!__pyx_tuple__557)) __PYX_ERR(0, 2018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__557);
  __Pyx_GIVEREF(__pyx_tuple__557);
  __pyx_codeobj__558 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__557, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_xgiveref_memoryviewslice, 2018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__558)) __PYX_ERR(0, 2018, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2021
 *         self.put_xgiveref("%s.memview" % slice_cname)
 * 
 *     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_tuple__559 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_type, __pyx_n_s_nanny, __pyx_n_s_py_object_type, __pyx_n_s_typecast, __pyx_n_s_py_none); if (unlikely(!__pyx_tuple__559)) __PYX_ERR(0, 2021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__559);
  __Pyx_GIVEREF(__pyx_tuple__559);
  __pyx_codeobj__560 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__559, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_init_to_py_none, 2021, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__560)) __PYX_ERR(0, 2021, __pyx_L1_error)
  __pyx_tuple__561 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__561)) __PYX_ERR(0, 2021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__561);
  __Pyx_GIVEREF(__pyx_tuple__561);

  /* "Cython/Compiler/Code.py":2029
 *             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_tuple__562 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_entry, __pyx_n_s_template, __pyx_n_s_nanny, __pyx_n_s_code); if (unlikely(!__pyx_tuple__562)) __PYX_ERR(0, 2029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__562);
  __Pyx_GIVEREF(__pyx_tuple__562);
  __pyx_codeobj__563 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__562, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_init_var_to_py_none, 2029, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__563)) __PYX_ERR(0, 2029, __pyx_L1_error)
  __pyx_tuple__564 = PyTuple_Pack(2, ((PyObject*)__pyx_kp_s_s_13), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__564)) __PYX_ERR(0, 2029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__564);
  __Pyx_GIVEREF(__pyx_tuple__564);

  /* "Cython/Compiler/Code.py":2037
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True):             # <<<<<<<<<<<<<<
 *         if entry.is_special or entry.name == '__getattribute__':
 *             if entry.name not in special_py_methods:
 */
  __pyx_tuple__565 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_entry, __pyx_n_s_term, __pyx_n_s_allow_skip, __pyx_n_s_method_coexist, __pyx_n_s_doc_code, __pyx_n_s_method_flags); if (unlikely(!__pyx_tuple__565)) __PYX_ERR(0, 2037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__565);
  __Pyx_GIVEREF(__pyx_tuple__565);
  __pyx_codeobj__566 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__565, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_pymethoddef, 2037, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__566)) __PYX_ERR(0, 2037, __pyx_L1_error)
  __pyx_tuple__567 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__567)) __PYX_ERR(0, 2037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__567);
  __Pyx_GIVEREF(__pyx_tuple__567);

  /* "Cython/Compiler/Code.py":2066
 *     # GIL methods
 * 
 *     def put_ensure_gil(self, declare_gilstate=True, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The generated code is safe even when no PyThreadState
 */
  __pyx_tuple__568 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_declare_gilstate, __pyx_n_s_variable); if (unlikely(!__pyx_tuple__568)) __PYX_ERR(0, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__568);
  __Pyx_GIVEREF(__pyx_tuple__568);
  __pyx_codeobj__569 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__568, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_ensure_gil, 2066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__569)) __PYX_ERR(0, 2066, __pyx_L1_error)
  __pyx_tuple__570 = PyTuple_Pack(2, ((PyObject *)Py_True), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__570)) __PYX_ERR(0, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__570);
  __Pyx_GIVEREF(__pyx_tuple__570);

  /* "Cython/Compiler/Code.py":2083
 *         self.putln("#endif")
 * 
 *     def put_release_ensured_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Releases the GIL, corresponds to `put_ensure_gil`.
 */
  __pyx_tuple__571 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_variable); if (unlikely(!__pyx_tuple__571)) __PYX_ERR(0, 2083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__571);
  __Pyx_GIVEREF(__pyx_tuple__571);
  __pyx_codeobj__572 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__571, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_release_ensured_gil, 2083, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__572)) __PYX_ERR(0, 2083, __pyx_L1_error)
  __pyx_tuple__573 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__573)) __PYX_ERR(0, 2083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__573);
  __Pyx_GIVEREF(__pyx_tuple__573);

  /* "Cython/Compiler/Code.py":2093
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The thread's thread state must have been initialized
 */
  __pyx_tuple__574 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_variable); if (unlikely(!__pyx_tuple__574)) __PYX_ERR(0, 2093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__574);
  __Pyx_GIVEREF(__pyx_tuple__574);
  __pyx_codeobj__575 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__574, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_acquire_gil, 2093, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__575)) __PYX_ERR(0, 2093, __pyx_L1_error)
  __pyx_tuple__576 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__576)) __PYX_ERR(0, 2093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__576);
  __Pyx_GIVEREF(__pyx_tuple__576);

  /* "Cython/Compiler/Code.py":2104
 *         self.putln("#endif")
 * 
 *     def put_release_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")
 */
  __pyx_tuple__577 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_variable); if (unlikely(!__pyx_tuple__577)) __PYX_ERR(0, 2104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__577);
  __Pyx_GIVEREF(__pyx_tuple__577);
  __pyx_codeobj__578 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__577, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_release_gil, 2104, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__578)) __PYX_ERR(0, 2104, __pyx_L1_error)
  __pyx_tuple__579 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__579)) __PYX_ERR(0, 2104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__579);
  __Pyx_GIVEREF(__pyx_tuple__579);

  /* "Cython/Compiler/Code.py":2113
 *         self.putln("#endif")
 * 
 *     def declare_gilstate(self):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 */
  __pyx_tuple__580 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__580)) __PYX_ERR(0, 2113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__580);
  __Pyx_GIVEREF(__pyx_tuple__580);
  __pyx_codeobj__581 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__580, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_declare_gilstate, 2113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__581)) __PYX_ERR(0, 2113, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2120
 *     # error handling
 * 
 *     def put_error_if_neg(self, pos, value):             # <<<<<<<<<<<<<<
 * #        return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))  # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))
 */
  __pyx_tuple__582 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_value); if (unlikely(!__pyx_tuple__582)) __PYX_ERR(0, 2120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__582);
  __Pyx_GIVEREF(__pyx_tuple__582);
  __pyx_codeobj__583 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__582, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_error_if_neg, 2120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__583)) __PYX_ERR(0, 2120, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2124
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):             # <<<<<<<<<<<<<<
 *         from . import ExprNodes
 *         if entry.from_closure:
 */
  __pyx_tuple__584 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_entry, __pyx_n_s_in_nogil_context, __pyx_n_s_ExprNodes, __pyx_n_s_func); if (unlikely(!__pyx_tuple__584)) __PYX_ERR(0, 2124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__584);
  __Pyx_GIVEREF(__pyx_tuple__584);
  __pyx_codeobj__585 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__584, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_error_if_unbound, 2124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__585)) __PYX_ERR(0, 2124, __pyx_L1_error)
  __pyx_tuple__586 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__586)) __PYX_ERR(0, 2124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__586);
  __Pyx_GIVEREF(__pyx_tuple__586);

  /* "Cython/Compiler/Code.py":2145
 *                                 self.error_goto(pos)))
 * 
 *     def set_error_info(self, pos, used=False):             # <<<<<<<<<<<<<<
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
 */
  __pyx_tuple__587 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_used, __pyx_n_s_cinfo); if (unlikely(!__pyx_tuple__587)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__587);
  __Pyx_GIVEREF(__pyx_tuple__587);
  __pyx_codeobj__588 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__587, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_set_error_info, 2145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__588)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __pyx_tuple__589 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__589)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__589);
  __Pyx_GIVEREF(__pyx_tuple__589);

  /* "Cython/Compiler/Code.py":2162
 *             cinfo)
 * 
 *     def error_goto(self, pos):             # <<<<<<<<<<<<<<
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
 */
  __pyx_tuple__590 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_pos, __pyx_n_s_lbl); if (unlikely(!__pyx_tuple__590)) __PYX_ERR(0, 2162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__590);
  __Pyx_GIVEREF(__pyx_tuple__590);
  __pyx_codeobj__591 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__590, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_error_goto, 2162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__591)) __PYX_ERR(0, 2162, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2170
 *             lbl)
 * 
 *     def error_goto_if(self, cond, pos):             # <<<<<<<<<<<<<<
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
 */
  __pyx_tuple__592 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_cond, __pyx_n_s_pos); if (unlikely(!__pyx_tuple__592)) __PYX_ERR(0, 2170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__592);
  __Pyx_GIVEREF(__pyx_tuple__592);
  __pyx_codeobj__593 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__592, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_error_goto_if, 2170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__593)) __PYX_ERR(0, 2170, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2173
 *         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_tuple__594 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_pos); if (unlikely(!__pyx_tuple__594)) __PYX_ERR(0, 2173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__594);
  __Pyx_GIVEREF(__pyx_tuple__594);
  __pyx_codeobj__595 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__594, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_error_goto_if_null, 2173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__595)) __PYX_ERR(0, 2173, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2176
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
 *     def error_goto_if_neg(self, cname, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("%s < 0" % cname, pos)
 * 
 */
  __pyx_tuple__596 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_cname, __pyx_n_s_pos); if (unlikely(!__pyx_tuple__596)) __PYX_ERR(0, 2176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__596);
  __Pyx_GIVEREF(__pyx_tuple__596);
  __pyx_codeobj__597 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__596, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_error_goto_if_neg, 2176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__597)) __PYX_ERR(0, 2176, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2179
 *         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_tuple__598 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pos); if (unlikely(!__pyx_tuple__598)) __PYX_ERR(0, 2179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__598);
  __Pyx_GIVEREF(__pyx_tuple__598);
  __pyx_codeobj__599 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__598, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_error_goto_if_PyErr, 2179, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__599)) __PYX_ERR(0, 2179, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2182
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
 *     def lookup_filename(self, filename):             # <<<<<<<<<<<<<<
 *         return self.globalstate.lookup_filename(filename)
 * 
 */
  __pyx_tuple__600 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_filename); if (unlikely(!__pyx_tuple__600)) __PYX_ERR(0, 2182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__600);
  __Pyx_GIVEREF(__pyx_tuple__600);
  __pyx_codeobj__601 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__600, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_lookup_filename, 2182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__601)) __PYX_ERR(0, 2182, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2185
 *         return self.globalstate.lookup_filename(filename)
 * 
 *     def put_declare_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 */
  __pyx_tuple__602 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__602)) __PYX_ERR(0, 2185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__602);
  __Pyx_GIVEREF(__pyx_tuple__602);
  __pyx_codeobj__603 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__602, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_declare_refcount_context, 2185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__603)) __PYX_ERR(0, 2185, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2188
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):             # <<<<<<<<<<<<<<
 *         if acquire_gil:
 *             self.globalstate.use_utility_code(
 */
  __pyx_tuple__604 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_acquire_gil); if (unlikely(!__pyx_tuple__604)) __PYX_ERR(0, 2188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__604);
  __Pyx_GIVEREF(__pyx_tuple__604);
  __pyx_codeobj__605 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__604, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_setup_refcount_context, 2188, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__605)) __PYX_ERR(0, 2188, __pyx_L1_error)
  __pyx_tuple__606 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__606)) __PYX_ERR(0, 2188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__606);
  __Pyx_GIVEREF(__pyx_tuple__606);

  /* "Cython/Compiler/Code.py":2194
 *         self.putln('__Pyx_RefNannySetupContext("%s", %d);' % (name, acquire_gil and 1 or 0))
 * 
 *     def put_finish_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_RefNannyFinishContext();")
 * 
 */
  __pyx_tuple__607 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__607)) __PYX_ERR(0, 2194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__607);
  __Pyx_GIVEREF(__pyx_tuple__607);
  __pyx_codeobj__608 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__607, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_finish_refcount_context, 2194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__608)) __PYX_ERR(0, 2194, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2197
 *         self.putln("__Pyx_RefNannyFinishContext();")
 * 
 *     def put_add_traceback(self, qualified_name):             # <<<<<<<<<<<<<<
 *         """
 *         Build a Python traceback for propagating exceptions.
 */
  __pyx_tuple__609 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_qualified_name, __pyx_n_s_format_tuple); if (unlikely(!__pyx_tuple__609)) __PYX_ERR(0, 2197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__609);
  __Pyx_GIVEREF(__pyx_tuple__609);
  __pyx_codeobj__610 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__609, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_add_traceback, 2197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__610)) __PYX_ERR(0, 2197, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2212
 *         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_tuple__611 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_qualified_name, __pyx_n_s_nogil, __pyx_n_s_format_tuple); if (unlikely(!__pyx_tuple__611)) __PYX_ERR(0, 2212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__611);
  __Pyx_GIVEREF(__pyx_tuple__611);
  __pyx_codeobj__612 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__611, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_unraisable, 2212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__612)) __PYX_ERR(0, 2212, __pyx_L1_error)
  __pyx_tuple__613 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__613)) __PYX_ERR(0, 2212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__613);
  __Pyx_GIVEREF(__pyx_tuple__613);

  /* "Cython/Compiler/Code.py":2231
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 *     def put_trace_declarations(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 */
  __pyx_tuple__614 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__614)) __PYX_ERR(0, 2231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__614);
  __Pyx_GIVEREF(__pyx_tuple__614);
  __pyx_codeobj__615 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__614, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_trace_declarations, 2231, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__615)) __PYX_ERR(0, 2231, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2234
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 *     def put_trace_frame_init(self, codeobj=None):             # <<<<<<<<<<<<<<
 *         if codeobj:
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 */
  __pyx_tuple__616 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_codeobj); if (unlikely(!__pyx_tuple__616)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__616);
  __Pyx_GIVEREF(__pyx_tuple__616);
  __pyx_codeobj__617 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__616, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_trace_frame_init, 2234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__617)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __pyx_tuple__618 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__618)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__618);
  __Pyx_GIVEREF(__pyx_tuple__618);

  /* "Cython/Compiler/Code.py":2238
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_call(self, name, pos, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceCall("%s", %s[%s], %s, %d, %s);' % (
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 */
  __pyx_tuple__619 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_pos, __pyx_n_s_nogil); if (unlikely(!__pyx_tuple__619)) __PYX_ERR(0, 2238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__619);
  __Pyx_GIVEREF(__pyx_tuple__619);
  __pyx_codeobj__620 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__619, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_trace_call, 2238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__620)) __PYX_ERR(0, 2238, __pyx_L1_error)
  __pyx_tuple__621 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__621)) __PYX_ERR(0, 2238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__621);
  __Pyx_GIVEREF(__pyx_tuple__621);

  /* "Cython/Compiler/Code.py":2242
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 * 
 *     def put_trace_exception(self):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceException();")
 * 
 */
  __pyx_tuple__622 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__622)) __PYX_ERR(0, 2242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__622);
  __Pyx_GIVEREF(__pyx_tuple__622);
  __pyx_codeobj__623 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__622, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_trace_exception, 2242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__623)) __PYX_ERR(0, 2242, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2245
 *         self.putln("__Pyx_TraceException();")
 * 
 *     def put_trace_return(self, retvalue_cname, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 */
  __pyx_tuple__624 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_retvalue_cname, __pyx_n_s_nogil); if (unlikely(!__pyx_tuple__624)) __PYX_ERR(0, 2245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__624);
  __Pyx_GIVEREF(__pyx_tuple__624);
  __pyx_codeobj__625 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__624, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_trace_return, 2245, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__625)) __PYX_ERR(0, 2245, __pyx_L1_error)
  __pyx_tuple__626 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__626)) __PYX_ERR(0, 2245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__626);
  __Pyx_GIVEREF(__pyx_tuple__626);

  /* "Cython/Compiler/Code.py":2248
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 *     def putln_openmp(self, string):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)
 */
  __pyx_tuple__627 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_string); if (unlikely(!__pyx_tuple__627)) __PYX_ERR(0, 2248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__627);
  __Pyx_GIVEREF(__pyx_tuple__627);
  __pyx_codeobj__628 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__627, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_putln_openmp, 2248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__628)) __PYX_ERR(0, 2248, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2253
 *         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_tuple__629 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_cond); if (unlikely(!__pyx_tuple__629)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__629);
  __Pyx_GIVEREF(__pyx_tuple__629);
  __pyx_codeobj__630 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__629, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_undef_builtin_expect, 2253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__630)) __PYX_ERR(0, 2253, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2265
 *         self.putln("#endif")
 * 
 *     def redef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")
 */
  __pyx_tuple__631 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_cond); if (unlikely(!__pyx_tuple__631)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__631);
  __Pyx_GIVEREF(__pyx_tuple__631);
  __pyx_codeobj__632 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__631, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_redef_builtin_expect, 2265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__632)) __PYX_ERR(0, 2265, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2281
 *         self.level = 0
 * 
 *     def putln(self, code):             # <<<<<<<<<<<<<<
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
 */
  __pyx_tuple__633 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_code); if (unlikely(!__pyx_tuple__633)) __PYX_ERR(0, 2281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__633);
  __Pyx_GIVEREF(__pyx_tuple__633);
  __pyx_codeobj__634 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__633, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_putln, 2281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__634)) __PYX_ERR(0, 2281, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2284
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
 */
  __pyx_tuple__635 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__635)) __PYX_ERR(0, 2284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__635);
  __Pyx_GIVEREF(__pyx_tuple__635);
  __pyx_codeobj__636 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__635, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_indent, 2284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__636)) __PYX_ERR(0, 2284, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2287
 *         self.level += 1
 * 
 *     def dedent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
 */
  __pyx_tuple__637 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__637)) __PYX_ERR(0, 2287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__637);
  __Pyx_GIVEREF(__pyx_tuple__637);
  __pyx_codeobj__638 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__637, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_dedent, 2287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__638)) __PYX_ERR(0, 2287, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2297
 *     """
 * 
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):             # <<<<<<<<<<<<<<
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level
 */
  __pyx_tuple__639 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_buffer, __pyx_n_s_indent_level, __pyx_n_s_context, __pyx_n_s_encoding); if (unlikely(!__pyx_tuple__639)) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__639);
  __Pyx_GIVEREF(__pyx_tuple__639);
  __pyx_codeobj__640 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__639, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 2297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__640)) __PYX_ERR(0, 2297, __pyx_L1_error)
  __pyx_tuple__641 = PyTuple_Pack(4, ((PyObject *)Py_None), ((PyObject *)__pyx_int_0), ((PyObject *)Py_None), ((PyObject*)__pyx_n_s_ascii)); if (unlikely(!__pyx_tuple__641)) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__641);
  __Pyx_GIVEREF(__pyx_tuple__641);

  /* "Cython/Compiler/Code.py":2303
 *         self.encoding = encoding
 * 
 *     def indent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level += levels
 *         return True
 */
  __pyx_tuple__642 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_levels); if (unlikely(!__pyx_tuple__642)) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__642);
  __Pyx_GIVEREF(__pyx_tuple__642);
  __pyx_codeobj__643 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__642, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_indent, 2303, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__643)) __PYX_ERR(0, 2303, __pyx_L1_error)
  __pyx_tuple__644 = PyTuple_Pack(1, ((PyObject *)__pyx_int_1)); if (unlikely(!__pyx_tuple__644)) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__644);
  __Pyx_GIVEREF(__pyx_tuple__644);

  /* "Cython/Compiler/Code.py":2307
 *         return True
 * 
 *     def dedent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level -= levels
 * 
 */
  __pyx_tuple__645 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_levels); if (unlikely(!__pyx_tuple__645)) __PYX_ERR(0, 2307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__645);
  __Pyx_GIVEREF(__pyx_tuple__645);
  __pyx_codeobj__646 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__645, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_dedent, 2307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__646)) __PYX_ERR(0, 2307, __pyx_L1_error)
  __pyx_tuple__647 = PyTuple_Pack(1, ((PyObject *)__pyx_int_1)); if (unlikely(!__pyx_tuple__647)) __PYX_ERR(0, 2307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__647);
  __Pyx_GIVEREF(__pyx_tuple__647);

  /* "Cython/Compiler/Code.py":2310
 *         self.level -= levels
 * 
 *     def indenter(self, line):             # <<<<<<<<<<<<<<
 *         """
 *         Instead of
 */
  __pyx_tuple__648 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_line); if (unlikely(!__pyx_tuple__648)) __PYX_ERR(0, 2310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__648);
  __Pyx_GIVEREF(__pyx_tuple__648);
  __pyx_codeobj__649 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__648, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_indenter, 2310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__649)) __PYX_ERR(0, 2310, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2327
 *         return True
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
 */
  __pyx_tuple__650 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_result); if (unlikely(!__pyx_tuple__650)) __PYX_ERR(0, 2327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__650);
  __Pyx_GIVEREF(__pyx_tuple__650);
  __pyx_codeobj__651 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__650, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_getvalue, 2327, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__651)) __PYX_ERR(0, 2327, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2333
 *         return result
 * 
 *     def putln(self, line, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */
  __pyx_tuple__652 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_line, __pyx_n_s_context); if (unlikely(!__pyx_tuple__652)) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__652);
  __Pyx_GIVEREF(__pyx_tuple__652);
  __pyx_codeobj__653 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__652, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_putln, 2333, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__653)) __PYX_ERR(0, 2333, __pyx_L1_error)
  __pyx_tuple__654 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__654)) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__654);
  __Pyx_GIVEREF(__pyx_tuple__654);

  /* "Cython/Compiler/Code.py":2339
 *         self._putln(line)
 * 
 *     def _putln(self, line):             # <<<<<<<<<<<<<<
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))
 * 
 */
  __pyx_tuple__655 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_line); if (unlikely(!__pyx_tuple__655)) __PYX_ERR(0, 2339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__655);
  __Pyx_GIVEREF(__pyx_tuple__655);
  __pyx_codeobj__656 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__655, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_putln_2, 2339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__656)) __PYX_ERR(0, 2339, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2342
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))
 * 
 *     def put_chunk(self, chunk, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */
  __pyx_tuple__657 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_chunk, __pyx_n_s_context, __pyx_n_s_line); if (unlikely(!__pyx_tuple__657)) __PYX_ERR(0, 2342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__657);
  __Pyx_GIVEREF(__pyx_tuple__657);
  __pyx_codeobj__658 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__657, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_put_chunk, 2342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__658)) __PYX_ERR(0, 2342, __pyx_L1_error)
  __pyx_tuple__659 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__659)) __PYX_ERR(0, 2342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__659);
  __Pyx_GIVEREF(__pyx_tuple__659);

  /* "Cython/Compiler/Code.py":2351
 *             self._putln(line)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         return PyxCodeWriter(self.buffer.insertion_point(), self.level,
 *                              self.context)
 */
  __pyx_tuple__660 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__660)) __PYX_ERR(0, 2351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__660);
  __Pyx_GIVEREF(__pyx_tuple__660);
  __pyx_codeobj__661 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__660, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_insertion_point, 2351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__661)) __PYX_ERR(0, 2351, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2355
 *                              self.context)
 * 
 *     def named_insertion_point(self, name):             # <<<<<<<<<<<<<<
 *         setattr(self, name, self.insertion_point())
 * 
 */
  __pyx_tuple__662 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name); if (unlikely(!__pyx_tuple__662)) __PYX_ERR(0, 2355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__662);
  __Pyx_GIVEREF(__pyx_tuple__662);
  __pyx_codeobj__663 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__662, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_named_insertion_point, 2355, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__663)) __PYX_ERR(0, 2355, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2360
 * 
 * class ClosureTempAllocator(object):
 *     def __init__(self, klass):             # <<<<<<<<<<<<<<
 *         self.klass = klass
 *         self.temps_allocated = {}
 */
  __pyx_tuple__664 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_klass); if (unlikely(!__pyx_tuple__664)) __PYX_ERR(0, 2360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__664);
  __Pyx_GIVEREF(__pyx_tuple__664);
  __pyx_codeobj__665 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__664, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_init_2, 2360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__665)) __PYX_ERR(0, 2360, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2366
 *         self.temps_count = 0
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         for type, cnames in self.temps_allocated.items():
 *             self.temps_free[type] = list(cnames)
 */
  __pyx_tuple__666 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_cnames); if (unlikely(!__pyx_tuple__666)) __PYX_ERR(0, 2366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__666);
  __Pyx_GIVEREF(__pyx_tuple__666);
  __pyx_codeobj__667 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__666, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_reset, 2366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__667)) __PYX_ERR(0, 2366, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":2370
 *             self.temps_free[type] = list(cnames)
 * 
 *     def allocate_temp(self, type):             # <<<<<<<<<<<<<<
 *         if type not in self.temps_allocated:
 *             self.temps_allocated[type] = []
 */
  __pyx_tuple__668 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_type, __pyx_n_s_cname); if (unlikely(!__pyx_tuple__668)) __PYX_ERR(0, 2370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__668);
  __Pyx_GIVEREF(__pyx_tuple__668);
  __pyx_codeobj__669 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__668, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_tmp_pip_install_9i_72p5f_cython, __pyx_n_s_allocate_temp, 2370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__669)) __PYX_ERR(0, 2370, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_InitGlobals(void) {
  __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
  __pyx_umethod_PyList_Type_pop.type = (PyObject*)&PyList_Type;
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_32 = PyInt_FromLong(32); if (unlikely(!__pyx_int_32)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initCode(void); /*proto*/
PyMODINIT_FUNC initCode(void)
#else
PyMODINIT_FUNC PyInit_Code(void); /*proto*/
PyMODINIT_FUNC PyInit_Code(void)
#endif
{
  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;
  __Pyx_RefNannyDeclarations
  #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("PyMODINIT_FUNC PyInit_Code(void)", 0);
  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  #ifdef WITH_THREAD /* Python build with threading support? */
  PyEval_InitThreads();
  #endif
  #endif
  /*--- Module creation code ---*/
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4("Code", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
  #if CYTHON_COMPILING_IN_PYPY
  Py_INCREF(__pyx_b);
  #endif
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_Cython__Compiler__Code) {
    if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    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)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- 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_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_StringIOTree = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_DebugFlags = Py_None; Py_INCREF(Py_None);
  __pyx_v_6Cython_8Compiler_4Code_basestring = 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);
  /*--- Variable export code ---*/
  /*--- Function export code ---*/
  /*--- Type init code ---*/
  __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 (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code_FunctionState) < 0) __PYX_ERR(0, 575, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code_FunctionState.tp_print = 0;
  if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_4Code_FunctionState.tp_dict, __pyx_vtabptr_6Cython_8Compiler_4Code_FunctionState) < 0) __PYX_ERR(0, 575, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "FunctionState", (PyObject *)&__pyx_type_6Cython_8Compiler_4Code_FunctionState) < 0) __PYX_ERR(0, 575, __pyx_L1_error)
  __pyx_ptype_6Cython_8Compiler_4Code_FunctionState = &__pyx_type_6Cython_8Compiler_4Code_FunctionState;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code_IntConst) < 0) __PYX_ERR(1, 61, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code_IntConst.tp_print = 0;
  if (PyObject_SetAttrString(__pyx_m, "IntConst", (PyObject *)&__pyx_type_6Cython_8Compiler_4Code_IntConst) < 0) __PYX_ERR(1, 61, __pyx_L1_error)
  __pyx_ptype_6Cython_8Compiler_4Code_IntConst = &__pyx_type_6Cython_8Compiler_4Code_IntConst;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code_PyObjectConst) < 0) __PYX_ERR(0, 825, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code_PyObjectConst.tp_print = 0;
  if (PyObject_SetAttrString(__pyx_m, "PyObjectConst", (PyObject *)&__pyx_type_6Cython_8Compiler_4Code_PyObjectConst) < 0) __PYX_ERR(0, 825, __pyx_L1_error)
  __pyx_ptype_6Cython_8Compiler_4Code_PyObjectConst = &__pyx_type_6Cython_8Compiler_4Code_PyObjectConst;
  __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 (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code_StringConst) < 0) __PYX_ERR(0, 843, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code_StringConst.tp_print = 0;
  if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_4Code_StringConst.tp_dict, __pyx_vtabptr_6Cython_8Compiler_4Code_StringConst) < 0) __PYX_ERR(0, 843, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "StringConst", (PyObject *)&__pyx_type_6Cython_8Compiler_4Code_StringConst) < 0) __PYX_ERR(0, 843, __pyx_L1_error)
  __pyx_ptype_6Cython_8Compiler_4Code_StringConst = &__pyx_type_6Cython_8Compiler_4Code_StringConst;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter) < 0) __PYX_ERR(0, 2273, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter.tp_print = 0;
  if (PyObject_SetAttrString(__pyx_m, "PyrexCodeWriter", (PyObject *)&__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter) < 0) __PYX_ERR(0, 2273, __pyx_L1_error)
  __pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter = &__pyx_type_6Cython_8Compiler_4Code_PyrexCodeWriter;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants) < 0) __PYX_ERR(0, 410, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants.tp_print = 0;
  __pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct__inject_string_constants;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods.tp_print = 0;
  __pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_1_inject_unbound_methods;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string) < 0) __PYX_ERR(0, 465, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string.tp_print = 0;
  __pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_2_split_string;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr) < 0) __PYX_ERR(0, 468, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr.tp_print = 0;
  __pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_3_genexpr;
  if (PyType_Ready(&__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property) < 0) __PYX_ERR(0, 1494, __pyx_L1_error)
  __pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property.tp_print = 0;
  __pyx_ptype_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property = &__pyx_type_6Cython_8Compiler_4Code___pyx_scope_struct_4_funccontext_property;
  /*--- Type import code ---*/
  /*--- Variable import code ---*/
  /*--- Function import code ---*/
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif

  /* "Cython/Compiler/Code.py":14
 *                DebugFlags=object, basestring=object)
 * 
 * import os             # <<<<<<<<<<<<<<
 * import re
 * import sys
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_os);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_os, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":15
 * 
 * import os
 * import re             # <<<<<<<<<<<<<<
 * import sys
 * import operator
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_re, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_re);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":16
 * import os
 * import re
 * import sys             # <<<<<<<<<<<<<<
 * import operator
 * import textwrap
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":17
 * import re
 * import sys
 * import operator             # <<<<<<<<<<<<<<
 * import textwrap
 * from string import Template
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_operator, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_operator);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_operator, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":18
 * import sys
 * import operator
 * import textwrap             # <<<<<<<<<<<<<<
 * from string import Template
 * from functools import partial
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_textwrap, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_textwrap, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":19
 * import operator
 * import textwrap
 * from string import Template             # <<<<<<<<<<<<<<
 * from functools import partial
 * from contextlib import closing
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_Template);
  __Pyx_GIVEREF(__pyx_n_s_Template);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Template);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_string, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Template); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Template, __pyx_t_1) < 0) __PYX_ERR(0, 19, __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":20
 * import textwrap
 * from string import Template
 * from functools import partial             # <<<<<<<<<<<<<<
 * from contextlib import closing
 * from collections import defaultdict
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_partial);
  __Pyx_GIVEREF(__pyx_n_s_partial);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_partial);
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_functools, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_partial); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_partial, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":21
 * from string import Template
 * from functools import partial
 * from contextlib import closing             # <<<<<<<<<<<<<<
 * from collections import defaultdict
 * 
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_closing);
  __Pyx_GIVEREF(__pyx_n_s_closing);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_closing);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_contextlib, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_closing); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_closing, __pyx_t_1) < 0) __PYX_ERR(0, 21, __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":22
 * from functools import partial
 * from contextlib import closing
 * from collections import defaultdict             # <<<<<<<<<<<<<<
 * 
 * try:
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_defaultdict);
  __Pyx_GIVEREF(__pyx_n_s_defaultdict);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_defaultdict);
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_collections, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_defaultdict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_defaultdict, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":24
 * from collections import defaultdict
 * 
 * try:             # <<<<<<<<<<<<<<
 *     import hashlib
 * except ImportError:
 */
  {
    __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":25
 * 
 * try:
 *     import hashlib             # <<<<<<<<<<<<<<
 * except ImportError:
 *     import md5 as hashlib
 */
      __pyx_t_1 = __Pyx_Import(__pyx_n_s_hashlib, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L2_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_1) < 0) __PYX_ERR(0, 25, __pyx_L2_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "Cython/Compiler/Code.py":24
 * from collections import defaultdict
 * 
 * try:             # <<<<<<<<<<<<<<
 *     import hashlib
 * except ImportError:
 */
    }
    __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_L9_try_end;
    __pyx_L2_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "Cython/Compiler/Code.py":26
 * try:
 *     import hashlib
 * except ImportError:             # <<<<<<<<<<<<<<
 *     import md5 as hashlib
 * 
 */
    __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError);
    if (__pyx_t_6) {
      __Pyx_AddTraceback("Cython.Compiler.Code", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 26, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_7);

      /* "Cython/Compiler/Code.py":27
 *     import hashlib
 * except ImportError:
 *     import md5 as hashlib             # <<<<<<<<<<<<<<
 * 
 * from . import Naming
 */
      __pyx_t_8 = __Pyx_Import(__pyx_n_s_md5, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_8) < 0) __PYX_ERR(0, 27, __pyx_L4_except_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L3_exception_handled;
    }
    goto __pyx_L4_except_error;
    __pyx_L4_except_error:;

    /* "Cython/Compiler/Code.py":24
 * from collections import defaultdict
 * 
 * try:             # <<<<<<<<<<<<<<
 *     import hashlib
 * except ImportError:
 */
    __Pyx_PyThreadState_assign
    __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_L3_exception_handled:;
    __Pyx_PyThreadState_assign
    __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_L9_try_end:;
  }

  /* "Cython/Compiler/Code.py":29
 *     import md5 as hashlib
 * 
 * from . import Naming             # <<<<<<<<<<<<<<
 * from . import Options
 * from . import DebugFlags
 */
  __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_n_s_Naming);
  __Pyx_GIVEREF(__pyx_n_s_Naming);
  PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_Naming);
  __pyx_t_2 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_7, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Naming); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_t_7);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_Naming);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_Naming, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":30
 * 
 * from . import Naming
 * from . import Options             # <<<<<<<<<<<<<<
 * from . import DebugFlags
 * from . import StringEncoding
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_Options);
  __Pyx_GIVEREF(__pyx_n_s_Options);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Options);
  __pyx_t_7 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_2, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_Options); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_Options);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_Options, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":31
 * from . import Naming
 * from . import Options
 * from . import DebugFlags             # <<<<<<<<<<<<<<
 * from . import StringEncoding
 * from . import Version
 */
  __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_n_s_DebugFlags);
  __Pyx_GIVEREF(__pyx_n_s_DebugFlags);
  PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_DebugFlags);
  __pyx_t_2 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_7, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_DebugFlags); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_t_7);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_DebugFlags);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_DebugFlags, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":32
 * from . import Options
 * from . import DebugFlags
 * from . import StringEncoding             # <<<<<<<<<<<<<<
 * from . import Version
 * from .. import Utils
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_StringEncoding);
  __Pyx_GIVEREF(__pyx_n_s_StringEncoding);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_StringEncoding);
  __pyx_t_7 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_2, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_StringEncoding); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_StringEncoding);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_StringEncoding, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":33
 * from . import DebugFlags
 * from . import StringEncoding
 * from . import Version             # <<<<<<<<<<<<<<
 * from .. import Utils
 * from .Scanning import SourceDescriptor
 */
  __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_n_s_Version);
  __Pyx_GIVEREF(__pyx_n_s_Version);
  PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_Version);
  __pyx_t_2 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_7, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Version); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Version, __pyx_t_7) < 0) __PYX_ERR(0, 33, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":34
 * from . import StringEncoding
 * from . import Version
 * from .. import Utils             # <<<<<<<<<<<<<<
 * from .Scanning import SourceDescriptor
 * from ..StringIOTree import StringIOTree
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_Utils);
  __Pyx_GIVEREF(__pyx_n_s_Utils);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Utils);
  __pyx_t_7 = __Pyx_Import(__pyx_kp_s__8, __pyx_t_2, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_Utils); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_Utils);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_Utils, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":35
 * from . import Version
 * from .. import Utils
 * from .Scanning import SourceDescriptor             # <<<<<<<<<<<<<<
 * from ..StringIOTree import StringIOTree
 * 
 */
  __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_n_s_SourceDescriptor);
  __Pyx_GIVEREF(__pyx_n_s_SourceDescriptor);
  PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_SourceDescriptor);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_Scanning, __pyx_t_7, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_SourceDescriptor); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_t_7);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_SourceDescriptor);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_SourceDescriptor, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "Cython/Compiler/Code.py":36
 * from .. import Utils
 * from .Scanning import SourceDescriptor
 * from ..StringIOTree import StringIOTree             # <<<<<<<<<<<<<<
 * 
 * try:
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_StringIOTree);
  __Pyx_GIVEREF(__pyx_n_s_StringIOTree);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_StringIOTree);
  __pyx_t_7 = __Pyx_Import(__pyx_n_s_StringIOTree, __pyx_t_2, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_StringIOTree); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_StringIOTree);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_StringIOTree, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":38
 * from ..StringIOTree import StringIOTree
 * 
 * try:             # <<<<<<<<<<<<<<
 *     from __builtin__ import basestring
 * except ImportError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "Cython/Compiler/Code.py":39
 * 
 * try:
 *     from __builtin__ import basestring             # <<<<<<<<<<<<<<
 * except ImportError:
 *     from builtins import str as basestring
 */
      __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_INCREF(__pyx_n_s_basestring);
      __Pyx_GIVEREF(__pyx_n_s_basestring);
      PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_basestring);
      __pyx_t_2 = __Pyx_Import(__pyx_n_s_builtin, __pyx_t_7, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_basestring); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_basestring);
      __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_basestring, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "Cython/Compiler/Code.py":38
 * from ..StringIOTree import StringIOTree
 * 
 * try:             # <<<<<<<<<<<<<<
 *     from __builtin__ import basestring
 * except ImportError:
 */
    }
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L19_try_end;
    __pyx_L12_error:;
    __Pyx_PyThreadState_assign
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "Cython/Compiler/Code.py":40
 * try:
 *     from __builtin__ import basestring
 * except ImportError:             # <<<<<<<<<<<<<<
 *     from builtins import str as basestring
 * 
 */
    __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError);
    if (__pyx_t_6) {
      __Pyx_AddTraceback("Cython.Compiler.Code", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_1) < 0) __PYX_ERR(0, 40, __pyx_L14_except_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_1);

      /* "Cython/Compiler/Code.py":41
 *     from __builtin__ import basestring
 * except ImportError:
 *     from builtins import str as basestring             # <<<<<<<<<<<<<<
 * 
 * KEYWORDS_MUST_BE_BYTES = sys.version_info < (2, 7)
 */
      __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41, __pyx_L14_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_n_s_str);
      __Pyx_GIVEREF(__pyx_n_s_str);
      PyList_SET_ITEM(__pyx_t_8, 0, __pyx_n_s_str);
      __pyx_t_9 = __Pyx_Import(__pyx_n_s_builtins, __pyx_t_8, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 41, __pyx_L14_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_ImportFrom(__pyx_t_9, __pyx_n_s_str); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41, __pyx_L14_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_basestring);
      __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_basestring, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L13_exception_handled;
    }
    goto __pyx_L14_except_error;
    __pyx_L14_except_error:;

    /* "Cython/Compiler/Code.py":38
 * from ..StringIOTree import StringIOTree
 * 
 * try:             # <<<<<<<<<<<<<<
 *     from __builtin__ import basestring
 * except ImportError:
 */
    __Pyx_PyThreadState_assign
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L13_exception_handled:;
    __Pyx_PyThreadState_assign
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
    __pyx_L19_try_end:;
  }

  /* "Cython/Compiler/Code.py":43
 *     from builtins import str as basestring
 * 
 * KEYWORDS_MUST_BE_BYTES = sys.version_info < (2, 7)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_7, __pyx_tuple__165, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_KEYWORDS_MUST_BE_BYTES, __pyx_t_1) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":48
 * non_portable_builtins_map = {
 *     # builtins that have different names in different Python versions
 *     'bytes'         : ('PY_MAJOR_VERSION < 3',  'str'),             # <<<<<<<<<<<<<<
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bytes, __pyx_tuple__166) < 0) __PYX_ERR(0, 48, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":49
 *     # builtins that have different names in different Python versions
 *     'bytes'         : ('PY_MAJOR_VERSION < 3',  'str'),
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),             # <<<<<<<<<<<<<<
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),
 */
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_unicode_2, __pyx_tuple__167) < 0) __PYX_ERR(0, 48, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":50
 *     'bytes'         : ('PY_MAJOR_VERSION < 3',  'str'),
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),             # <<<<<<<<<<<<<<
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),
 *     'raw_input'     : ('PY_MAJOR_VERSION >= 3', 'input'),
 */
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_basestring, __pyx_tuple__168) < 0) __PYX_ERR(0, 48, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":51
 *     'unicode'       : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),             # <<<<<<<<<<<<<<
 *     'raw_input'     : ('PY_MAJOR_VERSION >= 3', 'input'),
 * }
 */
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xrange, __pyx_tuple__169) < 0) __PYX_ERR(0, 48, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":52
 *     'basestring'    : ('PY_MAJOR_VERSION >= 3', 'str'),
 *     'xrange'        : ('PY_MAJOR_VERSION >= 3', 'range'),
 *     'raw_input'     : ('PY_MAJOR_VERSION >= 3', 'input'),             # <<<<<<<<<<<<<<
 * }
 * 
 */
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_raw_input, __pyx_tuple__170) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_non_portable_builtins_map, __pyx_t_1) < 0) __PYX_ERR(0, 46, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":57
 * basicsize_builtins_map = {
 *     # builtins whose type has a different tp_basicsize than sizeof(...)
 *     'PyTypeObject': 'PyHeapTypeObject',             # <<<<<<<<<<<<<<
 * }
 * 
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_PyTypeObject, __pyx_n_s_PyHeapTypeObject) < 0) __PYX_ERR(0, 57, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_basicsize_builtins_map, __pyx_t_1) < 0) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":60
 * }
 * 
 * uncachable_builtins = [             # <<<<<<<<<<<<<<
 *     # builtin names that cannot be cached because they may or may not
 *     # be available at import time
 */
  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_WindowsError);
  __Pyx_GIVEREF(__pyx_n_s_WindowsError);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_WindowsError);
  __Pyx_INCREF(__pyx_n_s__44);
  __Pyx_GIVEREF(__pyx_n_s__44);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s__44);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_uncachable_builtins, __pyx_t_1) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":67
 * ]
 * 
 * special_py_methods = set([             # <<<<<<<<<<<<<<
 *     '__cinit__', '__dealloc__', '__richcmp__', '__next__',
 *     '__await__', '__aiter__', '__anext__',
 */
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PySet_Add(__pyx_t_1, __pyx_n_s_cinit) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_dealloc) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_richcmp) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_next) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_await) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_aiter) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_anext) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_getreadbuffer) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_getwritebuffer) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_getsegcount) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_getcharbuffer) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_getbuffer) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PySet_Add(__pyx_t_1, __pyx_n_s_releasebuffer) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_special_py_methods, __pyx_t_1) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":75
 * 
 * modifier_output_mapper = {
 *     'inline': 'CYTHON_INLINE'             # <<<<<<<<<<<<<<
 * }.get
 * 
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inline, __pyx_n_s_CYTHON_INLINE) < 0) __PYX_ERR(0, 75, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":76
 * modifier_output_mapper = {
 *     'inline': 'CYTHON_INLINE'
 * }.get             # <<<<<<<<<<<<<<
 * 
 * is_self_assignment = re.compile(r" *(\w+) = (\1);\s*$").match
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_modifier_output_mapper, __pyx_t_7) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":78
 * }.get
 * 
 * is_self_assignment = re.compile(r" *(\w+) = (\1);\s*$").match             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__171, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_match); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_self_assignment, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":81
 * 
 * 
 * def get_utility_dir():             # <<<<<<<<<<<<<<
 *     # make this a function and not global variables:
 *     # http://trac.cython.org/cython_trac/ticket/475
 */
  __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_1get_utility_dir, 0, __pyx_n_s_get_utility_dir, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__173)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_utility_dir, __pyx_t_7) < 0) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":88
 * 
 * 
 * class UtilityCodeBase(object):             # <<<<<<<<<<<<<<
 *     """
 *     Support for loading utility code from a file.
 */
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_builtin_object);
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_7, __pyx_n_s_UtilityCodeBase, __pyx_n_s_UtilityCodeBase, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_kp_s_Support_for_loading_utility_cod); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":117
 *     """
 * 
 *     is_cython_utility = False             # <<<<<<<<<<<<<<
 *     requires = None
 *     _utility_cache = {}
 */
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_is_cython_utility, Py_False) < 0) __PYX_ERR(0, 117, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":118
 * 
 *     is_cython_utility = False
 *     requires = None             # <<<<<<<<<<<<<<
 *     _utility_cache = {}
 * 
 */
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_requires, Py_None) < 0) __PYX_ERR(0, 118, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":119
 *     is_cython_utility = False
 *     requires = None
 *     _utility_cache = {}             # <<<<<<<<<<<<<<
 * 
 *     @classmethod
 */
  __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_utility_cache, __pyx_t_9) < 0) __PYX_ERR(0, 119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":122
 * 
 *     @classmethod
 *     def _add_utility(cls, utility, type, lines, begin_lineno, tags=None):             # <<<<<<<<<<<<<<
 *         if utility is None:
 *             return
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_1_add_utility, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_UtilityCodeBase__add_utility, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__175)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__176);

  /* "Cython/Compiler/Code.py":121
 *     _utility_cache = {}
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def _add_utility(cls, utility, type, lines, begin_lineno, tags=None):
 *         if utility is None:
 */
  __pyx_t_8 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_add_utility, __pyx_t_8) < 0) __PYX_ERR(0, 122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":159
 * 
 *     @classmethod
 *     def load_utilities_from_file(cls, path):             # <<<<<<<<<<<<<<
 *         utilities = cls._utility_cache.get(path)
 *         if utilities:
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_3load_utilities_from_file, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_UtilityCodeBase_load_utilities_f_2, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__178)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);

  /* "Cython/Compiler/Code.py":158
 *                 all_tags.setdefault(name, set()).update(values)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_utilities_from_file(cls, path):
 *         utilities = cls._utility_cache.get(path)
 */
  __pyx_t_9 = __Pyx_Method_ClassMethod(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_load_utilities_from_file, __pyx_t_9) < 0) __PYX_ERR(0, 159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":223
 * 
 *     @classmethod
 *     def load(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load utility code from a file specified by from_file (relative to
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_5load, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_UtilityCodeBase_load, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__180)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__181);

  /* "Cython/Compiler/Code.py":222
 *         return utilities
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load(cls, util_code_name, from_file=None, **kwargs):
 *         """
 */
  __pyx_t_8 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_load, __pyx_t_8) < 0) __PYX_ERR(0, 223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":294
 * 
 *     @classmethod
 *     def load_cached(cls, utility_code_name, from_file=None, __cache={}):             # <<<<<<<<<<<<<<
 *         """
 *         Calls .load(), but using a per-type cache based on utility name and file name.
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_7load_cached, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_UtilityCodeBase_load_cached, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__183)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (!__Pyx_CyFunction_InitDefaults(__pyx_t_8, sizeof(__pyx_defaults), 1)) __PYX_ERR(0, 294, __pyx_L1_error)
  __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_8)->__pyx_arg___cache = __pyx_t_9;
  __Pyx_GIVEREF(__pyx_t_9);
  __pyx_t_9 = 0;
  __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_8, __pyx_pf_6Cython_8Compiler_4Code_6__defaults__);

  /* "Cython/Compiler/Code.py":293
 *         return cls(**kwargs)
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_cached(cls, utility_code_name, from_file=None, __cache={}):
 *         """
 */
  __pyx_t_9 = __Pyx_Method_ClassMethod(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_load_cached, __pyx_t_9) < 0) __PYX_ERR(0, 294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":307
 * 
 *     @classmethod
 *     def load_as_string(cls, util_code_name, from_file=None, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         Load a utility code as a string. Returns (proto, implementation)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_9load_as_string, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_UtilityCodeBase_load_as_string, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__185)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__186);

  /* "Cython/Compiler/Code.py":306
 *         return code
 * 
 *     @classmethod             # <<<<<<<<<<<<<<
 *     def load_as_string(cls, util_code_name, from_file=None, **kwargs):
 *         """
 */
  __pyx_t_8 = __Pyx_Method_ClassMethod(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_load_as_string, __pyx_t_8) < 0) __PYX_ERR(0, 307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":315
 *         return util.format_code(proto), util.format_code(impl)
 * 
 *     def format_code(self, code_string, replace_empty_lines=re.compile(r'\n\n+').sub):             # <<<<<<<<<<<<<<
 *         """
 *         Format a code section for output.
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_11format_code, 0, __pyx_n_s_UtilityCodeBase_format_code, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__188)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (!__Pyx_CyFunction_InitDefaults(__pyx_t_8, sizeof(__pyx_defaults1), 1)) __PYX_ERR(0, 315, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__189, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_sub); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_t_8)->__pyx_arg_replace_empty_lines = __pyx_t_9;
  __Pyx_GIVEREF(__pyx_t_9);
  __pyx_t_9 = 0;
  __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_8, __pyx_pf_6Cython_8Compiler_4Code_8__defaults__);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_format_code, __pyx_t_8) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":323
 *         return code_string
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_13__str__, 0, __pyx_n_s_UtilityCodeBase___str, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__191)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_str_2, __pyx_t_8) < 0) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":326
 *         return "<%s(%s)>" % (type(self).__name__, self.name)
 * 
 *     def get_tree(self, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15UtilityCodeBase_15get_tree, 0, __pyx_n_s_UtilityCodeBase_get_tree, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__193)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_tree, __pyx_t_8) < 0) __PYX_ERR(0, 326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":88
 * 
 * 
 * class UtilityCodeBase(object):             # <<<<<<<<<<<<<<
 *     """
 *     Support for loading utility code from a file.
 */
  __pyx_t_8 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_UtilityCodeBase, __pyx_t_7, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_UtilityCodeBase, __pyx_t_8) < 0) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":330
 * 
 * 
 * class UtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     """
 *     Stores utility code to add during code generation.
 */
  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCodeBase); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_UtilityCode, __pyx_n_s_UtilityCode, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_kp_s_Stores_utility_code_to_add_duri); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":349
 *     """
 * 
 *     def __init__(self, proto=None, impl=None, init=None, cleanup=None, requires=None,             # <<<<<<<<<<<<<<
 *                  proto_block='utility_code_proto', name=None, file=None):
 *         # proto_block: Which code block to dump prototype in. See GlobalState.
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_1__init__, 0, __pyx_n_s_UtilityCode___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__195)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__196);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_8) < 0) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":363
 *         self.file = file
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash((self.proto, self.impl))
 * 
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_3__hash__, 0, __pyx_n_s_UtilityCode___hash, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__198)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_hash, __pyx_t_8) < 0) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":366
 *         return hash((self.proto, self.impl))
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         if self is other:
 *             return True
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_5__eq__, 0, __pyx_n_s_UtilityCode___eq, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__200)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_eq, __pyx_t_8) < 0) __PYX_ERR(0, 366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":377
 *         return (self_proto, self.impl) == (other_proto, other.impl)
 * 
 *     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_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_7none_or_sub, 0, __pyx_n_s_UtilityCode_none_or_sub, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__202)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_none_or_sub, __pyx_t_8) < 0) __PYX_ERR(0, 377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":385
 *         return s % context
 * 
 *     def specialize(self, pyrex_type=None, **data):             # <<<<<<<<<<<<<<
 *         # Dicts aren't hashable...
 *         if pyrex_type is not None:
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_9specialize, 0, __pyx_n_s_UtilityCode_specialize, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__204)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__205);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_specialize, __pyx_t_8) < 0) __PYX_ERR(0, 385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":410
 *             return s
 * 
 *     def inject_string_constants(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'PYIDENT("xyz")' by a constant Python identifier cname.
 *         """
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_11inject_string_constants, 0, __pyx_n_s_UtilityCode_inject_string_consta_2, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_inject_string_constants, __pyx_t_8) < 0) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":430
 *         return bool(replacements), impl
 * 
 *     def inject_unbound_methods(self, impl, output):             # <<<<<<<<<<<<<<
 *         """Replace 'UNBOUND_METHOD(type, "name")' by a constant Python identifier cname.
 *         """
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_13inject_unbound_methods, 0, __pyx_n_s_UtilityCode_inject_unbound_metho_2, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__209)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_inject_unbound_methods, __pyx_t_8) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":459
 *         return bool(utility_code), impl
 * 
 *     def wrap_c_strings(self, impl):             # <<<<<<<<<<<<<<
 *         """Replace CSTRING('''xyz''') by a C compatible string
 *         """
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_15wrap_c_strings, 0, __pyx_n_s_UtilityCode_wrap_c_strings, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__211)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_wrap_c_strings, __pyx_t_8) < 0) __PYX_ERR(0, 459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":475
 *         return impl
 * 
 *     def put_code(self, output):             # <<<<<<<<<<<<<<
 *         if self.requires:
 *             for dependency in self.requires:
 */
  __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11UtilityCode_17put_code, 0, __pyx_n_s_UtilityCode_put_code, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__213)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_code, __pyx_t_8) < 0) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":330
 * 
 * 
 * class UtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     """
 *     Stores utility code to add during code generation.
 */
  __pyx_t_8 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_UtilityCode, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_UtilityCode, __pyx_t_8) < 0) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":515
 * 
 * 
 * def sub_tempita(s, context, file=None, name=None):             # <<<<<<<<<<<<<<
 *     "Run tempita on string s with given context."
 *     if not s:
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_3sub_tempita, 0, __pyx_n_s_sub_tempita, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__215)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__216);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_sub_tempita, __pyx_t_1) < 0) __PYX_ERR(0, 515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":529
 * 
 * 
 * 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_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_7, __pyx_n_s_TempitaUtilityCode, __pyx_n_s_TempitaUtilityCode, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":530
 * 
 * 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_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_1__init__, 0, __pyx_n_s_TempitaUtilityCode___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__218)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__219);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_8) < 0) __PYX_ERR(0, 530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "Cython/Compiler/Code.py":540
 * 
 *     @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_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_3load_cached, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_TempitaUtilityCode_load_cached, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__221)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  if (!__Pyx_CyFunction_InitDefaults(__pyx_t_8, sizeof(__pyx_defaults2), 1)) __PYX_ERR(0, 540, __pyx_L1_error)
  __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_t_8)->__pyx_arg___cache = __pyx_t_9;
  __Pyx_GIVEREF(__pyx_t_9);
  __pyx_t_9 = 0;
  __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_8, __pyx_pf_6Cython_8Compiler_4Code_10__defaults__);

  /* "Cython/Compiler/Code.py":539
 *             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_9 = __Pyx_Method_ClassMethod(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_load_cached, __pyx_t_9) < 0) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":551
 *         return code
 * 
 *     def none_or_sub(self, s, context):             # <<<<<<<<<<<<<<
 *         """
 *         Format a string in this utility code with context. If None, do nothing.
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_18TempitaUtilityCode_5none_or_sub, 0, __pyx_n_s_TempitaUtilityCode_none_or_sub, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__223)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_none_or_sub, __pyx_t_9) < 0) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":529
 * 
 * 
 * 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_9 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_TempitaUtilityCode, __pyx_t_7, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_TempitaUtilityCode, __pyx_t_9) < 0) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":560
 * 
 * 
 * class LazyUtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     """
 *     Utility code that calls a callback with the root code writer when
 */
  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_UtilityCodeBase); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_LazyUtilityCode, __pyx_n_s_LazyUtilityCode, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_kp_s_Utility_code_that_calls_a_callb); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":565
 *     available. Useful when you only have 'env' but not 'code'.
 *     """
 *     __name__ = '<lazy>'             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, callback):
 */
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_name_2, __pyx_kp_s_lazy) < 0) __PYX_ERR(0, 565, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":567
 *     __name__ = '<lazy>'
 * 
 *     def __init__(self, callback):             # <<<<<<<<<<<<<<
 *         self.callback = callback
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_1__init__, 0, __pyx_n_s_LazyUtilityCode___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__225)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":570
 *         self.callback = callback
 * 
 *     def put_code(self, globalstate):             # <<<<<<<<<<<<<<
 *         utility = self.callback(globalstate.rootwriter)
 *         globalstate.use_utility_code(utility)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15LazyUtilityCode_3put_code, 0, __pyx_n_s_LazyUtilityCode_put_code, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__227)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_code, __pyx_t_9) < 0) __PYX_ERR(0, 570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":560
 * 
 * 
 * class LazyUtilityCode(UtilityCodeBase):             # <<<<<<<<<<<<<<
 *     """
 *     Utility code that calls a callback with the root code writer when
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_LazyUtilityCode, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LazyUtilityCode, __pyx_t_9) < 0) __PYX_ERR(0, 560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":588
 * 
 *     # 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_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_k__43 = __pyx_t_1;
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":626
 *     # labels
 * 
 *     def new_label(self, name=None):             # <<<<<<<<<<<<<<
 *         n = self.label_counter
 *         self.label_counter = n + 1
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_3new_label, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_new_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_new_label, __pyx_t_1) < 0) __PYX_ERR(0, 626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":634
 *         return label
 * 
 *     def new_yield_label(self):             # <<<<<<<<<<<<<<
 *         label = self.new_label('resume_from_yield')
 *         num_and_label = (len(self.yield_labels) + 1, label)
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_5new_yield_label, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_new_yield_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__231)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_new_yield_label, __pyx_t_1) < 0) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":640
 *         return num_and_label
 * 
 *     def new_error_label(self):             # <<<<<<<<<<<<<<
 *         old_err_lbl = self.error_label
 *         self.error_label = self.new_label('error')
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_7new_error_label, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_new_error_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__233)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_new_error_label, __pyx_t_1) < 0) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":645
 *         return old_err_lbl
 * 
 *     def get_loop_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_9get_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_get_loop_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__235)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_get_loop_labels, __pyx_t_1) < 0) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":650
 *             self.break_label)
 * 
 *     def set_loop_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label) = labels
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_11set_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_set_loop_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__237)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_set_loop_labels, __pyx_t_1) < 0) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":654
 *          self.break_label) = labels
 * 
 *     def new_loop_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_loop_labels()
 *         self.set_loop_labels(
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_13new_loop_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_new_loop_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__239)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_new_loop_labels, __pyx_t_1) < 0) __PYX_ERR(0, 654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":661
 *         return old_labels
 * 
 *     def get_all_labels(self):             # <<<<<<<<<<<<<<
 *         return (
 *             self.continue_label,
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_15get_all_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_get_all_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__241)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_get_all_labels, __pyx_t_1) < 0) __PYX_ERR(0, 661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":668
 *             self.error_label)
 * 
 *     def set_all_labels(self, labels):             # <<<<<<<<<<<<<<
 *         (self.continue_label,
 *          self.break_label,
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_17set_all_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_set_all_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__243)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_set_all_labels, __pyx_t_1) < 0) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":674
 *          self.error_label) = labels
 * 
 *     def all_new_labels(self):             # <<<<<<<<<<<<<<
 *         old_labels = self.get_all_labels()
 *         new_labels = []
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_19all_new_labels, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_all_new_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__245)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_all_new_labels, __pyx_t_1) < 0) __PYX_ERR(0, 674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":685
 *         return old_labels
 * 
 *     def use_label(self, lbl):             # <<<<<<<<<<<<<<
 *         self.labels_used.add(lbl)
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_21use_label, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_use_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__247)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_use_label, __pyx_t_1) < 0) __PYX_ERR(0, 685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":688
 *         self.labels_used.add(lbl)
 * 
 *     def label_used(self, lbl):             # <<<<<<<<<<<<<<
 *         return lbl in self.labels_used
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_23label_used, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_label_used, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__249)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_label_used, __pyx_t_1) < 0) __PYX_ERR(0, 688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":693
 *     # temp handling
 * 
 *     def allocate_temp(self, type, manage_ref, static=False):             # <<<<<<<<<<<<<<
 *         """
 *         Allocates a temporary (which may create a new one or get a previously
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_25allocate_temp, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_allocate_temp, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__251)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_allocate_temp, __pyx_t_1) < 0) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":742
 *         return result
 * 
 *     def release_temp(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Releases a temporary so that it can be reused by other code needing
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_27release_temp, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_release_temp, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__253)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_release_temp, __pyx_t_1) < 0) __PYX_ERR(0, 742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":759
 *             self.owner.putln("/[inserted by cython to avoid comment start]* %s released *[inserted by cython to avoid comment closer]/" % name)
 * 
 *     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_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_29temps_in_use, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_temps_in_use, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__255)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_temps_in_use, __pyx_t_1) < 0) __PYX_ERR(0, 759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":770
 *         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 of a
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_31temps_holding_reference, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_temps_holding_refe, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__257)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_temps_holding_reference, __pyx_t_1) < 0) __PYX_ERR(0, 770, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":779
 *                 if manage_ref  and type.is_pyobject]
 * 
 *     def all_managed_temps(self):             # <<<<<<<<<<<<<<
 *         """Return a list of (cname, type) tuples of refcount-managed Python objects.
 *         """
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_33all_managed_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_all_managed_temps, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__259)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_all_managed_temps, __pyx_t_1) < 0) __PYX_ERR(0, 779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":786
 *                 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_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_35all_free_managed_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_all_free_managed_t, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__261)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_all_free_managed_temps, __pyx_t_1) < 0) __PYX_ERR(0, 786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":796
 *                 for cname in freelist[0]]
 * 
 *     def start_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         """
 *         Useful to find out which temps were used in a code block
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_37start_collecting_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_start_collecting_t, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__263)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_start_collecting_temps, __pyx_t_1) < 0) __PYX_ERR(0, 796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":802
 *         self.collect_temps_stack.append(set())
 * 
 *     def stop_collecting_temps(self):             # <<<<<<<<<<<<<<
 *         return self.collect_temps_stack.pop()
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_39stop_collecting_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_stop_collecting_te, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__265)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_stop_collecting_temps, __pyx_t_1) < 0) __PYX_ERR(0, 802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":805
 *         return self.collect_temps_stack.pop()
 * 
 *     def init_closure_temps(self, scope):             # <<<<<<<<<<<<<<
 *         self.closure_temps = ClosureTempAllocator(scope)
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13FunctionState_41init_closure_temps, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_FunctionState_init_closure_temps, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__267)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_FunctionState->tp_dict, __pyx_n_s_init_closure_temps, __pyx_t_1) < 0) __PYX_ERR(0, 805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_FunctionState);

  /* "Cython/Compiler/Code.py":809
 * 
 * 
 * class NumConst(object):             # <<<<<<<<<<<<<<
 *     """Global info about a Python number constant held by GlobalState.
 * 
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_NumConst, __pyx_n_s_NumConst, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_kp_s_Global_info_about_a_Python_numbe); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":818
 *     """
 * 
 *     def __init__(self, cname, value, py_type, value_code=None):             # <<<<<<<<<<<<<<
 *         self.cname = cname
 *         self.value = value
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_8NumConst_1__init__, 0, __pyx_n_s_NumConst___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__269)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__270);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":809
 * 
 * 
 * class NumConst(object):             # <<<<<<<<<<<<<<
 *     """Global info about a Python number constant held by GlobalState.
 * 
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_NumConst, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_NumConst, __pyx_t_9) < 0) __PYX_ERR(0, 809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":838
 * cython.declare(possible_unicode_identifier=object, possible_bytes_identifier=object,
 *                replace_identifier=object, find_alphanums=object)
 * possible_unicode_identifier = re.compile(br"(?![0-9])\w+$".decode('ascii'), re.U).match             # <<<<<<<<<<<<<<
 * possible_bytes_identifier = re.compile(r"(?![0-9])\w+$".encode('ASCII')).match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_decode_bytes(__pyx_kp_b_0_9_w, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_U); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_8 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 838, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 838, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  } else
  #endif
  {
    __pyx_t_10 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    if (__pyx_t_8) {
      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_6, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_9);
    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_6, __pyx_t_9);
    __pyx_t_2 = 0;
    __pyx_t_9 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  }
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_match); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_possible_unicode_identifier, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_7);
  __pyx_t_7 = 0;

  /* "Cython/Compiler/Code.py":839
 *                replace_identifier=object, find_alphanums=object)
 * possible_unicode_identifier = re.compile(br"(?![0-9])\w+$".decode('ascii'), re.U).match
 * possible_bytes_identifier = re.compile(r"(?![0-9])\w+$".encode('ASCII')).match             # <<<<<<<<<<<<<<
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_9_w, __pyx_n_s_encode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__271, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_10) {
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 839, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_GOTREF(__pyx_t_7);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_9};
      __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 839, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_9};
      __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 839, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    } else
    #endif
    {
      __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL;
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 839, __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_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_match); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_possible_bytes_identifier, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":840
 * possible_unicode_identifier = re.compile(br"(?![0-9])\w+$".decode('ascii'), re.U).match
 * possible_bytes_identifier = re.compile(r"(?![0-9])\w+$".encode('ASCII')).match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub             # <<<<<<<<<<<<<<
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__272, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sub); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_replace_identifier);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_replace_identifier, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":841
 * possible_bytes_identifier = re.compile(r"(?![0-9])\w+$".encode('ASCII')).match
 * replace_identifier = re.compile(r'[^a-zA-Z0-9_]+').sub
 * find_alphanums = re.compile('([a-zA-Z0-9]+)').findall             # <<<<<<<<<<<<<<
 * 
 * class StringConst(object):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_4Code_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__273, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_findall); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_4Code_find_alphanums);
  __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_4Code_find_alphanums, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":857
 *         self.py_versions = []
 * 
 *     def add_py_version(self, version):             # <<<<<<<<<<<<<<
 *         if not version:
 *             self.py_versions = [2, 3]
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11StringConst_3add_py_version, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_StringConst_add_py_version, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__275)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_StringConst->tp_dict, __pyx_n_s_add_py_version, __pyx_t_1) < 0) __PYX_ERR(0, 857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_StringConst);

  /* "Cython/Compiler/Code.py":863
 *             self.py_versions.append(version)
 * 
 *     def get_py_string_const(self, encoding, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, py3str_cstring=None):
 *         py_strings = self.py_strings
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11StringConst_5get_py_string_const, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_StringConst_get_py_string_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__277)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_StringConst->tp_dict, __pyx_n_s_get_py_string_const, __pyx_t_1) < 0) __PYX_ERR(0, 863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_StringConst);

  /* "Cython/Compiler/Code.py":922
 *         return py_string
 * 
 * class PyStringConst(object):             # <<<<<<<<<<<<<<
 *     """Global info about a Python string constant held by GlobalState.
 *     """
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_PyStringConst, __pyx_n_s_PyStringConst, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_kp_s_Global_info_about_a_Python_strin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":932
 *     # is_str      boolean
 * 
 *     def __init__(self, cname, encoding, is_unicode, is_str=False,             # <<<<<<<<<<<<<<
 *                  py3str_cstring=None, intern=False):
 *         self.cname = cname
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyStringConst_1__init__, 0, __pyx_n_s_PyStringConst___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__279)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__280);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":941
 *         self.intern = intern
 * 
 *     def __lt__(self, other):             # <<<<<<<<<<<<<<
 *         return self.cname < other.cname
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyStringConst_3__lt__, 0, __pyx_n_s_PyStringConst___lt, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__282)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_lt, __pyx_t_9) < 0) __PYX_ERR(0, 941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":922
 *         return py_string
 * 
 * class PyStringConst(object):             # <<<<<<<<<<<<<<
 *     """Global info about a Python string constant held by GlobalState.
 *     """
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_PyStringConst, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_PyStringConst, __pyx_t_9) < 0) __PYX_ERR(0, 922, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":945
 * 
 * 
 * class GlobalState(object):             # <<<<<<<<<<<<<<
 *     # filename_table   {string : int}  for finding filename table indexes
 *     # filename_list    [string]        filenames in filename table order
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_GlobalState, __pyx_n_s_GlobalState, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":974
 *     #                                  process.
 * 
 *     directives = {}             # <<<<<<<<<<<<<<
 * 
 *     code_layout = [
 */
  __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_directives, __pyx_t_9) < 0) __PYX_ERR(0, 974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":976
 *     directives = {}
 * 
 *     code_layout = [             # <<<<<<<<<<<<<<
 *         'h_code',
 *         'filename_table',
 */
  __pyx_t_9 = PyList_New(24); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_INCREF(__pyx_n_s_h_code);
  __Pyx_GIVEREF(__pyx_n_s_h_code);
  PyList_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_h_code);
  __Pyx_INCREF(__pyx_n_s_filename_table);
  __Pyx_GIVEREF(__pyx_n_s_filename_table);
  PyList_SET_ITEM(__pyx_t_9, 1, __pyx_n_s_filename_table);
  __Pyx_INCREF(__pyx_n_s_utility_code_proto_before_types);
  __Pyx_GIVEREF(__pyx_n_s_utility_code_proto_before_types);
  PyList_SET_ITEM(__pyx_t_9, 2, __pyx_n_s_utility_code_proto_before_types);
  __Pyx_INCREF(__pyx_n_s_numeric_typedefs);
  __Pyx_GIVEREF(__pyx_n_s_numeric_typedefs);
  PyList_SET_ITEM(__pyx_t_9, 3, __pyx_n_s_numeric_typedefs);
  __Pyx_INCREF(__pyx_n_s_complex_type_declarations);
  __Pyx_GIVEREF(__pyx_n_s_complex_type_declarations);
  PyList_SET_ITEM(__pyx_t_9, 4, __pyx_n_s_complex_type_declarations);
  __Pyx_INCREF(__pyx_n_s_type_declarations);
  __Pyx_GIVEREF(__pyx_n_s_type_declarations);
  PyList_SET_ITEM(__pyx_t_9, 5, __pyx_n_s_type_declarations);
  __Pyx_INCREF(__pyx_n_s_utility_code_proto);
  __Pyx_GIVEREF(__pyx_n_s_utility_code_proto);
  PyList_SET_ITEM(__pyx_t_9, 6, __pyx_n_s_utility_code_proto);
  __Pyx_INCREF(__pyx_n_s_module_declarations);
  __Pyx_GIVEREF(__pyx_n_s_module_declarations);
  PyList_SET_ITEM(__pyx_t_9, 7, __pyx_n_s_module_declarations);
  __Pyx_INCREF(__pyx_n_s_typeinfo);
  __Pyx_GIVEREF(__pyx_n_s_typeinfo);
  PyList_SET_ITEM(__pyx_t_9, 8, __pyx_n_s_typeinfo);
  __Pyx_INCREF(__pyx_n_s_before_global_var);
  __Pyx_GIVEREF(__pyx_n_s_before_global_var);
  PyList_SET_ITEM(__pyx_t_9, 9, __pyx_n_s_before_global_var);
  __Pyx_INCREF(__pyx_n_s_global_var);
  __Pyx_GIVEREF(__pyx_n_s_global_var);
  PyList_SET_ITEM(__pyx_t_9, 10, __pyx_n_s_global_var);
  __Pyx_INCREF(__pyx_n_s_string_decls);
  __Pyx_GIVEREF(__pyx_n_s_string_decls);
  PyList_SET_ITEM(__pyx_t_9, 11, __pyx_n_s_string_decls);
  __Pyx_INCREF(__pyx_n_s_decls);
  __Pyx_GIVEREF(__pyx_n_s_decls);
  PyList_SET_ITEM(__pyx_t_9, 12, __pyx_n_s_decls);
  __Pyx_INCREF(__pyx_n_s_all_the_rest);
  __Pyx_GIVEREF(__pyx_n_s_all_the_rest);
  PyList_SET_ITEM(__pyx_t_9, 13, __pyx_n_s_all_the_rest);
  __Pyx_INCREF(__pyx_n_s_pystring_table);
  __Pyx_GIVEREF(__pyx_n_s_pystring_table);
  PyList_SET_ITEM(__pyx_t_9, 14, __pyx_n_s_pystring_table);
  __Pyx_INCREF(__pyx_n_s_cached_builtins);
  __Pyx_GIVEREF(__pyx_n_s_cached_builtins);
  PyList_SET_ITEM(__pyx_t_9, 15, __pyx_n_s_cached_builtins);
  __Pyx_INCREF(__pyx_n_s_cached_constants);
  __Pyx_GIVEREF(__pyx_n_s_cached_constants);
  PyList_SET_ITEM(__pyx_t_9, 16, __pyx_n_s_cached_constants);
  __Pyx_INCREF(__pyx_n_s_init_globals);
  __Pyx_GIVEREF(__pyx_n_s_init_globals);
  PyList_SET_ITEM(__pyx_t_9, 17, __pyx_n_s_init_globals);
  __Pyx_INCREF(__pyx_n_s_init_module);
  __Pyx_GIVEREF(__pyx_n_s_init_module);
  PyList_SET_ITEM(__pyx_t_9, 18, __pyx_n_s_init_module);
  __Pyx_INCREF(__pyx_n_s_cleanup_globals);
  __Pyx_GIVEREF(__pyx_n_s_cleanup_globals);
  PyList_SET_ITEM(__pyx_t_9, 19, __pyx_n_s_cleanup_globals);
  __Pyx_INCREF(__pyx_n_s_cleanup_module);
  __Pyx_GIVEREF(__pyx_n_s_cleanup_module);
  PyList_SET_ITEM(__pyx_t_9, 20, __pyx_n_s_cleanup_module);
  __Pyx_INCREF(__pyx_n_s_main_method);
  __Pyx_GIVEREF(__pyx_n_s_main_method);
  PyList_SET_ITEM(__pyx_t_9, 21, __pyx_n_s_main_method);
  __Pyx_INCREF(__pyx_n_s_utility_code_def);
  __Pyx_GIVEREF(__pyx_n_s_utility_code_def);
  PyList_SET_ITEM(__pyx_t_9, 22, __pyx_n_s_utility_code_def);
  __Pyx_INCREF(__pyx_n_s_end);
  __Pyx_GIVEREF(__pyx_n_s_end);
  PyList_SET_ITEM(__pyx_t_9, 23, __pyx_n_s_end);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_code_layout, __pyx_t_9) < 0) __PYX_ERR(0, 976, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1004
 * 
 * 
 *     def __init__(self, writer, module_node, code_config, common_utility_include_dir=None):             # <<<<<<<<<<<<<<
 *         self.filename_table = {}
 *         self.filename_list = []
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_1__init__, 0, __pyx_n_s_GlobalState___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__284)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__285);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 1004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1027
 *         self.rootwriter = writer
 * 
 *     def initialize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         rootwriter = self.rootwriter
 *         for part in self.code_layout:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_3initialize_main_c_code, 0, __pyx_n_s_GlobalState_initialize_main_c_co, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__287)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_initialize_main_c_code, __pyx_t_9) < 0) __PYX_ERR(0, 1027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1069
 *         code.putln("/[inserted by cython to avoid comment start]* --- Runtime support code --- *[inserted by cython to avoid comment closer]/")
 * 
 *     def finalize_main_c_code(self):             # <<<<<<<<<<<<<<
 *         self.close_global_decls()
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_5finalize_main_c_code, 0, __pyx_n_s_GlobalState_finalize_main_c_code, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__289)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_finalize_main_c_code, __pyx_t_9) < 0) __PYX_ERR(0, 1069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1080
 *         code.putln("")
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         return self.parts[key]
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_7__getitem__, 0, __pyx_n_s_GlobalState___getitem, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__291)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_getitem, __pyx_t_9) < 0) __PYX_ERR(0, 1080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1086
 *     # 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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_9close_global_decls, 0, __pyx_n_s_GlobalState_close_global_decls, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__293)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_close_global_decls, __pyx_t_9) < 0) __PYX_ERR(0, 1086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1127
 *             w.exit_cfunc_scope()
 * 
 *     def put_pyobject_decl(self, entry):             # <<<<<<<<<<<<<<
 *         self['global_var'].putln("static PyObject *%s;" % entry.cname)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_11put_pyobject_decl, 0, __pyx_n_s_GlobalState_put_pyobject_decl, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__295)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_pyobject_decl, __pyx_t_9) < 0) __PYX_ERR(0, 1127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1132
 *     # constant handling at code generation time
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.parts['cached_constants']
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_13get_cached_constants_writer, 0, __pyx_n_s_GlobalState_get_cached_constants, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__297)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_cached_constants_writer, __pyx_t_9) < 0) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1135
 *         return self.parts['cached_constants']
 * 
 *     def get_int_const(self, str_value, longness=False):             # <<<<<<<<<<<<<<
 *         py_type = longness and 'long' or 'int'
 *         try:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_15get_int_const, 0, __pyx_n_s_GlobalState_get_int_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__299)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__300);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_int_const, __pyx_t_9) < 0) __PYX_ERR(0, 1135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1143
 *         return c
 * 
 *     def get_float_const(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         try:
 *             c = self.num_const_index[(str_value, 'float')]
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_17get_float_const, 0, __pyx_n_s_GlobalState_get_float_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__302)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_float_const, __pyx_t_9) < 0) __PYX_ERR(0, 1143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1150
 *         return c
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         # create a new Python object constant
 *         const = self.new_py_const(type, prefix)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_19get_py_const, 0, __pyx_n_s_GlobalState_get_py_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__304)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__305);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_py_const, __pyx_t_9) < 0) __PYX_ERR(0, 1150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1159
 *         return const
 * 
 *     def get_string_const(self, text, py_version=None):             # <<<<<<<<<<<<<<
 *         # return a C string constant, creating a new one if necessary
 *         if text.is_unicode:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_21get_string_const, 0, __pyx_n_s_GlobalState_get_string_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__307)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__308);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_string_const, __pyx_t_9) < 0) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1172
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_23get_pyunicode_ptr_const, 0, __pyx_n_s_GlobalState_get_pyunicode_ptr_co, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__310)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_pyunicode_ptr_const, __pyx_t_9) < 0) __PYX_ERR(0, 1172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1181
 *         return c
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         # return a Python string constant, creating a new one if necessary
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_25get_py_string_const, 0, __pyx_n_s_GlobalState_get_py_string_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__312)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__313);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_py_string_const, __pyx_t_9) < 0) __PYX_ERR(0, 1181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1195
 *         return py_string
 * 
 *     def get_interned_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_27get_interned_identifier, 0, __pyx_n_s_GlobalState_get_interned_identif, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__315)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_interned_identifier, __pyx_t_9) < 0) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1198
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_29new_string_const, 0, __pyx_n_s_GlobalState_new_string_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__317)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_string_const, __pyx_t_9) < 0) __PYX_ERR(0, 1198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1204
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_31new_num_const, 0, __pyx_n_s_GlobalState_new_num_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__319)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__320);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_num_const, __pyx_t_9) < 0) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1210
 *         return c
 * 
 *     def new_py_const(self, type, prefix=''):             # <<<<<<<<<<<<<<
 *         cname = self.new_const_cname(prefix)
 *         c = PyObjectConst(cname, type)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_33new_py_const, 0, __pyx_n_s_GlobalState_new_py_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__322)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__323);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_py_const, __pyx_t_9) < 0) __PYX_ERR(0, 1210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1216
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_35new_string_const_cname, 0, __pyx_n_s_GlobalState_new_string_const_cna, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__325)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_string_const_cname, __pyx_t_9) < 0) __PYX_ERR(0, 1216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1221
 *         return self.new_const_cname(value=value)
 * 
 *     def new_num_const_cname(self, value, py_type):             # <<<<<<<<<<<<<<
 *         if py_type == 'long':
 *             value += 'L'
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_37new_num_const_cname, 0, __pyx_n_s_GlobalState_new_num_const_cname, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__327)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_num_const_cname, __pyx_t_9) < 0) __PYX_ERR(0, 1221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1230
 *         return cname
 * 
 *     def new_const_cname(self, prefix='', value=''):             # <<<<<<<<<<<<<<
 *         value = replace_identifier('_', value)[:32].strip('_')
 *         used = self.const_cnames_used
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_39new_const_cname, 0, __pyx_n_s_GlobalState_new_const_cname, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__329)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__330);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_const_cname, __pyx_t_9) < 0) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1244
 *         return "%s%s" % (prefix, name_suffix)
 * 
 *     def get_cached_unbound_method(self, type_cname, method_name, args_count):             # <<<<<<<<<<<<<<
 *         key = (type_cname, method_name, args_count)
 *         try:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_41get_cached_unbound_method, 0, __pyx_n_s_GlobalState_get_cached_unbound_m, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__332)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_cached_unbound_method, __pyx_t_9) < 0) __PYX_ERR(0, 1244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1253
 *         return cname
 * 
 *     def add_cached_builtin_decl(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.is_builtin and entry.is_const:
 *             if self.should_declare(entry.cname, entry):
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_43add_cached_builtin_decl, 0, __pyx_n_s_GlobalState_add_cached_builtin_d, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__334)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_add_cached_builtin_decl, __pyx_t_9) < 0) __PYX_ERR(0, 1253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1272
 *                     w.putln('#endif')
 * 
 *     def put_cached_builtin_init(self, pos, name, cname):             # <<<<<<<<<<<<<<
 *         w = self.parts['cached_builtins']
 *         interned_cname = self.get_interned_identifier(name).cname
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_45put_cached_builtin_init, 0, __pyx_n_s_GlobalState_put_cached_builtin_i, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__336)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_cached_builtin_init, __pyx_t_9) < 0) __PYX_ERR(0, 1272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1283
 *             w.error_goto(pos)))
 * 
 *     def generate_const_declarations(self):             # <<<<<<<<<<<<<<
 *         self.generate_cached_methods_decls()
 *         self.generate_string_constants()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_47generate_const_declarations, 0, __pyx_n_s_GlobalState_generate_const_decla, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__338)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_generate_const_declarations, __pyx_t_9) < 0) __PYX_ERR(0, 1283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1289
 *         self.generate_object_constant_decls()
 * 
 *     def generate_object_constant_decls(self):             # <<<<<<<<<<<<<<
 *         consts = [(len(c.cname), c.cname, c)
 *                   for c in self.py_constants]
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_49generate_object_constant_decls, 0, __pyx_n_s_GlobalState_generate_object_cons, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__340)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_generate_object_constant_decls, __pyx_t_9) < 0) __PYX_ERR(0, 1289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1298
 *                 "static %s;" % c.type.declaration_code(cname))
 * 
 *     def generate_cached_methods_decls(self):             # <<<<<<<<<<<<<<
 *         if not self.cached_cmethods:
 *             return
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_51generate_cached_methods_decls, 0, __pyx_n_s_GlobalState_generate_cached_meth, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__342)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_generate_cached_methods_decls, __pyx_t_9) < 0) __PYX_ERR(0, 1298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1319
 *                 cleanup.putln("Py_CLEAR(%s.method);" % cname)
 * 
 *     def generate_string_constants(self):             # <<<<<<<<<<<<<<
 *         c_consts = [(len(c.cname), c.cname, c) for c in self.string_const_index.values()]
 *         c_consts.sort()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_53generate_string_constants, 0, __pyx_n_s_GlobalState_generate_string_cons, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__344)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_generate_string_constants, __pyx_t_9) < 0) __PYX_ERR(0, 1319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1396
 *                     init_globals.error_goto(self.module_pos)))
 * 
 *     def generate_num_constants(self):             # <<<<<<<<<<<<<<
 *         consts = [(c.py_type, c.value[0] == '-', len(c.value), c.value, c.value_code, c)
 *                   for c in self.num_const_index.values()]
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_55generate_num_constants, 0, __pyx_n_s_GlobalState_generate_num_constan, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__346)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_generate_num_constants, __pyx_t_9) < 0) __PYX_ERR(0, 1396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1424
 *     # 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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_57should_declare, 0, __pyx_n_s_GlobalState_should_declare, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__348)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_should_declare, __pyx_t_9) < 0) __PYX_ERR(0, 1424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1438
 *     #
 * 
 *     def lookup_filename(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             index = self.filename_table[source_desc.get_filenametable_entry()]
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_59lookup_filename, 0, __pyx_n_s_GlobalState_lookup_filename, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__350)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_lookup_filename, __pyx_t_9) < 0) __PYX_ERR(0, 1438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1447
 *         return index
 * 
 *     def commented_file_contents(self, source_desc):             # <<<<<<<<<<<<<<
 *         try:
 *             return self.input_file_contents[source_desc]
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_61commented_file_contents, 0, __pyx_n_s_GlobalState_commented_file_conte, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__352)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_commented_file_contents, __pyx_t_9) < 0) __PYX_ERR(0, 1447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1472
 *     #
 * 
 *     def use_utility_code(self, utility_code):             # <<<<<<<<<<<<<<
 *         """
 *         Adds code to the C file. utility_code should
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_63use_utility_code, 0, __pyx_n_s_GlobalState_use_utility_code, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__354)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_use_utility_code, __pyx_t_9) < 0) __PYX_ERR(0, 1472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1485
 *             utility_code.put_code(self)
 * 
 *     def use_entry_utility_code(self, entry):             # <<<<<<<<<<<<<<
 *         if entry is None:
 *             return
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11GlobalState_65use_entry_utility_code, 0, __pyx_n_s_GlobalState_use_entry_utility_co, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__356)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_use_entry_utility_code, __pyx_t_9) < 0) __PYX_ERR(0, 1485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":945
 * 
 * 
 * class GlobalState(object):             # <<<<<<<<<<<<<<
 *     # filename_table   {string : int}  for finding filename table indexes
 *     # filename_list    [string]        filenames in filename table order
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_GlobalState, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_GlobalState, __pyx_t_9) < 0) __PYX_ERR(0, 945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1494
 * 
 * 
 * def funccontext_property(name):             # <<<<<<<<<<<<<<
 *     attribute_of = operator.attrgetter(name)
 *     def get(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_5funccontext_property, 0, __pyx_n_s_funccontext_property, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__358)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_funccontext_property, __pyx_t_1) < 0) __PYX_ERR(0, 1494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1503
 * 
 * 
 * class CCodeConfig(object):             # <<<<<<<<<<<<<<
 *     # emit_linenums       boolean         write #line pragmas?
 *     # emit_code_comments  boolean         copy the original code into C comments?
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_CCodeConfig, __pyx_n_s_CCodeConfig, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":1508
 *     # 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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeConfig_1__init__, 0, __pyx_n_s_CCodeConfig___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__360)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__361);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 1508, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1503
 * 
 * 
 * class CCodeConfig(object):             # <<<<<<<<<<<<<<
 *     # emit_linenums       boolean         write #line pragmas?
 *     # emit_code_comments  boolean         copy the original code into C comments?
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_CCodeConfig, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CCodeConfig, __pyx_t_9) < 0) __PYX_ERR(0, 1503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1514
 * 
 * 
 * class CCodeWriter(object):             # <<<<<<<<<<<<<<
 *     """
 *     Utility class to output C code.
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_CCodeWriter, __pyx_n_s_CCodeWriter, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_kp_s_Utility_class_to_output_C_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":1545
 *     # code_config         CCodeConfig     configuration options for the C code writer
 * 
 *     globalstate = code_config = None             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):
 */
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_globalstate, Py_None) < 0) __PYX_ERR(0, 1545, __pyx_L1_error)
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_code_config, Py_None) < 0) __PYX_ERR(0, 1545, __pyx_L1_error)

  /* "Cython/Compiler/Code.py":1547
 *     globalstate = code_config = None
 * 
 *     def __init__(self, create_from=None, buffer=None, copy_formatting=False):             # <<<<<<<<<<<<<<
 *         if buffer is None: buffer = StringIOTree()
 *         self.buffer = buffer
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_1__init__, 0, __pyx_n_s_CCodeWriter___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__363)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__364);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 1547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1571
 *             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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_3create_new, 0, __pyx_n_s_CCodeWriter_create_new, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__366)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_create_new, __pyx_t_9) < 0) __PYX_ERR(0, 1571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1577
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_5set_global_state, 0, __pyx_n_s_CCodeWriter_set_global_state, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__368)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_set_global_state, __pyx_t_9) < 0) __PYX_ERR(0, 1577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1582
 *         self.code_config = global_state.code_config
 * 
 *     def copyto(self, f):             # <<<<<<<<<<<<<<
 *         self.buffer.copyto(f)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_7copyto, 0, __pyx_n_s_CCodeWriter_copyto, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__370)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_copyto, __pyx_t_9) < 0) __PYX_ERR(0, 1582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1585
 *         self.buffer.copyto(f)
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         return self.buffer.getvalue()
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_9getvalue, 0, __pyx_n_s_CCodeWriter_getvalue, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__372)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_getvalue, __pyx_t_9) < 0) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1588
 *         return self.buffer.getvalue()
 * 
 *     def write(self, s):             # <<<<<<<<<<<<<<
 *         # also put invalid markers (lineno 0), to indicate that those lines
 *         # have no Cython source code correspondence
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_11write, 0, __pyx_n_s_CCodeWriter_write, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__374)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_write, __pyx_t_9) < 0) __PYX_ERR(0, 1588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1595
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_13insertion_point, 0, __pyx_n_s_CCodeWriter_insertion_point, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__376)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_insertion_point, __pyx_t_9) < 0) __PYX_ERR(0, 1595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1599
 *         return other
 * 
 *     def new_writer(self):             # <<<<<<<<<<<<<<
 *         """
 *         Creates a new CCodeWriter connected to the same global state, which
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_15new_writer, 0, __pyx_n_s_CCodeWriter_new_writer, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__378)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_writer, __pyx_t_9) < 0) __PYX_ERR(0, 1599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1606
 *         return CCodeWriter(create_from=self)
 * 
 *     def insert(self, writer):             # <<<<<<<<<<<<<<
 *         """
 *         Inserts the contents of another code writer (created with
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_17insert, 0, __pyx_n_s_CCodeWriter_insert, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__380)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_insert, __pyx_t_9) < 0) __PYX_ERR(0, 1606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1617
 * 
 *     # Properties delegated to function scope
 *     label_counter = funccontext_property("label_counter")             # <<<<<<<<<<<<<<
 *     return_label = funccontext_property("return_label")
 *     error_label = funccontext_property("error_label")
 */
  __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__381, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_label_counter, __pyx_t_10) < 0) __PYX_ERR(0, 1617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1618
 *     # Properties delegated to function scope
 *     label_counter = funccontext_property("label_counter")
 *     return_label = funccontext_property("return_label")             # <<<<<<<<<<<<<<
 *     error_label = funccontext_property("error_label")
 *     labels_used = funccontext_property("labels_used")
 */
  __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__382, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_return_label, __pyx_t_9) < 0) __PYX_ERR(0, 1618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1619
 *     label_counter = funccontext_property("label_counter")
 *     return_label = funccontext_property("return_label")
 *     error_label = funccontext_property("error_label")             # <<<<<<<<<<<<<<
 *     labels_used = funccontext_property("labels_used")
 *     continue_label = funccontext_property("continue_label")
 */
  __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__383, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_error_label, __pyx_t_10) < 0) __PYX_ERR(0, 1619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1620
 *     return_label = funccontext_property("return_label")
 *     error_label = funccontext_property("error_label")
 *     labels_used = funccontext_property("labels_used")             # <<<<<<<<<<<<<<
 *     continue_label = funccontext_property("continue_label")
 *     break_label = funccontext_property("break_label")
 */
  __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__384, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_labels_used, __pyx_t_9) < 0) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1621
 *     error_label = funccontext_property("error_label")
 *     labels_used = funccontext_property("labels_used")
 *     continue_label = funccontext_property("continue_label")             # <<<<<<<<<<<<<<
 *     break_label = funccontext_property("break_label")
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")
 */
  __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__385, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_continue_label, __pyx_t_10) < 0) __PYX_ERR(0, 1621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1622
 *     labels_used = funccontext_property("labels_used")
 *     continue_label = funccontext_property("continue_label")
 *     break_label = funccontext_property("break_label")             # <<<<<<<<<<<<<<
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")
 *     yield_labels = funccontext_property("yield_labels")
 */
  __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__386, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_break_label, __pyx_t_9) < 0) __PYX_ERR(0, 1622, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1623
 *     continue_label = funccontext_property("continue_label")
 *     break_label = funccontext_property("break_label")
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")             # <<<<<<<<<<<<<<
 *     yield_labels = funccontext_property("yield_labels")
 * 
 */
  __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__387, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_return_from_error_cleanup_label, __pyx_t_10) < 0) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "Cython/Compiler/Code.py":1624
 *     break_label = funccontext_property("break_label")
 *     return_from_error_cleanup_label = funccontext_property("return_from_error_cleanup_label")
 *     yield_labels = funccontext_property("yield_labels")             # <<<<<<<<<<<<<<
 * 
 *     # Functions delegated to function scope
 */
  __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_funccontext_property); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__388, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_yield_labels, __pyx_t_9) < 0) __PYX_ERR(0, 1624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1627
 * 
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)             # <<<<<<<<<<<<<<
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_19new_label, 0, __pyx_n_s_CCodeWriter_new_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__390)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__391);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_label, __pyx_t_9) < 0) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1628
 *     # Functions delegated to function scope
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self):         return self.funcstate.new_error_label()             # <<<<<<<<<<<<<<
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     def get_loop_labels(self):         return self.funcstate.get_loop_labels()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_21new_error_label, 0, __pyx_n_s_CCodeWriter_new_error_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__393)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_error_label, __pyx_t_9) < 0) __PYX_ERR(0, 1628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1629
 *     def new_label(self, name=None):    return self.funcstate.new_label(name)
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()             # <<<<<<<<<<<<<<
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_23new_yield_label, 0, __pyx_n_s_CCodeWriter_new_yield_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__395)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_yield_label, __pyx_t_9) < 0) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1630
 *     def new_error_label(self):         return self.funcstate.new_error_label()
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     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):         return self.funcstate.new_loop_labels()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_25get_loop_labels, 0, __pyx_n_s_CCodeWriter_get_loop_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__397)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_loop_labels, __pyx_t_9) < 0) __PYX_ERR(0, 1630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1631
 *     def new_yield_label(self):         return self.funcstate.new_yield_label()
 *     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):         return self.funcstate.new_loop_labels()
 *     def get_all_labels(self):          return self.funcstate.get_all_labels()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_27set_loop_labels, 0, __pyx_n_s_CCodeWriter_set_loop_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__399)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_set_loop_labels, __pyx_t_9) < 0) __PYX_ERR(0, 1631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1632
 *     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):         return self.funcstate.new_loop_labels()             # <<<<<<<<<<<<<<
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_29new_loop_labels, 0, __pyx_n_s_CCodeWriter_new_loop_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__401)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_new_loop_labels, __pyx_t_9) < 0) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1633
 *     def set_loop_labels(self, labels): return self.funcstate.set_loop_labels(labels)
 *     def new_loop_labels(self):         return self.funcstate.new_loop_labels()
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_31get_all_labels, 0, __pyx_n_s_CCodeWriter_get_all_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__403)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_all_labels, __pyx_t_9) < 0) __PYX_ERR(0, 1633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1634
 *     def new_loop_labels(self):         return self.funcstate.new_loop_labels()
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_33set_all_labels, 0, __pyx_n_s_CCodeWriter_set_all_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__405)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_set_all_labels, __pyx_t_9) < 0) __PYX_ERR(0, 1634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1635
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_35all_new_labels, 0, __pyx_n_s_CCodeWriter_all_new_labels, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__407)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_all_new_labels, __pyx_t_9) < 0) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1636
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_37use_label, 0, __pyx_n_s_CCodeWriter_use_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__409)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_use_label, __pyx_t_9) < 0) __PYX_ERR(0, 1636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1637
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_39label_used, 0, __pyx_n_s_CCodeWriter_label_used, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__411)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_label_used, __pyx_t_9) < 0) __PYX_ERR(0, 1637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1640
 * 
 * 
 *     def enter_cfunc_scope(self, scope=None):             # <<<<<<<<<<<<<<
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_41enter_cfunc_scope, 0, __pyx_n_s_CCodeWriter_enter_cfunc_scope, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__413)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__414);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_enter_cfunc_scope, __pyx_t_9) < 0) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1643
 *         self.funcstate = FunctionState(self, scope=scope)
 * 
 *     def exit_cfunc_scope(self):             # <<<<<<<<<<<<<<
 *         self.funcstate = None
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_43exit_cfunc_scope, 0, __pyx_n_s_CCodeWriter_exit_cfunc_scope, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__416)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_exit_cfunc_scope, __pyx_t_9) < 0) __PYX_ERR(0, 1643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1648
 *     # constant handling
 * 
 *     def get_py_int(self, str_value, longness):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_int_const(str_value, longness).cname
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_45get_py_int, 0, __pyx_n_s_CCodeWriter_get_py_int, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__418)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_py_int, __pyx_t_9) < 0) __PYX_ERR(0, 1648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1651
 *         return self.globalstate.get_int_const(str_value, longness).cname
 * 
 *     def get_py_float(self, str_value, value_code):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_float_const(str_value, value_code).cname
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_47get_py_float, 0, __pyx_n_s_CCodeWriter_get_py_float, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__420)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_py_float, __pyx_t_9) < 0) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1654
 *         return self.globalstate.get_float_const(str_value, value_code).cname
 * 
 *     def get_py_const(self, type, prefix='', cleanup_level=None):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_49get_py_const, 0, __pyx_n_s_CCodeWriter_get_py_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__422)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__423);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_py_const, __pyx_t_9) < 0) __PYX_ERR(0, 1654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1657
 *         return self.globalstate.get_py_const(type, prefix, cleanup_level).cname
 * 
 *     def get_string_const(self, text):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_string_const(text).cname
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_51get_string_const, 0, __pyx_n_s_CCodeWriter_get_string_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__425)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_string_const, __pyx_t_9) < 0) __PYX_ERR(0, 1657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1660
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_53get_pyunicode_ptr_const, 0, __pyx_n_s_CCodeWriter_get_pyunicode_ptr_co, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__427)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_pyunicode_ptr_const, __pyx_t_9) < 0) __PYX_ERR(0, 1660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1663
 *         return self.globalstate.get_pyunicode_ptr_const(text)
 * 
 *     def get_py_string_const(self, text, identifier=None,             # <<<<<<<<<<<<<<
 *                             is_str=False, unicode_value=None):
 *         return self.globalstate.get_py_string_const(
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_55get_py_string_const, 0, __pyx_n_s_CCodeWriter_get_py_string_const, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__429)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__430);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_py_string_const, __pyx_t_9) < 0) __PYX_ERR(0, 1663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1668
 *             text, identifier, is_str, unicode_value).cname
 * 
 *     def get_argument_default_const(self, type):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_py_const(type).cname
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_57get_argument_default_const, 0, __pyx_n_s_CCodeWriter_get_argument_default, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__432)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_argument_default_const, __pyx_t_9) < 0) __PYX_ERR(0, 1668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1671
 *         return self.globalstate.get_py_const(type).cname
 * 
 *     def intern(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_59intern, 0, __pyx_n_s_CCodeWriter_intern, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__434)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_intern, __pyx_t_9) < 0) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1674
 *         return self.get_py_string_const(text)
 * 
 *     def intern_identifier(self, text):             # <<<<<<<<<<<<<<
 *         return self.get_py_string_const(text, identifier=True)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_61intern_identifier, 0, __pyx_n_s_CCodeWriter_intern_identifier, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__436)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_intern_identifier, __pyx_t_9) < 0) __PYX_ERR(0, 1674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1677
 *         return self.get_py_string_const(text, identifier=True)
 * 
 *     def get_cached_constants_writer(self):             # <<<<<<<<<<<<<<
 *         return self.globalstate.get_cached_constants_writer()
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_63get_cached_constants_writer, 0, __pyx_n_s_CCodeWriter_get_cached_constants, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__438)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_cached_constants_writer, __pyx_t_9) < 0) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1682
 *     # code generation
 * 
 *     def putln(self, code="", safe=False):             # <<<<<<<<<<<<<<
 *         if self.last_pos and self.bol:
 *             self.emit_marker()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_65putln, 0, __pyx_n_s_CCodeWriter_putln, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__440)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__441);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_putln, __pyx_t_9) < 0) __PYX_ERR(0, 1682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1696
 *         self.bol = 1
 * 
 *     def mark_pos(self, pos, trace=True):             # <<<<<<<<<<<<<<
 *         if pos is None:
 *             return
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_67mark_pos, 0, __pyx_n_s_CCodeWriter_mark_pos, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__443)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__444);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_mark_pos, __pyx_t_9) < 0) __PYX_ERR(0, 1696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1703
 *         self.last_pos = (pos, trace)
 * 
 *     def emit_marker(self):             # <<<<<<<<<<<<<<
 *         pos, trace = self.last_pos
 *         self.last_marked_pos = pos
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_69emit_marker, 0, __pyx_n_s_CCodeWriter_emit_marker, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__446)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_emit_marker, __pyx_t_9) < 0) __PYX_ERR(0, 1703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1716
 *                 pos[1], not self.funcstate.gil_owned, self.error_goto(pos)))
 * 
 *     def _build_marker(self, pos):             # <<<<<<<<<<<<<<
 *         source_desc, line, col = pos
 *         assert isinstance(source_desc, SourceDescriptor)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_71_build_marker, 0, __pyx_n_s_CCodeWriter__build_marker, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__448)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_build_marker, __pyx_t_9) < 0) __PYX_ERR(0, 1716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1725
 *         return u'"%s":%d\n%s\n' % (source_desc.get_escaped_description(), line, u'\n'.join(lines))
 * 
 *     def put_safe(self, code):             # <<<<<<<<<<<<<<
 *         # put code, but ignore {}
 *         self.write(code)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_73put_safe, 0, __pyx_n_s_CCodeWriter_put_safe, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__450)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_safe, __pyx_t_9) < 0) __PYX_ERR(0, 1725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1730
 *         self.bol = 0
 * 
 *     def put_or_include(self, code, name):             # <<<<<<<<<<<<<<
 *         include_dir = self.globalstate.common_utility_include_dir
 *         if include_dir and len(code) > 1024:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_75put_or_include, 0, __pyx_n_s_CCodeWriter_put_or_include, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__452)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_or_include, __pyx_t_9) < 0) __PYX_ERR(0, 1730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1744
 *         self.put(code)
 * 
 *     def put(self, code):             # <<<<<<<<<<<<<<
 *         if is_self_assignment(code):
 *             return
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_77put, 0, __pyx_n_s_CCodeWriter_put, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__454)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put, __pyx_t_9) < 0) __PYX_ERR(0, 1744, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1769
 *             self.level += 1
 * 
 *     def putln_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.putln(sub(code, **context))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_79putln_tempita, 0, __pyx_n_s_CCodeWriter_putln_tempita, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__456)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_putln_tempita, __pyx_t_9) < 0) __PYX_ERR(0, 1769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1773
 *         self.putln(sub(code, **context))
 * 
 *     def put_tempita(self, code, **context):             # <<<<<<<<<<<<<<
 *         from ..Tempita import sub
 *         self.put(sub(code, **context))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_81put_tempita, 0, __pyx_n_s_CCodeWriter_put_tempita, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__458)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_tempita, __pyx_t_9) < 0) __PYX_ERR(0, 1773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1777
 *         self.put(sub(code, **context))
 * 
 *     def increase_indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_83increase_indent, 0, __pyx_n_s_CCodeWriter_increase_indent, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__460)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_increase_indent, __pyx_t_9) < 0) __PYX_ERR(0, 1777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1780
 *         self.level += 1
 * 
 *     def decrease_indent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_85decrease_indent, 0, __pyx_n_s_CCodeWriter_decrease_indent, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__462)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_decrease_indent, __pyx_t_9) < 0) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1783
 *         self.level -= 1
 * 
 *     def begin_block(self):             # <<<<<<<<<<<<<<
 *         self.putln("{")
 *         self.increase_indent()
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_87begin_block, 0, __pyx_n_s_CCodeWriter_begin_block, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__464)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_begin_block, __pyx_t_9) < 0) __PYX_ERR(0, 1783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1787
 *         self.increase_indent()
 * 
 *     def end_block(self):             # <<<<<<<<<<<<<<
 *         self.decrease_indent()
 *         self.putln("}")
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_89end_block, 0, __pyx_n_s_CCodeWriter_end_block, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__466)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_end_block, __pyx_t_9) < 0) __PYX_ERR(0, 1787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1791
 *         self.putln("}")
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.write("  " * self.level)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_91indent, 0, __pyx_n_s_CCodeWriter_indent, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__468)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_indent, __pyx_t_9) < 0) __PYX_ERR(0, 1791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1794
 *         self.write("  " * self.level)
 * 
 *     def get_py_version_hex(self, pyversion):             # <<<<<<<<<<<<<<
 *         return "0x%02X%02X%02X%02X" % (tuple(pyversion) + (0,0,0,0))[:4]
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_93get_py_version_hex, 0, __pyx_n_s_CCodeWriter_get_py_version_hex, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__470)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_get_py_version_hex, __pyx_t_9) < 0) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1797
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_95put_label, 0, __pyx_n_s_CCodeWriter_put_label, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__472)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_label, __pyx_t_9) < 0) __PYX_ERR(0, 1797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1801
 *             self.putln("%s:;" % lbl)
 * 
 *     def put_goto(self, lbl):             # <<<<<<<<<<<<<<
 *         self.funcstate.use_label(lbl)
 *         self.putln("goto %s;" % lbl)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_97put_goto, 0, __pyx_n_s_CCodeWriter_put_goto, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__474)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_goto, __pyx_t_9) < 0) __PYX_ERR(0, 1801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1805
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_99put_var_declaration, 0, __pyx_n_s_CCodeWriter_put_var_declaration, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__476)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__477);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_declaration, __pyx_t_9) < 0) __PYX_ERR(0, 1805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1826
 *         self.putln(";")
 * 
 *     def put_temp_declarations(self, func_context):             # <<<<<<<<<<<<<<
 *         for name, type, manage_ref, static in func_context.temps_allocated:
 *             decl = type.declaration_code(name)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_101put_temp_declarations, 0, __pyx_n_s_CCodeWriter_put_temp_declaration, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__479)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_temp_declarations, __pyx_t_9) < 0) __PYX_ERR(0, 1826, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1847
 *             self.putln("%sint %s = 0;" % (unused, Naming.clineno_cname))
 * 
 *     def put_generated_by(self):             # <<<<<<<<<<<<<<
 *         self.putln("/[inserted by cython to avoid comment start]* Generated by Cython %s *[inserted by cython to avoid comment closer]/" % Version.watermark)
 *         self.putln("")
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_103put_generated_by, 0, __pyx_n_s_CCodeWriter_put_generated_by, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__481)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_generated_by, __pyx_t_9) < 0) __PYX_ERR(0, 1847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1851
 *         self.putln("")
 * 
 *     def put_h_guard(self, guard):             # <<<<<<<<<<<<<<
 *         self.putln("#ifndef %s" % guard)
 *         self.putln("#define %s" % guard)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_105put_h_guard, 0, __pyx_n_s_CCodeWriter_put_h_guard, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__483)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_h_guard, __pyx_t_9) < 0) __PYX_ERR(0, 1851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1855
 *         self.putln("#define %s" % guard)
 * 
 *     def unlikely(self, cond):             # <<<<<<<<<<<<<<
 *         if Options.gcc_branch_hints:
 *             return 'unlikely(%s)' % cond
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_107unlikely, 0, __pyx_n_s_CCodeWriter_unlikely, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__485)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_unlikely, __pyx_t_9) < 0) __PYX_ERR(0, 1855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1861
 *             return cond
 * 
 *     def build_function_modifiers(self, modifiers, mapper=modifier_output_mapper):             # <<<<<<<<<<<<<<
 *         if not modifiers:
 *             return ''
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_109build_function_modifiers, 0, __pyx_n_s_CCodeWriter_build_function_modif, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__487)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (!__Pyx_CyFunction_InitDefaults(__pyx_t_9, sizeof(__pyx_defaults3), 1)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_modifier_output_mapper); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_t_9)->__pyx_arg_mapper = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;
  __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_9, __pyx_pf_6Cython_8Compiler_4Code_12__defaults__);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_build_function_modifiers, __pyx_t_9) < 0) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1868
 *     # 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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_111entry_as_pyobject, 0, __pyx_n_s_CCodeWriter_entry_as_pyobject, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__489)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_entry_as_pyobject, __pyx_t_9) < 0) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1876
 *             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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_113as_pyobject, 0, __pyx_n_s_CCodeWriter_as_pyobject, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__491)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_as_pyobject, __pyx_t_9) < 0) __PYX_ERR(0, 1876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1880
 *         return typecast(py_object_type, type, cname)
 * 
 *     def put_gotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GOTREF(%s);" % cname)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_115put_gotref, 0, __pyx_n_s_CCodeWriter_put_gotref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__493)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_gotref, __pyx_t_9) < 0) __PYX_ERR(0, 1880, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1883
 *         self.putln("__Pyx_GOTREF(%s);" % cname)
 * 
 *     def put_giveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_117put_giveref, 0, __pyx_n_s_CCodeWriter_put_giveref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__495)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_giveref, __pyx_t_9) < 0) __PYX_ERR(0, 1883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1886
 *         self.putln("__Pyx_GIVEREF(%s);" % cname)
 * 
 *     def put_xgiveref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_119put_xgiveref, 0, __pyx_n_s_CCodeWriter_put_xgiveref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__497)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_xgiveref, __pyx_t_9) < 0) __PYX_ERR(0, 1886, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1889
 *         self.putln("__Pyx_XGIVEREF(%s);" % cname)
 * 
 *     def put_xgotref(self, cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_121put_xgotref, 0, __pyx_n_s_CCodeWriter_put_xgotref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__499)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_xgotref, __pyx_t_9) < 0) __PYX_ERR(0, 1889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1892
 *         self.putln("__Pyx_XGOTREF(%s);" % cname)
 * 
 *     def put_incref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         if nanny:
 *             self.putln("__Pyx_INCREF(%s);" % self.as_pyobject(cname, type))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_123put_incref, 0, __pyx_n_s_CCodeWriter_put_incref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__501)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__502);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_incref, __pyx_t_9) < 0) __PYX_ERR(0, 1892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1898
 *             self.putln("Py_INCREF(%s);" % self.as_pyobject(cname, type))
 * 
 *     def put_decref(self, cname, type, nanny=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_125put_decref, 0, __pyx_n_s_CCodeWriter_put_decref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__504)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__505);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_decref_2, __pyx_t_9) < 0) __PYX_ERR(0, 1898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1901
 *         self._put_decref(cname, type, nanny, null_check=False, clear=False)
 * 
 *     def put_var_gotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_127put_var_gotref, 0, __pyx_n_s_CCodeWriter_put_var_gotref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__507)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_gotref, __pyx_t_9) < 0) __PYX_ERR(0, 1901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1905
 *             self.putln("__Pyx_GOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_giveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_129put_var_giveref, 0, __pyx_n_s_CCodeWriter_put_var_giveref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__509)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_giveref, __pyx_t_9) < 0) __PYX_ERR(0, 1905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1909
 *             self.putln("__Pyx_GIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgotref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_131put_var_xgotref, 0, __pyx_n_s_CCodeWriter_put_var_xgotref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__511)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_xgotref, __pyx_t_9) < 0) __PYX_ERR(0, 1909, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1913
 *             self.putln("__Pyx_XGOTREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xgiveref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_133put_var_xgiveref, 0, __pyx_n_s_CCodeWriter_put_var_xgiveref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__513)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_xgiveref, __pyx_t_9) < 0) __PYX_ERR(0, 1913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1917
 *             self.putln("__Pyx_XGIVEREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_incref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_135put_var_incref, 0, __pyx_n_s_CCodeWriter_put_var_incref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__515)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_incref, __pyx_t_9) < 0) __PYX_ERR(0, 1917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1921
 *             self.putln("__Pyx_INCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xincref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_137put_var_xincref, 0, __pyx_n_s_CCodeWriter_put_var_xincref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__517)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_xincref, __pyx_t_9) < 0) __PYX_ERR(0, 1921, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1925
 *             self.putln("__Pyx_XINCREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_decref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=False,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_139put_decref_clear, 0, __pyx_n_s_CCodeWriter_put_decref_clear, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__519)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__520);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_decref_clear, __pyx_t_9) < 0) __PYX_ERR(0, 1925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1929
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def put_xdecref(self, cname, type, nanny=True, have_gil=True):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          have_gil=have_gil, clear=False)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_141put_xdecref, 0, __pyx_n_s_CCodeWriter_put_xdecref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__522)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__523);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_xdecref, __pyx_t_9) < 0) __PYX_ERR(0, 1929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1933
 *                          have_gil=have_gil, clear=False)
 * 
 *     def put_xdecref_clear(self, cname, type, nanny=True, clear_before_decref=False):             # <<<<<<<<<<<<<<
 *         self._put_decref(cname, type, nanny, null_check=True,
 *                          clear=True, clear_before_decref=clear_before_decref)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_143put_xdecref_clear, 0, __pyx_n_s_CCodeWriter_put_xdecref_clear, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__525)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__526);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_xdecref_clear, __pyx_t_9) < 0) __PYX_ERR(0, 1933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1937
 *                          clear=True, clear_before_decref=clear_before_decref)
 * 
 *     def _put_decref(self, cname, type, nanny=True, null_check=False,             # <<<<<<<<<<<<<<
 *                     have_gil=True, clear=False, clear_before_decref=False):
 *         if type.is_memoryviewslice:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_145_put_decref, 0, __pyx_n_s_CCodeWriter__put_decref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__528)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__529);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_decref, __pyx_t_9) < 0) __PYX_ERR(0, 1937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1958
 *                 prefix, X, self.as_pyobject(cname, type)))
 * 
 *     def put_decref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_147put_decref_set, 0, __pyx_n_s_CCodeWriter_put_decref_set, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__531)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_decref_set, __pyx_t_9) < 0) __PYX_ERR(0, 1958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1961
 *         self.putln("__Pyx_DECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_xdecref_set(self, cname, rhs_cname):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_149put_xdecref_set, 0, __pyx_n_s_CCodeWriter_put_xdecref_set, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__533)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_xdecref_set, __pyx_t_9) < 0) __PYX_ERR(0, 1961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1964
 *         self.putln("__Pyx_XDECREF_SET(%s, %s);" % (cname, rhs_cname))
 * 
 *     def put_var_decref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_151put_var_decref, 0, __pyx_n_s_CCodeWriter_put_var_decref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__535)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_decref, __pyx_t_9) < 0) __PYX_ERR(0, 1964, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1968
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_xdecref(self, entry):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_153put_var_xdecref, 0, __pyx_n_s_CCodeWriter_put_var_xdecref, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__537)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_xdecref, __pyx_t_9) < 0) __PYX_ERR(0, 1968, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1972
 *             self.putln("__Pyx_XDECREF(%s);" % self.entry_as_pyobject(entry))
 * 
 *     def put_var_decref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_155put_var_decref_clear, 0, __pyx_n_s_CCodeWriter_put_var_decref_clear, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__539)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_decref_clear_2, __pyx_t_9) < 0) __PYX_ERR(0, 1972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1975
 *         self._put_var_decref_clear(entry, null_check=False)
 * 
 *     def put_var_xdecref_clear(self, entry):             # <<<<<<<<<<<<<<
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_157put_var_xdecref_clear, 0, __pyx_n_s_CCodeWriter_put_var_xdecref_clea, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__541)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_xdecref_clear, __pyx_t_9) < 0) __PYX_ERR(0, 1975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1978
 *         self._put_var_decref_clear(entry, null_check=True)
 * 
 *     def _put_var_decref_clear(self, entry, null_check):             # <<<<<<<<<<<<<<
 *         if entry.type.is_pyobject:
 *             if entry.in_closure:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_159_put_var_decref_clear, 0, __pyx_n_s_CCodeWriter__put_var_decref_clea, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__543)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_decref_clear, __pyx_t_9) < 0) __PYX_ERR(0, 1978, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1992
 *                     entry.cname))
 * 
 *     def put_var_decrefs(self, entries, used_only = 0):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             if not used_only or entry.used:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_161put_var_decrefs, 0, __pyx_n_s_CCodeWriter_put_var_decrefs, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__545)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__546);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_decrefs, __pyx_t_9) < 0) __PYX_ERR(0, 1992, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2000
 *                     self.put_var_decref(entry)
 * 
 *     def put_var_xdecrefs(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref(entry)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_163put_var_xdecrefs, 0, __pyx_n_s_CCodeWriter_put_var_xdecrefs, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__548)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_xdecrefs, __pyx_t_9) < 0) __PYX_ERR(0, 2000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2004
 *             self.put_var_xdecref(entry)
 * 
 *     def put_var_xdecrefs_clear(self, entries):             # <<<<<<<<<<<<<<
 *         for entry in entries:
 *             self.put_var_xdecref_clear(entry)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_165put_var_xdecrefs_clear, 0, __pyx_n_s_CCodeWriter_put_var_xdecrefs_cle, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__550)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_var_xdecrefs_clear, __pyx_t_9) < 0) __PYX_ERR(0, 2004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2008
 *             self.put_var_xdecref_clear(entry)
 * 
 *     def put_incref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_167put_incref_memoryviewslice, 0, __pyx_n_s_CCodeWriter_put_incref_memoryvie, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__552)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__553);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_incref_memoryviewslice, __pyx_t_9) < 0) __PYX_ERR(0, 2008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2013
 *         self.putln("__PYX_INC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xdecref_memoryviewslice(self, slice_cname, have_gil=False):             # <<<<<<<<<<<<<<
 *         from . import MemoryView
 *         self.globalstate.use_utility_code(MemoryView.memviewslice_init_code)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_169put_xdecref_memoryviewslice, 0, __pyx_n_s_CCodeWriter_put_xdecref_memoryvi, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__555)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__556);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_xdecref_memoryviewslice, __pyx_t_9) < 0) __PYX_ERR(0, 2013, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2018
 *         self.putln("__PYX_XDEC_MEMVIEW(&%s, %d);" % (slice_cname, int(have_gil)))
 * 
 *     def put_xgiveref_memoryviewslice(self, slice_cname):             # <<<<<<<<<<<<<<
 *         self.put_xgiveref("%s.memview" % slice_cname)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_171put_xgiveref_memoryviewslice, 0, __pyx_n_s_CCodeWriter_put_xgiveref_memoryv, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__558)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_xgiveref_memoryviewslice, __pyx_t_9) < 0) __PYX_ERR(0, 2018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2021
 *         self.put_xgiveref("%s.memview" % slice_cname)
 * 
 *     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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_173put_init_to_py_none, 0, __pyx_n_s_CCodeWriter_put_init_to_py_none, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__560)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__561);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_init_to_py_none, __pyx_t_9) < 0) __PYX_ERR(0, 2021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2029
 *             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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_175put_init_var_to_py_none, 0, __pyx_n_s_CCodeWriter_put_init_var_to_py_n, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__563)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__564);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_init_var_to_py_none, __pyx_t_9) < 0) __PYX_ERR(0, 2029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2037
 *             self.put_giveref('Py_None')
 * 
 *     def put_pymethoddef(self, entry, term, allow_skip=True):             # <<<<<<<<<<<<<<
 *         if entry.is_special or entry.name == '__getattribute__':
 *             if entry.name not in special_py_methods:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_177put_pymethoddef, 0, __pyx_n_s_CCodeWriter_put_pymethoddef, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__566)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__567);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_pymethoddef, __pyx_t_9) < 0) __PYX_ERR(0, 2037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2066
 *     # GIL methods
 * 
 *     def put_ensure_gil(self, declare_gilstate=True, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The generated code is safe even when no PyThreadState
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_179put_ensure_gil, 0, __pyx_n_s_CCodeWriter_put_ensure_gil, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__569)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__570);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_ensure_gil, __pyx_t_9) < 0) __PYX_ERR(0, 2066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2083
 *         self.putln("#endif")
 * 
 *     def put_release_ensured_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Releases the GIL, corresponds to `put_ensure_gil`.
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_181put_release_ensured_gil, 0, __pyx_n_s_CCodeWriter_put_release_ensured, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__572)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__573);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_release_ensured_gil, __pyx_t_9) < 0) __PYX_ERR(0, 2083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2093
 *         self.putln("#endif")
 * 
 *     def put_acquire_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         """
 *         Acquire the GIL. The thread's thread state must have been initialized
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_183put_acquire_gil, 0, __pyx_n_s_CCodeWriter_put_acquire_gil, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__575)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__576);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_acquire_gil, __pyx_t_9) < 0) __PYX_ERR(0, 2093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2104
 *         self.putln("#endif")
 * 
 *     def put_release_gil(self, variable=None):             # <<<<<<<<<<<<<<
 *         "Release the GIL, corresponds to `put_acquire_gil`."
 *         self.putln("#ifdef WITH_THREAD")
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_185put_release_gil, 0, __pyx_n_s_CCodeWriter_put_release_gil, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__578)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__579);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_release_gil, __pyx_t_9) < 0) __PYX_ERR(0, 2104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2113
 *         self.putln("#endif")
 * 
 *     def declare_gilstate(self):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef WITH_THREAD")
 *         self.putln("PyGILState_STATE __pyx_gilstate_save;")
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_187declare_gilstate, 0, __pyx_n_s_CCodeWriter_declare_gilstate, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__581)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_declare_gilstate, __pyx_t_9) < 0) __PYX_ERR(0, 2113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2120
 *     # error handling
 * 
 *     def put_error_if_neg(self, pos, value):             # <<<<<<<<<<<<<<
 * #        return self.putln("if (unlikely(%s < 0)) %s" % (value, self.error_goto(pos)))  # TODO this path is almost _never_ taken, yet this macro makes is slower!
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_189put_error_if_neg, 0, __pyx_n_s_CCodeWriter_put_error_if_neg, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__583)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_error_if_neg, __pyx_t_9) < 0) __PYX_ERR(0, 2120, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2124
 *         return self.putln("if (%s < 0) %s" % (value, self.error_goto(pos)))
 * 
 *     def put_error_if_unbound(self, pos, entry, in_nogil_context=False):             # <<<<<<<<<<<<<<
 *         from . import ExprNodes
 *         if entry.from_closure:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_191put_error_if_unbound, 0, __pyx_n_s_CCodeWriter_put_error_if_unbound, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__585)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__586);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_error_if_unbound, __pyx_t_9) < 0) __PYX_ERR(0, 2124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2145
 *                                 self.error_goto(pos)))
 * 
 *     def set_error_info(self, pos, used=False):             # <<<<<<<<<<<<<<
 *         self.funcstate.should_declare_error_indicator = True
 *         if used:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_193set_error_info, 0, __pyx_n_s_CCodeWriter_set_error_info, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__588)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__589);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_set_error_info, __pyx_t_9) < 0) __PYX_ERR(0, 2145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2162
 *             cinfo)
 * 
 *     def error_goto(self, pos):             # <<<<<<<<<<<<<<
 *         lbl = self.funcstate.error_label
 *         self.funcstate.use_label(lbl)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_195error_goto, 0, __pyx_n_s_CCodeWriter_error_goto, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__591)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_error_goto, __pyx_t_9) < 0) __PYX_ERR(0, 2162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2170
 *             lbl)
 * 
 *     def error_goto_if(self, cond, pos):             # <<<<<<<<<<<<<<
 *         return "if (%s) %s" % (self.unlikely(cond), self.error_goto(pos))
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_197error_goto_if, 0, __pyx_n_s_CCodeWriter_error_goto_if, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__593)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_error_goto_if, __pyx_t_9) < 0) __PYX_ERR(0, 2170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2173
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_199error_goto_if_null, 0, __pyx_n_s_CCodeWriter_error_goto_if_null, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__595)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_error_goto_if_null, __pyx_t_9) < 0) __PYX_ERR(0, 2173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2176
 *         return self.error_goto_if("!%s" % cname, pos)
 * 
 *     def error_goto_if_neg(self, cname, pos):             # <<<<<<<<<<<<<<
 *         return self.error_goto_if("%s < 0" % cname, pos)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_201error_goto_if_neg, 0, __pyx_n_s_CCodeWriter_error_goto_if_neg, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__597)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_error_goto_if_neg, __pyx_t_9) < 0) __PYX_ERR(0, 2176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2179
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_203error_goto_if_PyErr, 0, __pyx_n_s_CCodeWriter_error_goto_if_PyErr, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__599)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_error_goto_if_PyErr, __pyx_t_9) < 0) __PYX_ERR(0, 2179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2182
 *         return self.error_goto_if("PyErr_Occurred()", pos)
 * 
 *     def lookup_filename(self, filename):             # <<<<<<<<<<<<<<
 *         return self.globalstate.lookup_filename(filename)
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_205lookup_filename, 0, __pyx_n_s_CCodeWriter_lookup_filename, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__601)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_lookup_filename, __pyx_t_9) < 0) __PYX_ERR(0, 2182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2185
 *         return self.globalstate.lookup_filename(filename)
 * 
 *     def put_declare_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_207put_declare_refcount_context, 0, __pyx_n_s_CCodeWriter_put_declare_refcount, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__603)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_declare_refcount_context, __pyx_t_9) < 0) __PYX_ERR(0, 2185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2188
 *         self.putln('__Pyx_RefNannyDeclarations')
 * 
 *     def put_setup_refcount_context(self, name, acquire_gil=False):             # <<<<<<<<<<<<<<
 *         if acquire_gil:
 *             self.globalstate.use_utility_code(
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_209put_setup_refcount_context, 0, __pyx_n_s_CCodeWriter_put_setup_refcount_c, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__605)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__606);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_setup_refcount_context, __pyx_t_9) < 0) __PYX_ERR(0, 2188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2194
 *         self.putln('__Pyx_RefNannySetupContext("%s", %d);' % (name, acquire_gil and 1 or 0))
 * 
 *     def put_finish_refcount_context(self):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_RefNannyFinishContext();")
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_211put_finish_refcount_context, 0, __pyx_n_s_CCodeWriter_put_finish_refcount, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__608)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_finish_refcount_context, __pyx_t_9) < 0) __PYX_ERR(0, 2194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2197
 *         self.putln("__Pyx_RefNannyFinishContext();")
 * 
 *     def put_add_traceback(self, qualified_name):             # <<<<<<<<<<<<<<
 *         """
 *         Build a Python traceback for propagating exceptions.
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_213put_add_traceback, 0, __pyx_n_s_CCodeWriter_put_add_traceback, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__610)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_add_traceback, __pyx_t_9) < 0) __PYX_ERR(0, 2197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2212
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_215put_unraisable, 0, __pyx_n_s_CCodeWriter_put_unraisable, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__612)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__613);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_unraisable, __pyx_t_9) < 0) __PYX_ERR(0, 2212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2231
 *             UtilityCode.load_cached("WriteUnraisableException", "Exceptions.c"))
 * 
 *     def put_trace_declarations(self):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_217put_trace_declarations, 0, __pyx_n_s_CCodeWriter_put_trace_declaratio, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__615)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_trace_declarations, __pyx_t_9) < 0) __PYX_ERR(0, 2231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2234
 *         self.putln('__Pyx_TraceDeclarations')
 * 
 *     def put_trace_frame_init(self, codeobj=None):             # <<<<<<<<<<<<<<
 *         if codeobj:
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_219put_trace_frame_init, 0, __pyx_n_s_CCodeWriter_put_trace_frame_init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__617)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__618);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_trace_frame_init, __pyx_t_9) < 0) __PYX_ERR(0, 2234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2238
 *             self.putln('__Pyx_TraceFrameInit(%s)' % codeobj)
 * 
 *     def put_trace_call(self, name, pos, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln('__Pyx_TraceCall("%s", %s[%s], %s, %d, %s);' % (
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_221put_trace_call, 0, __pyx_n_s_CCodeWriter_put_trace_call, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__620)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__621);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_trace_call, __pyx_t_9) < 0) __PYX_ERR(0, 2238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2242
 *             name, Naming.filetable_cname, self.lookup_filename(pos[0]), pos[1], nogil, self.error_goto(pos)))
 * 
 *     def put_trace_exception(self):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceException();")
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_223put_trace_exception, 0, __pyx_n_s_CCodeWriter_put_trace_exception, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__623)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_trace_exception, __pyx_t_9) < 0) __PYX_ERR(0, 2242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2245
 *         self.putln("__Pyx_TraceException();")
 * 
 *     def put_trace_return(self, retvalue_cname, nogil=False):             # <<<<<<<<<<<<<<
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_225put_trace_return, 0, __pyx_n_s_CCodeWriter_put_trace_return, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__625)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__626);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_trace_return, __pyx_t_9) < 0) __PYX_ERR(0, 2245, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2248
 *         self.putln("__Pyx_TraceReturn(%s, %d);" % (retvalue_cname, nogil))
 * 
 *     def putln_openmp(self, string):             # <<<<<<<<<<<<<<
 *         self.putln("#ifdef _OPENMP")
 *         self.putln(string)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_227putln_openmp, 0, __pyx_n_s_CCodeWriter_putln_openmp, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__628)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_putln_openmp, __pyx_t_9) < 0) __PYX_ERR(0, 2248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2253
 *         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_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_229undef_builtin_expect, 0, __pyx_n_s_CCodeWriter_undef_builtin_expect, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__630)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_undef_builtin_expect, __pyx_t_9) < 0) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2265
 *         self.putln("#endif")
 * 
 *     def redef_builtin_expect(self, cond):             # <<<<<<<<<<<<<<
 *         self.putln("#if %s" % cond)
 *         self.putln("    #undef likely")
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_11CCodeWriter_231redef_builtin_expect, 0, __pyx_n_s_CCodeWriter_redef_builtin_expect, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__632)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_redef_builtin_expect, __pyx_t_9) < 0) __PYX_ERR(0, 2265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":1514
 * 
 * 
 * class CCodeWriter(object):             # <<<<<<<<<<<<<<
 *     """
 *     Utility class to output C code.
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_CCodeWriter, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CCodeWriter, __pyx_t_9) < 0) __PYX_ERR(0, 1514, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2281
 *         self.level = 0
 * 
 *     def putln(self, code):             # <<<<<<<<<<<<<<
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_3putln, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexCodeWriter_putln, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__634)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter->tp_dict, __pyx_n_s_putln, __pyx_t_1) < 0) __PYX_ERR(0, 2281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter);

  /* "Cython/Compiler/Code.py":2284
 *         self.f.write("%s%s\n" % (" " * self.level, code))
 * 
 *     def indent(self):             # <<<<<<<<<<<<<<
 *         self.level += 1
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_5indent, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexCodeWriter_indent, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__636)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter->tp_dict, __pyx_n_s_indent, __pyx_t_1) < 0) __PYX_ERR(0, 2284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter);

  /* "Cython/Compiler/Code.py":2287
 *         self.level += 1
 * 
 *     def dedent(self):             # <<<<<<<<<<<<<<
 *         self.level -= 1
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_15PyrexCodeWriter_7dedent, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexCodeWriter_dedent, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__638)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter->tp_dict, __pyx_n_s_dedent, __pyx_t_1) < 0) __PYX_ERR(0, 2287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_6Cython_8Compiler_4Code_PyrexCodeWriter);

  /* "Cython/Compiler/Code.py":2290
 *         self.level -= 1
 * 
 * class PyxCodeWriter(object):             # <<<<<<<<<<<<<<
 *     """
 *     Can be used for writing out some Cython code. To use the indenter
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_PyxCodeWriter, __pyx_n_s_PyxCodeWriter, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_kp_s_Can_be_used_for_writing_out_som); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":2297
 *     """
 * 
 *     def __init__(self, buffer=None, indent_level=0, context=None, encoding='ascii'):             # <<<<<<<<<<<<<<
 *         self.buffer = buffer or StringIOTree()
 *         self.level = indent_level
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_1__init__, 0, __pyx_n_s_PyxCodeWriter___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__640)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__641);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2303
 *         self.encoding = encoding
 * 
 *     def indent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level += levels
 *         return True
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_3indent, 0, __pyx_n_s_PyxCodeWriter_indent, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__643)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__644);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_indent, __pyx_t_9) < 0) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2307
 *         return True
 * 
 *     def dedent(self, levels=1):             # <<<<<<<<<<<<<<
 *         self.level -= levels
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_5dedent, 0, __pyx_n_s_PyxCodeWriter_dedent, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__646)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__647);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_dedent, __pyx_t_9) < 0) __PYX_ERR(0, 2307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2310
 *         self.level -= levels
 * 
 *     def indenter(self, line):             # <<<<<<<<<<<<<<
 *         """
 *         Instead of
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_7indenter, 0, __pyx_n_s_PyxCodeWriter_indenter, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__649)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_indenter, __pyx_t_9) < 0) __PYX_ERR(0, 2310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2327
 *         return True
 * 
 *     def getvalue(self):             # <<<<<<<<<<<<<<
 *         result = self.buffer.getvalue()
 *         if isinstance(result, bytes):
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_9getvalue, 0, __pyx_n_s_PyxCodeWriter_getvalue, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__651)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_getvalue, __pyx_t_9) < 0) __PYX_ERR(0, 2327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2333
 *         return result
 * 
 *     def putln(self, line, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_11putln, 0, __pyx_n_s_PyxCodeWriter_putln, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__653)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__654);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_putln, __pyx_t_9) < 0) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2339
 *         self._putln(line)
 * 
 *     def _putln(self, line):             # <<<<<<<<<<<<<<
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_13_putln, 0, __pyx_n_s_PyxCodeWriter__putln, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__656)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_putln_2, __pyx_t_9) < 0) __PYX_ERR(0, 2339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2342
 *         self.buffer.write("%s%s\n" % (self.level * "    ", line))
 * 
 *     def put_chunk(self, chunk, context=None):             # <<<<<<<<<<<<<<
 *         context = context or self.context
 *         if context:
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_15put_chunk, 0, __pyx_n_s_PyxCodeWriter_put_chunk, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__658)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__659);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_put_chunk, __pyx_t_9) < 0) __PYX_ERR(0, 2342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2351
 *             self._putln(line)
 * 
 *     def insertion_point(self):             # <<<<<<<<<<<<<<
 *         return PyxCodeWriter(self.buffer.insertion_point(), self.level,
 *                              self.context)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_17insertion_point, 0, __pyx_n_s_PyxCodeWriter_insertion_point, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__661)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_insertion_point, __pyx_t_9) < 0) __PYX_ERR(0, 2351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2355
 *                              self.context)
 * 
 *     def named_insertion_point(self, name):             # <<<<<<<<<<<<<<
 *         setattr(self, name, self.insertion_point())
 * 
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_13PyxCodeWriter_19named_insertion_point, 0, __pyx_n_s_PyxCodeWriter_named_insertion_po, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__663)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_named_insertion_point, __pyx_t_9) < 0) __PYX_ERR(0, 2355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2290
 *         self.level -= 1
 * 
 * class PyxCodeWriter(object):             # <<<<<<<<<<<<<<
 *     """
 *     Can be used for writing out some Cython code. To use the indenter
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_PyxCodeWriter, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_PyxCodeWriter, __pyx_t_9) < 0) __PYX_ERR(0, 2290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":2359
 * 
 * 
 * class ClosureTempAllocator(object):             # <<<<<<<<<<<<<<
 *     def __init__(self, klass):
 *         self.klass = klass
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_object);
  __Pyx_GIVEREF(__pyx_builtin_object);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_t_1, __pyx_n_s_ClosureTempAllocator, __pyx_n_s_ClosureTempAllocator, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Code, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "Cython/Compiler/Code.py":2360
 * 
 * class ClosureTempAllocator(object):
 *     def __init__(self, klass):             # <<<<<<<<<<<<<<
 *         self.klass = klass
 *         self.temps_allocated = {}
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_1__init__, 0, __pyx_n_s_ClosureTempAllocator___init, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__665)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_9) < 0) __PYX_ERR(0, 2360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2366
 *         self.temps_count = 0
 * 
 *     def reset(self):             # <<<<<<<<<<<<<<
 *         for type, cnames in self.temps_allocated.items():
 *             self.temps_free[type] = list(cnames)
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_3reset, 0, __pyx_n_s_ClosureTempAllocator_reset, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__667)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_reset, __pyx_t_9) < 0) __PYX_ERR(0, 2366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2370
 *             self.temps_free[type] = list(cnames)
 * 
 *     def allocate_temp(self, type):             # <<<<<<<<<<<<<<
 *         if type not in self.temps_allocated:
 *             self.temps_allocated[type] = []
 */
  __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_6Cython_8Compiler_4Code_20ClosureTempAllocator_5allocate_temp, 0, __pyx_n_s_ClosureTempAllocator_allocate_te, NULL, __pyx_n_s_Cython_Compiler_Code, __pyx_d, ((PyObject *)__pyx_codeobj__669)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_allocate_temp, __pyx_t_9) < 0) __PYX_ERR(0, 2370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "Cython/Compiler/Code.py":2359
 * 
 * 
 * class ClosureTempAllocator(object):             # <<<<<<<<<<<<<<
 *     def __init__(self, klass):
 *         self.klass = klass
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_ClosureTempAllocator, __pyx_t_1, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ClosureTempAllocator, __pyx_t_9) < 0) __PYX_ERR(0, 2359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "Cython/Compiler/Code.py":1
 * # cython: language_level = 2             # <<<<<<<<<<<<<<
 * #
 * #   Code output module
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __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);
  if (__pyx_m) {
    if (__pyx_d) {
      __Pyx_AddTraceback("init Cython.Compiler.Code", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    Py_DECREF(__pyx_m); __pyx_m = 0;
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init Cython.Compiler.Code");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if PY_MAJOR_VERSION < 3
  return;
  #else
  return __pyx_m;
  #endif
}

/* --- 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((char *)modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
    if (unlikely(!result)) {
        PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
            "name '%U' is not defined", name);
#else
            "name '%.200s' is not defined", PyString_AS_STRING(name));
#endif
    }
    return result;
}

/* GetModuleGlobalName */
static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
    PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
    result = PyDict_GetItem(__pyx_d, name);
    if (likely(result)) {
        Py_INCREF(result);
    } else {
#else
    result = PyObject_GetItem(__pyx_d, name);
    if (!result) {
        PyErr_Clear();
#endif
        result = __Pyx_GetBuiltinName(name);
    }
    return result;
}

/* PyCFunctionFastCall */
  #if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
    PyObject *self = PyCFunction_GET_SELF(func);
    PyObject *result;
    int flags;
    assert(PyCFunction_Check(func));
    assert(METH_FASTCALL == PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST));
    assert(nargs >= 0);
    assert(nargs == 0 || args != NULL);
    /* _PyCFunction_FastCallDict() must not be called with an exception set,
       because it may clear it (directly or indirectly) and so the
       caller loses its exception */
    assert(!PyErr_Occurred());
    return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
}
#endif  // CYTHON_FAST_PYCCALL

/* PyFunctionFastCall */
  #if CYTHON_FAST_PYCALL
#include "frameobject.h"
static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
                                               PyObject *globals) {
    PyFrameObject *f;
    PyThreadState *tstate = PyThreadState_GET();
    PyObject **fastlocals;
    Py_ssize_t i;
    PyObject *result;
    assert(globals != NULL);
    /* XXX Perhaps we should create a specialized
       PyFrame_New() that doesn't take locals, but does
       take builtins without sanity checking them.
       */
    assert(tstate != NULL);
    f = PyFrame_New(tstate, co, globals, NULL);
    if (f == NULL) {
        return NULL;
    }
    fastlocals = f->f_localsplus;
    for (i = 0; i < na; i++) {
        Py_INCREF(*args);
        fastlocals[i] = *args++;
    }
    result = PyEval_EvalFrameEx(f,0);
    ++tstate->recursion_depth;
    Py_DECREF(f);
    --tstate->recursion_depth;
    return result;
}
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {
    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
    PyObject *globals = PyFunction_GET_GLOBALS(func);
    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
    PyObject *closure;
#if PY_MAJOR_VERSION >= 3
    PyObject *kwdefs;
#endif
    PyObject *kwtuple, **k;
    PyObject **d;
    Py_ssize_t nd;
    Py_ssize_t nk;
    PyObject *result;
    assert(kwargs == NULL || PyDict_Check(kwargs));
    nk = kwargs ? PyDict_Size(kwargs) : 0;
    if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
        return NULL;
    }
    if (
#if PY_MAJOR_VERSION >= 3
            co->co_kwonlyargcount == 0 &&
#endif
            likely(kwargs == NULL || nk == 0) &&
            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
        if (argdefs == NULL && co->co_argcount == nargs) {
            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
            goto done;
        }
        else if (nargs == 0 && argdefs != NULL
                 && co->co_argcount == Py_SIZE(argdefs)) {
            /* function called with no arguments, but all parameters have
               a default value: use default values as arguments .*/
            args = &PyTuple_GET_ITEM(argdefs, 0);
            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
            goto done;
        }
    }
    if (kwargs != NULL) {
        Py_ssize_t pos, i;
        kwtuple = PyTuple_New(2 * nk);
        if (kwtuple == NULL) {
            result = NULL;
            goto done;
        }
        k = &PyTuple_GET_ITEM(kwtuple, 0);
        pos = i = 0;
        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
            Py_INCREF(k[i]);
            Py_INCREF(k[i+1]);
            i += 2;
        }
        nk = i / 2;
    }
    else {
        kwtuple = NULL;
        k = NULL;
    }
    closure = PyFunction_GET_CLOSURE(func);
#if PY_MAJOR_VERSION >= 3
    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
#endif
    if (argdefs != NULL) {
        d = &PyTuple_GET_ITEM(argdefs, 0);
        nd = Py_SIZE(argdefs);
    }
    else {
        d = NULL;
        nd = 0;
    }
#if PY_MAJOR_VERSION >= 3
    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
                               args, nargs,
                               k, (int)nk,
                               d, (int)nd, kwdefs, closure);
#else
    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
                               args, nargs,
                               k, (int)nk,
                               d, (int)nd, closure);
#endif
    Py_XDECREF(kwtuple);
done:
    Py_LeaveRecursiveCall();
    return result;
}
#endif  // CPython < 3.6
#endif  // CYTHON_FAST_PYCALL

/* PyObjectCall */
  #if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = func->ob_type->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall((char*)" 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 */
  #if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = PyCFunction_GET_FUNCTION(func);
    self = PyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall((char*)" 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

/* PyObjectCallOneArg */
  #if CYTHON_COMPILING_IN_CPYTHON
static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_New(1);
    if (unlikely(!args)) return NULL;
    Py_INCREF(arg);
    PyTuple_SET_ITEM(args, 0, arg);
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, &arg, 1);
    }
#endif
#ifdef __Pyx_CyFunction_USED
    if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
#else
    if (likely(PyCFunction_Check(func))) {
#endif
        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
            return __Pyx_PyObject_CallMethO(func, arg);
#if CYTHON_FAST_PYCCALL
        } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) {
            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
#endif
        }
    }
    return __Pyx__PyObject_CallOneArg(func, arg);
}
#else
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_Pack(1, arg);
    if (unlikely(!args)) return NULL;
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
#endif

/* 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);
}

/* RaiseDoubleKeywords */
    static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

/* ParseKeywords */
    static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
            continue;
        }
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (**name == key) ? 0 :
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key);
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    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;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    return -1;
}

/* StringJoin */
    #if !CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
    return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL);
}
#endif

/* SaveResetException */
    #if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    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;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
}
#endif

/* PyErrExceptionMatches */
    #if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    PyObject *exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
    return PyErr_GivenExceptionMatches(exc_type, err);
}
#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, *local_value, *local_tb;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    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;
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
    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 PY_MAJOR_VERSION >= 3
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
    #endif
    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
    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;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
}

/* PyErrFetchRestore */
      #if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    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);
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    *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

/* RaiseException */
      #if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                        CYTHON_UNUSED PyObject *cause) {
    __Pyx_PyThreadState_declare
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    if (PyType_Check(type)) {
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        value = type;
        type = (PyObject*) Py_TYPE(type);
        Py_INCREF(type);
        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: exception class must be a subclass of BaseException");
            goto raise_error;
        }
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}
#else
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 PY_VERSION_HEX >= 0x03030000
    if (cause) {
#else
    if (cause && cause != Py_None) {
#endif
        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 CYTHON_COMPILING_IN_PYPY
        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);
#else
        PyThreadState *tstate = PyThreadState_GET();
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

/* BytesEquals */
        static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
    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 = 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 */
        static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
    return PyObject_RichCompareBool(s1, s2, equals);
#else
#if PY_MAJOR_VERSION < 3
    PyObject* owned_ref = NULL;
#endif
    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 PY_MAJOR_VERSION < 3
    if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
        owned_ref = PyUnicode_FromObject(s2);
        if (unlikely(!owned_ref))
            return -1;
        s2 = owned_ref;
        s2_is_unicode = 1;
    } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
        owned_ref = PyUnicode_FromObject(s1);
        if (unlikely(!owned_ref))
            return -1;
        s1 = owned_ref;
        s1_is_unicode = 1;
    } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
        return __Pyx_PyBytes_Equals(s1, s2, equals);
    }
#endif
    if (s1_is_unicode & s2_is_unicode) {
        Py_ssize_t length;
        int kind;
        void *data1, *data2;
        if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
            return -1;
        length = __Pyx_PyUnicode_GET_LENGTH(s1);
        if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
            goto return_ne;
        }
        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));
            #if PY_MAJOR_VERSION < 3
            Py_XDECREF(owned_ref);
            #endif
            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:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_EQ);
return_ne:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_NE);
#endif
}

/* SetItemInt */
        static CYTHON_INLINE int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
    int r;
    if (!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,
                                               CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
        if ((!boundscheck) || likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
            PyObject* old = PyList_GET_ITEM(o, n);
            Py_INCREF(v);
            PyList_SET_ITEM(o, n, v);
            Py_DECREF(old);
            return 1;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_ass_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return -1;
                    PyErr_Clear();
                }
            }
            return m->sq_ass_item(o, i, v);
        }
    }
#else
#if CYTHON_COMPILING_IN_PYPY
    if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) {
#else
    if (is_list || PySequence_Check(o)) {
#endif
        return PySequence_SetItem(o, i, v);
    }
#endif
    return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v);
}

/* 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) {
#if CYTHON_USE_TYPE_SLOTS
    PyMappingMethods* mp;
#if PY_MAJOR_VERSION < 3
    PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
    if (likely(ms && ms->sq_slice)) {
        if (!has_cstart) {
            if (_py_start && (*_py_start != Py_None)) {
                cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
                if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstart = 0;
        }
        if (!has_cstop) {
            if (_py_stop && (*_py_stop != Py_None)) {
                cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
                if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstop = PY_SSIZE_T_MAX;
        }
        if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
            Py_ssize_t l = ms->sq_length(obj);
            if (likely(l >= 0)) {
                if (cstop < 0) {
                    cstop += l;
                    if (cstop < 0) cstop = 0;
                }
                if (cstart < 0) {
                    cstart += l;
                    if (cstart < 0) cstart = 0;
                }
            } else {
                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                    goto bad;
                PyErr_Clear();
            }
        }
        return ms->sq_slice(obj, cstart, cstop);
    }
#endif
    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 = PyInt_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 = PyInt_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;
    }
    PyErr_Format(PyExc_TypeError,
        "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
bad:
    return NULL;
}

/* GetItemInt */
          static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (!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,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
    if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
    if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (is_list || PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

/* PyObjectCallNoArg */
          #if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
    }
#endif
#ifdef __Pyx_CyFunction_USED
    if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
#else
    if (likely(PyCFunction_Check(func))) {
#endif
        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
            return __Pyx_PyObject_CallMethO(func, NULL);
        }
    }
    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
#endif

/* RaiseTooManyValuesToUnpack */
            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);
}

/* RaiseNeedMoreValuesToUnpack */
            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");
}

/* IterFinish */
            static CYTHON_INLINE int __Pyx_IterFinish(void) {
#if CYTHON_FAST_THREAD_STATE
    PyThreadState *tstate = PyThreadState_GET();
    PyObject* exc_type = tstate->curexc_type;
    if (unlikely(exc_type)) {
        if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) {
            PyObject *exc_value, *exc_tb;
            exc_value = tstate->curexc_value;
            exc_tb = tstate->curexc_traceback;
            tstate->curexc_type = 0;
            tstate->curexc_value = 0;
            tstate->curexc_traceback = 0;
            Py_DECREF(exc_type);
            Py_XDECREF(exc_value);
            Py_XDECREF(exc_tb);
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#else
    if (unlikely(PyErr_Occurred())) {
        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
            PyErr_Clear();
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#endif
}

/* UnpackItemEndCheck */
            static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    } else {
        return __Pyx_IterFinish();
    }
    return 0;
}

/* FetchCommonType */
            static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
    PyObject* fake_module;
    PyTypeObject* cached_type = NULL;
    fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
    if (!fake_module) return NULL;
    Py_INCREF(fake_module);
    cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
    if (cached_type) {
        if (!PyType_Check((PyObject*)cached_type)) {
            PyErr_Format(PyExc_TypeError,
                "Shared Cython type %.200s is not a type object",
                type->tp_name);
            goto bad;
        }
        if (cached_type->tp_basicsize != type->tp_basicsize) {
            PyErr_Format(PyExc_TypeError,
                "Shared Cython type %.200s has the wrong size, try recompiling",
                type->tp_name);
            goto bad;
        }
    } else {
        if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
        PyErr_Clear();
        if (PyType_Ready(type) < 0) goto bad;
        if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
            goto bad;
        Py_INCREF(type);
        cached_type = type;
    }
done:
    Py_DECREF(fake_module);
    return cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}

/* CythonFunction */
            static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
{
    if (unlikely(op->func_doc == NULL)) {
        if (op->func.m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
            op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
#else
            op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
#endif
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value)
{
    PyObject *tmp = op->func_doc;
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    op->func_doc = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_name == NULL)) {
#if PY_MAJOR_VERSION >= 3
        op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
#else
        op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
#endif
        if (unlikely(op->func_name == NULL))
            return NULL;
    }
    Py_INCREF(op->func_name);
    return op->func_name;
}
static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
#else
    if (unlikely(value == NULL || !PyString_Check(value))) {
#endif
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    tmp = op->func_name;
    Py_INCREF(value);
    op->func_name = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op)
{
    Py_INCREF(op->func_qualname);
    return op->func_qualname;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
#else
    if (unlikely(value == NULL || !PyString_Check(value))) {
#endif
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    tmp = op->func_qualname;
    Py_INCREF(value);
    op->func_qualname = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
{
    PyObject *self;
    self = m->func_closure;
    if (self == NULL)
        self = Py_None;
    Py_INCREF(self);
    return self;
}
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op)
{
    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;
}
static int
__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value)
{
    PyObject *tmp;
    if (unlikely(value == NULL)) {
        PyErr_SetString(PyExc_TypeError,
               "function's dictionary may not be deleted");
        return -1;
    }
    if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
               "setting function's dictionary to a non-dict");
        return -1;
    }
    tmp = op->func_dict;
    Py_INCREF(value);
    op->func_dict = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op)
{
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op)
{
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    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 = PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = 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) {
    PyObject* tmp;
    if (!value) {
        value = Py_None;
    } else if (value != Py_None && !PyTuple_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    Py_INCREF(value);
    tmp = op->defaults_tuple;
    op->defaults_tuple = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_tuple;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
            result = op->defaults_tuple;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value) {
    PyObject* tmp;
    if (!value) {
        value = Py_None;
    } else if (value != Py_None && !PyDict_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    Py_INCREF(value);
    tmp = op->defaults_kwdict;
    op->defaults_kwdict = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_kwdict;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
            result = op->defaults_kwdict;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value) {
    PyObject* tmp;
    if (!value || value == Py_None) {
        value = NULL;
    } else if (!PyDict_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    tmp = op->func_annotations;
    op->func_annotations = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__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 PyGetSetDef __pyx_CyFunction_getsets[] = {
    {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
    {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
    {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
    {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
    {(char *) "__module__", T_OBJECT, offsetof(__pyx_CyFunctionObject, func.m_module), PY_WRITE_RESTRICTED, 0},
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
{
#if PY_MAJOR_VERSION >= 3
    return PyUnicode_FromString(m->func.m_ml->ml_name);
#else
    return PyString_FromString(m->func.m_ml->ml_name);
#endif
}
static PyMethodDef __pyx_CyFunction_methods[] = {
    {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
    {0, 0, 0, 0}
};
#if PY_VERSION_HEX < 0x030500A0
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname,
                                      PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type);
    if (op == NULL)
        return NULL;
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
    op->func.m_ml = ml;
    op->func.m_self = (PyObject *) op;
    Py_XINCREF(closure);
    op->func_closure = closure;
    Py_XINCREF(module);
    op->func.m_module = module;
    op->func_dict = NULL;
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
    op->func_classobj = NULL;
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults_pyobjects = 0;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    PyObject_GC_Track(op);
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
    Py_CLEAR(m->func.m_module);
    Py_CLEAR(m->func_dict);
    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);
    Py_CLEAR(m->func_classobj);
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_XDECREF(pydefaults[i]);
        PyObject_Free(m->defaults);
        m->defaults = NULL;
    }
    return 0;
}
static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    PyObject_GC_UnTrack(m);
    if (__Pyx_CyFunction_weakreflist(m) != NULL)
        PyObject_ClearWeakRefs((PyObject *) m);
    __Pyx_CyFunction_clear(m);
    PyObject_GC_Del(m);
}
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
    Py_VISIT(m->func_closure);
    Py_VISIT(m->func.m_module);
    Py_VISIT(m->func_dict);
    Py_VISIT(m->func_name);
    Py_VISIT(m->func_qualname);
    Py_VISIT(m->func_doc);
    Py_VISIT(m->func_globals);
    Py_VISIT(m->func_code);
    Py_VISIT(m->func_classobj);
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_VISIT(pydefaults[i]);
    }
    return 0;
}
static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
{
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
        Py_INCREF(func);
        return func;
    }
    if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
        if (type == NULL)
            type = (PyObject *)(Py_TYPE(obj));
        return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
    }
    if (obj == Py_None)
        obj = NULL;
    return __Pyx_PyMethod_New(func, obj, type);
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
#if PY_MAJOR_VERSION >= 3
    return PyUnicode_FromFormat("<cyfunction %U at %p>",
                                op->func_qualname, (void *)op);
#else
    return PyString_FromFormat("<cyfunction %s at %p>",
                               PyString_AsString(op->func_qualname), (void *)op);
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    Py_ssize_t size;
    switch (f->m_ml->ml_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)meth)(self, arg, kw);
    case METH_NOARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
            size = PyTuple_GET_SIZE(arg);
            if (likely(size == 0))
                return (*meth)(self, NULL);
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
            size = PyTuple_GET_SIZE(arg);
            if (likely(size == 1)) {
                PyObject *result, *arg0 = PySequence_ITEM(arg, 0);
                if (unlikely(!arg0)) return NULL;
                result = (*meth)(self, arg0);
                Py_DECREF(arg0);
                return result;
            }
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags in "
                        "__Pyx_CyFunction_Call. METH_OLDARGS is no "
                        "longer supported!");
        return NULL;
    }
    PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
                 f->m_ml->ml_name);
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
        argc = PyTuple_GET_SIZE(args);
        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);
            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;
}
static PyTypeObject __pyx_CyFunctionType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
    (destructor) __Pyx_CyFunction_dealloc,
    0,
    0,
    0,
#if PY_MAJOR_VERSION < 3
    0,
#else
    0,
#endif
    (reprfunc) __Pyx_CyFunction_repr,
    0,
    0,
    0,
    0,
    __Pyx_CyFunction_CallAsMethod,
    0,
    0,
    0,
    0,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
    0,
    (traverseproc) __Pyx_CyFunction_traverse,
    (inquiry) __Pyx_CyFunction_clear,
    0,
#if PY_VERSION_HEX < 0x030500A0
    offsetof(__pyx_CyFunctionObject, func_weakreflist),
#else
    offsetof(PyCFunctionObject, m_weakreflist),
#endif
    0,
    0,
    __pyx_CyFunction_methods,
    __pyx_CyFunction_members,
    __pyx_CyFunction_getsets,
    0,
    0,
    __Pyx_CyFunction_descr_get,
    0,
    offsetof(__pyx_CyFunctionObject, func_dict),
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if PY_VERSION_HEX >= 0x030400a1
    0,
#endif
};
static int __pyx_CyFunction_init(void) {
    __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
    if (__pyx_CyFunctionType == NULL) {
        return -1;
    }
    return 0;
}
static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults = PyObject_Malloc(size);
    if (!m->defaults)
        return PyErr_NoMemory();
    memset(m->defaults, 0, size);
    m->defaults_pyobjects = pyobjects;
    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);
}

/* None */
                static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}

/* PyIntBinop */
                #if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long x;
        long a = PyInt_AS_LONG(op1);
            x = (long)((unsigned long)a + b);
            if (likely((x^a) >= 0 || (x^b) >= 0))
                return PyInt_FromLong(x);
            return PyLong_Type.tp_as_number->nb_add(op1, op2);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a, x;
#ifdef HAVE_LONG_LONG
        const PY_LONG_LONG llb = intval;
        PY_LONG_LONG lla, llx;
#endif
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } 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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
            }
        }
                x = a + b;
            return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
        long_long:
                llx = lla + llb;
            return PyLong_FromLongLong(llx);
#endif
        
        
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = PyFloat_AS_DOUBLE(op1);
            double result;
            PyFPE_START_PROTECT("add", return NULL)
            result = ((double)a) + (double)b;
            PyFPE_END_PROTECT(result)
            return PyFloat_FromDouble(result);
    }
    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
}
#endif

/* 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) {
#if CYTHON_USE_TYPE_SLOTS
    PyMappingMethods* mp;
#if PY_MAJOR_VERSION < 3
    PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
    if (likely(ms && ms->sq_ass_slice)) {
        if (!has_cstart) {
            if (_py_start && (*_py_start != Py_None)) {
                cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
                if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstart = 0;
        }
        if (!has_cstop) {
            if (_py_stop && (*_py_stop != Py_None)) {
                cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
                if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstop = PY_SSIZE_T_MAX;
        }
        if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
            Py_ssize_t l = ms->sq_length(obj);
            if (likely(l >= 0)) {
                if (cstop < 0) {
                    cstop += l;
                    if (cstop < 0) cstop = 0;
                }
                if (cstart < 0) {
                    cstart += l;
                    if (cstart < 0) cstart = 0;
                }
            } else {
                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                    goto bad;
                PyErr_Clear();
            }
        }
        return ms->sq_ass_slice(obj, cstart, cstop, value);
    }
#endif
    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 = PyInt_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 = PyInt_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;
    }
    PyErr_Format(PyExc_TypeError,
        "'%.200s' object does not support slice %.10s",
        Py_TYPE(obj)->tp_name, value ? "assignment" : "deletion");
bad:
    return -1;
}

/* Import */
                static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *empty_list = 0;
    PyObject *module = 0;
    PyObject *global_dict = 0;
    PyObject *empty_dict = 0;
    PyObject *list;
    #if PY_VERSION_HEX < 0x03030000
    PyObject *py_import;
    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
    if (!py_import)
        goto bad;
    #endif
    if (from_list)
        list = from_list;
    else {
        empty_list = PyList_New(0);
        if (!empty_list)
            goto bad;
        list = empty_list;
    }
    global_dict = PyModule_GetDict(__pyx_m);
    if (!global_dict)
        goto bad;
    empty_dict = PyDict_New();
    if (!empty_dict)
        goto bad;
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if (strchr(__Pyx_MODULE_NAME, '.')) {
                #if PY_VERSION_HEX < 0x03030000
                PyObject *py_level = PyInt_FromLong(1);
                if (!py_level)
                    goto bad;
                module = PyObject_CallFunctionObjArgs(py_import,
                    name, global_dict, empty_dict, list, py_level, NULL);
                Py_DECREF(py_level);
                #else
                module = PyImport_ImportModuleLevelObject(
                    name, global_dict, empty_dict, list, 1);
                #endif
                if (!module) {
                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
                        goto bad;
                    PyErr_Clear();
                }
            }
            level = 0;
        }
        #endif
        if (!module) {
            #if PY_VERSION_HEX < 0x03030000
            PyObject *py_level = PyInt_FromLong(level);
            if (!py_level)
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, global_dict, empty_dict, list, py_level, NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, global_dict, empty_dict, list, level);
            #endif
        }
    }
bad:
    #if PY_VERSION_HEX < 0x03030000
    Py_XDECREF(py_import);
    #endif
    Py_XDECREF(empty_list);
    Py_XDECREF(empty_dict);
    return module;
}

/* GetAttr */
                static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_COMPILING_IN_CPYTHON
#if PY_MAJOR_VERSION >= 3
    if (likely(PyUnicode_Check(n)))
#else
    if (likely(PyString_Check(n)))
#endif
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* GetAttr3 */
                static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r = __Pyx_GetAttr(o, n);
    if (unlikely(!r)) {
        if (!PyErr_ExceptionMatches(PyExc_AttributeError))
            goto bad;
        PyErr_Clear();
        r = d;
        Py_INCREF(d);
    }
    return r;
bad:
    return NULL;
}

/* UnpackUnboundCMethod */
                static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
    PyObject *method;
    method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
    if (unlikely(!method))
        return -1;
    target->method = method;
#if CYTHON_COMPILING_IN_CPYTHON
    #if PY_MAJOR_VERSION >= 3
    if (likely(PyObject_TypeCheck(method, &PyMethodDescr_Type)))
    #endif
    {
        PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
        target->func = descr->d_method->ml_meth;
        target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST);
    }
#endif
    return 0;
}

/* CallUnboundCMethod0 */
                static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
    PyObject *args, *result = NULL;
    if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_ASSUME_SAFE_MACROS
    args = PyTuple_New(1);
    if (unlikely(!args)) goto bad;
    Py_INCREF(self);
    PyTuple_SET_ITEM(args, 0, self);
#else
    args = PyTuple_Pack(1, self);
    if (unlikely(!args)) goto bad;
#endif
    result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
    Py_DECREF(args);
bad:
    return result;
}

/* py_dict_items */
                static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) {
    if (PY_MAJOR_VERSION >= 3)
        return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d);
    else
        return PyDict_Items(d);
}

/* PyObjectCallMethod1 */
                static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
    PyObject *method, *result = NULL;
    method = __Pyx_PyObject_GetAttrStr(obj, method_name);
    if (unlikely(!method)) goto done;
#if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(method))) {
        PyObject *self = PyMethod_GET_SELF(method);
        if (likely(self)) {
            PyObject *args;
            PyObject *function = PyMethod_GET_FUNCTION(method);
            #if CYTHON_FAST_PYCALL
            if (PyFunction_Check(function)) {
                PyObject *args[2] = {self, arg};
                result = __Pyx_PyFunction_FastCall(function, args, 2);
                goto done;
            }
            #endif
            #if CYTHON_FAST_PYCCALL
            if (__Pyx_PyFastCFunction_Check(function)) {
                PyObject *args[2] = {self, arg};
                result = __Pyx_PyCFunction_FastCall(function, args, 2);
                goto done;
            }
            #endif
            args = PyTuple_New(2);
            if (unlikely(!args)) goto done;
            Py_INCREF(self);
            PyTuple_SET_ITEM(args, 0, self);
            Py_INCREF(arg);
            PyTuple_SET_ITEM(args, 1, arg);
            Py_INCREF(function);
            Py_DECREF(method); method = NULL;
            result = __Pyx_PyObject_Call(function, args, NULL);
            Py_DECREF(args);
            Py_DECREF(function);
            return result;
        }
    }
#endif
    result = __Pyx_PyObject_CallOneArg(method, arg);
done:
    Py_XDECREF(method);
    return result;
}

/* 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_n_s_append, x);
        if (unlikely(!retval))
            return -1;
        Py_DECREF(retval);
    }
    return 0;
}

/* None */
                static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}

/* ImportFrom */
                static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Format(PyExc_ImportError,
        #if PY_MAJOR_VERSION < 3
            "cannot import name %.230s", PyString_AS_STRING(name));
        #else
            "cannot import name %S", name);
        #endif
    }
    return value;
}

/* PyObjectCallMethod0 */
                static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
    PyObject *method, *result = NULL;
    method = __Pyx_PyObject_GetAttrStr(obj, method_name);
    if (unlikely(!method)) goto bad;
#if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(method))) {
        PyObject *self = PyMethod_GET_SELF(method);
        if (likely(self)) {
            PyObject *function = PyMethod_GET_FUNCTION(method);
            result = __Pyx_PyObject_CallOneArg(function, self);
            Py_DECREF(method);
            return result;
        }
    }
#endif
    result = __Pyx_PyObject_CallNoArg(method);
    Py_DECREF(method);
bad:
    return result;
}

/* RaiseNoneIterError */
                static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
}

/* UnpackTupleError */
                static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
    if (t == Py_None) {
      __Pyx_RaiseNoneNotIterableError();
    } else if (PyTuple_GET_SIZE(t) < index) {
      __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
    } else {
      __Pyx_RaiseTooManyValuesError(index);
    }
}

/* UnpackTuple2 */
                static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
                                             int is_tuple, int has_known_size, int decref_tuple) {
    Py_ssize_t index;
    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
    if (!is_tuple && unlikely(!PyTuple_Check(tuple))) {
        iternextfunc iternext;
        iter = PyObject_GetIter(tuple);
        if (unlikely(!iter)) goto bad;
        if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
        iternext = Py_TYPE(iter)->tp_iternext;
        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);
    } else {
        if (!has_known_size && unlikely(PyTuple_GET_SIZE(tuple) != 2)) {
            __Pyx_UnpackTupleError(tuple, 2);
            goto bad;
        }
#if CYTHON_COMPILING_IN_PYPY
        value1 = PySequence_ITEM(tuple, 0);
        if (unlikely(!value1)) goto bad;
        value2 = PySequence_ITEM(tuple, 1);
        if (unlikely(!value2)) goto bad;
#else
        value1 = PyTuple_GET_ITEM(tuple, 0);
        value2 = PyTuple_GET_ITEM(tuple, 1);
        Py_INCREF(value1);
        Py_INCREF(value2);
#endif
        if (decref_tuple) { Py_DECREF(tuple); }
    }
    *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 */
                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 !CYTHON_COMPILING_IN_PYPY
    if (is_dict) {
        *p_orig_length = PyDict_Size(iterable);
        Py_INCREF(iterable);
        return iterable;
    }
#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);
}
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_COMPILING_IN_PYPY
    if (source_is_dict) {
        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);
            PyTuple_SET_ITEM(tuple, 0, key);
            PyTuple_SET_ITEM(tuple, 1, value);
            *pitem = tuple;
        } else {
            if (pkey) {
                Py_INCREF(key);
                *pkey = key;
            }
            if (pvalue) {
                Py_INCREF(value);
                *pvalue = value;
            }
        }
        return 1;
    } else if (PyTuple_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyTuple_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } else if (PyList_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyList_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } 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;
}

/* MergeKeywords */
                static int __Pyx_MergeKeywords(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_n_s_items, &orig_length, &source_is_dict);
    if (unlikely(!iter)) {
        PyObject *args;
        if (!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)) {
                iter = __Pyx_dict_iterator(fallback, 1, __pyx_n_s_items, &orig_length, &source_is_dict);
                Py_DECREF(fallback);
            }
        }
        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 (unlikely(PyDict_Contains(kwdict, key))) {
            __Pyx_RaiseDoubleKeywordsError("function", key);
            result = -1;
        } else {
            result = PyDict_SetItem(kwdict, key, value);
        }
        Py_DECREF(key);
        Py_DECREF(value);
        if (unlikely(result < 0)) goto bad;
    }
    Py_XDECREF(iter);
    return 0;
bad:
    Py_XDECREF(iter);
    return -1;
}

/* dict_getitem_default */
                static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) {
    PyObject* value;
#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
    value = PyDict_GetItemWithError(d, key);
    if (unlikely(!value)) {
        if (unlikely(PyErr_Occurred()))
            return NULL;
        value = default_value;
    }
    Py_INCREF(value);
#else
    if (PyString_CheckExact(key) || PyUnicode_CheckExact(key) || PyInt_CheckExact(key)) {
        value = PyDict_GetItem(d, key);
        if (unlikely(!value)) {
            value = default_value;
        }
        Py_INCREF(value);
    } else {
        if (default_value == Py_None)
            default_value = NULL;
        value = PyObject_CallMethodObjArgs(
            d, __pyx_n_s_get, key, default_value, NULL);
    }
#endif
    return value;
}

/* pop */
                static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L) {
    if (Py_TYPE(L) == &PySet_Type) {
        return PySet_Pop(L);
    }
    return __Pyx_PyObject_CallMethod0(L, __pyx_n_s_pop);
}
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L) {
    if (likely(PyList_GET_SIZE(L) > (((PyListObject*)L)->allocated >> 1))) {
        Py_SIZE(L) -= 1;
        return PyList_GET_ITEM(L, PyList_GET_SIZE(L));
    }
    return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_pop, L);
}
#endif

/* 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;
    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;
    *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

/* PyIntBinop */
                #if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long x;
        long a = PyInt_AS_LONG(op1);
            x = (long)((unsigned long)a - b);
            if (likely((x^a) >= 0 || (x^~b) >= 0))
                return PyInt_FromLong(x);
            return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a, x;
#ifdef HAVE_LONG_LONG
        const PY_LONG_LONG llb = intval;
        PY_LONG_LONG lla, llx;
#endif
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } 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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
            }
        }
                x = a - b;
            return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
        long_long:
                llx = lla - llb;
            return PyLong_FromLongLong(llx);
#endif
        
        
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = PyFloat_AS_DOUBLE(op1);
            double result;
            PyFPE_START_PROTECT("subtract", return NULL)
            result = ((double)a) - (double)b;
            PyFPE_END_PROTECT(result)
            return PyFloat_FromDouble(result);
    }
    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
}
#endif

/* PyIntBinop */
                #if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {
    if (op1 == op2) {
        Py_RETURN_TRUE;
    }
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long a = PyInt_AS_LONG(op1);
        if (a == b) {
            Py_RETURN_TRUE;
        } else {
            Py_RETURN_FALSE;
        }
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a;
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } 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]));
                        break;
                    }
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        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]));
                        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]));
                        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]));
                        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]));
                        break;
                    }
                #if PyLong_SHIFT < 30 && PyLong_SHIFT != 15
                default: return PyLong_Type.tp_richcompare(op1, op2, Py_EQ);
                #else
                default: Py_RETURN_FALSE;
                #endif
            }
        }
            if (a == b) {
                Py_RETURN_TRUE;
            } else {
                Py_RETURN_FALSE;
            }
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = PyFloat_AS_DOUBLE(op1);
            if ((double)a == (double)b) {
                Py_RETURN_TRUE;
            } else {
                Py_RETURN_FALSE;
            }
    }
    return PyObject_RichCompare(op1, op2, Py_EQ);
}
#endif

/* 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 void __Pyx_copy_object_array(PyObject** 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_PyList_GetSlice(
            PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
    PyObject* dest;
    Py_ssize_t length = PyList_GET_SIZE(src);
    __Pyx_crop_slice(&start, &stop, &length);
    if (unlikely(length <= 0))
        return PyList_New(0);
    dest = PyList_New(length);
    if (unlikely(!dest))
        return NULL;
    __Pyx_copy_object_array(
        ((PyListObject*)src)->ob_item + start,
        ((PyListObject*)dest)->ob_item,
        length);
    return dest;
}
static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(
            PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
    PyObject* dest;
    Py_ssize_t length = PyTuple_GET_SIZE(src);
    __Pyx_crop_slice(&start, &stop, &length);
    if (unlikely(length <= 0))
        return PyTuple_New(0);
    dest = PyTuple_New(length);
    if (unlikely(!dest))
        return NULL;
    __Pyx_copy_object_array(
        ((PyTupleObject*)src)->ob_item + start,
        ((PyTupleObject*)dest)->ob_item,
        length);
    return dest;
}
#endif

/* 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_n_s_pop, py_ix);
}
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
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(0 <= cix && cix < size)) {
            PyObject* v = PyList_GET_ITEM(L, cix);
            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, PyInt_FromSsize_t(ix));
    } else {
        return __Pyx__PyObject_PopIndex(L, py_ix);
    }
}
#endif

/* SetVTable */
                static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
#if PY_VERSION_HEX >= 0x02070000
    PyObject *ob = PyCapsule_New(vtable, 0, 0);
#else
    PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
#endif
    if (!ob)
        goto bad;
    if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0)
        goto bad;
    Py_DECREF(ob);
    return 0;
bad:
    Py_XDECREF(ob);
    return -1;
}

/* CalculateMetaclass */
                static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
        tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
        if (tmptype == &PyClass_Type)
            continue;
#endif
        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) {
#if PY_MAJOR_VERSION < 3
        metaclass = &PyClass_Type;
#else
        metaclass = &PyType_Type;
#endif
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

/* ClassMethod */
                static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {
#if CYTHON_COMPILING_IN_PYPY
    if (PyObject_TypeCheck(method, &PyWrapperDescr_Type)) {
        return PyClassMethod_New(method);
    }
#else
#if CYTHON_COMPILING_IN_PYSTON
    if (PyMethodDescr_Check(method)) {
#else
    static PyTypeObject *methoddescr_type = NULL;
    if (methoddescr_type == NULL) {
       PyObject *meth = PyObject_GetAttrString((PyObject*)&PyList_Type, "append");
       if (!meth) return NULL;
       methoddescr_type = Py_TYPE(meth);
       Py_DECREF(meth);
    }
    if (PyObject_TypeCheck(method, methoddescr_type)) {
#endif
        PyMethodDescrObject *descr = (PyMethodDescrObject *)method;
        #if PY_VERSION_HEX < 0x03020000
        PyTypeObject *d_type = descr->d_type;
        #else
        PyTypeObject *d_type = descr->d_common.d_type;
        #endif
        return PyDescr_NewClassMethod(d_type, descr->d_method);
    }
#endif
    else if (PyMethod_Check(method)) {
        return PyClassMethod_New(PyMethod_GET_FUNCTION(method));
    }
    else if (PyCFunction_Check(method)) {
        return PyClassMethod_New(method);
    }
#ifdef __Pyx_CyFunction_USED
    else if (PyObject_TypeCheck(method, __pyx_CyFunctionType)) {
        return PyClassMethod_New(method);
    }
#endif
    PyErr_SetString(PyExc_TypeError,
                   "Class-level classmethod() can only be called on "
                   "a method_descriptor or instance method.");
    return NULL;
}

/* 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_GetAttrStr(metaclass, __pyx_n_s_prepare);
        if (prep) {
            PyObject *pargs = PyTuple_Pack(2, name, bases);
            if (unlikely(!pargs)) {
                Py_DECREF(prep);
                return NULL;
            }
            ns = PyObject_Call(prep, pargs, mkw);
            Py_DECREF(prep);
            Py_DECREF(pargs);
        } else {
            if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
                return NULL;
            PyErr_Clear();
            ns = PyDict_New();
        }
    } else {
        ns = PyDict_New();
    }
    if (unlikely(!ns))
        return NULL;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_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, *margs;
    PyObject *owned_metaclass = NULL;
    if (allow_py2_metaclass) {
        owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_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;
    }
    margs = PyTuple_Pack(3, name, bases, dict);
    if (unlikely(!margs)) {
        result = NULL;
    } else {
        result = PyObject_Call(metaclass, margs, mkw);
        Py_DECREF(margs);
    }
    Py_XDECREF(owned_metaclass);
    return result;
}

/* decode_c_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;
    length = stop - start;
    if (unlikely(length <= 0))
        return PyUnicode_FromUnicode(NULL, 0);
    cstring += start;
    if (decode_func) {
        return decode_func(cstring, length, errors);
    } else {
        return PyUnicode_Decode(cstring, length, encoding, errors);
    }
}

/* CodeObjectCache */
                  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 PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_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(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}

/* AddTraceback */
                  #include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    #if PY_MAJOR_VERSION < 3
    py_srcfile = PyString_FromString(filename);
    #else
    py_srcfile = PyUnicode_FromString(filename);
    #endif
    if (!py_srcfile) goto bad;
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        #else
        py_funcname = PyUnicode_FromString(funcname);
        #endif
    }
    if (!py_funcname) goto bad;
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    Py_DECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_srcfile);
    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;
    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
    if (!py_code) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        PyThreadState_GET(), /*PyThreadState *tstate,*/
        py_code,             /*PyCodeObject *code,*/
        __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);
}

/* CIntToPy */
                  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
    const long neg_one = (long) -1, const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } 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 PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
    }
}

/* 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;\
    }

/* CIntFromPy */
                  static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(size_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (size_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0])
                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
            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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(size_t,  digit, +digits[0])
                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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            size_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (size_t) -1;
        }
    } else {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyInt_As_size_t(tmp);
        Py_DECREF(tmp);
        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;
}

/* CIntFromPy */
                  static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
    const long neg_one = (long) -1, const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(long) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (long) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
                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
            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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
                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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            long val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (long) -1;
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyInt_As_long(tmp);
        Py_DECREF(tmp);
        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;
}

/* CIntFromPy */
                  static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
    const int neg_one = (int) -1, const_zero = (int) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
                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
            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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
                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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int) -1;
        }
    } else {
        int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyInt_As_int(tmp);
        Py_DECREF(tmp);
        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;
}

/* CoroutineBase */
                  #include <structmember.h>
#include <frameobject.h>
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
static PyObject *__Pyx_Coroutine_Close(PyObject *self);
static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
#if 1 || PY_VERSION_HEX < 0x030300B0
static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue) {
    PyObject *et, *ev, *tb;
    PyObject *value = NULL;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __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;
        }
#if PY_VERSION_HEX >= 0x030300A0
        else if (Py_TYPE(ev) == (PyTypeObject*)PyExc_StopIteration) {
            value = ((PyStopIterationObject *)ev)->value;
            Py_INCREF(value);
            Py_DECREF(ev);
        }
#endif
        else if (unlikely(PyTuple_Check(ev))) {
            if (PyTuple_GET_SIZE(ev) >= 1) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                value = PyTuple_GET_ITEM(ev, 0);
                Py_INCREF(value);
#else
                value = PySequence_ITEM(ev, 0);
#endif
            } else {
                Py_INCREF(Py_None);
                value = Py_None;
            }
            Py_DECREF(ev);
        }
        else if (!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
            value = ev;
        }
        if (likely(value)) {
            Py_XDECREF(tb);
            Py_DECREF(et);
            *pvalue = value;
            return 0;
        }
    } else if (!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 PY_VERSION_HEX >= 0x030300A0
    value = ((PyStopIterationObject *)ev)->value;
    Py_INCREF(value);
    Py_DECREF(ev);
#else
    {
        PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args);
        Py_DECREF(ev);
        if (likely(args)) {
            value = PySequence_GetItem(args, 0);
            Py_DECREF(args);
        }
        if (unlikely(!value)) {
            __Pyx_ErrRestore(NULL, NULL, NULL);
            Py_INCREF(Py_None);
            value = Py_None;
        }
    }
#endif
    *pvalue = value;
    return 0;
}
#endif
static CYTHON_INLINE
void __Pyx_Coroutine_ExceptionClear(__pyx_CoroutineObject *self) {
    PyObject *exc_type = self->exc_type;
    PyObject *exc_value = self->exc_value;
    PyObject *exc_traceback = self->exc_traceback;
    self->exc_type = NULL;
    self->exc_value = NULL;
    self->exc_traceback = NULL;
    Py_XDECREF(exc_type);
    Py_XDECREF(exc_value);
    Py_XDECREF(exc_traceback);
}
static CYTHON_INLINE
int __Pyx_Coroutine_CheckRunning(__pyx_CoroutineObject *gen) {
    if (unlikely(gen->is_running)) {
        PyErr_SetString(PyExc_ValueError,
                        "generator already executing");
        return 1;
    }
    return 0;
}
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value) {
    PyObject *retval;
    __Pyx_PyThreadState_declare
    assert(!self->is_running);
    if (unlikely(self->resume_label == 0)) {
        if (unlikely(value && value != Py_None)) {
            PyErr_SetString(PyExc_TypeError,
                            "can't send non-None value to a "
                            "just-started generator");
            return NULL;
        }
    }
    if (unlikely(self->resume_label == -1)) {
        PyErr_SetNone(PyExc_StopIteration);
        return NULL;
    }
    __Pyx_PyThreadState_assign
    if (value) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
#else
        if (self->exc_traceback) {
            PyTracebackObject *tb = (PyTracebackObject *) self->exc_traceback;
            PyFrameObject *f = tb->tb_frame;
            Py_XINCREF(__pyx_tstate->frame);
            assert(f->f_back == NULL);
            f->f_back = __pyx_tstate->frame;
        }
#endif
        __Pyx_ExceptionSwap(&self->exc_type, &self->exc_value,
                            &self->exc_traceback);
    } else {
        __Pyx_Coroutine_ExceptionClear(self);
    }
    self->is_running = 1;
    retval = self->body((PyObject *) self, value);
    self->is_running = 0;
    if (retval) {
        __Pyx_ExceptionSwap(&self->exc_type, &self->exc_value,
                            &self->exc_traceback);
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
#else
        if (self->exc_traceback) {
            PyTracebackObject *tb = (PyTracebackObject *) self->exc_traceback;
            PyFrameObject *f = tb->tb_frame;
            Py_CLEAR(f->f_back);
        }
#endif
    } else {
        __Pyx_Coroutine_ExceptionClear(self);
    }
    return retval;
}
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_MethodReturn(PyObject *retval) {
    if (unlikely(!retval && !PyErr_Occurred())) {
        PyErr_SetNone(PyExc_StopIteration);
    }
    return retval;
}
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {
    PyObject *ret;
    PyObject *val = NULL;
    __Pyx_Coroutine_Undelegate(gen);
    __Pyx_PyGen_FetchStopIterationValue(&val);
    ret = __Pyx_Coroutine_SendEx(gen, val);
    Py_XDECREF(val);
    return ret;
}
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
    PyObject *retval;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *yf = gen->yieldfrom;
    if (unlikely(__Pyx_Coroutine_CheckRunning(gen)))
        return NULL;
    if (yf) {
        PyObject *ret;
        gen->is_running = 1;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        {
            if (value == Py_None)
                ret = Py_TYPE(yf)->tp_iternext(yf);
            else
                ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
        }
        gen->is_running = 0;
        if (likely(ret)) {
            return ret;
        }
        retval = __Pyx_Coroutine_FinishDelegation(gen);
    } else {
        retval = __Pyx_Coroutine_SendEx(gen, value);
    }
    return __Pyx_Coroutine_MethodReturn(retval);
}
static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
    PyObject *retval = NULL;
    int err = 0;
    #ifdef __Pyx_Generator_USED
    if (__Pyx_Generator_CheckExact(yf)) {
        retval = __Pyx_Coroutine_Close(yf);
        if (!retval)
            return -1;
    } else
    #endif
    #ifdef __Pyx_Coroutine_USED
    if (__Pyx_Coroutine_CheckExact(yf)) {
        retval = __Pyx_Coroutine_Close(yf);
        if (!retval)
            return -1;
    } else
    #endif
    {
        PyObject *meth;
        gen->is_running = 1;
        meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_close);
        if (unlikely(!meth)) {
            if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
                PyErr_WriteUnraisable(yf);
            }
            PyErr_Clear();
        } else {
            retval = PyObject_CallFunction(meth, NULL);
            Py_DECREF(meth);
            if (!retval)
                err = -1;
        }
        gen->is_running = 0;
    }
    Py_XDECREF(retval);
    return err;
}
static PyObject *__Pyx_Generator_Next(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *yf = gen->yieldfrom;
    if (unlikely(__Pyx_Coroutine_CheckRunning(gen)))
        return NULL;
    if (yf) {
        PyObject *ret;
        gen->is_running = 1;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Generator_Next(yf);
        } else
        #endif
            ret = Py_TYPE(yf)->tp_iternext(yf);
        gen->is_running = 0;
        if (likely(ret)) {
            return ret;
        }
        return __Pyx_Coroutine_FinishDelegation(gen);
    }
    return __Pyx_Coroutine_SendEx(gen, Py_None);
}
static PyObject *__Pyx_Coroutine_Close(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject *retval, *raised_exception;
    PyObject *yf = gen->yieldfrom;
    int err = 0;
    if (unlikely(__Pyx_Coroutine_CheckRunning(gen)))
        return NULL;
    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);
    retval = __Pyx_Coroutine_SendEx(gen, NULL);
    if (retval) {
        Py_DECREF(retval);
        PyErr_SetString(PyExc_RuntimeError,
                        "generator ignored GeneratorExit");
        return NULL;
    }
    raised_exception = PyErr_Occurred();
    if (!raised_exception
        || raised_exception == PyExc_StopIteration
        || raised_exception == PyExc_GeneratorExit
        || PyErr_GivenExceptionMatches(raised_exception, PyExc_GeneratorExit)
        || PyErr_GivenExceptionMatches(raised_exception, PyExc_StopIteration))
    {
        if (raised_exception) PyErr_Clear();
        Py_INCREF(Py_None);
        return Py_None;
    }
    return NULL;
}
static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject *typ;
    PyObject *tb = NULL;
    PyObject *val = NULL;
    PyObject *yf = gen->yieldfrom;
    if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))
        return NULL;
    if (unlikely(__Pyx_Coroutine_CheckRunning(gen)))
        return NULL;
    if (yf) {
        PyObject *ret;
        Py_INCREF(yf);
        if (PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit)) {
            int err = __Pyx_Coroutine_CloseIter(gen, yf);
            Py_DECREF(yf);
            __Pyx_Coroutine_Undelegate(gen);
            if (err < 0)
                return __Pyx_Coroutine_MethodReturn(__Pyx_Coroutine_SendEx(gen, NULL));
            goto throw_here;
        }
        gen->is_running = 1;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Throw(yf, args);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Throw(yf, args);
        } else
        #endif
        {
            PyObject *meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_throw);
            if (unlikely(!meth)) {
                Py_DECREF(yf);
                if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
                    gen->is_running = 0;
                    return NULL;
                }
                PyErr_Clear();
                __Pyx_Coroutine_Undelegate(gen);
                gen->is_running = 0;
                goto throw_here;
            }
            ret = PyObject_CallObject(meth, args);
            Py_DECREF(meth);
        }
        gen->is_running = 0;
        Py_DECREF(yf);
        if (!ret) {
            ret = __Pyx_Coroutine_FinishDelegation(gen);
        }
        return __Pyx_Coroutine_MethodReturn(ret);
    }
throw_here:
    __Pyx_Raise(typ, val, tb, NULL);
    return __Pyx_Coroutine_MethodReturn(__Pyx_Coroutine_SendEx(gen, NULL));
}
static int __Pyx_Coroutine_traverse(PyObject *self, visitproc visit, void *arg) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    Py_VISIT(gen->closure);
    Py_VISIT(gen->classobj);
    Py_VISIT(gen->yieldfrom);
    Py_VISIT(gen->exc_type);
    Py_VISIT(gen->exc_value);
    Py_VISIT(gen->exc_traceback);
    return 0;
}
static int __Pyx_Coroutine_clear(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    Py_CLEAR(gen->closure);
    Py_CLEAR(gen->classobj);
    Py_CLEAR(gen->yieldfrom);
    Py_CLEAR(gen->exc_type);
    Py_CLEAR(gen->exc_value);
    Py_CLEAR(gen->exc_traceback);
    Py_CLEAR(gen->gi_name);
    Py_CLEAR(gen->gi_qualname);
    return 0;
}
static void __Pyx_Coroutine_dealloc(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject_GC_UnTrack(gen);
    if (gen->gi_weakreflist != NULL)
        PyObject_ClearWeakRefs(self);
    if (gen->resume_label > 0) {
        PyObject_GC_Track(self);
#if PY_VERSION_HEX >= 0x030400a1
        if (PyObject_CallFinalizerFromDealloc(self))
#else
        Py_TYPE(gen)->tp_del(self);
        if (self->ob_refcnt > 0)
#endif
        {
            return;
        }
        PyObject_GC_UnTrack(self);
    }
    __Pyx_Coroutine_clear(self);
    PyObject_GC_Del(gen);
}
static void __Pyx_Coroutine_del(PyObject *self) {
    PyObject *res;
    PyObject *error_type, *error_value, *error_traceback;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    __Pyx_PyThreadState_declare
    if (gen->resume_label <= 0)
        return ;
#if PY_VERSION_HEX < 0x030400a1
    assert(self->ob_refcnt == 0);
    self->ob_refcnt = 1;
#endif
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
    res = __Pyx_Coroutine_Close(self);
    if (res == NULL)
        PyErr_WriteUnraisable(self);
    else
        Py_DECREF(res);
    __Pyx_ErrRestore(error_type, error_value, error_traceback);
#if PY_VERSION_HEX < 0x030400a1
    assert(self->ob_refcnt > 0);
    if (--self->ob_refcnt == 0) {
        return;
    }
    {
        Py_ssize_t refcnt = self->ob_refcnt;
        _Py_NewReference(self);
        self->ob_refcnt = refcnt;
    }
#if CYTHON_COMPILING_IN_CPYTHON
    assert(PyType_IS_GC(self->ob_type) &&
           _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
    _Py_DEC_REFTOTAL;
#endif
#ifdef COUNT_ALLOCS
    --Py_TYPE(self)->tp_frees;
    --Py_TYPE(self)->tp_allocs;
#endif
#endif
}
static PyObject *
__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self)
{
    PyObject *name = self->gi_name;
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
#else
    if (unlikely(value == NULL || !PyString_Check(value))) {
#endif
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    tmp = self->gi_name;
    Py_INCREF(value);
    self->gi_name = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self)
{
    PyObject *name = self->gi_qualname;
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
#else
    if (unlikely(value == NULL || !PyString_Check(value))) {
#endif
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    tmp = self->gi_qualname;
    Py_INCREF(value);
    self->gi_qualname = value;
    Py_XDECREF(tmp);
    return 0;
}
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
            PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name) {
    __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
    if (gen == NULL)
        return NULL;
    gen->body = body;
    gen->closure = closure;
    Py_XINCREF(closure);
    gen->is_running = 0;
    gen->resume_label = 0;
    gen->classobj = NULL;
    gen->yieldfrom = NULL;
    gen->exc_type = NULL;
    gen->exc_value = NULL;
    gen->exc_traceback = NULL;
    gen->gi_weakreflist = NULL;
    Py_XINCREF(qualname);
    gen->gi_qualname = qualname;
    Py_XINCREF(name);
    gen->gi_name = name;
    Py_XINCREF(module_name);
    gen->gi_modulename = module_name;
    PyObject_GC_Track(gen);
    return gen;
}

/* PatchModuleWithCoroutine */
                      static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
    int result;
    PyObject *globals, *result_obj;
    globals = PyDict_New();  if (unlikely(!globals)) goto ignore;
    result = PyDict_SetItemString(globals, "_cython_coroutine_type",
    #ifdef __Pyx_Coroutine_USED
        (PyObject*)__pyx_CoroutineType);
    #else
        Py_None);
    #endif
    if (unlikely(result < 0)) goto ignore;
    result = PyDict_SetItemString(globals, "_cython_generator_type",
    #ifdef __Pyx_Generator_USED
        (PyObject*)__pyx_GeneratorType);
    #else
        Py_None);
    #endif
    if (unlikely(result < 0)) goto ignore;
    if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore;
    if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore;
    result_obj = PyRun_String(py_code, Py_file_input, globals, globals);
    if (unlikely(!result_obj)) goto ignore;
    Py_DECREF(result_obj);
    Py_DECREF(globals);
    return module;
ignore:
    Py_XDECREF(globals);
    PyErr_WriteUnraisable(module);
    if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) {
        Py_DECREF(module);
        module = NULL;
    }
#else
    py_code++;
#endif
    return module;
}

/* PatchGeneratorABC */
                      #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
static PyObject* __Pyx_patch_abc_module(PyObject *module);
static PyObject* __Pyx_patch_abc_module(PyObject *module) {
    module = __Pyx_Coroutine_patch_module(
        module, ""
"if _cython_generator_type is not None:\n"
"    try: Generator = _module.Generator\n"
"    except AttributeError: pass\n"
"    else: Generator.register(_cython_generator_type)\n"
"if _cython_coroutine_type is not None:\n"
"    try: Coroutine = _module.Coroutine\n"
"    except AttributeError: pass\n"
"    else: Coroutine.register(_cython_coroutine_type)\n"
    );
    return module;
}
#endif
static int __Pyx_patch_abc(void) {
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
    static int abc_patched = 0;
    if (!abc_patched) {
        PyObject *module;
        module = PyImport_ImportModule((PY_VERSION_HEX >= 0x03030000) ? "collections.abc" : "collections");
        if (!module) {
            PyErr_WriteUnraisable(NULL);
            if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning,
                    ((PY_VERSION_HEX >= 0x03030000) ?
                        "Cython module failed to register with collections.abc module" :
                        "Cython module failed to register with collections module"), 1) < 0)) {
                return -1;
            }
        } else {
            module = __Pyx_patch_abc_module(module);
            abc_patched = 1;
            if (unlikely(!module))
                return -1;
            Py_DECREF(module);
        }
        module = PyImport_ImportModule("backports_abc");
        if (module) {
            module = __Pyx_patch_abc_module(module);
            Py_XDECREF(module);
        }
        if (!module) {
            PyErr_Clear();
        }
    }
#else
    if (0) __Pyx_Coroutine_patch_module(NULL, NULL);
#endif
    return 0;
}

/* Generator */
                      static PyMethodDef __pyx_Generator_methods[] = {
    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
     (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
     (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")},
    {"close", (PyCFunction) __Pyx_Coroutine_Close, METH_NOARGS,
     (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
    {0, 0, 0, 0}
};
static PyMemberDef __pyx_Generator_memberlist[] = {
    {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL},
    {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
     (char*) PyDoc_STR("object being iterated by 'yield from', or None")},
    {0, 0, 0, 0, 0}
};
static PyGetSetDef __pyx_Generator_getsets[] = {
    {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
     (char*) PyDoc_STR("name of the generator"), 0},
    {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
     (char*) PyDoc_STR("qualified name of the generator"), 0},
    {0, 0, 0, 0, 0}
};
static PyTypeObject __pyx_GeneratorType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    "generator",
    sizeof(__pyx_CoroutineObject),
    0,
    (destructor) __Pyx_Coroutine_dealloc,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
    0,
    (traverseproc) __Pyx_Coroutine_traverse,
    0,
    0,
    offsetof(__pyx_CoroutineObject, gi_weakreflist),
    0,
    (iternextfunc) __Pyx_Generator_Next,
    __pyx_Generator_methods,
    __pyx_Generator_memberlist,
    __pyx_Generator_getsets,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if PY_VERSION_HEX >= 0x030400a1
    0,
#else
    __Pyx_Coroutine_del,
#endif
    0,
#if PY_VERSION_HEX >= 0x030400a1
    __Pyx_Coroutine_del,
#endif
};
static int __pyx_Generator_init(void) {
    __pyx_GeneratorType_type.tp_getattro = PyObject_GenericGetAttr;
    __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
    __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
    if (unlikely(!__pyx_GeneratorType)) {
        return -1;
    }
    return 0;
}

/* CheckBinaryVersion */
                      static int __Pyx_check_binary_version(void) {
    char ctversion[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        return PyErr_WarnEx(NULL, message, 1);
    }
    return 0;
}

/* InitStrings */
                      static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        #else
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        ++t;
    }
    return 0;
}

static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
}
static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if CYTHON_COMPILING_IN_CPYTHON && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
#if PY_VERSION_HEX < 0x03030000
        char* defenc_c;
        PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
        if (!defenc) return NULL;
        defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        {
            char* end = defenc_c + PyBytes_GET_SIZE(defenc);
            char* c;
            for (c = defenc_c; c < end; c++) {
                if ((unsigned char) (*c) >= 128) {
                    PyUnicode_AsASCIIString(o);
                    return NULL;
                }
            }
        }
#endif
        *length = PyBytes_GET_SIZE(defenc);
        return defenc_c;
#else
        if (__Pyx_PyUnicode_READY(o) == -1) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        if (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
    } else
#endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    if (PyByteArray_Check(o)) {
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
    } else
#endif
    {
        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 PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
  if (PyInt_Check(x) || PyLong_Check(x))
#else
  if (PyLong_Check(x))
#endif
    return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  #if PY_MAJOR_VERSION < 3
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = PyNumber_Long(x);
  }
  #else
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Long(x);
  }
  #endif
#else
  res = PyNumber_Int(x);
#endif
  if (res) {
#if PY_MAJOR_VERSION < 3
    if (!PyInt_Check(res) && !PyLong_Check(res)) {
#else
    if (!PyLong_Check(res)) {
#endif
      PyErr_Format(PyExc_TypeError,
                   "__%.4s__ returned non-%.4s (type %.200s)",
                   name, name, Py_TYPE(res)->tp_name);
      Py_DECREF(res);
      return NULL;
    }
  }
  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 PY_MAJOR_VERSION < 3
  if (likely(PyInt_CheckExact(b))) {
    if (sizeof(Py_ssize_t) >= sizeof(long))
        return PyInt_AS_LONG(b);
    else
        return PyInt_AsSsize_t(x);
  }
#endif
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    const digit* digits = ((PyLongObject*)b)->ob_digit;
    const Py_ssize_t size = Py_SIZE(b);
    if (likely(__Pyx_sst_abs(size) <= 1)) {
        ival = likely(size) ? digits[0] : 0;
        if (size == -1) ival = -ival;
        return ival;
    } else {
      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 = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
    return PyInt_FromSize_t(ival);
}


#endif /* Py_PYTHON_H */
