1 /* Generated by Cython 0.29.24 */
2 
3 /* BEGIN: Cython Metadata
4 {
5     "distutils": {
6         "depends": [
7             "/opengrok/src/dports/lang/cython/Cython-0.29.24/Cython/Compiler/Scanning.pxd"
8         ],
9         "name": "Cython.Compiler.Scanning",
10         "sources": [
11             "/opengrok/src/dports/lang/cython/Cython-0.29.24/Cython/Compiler/Scanning.py"
12         ]
13     },
14     "module_name": "Cython.Compiler.Scanning"
15 }
16 END: Cython Metadata */
17 
18 #ifndef PY_SSIZE_T_CLEAN
19 #define PY_SSIZE_T_CLEAN
20 #endif /* PY_SSIZE_T_CLEAN */
21 #include "Python.h"
22 #ifndef Py_PYTHON_H
23     #error Python headers needed to compile C extensions, please install development version of Python.
24 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
25     #error Cython requires Python 2.6+ or Python 3.3+.
26 #else
27 #define CYTHON_ABI "0_29_24"
28 #define CYTHON_HEX_VERSION 0x001D18F0
29 #define CYTHON_FUTURE_DIVISION 1
30 #include <stddef.h>
31 #ifndef offsetof
32   #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
33 #endif
34 #if !defined(WIN32) && !defined(MS_WINDOWS)
35   #ifndef __stdcall
36     #define __stdcall
37   #endif
38   #ifndef __cdecl
39     #define __cdecl
40   #endif
41   #ifndef __fastcall
42     #define __fastcall
43   #endif
44 #endif
45 #ifndef DL_IMPORT
46   #define DL_IMPORT(t) t
47 #endif
48 #ifndef DL_EXPORT
49   #define DL_EXPORT(t) t
50 #endif
51 #define __PYX_COMMA ,
52 #ifndef HAVE_LONG_LONG
53   #if PY_VERSION_HEX >= 0x02070000
54     #define HAVE_LONG_LONG
55   #endif
56 #endif
57 #ifndef PY_LONG_LONG
58   #define PY_LONG_LONG LONG_LONG
59 #endif
60 #ifndef Py_HUGE_VAL
61   #define Py_HUGE_VAL HUGE_VAL
62 #endif
63 #ifdef PYPY_VERSION
64   #define CYTHON_COMPILING_IN_PYPY 1
65   #define CYTHON_COMPILING_IN_PYSTON 0
66   #define CYTHON_COMPILING_IN_CPYTHON 0
67   #undef CYTHON_USE_TYPE_SLOTS
68   #define CYTHON_USE_TYPE_SLOTS 0
69   #undef CYTHON_USE_PYTYPE_LOOKUP
70   #define CYTHON_USE_PYTYPE_LOOKUP 0
71   #if PY_VERSION_HEX < 0x03050000
72     #undef CYTHON_USE_ASYNC_SLOTS
73     #define CYTHON_USE_ASYNC_SLOTS 0
74   #elif !defined(CYTHON_USE_ASYNC_SLOTS)
75     #define CYTHON_USE_ASYNC_SLOTS 1
76   #endif
77   #undef CYTHON_USE_PYLIST_INTERNALS
78   #define CYTHON_USE_PYLIST_INTERNALS 0
79   #undef CYTHON_USE_UNICODE_INTERNALS
80   #define CYTHON_USE_UNICODE_INTERNALS 0
81   #undef CYTHON_USE_UNICODE_WRITER
82   #define CYTHON_USE_UNICODE_WRITER 0
83   #undef CYTHON_USE_PYLONG_INTERNALS
84   #define CYTHON_USE_PYLONG_INTERNALS 0
85   #undef CYTHON_AVOID_BORROWED_REFS
86   #define CYTHON_AVOID_BORROWED_REFS 1
87   #undef CYTHON_ASSUME_SAFE_MACROS
88   #define CYTHON_ASSUME_SAFE_MACROS 0
89   #undef CYTHON_UNPACK_METHODS
90   #define CYTHON_UNPACK_METHODS 0
91   #undef CYTHON_FAST_THREAD_STATE
92   #define CYTHON_FAST_THREAD_STATE 0
93   #undef CYTHON_FAST_PYCALL
94   #define CYTHON_FAST_PYCALL 0
95   #undef CYTHON_PEP489_MULTI_PHASE_INIT
96   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
97   #undef CYTHON_USE_TP_FINALIZE
98   #define CYTHON_USE_TP_FINALIZE 0
99   #undef CYTHON_USE_DICT_VERSIONS
100   #define CYTHON_USE_DICT_VERSIONS 0
101   #undef CYTHON_USE_EXC_INFO_STACK
102   #define CYTHON_USE_EXC_INFO_STACK 0
103 #elif defined(PYSTON_VERSION)
104   #define CYTHON_COMPILING_IN_PYPY 0
105   #define CYTHON_COMPILING_IN_PYSTON 1
106   #define CYTHON_COMPILING_IN_CPYTHON 0
107   #ifndef CYTHON_USE_TYPE_SLOTS
108     #define CYTHON_USE_TYPE_SLOTS 1
109   #endif
110   #undef CYTHON_USE_PYTYPE_LOOKUP
111   #define CYTHON_USE_PYTYPE_LOOKUP 0
112   #undef CYTHON_USE_ASYNC_SLOTS
113   #define CYTHON_USE_ASYNC_SLOTS 0
114   #undef CYTHON_USE_PYLIST_INTERNALS
115   #define CYTHON_USE_PYLIST_INTERNALS 0
116   #ifndef CYTHON_USE_UNICODE_INTERNALS
117     #define CYTHON_USE_UNICODE_INTERNALS 1
118   #endif
119   #undef CYTHON_USE_UNICODE_WRITER
120   #define CYTHON_USE_UNICODE_WRITER 0
121   #undef CYTHON_USE_PYLONG_INTERNALS
122   #define CYTHON_USE_PYLONG_INTERNALS 0
123   #ifndef CYTHON_AVOID_BORROWED_REFS
124     #define CYTHON_AVOID_BORROWED_REFS 0
125   #endif
126   #ifndef CYTHON_ASSUME_SAFE_MACROS
127     #define CYTHON_ASSUME_SAFE_MACROS 1
128   #endif
129   #ifndef CYTHON_UNPACK_METHODS
130     #define CYTHON_UNPACK_METHODS 1
131   #endif
132   #undef CYTHON_FAST_THREAD_STATE
133   #define CYTHON_FAST_THREAD_STATE 0
134   #undef CYTHON_FAST_PYCALL
135   #define CYTHON_FAST_PYCALL 0
136   #undef CYTHON_PEP489_MULTI_PHASE_INIT
137   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
138   #undef CYTHON_USE_TP_FINALIZE
139   #define CYTHON_USE_TP_FINALIZE 0
140   #undef CYTHON_USE_DICT_VERSIONS
141   #define CYTHON_USE_DICT_VERSIONS 0
142   #undef CYTHON_USE_EXC_INFO_STACK
143   #define CYTHON_USE_EXC_INFO_STACK 0
144 #else
145   #define CYTHON_COMPILING_IN_PYPY 0
146   #define CYTHON_COMPILING_IN_PYSTON 0
147   #define CYTHON_COMPILING_IN_CPYTHON 1
148   #ifndef CYTHON_USE_TYPE_SLOTS
149     #define CYTHON_USE_TYPE_SLOTS 1
150   #endif
151   #if PY_VERSION_HEX < 0x02070000
152     #undef CYTHON_USE_PYTYPE_LOOKUP
153     #define CYTHON_USE_PYTYPE_LOOKUP 0
154   #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
155     #define CYTHON_USE_PYTYPE_LOOKUP 1
156   #endif
157   #if PY_MAJOR_VERSION < 3
158     #undef CYTHON_USE_ASYNC_SLOTS
159     #define CYTHON_USE_ASYNC_SLOTS 0
160   #elif !defined(CYTHON_USE_ASYNC_SLOTS)
161     #define CYTHON_USE_ASYNC_SLOTS 1
162   #endif
163   #if PY_VERSION_HEX < 0x02070000
164     #undef CYTHON_USE_PYLONG_INTERNALS
165     #define CYTHON_USE_PYLONG_INTERNALS 0
166   #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
167     #define CYTHON_USE_PYLONG_INTERNALS 1
168   #endif
169   #ifndef CYTHON_USE_PYLIST_INTERNALS
170     #define CYTHON_USE_PYLIST_INTERNALS 1
171   #endif
172   #ifndef CYTHON_USE_UNICODE_INTERNALS
173     #define CYTHON_USE_UNICODE_INTERNALS 1
174   #endif
175   #if PY_VERSION_HEX < 0x030300F0
176     #undef CYTHON_USE_UNICODE_WRITER
177     #define CYTHON_USE_UNICODE_WRITER 0
178   #elif !defined(CYTHON_USE_UNICODE_WRITER)
179     #define CYTHON_USE_UNICODE_WRITER 1
180   #endif
181   #ifndef CYTHON_AVOID_BORROWED_REFS
182     #define CYTHON_AVOID_BORROWED_REFS 0
183   #endif
184   #ifndef CYTHON_ASSUME_SAFE_MACROS
185     #define CYTHON_ASSUME_SAFE_MACROS 1
186   #endif
187   #ifndef CYTHON_UNPACK_METHODS
188     #define CYTHON_UNPACK_METHODS 1
189   #endif
190   #ifndef CYTHON_FAST_THREAD_STATE
191     #define CYTHON_FAST_THREAD_STATE 1
192   #endif
193   #ifndef CYTHON_FAST_PYCALL
194     #define CYTHON_FAST_PYCALL 1
195   #endif
196   #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
197     #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
198   #endif
199   #ifndef CYTHON_USE_TP_FINALIZE
200     #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
201   #endif
202   #ifndef CYTHON_USE_DICT_VERSIONS
203     #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
204   #endif
205   #ifndef CYTHON_USE_EXC_INFO_STACK
206     #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
207   #endif
208 #endif
209 #if !defined(CYTHON_FAST_PYCCALL)
210 #define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
211 #endif
212 #if CYTHON_USE_PYLONG_INTERNALS
213   #include "longintrepr.h"
214   #undef SHIFT
215   #undef BASE
216   #undef MASK
217   #ifdef SIZEOF_VOID_P
218     enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
219   #endif
220 #endif
221 #ifndef __has_attribute
222   #define __has_attribute(x) 0
223 #endif
224 #ifndef __has_cpp_attribute
225   #define __has_cpp_attribute(x) 0
226 #endif
227 #ifndef CYTHON_RESTRICT
228   #if defined(__GNUC__)
229     #define CYTHON_RESTRICT __restrict__
230   #elif defined(_MSC_VER) && _MSC_VER >= 1400
231     #define CYTHON_RESTRICT __restrict
232   #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
233     #define CYTHON_RESTRICT restrict
234   #else
235     #define CYTHON_RESTRICT
236   #endif
237 #endif
238 #ifndef CYTHON_UNUSED
239 # if defined(__GNUC__)
240 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
241 #     define CYTHON_UNUSED __attribute__ ((__unused__))
242 #   else
243 #     define CYTHON_UNUSED
244 #   endif
245 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
246 #   define CYTHON_UNUSED __attribute__ ((__unused__))
247 # else
248 #   define CYTHON_UNUSED
249 # endif
250 #endif
251 #ifndef CYTHON_MAYBE_UNUSED_VAR
252 #  if defined(__cplusplus)
CYTHON_MAYBE_UNUSED_VAR(const T &)253      template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
254 #  else
255 #    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
256 #  endif
257 #endif
258 #ifndef CYTHON_NCP_UNUSED
259 # if CYTHON_COMPILING_IN_CPYTHON
260 #  define CYTHON_NCP_UNUSED
261 # else
262 #  define CYTHON_NCP_UNUSED CYTHON_UNUSED
263 # endif
264 #endif
265 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
266 #ifdef _MSC_VER
267     #ifndef _MSC_STDINT_H_
268         #if _MSC_VER < 1300
269            typedef unsigned char     uint8_t;
270            typedef unsigned int      uint32_t;
271         #else
272            typedef unsigned __int8   uint8_t;
273            typedef unsigned __int32  uint32_t;
274         #endif
275     #endif
276 #else
277    #include <stdint.h>
278 #endif
279 #ifndef CYTHON_FALLTHROUGH
280   #if defined(__cplusplus) && __cplusplus >= 201103L
281     #if __has_cpp_attribute(fallthrough)
282       #define CYTHON_FALLTHROUGH [[fallthrough]]
283     #elif __has_cpp_attribute(clang::fallthrough)
284       #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
285     #elif __has_cpp_attribute(gnu::fallthrough)
286       #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
287     #endif
288   #endif
289   #ifndef CYTHON_FALLTHROUGH
290     #if __has_attribute(fallthrough)
291       #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
292     #else
293       #define CYTHON_FALLTHROUGH
294     #endif
295   #endif
296   #if defined(__clang__ ) && defined(__apple_build_version__)
297     #if __apple_build_version__ < 7000000
298       #undef  CYTHON_FALLTHROUGH
299       #define CYTHON_FALLTHROUGH
300     #endif
301   #endif
302 #endif
303 
304 #ifndef CYTHON_INLINE
305   #if defined(__clang__)
306     #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
307   #elif defined(__GNUC__)
308     #define CYTHON_INLINE __inline__
309   #elif defined(_MSC_VER)
310     #define CYTHON_INLINE __inline
311   #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
312     #define CYTHON_INLINE inline
313   #else
314     #define CYTHON_INLINE
315   #endif
316 #endif
317 
318 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
319   #define Py_OptimizeFlag 0
320 #endif
321 #define __PYX_BUILD_PY_SSIZE_T "n"
322 #define CYTHON_FORMAT_SSIZE_T "z"
323 #if PY_MAJOR_VERSION < 3
324   #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
325   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
326           PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
327   #define __Pyx_DefaultClassType PyClass_Type
328 #else
329   #define __Pyx_BUILTIN_MODULE_NAME "builtins"
330 #if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
331   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
332           PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
333 #else
334   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
335           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
336 #endif
337   #define __Pyx_DefaultClassType PyType_Type
338 #endif
339 #ifndef Py_TPFLAGS_CHECKTYPES
340   #define Py_TPFLAGS_CHECKTYPES 0
341 #endif
342 #ifndef Py_TPFLAGS_HAVE_INDEX
343   #define Py_TPFLAGS_HAVE_INDEX 0
344 #endif
345 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
346   #define Py_TPFLAGS_HAVE_NEWBUFFER 0
347 #endif
348 #ifndef Py_TPFLAGS_HAVE_FINALIZE
349   #define Py_TPFLAGS_HAVE_FINALIZE 0
350 #endif
351 #ifndef METH_STACKLESS
352   #define METH_STACKLESS 0
353 #endif
354 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
355   #ifndef METH_FASTCALL
356      #define METH_FASTCALL 0x80
357   #endif
358   typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
359   typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
360                                                           Py_ssize_t nargs, PyObject *kwnames);
361 #else
362   #define __Pyx_PyCFunctionFast _PyCFunctionFast
363   #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
364 #endif
365 #if CYTHON_FAST_PYCCALL
366 #define __Pyx_PyFastCFunction_Check(func)\
367     ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
368 #else
369 #define __Pyx_PyFastCFunction_Check(func) 0
370 #endif
371 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
372   #define PyObject_Malloc(s)   PyMem_Malloc(s)
373   #define PyObject_Free(p)     PyMem_Free(p)
374   #define PyObject_Realloc(p)  PyMem_Realloc(p)
375 #endif
376 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
377   #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
378   #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
379   #define PyMem_RawFree(p)             PyMem_Free(p)
380 #endif
381 #if CYTHON_COMPILING_IN_PYSTON
382   #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
383   #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
384 #else
385   #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
386   #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
387 #endif
388 #if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
389   #define __Pyx_PyThreadState_Current PyThreadState_GET()
390 #elif PY_VERSION_HEX >= 0x03060000
391   #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
392 #elif PY_VERSION_HEX >= 0x03000000
393   #define __Pyx_PyThreadState_Current PyThreadState_GET()
394 #else
395   #define __Pyx_PyThreadState_Current _PyThreadState_Current
396 #endif
397 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
398 #include "pythread.h"
399 #define Py_tss_NEEDS_INIT 0
400 typedef int Py_tss_t;
PyThread_tss_create(Py_tss_t * key)401 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
402   *key = PyThread_create_key();
403   return 0;
404 }
PyThread_tss_alloc(void)405 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
406   Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
407   *key = Py_tss_NEEDS_INIT;
408   return key;
409 }
PyThread_tss_free(Py_tss_t * key)410 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
411   PyObject_Free(key);
412 }
PyThread_tss_is_created(Py_tss_t * key)413 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
414   return *key != Py_tss_NEEDS_INIT;
415 }
PyThread_tss_delete(Py_tss_t * key)416 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
417   PyThread_delete_key(*key);
418   *key = Py_tss_NEEDS_INIT;
419 }
PyThread_tss_set(Py_tss_t * key,void * value)420 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
421   return PyThread_set_key_value(*key, value);
422 }
PyThread_tss_get(Py_tss_t * key)423 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
424   return PyThread_get_key_value(*key);
425 }
426 #endif
427 #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
428 #define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
429 #else
430 #define __Pyx_PyDict_NewPresized(n)  PyDict_New()
431 #endif
432 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
433   #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
434   #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
435 #else
436   #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
437   #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
438 #endif
439 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
440 #define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
441 #else
442 #define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
443 #endif
444 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
445   #define CYTHON_PEP393_ENABLED 1
446   #if defined(PyUnicode_IS_READY)
447   #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
448                                               0 : _PyUnicode_Ready((PyObject *)(op)))
449   #else
450   #define __Pyx_PyUnicode_READY(op)       (0)
451   #endif
452   #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
453   #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
454   #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
455   #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
456   #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
457   #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
458   #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
459   #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
460   #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
461   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
462   #else
463   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
464   #endif
465   #else
466   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
467   #endif
468 #else
469   #define CYTHON_PEP393_ENABLED 0
470   #define PyUnicode_1BYTE_KIND  1
471   #define PyUnicode_2BYTE_KIND  2
472   #define PyUnicode_4BYTE_KIND  4
473   #define __Pyx_PyUnicode_READY(op)       (0)
474   #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
475   #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
476   #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
477   #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
478   #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
479   #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
480   #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
481   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
482 #endif
483 #if CYTHON_COMPILING_IN_PYPY
484   #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
485   #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
486 #else
487   #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
488   #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
489       PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
490 #endif
491 #if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
492   #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
493 #endif
494 #if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
495   #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
496 #endif
497 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
498   #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
499 #endif
500 #define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
501 #define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
502 #if PY_MAJOR_VERSION >= 3
503   #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
504 #else
505   #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
506 #endif
507 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
508   #define PyObject_ASCII(o)            PyObject_Repr(o)
509 #endif
510 #if PY_MAJOR_VERSION >= 3
511   #define PyBaseString_Type            PyUnicode_Type
512   #define PyStringObject               PyUnicodeObject
513   #define PyString_Type                PyUnicode_Type
514   #define PyString_Check               PyUnicode_Check
515   #define PyString_CheckExact          PyUnicode_CheckExact
516 #ifndef PyObject_Unicode
517   #define PyObject_Unicode             PyObject_Str
518 #endif
519 #endif
520 #if PY_MAJOR_VERSION >= 3
521   #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
522   #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
523 #else
524   #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
525   #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
526 #endif
527 #ifndef PySet_CheckExact
528   #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
529 #endif
530 #if PY_VERSION_HEX >= 0x030900A4
531   #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
532   #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
533 #else
534   #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
535   #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
536 #endif
537 #if CYTHON_ASSUME_SAFE_MACROS
538   #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
539 #else
540   #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
541 #endif
542 #if PY_MAJOR_VERSION >= 3
543   #define PyIntObject                  PyLongObject
544   #define PyInt_Type                   PyLong_Type
545   #define PyInt_Check(op)              PyLong_Check(op)
546   #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
547   #define PyInt_FromString             PyLong_FromString
548   #define PyInt_FromUnicode            PyLong_FromUnicode
549   #define PyInt_FromLong               PyLong_FromLong
550   #define PyInt_FromSize_t             PyLong_FromSize_t
551   #define PyInt_FromSsize_t            PyLong_FromSsize_t
552   #define PyInt_AsLong                 PyLong_AsLong
553   #define PyInt_AS_LONG                PyLong_AS_LONG
554   #define PyInt_AsSsize_t              PyLong_AsSsize_t
555   #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
556   #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
557   #define PyNumber_Int                 PyNumber_Long
558 #endif
559 #if PY_MAJOR_VERSION >= 3
560   #define PyBoolObject                 PyLongObject
561 #endif
562 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
563   #ifndef PyUnicode_InternFromString
564     #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
565   #endif
566 #endif
567 #if PY_VERSION_HEX < 0x030200A4
568   typedef long Py_hash_t;
569   #define __Pyx_PyInt_FromHash_t PyInt_FromLong
570   #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
571 #else
572   #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
573   #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
574 #endif
575 #if PY_MAJOR_VERSION >= 3
576   #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
577 #else
578   #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
579 #endif
580 #if CYTHON_USE_ASYNC_SLOTS
581   #if PY_VERSION_HEX >= 0x030500B1
582     #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
583     #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
584   #else
585     #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
586   #endif
587 #else
588   #define __Pyx_PyType_AsAsync(obj) NULL
589 #endif
590 #ifndef __Pyx_PyAsyncMethodsStruct
591     typedef struct {
592         unaryfunc am_await;
593         unaryfunc am_aiter;
594         unaryfunc am_anext;
595     } __Pyx_PyAsyncMethodsStruct;
596 #endif
597 
598 #if defined(WIN32) || defined(MS_WINDOWS)
599   #define _USE_MATH_DEFINES
600 #endif
601 #include <math.h>
602 #ifdef NAN
603 #define __PYX_NAN() ((float) NAN)
604 #else
__PYX_NAN()605 static CYTHON_INLINE float __PYX_NAN() {
606   float value;
607   memset(&value, 0xFF, sizeof(value));
608   return value;
609 }
610 #endif
611 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
612 #define __Pyx_truncl trunc
613 #else
614 #define __Pyx_truncl truncl
615 #endif
616 
617 #define __PYX_MARK_ERR_POS(f_index, lineno) \
618     { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
619 #define __PYX_ERR(f_index, lineno, Ln_error) \
620     { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
621 
622 #ifndef __PYX_EXTERN_C
623   #ifdef __cplusplus
624     #define __PYX_EXTERN_C extern "C"
625   #else
626     #define __PYX_EXTERN_C extern
627   #endif
628 #endif
629 
630 #define __PYX_HAVE__Cython__Compiler__Scanning
631 #define __PYX_HAVE_API__Cython__Compiler__Scanning
632 /* Early includes */
633 #ifdef _OPENMP
634 #include <omp.h>
635 #endif /* _OPENMP */
636 
637 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
638 #define CYTHON_WITHOUT_ASSERTIONS
639 #endif
640 
641 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
642                 const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
643 
644 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
645 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
646 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
647 #define __PYX_DEFAULT_STRING_ENCODING ""
648 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
649 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
650 #define __Pyx_uchar_cast(c) ((unsigned char)c)
651 #define __Pyx_long_cast(x) ((long)x)
652 #define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
653     (sizeof(type) < sizeof(Py_ssize_t))  ||\
654     (sizeof(type) > sizeof(Py_ssize_t) &&\
655           likely(v < (type)PY_SSIZE_T_MAX ||\
656                  v == (type)PY_SSIZE_T_MAX)  &&\
657           (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
658                                 v == (type)PY_SSIZE_T_MIN)))  ||\
659     (sizeof(type) == sizeof(Py_ssize_t) &&\
660           (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
661                                v == (type)PY_SSIZE_T_MAX)))  )
__Pyx_is_valid_index(Py_ssize_t i,Py_ssize_t limit)662 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
663     return (size_t) i < (size_t) limit;
664 }
665 #if defined (__cplusplus) && __cplusplus >= 201103L
666     #include <cstdlib>
667     #define __Pyx_sst_abs(value) std::abs(value)
668 #elif SIZEOF_INT >= SIZEOF_SIZE_T
669     #define __Pyx_sst_abs(value) abs(value)
670 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
671     #define __Pyx_sst_abs(value) labs(value)
672 #elif defined (_MSC_VER)
673     #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
674 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
675     #define __Pyx_sst_abs(value) llabs(value)
676 #elif defined (__GNUC__)
677     #define __Pyx_sst_abs(value) __builtin_llabs(value)
678 #else
679     #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
680 #endif
681 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
682 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
683 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
684 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
685 #define __Pyx_PyBytes_FromString        PyBytes_FromString
686 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
687 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
688 #if PY_MAJOR_VERSION < 3
689     #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
690     #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
691 #else
692     #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
693     #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
694 #endif
695 #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
696 #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
697 #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
698 #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
699 #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
700 #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
701 #define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
702 #define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
703 #define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
704 #define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
705 #define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
706 #define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
707 #define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
708 #define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
709 #define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
710 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
__Pyx_Py_UNICODE_strlen(const Py_UNICODE * u)711 static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
712     const Py_UNICODE *u_end = u;
713     while (*u_end++) ;
714     return (size_t)(u_end - u - 1);
715 }
716 #define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
717 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
718 #define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
719 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
720 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
721 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
722 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
723 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
724 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
725 #define __Pyx_PySequence_Tuple(obj)\
726     (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
727 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
728 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
729 #if CYTHON_ASSUME_SAFE_MACROS
730 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
731 #else
732 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
733 #endif
734 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
735 #if PY_MAJOR_VERSION >= 3
736 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
737 #else
738 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
739 #endif
740 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
741 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
742 static int __Pyx_sys_getdefaultencoding_not_ascii;
__Pyx_init_sys_getdefaultencoding_params(void)743 static int __Pyx_init_sys_getdefaultencoding_params(void) {
744     PyObject* sys;
745     PyObject* default_encoding = NULL;
746     PyObject* ascii_chars_u = NULL;
747     PyObject* ascii_chars_b = NULL;
748     const char* default_encoding_c;
749     sys = PyImport_ImportModule("sys");
750     if (!sys) goto bad;
751     default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
752     Py_DECREF(sys);
753     if (!default_encoding) goto bad;
754     default_encoding_c = PyBytes_AsString(default_encoding);
755     if (!default_encoding_c) goto bad;
756     if (strcmp(default_encoding_c, "ascii") == 0) {
757         __Pyx_sys_getdefaultencoding_not_ascii = 0;
758     } else {
759         char ascii_chars[128];
760         int c;
761         for (c = 0; c < 128; c++) {
762             ascii_chars[c] = c;
763         }
764         __Pyx_sys_getdefaultencoding_not_ascii = 1;
765         ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
766         if (!ascii_chars_u) goto bad;
767         ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
768         if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
769             PyErr_Format(
770                 PyExc_ValueError,
771                 "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
772                 default_encoding_c);
773             goto bad;
774         }
775         Py_DECREF(ascii_chars_u);
776         Py_DECREF(ascii_chars_b);
777     }
778     Py_DECREF(default_encoding);
779     return 0;
780 bad:
781     Py_XDECREF(default_encoding);
782     Py_XDECREF(ascii_chars_u);
783     Py_XDECREF(ascii_chars_b);
784     return -1;
785 }
786 #endif
787 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
788 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
789 #else
790 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
791 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
792 static char* __PYX_DEFAULT_STRING_ENCODING;
__Pyx_init_sys_getdefaultencoding_params(void)793 static int __Pyx_init_sys_getdefaultencoding_params(void) {
794     PyObject* sys;
795     PyObject* default_encoding = NULL;
796     char* default_encoding_c;
797     sys = PyImport_ImportModule("sys");
798     if (!sys) goto bad;
799     default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
800     Py_DECREF(sys);
801     if (!default_encoding) goto bad;
802     default_encoding_c = PyBytes_AsString(default_encoding);
803     if (!default_encoding_c) goto bad;
804     __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
805     if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
806     strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
807     Py_DECREF(default_encoding);
808     return 0;
809 bad:
810     Py_XDECREF(default_encoding);
811     return -1;
812 }
813 #endif
814 #endif
815 
816 
817 /* Test for GCC > 2.95 */
818 #if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
819   #define likely(x)   __builtin_expect(!!(x), 1)
820   #define unlikely(x) __builtin_expect(!!(x), 0)
821 #else /* !__GNUC__ or GCC < 2.95 */
822   #define likely(x)   (x)
823   #define unlikely(x) (x)
824 #endif /* __GNUC__ */
__Pyx_pretend_to_initialize(void * ptr)825 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
826 
827 static PyObject *__pyx_m = NULL;
828 static PyObject *__pyx_d;
829 static PyObject *__pyx_b;
830 static PyObject *__pyx_cython_runtime = NULL;
831 static PyObject *__pyx_empty_tuple;
832 static PyObject *__pyx_empty_bytes;
833 static PyObject *__pyx_empty_unicode;
834 static int __pyx_lineno;
835 static int __pyx_clineno = 0;
836 static const char * __pyx_cfilenm= __FILE__;
837 static const char *__pyx_filename;
838 
839 
840 static const char *__pyx_f[] = {
841   "Cython/Compiler/Scanning.py",
842   "Cython/Compiler/Scanning.pxd",
843   "Cython/Plex/Actions.pxd",
844 };
845 
846 /*--- Type declarations ---*/
847 struct __pyx_obj_6Cython_4Plex_7Actions_Action;
848 struct __pyx_obj_6Cython_4Plex_7Actions_Return;
849 struct __pyx_obj_6Cython_4Plex_7Actions_Call;
850 struct __pyx_obj_6Cython_4Plex_7Actions_Begin;
851 struct __pyx_obj_6Cython_4Plex_7Actions_Ignore;
852 struct __pyx_obj_6Cython_4Plex_7Actions_Text;
853 struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner;
854 struct __pyx_obj_6Cython_8Compiler_8Scanning_Method;
855 struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope;
856 struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner;
857 struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce;
858 
859 /* "Plex/Scanners.pxd":50
860  *     cdef begin(self, state)
861  *     @cython.final
862  *     cdef produce(self, value, text = *)             # <<<<<<<<<<<<<<
863  */
864 struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce {
865   int __pyx_n;
866   PyObject *text;
867 };
868 
869 /* "Cython/Plex/Actions.pxd":2
870  *
871  * cdef class Action:             # <<<<<<<<<<<<<<
872  *   cdef perform(self, token_stream, text)
873  *   cpdef same_as(self, other)
874  */
875 struct __pyx_obj_6Cython_4Plex_7Actions_Action {
876   PyObject_HEAD
877   struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action *__pyx_vtab;
878 };
879 
880 
881 /* "Cython/Plex/Actions.pxd":6
882  *   cpdef same_as(self, other)
883  *
884  * cdef class Return(Action):             # <<<<<<<<<<<<<<
885  *   cdef object value
886  *   cdef perform(self, token_stream, text)
887  */
888 struct __pyx_obj_6Cython_4Plex_7Actions_Return {
889   struct __pyx_obj_6Cython_4Plex_7Actions_Action __pyx_base;
890   PyObject *value;
891 };
892 
893 
894 /* "Cython/Plex/Actions.pxd":11
895  *   cpdef same_as(self, other)
896  *
897  * cdef class Call(Action):             # <<<<<<<<<<<<<<
898  *   cdef object function
899  *   cdef perform(self, token_stream, text)
900  */
901 struct __pyx_obj_6Cython_4Plex_7Actions_Call {
902   struct __pyx_obj_6Cython_4Plex_7Actions_Action __pyx_base;
903   PyObject *function;
904 };
905 
906 
907 /* "Cython/Plex/Actions.pxd":16
908  *   cpdef same_as(self, other)
909  *
910  * cdef class Begin(Action):             # <<<<<<<<<<<<<<
911  *   cdef object state_name
912  *   cdef perform(self, token_stream, text)
913  */
914 struct __pyx_obj_6Cython_4Plex_7Actions_Begin {
915   struct __pyx_obj_6Cython_4Plex_7Actions_Action __pyx_base;
916   PyObject *state_name;
917 };
918 
919 
920 /* "Cython/Plex/Actions.pxd":21
921  *   cpdef same_as(self, other)
922  *
923  * cdef class Ignore(Action):             # <<<<<<<<<<<<<<
924  *   cdef perform(self, token_stream, text)
925  *
926  */
927 struct __pyx_obj_6Cython_4Plex_7Actions_Ignore {
928   struct __pyx_obj_6Cython_4Plex_7Actions_Action __pyx_base;
929 };
930 
931 
932 /* "Cython/Plex/Actions.pxd":24
933  *   cdef perform(self, token_stream, text)
934  *
935  * cdef class Text(Action):             # <<<<<<<<<<<<<<
936  *   cdef perform(self, token_stream, text)
937  */
938 struct __pyx_obj_6Cython_4Plex_7Actions_Text {
939   struct __pyx_obj_6Cython_4Plex_7Actions_Action __pyx_base;
940 };
941 
942 
943 /* "Plex/Scanners.pxd":7
944  * from Cython.Plex.Actions cimport Action
945  *
946  * cdef class Scanner:             # <<<<<<<<<<<<<<
947  *
948  *     cdef public lexicon
949  */
950 struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner {
951   PyObject_HEAD
952   struct __pyx_vtabstruct_6Cython_4Plex_8Scanners_Scanner *__pyx_vtab;
953   PyObject *lexicon;
954   PyObject *stream;
955   PyObject *name;
956   PyObject *buffer;
957   Py_ssize_t buf_start_pos;
958   Py_ssize_t next_pos;
959   Py_ssize_t cur_pos;
960   Py_ssize_t cur_line;
961   Py_ssize_t cur_line_start;
962   Py_ssize_t start_pos;
963   Py_ssize_t start_line;
964   Py_ssize_t start_col;
965   PyObject *text;
966   PyObject *initial_state;
967   PyObject *state_name;
968   PyObject *queue;
969   int trace;
970   PyObject *cur_char;
971   long input_state;
972   PyObject *level;
973 };
974 
975 
976 /* "Cython/Compiler/Scanning.pxd":12
977  * cdef initial_compile_time_env()
978  *
979  * cdef class Method:             # <<<<<<<<<<<<<<
980  *     cdef object name
981  *     cdef dict kwargs
982  */
983 struct __pyx_obj_6Cython_8Compiler_8Scanning_Method {
984   PyObject_HEAD
985   PyObject *name;
986   PyObject *kwargs;
987   PyObject *__name__;
988 };
989 
990 
991 /* "Cython/Compiler/Scanning.pxd":20
992  *
993  * @cython.final
994  * cdef class CompileTimeScope:             # <<<<<<<<<<<<<<
995  *     cdef public dict entries
996  *     cdef public CompileTimeScope outer
997  */
998 struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope {
999   PyObject_HEAD
1000   PyObject *entries;
1001   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *outer;
1002 };
1003 
1004 
1005 /* "Cython/Compiler/Scanning.pxd":28
1006  *
1007  * @cython.final
1008  * cdef class PyrexScanner(Scanner):             # <<<<<<<<<<<<<<
1009  *     cdef public context
1010  *     cdef public list included_files
1011  */
1012 struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner {
1013   struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner __pyx_base;
1014   PyObject *context;
1015   PyObject *included_files;
1016   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *compile_time_env;
1017   int compile_time_eval;
1018   int compile_time_expr;
1019   int parse_comments;
1020   int in_python_file;
1021   PyObject *source_encoding;
1022   PyObject *keywords;
1023   PyObject *indentation_stack;
1024   PyObject *indentation_char;
1025   int bracket_nesting_level;
1026   int async_enabled;
1027   PyObject *sy;
1028   PyObject *systring;
1029 };
1030 
1031 
1032 
1033 /* "Cython/Plex/Actions.pxd":2
1034  *
1035  * cdef class Action:             # <<<<<<<<<<<<<<
1036  *   cdef perform(self, token_stream, text)
1037  *   cpdef same_as(self, other)
1038  */
1039 
1040 struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action {
1041   PyObject *(*perform)(struct __pyx_obj_6Cython_4Plex_7Actions_Action *, PyObject *, PyObject *);
1042   PyObject *(*same_as)(struct __pyx_obj_6Cython_4Plex_7Actions_Action *, PyObject *, int __pyx_skip_dispatch);
1043 };
1044 static struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action *__pyx_vtabptr_6Cython_4Plex_7Actions_Action;
1045 
1046 
1047 /* "Cython/Plex/Actions.pxd":6
1048  *   cpdef same_as(self, other)
1049  *
1050  * cdef class Return(Action):             # <<<<<<<<<<<<<<
1051  *   cdef object value
1052  *   cdef perform(self, token_stream, text)
1053  */
1054 
1055 struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Return {
1056   struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action __pyx_base;
1057 };
1058 static struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Return *__pyx_vtabptr_6Cython_4Plex_7Actions_Return;
1059 
1060 
1061 /* "Cython/Plex/Actions.pxd":11
1062  *   cpdef same_as(self, other)
1063  *
1064  * cdef class Call(Action):             # <<<<<<<<<<<<<<
1065  *   cdef object function
1066  *   cdef perform(self, token_stream, text)
1067  */
1068 
1069 struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Call {
1070   struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action __pyx_base;
1071 };
1072 static struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Call *__pyx_vtabptr_6Cython_4Plex_7Actions_Call;
1073 
1074 
1075 /* "Cython/Plex/Actions.pxd":16
1076  *   cpdef same_as(self, other)
1077  *
1078  * cdef class Begin(Action):             # <<<<<<<<<<<<<<
1079  *   cdef object state_name
1080  *   cdef perform(self, token_stream, text)
1081  */
1082 
1083 struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Begin {
1084   struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action __pyx_base;
1085 };
1086 static struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Begin *__pyx_vtabptr_6Cython_4Plex_7Actions_Begin;
1087 
1088 
1089 /* "Cython/Plex/Actions.pxd":21
1090  *   cpdef same_as(self, other)
1091  *
1092  * cdef class Ignore(Action):             # <<<<<<<<<<<<<<
1093  *   cdef perform(self, token_stream, text)
1094  *
1095  */
1096 
1097 struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Ignore {
1098   struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action __pyx_base;
1099 };
1100 static struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Ignore *__pyx_vtabptr_6Cython_4Plex_7Actions_Ignore;
1101 
1102 
1103 /* "Cython/Plex/Actions.pxd":24
1104  *   cdef perform(self, token_stream, text)
1105  *
1106  * cdef class Text(Action):             # <<<<<<<<<<<<<<
1107  *   cdef perform(self, token_stream, text)
1108  */
1109 
1110 struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Text {
1111   struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action __pyx_base;
1112 };
1113 static struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Text *__pyx_vtabptr_6Cython_4Plex_7Actions_Text;
1114 
1115 
1116 /* "Plex/Scanners.pxd":7
1117  * from Cython.Plex.Actions cimport Action
1118  *
1119  * cdef class Scanner:             # <<<<<<<<<<<<<<
1120  *
1121  *     cdef public lexicon
1122  */
1123 
1124 struct __pyx_vtabstruct_6Cython_4Plex_8Scanners_Scanner {
1125   PyObject *(*next_char)(struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *);
1126   PyObject *(*read)(struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *, int __pyx_skip_dispatch);
1127   PyObject *(*scan_a_token)(struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *);
1128   PyObject *(*run_machine_inlined)(struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *);
1129   PyObject *(*begin)(struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *, PyObject *);
1130   PyObject *(*produce)(struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *, PyObject *, struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce *__pyx_optional_args);
1131 };
1132 static struct __pyx_vtabstruct_6Cython_4Plex_8Scanners_Scanner *__pyx_vtabptr_6Cython_4Plex_8Scanners_Scanner;
1133 
1134 
1135 /* "Cython/Compiler/Scanning.py":315
1136  * #------------------------------------------------------------------
1137  *
1138  * class PyrexScanner(Scanner):             # <<<<<<<<<<<<<<
1139  *     #  context            Context  Compilation context
1140  *     #  included_files     [string] Files included with 'include' statement
1141  */
1142 
1143 struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner {
1144   struct __pyx_vtabstruct_6Cython_4Plex_8Scanners_Scanner __pyx_base;
1145   long (*current_level)(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *);
1146   PyObject *(*indentation_action)(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *, PyObject *, int __pyx_skip_dispatch);
1147 };
1148 static struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_vtabptr_6Cython_8Compiler_8Scanning_PyrexScanner;
1149 static long __pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *);
1150 static PyObject *__pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *, PyObject *, int __pyx_skip_dispatch);
1151 
1152 /* --- Runtime support code (head) --- */
1153 /* Refnanny.proto */
1154 #ifndef CYTHON_REFNANNY
1155   #define CYTHON_REFNANNY 0
1156 #endif
1157 #if CYTHON_REFNANNY
1158   typedef struct {
1159     void (*INCREF)(void*, PyObject*, int);
1160     void (*DECREF)(void*, PyObject*, int);
1161     void (*GOTREF)(void*, PyObject*, int);
1162     void (*GIVEREF)(void*, PyObject*, int);
1163     void* (*SetupContext)(const char*, int, const char*);
1164     void (*FinishContext)(void**);
1165   } __Pyx_RefNannyAPIStruct;
1166   static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
1167   static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
1168   #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
1169 #ifdef WITH_THREAD
1170   #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1171           if (acquire_gil) {\
1172               PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
1173               __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1174               PyGILState_Release(__pyx_gilstate_save);\
1175           } else {\
1176               __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1177           }
1178 #else
1179   #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1180           __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
1181 #endif
1182   #define __Pyx_RefNannyFinishContext()\
1183           __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
1184   #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1185   #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1186   #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1187   #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1188   #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
1189   #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
1190   #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
1191   #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
1192 #else
1193   #define __Pyx_RefNannyDeclarations
1194   #define __Pyx_RefNannySetupContext(name, acquire_gil)
1195   #define __Pyx_RefNannyFinishContext()
1196   #define __Pyx_INCREF(r) Py_INCREF(r)
1197   #define __Pyx_DECREF(r) Py_DECREF(r)
1198   #define __Pyx_GOTREF(r)
1199   #define __Pyx_GIVEREF(r)
1200   #define __Pyx_XINCREF(r) Py_XINCREF(r)
1201   #define __Pyx_XDECREF(r) Py_XDECREF(r)
1202   #define __Pyx_XGOTREF(r)
1203   #define __Pyx_XGIVEREF(r)
1204 #endif
1205 #define __Pyx_XDECREF_SET(r, v) do {\
1206         PyObject *tmp = (PyObject *) r;\
1207         r = v; __Pyx_XDECREF(tmp);\
1208     } while (0)
1209 #define __Pyx_DECREF_SET(r, v) do {\
1210         PyObject *tmp = (PyObject *) r;\
1211         r = v; __Pyx_DECREF(tmp);\
1212     } while (0)
1213 #define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
1214 #define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
1215 
1216 /* PyObjectGetAttrStr.proto */
1217 #if CYTHON_USE_TYPE_SLOTS
1218 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
1219 #else
1220 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
1221 #endif
1222 
1223 /* GetBuiltinName.proto */
1224 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
1225 
1226 /* PyFunctionFastCall.proto */
1227 #if CYTHON_FAST_PYCALL
1228 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
1229     __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
1230 #if 1 || PY_VERSION_HEX < 0x030600B1
1231 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
1232 #else
1233 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
1234 #endif
1235 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
1236     (sizeof(char [1 - 2*!(cond)]) - 1)
1237 #ifndef Py_MEMBER_SIZE
1238 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
1239 #endif
1240   static size_t __pyx_pyframe_localsplus_offset = 0;
1241   #include "frameobject.h"
1242   #define __Pxy_PyFrame_Initialize_Offsets()\
1243     ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
1244      (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
1245   #define __Pyx_PyFrame_GetLocalsplus(frame)\
1246     (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
1247 #endif
1248 
1249 /* PyObjectCall.proto */
1250 #if CYTHON_COMPILING_IN_CPYTHON
1251 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
1252 #else
1253 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
1254 #endif
1255 
1256 /* PyObjectCallMethO.proto */
1257 #if CYTHON_COMPILING_IN_CPYTHON
1258 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
1259 #endif
1260 
1261 /* PyObjectCallNoArg.proto */
1262 #if CYTHON_COMPILING_IN_CPYTHON
1263 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
1264 #else
1265 #define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
1266 #endif
1267 
1268 /* PyCFunctionFastCall.proto */
1269 #if CYTHON_FAST_PYCCALL
1270 static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
1271 #else
1272 #define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
1273 #endif
1274 
1275 /* PyObjectCallOneArg.proto */
1276 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
1277 
1278 /* RaiseDoubleKeywords.proto */
1279 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
1280 
1281 /* ParseKeywords.proto */
1282 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
1283     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
1284     const char* function_name);
1285 
1286 /* RaiseArgTupleInvalid.proto */
1287 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
1288     Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
1289 
1290 /* GetAttr.proto */
1291 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
1292 
1293 /* PyObjectCall2Args.proto */
1294 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
1295 
1296 /* ExtTypeTest.proto */
1297 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
1298 
1299 /* DictGetItem.proto */
1300 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
1301 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
1302 #define __Pyx_PyObject_Dict_GetItem(obj, name)\
1303     (likely(PyDict_CheckExact(obj)) ?\
1304      __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
1305 #else
1306 #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
1307 #define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
1308 #endif
1309 
1310 /* PyDictContains.proto */
__Pyx_PyDict_ContainsTF(PyObject * item,PyObject * dict,int eq)1311 static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) {
1312     int result = PyDict_Contains(dict, item);
1313     return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
1314 }
1315 
1316 /* GetTopmostException.proto */
1317 #if CYTHON_USE_EXC_INFO_STACK
1318 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
1319 #endif
1320 
1321 /* PyThreadStateGet.proto */
1322 #if CYTHON_FAST_THREAD_STATE
1323 #define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
1324 #define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
1325 #define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
1326 #else
1327 #define __Pyx_PyThreadState_declare
1328 #define __Pyx_PyThreadState_assign
1329 #define __Pyx_PyErr_Occurred()  PyErr_Occurred()
1330 #endif
1331 
1332 /* SaveResetException.proto */
1333 #if CYTHON_FAST_THREAD_STATE
1334 #define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
1335 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1336 #define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
1337 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1338 #else
1339 #define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
1340 #define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
1341 #endif
1342 
1343 /* PyErrExceptionMatches.proto */
1344 #if CYTHON_FAST_THREAD_STATE
1345 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
1346 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
1347 #else
1348 #define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
1349 #endif
1350 
1351 /* GetException.proto */
1352 #if CYTHON_FAST_THREAD_STATE
1353 #define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
1354 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1355 #else
1356 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
1357 #endif
1358 
1359 /* PyErrFetchRestore.proto */
1360 #if CYTHON_FAST_THREAD_STATE
1361 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
1362 #define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
1363 #define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
1364 #define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
1365 #define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
1366 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1367 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1368 #if CYTHON_COMPILING_IN_CPYTHON
1369 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
1370 #else
1371 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1372 #endif
1373 #else
1374 #define __Pyx_PyErr_Clear() PyErr_Clear()
1375 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1376 #define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
1377 #define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
1378 #define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
1379 #define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
1380 #define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
1381 #define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
1382 #endif
1383 
1384 /* RaiseTooManyValuesToUnpack.proto */
1385 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
1386 
1387 /* RaiseNeedMoreValuesToUnpack.proto */
1388 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
1389 
1390 /* IterFinish.proto */
1391 static CYTHON_INLINE int __Pyx_IterFinish(void);
1392 
1393 /* UnpackItemEndCheck.proto */
1394 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
1395 
1396 /* Import.proto */
1397 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
1398 
1399 /* ImportFrom.proto */
1400 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
1401 
1402 /* GetAttr3.proto */
1403 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);
1404 
1405 /* IncludeStringH.proto */
1406 #include <string.h>
1407 
1408 /* BytesEquals.proto */
1409 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
1410 
1411 /* UnicodeEquals.proto */
1412 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
1413 
1414 /* SliceObject.proto */
1415 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
1416         PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
1417         PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
1418         int has_cstart, int has_cstop, int wraparound);
1419 
1420 /* PyObjectSetAttrStr.proto */
1421 #if CYTHON_USE_TYPE_SLOTS
1422 #define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
1423 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
1424 #else
1425 #define __Pyx_PyObject_DelAttrStr(o,n)   PyObject_DelAttr(o,n)
1426 #define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
1427 #endif
1428 
1429 /* PyDictVersioning.proto */
1430 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
1431 #define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
1432 #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
1433 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
1434     (version_var) = __PYX_GET_DICT_VERSION(dict);\
1435     (cache_var) = (value);
1436 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
1437     static PY_UINT64_T __pyx_dict_version = 0;\
1438     static PyObject *__pyx_dict_cached_value = NULL;\
1439     if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
1440         (VAR) = __pyx_dict_cached_value;\
1441     } else {\
1442         (VAR) = __pyx_dict_cached_value = (LOOKUP);\
1443         __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
1444     }\
1445 }
1446 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
1447 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
1448 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
1449 #else
1450 #define __PYX_GET_DICT_VERSION(dict)  (0)
1451 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
1452 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
1453 #endif
1454 
1455 /* GetModuleGlobalName.proto */
1456 #if CYTHON_USE_DICT_VERSIONS
1457 #define __Pyx_GetModuleGlobalName(var, name)  {\
1458     static PY_UINT64_T __pyx_dict_version = 0;\
1459     static PyObject *__pyx_dict_cached_value = NULL;\
1460     (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
1461         (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
1462         __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1463 }
1464 #define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
1465     PY_UINT64_T __pyx_dict_version;\
1466     PyObject *__pyx_dict_cached_value;\
1467     (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1468 }
1469 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
1470 #else
1471 #define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
1472 #define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
1473 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
1474 #endif
1475 
1476 /* GetItemInt.proto */
1477 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1478     (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1479     __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
1480     (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
1481                __Pyx_GetItemInt_Generic(o, to_py_func(i))))
1482 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1483     (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1484     __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1485     (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
1486 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
1487                                                               int wraparound, int boundscheck);
1488 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1489     (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1490     __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1491     (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
1492 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
1493                                                               int wraparound, int boundscheck);
1494 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
1495 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
1496                                                      int is_list, int wraparound, int boundscheck);
1497 
1498 /* ObjectGetItem.proto */
1499 #if CYTHON_USE_TYPE_SLOTS
1500 static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
1501 #else
1502 #define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
1503 #endif
1504 
1505 /* PyObjectLookupSpecial.proto */
1506 #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
__Pyx_PyObject_LookupSpecial(PyObject * obj,PyObject * attr_name)1507 static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) {
1508     PyObject *res;
1509     PyTypeObject *tp = Py_TYPE(obj);
1510 #if PY_MAJOR_VERSION < 3
1511     if (unlikely(PyInstance_Check(obj)))
1512         return __Pyx_PyObject_GetAttrStr(obj, attr_name);
1513 #endif
1514     res = _PyType_Lookup(tp, attr_name);
1515     if (likely(res)) {
1516         descrgetfunc f = Py_TYPE(res)->tp_descr_get;
1517         if (!f) {
1518             Py_INCREF(res);
1519         } else {
1520             res = f(res, obj, (PyObject *)tp);
1521         }
1522     } else {
1523         PyErr_SetObject(PyExc_AttributeError, attr_name);
1524     }
1525     return res;
1526 }
1527 #else
1528 #define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
1529 #endif
1530 
1531 /* PySequenceContains.proto */
__Pyx_PySequence_ContainsTF(PyObject * item,PyObject * seq,int eq)1532 static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
1533     int result = PySequence_Contains(seq, item);
1534     return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
1535 }
1536 
1537 /* None.proto */
1538 static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
1539 
1540 /* ListCompAppend.proto */
1541 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
__Pyx_ListComp_Append(PyObject * list,PyObject * x)1542 static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
1543     PyListObject* L = (PyListObject*) list;
1544     Py_ssize_t len = Py_SIZE(list);
1545     if (likely(L->allocated > len)) {
1546         Py_INCREF(x);
1547         PyList_SET_ITEM(list, len, x);
1548         __Pyx_SET_SIZE(list, len + 1);
1549         return 0;
1550     }
1551     return PyList_Append(list, x);
1552 }
1553 #else
1554 #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
1555 #endif
1556 
1557 /* WriteUnraisableException.proto */
1558 static void __Pyx_WriteUnraisable(const char *name, int clineno,
1559                                   int lineno, const char *filename,
1560                                   int full_traceback, int nogil);
1561 
1562 /* PyUnicodeContains.proto */
__Pyx_PyUnicode_ContainsTF(PyObject * substring,PyObject * text,int eq)1563 static CYTHON_INLINE int __Pyx_PyUnicode_ContainsTF(PyObject* substring, PyObject* text, int eq) {
1564     int result = PyUnicode_Contains(text, substring);
1565     return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
1566 }
1567 
1568 /* ListAppend.proto */
1569 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
__Pyx_PyList_Append(PyObject * list,PyObject * x)1570 static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
1571     PyListObject* L = (PyListObject*) list;
1572     Py_ssize_t len = Py_SIZE(list);
1573     if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
1574         Py_INCREF(x);
1575         PyList_SET_ITEM(list, len, x);
1576         __Pyx_SET_SIZE(list, len + 1);
1577         return 0;
1578     }
1579     return PyList_Append(list, x);
1580 }
1581 #else
1582 #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
1583 #endif
1584 
1585 /* PyObjectGetMethod.proto */
1586 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
1587 
1588 /* PyObjectCallMethod0.proto */
1589 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
1590 
1591 /* pop.proto */
1592 static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L);
1593 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
1594 static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L);
1595 #define __Pyx_PyObject_Pop(L) (likely(PyList_CheckExact(L)) ?\
1596     __Pyx_PyList_Pop(L) : __Pyx__PyObject_Pop(L))
1597 #else
1598 #define __Pyx_PyList_Pop(L)  __Pyx__PyObject_Pop(L)
1599 #define __Pyx_PyObject_Pop(L)  __Pyx__PyObject_Pop(L)
1600 #endif
1601 
1602 /* UnpackUnboundCMethod.proto */
1603 typedef struct {
1604     PyObject *type;
1605     PyObject **method_name;
1606     PyCFunction func;
1607     PyObject *method;
1608     int flag;
1609 } __Pyx_CachedCFunction;
1610 
1611 /* CallUnboundCMethod0.proto */
1612 static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
1613 #if CYTHON_COMPILING_IN_CPYTHON
1614 #define __Pyx_CallUnboundCMethod0(cfunc, self)\
1615     (likely((cfunc)->func) ?\
1616         (likely((cfunc)->flag == METH_NOARGS) ?  (*((cfunc)->func))(self, NULL) :\
1617          (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\
1618             (PY_VERSION_HEX >= 0x030700A0 ?\
1619                 (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\
1620                 (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\
1621           (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\
1622             (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\
1623             (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ?  ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
1624                ((cfunc)->flag == METH_VARARGS ?  (*((cfunc)->func))(self, __pyx_empty_tuple) :\
1625                __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\
1626         __Pyx__CallUnboundCMethod0(cfunc, self))
1627 #else
1628 #define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
1629 #endif
1630 
1631 /* RaiseNoneIterError.proto */
1632 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
1633 
1634 /* FastTypeChecks.proto */
1635 #if CYTHON_COMPILING_IN_CPYTHON
1636 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
1637 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
1638 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
1639 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
1640 #else
1641 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
1642 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
1643 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
1644 #endif
1645 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
1646 
1647 /* pyfrozenset_new.proto */
1648 static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it);
1649 
1650 /* PySetContains.proto */
1651 static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq);
1652 
1653 /* py_set_discard.proto */
1654 static CYTHON_INLINE int __Pyx_PySet_Discard(PyObject *set, PyObject *key);
1655 
1656 /* RaiseException.proto */
1657 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
1658 
1659 /* PyObjectFormatAndDecref.proto */
1660 static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f);
1661 static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f);
1662 
1663 /* JoinPyUnicode.proto */
1664 static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
1665                                       Py_UCS4 max_char);
1666 
1667 /* CallNextTpDealloc.proto */
1668 static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
1669 
1670 /* CallNextTpTraverse.proto */
1671 static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
1672 
1673 /* CallNextTpClear.proto */
1674 static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
1675 
1676 /* PyObject_GenericGetAttrNoDict.proto */
1677 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
1678 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
1679 #else
1680 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
1681 #endif
1682 
1683 /* PyObject_GenericGetAttr.proto */
1684 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
1685 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
1686 #else
1687 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
1688 #endif
1689 
1690 /* TypeImport.proto */
1691 #ifndef __PYX_HAVE_RT_ImportType_proto
1692 #define __PYX_HAVE_RT_ImportType_proto
1693 enum __Pyx_ImportType_CheckSize {
1694    __Pyx_ImportType_CheckSize_Error = 0,
1695    __Pyx_ImportType_CheckSize_Warn = 1,
1696    __Pyx_ImportType_CheckSize_Ignore = 2
1697 };
1698 static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
1699 #endif
1700 
1701 /* GetVTable.proto */
1702 static void* __Pyx_GetVtable(PyObject *dict);
1703 
1704 /* SetVTable.proto */
1705 static int __Pyx_SetVtable(PyObject *dict, void *vtable);
1706 
1707 /* FetchCommonType.proto */
1708 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
1709 
1710 /* CythonFunctionShared.proto */
1711 #define __Pyx_CyFunction_USED 1
1712 #define __Pyx_CYFUNCTION_STATICMETHOD  0x01
1713 #define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
1714 #define __Pyx_CYFUNCTION_CCLASS        0x04
1715 #define __Pyx_CyFunction_GetClosure(f)\
1716     (((__pyx_CyFunctionObject *) (f))->func_closure)
1717 #define __Pyx_CyFunction_GetClassObj(f)\
1718     (((__pyx_CyFunctionObject *) (f))->func_classobj)
1719 #define __Pyx_CyFunction_Defaults(type, f)\
1720     ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
1721 #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
1722     ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
1723 typedef struct {
1724     PyCFunctionObject func;
1725 #if PY_VERSION_HEX < 0x030500A0
1726     PyObject *func_weakreflist;
1727 #endif
1728     PyObject *func_dict;
1729     PyObject *func_name;
1730     PyObject *func_qualname;
1731     PyObject *func_doc;
1732     PyObject *func_globals;
1733     PyObject *func_code;
1734     PyObject *func_closure;
1735     PyObject *func_classobj;
1736     void *defaults;
1737     int defaults_pyobjects;
1738     size_t defaults_size;  // used by FusedFunction for copying defaults
1739     int flags;
1740     PyObject *defaults_tuple;
1741     PyObject *defaults_kwdict;
1742     PyObject *(*defaults_getter)(PyObject *);
1743     PyObject *func_annotations;
1744 } __pyx_CyFunctionObject;
1745 static PyTypeObject *__pyx_CyFunctionType = 0;
1746 #define __Pyx_CyFunction_Check(obj)  (__Pyx_TypeCheck(obj, __pyx_CyFunctionType))
1747 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
1748                                       int flags, PyObject* qualname,
1749                                       PyObject *self,
1750                                       PyObject *module, PyObject *globals,
1751                                       PyObject* code);
1752 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
1753                                                          size_t size,
1754                                                          int pyobjects);
1755 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
1756                                                             PyObject *tuple);
1757 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
1758                                                              PyObject *dict);
1759 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
1760                                                               PyObject *dict);
1761 static int __pyx_CyFunction_init(void);
1762 
1763 /* CythonFunction.proto */
1764 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
1765                                       int flags, PyObject* qualname,
1766                                       PyObject *closure,
1767                                       PyObject *module, PyObject *globals,
1768                                       PyObject* code);
1769 
1770 /* CalculateMetaclass.proto */
1771 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
1772 
1773 /* SetNameInClass.proto */
1774 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
1775 #define __Pyx_SetNameInClass(ns, name, value)\
1776     (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
1777 #elif CYTHON_COMPILING_IN_CPYTHON
1778 #define __Pyx_SetNameInClass(ns, name, value)\
1779     (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
1780 #else
1781 #define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
1782 #endif
1783 
1784 /* Py3ClassCreate.proto */
1785 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
1786                                            PyObject *mkw, PyObject *modname, PyObject *doc);
1787 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
1788                                       PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
1789 
1790 /* CLineInTraceback.proto */
1791 #ifdef CYTHON_CLINE_IN_TRACEBACK
1792 #define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
1793 #else
1794 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
1795 #endif
1796 
1797 /* CodeObjectCache.proto */
1798 typedef struct {
1799     PyCodeObject* code_object;
1800     int code_line;
1801 } __Pyx_CodeObjectCacheEntry;
1802 struct __Pyx_CodeObjectCache {
1803     int count;
1804     int max_count;
1805     __Pyx_CodeObjectCacheEntry* entries;
1806 };
1807 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
1808 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
1809 static PyCodeObject *__pyx_find_code_object(int code_line);
1810 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
1811 
1812 /* AddTraceback.proto */
1813 static void __Pyx_AddTraceback(const char *funcname, int c_line,
1814                                int py_line, const char *filename);
1815 
1816 /* GCCDiagnostics.proto */
1817 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
1818 #define __Pyx_HAS_GCC_DIAGNOSTIC
1819 #endif
1820 
1821 /* CIntToPy.proto */
1822 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
1823 
1824 /* CIntFromPy.proto */
1825 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
1826 
1827 /* CIntToPy.proto */
1828 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
1829 
1830 /* CIntFromPy.proto */
1831 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
1832 
1833 /* CheckBinaryVersion.proto */
1834 static int __Pyx_check_binary_version(void);
1835 
1836 /* VoidPtrExport.proto */
1837 static int __Pyx_ExportVoidPtr(PyObject *name, void *p, const char *sig);
1838 
1839 /* FunctionExport.proto */
1840 static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);
1841 
1842 /* InitStrings.proto */
1843 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
1844 
1845 static long __pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto*/
1846 static PyObject *__pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text, CYTHON_UNUSED int __pyx_skip_dispatch); /* proto*/
1847 
1848 /* Module declarations from 'cython' */
1849 
1850 /* Module declarations from 'Cython.Plex.Actions' */
1851 static PyTypeObject *__pyx_ptype_6Cython_4Plex_7Actions_Action = 0;
1852 static PyTypeObject *__pyx_ptype_6Cython_4Plex_7Actions_Return = 0;
1853 static PyTypeObject *__pyx_ptype_6Cython_4Plex_7Actions_Call = 0;
1854 static PyTypeObject *__pyx_ptype_6Cython_4Plex_7Actions_Begin = 0;
1855 static PyTypeObject *__pyx_ptype_6Cython_4Plex_7Actions_Ignore = 0;
1856 static PyTypeObject *__pyx_ptype_6Cython_4Plex_7Actions_Text = 0;
1857 
1858 /* Module declarations from 'Cython.Plex.Scanners' */
1859 static PyTypeObject *__pyx_ptype_6Cython_4Plex_8Scanners_Scanner = 0;
1860 
1861 /* Module declarations from 'Cython.Compiler.Scanning' */
1862 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_8Scanning_Method = 0;
1863 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope = 0;
1864 static PyTypeObject *__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner = 0;
1865 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_any_string_prefix = 0;
1866 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_IDENT = 0;
1867 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_make_lexicon = 0;
1868 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_lexicon = 0;
1869 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_print_function = 0;
1870 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_error = 0;
1871 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_warning = 0;
1872 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_os = 0;
1873 static PyObject *__pyx_v_6Cython_8Compiler_8Scanning_platform = 0;
1874 static PyObject *__pyx_f_6Cython_8Compiler_8Scanning_get_lexicon(void); /*proto*/
1875 static PyObject *__pyx_f_6Cython_8Compiler_8Scanning_initial_compile_time_env(void); /*proto*/
1876 #define __Pyx_MODULE_NAME "Cython.Compiler.Scanning"
1877 extern int __pyx_module_is_main_Cython__Compiler__Scanning;
1878 int __pyx_module_is_main_Cython__Compiler__Scanning = 0;
1879 
1880 /* Implementation of 'Cython.Compiler.Scanning' */
1881 static PyObject *__pyx_builtin_object;
1882 static PyObject *__pyx_builtin_KeyError;
1883 static PyObject *__pyx_builtin_zip;
1884 static PyObject *__pyx_builtin_ImportError;
1885 static PyObject *__pyx_builtin_AttributeError;
1886 static PyObject *__pyx_builtin_ValueError;
1887 static PyObject *__pyx_builtin_id;
1888 static const char __pyx_k_f[] = "f";
1889 static const char __pyx_k_x[] = "x";
1890 static const char __pyx_k_IF[] = "IF";
1891 static const char __pyx_k__5[] = "\\";
1892 static const char __pyx_k__6[] = "/";
1893 static const char __pyx_k__8[] = ".";
1894 static const char __pyx_k_eq[] = "__eq__";
1895 static const char __pyx_k_gt[] = "__gt__";
1896 static const char __pyx_k_id[] = "id";
1897 static const char __pyx_k_if[] = "if";
1898 static const char __pyx_k_in[] = "in";
1899 static const char __pyx_k_is[] = "is";
1900 static const char __pyx_k_le[] = "__le__";
1901 static const char __pyx_k_lt[] = "__lt__";
1902 static const char __pyx_k_or[] = "or";
1903 static const char __pyx_k_os[] = "os";
1904 static const char __pyx_k_py[] = ".py";
1905 static const char __pyx_k_sy[] = "sy";
1906 static const char __pyx_k_DEF[] = "DEF";
1907 static const char __pyx_k_EOF[] = "EOF";
1908 static const char __pyx_k__10[] = "\n";
1909 static const char __pyx_k__11[] = "";
1910 static const char __pyx_k__12[] = "_";
1911 static const char __pyx_k__15[] = "'";
1912 static const char __pyx_k__18[] = ";";
1913 static const char __pyx_k__95[] = "\"";
1914 static const char __pyx_k__96[] = "'''";
1915 static const char __pyx_k__97[] = "\"\"\"";
1916 static const char __pyx_k_abs[] = "abs";
1917 static const char __pyx_k_all[] = "all";
1918 static const char __pyx_k_and[] = "and";
1919 static const char __pyx_k_any[] = "any";
1920 static const char __pyx_k_bin[] = "bin";
1921 static const char __pyx_k_chr[] = "chr";
1922 static const char __pyx_k_cmp[] = "cmp";
1923 static const char __pyx_k_cwd[] = "cwd";
1924 static const char __pyx_k_def[] = "def";
1925 static const char __pyx_k_del[] = "del";
1926 static const char __pyx_k_doc[] = "__doc__";
1927 static const char __pyx_k_err[] = "err";
1928 static const char __pyx_k_ext[] = "ext";
1929 static const char __pyx_k_for[] = "for";
1930 static const char __pyx_k_hex[] = "hex";
1931 static const char __pyx_k_int[] = "int";
1932 static const char __pyx_k_key[] = "key";
1933 static const char __pyx_k_len[] = "len";
1934 static const char __pyx_k_map[] = "map";
1935 static const char __pyx_k_max[] = "max";
1936 static const char __pyx_k_min[] = "min";
1937 static const char __pyx_k_not[] = "not";
1938 static const char __pyx_k_oct[] = "oct";
1939 static const char __pyx_k_ord[] = "ord";
1940 static const char __pyx_k_pop[] = "pop";
1941 static const char __pyx_k_pos[] = "pos";
1942 static const char __pyx_k_pow[] = "pow";
1943 static const char __pyx_k_pxd[] = ".pxd";
1944 static const char __pyx_k_pyx[] = ".pyx";
1945 static const char __pyx_k_sep[] = "sep";
1946 static const char __pyx_k_set[] = "set";
1947 static const char __pyx_k_str[] = "str";
1948 static const char __pyx_k_sum[] = "sum";
1949 static const char __pyx_k_try[] = "try";
1950 static const char __pyx_k_zip[] = "zip";
1951 static const char __pyx_k_ELIF[] = "ELIF";
1952 static const char __pyx_k_ELSE[] = "ELSE";
1953 static const char __pyx_k_True[] = "True";
1954 static const char __pyx_k_bool[] = "bool";
1955 static const char __pyx_k_cdef[] = "cdef";
1956 static const char __pyx_k_code[] = "code";
1957 static const char __pyx_k_copy[] = "__copy__";
1958 static const char __pyx_k_dict[] = "dict";
1959 static const char __pyx_k_elif[] = "elif";
1960 static const char __pyx_k_else[] = "else";
1961 static const char __pyx_k_exec[] = "exec";
1962 static const char __pyx_k_exit[] = "__exit__";
1963 static const char __pyx_k_file[] = "file";
1964 static const char __pyx_k_from[] = "from";
1965 static const char __pyx_k_hash[] = "hash";
1966 static const char __pyx_k_init[] = "__init__";
1967 static const char __pyx_k_line[] = "line";
1968 static const char __pyx_k_list[] = "list";
1969 static const char __pyx_k_long[] = "long";
1970 static const char __pyx_k_main[] = "__main__";
1971 static const char __pyx_k_memo[] = "memo";
1972 static const char __pyx_k_name[] = "name";
1973 static const char __pyx_k_next[] = "next";
1974 static const char __pyx_k_pass[] = "pass";
1975 static const char __pyx_k_path[] = "path";
1976 static const char __pyx_k_peek[] = "peek";
1977 static const char __pyx_k_py_2[] = "py";
1978 static const char __pyx_k_repr[] = "repr";
1979 static const char __pyx_k_self[] = "self";
1980 static const char __pyx_k_test[] = "__test__";
1981 static const char __pyx_k_text[] = "text";
1982 static const char __pyx_k_what[] = "what";
1983 static const char __pyx_k_with[] = "with";
1984 static const char __pyx_k_ASCII[] = "ASCII";
1985 static const char __pyx_k_False[] = "False";
1986 static const char __pyx_k_IDENT[] = "IDENT";
1987 static const char __pyx_k_Utils[] = "Utils";
1988 static const char __pyx_k_ascii[] = "ascii";
1989 static const char __pyx_k_async[] = "async";
1990 static const char __pyx_k_await[] = "await";
1991 static const char __pyx_k_break[] = "break";
1992 static const char __pyx_k_bytes[] = "bytes";
1993 static const char __pyx_k_class[] = "class";
1994 static const char __pyx_k_cpdef[] = "cpdef";
1995 static const char __pyx_k_enter[] = "__enter__";
1996 static const char __pyx_k_error[] = "error";
1997 static const char __pyx_k_fatal[] = "fatal";
1998 static const char __pyx_k_float[] = "float";
1999 static const char __pyx_k_found[] = "', found '";
2000 static const char __pyx_k_lines[] = "_lines";
2001 static const char __pyx_k_other[] = "other";
2002 static const char __pyx_k_outer[] = "outer";
2003 static const char __pyx_k_print[] = "print";
2004 static const char __pyx_k_pxd_2[] = "pxd";
2005 static const char __pyx_k_pyx_2[] = "pyx";
2006 static const char __pyx_k_raise[] = "raise";
2007 static const char __pyx_k_range[] = "range";
2008 static const char __pyx_k_round[] = "round";
2009 static const char __pyx_k_saved[] = "saved";
2010 static const char __pyx_k_scope[] = "scope";
2011 static const char __pyx_k_slice[] = "slice";
2012 static const char __pyx_k_split[] = "split";
2013 static const char __pyx_k_str_2[] = "__str__";
2014 static const char __pyx_k_token[] = "token";
2015 static const char __pyx_k_tuple[] = "tuple";
2016 static const char __pyx_k_uname[] = "uname";
2017 static const char __pyx_k_value[] = "value";
2018 static const char __pyx_k_while[] = "while";
2019 static const char __pyx_k_yield[] = "yield";
2020 static const char __pyx_k_DEDENT[] = "DEDENT";
2021 static const char __pyx_k_Errors[] = "Errors";
2022 static const char __pyx_k_Future[] = "Future";
2023 static const char __pyx_k_INDENT[] = "INDENT";
2024 static const char __pyx_k_Method[] = "Method";
2025 static const char __pyx_k_assert[] = "assert";
2026 static const char __pyx_k_decode[] = "decode";
2027 static const char __pyx_k_divmod[] = "divmod";
2028 static const char __pyx_k_encode[] = "encode";
2029 static const char __pyx_k_except[] = "except";
2030 static const char __pyx_k_expect[] = "expect";
2031 static const char __pyx_k_filter[] = "filter";
2032 static const char __pyx_k_format[] = "format";
2033 static const char __pyx_k_getcwd[] = "getcwd";
2034 static const char __pyx_k_global[] = "global";
2035 static const char __pyx_k_hash_2[] = "__hash__";
2036 static const char __pyx_k_import[] = "__import__";
2037 static const char __pyx_k_lambda[] = "lambda";
2038 static const char __pyx_k_lookup[] = "lookup";
2039 static const char __pyx_k_module[] = "__module__";
2040 static const char __pyx_k_name_2[] = "__name__";
2041 static const char __pyx_k_object[] = "object";
2042 static const char __pyx_k_reduce[] = "reduce";
2043 static const char __pyx_k_repr_2[] = "__repr__";
2044 static const char __pyx_k_return[] = "return";
2045 static const char __pyx_k_sorted[] = "sorted";
2046 static const char __pyx_k_stream[] = "stream";
2047 static const char __pyx_k_symbol[] = "symbol";
2048 static const char __pyx_k_unread[] = "unread";
2049 static const char __pyx_k_update[] = "update";
2050 static const char __pyx_k_xrange[] = "xrange";
2051 static const char __pyx_k_Lexicon[] = "Lexicon";
2052 static const char __pyx_k_NEWLINE[] = "NEWLINE";
2053 static const char __pyx_k_Scanner[] = "Scanner";
2054 static const char __pyx_k_abspath[] = "abspath";
2055 static const char __pyx_k_builtin[] = "__builtin__";
2056 static const char __pyx_k_cimport[] = "cimport";
2057 static const char __pyx_k_complex[] = "complex";
2058 static const char __pyx_k_context[] = "context";
2059 static const char __pyx_k_declare[] = "declare";
2060 static const char __pyx_k_finally[] = "finally";
2061 static const char __pyx_k_found_2[] = "found";
2062 static const char __pyx_k_include[] = "include";
2063 static const char __pyx_k_lines_2[] = "lines";
2064 static const char __pyx_k_message[] = "message";
2065 static const char __pyx_k_options[] = "options";
2066 static const char __pyx_k_prepare[] = "__prepare__";
2067 static const char __pyx_k_relpath[] = "relpath";
2068 static const char __pyx_k_replace[] = "replace";
2069 static const char __pyx_k_unicode[] = "unicode";
2070 static const char __pyx_k_warning[] = "warning";
2071 static const char __pyx_k_workdir[] = "workdir";
2072 static const char __pyx_k_Expected[] = "Expected '";
2073 static const char __pyx_k_KeyError[] = "KeyError";
2074 static const char __pyx_k_builtins[] = "builtins";
2075 static const char __pyx_k_cmp_name[] = "_cmp_name";
2076 static const char __pyx_k_continue[] = "continue";
2077 static const char __pyx_k_ctypedef[] = "ctypedef";
2078 static const char __pyx_k_deepcopy[] = "__deepcopy__";
2079 static const char __pyx_k_encoding[] = "encoding";
2080 static const char __pyx_k_esc_desc[] = "esc_desc";
2081 static const char __pyx_k_expected[] = "expected";
2082 static const char __pyx_k_filename[] = "filename";
2083 static const char __pyx_k_import_2[] = "import";
2084 static const char __pyx_k_nonlocal[] = "nonlocal";
2085 static const char __pyx_k_platform[] = "platform";
2086 static const char __pyx_k_position[] = "position";
2087 static const char __pyx_k_put_back[] = "put_back";
2088 static const char __pyx_k_pyx_capi[] = "__pyx_capi__";
2089 static const char __pyx_k_qualname[] = "__qualname__";
2090 static const char __pyx_k_reversed[] = "reversed";
2091 static const char __pyx_k_splitext[] = "splitext";
2092 static const char __pyx_k_systring[] = "systring";
2093 static const char __pyx_k_DQ_STRING[] = "DQ_STRING";
2094 static const char __pyx_k_SQ_STRING[] = "SQ_STRING";
2095 static const char __pyx_k_bytearray[] = "bytearray";
2096 static const char __pyx_k_codelines[] = "codelines";
2097 static const char __pyx_k_enumerate[] = "enumerate";
2098 static const char __pyx_k_file_path[] = "file_path";
2099 static const char __pyx_k_file_type[] = "_file_type";
2100 static const char __pyx_k_frozenset[] = "frozenset";
2101 static const char __pyx_k_functools[] = "functools";
2102 static const char __pyx_k_get_lines[] = "get_lines";
2103 static const char __pyx_k_metaclass[] = "__metaclass__";
2104 static const char __pyx_k_END_STRING[] = "END_STRING";
2105 static const char __pyx_k_TDQ_STRING[] = "TDQ_STRING";
2106 static const char __pyx_k_TSQ_STRING[] = "TSQ_STRING";
2107 static const char __pyx_k_ValueError[] = "ValueError";
2108 static const char __pyx_k_eof_action[] = "eof_action";
2109 static const char __pyx_k_exit_async[] = "exit_async";
2110 static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
2111 static const char __pyx_k_startswith[] = "startswith";
2112 static const char __pyx_k_ImportError[] = "ImportError";
2113 static const char __pyx_k_Plex_Errors[] = "Plex.Errors";
2114 static const char __pyx_k_commentline[] = "commentline";
2115 static const char __pyx_k_enter_async[] = "enter_async";
2116 static const char __pyx_k_initial_pos[] = "initial_pos";
2117 static const char __pyx_k_lookup_here[] = "lookup_here";
2118 static const char __pyx_k_BEGIN_STRING[] = "BEGIN_STRING";
2119 static const char __pyx_k_PyrexScanner[] = "PyrexScanner";
2120 static const char __pyx_k_make_lexicon[] = "make_lexicon";
2121 static const char __pyx_k_stringsource[] = "stringsource";
2122 static const char __pyx_k_Method___copy[] = "Method.__copy__";
2123 static const char __pyx_k_Plex_Scanners[] = "Plex.Scanners";
2124 static const char __pyx_k_UNAME_MACHINE[] = "UNAME_MACHINE";
2125 static const char __pyx_k_UNAME_RELEASE[] = "UNAME_RELEASE";
2126 static const char __pyx_k_UNAME_SYSNAME[] = "UNAME_SYSNAME";
2127 static const char __pyx_k_UNAME_VERSION[] = "UNAME_VERSION";
2128 static const char __pyx_k_async_enabled[] = "async_enabled";
2129 static const char __pyx_k_debug_scanner[] = "debug_scanner";
2130 static const char __pyx_k_expect_dedent[] = "expect_dedent";
2131 static const char __pyx_k_expect_indent[] = "expect_indent";
2132 static const char __pyx_k_string_states[] = "string_states";
2133 static const char __pyx_k_trace_scanner[] = "trace_scanner";
2134 static const char __pyx_k_AttributeError[] = "AttributeError";
2135 static const char __pyx_k_UNAME_NODENAME[] = "UNAME_NODENAME";
2136 static const char __pyx_k_error_handling[] = "error_handling";
2137 static const char __pyx_k_expect_keyword[] = "expect_keyword";
2138 static const char __pyx_k_expect_newline[] = "expect_newline";
2139 static const char __pyx_k_included_files[] = "included_files";
2140 static const char __pyx_k_intern_ustring[] = "intern_ustring";
2141 static const char __pyx_k_is_cython_file[] = "is_cython_file";
2142 static const char __pyx_k_is_python_file[] = "is_python_file";
2143 static const char __pyx_k_language_level[] = "language_level";
2144 static const char __pyx_k_newline_action[] = "newline_action";
2145 static const char __pyx_k_parent_scanner[] = "parent_scanner";
2146 static const char __pyx_k_parse_comments[] = "parse_comments";
2147 static const char __pyx_k_print_function[] = "print_function";
2148 static const char __pyx_k_decode_filename[] = "decode_filename";
2149 static const char __pyx_k_get_description[] = "get_description";
2150 static const char __pyx_k_source_encoding[] = "source_encoding";
2151 static const char __pyx_k_CompileTimeScope[] = "CompileTimeScope";
2152 static const char __pyx_k_SourceDescriptor[] = "SourceDescriptor";
2153 static const char __pyx_k_compile_time_env[] = "compile_time_env";
2154 static const char __pyx_k_ignore_semicolon[] = "ignore_semicolon";
2155 static const char __pyx_k_open_source_file[] = "open_source_file";
2156 static const char __pyx_k_path_description[] = "path_description";
2157 static const char __pyx_k_Method___deepcopy[] = "Method.__deepcopy__";
2158 static const char __pyx_k_PyrexScanner_next[] = "PyrexScanner.next";
2159 static const char __pyx_k_PyrexScanner_peek[] = "PyrexScanner.peek";
2160 static const char __pyx_k_UnrecognizedInput[] = "UnrecognizedInput";
2161 static const char __pyx_k_any_string_prefix[] = "any_string_prefix";
2162 static const char __pyx_k_compile_time_eval[] = "compile_time_eval";
2163 static const char __pyx_k_compile_time_expr[] = "compile_time_expr";
2164 static const char __pyx_k_end_string_action[] = "end_string_action";
2165 static const char __pyx_k_future_directives[] = "future_directives";
2166 static const char __pyx_k_py_reserved_words[] = "py_reserved_words";
2167 static const char __pyx_k_scanner_dump_file[] = "scanner_dump_file";
2168 static const char __pyx_k_strip_underscores[] = "strip_underscores";
2169 static const char __pyx_k_Expected_a_newline[] = "Expected a newline";
2170 static const char __pyx_k_PyrexScanner_error[] = "PyrexScanner.error";
2171 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
2172 static const char __pyx_k_indentation_action[] = "indentation_action";
2173 static const char __pyx_k_pyx_reserved_words[] = "pyx_reserved_words";
2174 static const char __pyx_k_PyrexScanner_expect[] = "PyrexScanner.expect";
2175 static const char __pyx_k_PyrexScanner_unread[] = "PyrexScanner.unread";
2176 static const char __pyx_k_begin_string_action[] = "begin_string_action";
2177 static const char __pyx_k_escaped_description[] = "_escaped_description";
2178 static const char __pyx_k_open_bracket_action[] = "open_bracket_action";
2179 static const char __pyx_k_scanner_debug_flags[] = "scanner_debug_flags";
2180 static const char __pyx_k_FileSourceDescriptor[] = "FileSourceDescriptor";
2181 static const char __pyx_k_close_bracket_action[] = "close_bracket_action";
2182 static const char __pyx_k_PyrexScanner_expected[] = "PyrexScanner.expected";
2183 static const char __pyx_k_PyrexScanner_put_back[] = "PyrexScanner.put_back";
2184 static const char __pyx_k_SourceDescriptor___gt[] = "SourceDescriptor.__gt__";
2185 static const char __pyx_k_SourceDescriptor___le[] = "SourceDescriptor.__le__";
2186 static const char __pyx_k_SourceDescriptor___lt[] = "SourceDescriptor.__lt__";
2187 static const char __pyx_k_get_error_description[] = "get_error_description";
2188 static const char __pyx_k_FileSourceDescriptor_s[] = "<FileSourceDescriptor:%s>";
2189 static const char __pyx_k_SourceDescriptor___str[] = "SourceDescriptor.__str__";
2190 static const char __pyx_k_StringSourceDescriptor[] = "StringSourceDescriptor";
2191 static const char __pyx_k_Unrecognized_character[] = "Unrecognized character";
2192 static const char __pyx_k_unclosed_string_action[] = "unclosed_string_action";
2193 static const char __pyx_k_CompileTimeScope_lookup[] = "CompileTimeScope.lookup";
2194 static const char __pyx_k_CompileTimeScope_update[] = "CompileTimeScope.update";
2195 static const char __pyx_k_PyrexScanner_eof_action[] = "PyrexScanner.eof_action";
2196 static const char __pyx_k_PyrexScanner_exit_async[] = "PyrexScanner.exit_async";
2197 static const char __pyx_k_SourceDescriptor___copy[] = "SourceDescriptor.__copy__";
2198 static const char __pyx_k_Unclosed_string_literal[] = "Unclosed string literal";
2199 static const char __pyx_k_get_escaped_description[] = "get_escaped_description";
2200 static const char __pyx_k_get_filenametable_entry[] = "get_filenametable_entry";
2201 static const char __pyx_k_set_file_type_from_name[] = "set_file_type_from_name";
2202 static const char __pyx_k_CompileTimeScope_declare[] = "CompileTimeScope.declare";
2203 static const char __pyx_k_Cython_Compiler_Scanning[] = "Cython.Compiler.Scanning";
2204 static const char __pyx_k_Inconsistent_indentation[] = "Inconsistent indentation";
2205 static const char __pyx_k_PyrexScanner_commentline[] = "PyrexScanner.commentline";
2206 static const char __pyx_k_PyrexScanner_enter_async[] = "PyrexScanner.enter_async";
2207 static const char __pyx_k_StringSourceDescriptor_s[] = "<StringSourceDescriptor:%s>";
2208 static const char __pyx_k_FileSourceDescriptor___eq[] = "FileSourceDescriptor.__eq__";
2209 static const char __pyx_k_PyrexScanner_expect_dedent[] = "PyrexScanner.expect_dedent";
2210 static const char __pyx_k_PyrexScanner_expect_indent[] = "PyrexScanner.expect_indent";
2211 static const char __pyx_k_useless_trailing_semicolon[] = "useless trailing semicolon";
2212 static const char __pyx_k_Cython_Compiler_Scanning_py[] = "Cython/Compiler/Scanning.py";
2213 static const char __pyx_k_FileSourceDescriptor___hash[] = "FileSourceDescriptor.__hash__";
2214 static const char __pyx_k_FileSourceDescriptor___init[] = "FileSourceDescriptor.__init__";
2215 static const char __pyx_k_FileSourceDescriptor___repr[] = "FileSourceDescriptor.__repr__";
2216 static const char __pyx_k_PyrexScanner_expect_keyword[] = "PyrexScanner.expect_keyword";
2217 static const char __pyx_k_PyrexScanner_expect_newline[] = "PyrexScanner.expect_newline";
2218 static const char __pyx_k_PyrexScanner_newline_action[] = "PyrexScanner.newline_action";
2219 static const char __pyx_k_SourceDescriptor___deepcopy[] = "SourceDescriptor.__deepcopy__";
2220 static const char __pyx_k_StringSourceDescriptor___eq[] = "StringSourceDescriptor.__eq__";
2221 static const char __pyx_k_CompileTimeScope_lookup_here[] = "CompileTimeScope.lookup_here";
2222 static const char __pyx_k_Mixed_use_of_tabs_and_spaces[] = "Mixed use of tabs and spaces";
2223 static const char __pyx_k_useless_trailing_semicolon_2[] = "useless_trailing_semicolon";
2224 static const char __pyx_k_StringSourceDescriptor___hash[] = "StringSourceDescriptor.__hash__";
2225 static const char __pyx_k_StringSourceDescriptor___init[] = "StringSourceDescriptor.__init__";
2226 static const char __pyx_k_StringSourceDescriptor___repr[] = "StringSourceDescriptor.__repr__";
2227 static const char __pyx_k_FileSourceDescriptor_get_lines[] = "FileSourceDescriptor.get_lines";
2228 static const char __pyx_k_Instances_of_this_class_can_be[] = "\n    Instances of this class can be used instead of a filenames if the\n    code originates from a string object.\n    ";
2229 static const char __pyx_k_PyrexScanner_end_string_action[] = "PyrexScanner.end_string_action";
2230 static const char __pyx_k_PyrexScanner_strip_underscores[] = "PyrexScanner.strip_underscores";
2231 static const char __pyx_k_A_SourceDescriptor_should_be_co[] = "\n    A SourceDescriptor should be considered immutable.\n    ";
2232 static const char __pyx_k_PyrexScanner_indentation_action[] = "PyrexScanner.indentation_action";
2233 static const char __pyx_k_Represents_a_code_source_A_code[] = "\n    Represents a code source. A code source is a more generic abstraction\n    for a \"filename\" (as sometimes the code doesn't come from a file).\n    Instances of code sources are passed to Scanner.__init__ as the\n    optional name argument and will be passed back when asking for\n    the position()-tuple.\n    ";
2234 static const char __pyx_k_SourceDescriptor_is_cython_file[] = "SourceDescriptor.is_cython_file";
2235 static const char __pyx_k_SourceDescriptor_is_python_file[] = "SourceDescriptor.is_python_file";
2236 static const char __pyx_k_Expected_a_decrease_in_indentati[] = "Expected a decrease in indentation level";
2237 static const char __pyx_k_Expected_an_increase_in_indentat[] = "Expected an increase in indentation level";
2238 static const char __pyx_k_FileSourceDescriptor_get_descrip[] = "FileSourceDescriptor.get_description";
2239 static const char __pyx_k_FileSourceDescriptor_get_error_d[] = "FileSourceDescriptor.get_error_description";
2240 static const char __pyx_k_FileSourceDescriptor_get_filenam[] = "FileSourceDescriptor.get_filenametable_entry";
2241 static const char __pyx_k_Possible_inconsistent_indentatio[] = "Possible inconsistent indentation";
2242 static const char __pyx_k_PyrexScanner_begin_string_action[] = "PyrexScanner.begin_string_action";
2243 static const char __pyx_k_PyrexScanner_close_bracket_actio[] = "PyrexScanner.close_bracket_action";
2244 static const char __pyx_k_PyrexScanner_open_bracket_action[] = "PyrexScanner.open_bracket_action";
2245 static const char __pyx_k_PyrexScanner_unclosed_string_act[] = "PyrexScanner.unclosed_string_action";
2246 static const char __pyx_k_SourceDescriptor_get_escaped_des[] = "SourceDescriptor.get_escaped_description";
2247 static const char __pyx_k_SourceDescriptor_set_file_type_f[] = "SourceDescriptor.set_file_type_from_name";
2248 static const char __pyx_k_StringSourceDescriptor_get_descr[] = "StringSourceDescriptor.get_description";
2249 static const char __pyx_k_StringSourceDescriptor_get_filen[] = "StringSourceDescriptor.get_filenametable_entry";
2250 static const char __pyx_k_StringSourceDescriptor_get_lines[] = "StringSourceDescriptor.get_lines";
2251 static PyObject *__pyx_n_u_ASCII;
2252 static PyObject *__pyx_kp_s_A_SourceDescriptor_should_be_co;
2253 static PyObject *__pyx_n_s_AttributeError;
2254 static PyObject *__pyx_n_u_BEGIN_STRING;
2255 static PyObject *__pyx_n_s_CompileTimeScope;
2256 static PyObject *__pyx_n_s_CompileTimeScope_declare;
2257 static PyObject *__pyx_n_s_CompileTimeScope_lookup;
2258 static PyObject *__pyx_n_s_CompileTimeScope_lookup_here;
2259 static PyObject *__pyx_n_s_CompileTimeScope_update;
2260 static PyObject *__pyx_n_s_Cython_Compiler_Scanning;
2261 static PyObject *__pyx_kp_s_Cython_Compiler_Scanning_py;
2262 static PyObject *__pyx_n_u_DEDENT;
2263 static PyObject *__pyx_n_u_DEF;
2264 static PyObject *__pyx_n_u_DQ_STRING;
2265 static PyObject *__pyx_n_u_ELIF;
2266 static PyObject *__pyx_n_u_ELSE;
2267 static PyObject *__pyx_n_u_END_STRING;
2268 static PyObject *__pyx_n_u_EOF;
2269 static PyObject *__pyx_n_s_Errors;
2270 static PyObject *__pyx_kp_u_Expected;
2271 static PyObject *__pyx_kp_u_Expected_a_decrease_in_indentati;
2272 static PyObject *__pyx_kp_u_Expected_a_newline;
2273 static PyObject *__pyx_kp_u_Expected_an_increase_in_indentat;
2274 static PyObject *__pyx_n_u_False;
2275 static PyObject *__pyx_n_s_FileSourceDescriptor;
2276 static PyObject *__pyx_n_s_FileSourceDescriptor___eq;
2277 static PyObject *__pyx_n_s_FileSourceDescriptor___hash;
2278 static PyObject *__pyx_n_s_FileSourceDescriptor___init;
2279 static PyObject *__pyx_n_s_FileSourceDescriptor___repr;
2280 static PyObject *__pyx_n_s_FileSourceDescriptor_get_descrip;
2281 static PyObject *__pyx_n_s_FileSourceDescriptor_get_error_d;
2282 static PyObject *__pyx_n_s_FileSourceDescriptor_get_filenam;
2283 static PyObject *__pyx_n_s_FileSourceDescriptor_get_lines;
2284 static PyObject *__pyx_kp_u_FileSourceDescriptor_s;
2285 static PyObject *__pyx_n_s_Future;
2286 static PyObject *__pyx_n_s_IDENT;
2287 static PyObject *__pyx_n_u_IF;
2288 static PyObject *__pyx_n_u_INDENT;
2289 static PyObject *__pyx_n_s_ImportError;
2290 static PyObject *__pyx_kp_u_Inconsistent_indentation;
2291 static PyObject *__pyx_kp_s_Instances_of_this_class_can_be;
2292 static PyObject *__pyx_n_s_KeyError;
2293 static PyObject *__pyx_n_s_Lexicon;
2294 static PyObject *__pyx_n_s_Method;
2295 static PyObject *__pyx_n_s_Method___copy;
2296 static PyObject *__pyx_n_s_Method___deepcopy;
2297 static PyObject *__pyx_kp_u_Mixed_use_of_tabs_and_spaces;
2298 static PyObject *__pyx_n_u_NEWLINE;
2299 static PyObject *__pyx_n_s_Plex_Errors;
2300 static PyObject *__pyx_n_s_Plex_Scanners;
2301 static PyObject *__pyx_kp_u_Possible_inconsistent_indentatio;
2302 static PyObject *__pyx_n_s_PyrexScanner;
2303 static PyObject *__pyx_n_s_PyrexScanner_begin_string_action;
2304 static PyObject *__pyx_n_s_PyrexScanner_close_bracket_actio;
2305 static PyObject *__pyx_n_s_PyrexScanner_commentline;
2306 static PyObject *__pyx_n_s_PyrexScanner_end_string_action;
2307 static PyObject *__pyx_n_s_PyrexScanner_enter_async;
2308 static PyObject *__pyx_n_s_PyrexScanner_eof_action;
2309 static PyObject *__pyx_n_s_PyrexScanner_error;
2310 static PyObject *__pyx_n_s_PyrexScanner_exit_async;
2311 static PyObject *__pyx_n_s_PyrexScanner_expect;
2312 static PyObject *__pyx_n_s_PyrexScanner_expect_dedent;
2313 static PyObject *__pyx_n_s_PyrexScanner_expect_indent;
2314 static PyObject *__pyx_n_s_PyrexScanner_expect_keyword;
2315 static PyObject *__pyx_n_s_PyrexScanner_expect_newline;
2316 static PyObject *__pyx_n_s_PyrexScanner_expected;
2317 static PyObject *__pyx_n_s_PyrexScanner_indentation_action;
2318 static PyObject *__pyx_n_s_PyrexScanner_newline_action;
2319 static PyObject *__pyx_n_s_PyrexScanner_next;
2320 static PyObject *__pyx_n_s_PyrexScanner_open_bracket_action;
2321 static PyObject *__pyx_n_s_PyrexScanner_peek;
2322 static PyObject *__pyx_n_s_PyrexScanner_put_back;
2323 static PyObject *__pyx_n_s_PyrexScanner_strip_underscores;
2324 static PyObject *__pyx_n_s_PyrexScanner_unclosed_string_act;
2325 static PyObject *__pyx_n_s_PyrexScanner_unread;
2326 static PyObject *__pyx_kp_s_Represents_a_code_source_A_code;
2327 static PyObject *__pyx_n_u_SQ_STRING;
2328 static PyObject *__pyx_n_s_Scanner;
2329 static PyObject *__pyx_n_s_SourceDescriptor;
2330 static PyObject *__pyx_n_s_SourceDescriptor___copy;
2331 static PyObject *__pyx_n_s_SourceDescriptor___deepcopy;
2332 static PyObject *__pyx_n_s_SourceDescriptor___gt;
2333 static PyObject *__pyx_n_s_SourceDescriptor___le;
2334 static PyObject *__pyx_n_s_SourceDescriptor___lt;
2335 static PyObject *__pyx_n_s_SourceDescriptor___str;
2336 static PyObject *__pyx_n_s_SourceDescriptor_get_escaped_des;
2337 static PyObject *__pyx_n_s_SourceDescriptor_is_cython_file;
2338 static PyObject *__pyx_n_s_SourceDescriptor_is_python_file;
2339 static PyObject *__pyx_n_s_SourceDescriptor_set_file_type_f;
2340 static PyObject *__pyx_n_s_StringSourceDescriptor;
2341 static PyObject *__pyx_n_s_StringSourceDescriptor___eq;
2342 static PyObject *__pyx_n_s_StringSourceDescriptor___hash;
2343 static PyObject *__pyx_n_s_StringSourceDescriptor___init;
2344 static PyObject *__pyx_n_s_StringSourceDescriptor___repr;
2345 static PyObject *__pyx_n_s_StringSourceDescriptor_get_descr;
2346 static PyObject *__pyx_n_s_StringSourceDescriptor_get_filen;
2347 static PyObject *__pyx_n_s_StringSourceDescriptor_get_lines;
2348 static PyObject *__pyx_kp_u_StringSourceDescriptor_s;
2349 static PyObject *__pyx_n_u_TDQ_STRING;
2350 static PyObject *__pyx_n_u_TSQ_STRING;
2351 static PyObject *__pyx_n_u_True;
2352 static PyObject *__pyx_n_u_UNAME_MACHINE;
2353 static PyObject *__pyx_n_u_UNAME_NODENAME;
2354 static PyObject *__pyx_n_u_UNAME_RELEASE;
2355 static PyObject *__pyx_n_u_UNAME_SYSNAME;
2356 static PyObject *__pyx_n_u_UNAME_VERSION;
2357 static PyObject *__pyx_kp_u_Unclosed_string_literal;
2358 static PyObject *__pyx_n_s_UnrecognizedInput;
2359 static PyObject *__pyx_kp_u_Unrecognized_character;
2360 static PyObject *__pyx_n_s_Utils;
2361 static PyObject *__pyx_n_s_ValueError;
2362 static PyObject *__pyx_kp_u__10;
2363 static PyObject *__pyx_n_s__11;
2364 static PyObject *__pyx_kp_u__11;
2365 static PyObject *__pyx_n_u__12;
2366 static PyObject *__pyx_kp_u__15;
2367 static PyObject *__pyx_kp_u__18;
2368 static PyObject *__pyx_kp_u__5;
2369 static PyObject *__pyx_kp_u__6;
2370 static PyObject *__pyx_kp_u__8;
2371 static PyObject *__pyx_kp_u__95;
2372 static PyObject *__pyx_kp_u__96;
2373 static PyObject *__pyx_kp_u__97;
2374 static PyObject *__pyx_n_u_abs;
2375 static PyObject *__pyx_n_s_abspath;
2376 static PyObject *__pyx_n_u_all;
2377 static PyObject *__pyx_n_u_and;
2378 static PyObject *__pyx_n_u_any;
2379 static PyObject *__pyx_n_s_any_string_prefix;
2380 static PyObject *__pyx_n_u_ascii;
2381 static PyObject *__pyx_n_u_assert;
2382 static PyObject *__pyx_n_u_async;
2383 static PyObject *__pyx_n_s_async_enabled;
2384 static PyObject *__pyx_n_u_await;
2385 static PyObject *__pyx_n_s_begin_string_action;
2386 static PyObject *__pyx_n_u_bin;
2387 static PyObject *__pyx_n_u_bool;
2388 static PyObject *__pyx_n_u_break;
2389 static PyObject *__pyx_n_s_builtin;
2390 static PyObject *__pyx_n_s_builtins;
2391 static PyObject *__pyx_n_u_bytearray;
2392 static PyObject *__pyx_n_u_bytes;
2393 static PyObject *__pyx_n_u_cdef;
2394 static PyObject *__pyx_n_u_chr;
2395 static PyObject *__pyx_n_u_cimport;
2396 static PyObject *__pyx_n_u_class;
2397 static PyObject *__pyx_n_s_cline_in_traceback;
2398 static PyObject *__pyx_n_s_close_bracket_action;
2399 static PyObject *__pyx_n_u_cmp;
2400 static PyObject *__pyx_n_s_cmp_name;
2401 static PyObject *__pyx_n_s_code;
2402 static PyObject *__pyx_n_s_codelines;
2403 static PyObject *__pyx_n_s_commentline;
2404 static PyObject *__pyx_n_u_commentline;
2405 static PyObject *__pyx_n_s_compile_time_env;
2406 static PyObject *__pyx_n_u_compile_time_env;
2407 static PyObject *__pyx_n_s_compile_time_eval;
2408 static PyObject *__pyx_n_s_compile_time_expr;
2409 static PyObject *__pyx_n_u_complex;
2410 static PyObject *__pyx_n_s_context;
2411 static PyObject *__pyx_n_u_continue;
2412 static PyObject *__pyx_n_s_copy;
2413 static PyObject *__pyx_n_u_cpdef;
2414 static PyObject *__pyx_n_u_ctypedef;
2415 static PyObject *__pyx_n_s_cwd;
2416 static PyObject *__pyx_n_s_debug_scanner;
2417 static PyObject *__pyx_n_s_declare;
2418 static PyObject *__pyx_n_s_decode;
2419 static PyObject *__pyx_n_s_decode_filename;
2420 static PyObject *__pyx_n_s_deepcopy;
2421 static PyObject *__pyx_n_u_def;
2422 static PyObject *__pyx_n_u_del;
2423 static PyObject *__pyx_n_u_dict;
2424 static PyObject *__pyx_n_u_divmod;
2425 static PyObject *__pyx_n_s_doc;
2426 static PyObject *__pyx_n_u_elif;
2427 static PyObject *__pyx_n_u_else;
2428 static PyObject *__pyx_n_s_encode;
2429 static PyObject *__pyx_n_s_encoding;
2430 static PyObject *__pyx_n_s_end_string_action;
2431 static PyObject *__pyx_n_s_enter;
2432 static PyObject *__pyx_n_s_enter_async;
2433 static PyObject *__pyx_n_u_enumerate;
2434 static PyObject *__pyx_n_s_eof_action;
2435 static PyObject *__pyx_n_s_eq;
2436 static PyObject *__pyx_n_s_err;
2437 static PyObject *__pyx_n_s_error;
2438 static PyObject *__pyx_n_s_error_handling;
2439 static PyObject *__pyx_n_s_esc_desc;
2440 static PyObject *__pyx_n_s_escaped_description;
2441 static PyObject *__pyx_n_u_except;
2442 static PyObject *__pyx_n_u_exec;
2443 static PyObject *__pyx_n_s_exit;
2444 static PyObject *__pyx_n_s_exit_async;
2445 static PyObject *__pyx_n_s_expect;
2446 static PyObject *__pyx_n_s_expect_dedent;
2447 static PyObject *__pyx_n_s_expect_indent;
2448 static PyObject *__pyx_n_s_expect_keyword;
2449 static PyObject *__pyx_n_s_expect_newline;
2450 static PyObject *__pyx_n_s_expected;
2451 static PyObject *__pyx_n_s_ext;
2452 static PyObject *__pyx_n_s_f;
2453 static PyObject *__pyx_n_s_fatal;
2454 static PyObject *__pyx_n_s_file;
2455 static PyObject *__pyx_n_s_file_path;
2456 static PyObject *__pyx_n_s_file_type;
2457 static PyObject *__pyx_n_s_filename;
2458 static PyObject *__pyx_n_u_filter;
2459 static PyObject *__pyx_n_u_finally;
2460 static PyObject *__pyx_n_u_float;
2461 static PyObject *__pyx_n_u_for;
2462 static PyObject *__pyx_n_u_format;
2463 static PyObject *__pyx_kp_u_found;
2464 static PyObject *__pyx_n_s_found_2;
2465 static PyObject *__pyx_n_u_from;
2466 static PyObject *__pyx_n_u_frozenset;
2467 static PyObject *__pyx_n_s_functools;
2468 static PyObject *__pyx_n_s_future_directives;
2469 static PyObject *__pyx_n_s_get_description;
2470 static PyObject *__pyx_n_s_get_error_description;
2471 static PyObject *__pyx_n_s_get_escaped_description;
2472 static PyObject *__pyx_n_s_get_filenametable_entry;
2473 static PyObject *__pyx_n_s_get_lines;
2474 static PyObject *__pyx_n_s_getcwd;
2475 static PyObject *__pyx_n_u_global;
2476 static PyObject *__pyx_n_s_gt;
2477 static PyObject *__pyx_n_u_hash;
2478 static PyObject *__pyx_n_s_hash_2;
2479 static PyObject *__pyx_n_u_hex;
2480 static PyObject *__pyx_n_s_id;
2481 static PyObject *__pyx_n_u_if;
2482 static PyObject *__pyx_n_s_ignore_semicolon;
2483 static PyObject *__pyx_n_s_import;
2484 static PyObject *__pyx_n_u_import_2;
2485 static PyObject *__pyx_n_u_in;
2486 static PyObject *__pyx_n_u_include;
2487 static PyObject *__pyx_n_s_included_files;
2488 static PyObject *__pyx_n_s_indentation_action;
2489 static PyObject *__pyx_n_s_init;
2490 static PyObject *__pyx_n_s_initial_pos;
2491 static PyObject *__pyx_n_u_int;
2492 static PyObject *__pyx_n_s_intern_ustring;
2493 static PyObject *__pyx_n_u_is;
2494 static PyObject *__pyx_n_s_is_cython_file;
2495 static PyObject *__pyx_n_s_is_python_file;
2496 static PyObject *__pyx_n_s_key;
2497 static PyObject *__pyx_n_u_lambda;
2498 static PyObject *__pyx_n_s_language_level;
2499 static PyObject *__pyx_n_s_le;
2500 static PyObject *__pyx_n_u_len;
2501 static PyObject *__pyx_n_s_line;
2502 static PyObject *__pyx_n_s_lines;
2503 static PyObject *__pyx_n_s_lines_2;
2504 static PyObject *__pyx_n_u_list;
2505 static PyObject *__pyx_n_u_long;
2506 static PyObject *__pyx_n_s_lookup;
2507 static PyObject *__pyx_n_s_lookup_here;
2508 static PyObject *__pyx_n_s_lt;
2509 static PyObject *__pyx_n_s_main;
2510 static PyObject *__pyx_n_s_make_lexicon;
2511 static PyObject *__pyx_n_u_map;
2512 static PyObject *__pyx_n_u_max;
2513 static PyObject *__pyx_n_s_memo;
2514 static PyObject *__pyx_n_s_message;
2515 static PyObject *__pyx_n_s_metaclass;
2516 static PyObject *__pyx_n_u_min;
2517 static PyObject *__pyx_n_s_module;
2518 static PyObject *__pyx_n_s_name;
2519 static PyObject *__pyx_n_s_name_2;
2520 static PyObject *__pyx_n_s_newline_action;
2521 static PyObject *__pyx_n_s_next;
2522 static PyObject *__pyx_n_u_nonlocal;
2523 static PyObject *__pyx_n_u_not;
2524 static PyObject *__pyx_n_s_object;
2525 static PyObject *__pyx_n_u_oct;
2526 static PyObject *__pyx_n_s_open_bracket_action;
2527 static PyObject *__pyx_n_s_open_source_file;
2528 static PyObject *__pyx_n_s_options;
2529 static PyObject *__pyx_n_u_or;
2530 static PyObject *__pyx_n_u_ord;
2531 static PyObject *__pyx_n_s_os;
2532 static PyObject *__pyx_n_s_other;
2533 static PyObject *__pyx_n_s_outer;
2534 static PyObject *__pyx_n_s_parent_scanner;
2535 static PyObject *__pyx_n_s_parse_comments;
2536 static PyObject *__pyx_n_u_pass;
2537 static PyObject *__pyx_n_s_path;
2538 static PyObject *__pyx_n_s_path_description;
2539 static PyObject *__pyx_n_s_peek;
2540 static PyObject *__pyx_n_s_platform;
2541 static PyObject *__pyx_n_s_pop;
2542 static PyObject *__pyx_n_s_pos;
2543 static PyObject *__pyx_n_s_position;
2544 static PyObject *__pyx_n_u_pow;
2545 static PyObject *__pyx_n_s_prepare;
2546 static PyObject *__pyx_n_u_print;
2547 static PyObject *__pyx_n_s_print_function;
2548 static PyObject *__pyx_n_s_put_back;
2549 static PyObject *__pyx_kp_u_pxd;
2550 static PyObject *__pyx_n_u_pxd_2;
2551 static PyObject *__pyx_kp_u_py;
2552 static PyObject *__pyx_n_u_py_2;
2553 static PyObject *__pyx_n_s_py_reserved_words;
2554 static PyObject *__pyx_kp_u_pyx;
2555 static PyObject *__pyx_n_u_pyx_2;
2556 static PyObject *__pyx_n_s_pyx_capi;
2557 static PyObject *__pyx_n_s_pyx_reserved_words;
2558 static PyObject *__pyx_n_s_pyx_vtable;
2559 static PyObject *__pyx_n_s_qualname;
2560 static PyObject *__pyx_n_u_raise;
2561 static PyObject *__pyx_n_u_range;
2562 static PyObject *__pyx_n_s_reduce;
2563 static PyObject *__pyx_n_u_reduce;
2564 static PyObject *__pyx_n_s_relpath;
2565 static PyObject *__pyx_n_s_replace;
2566 static PyObject *__pyx_n_u_replace;
2567 static PyObject *__pyx_n_u_repr;
2568 static PyObject *__pyx_n_s_repr_2;
2569 static PyObject *__pyx_n_u_return;
2570 static PyObject *__pyx_n_u_reversed;
2571 static PyObject *__pyx_n_u_round;
2572 static PyObject *__pyx_n_s_saved;
2573 static PyObject *__pyx_n_s_scanner_debug_flags;
2574 static PyObject *__pyx_n_s_scanner_dump_file;
2575 static PyObject *__pyx_n_s_scope;
2576 static PyObject *__pyx_n_s_self;
2577 static PyObject *__pyx_n_s_sep;
2578 static PyObject *__pyx_n_u_set;
2579 static PyObject *__pyx_n_s_set_file_type_from_name;
2580 static PyObject *__pyx_n_u_slice;
2581 static PyObject *__pyx_n_u_sorted;
2582 static PyObject *__pyx_n_s_source_encoding;
2583 static PyObject *__pyx_n_s_split;
2584 static PyObject *__pyx_n_s_splitext;
2585 static PyObject *__pyx_n_s_startswith;
2586 static PyObject *__pyx_n_u_str;
2587 static PyObject *__pyx_n_s_str_2;
2588 static PyObject *__pyx_n_s_stream;
2589 static PyObject *__pyx_n_s_string_states;
2590 static PyObject *__pyx_n_u_stringsource;
2591 static PyObject *__pyx_n_s_strip_underscores;
2592 static PyObject *__pyx_n_u_sum;
2593 static PyObject *__pyx_n_s_sy;
2594 static PyObject *__pyx_n_s_symbol;
2595 static PyObject *__pyx_n_s_systring;
2596 static PyObject *__pyx_n_s_test;
2597 static PyObject *__pyx_n_s_text;
2598 static PyObject *__pyx_n_s_token;
2599 static PyObject *__pyx_n_s_trace_scanner;
2600 static PyObject *__pyx_n_u_try;
2601 static PyObject *__pyx_n_u_tuple;
2602 static PyObject *__pyx_n_s_uname;
2603 static PyObject *__pyx_n_s_unclosed_string_action;
2604 static PyObject *__pyx_n_u_unicode;
2605 static PyObject *__pyx_n_s_unread;
2606 static PyObject *__pyx_n_s_update;
2607 static PyObject *__pyx_kp_u_useless_trailing_semicolon;
2608 static PyObject *__pyx_n_s_useless_trailing_semicolon_2;
2609 static PyObject *__pyx_n_s_value;
2610 static PyObject *__pyx_n_s_warning;
2611 static PyObject *__pyx_n_s_what;
2612 static PyObject *__pyx_n_u_while;
2613 static PyObject *__pyx_n_u_with;
2614 static PyObject *__pyx_n_s_workdir;
2615 static PyObject *__pyx_n_s_x;
2616 static PyObject *__pyx_n_u_xrange;
2617 static PyObject *__pyx_n_u_yield;
2618 static PyObject *__pyx_n_s_zip;
2619 static PyObject *__pyx_n_u_zip;
2620 static int __pyx_pf_6Cython_8Compiler_8Scanning_6Method___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_kwargs); /* proto */
2621 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_2__call__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_text); /* proto */
2622 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_4__copy__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self); /* proto */
2623 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_6__deepcopy__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo); /* proto */
2624 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_8__name_____get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self); /* proto */
2625 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_outer); /* proto */
2626 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_2declare(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
2627 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_4update(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
2628 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_6lookup_here(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
2629 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_8__contains__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
2630 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_10lookup(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
2631 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self); /* proto */
2632 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2633 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self); /* proto */
2634 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self); /* proto */
2635 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2636 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self); /* proto */
2637 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor___str__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
2638 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_2set_file_type_from_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
2639 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_4is_cython_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2640 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_6is_python_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2641 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_8get_escaped_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2642 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_10__gt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
2643 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_12__lt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
2644 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_14__le__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
2645 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_16__copy__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2646 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_18__deepcopy__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo); /* proto */
2647 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_path_description); /* proto */
2648 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_2get_lines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_error_handling); /* proto */
2649 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_4get_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2650 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_6get_error_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2651 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_8get_filenametable_entry(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2652 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_10__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
2653 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_12__hash__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2654 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_14__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2655 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_code); /* proto */
2656 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_2get_lines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_error_handling); /* proto */
2657 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_4get_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2658 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_6get_filenametable_entry(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
2659 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_8__hash__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2660 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_10__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
2661 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_12__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
2662 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_file, PyObject *__pyx_v_filename, PyObject *__pyx_v_parent_scanner, PyObject *__pyx_v_scope, PyObject *__pyx_v_context, PyObject *__pyx_v_source_encoding, PyObject *__pyx_v_parse_comments, PyObject *__pyx_v_initial_pos); /* proto */
2663 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2commentline(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
2664 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_4strip_underscores(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_symbol); /* proto */
2665 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_6open_bracket_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
2666 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8close_bracket_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
2667 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_10newline_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_text); /* proto */
2668 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_12begin_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
2669 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14end_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_text); /* proto */
2670 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16unclosed_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
2671 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_18indentation_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
2672 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_20eof_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_text); /* proto */
2673 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_22next(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2674 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_24peek(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2675 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_26put_back(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_sy, PyObject *__pyx_v_systring); /* proto */
2676 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_28unread(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_token, PyObject *__pyx_v_value); /* proto */
2677 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_30error(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_message, PyObject *__pyx_v_pos, PyObject *__pyx_v_fatal); /* proto */
2678 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_32expect(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_what, PyObject *__pyx_v_message); /* proto */
2679 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_34expect_keyword(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_what, PyObject *__pyx_v_message); /* proto */
2680 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_36expected(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_what, PyObject *__pyx_v_message); /* proto */
2681 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_38expect_indent(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2682 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_40expect_dedent(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2683 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_42expect_newline(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_message, PyObject *__pyx_v_ignore_semicolon); /* proto */
2684 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_44enter_async(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2685 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_46exit_async(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2686 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2687 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2688 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2689 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2690 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2691 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2692 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2693 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2694 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2695 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2696 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2697 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2698 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2699 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2700 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2701 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2702 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2703 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2704 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2705 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2706 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2707 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2708 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2709 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2710 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2711 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2712 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2713 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2714 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2715 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2716 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2717 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2718 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2719 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
2720 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self); /* proto */
2721 static PyObject *__pyx_tp_new_6Cython_8Compiler_8Scanning_Method(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
2722 static PyObject *__pyx_tp_new_6Cython_8Compiler_8Scanning_CompileTimeScope(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
2723 static PyObject *__pyx_tp_new_6Cython_8Compiler_8Scanning_PyrexScanner(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
2724 static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_pop = {0, &__pyx_n_s_pop, 0, 0, 0};
2725 static PyObject *__pyx_int_0;
2726 static PyObject *__pyx_int_1;
2727 static PyObject *__pyx_int_3;
2728 static PyObject *__pyx_tuple_;
2729 static PyObject *__pyx_slice__3;
2730 static PyObject *__pyx_tuple__2;
2731 static PyObject *__pyx_tuple__4;
2732 static PyObject *__pyx_tuple__7;
2733 static PyObject *__pyx_tuple__9;
2734 static PyObject *__pyx_slice__14;
2735 static PyObject *__pyx_tuple__13;
2736 static PyObject *__pyx_tuple__16;
2737 static PyObject *__pyx_tuple__17;
2738 static PyObject *__pyx_tuple__19;
2739 static PyObject *__pyx_tuple__21;
2740 static PyObject *__pyx_tuple__23;
2741 static PyObject *__pyx_tuple__25;
2742 static PyObject *__pyx_tuple__27;
2743 static PyObject *__pyx_tuple__29;
2744 static PyObject *__pyx_tuple__31;
2745 static PyObject *__pyx_tuple__32;
2746 static PyObject *__pyx_tuple__34;
2747 static PyObject *__pyx_tuple__36;
2748 static PyObject *__pyx_tuple__38;
2749 static PyObject *__pyx_tuple__40;
2750 static PyObject *__pyx_tuple__42;
2751 static PyObject *__pyx_tuple__44;
2752 static PyObject *__pyx_tuple__46;
2753 static PyObject *__pyx_tuple__48;
2754 static PyObject *__pyx_tuple__50;
2755 static PyObject *__pyx_tuple__52;
2756 static PyObject *__pyx_tuple__54;
2757 static PyObject *__pyx_tuple__55;
2758 static PyObject *__pyx_tuple__57;
2759 static PyObject *__pyx_tuple__58;
2760 static PyObject *__pyx_tuple__60;
2761 static PyObject *__pyx_tuple__62;
2762 static PyObject *__pyx_tuple__64;
2763 static PyObject *__pyx_tuple__66;
2764 static PyObject *__pyx_tuple__68;
2765 static PyObject *__pyx_tuple__70;
2766 static PyObject *__pyx_tuple__72;
2767 static PyObject *__pyx_tuple__74;
2768 static PyObject *__pyx_tuple__75;
2769 static PyObject *__pyx_tuple__77;
2770 static PyObject *__pyx_tuple__79;
2771 static PyObject *__pyx_tuple__81;
2772 static PyObject *__pyx_tuple__83;
2773 static PyObject *__pyx_tuple__85;
2774 static PyObject *__pyx_tuple__87;
2775 static PyObject *__pyx_tuple__89;
2776 static PyObject *__pyx_tuple__91;
2777 static PyObject *__pyx_tuple__93;
2778 static PyObject *__pyx_tuple__98;
2779 static PyObject *__pyx_tuple__100;
2780 static PyObject *__pyx_tuple__102;
2781 static PyObject *__pyx_tuple__104;
2782 static PyObject *__pyx_tuple__106;
2783 static PyObject *__pyx_tuple__108;
2784 static PyObject *__pyx_tuple__110;
2785 static PyObject *__pyx_tuple__112;
2786 static PyObject *__pyx_tuple__114;
2787 static PyObject *__pyx_tuple__116;
2788 static PyObject *__pyx_tuple__118;
2789 static PyObject *__pyx_tuple__120;
2790 static PyObject *__pyx_tuple__122;
2791 static PyObject *__pyx_tuple__124;
2792 static PyObject *__pyx_tuple__126;
2793 static PyObject *__pyx_tuple__128;
2794 static PyObject *__pyx_tuple__130;
2795 static PyObject *__pyx_tuple__132;
2796 static PyObject *__pyx_codeobj__20;
2797 static PyObject *__pyx_codeobj__22;
2798 static PyObject *__pyx_codeobj__24;
2799 static PyObject *__pyx_codeobj__26;
2800 static PyObject *__pyx_codeobj__28;
2801 static PyObject *__pyx_codeobj__30;
2802 static PyObject *__pyx_codeobj__33;
2803 static PyObject *__pyx_codeobj__35;
2804 static PyObject *__pyx_codeobj__37;
2805 static PyObject *__pyx_codeobj__39;
2806 static PyObject *__pyx_codeobj__41;
2807 static PyObject *__pyx_codeobj__43;
2808 static PyObject *__pyx_codeobj__45;
2809 static PyObject *__pyx_codeobj__47;
2810 static PyObject *__pyx_codeobj__49;
2811 static PyObject *__pyx_codeobj__51;
2812 static PyObject *__pyx_codeobj__53;
2813 static PyObject *__pyx_codeobj__56;
2814 static PyObject *__pyx_codeobj__59;
2815 static PyObject *__pyx_codeobj__61;
2816 static PyObject *__pyx_codeobj__63;
2817 static PyObject *__pyx_codeobj__65;
2818 static PyObject *__pyx_codeobj__67;
2819 static PyObject *__pyx_codeobj__69;
2820 static PyObject *__pyx_codeobj__71;
2821 static PyObject *__pyx_codeobj__73;
2822 static PyObject *__pyx_codeobj__76;
2823 static PyObject *__pyx_codeobj__78;
2824 static PyObject *__pyx_codeobj__80;
2825 static PyObject *__pyx_codeobj__82;
2826 static PyObject *__pyx_codeobj__84;
2827 static PyObject *__pyx_codeobj__86;
2828 static PyObject *__pyx_codeobj__88;
2829 static PyObject *__pyx_codeobj__90;
2830 static PyObject *__pyx_codeobj__92;
2831 static PyObject *__pyx_codeobj__94;
2832 static PyObject *__pyx_codeobj__99;
2833 static PyObject *__pyx_codeobj__101;
2834 static PyObject *__pyx_codeobj__103;
2835 static PyObject *__pyx_codeobj__105;
2836 static PyObject *__pyx_codeobj__107;
2837 static PyObject *__pyx_codeobj__109;
2838 static PyObject *__pyx_codeobj__111;
2839 static PyObject *__pyx_codeobj__113;
2840 static PyObject *__pyx_codeobj__115;
2841 static PyObject *__pyx_codeobj__117;
2842 static PyObject *__pyx_codeobj__119;
2843 static PyObject *__pyx_codeobj__121;
2844 static PyObject *__pyx_codeobj__123;
2845 static PyObject *__pyx_codeobj__125;
2846 static PyObject *__pyx_codeobj__127;
2847 static PyObject *__pyx_codeobj__129;
2848 static PyObject *__pyx_codeobj__131;
2849 static PyObject *__pyx_codeobj__133;
2850 /* Late includes */
2851 
2852 /* "Cython/Compiler/Scanning.py":31
2853  *
2854  *
2855  * def get_lexicon():             # <<<<<<<<<<<<<<
2856  *     global lexicon
2857  *     if not lexicon:
2858  */
2859 
__pyx_f_6Cython_8Compiler_8Scanning_get_lexicon(void)2860 static PyObject *__pyx_f_6Cython_8Compiler_8Scanning_get_lexicon(void) {
2861   PyObject *__pyx_r = NULL;
2862   __Pyx_RefNannyDeclarations
2863   int __pyx_t_1;
2864   int __pyx_t_2;
2865   PyObject *__pyx_t_3 = NULL;
2866   PyObject *__pyx_t_4 = NULL;
2867   PyObject *__pyx_t_5 = NULL;
2868   int __pyx_lineno = 0;
2869   const char *__pyx_filename = NULL;
2870   int __pyx_clineno = 0;
2871   __Pyx_RefNannySetupContext("get_lexicon", 0);
2872 
2873   /* "Cython/Compiler/Scanning.py":33
2874  * def get_lexicon():
2875  *     global lexicon
2876  *     if not lexicon:             # <<<<<<<<<<<<<<
2877  *         lexicon = make_lexicon()
2878  *     return lexicon
2879  */
2880   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_6Cython_8Compiler_8Scanning_lexicon); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 33, __pyx_L1_error)
2881   __pyx_t_2 = ((!__pyx_t_1) != 0);
2882   if (__pyx_t_2) {
2883 
2884     /* "Cython/Compiler/Scanning.py":34
2885  *     global lexicon
2886  *     if not lexicon:
2887  *         lexicon = make_lexicon()             # <<<<<<<<<<<<<<
2888  *     return lexicon
2889  *
2890  */
2891     __Pyx_INCREF(__pyx_v_6Cython_8Compiler_8Scanning_make_lexicon);
2892     __pyx_t_4 = __pyx_v_6Cython_8Compiler_8Scanning_make_lexicon; __pyx_t_5 = NULL;
2893     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
2894       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
2895       if (likely(__pyx_t_5)) {
2896         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
2897         __Pyx_INCREF(__pyx_t_5);
2898         __Pyx_INCREF(function);
2899         __Pyx_DECREF_SET(__pyx_t_4, function);
2900       }
2901     }
2902     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
2903     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
2904     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
2905     __Pyx_GOTREF(__pyx_t_3);
2906     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2907     __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_lexicon);
2908     __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_lexicon, __pyx_t_3);
2909     __Pyx_GIVEREF(__pyx_t_3);
2910     __pyx_t_3 = 0;
2911 
2912     /* "Cython/Compiler/Scanning.py":33
2913  * def get_lexicon():
2914  *     global lexicon
2915  *     if not lexicon:             # <<<<<<<<<<<<<<
2916  *         lexicon = make_lexicon()
2917  *     return lexicon
2918  */
2919   }
2920 
2921   /* "Cython/Compiler/Scanning.py":35
2922  *     if not lexicon:
2923  *         lexicon = make_lexicon()
2924  *     return lexicon             # <<<<<<<<<<<<<<
2925  *
2926  *
2927  */
2928   __Pyx_XDECREF(__pyx_r);
2929   __Pyx_INCREF(__pyx_v_6Cython_8Compiler_8Scanning_lexicon);
2930   __pyx_r = __pyx_v_6Cython_8Compiler_8Scanning_lexicon;
2931   goto __pyx_L0;
2932 
2933   /* "Cython/Compiler/Scanning.py":31
2934  *
2935  *
2936  * def get_lexicon():             # <<<<<<<<<<<<<<
2937  *     global lexicon
2938  *     if not lexicon:
2939  */
2940 
2941   /* function exit code */
2942   __pyx_L1_error:;
2943   __Pyx_XDECREF(__pyx_t_3);
2944   __Pyx_XDECREF(__pyx_t_4);
2945   __Pyx_XDECREF(__pyx_t_5);
2946   __Pyx_AddTraceback("Cython.Compiler.Scanning.get_lexicon", __pyx_clineno, __pyx_lineno, __pyx_filename);
2947   __pyx_r = 0;
2948   __pyx_L0:;
2949   __Pyx_XGIVEREF(__pyx_r);
2950   __Pyx_RefNannyFinishContext();
2951   return __pyx_r;
2952 }
2953 
2954 /* "Cython/Compiler/Scanning.py":56
2955  * class Method(object):
2956  *
2957  *     def __init__(self, name, **kwargs):             # <<<<<<<<<<<<<<
2958  *         self.name = name
2959  *         self.kwargs = kwargs or None
2960  */
2961 
2962 /* Python wrapper */
2963 static int __pyx_pw_6Cython_8Compiler_8Scanning_6Method_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_6Method_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)2964 static int __pyx_pw_6Cython_8Compiler_8Scanning_6Method_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2965   PyObject *__pyx_v_name = 0;
2966   PyObject *__pyx_v_kwargs = 0;
2967   int __pyx_lineno = 0;
2968   const char *__pyx_filename = NULL;
2969   int __pyx_clineno = 0;
2970   int __pyx_r;
2971   __Pyx_RefNannyDeclarations
2972   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
2973   __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1;
2974   __Pyx_GOTREF(__pyx_v_kwargs);
2975   {
2976     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,0};
2977     PyObject* values[1] = {0};
2978     if (unlikely(__pyx_kwds)) {
2979       Py_ssize_t kw_args;
2980       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
2981       switch (pos_args) {
2982         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2983         CYTHON_FALLTHROUGH;
2984         case  0: break;
2985         default: goto __pyx_L5_argtuple_error;
2986       }
2987       kw_args = PyDict_Size(__pyx_kwds);
2988       switch (pos_args) {
2989         case  0:
2990         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
2991         else goto __pyx_L5_argtuple_error;
2992       }
2993       if (unlikely(kw_args > 0)) {
2994         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 56, __pyx_L3_error)
2995       }
2996     } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
2997       goto __pyx_L5_argtuple_error;
2998     } else {
2999       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3000     }
3001     __pyx_v_name = values[0];
3002   }
3003   goto __pyx_L4_argument_unpacking_done;
3004   __pyx_L5_argtuple_error:;
3005   __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 56, __pyx_L3_error)
3006   __pyx_L3_error:;
3007   __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
3008   __Pyx_AddTraceback("Cython.Compiler.Scanning.Method.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3009   __Pyx_RefNannyFinishContext();
3010   return -1;
3011   __pyx_L4_argument_unpacking_done:;
3012   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_6Method___init__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)__pyx_v_self), __pyx_v_name, __pyx_v_kwargs);
3013 
3014   /* function exit code */
3015   __Pyx_XDECREF(__pyx_v_kwargs);
3016   __Pyx_RefNannyFinishContext();
3017   return __pyx_r;
3018 }
3019 
__pyx_pf_6Cython_8Compiler_8Scanning_6Method___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method * __pyx_v_self,PyObject * __pyx_v_name,PyObject * __pyx_v_kwargs)3020 static int __pyx_pf_6Cython_8Compiler_8Scanning_6Method___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_kwargs) {
3021   int __pyx_r;
3022   __Pyx_RefNannyDeclarations
3023   PyObject *__pyx_t_1 = NULL;
3024   int __pyx_t_2;
3025   int __pyx_lineno = 0;
3026   const char *__pyx_filename = NULL;
3027   int __pyx_clineno = 0;
3028   __Pyx_RefNannySetupContext("__init__", 0);
3029 
3030   /* "Cython/Compiler/Scanning.py":57
3031  *
3032  *     def __init__(self, name, **kwargs):
3033  *         self.name = name             # <<<<<<<<<<<<<<
3034  *         self.kwargs = kwargs or None
3035  *         self.__name__ = name  # for Plex tracing
3036  */
3037   __Pyx_INCREF(__pyx_v_name);
3038   __Pyx_GIVEREF(__pyx_v_name);
3039   __Pyx_GOTREF(__pyx_v_self->name);
3040   __Pyx_DECREF(__pyx_v_self->name);
3041   __pyx_v_self->name = __pyx_v_name;
3042 
3043   /* "Cython/Compiler/Scanning.py":58
3044  *     def __init__(self, name, **kwargs):
3045  *         self.name = name
3046  *         self.kwargs = kwargs or None             # <<<<<<<<<<<<<<
3047  *         self.__name__ = name  # for Plex tracing
3048  *
3049  */
3050   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_kwargs); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 58, __pyx_L1_error)
3051   if (!__pyx_t_2) {
3052   } else {
3053     __Pyx_INCREF(__pyx_v_kwargs);
3054     __pyx_t_1 = __pyx_v_kwargs;
3055     goto __pyx_L3_bool_binop_done;
3056   }
3057   __Pyx_INCREF(Py_None);
3058   __pyx_t_1 = Py_None;
3059   __pyx_L3_bool_binop_done:;
3060   __Pyx_GIVEREF(__pyx_t_1);
3061   __Pyx_GOTREF(__pyx_v_self->kwargs);
3062   __Pyx_DECREF(__pyx_v_self->kwargs);
3063   __pyx_v_self->kwargs = ((PyObject*)__pyx_t_1);
3064   __pyx_t_1 = 0;
3065 
3066   /* "Cython/Compiler/Scanning.py":59
3067  *         self.name = name
3068  *         self.kwargs = kwargs or None
3069  *         self.__name__ = name  # for Plex tracing             # <<<<<<<<<<<<<<
3070  *
3071  *     def __call__(self, stream, text):
3072  */
3073   __Pyx_INCREF(__pyx_v_name);
3074   __Pyx_GIVEREF(__pyx_v_name);
3075   __Pyx_GOTREF(__pyx_v_self->__name__);
3076   __Pyx_DECREF(__pyx_v_self->__name__);
3077   __pyx_v_self->__name__ = __pyx_v_name;
3078 
3079   /* "Cython/Compiler/Scanning.py":56
3080  * class Method(object):
3081  *
3082  *     def __init__(self, name, **kwargs):             # <<<<<<<<<<<<<<
3083  *         self.name = name
3084  *         self.kwargs = kwargs or None
3085  */
3086 
3087   /* function exit code */
3088   __pyx_r = 0;
3089   goto __pyx_L0;
3090   __pyx_L1_error:;
3091   __Pyx_XDECREF(__pyx_t_1);
3092   __Pyx_AddTraceback("Cython.Compiler.Scanning.Method.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3093   __pyx_r = -1;
3094   __pyx_L0:;
3095   __Pyx_RefNannyFinishContext();
3096   return __pyx_r;
3097 }
3098 
3099 /* "Cython/Compiler/Scanning.py":61
3100  *         self.__name__ = name  # for Plex tracing
3101  *
3102  *     def __call__(self, stream, text):             # <<<<<<<<<<<<<<
3103  *         method = getattr(stream, self.name)
3104  *         # self.kwargs is almost always unused => avoid call overhead
3105  */
3106 
3107 /* Python wrapper */
3108 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_6Method_3__call__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)3109 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3110   PyObject *__pyx_v_stream = 0;
3111   PyObject *__pyx_v_text = 0;
3112   int __pyx_lineno = 0;
3113   const char *__pyx_filename = NULL;
3114   int __pyx_clineno = 0;
3115   PyObject *__pyx_r = 0;
3116   __Pyx_RefNannyDeclarations
3117   __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
3118   {
3119     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_text,0};
3120     PyObject* values[2] = {0,0};
3121     if (unlikely(__pyx_kwds)) {
3122       Py_ssize_t kw_args;
3123       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
3124       switch (pos_args) {
3125         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3126         CYTHON_FALLTHROUGH;
3127         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3128         CYTHON_FALLTHROUGH;
3129         case  0: break;
3130         default: goto __pyx_L5_argtuple_error;
3131       }
3132       kw_args = PyDict_Size(__pyx_kwds);
3133       switch (pos_args) {
3134         case  0:
3135         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
3136         else goto __pyx_L5_argtuple_error;
3137         CYTHON_FALLTHROUGH;
3138         case  1:
3139         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
3140         else {
3141           __Pyx_RaiseArgtupleInvalid("__call__", 1, 2, 2, 1); __PYX_ERR(0, 61, __pyx_L3_error)
3142         }
3143       }
3144       if (unlikely(kw_args > 0)) {
3145         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)) __PYX_ERR(0, 61, __pyx_L3_error)
3146       }
3147     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
3148       goto __pyx_L5_argtuple_error;
3149     } else {
3150       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3151       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3152     }
3153     __pyx_v_stream = values[0];
3154     __pyx_v_text = values[1];
3155   }
3156   goto __pyx_L4_argument_unpacking_done;
3157   __pyx_L5_argtuple_error:;
3158   __Pyx_RaiseArgtupleInvalid("__call__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 61, __pyx_L3_error)
3159   __pyx_L3_error:;
3160   __Pyx_AddTraceback("Cython.Compiler.Scanning.Method.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3161   __Pyx_RefNannyFinishContext();
3162   return NULL;
3163   __pyx_L4_argument_unpacking_done:;
3164   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_6Method_2__call__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)__pyx_v_self), __pyx_v_stream, __pyx_v_text);
3165 
3166   /* function exit code */
3167   __Pyx_RefNannyFinishContext();
3168   return __pyx_r;
3169 }
3170 
__pyx_pf_6Cython_8Compiler_8Scanning_6Method_2__call__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method * __pyx_v_self,PyObject * __pyx_v_stream,PyObject * __pyx_v_text)3171 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_2__call__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_text) {
3172   PyObject *__pyx_v_method = NULL;
3173   PyObject *__pyx_r = NULL;
3174   __Pyx_RefNannyDeclarations
3175   PyObject *__pyx_t_1 = NULL;
3176   PyObject *__pyx_t_2 = NULL;
3177   int __pyx_t_3;
3178   PyObject *__pyx_t_4 = NULL;
3179   PyObject *__pyx_t_5 = NULL;
3180   int __pyx_lineno = 0;
3181   const char *__pyx_filename = NULL;
3182   int __pyx_clineno = 0;
3183   __Pyx_RefNannySetupContext("__call__", 0);
3184 
3185   /* "Cython/Compiler/Scanning.py":62
3186  *
3187  *     def __call__(self, stream, text):
3188  *         method = getattr(stream, self.name)             # <<<<<<<<<<<<<<
3189  *         # self.kwargs is almost always unused => avoid call overhead
3190  *         return method(text, **self.kwargs) if self.kwargs is not None else method(text)
3191  */
3192   __pyx_t_1 = __pyx_v_self->name;
3193   __Pyx_INCREF(__pyx_t_1);
3194   __pyx_t_2 = __Pyx_GetAttr(__pyx_v_stream, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error)
3195   __Pyx_GOTREF(__pyx_t_2);
3196   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3197   __pyx_v_method = __pyx_t_2;
3198   __pyx_t_2 = 0;
3199 
3200   /* "Cython/Compiler/Scanning.py":64
3201  *         method = getattr(stream, self.name)
3202  *         # self.kwargs is almost always unused => avoid call overhead
3203  *         return method(text, **self.kwargs) if self.kwargs is not None else method(text)             # <<<<<<<<<<<<<<
3204  *
3205  *     def __copy__(self):
3206  */
3207   __Pyx_XDECREF(__pyx_r);
3208   __pyx_t_3 = (__pyx_v_self->kwargs != ((PyObject*)Py_None));
3209   if ((__pyx_t_3 != 0)) {
3210     __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error)
3211     __Pyx_GOTREF(__pyx_t_1);
3212     __Pyx_INCREF(__pyx_v_text);
3213     __Pyx_GIVEREF(__pyx_v_text);
3214     PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_text);
3215     if (unlikely(__pyx_v_self->kwargs == Py_None)) {
3216       PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
3217       __PYX_ERR(0, 64, __pyx_L1_error)
3218     }
3219     __pyx_t_4 = PyDict_Copy(__pyx_v_self->kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error)
3220     __Pyx_GOTREF(__pyx_t_4);
3221     __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_method, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 64, __pyx_L1_error)
3222     __Pyx_GOTREF(__pyx_t_5);
3223     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3224     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3225     __pyx_t_2 = __pyx_t_5;
3226     __pyx_t_5 = 0;
3227   } else {
3228     __Pyx_INCREF(__pyx_v_method);
3229     __pyx_t_4 = __pyx_v_method; __pyx_t_1 = NULL;
3230     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
3231       __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
3232       if (likely(__pyx_t_1)) {
3233         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
3234         __Pyx_INCREF(__pyx_t_1);
3235         __Pyx_INCREF(function);
3236         __Pyx_DECREF_SET(__pyx_t_4, function);
3237       }
3238     }
3239     __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_text) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_text);
3240     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
3241     if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 64, __pyx_L1_error)
3242     __Pyx_GOTREF(__pyx_t_5);
3243     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3244     __pyx_t_2 = __pyx_t_5;
3245     __pyx_t_5 = 0;
3246   }
3247   __pyx_r = __pyx_t_2;
3248   __pyx_t_2 = 0;
3249   goto __pyx_L0;
3250 
3251   /* "Cython/Compiler/Scanning.py":61
3252  *         self.__name__ = name  # for Plex tracing
3253  *
3254  *     def __call__(self, stream, text):             # <<<<<<<<<<<<<<
3255  *         method = getattr(stream, self.name)
3256  *         # self.kwargs is almost always unused => avoid call overhead
3257  */
3258 
3259   /* function exit code */
3260   __pyx_L1_error:;
3261   __Pyx_XDECREF(__pyx_t_1);
3262   __Pyx_XDECREF(__pyx_t_2);
3263   __Pyx_XDECREF(__pyx_t_4);
3264   __Pyx_XDECREF(__pyx_t_5);
3265   __Pyx_AddTraceback("Cython.Compiler.Scanning.Method.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3266   __pyx_r = NULL;
3267   __pyx_L0:;
3268   __Pyx_XDECREF(__pyx_v_method);
3269   __Pyx_XGIVEREF(__pyx_r);
3270   __Pyx_RefNannyFinishContext();
3271   return __pyx_r;
3272 }
3273 
3274 /* "Cython/Compiler/Scanning.py":66
3275  *         return method(text, **self.kwargs) if self.kwargs is not None else method(text)
3276  *
3277  *     def __copy__(self):             # <<<<<<<<<<<<<<
3278  *         return self  # immutable, no need to copy
3279  *
3280  */
3281 
3282 /* Python wrapper */
3283 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3284 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_6Method_5__copy__ = {"__copy__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_6Method_5__copy__, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_6Method_5__copy__(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)3285 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3286   PyObject *__pyx_r = 0;
3287   __Pyx_RefNannyDeclarations
3288   __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
3289   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_6Method_4__copy__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)__pyx_v_self));
3290 
3291   /* function exit code */
3292   __Pyx_RefNannyFinishContext();
3293   return __pyx_r;
3294 }
3295 
__pyx_pf_6Cython_8Compiler_8Scanning_6Method_4__copy__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method * __pyx_v_self)3296 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_4__copy__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self) {
3297   PyObject *__pyx_r = NULL;
3298   __Pyx_RefNannyDeclarations
3299   __Pyx_RefNannySetupContext("__copy__", 0);
3300 
3301   /* "Cython/Compiler/Scanning.py":67
3302  *
3303  *     def __copy__(self):
3304  *         return self  # immutable, no need to copy             # <<<<<<<<<<<<<<
3305  *
3306  *     def __deepcopy__(self, memo):
3307  */
3308   __Pyx_XDECREF(__pyx_r);
3309   __Pyx_INCREF(((PyObject *)__pyx_v_self));
3310   __pyx_r = ((PyObject *)__pyx_v_self);
3311   goto __pyx_L0;
3312 
3313   /* "Cython/Compiler/Scanning.py":66
3314  *         return method(text, **self.kwargs) if self.kwargs is not None else method(text)
3315  *
3316  *     def __copy__(self):             # <<<<<<<<<<<<<<
3317  *         return self  # immutable, no need to copy
3318  *
3319  */
3320 
3321   /* function exit code */
3322   __pyx_L0:;
3323   __Pyx_XGIVEREF(__pyx_r);
3324   __Pyx_RefNannyFinishContext();
3325   return __pyx_r;
3326 }
3327 
3328 /* "Cython/Compiler/Scanning.py":69
3329  *         return self  # immutable, no need to copy
3330  *
3331  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
3332  *         return self  # immutable, no need to copy
3333  *
3334  */
3335 
3336 /* Python wrapper */
3337 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_7__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_v_memo); /*proto*/
3338 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_6Method_7__deepcopy__ = {"__deepcopy__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_6Method_7__deepcopy__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_6Method_7__deepcopy__(PyObject * __pyx_v_self,PyObject * __pyx_v_memo)3339 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_7__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_v_memo) {
3340   PyObject *__pyx_r = 0;
3341   __Pyx_RefNannyDeclarations
3342   __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0);
3343   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_6Method_6__deepcopy__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)__pyx_v_self), ((PyObject *)__pyx_v_memo));
3344 
3345   /* function exit code */
3346   __Pyx_RefNannyFinishContext();
3347   return __pyx_r;
3348 }
3349 
__pyx_pf_6Cython_8Compiler_8Scanning_6Method_6__deepcopy__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method * __pyx_v_self,CYTHON_UNUSED PyObject * __pyx_v_memo)3350 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_6__deepcopy__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo) {
3351   PyObject *__pyx_r = NULL;
3352   __Pyx_RefNannyDeclarations
3353   __Pyx_RefNannySetupContext("__deepcopy__", 0);
3354 
3355   /* "Cython/Compiler/Scanning.py":70
3356  *
3357  *     def __deepcopy__(self, memo):
3358  *         return self  # immutable, no need to copy             # <<<<<<<<<<<<<<
3359  *
3360  *
3361  */
3362   __Pyx_XDECREF(__pyx_r);
3363   __Pyx_INCREF(((PyObject *)__pyx_v_self));
3364   __pyx_r = ((PyObject *)__pyx_v_self);
3365   goto __pyx_L0;
3366 
3367   /* "Cython/Compiler/Scanning.py":69
3368  *         return self  # immutable, no need to copy
3369  *
3370  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
3371  *         return self  # immutable, no need to copy
3372  *
3373  */
3374 
3375   /* function exit code */
3376   __pyx_L0:;
3377   __Pyx_XGIVEREF(__pyx_r);
3378   __Pyx_RefNannyFinishContext();
3379   return __pyx_r;
3380 }
3381 
3382 /* "Cython/Compiler/Scanning.pxd":15
3383  *     cdef object name
3384  *     cdef dict kwargs
3385  *     cdef readonly object __name__  # for tracing the scanner             # <<<<<<<<<<<<<<
3386  *
3387  * ## methods commented with '##' out are used by Parsing.py when compiled.
3388  */
3389 
3390 /* Python wrapper */
3391 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_8__name___1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_6Method_8__name___1__get__(PyObject * __pyx_v_self)3392 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_6Method_8__name___1__get__(PyObject *__pyx_v_self) {
3393   PyObject *__pyx_r = 0;
3394   __Pyx_RefNannyDeclarations
3395   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
3396   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_6Method_8__name_____get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)__pyx_v_self));
3397 
3398   /* function exit code */
3399   __Pyx_RefNannyFinishContext();
3400   return __pyx_r;
3401 }
3402 
__pyx_pf_6Cython_8Compiler_8Scanning_6Method_8__name_____get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method * __pyx_v_self)3403 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_6Method_8__name_____get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *__pyx_v_self) {
3404   PyObject *__pyx_r = NULL;
3405   __Pyx_RefNannyDeclarations
3406   __Pyx_RefNannySetupContext("__get__", 0);
3407   __Pyx_XDECREF(__pyx_r);
3408   __Pyx_INCREF(__pyx_v_self->__name__);
3409   __pyx_r = __pyx_v_self->__name__;
3410   goto __pyx_L0;
3411 
3412   /* function exit code */
3413   __pyx_L0:;
3414   __Pyx_XGIVEREF(__pyx_r);
3415   __Pyx_RefNannyFinishContext();
3416   return __pyx_r;
3417 }
3418 
3419 /* "Cython/Compiler/Scanning.py":77
3420  * class CompileTimeScope(object):
3421  *
3422  *     def __init__(self, outer=None):             # <<<<<<<<<<<<<<
3423  *         self.entries = {}
3424  *         self.outer = outer
3425  */
3426 
3427 /* Python wrapper */
3428 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)3429 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3430   PyObject *__pyx_v_outer = 0;
3431   int __pyx_lineno = 0;
3432   const char *__pyx_filename = NULL;
3433   int __pyx_clineno = 0;
3434   int __pyx_r;
3435   __Pyx_RefNannyDeclarations
3436   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
3437   {
3438     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_outer,0};
3439     PyObject* values[1] = {0};
3440     values[0] = ((PyObject *)Py_None);
3441     if (unlikely(__pyx_kwds)) {
3442       Py_ssize_t kw_args;
3443       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
3444       switch (pos_args) {
3445         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3446         CYTHON_FALLTHROUGH;
3447         case  0: break;
3448         default: goto __pyx_L5_argtuple_error;
3449       }
3450       kw_args = PyDict_Size(__pyx_kwds);
3451       switch (pos_args) {
3452         case  0:
3453         if (kw_args > 0) {
3454           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outer);
3455           if (value) { values[0] = value; kw_args--; }
3456         }
3457       }
3458       if (unlikely(kw_args > 0)) {
3459         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 77, __pyx_L3_error)
3460       }
3461     } else {
3462       switch (PyTuple_GET_SIZE(__pyx_args)) {
3463         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3464         CYTHON_FALLTHROUGH;
3465         case  0: break;
3466         default: goto __pyx_L5_argtuple_error;
3467       }
3468     }
3469     __pyx_v_outer = values[0];
3470   }
3471   goto __pyx_L4_argument_unpacking_done;
3472   __pyx_L5_argtuple_error:;
3473   __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 77, __pyx_L3_error)
3474   __pyx_L3_error:;
3475   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3476   __Pyx_RefNannyFinishContext();
3477   return -1;
3478   __pyx_L4_argument_unpacking_done:;
3479   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope___init__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), __pyx_v_outer);
3480 
3481   /* function exit code */
3482   __Pyx_RefNannyFinishContext();
3483   return __pyx_r;
3484 }
3485 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_outer)3486 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_outer) {
3487   int __pyx_r;
3488   __Pyx_RefNannyDeclarations
3489   PyObject *__pyx_t_1 = NULL;
3490   int __pyx_lineno = 0;
3491   const char *__pyx_filename = NULL;
3492   int __pyx_clineno = 0;
3493   __Pyx_RefNannySetupContext("__init__", 0);
3494 
3495   /* "Cython/Compiler/Scanning.py":78
3496  *
3497  *     def __init__(self, outer=None):
3498  *         self.entries = {}             # <<<<<<<<<<<<<<
3499  *         self.outer = outer
3500  *
3501  */
3502   __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error)
3503   __Pyx_GOTREF(__pyx_t_1);
3504   __Pyx_GIVEREF(__pyx_t_1);
3505   __Pyx_GOTREF(__pyx_v_self->entries);
3506   __Pyx_DECREF(__pyx_v_self->entries);
3507   __pyx_v_self->entries = ((PyObject*)__pyx_t_1);
3508   __pyx_t_1 = 0;
3509 
3510   /* "Cython/Compiler/Scanning.py":79
3511  *     def __init__(self, outer=None):
3512  *         self.entries = {}
3513  *         self.outer = outer             # <<<<<<<<<<<<<<
3514  *
3515  *     def declare(self, name, value):
3516  */
3517   if (!(likely(((__pyx_v_outer) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_outer, __pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope))))) __PYX_ERR(0, 79, __pyx_L1_error)
3518   __pyx_t_1 = __pyx_v_outer;
3519   __Pyx_INCREF(__pyx_t_1);
3520   __Pyx_GIVEREF(__pyx_t_1);
3521   __Pyx_GOTREF(__pyx_v_self->outer);
3522   __Pyx_DECREF(((PyObject *)__pyx_v_self->outer));
3523   __pyx_v_self->outer = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_1);
3524   __pyx_t_1 = 0;
3525 
3526   /* "Cython/Compiler/Scanning.py":77
3527  * class CompileTimeScope(object):
3528  *
3529  *     def __init__(self, outer=None):             # <<<<<<<<<<<<<<
3530  *         self.entries = {}
3531  *         self.outer = outer
3532  */
3533 
3534   /* function exit code */
3535   __pyx_r = 0;
3536   goto __pyx_L0;
3537   __pyx_L1_error:;
3538   __Pyx_XDECREF(__pyx_t_1);
3539   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3540   __pyx_r = -1;
3541   __pyx_L0:;
3542   __Pyx_RefNannyFinishContext();
3543   return __pyx_r;
3544 }
3545 
3546 /* "Cython/Compiler/Scanning.py":81
3547  *         self.outer = outer
3548  *
3549  *     def declare(self, name, value):             # <<<<<<<<<<<<<<
3550  *         self.entries[name] = value
3551  *
3552  */
3553 
3554 /* Python wrapper */
3555 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_3declare(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
3556 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_3declare = {"declare", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_3declare, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_3declare(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)3557 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_3declare(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3558   PyObject *__pyx_v_name = 0;
3559   PyObject *__pyx_v_value = 0;
3560   int __pyx_lineno = 0;
3561   const char *__pyx_filename = NULL;
3562   int __pyx_clineno = 0;
3563   PyObject *__pyx_r = 0;
3564   __Pyx_RefNannyDeclarations
3565   __Pyx_RefNannySetupContext("declare (wrapper)", 0);
3566   {
3567     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_value,0};
3568     PyObject* values[2] = {0,0};
3569     if (unlikely(__pyx_kwds)) {
3570       Py_ssize_t kw_args;
3571       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
3572       switch (pos_args) {
3573         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3574         CYTHON_FALLTHROUGH;
3575         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3576         CYTHON_FALLTHROUGH;
3577         case  0: break;
3578         default: goto __pyx_L5_argtuple_error;
3579       }
3580       kw_args = PyDict_Size(__pyx_kwds);
3581       switch (pos_args) {
3582         case  0:
3583         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
3584         else goto __pyx_L5_argtuple_error;
3585         CYTHON_FALLTHROUGH;
3586         case  1:
3587         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
3588         else {
3589           __Pyx_RaiseArgtupleInvalid("declare", 1, 2, 2, 1); __PYX_ERR(0, 81, __pyx_L3_error)
3590         }
3591       }
3592       if (unlikely(kw_args > 0)) {
3593         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "declare") < 0)) __PYX_ERR(0, 81, __pyx_L3_error)
3594       }
3595     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
3596       goto __pyx_L5_argtuple_error;
3597     } else {
3598       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3599       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3600     }
3601     __pyx_v_name = values[0];
3602     __pyx_v_value = values[1];
3603   }
3604   goto __pyx_L4_argument_unpacking_done;
3605   __pyx_L5_argtuple_error:;
3606   __Pyx_RaiseArgtupleInvalid("declare", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 81, __pyx_L3_error)
3607   __pyx_L3_error:;
3608   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.declare", __pyx_clineno, __pyx_lineno, __pyx_filename);
3609   __Pyx_RefNannyFinishContext();
3610   return NULL;
3611   __pyx_L4_argument_unpacking_done:;
3612   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_2declare(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), __pyx_v_name, __pyx_v_value);
3613 
3614   /* function exit code */
3615   __Pyx_RefNannyFinishContext();
3616   return __pyx_r;
3617 }
3618 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_2declare(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_name,PyObject * __pyx_v_value)3619 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_2declare(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
3620   PyObject *__pyx_r = NULL;
3621   __Pyx_RefNannyDeclarations
3622   int __pyx_lineno = 0;
3623   const char *__pyx_filename = NULL;
3624   int __pyx_clineno = 0;
3625   __Pyx_RefNannySetupContext("declare", 0);
3626 
3627   /* "Cython/Compiler/Scanning.py":82
3628  *
3629  *     def declare(self, name, value):
3630  *         self.entries[name] = value             # <<<<<<<<<<<<<<
3631  *
3632  *     def update(self, other):
3633  */
3634   if (unlikely(__pyx_v_self->entries == Py_None)) {
3635     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
3636     __PYX_ERR(0, 82, __pyx_L1_error)
3637   }
3638   if (unlikely(PyDict_SetItem(__pyx_v_self->entries, __pyx_v_name, __pyx_v_value) < 0)) __PYX_ERR(0, 82, __pyx_L1_error)
3639 
3640   /* "Cython/Compiler/Scanning.py":81
3641  *         self.outer = outer
3642  *
3643  *     def declare(self, name, value):             # <<<<<<<<<<<<<<
3644  *         self.entries[name] = value
3645  *
3646  */
3647 
3648   /* function exit code */
3649   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3650   goto __pyx_L0;
3651   __pyx_L1_error:;
3652   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.declare", __pyx_clineno, __pyx_lineno, __pyx_filename);
3653   __pyx_r = NULL;
3654   __pyx_L0:;
3655   __Pyx_XGIVEREF(__pyx_r);
3656   __Pyx_RefNannyFinishContext();
3657   return __pyx_r;
3658 }
3659 
3660 /* "Cython/Compiler/Scanning.py":84
3661  *         self.entries[name] = value
3662  *
3663  *     def update(self, other):             # <<<<<<<<<<<<<<
3664  *         self.entries.update(other)
3665  *
3666  */
3667 
3668 /* Python wrapper */
3669 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5update(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
3670 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_5update = {"update", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5update, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5update(PyObject * __pyx_v_self,PyObject * __pyx_v_other)3671 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5update(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
3672   PyObject *__pyx_r = 0;
3673   __Pyx_RefNannyDeclarations
3674   __Pyx_RefNannySetupContext("update (wrapper)", 0);
3675   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_4update(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), ((PyObject *)__pyx_v_other));
3676 
3677   /* function exit code */
3678   __Pyx_RefNannyFinishContext();
3679   return __pyx_r;
3680 }
3681 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_4update(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_other)3682 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_4update(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_other) {
3683   PyObject *__pyx_r = NULL;
3684   __Pyx_RefNannyDeclarations
3685   PyObject *__pyx_t_1 = NULL;
3686   PyObject *__pyx_t_2 = NULL;
3687   PyObject *__pyx_t_3 = NULL;
3688   int __pyx_lineno = 0;
3689   const char *__pyx_filename = NULL;
3690   int __pyx_clineno = 0;
3691   __Pyx_RefNannySetupContext("update", 0);
3692 
3693   /* "Cython/Compiler/Scanning.py":85
3694  *
3695  *     def update(self, other):
3696  *         self.entries.update(other)             # <<<<<<<<<<<<<<
3697  *
3698  *     def lookup_here(self, name):
3699  */
3700   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->entries, __pyx_n_s_update); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error)
3701   __Pyx_GOTREF(__pyx_t_2);
3702   __pyx_t_3 = NULL;
3703   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
3704     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
3705     if (likely(__pyx_t_3)) {
3706       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
3707       __Pyx_INCREF(__pyx_t_3);
3708       __Pyx_INCREF(function);
3709       __Pyx_DECREF_SET(__pyx_t_2, function);
3710     }
3711   }
3712   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_other) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_other);
3713   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
3714   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
3715   __Pyx_GOTREF(__pyx_t_1);
3716   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3717   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3718 
3719   /* "Cython/Compiler/Scanning.py":84
3720  *         self.entries[name] = value
3721  *
3722  *     def update(self, other):             # <<<<<<<<<<<<<<
3723  *         self.entries.update(other)
3724  *
3725  */
3726 
3727   /* function exit code */
3728   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3729   goto __pyx_L0;
3730   __pyx_L1_error:;
3731   __Pyx_XDECREF(__pyx_t_1);
3732   __Pyx_XDECREF(__pyx_t_2);
3733   __Pyx_XDECREF(__pyx_t_3);
3734   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
3735   __pyx_r = NULL;
3736   __pyx_L0:;
3737   __Pyx_XGIVEREF(__pyx_r);
3738   __Pyx_RefNannyFinishContext();
3739   return __pyx_r;
3740 }
3741 
3742 /* "Cython/Compiler/Scanning.py":87
3743  *         self.entries.update(other)
3744  *
3745  *     def lookup_here(self, name):             # <<<<<<<<<<<<<<
3746  *         return self.entries[name]
3747  *
3748  */
3749 
3750 /* Python wrapper */
3751 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7lookup_here(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
3752 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_7lookup_here = {"lookup_here", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7lookup_here, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7lookup_here(PyObject * __pyx_v_self,PyObject * __pyx_v_name)3753 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7lookup_here(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
3754   PyObject *__pyx_r = 0;
3755   __Pyx_RefNannyDeclarations
3756   __Pyx_RefNannySetupContext("lookup_here (wrapper)", 0);
3757   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_6lookup_here(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), ((PyObject *)__pyx_v_name));
3758 
3759   /* function exit code */
3760   __Pyx_RefNannyFinishContext();
3761   return __pyx_r;
3762 }
3763 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_6lookup_here(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_name)3764 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_6lookup_here(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name) {
3765   PyObject *__pyx_r = NULL;
3766   __Pyx_RefNannyDeclarations
3767   PyObject *__pyx_t_1 = NULL;
3768   int __pyx_lineno = 0;
3769   const char *__pyx_filename = NULL;
3770   int __pyx_clineno = 0;
3771   __Pyx_RefNannySetupContext("lookup_here", 0);
3772 
3773   /* "Cython/Compiler/Scanning.py":88
3774  *
3775  *     def lookup_here(self, name):
3776  *         return self.entries[name]             # <<<<<<<<<<<<<<
3777  *
3778  *     def __contains__(self, name):
3779  */
3780   __Pyx_XDECREF(__pyx_r);
3781   if (unlikely(__pyx_v_self->entries == Py_None)) {
3782     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
3783     __PYX_ERR(0, 88, __pyx_L1_error)
3784   }
3785   __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_self->entries, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
3786   __Pyx_GOTREF(__pyx_t_1);
3787   __pyx_r = __pyx_t_1;
3788   __pyx_t_1 = 0;
3789   goto __pyx_L0;
3790 
3791   /* "Cython/Compiler/Scanning.py":87
3792  *         self.entries.update(other)
3793  *
3794  *     def lookup_here(self, name):             # <<<<<<<<<<<<<<
3795  *         return self.entries[name]
3796  *
3797  */
3798 
3799   /* function exit code */
3800   __pyx_L1_error:;
3801   __Pyx_XDECREF(__pyx_t_1);
3802   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.lookup_here", __pyx_clineno, __pyx_lineno, __pyx_filename);
3803   __pyx_r = NULL;
3804   __pyx_L0:;
3805   __Pyx_XGIVEREF(__pyx_r);
3806   __Pyx_RefNannyFinishContext();
3807   return __pyx_r;
3808 }
3809 
3810 /* "Cython/Compiler/Scanning.py":90
3811  *         return self.entries[name]
3812  *
3813  *     def __contains__(self, name):             # <<<<<<<<<<<<<<
3814  *         return name in self.entries
3815  *
3816  */
3817 
3818 /* Python wrapper */
3819 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_9__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_9__contains__(PyObject * __pyx_v_self,PyObject * __pyx_v_name)3820 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_9__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
3821   int __pyx_r;
3822   __Pyx_RefNannyDeclarations
3823   __Pyx_RefNannySetupContext("__contains__ (wrapper)", 0);
3824   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_8__contains__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), ((PyObject *)__pyx_v_name));
3825 
3826   /* function exit code */
3827   __Pyx_RefNannyFinishContext();
3828   return __pyx_r;
3829 }
3830 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_8__contains__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_name)3831 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_8__contains__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name) {
3832   int __pyx_r;
3833   __Pyx_RefNannyDeclarations
3834   int __pyx_t_1;
3835   int __pyx_lineno = 0;
3836   const char *__pyx_filename = NULL;
3837   int __pyx_clineno = 0;
3838   __Pyx_RefNannySetupContext("__contains__", 0);
3839 
3840   /* "Cython/Compiler/Scanning.py":91
3841  *
3842  *     def __contains__(self, name):
3843  *         return name in self.entries             # <<<<<<<<<<<<<<
3844  *
3845  *     def lookup(self, name):
3846  */
3847   if (unlikely(__pyx_v_self->entries == Py_None)) {
3848     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
3849     __PYX_ERR(0, 91, __pyx_L1_error)
3850   }
3851   __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_self->entries, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 91, __pyx_L1_error)
3852   __pyx_r = __pyx_t_1;
3853   goto __pyx_L0;
3854 
3855   /* "Cython/Compiler/Scanning.py":90
3856  *         return self.entries[name]
3857  *
3858  *     def __contains__(self, name):             # <<<<<<<<<<<<<<
3859  *         return name in self.entries
3860  *
3861  */
3862 
3863   /* function exit code */
3864   __pyx_L1_error:;
3865   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.__contains__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3866   __pyx_r = -1;
3867   __pyx_L0:;
3868   __Pyx_RefNannyFinishContext();
3869   return __pyx_r;
3870 }
3871 
3872 /* "Cython/Compiler/Scanning.py":93
3873  *         return name in self.entries
3874  *
3875  *     def lookup(self, name):             # <<<<<<<<<<<<<<
3876  *         try:
3877  *             return self.lookup_here(name)
3878  */
3879 
3880 /* Python wrapper */
3881 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_11lookup(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
3882 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_11lookup = {"lookup", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_11lookup, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_11lookup(PyObject * __pyx_v_self,PyObject * __pyx_v_name)3883 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_11lookup(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
3884   PyObject *__pyx_r = 0;
3885   __Pyx_RefNannyDeclarations
3886   __Pyx_RefNannySetupContext("lookup (wrapper)", 0);
3887   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_10lookup(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), ((PyObject *)__pyx_v_name));
3888 
3889   /* function exit code */
3890   __Pyx_RefNannyFinishContext();
3891   return __pyx_r;
3892 }
3893 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_10lookup(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_name)3894 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_10lookup(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_name) {
3895   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_outer = NULL;
3896   PyObject *__pyx_r = NULL;
3897   __Pyx_RefNannyDeclarations
3898   PyObject *__pyx_t_1 = NULL;
3899   PyObject *__pyx_t_2 = NULL;
3900   PyObject *__pyx_t_3 = NULL;
3901   PyObject *__pyx_t_4 = NULL;
3902   PyObject *__pyx_t_5 = NULL;
3903   PyObject *__pyx_t_6 = NULL;
3904   int __pyx_t_7;
3905   PyObject *__pyx_t_8 = NULL;
3906   int __pyx_t_9;
3907   PyObject *__pyx_t_10 = NULL;
3908   PyObject *__pyx_t_11 = NULL;
3909   int __pyx_lineno = 0;
3910   const char *__pyx_filename = NULL;
3911   int __pyx_clineno = 0;
3912   __Pyx_RefNannySetupContext("lookup", 0);
3913 
3914   /* "Cython/Compiler/Scanning.py":94
3915  *
3916  *     def lookup(self, name):
3917  *         try:             # <<<<<<<<<<<<<<
3918  *             return self.lookup_here(name)
3919  *         except KeyError:
3920  */
3921   {
3922     __Pyx_PyThreadState_declare
3923     __Pyx_PyThreadState_assign
3924     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
3925     __Pyx_XGOTREF(__pyx_t_1);
3926     __Pyx_XGOTREF(__pyx_t_2);
3927     __Pyx_XGOTREF(__pyx_t_3);
3928     /*try:*/ {
3929 
3930       /* "Cython/Compiler/Scanning.py":95
3931  *     def lookup(self, name):
3932  *         try:
3933  *             return self.lookup_here(name)             # <<<<<<<<<<<<<<
3934  *         except KeyError:
3935  *             outer = self.outer
3936  */
3937       __Pyx_XDECREF(__pyx_r);
3938       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_lookup_here); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 95, __pyx_L3_error)
3939       __Pyx_GOTREF(__pyx_t_5);
3940       __pyx_t_6 = NULL;
3941       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
3942         __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
3943         if (likely(__pyx_t_6)) {
3944           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3945           __Pyx_INCREF(__pyx_t_6);
3946           __Pyx_INCREF(function);
3947           __Pyx_DECREF_SET(__pyx_t_5, function);
3948         }
3949       }
3950       __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_name);
3951       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
3952       if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 95, __pyx_L3_error)
3953       __Pyx_GOTREF(__pyx_t_4);
3954       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3955       __pyx_r = __pyx_t_4;
3956       __pyx_t_4 = 0;
3957       goto __pyx_L7_try_return;
3958 
3959       /* "Cython/Compiler/Scanning.py":94
3960  *
3961  *     def lookup(self, name):
3962  *         try:             # <<<<<<<<<<<<<<
3963  *             return self.lookup_here(name)
3964  *         except KeyError:
3965  */
3966     }
3967     __pyx_L3_error:;
3968     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
3969     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
3970     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
3971 
3972     /* "Cython/Compiler/Scanning.py":96
3973  *         try:
3974  *             return self.lookup_here(name)
3975  *         except KeyError:             # <<<<<<<<<<<<<<
3976  *             outer = self.outer
3977  *             if outer:
3978  */
3979     __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
3980     if (__pyx_t_7) {
3981       __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
3982       if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 96, __pyx_L5_except_error)
3983       __Pyx_GOTREF(__pyx_t_4);
3984       __Pyx_GOTREF(__pyx_t_5);
3985       __Pyx_GOTREF(__pyx_t_6);
3986 
3987       /* "Cython/Compiler/Scanning.py":97
3988  *             return self.lookup_here(name)
3989  *         except KeyError:
3990  *             outer = self.outer             # <<<<<<<<<<<<<<
3991  *             if outer:
3992  *                 return outer.lookup(name)
3993  */
3994       __pyx_t_8 = ((PyObject *)__pyx_v_self->outer);
3995       __Pyx_INCREF(__pyx_t_8);
3996       __pyx_v_outer = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_8);
3997       __pyx_t_8 = 0;
3998 
3999       /* "Cython/Compiler/Scanning.py":98
4000  *         except KeyError:
4001  *             outer = self.outer
4002  *             if outer:             # <<<<<<<<<<<<<<
4003  *                 return outer.lookup(name)
4004  *             else:
4005  */
4006       __pyx_t_9 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_outer)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 98, __pyx_L5_except_error)
4007       if (likely(__pyx_t_9)) {
4008 
4009         /* "Cython/Compiler/Scanning.py":99
4010  *             outer = self.outer
4011  *             if outer:
4012  *                 return outer.lookup(name)             # <<<<<<<<<<<<<<
4013  *             else:
4014  *                 raise
4015  */
4016         __Pyx_XDECREF(__pyx_r);
4017         __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_outer), __pyx_n_s_lookup); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L5_except_error)
4018         __Pyx_GOTREF(__pyx_t_10);
4019         __pyx_t_11 = NULL;
4020         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
4021           __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
4022           if (likely(__pyx_t_11)) {
4023             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
4024             __Pyx_INCREF(__pyx_t_11);
4025             __Pyx_INCREF(function);
4026             __Pyx_DECREF_SET(__pyx_t_10, function);
4027           }
4028         }
4029         __pyx_t_8 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_name);
4030         __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
4031         if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 99, __pyx_L5_except_error)
4032         __Pyx_GOTREF(__pyx_t_8);
4033         __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4034         __pyx_r = __pyx_t_8;
4035         __pyx_t_8 = 0;
4036         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4037         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4038         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4039         goto __pyx_L6_except_return;
4040 
4041         /* "Cython/Compiler/Scanning.py":98
4042  *         except KeyError:
4043  *             outer = self.outer
4044  *             if outer:             # <<<<<<<<<<<<<<
4045  *                 return outer.lookup(name)
4046  *             else:
4047  */
4048       }
4049 
4050       /* "Cython/Compiler/Scanning.py":101
4051  *                 return outer.lookup(name)
4052  *             else:
4053  *                 raise             # <<<<<<<<<<<<<<
4054  *
4055  *
4056  */
4057       /*else*/ {
4058         __Pyx_GIVEREF(__pyx_t_4);
4059         __Pyx_GIVEREF(__pyx_t_5);
4060         __Pyx_XGIVEREF(__pyx_t_6);
4061         __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_6);
4062         __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0;
4063         __PYX_ERR(0, 101, __pyx_L5_except_error)
4064       }
4065     }
4066     goto __pyx_L5_except_error;
4067     __pyx_L5_except_error:;
4068 
4069     /* "Cython/Compiler/Scanning.py":94
4070  *
4071  *     def lookup(self, name):
4072  *         try:             # <<<<<<<<<<<<<<
4073  *             return self.lookup_here(name)
4074  *         except KeyError:
4075  */
4076     __Pyx_XGIVEREF(__pyx_t_1);
4077     __Pyx_XGIVEREF(__pyx_t_2);
4078     __Pyx_XGIVEREF(__pyx_t_3);
4079     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
4080     goto __pyx_L1_error;
4081     __pyx_L7_try_return:;
4082     __Pyx_XGIVEREF(__pyx_t_1);
4083     __Pyx_XGIVEREF(__pyx_t_2);
4084     __Pyx_XGIVEREF(__pyx_t_3);
4085     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
4086     goto __pyx_L0;
4087     __pyx_L6_except_return:;
4088     __Pyx_XGIVEREF(__pyx_t_1);
4089     __Pyx_XGIVEREF(__pyx_t_2);
4090     __Pyx_XGIVEREF(__pyx_t_3);
4091     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
4092     goto __pyx_L0;
4093   }
4094 
4095   /* "Cython/Compiler/Scanning.py":93
4096  *         return name in self.entries
4097  *
4098  *     def lookup(self, name):             # <<<<<<<<<<<<<<
4099  *         try:
4100  *             return self.lookup_here(name)
4101  */
4102 
4103   /* function exit code */
4104   __pyx_L1_error:;
4105   __Pyx_XDECREF(__pyx_t_4);
4106   __Pyx_XDECREF(__pyx_t_5);
4107   __Pyx_XDECREF(__pyx_t_6);
4108   __Pyx_XDECREF(__pyx_t_8);
4109   __Pyx_XDECREF(__pyx_t_10);
4110   __Pyx_XDECREF(__pyx_t_11);
4111   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
4112   __pyx_r = NULL;
4113   __pyx_L0:;
4114   __Pyx_XDECREF((PyObject *)__pyx_v_outer);
4115   __Pyx_XGIVEREF(__pyx_r);
4116   __Pyx_RefNannyFinishContext();
4117   return __pyx_r;
4118 }
4119 
4120 /* "Cython/Compiler/Scanning.pxd":21
4121  * @cython.final
4122  * cdef class CompileTimeScope:
4123  *     cdef public dict entries             # <<<<<<<<<<<<<<
4124  *     cdef public CompileTimeScope outer
4125  *     ##cdef declare(self, name, value)
4126  */
4127 
4128 /* Python wrapper */
4129 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_1__get__(PyObject * __pyx_v_self)4130 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_1__get__(PyObject *__pyx_v_self) {
4131   PyObject *__pyx_r = 0;
4132   __Pyx_RefNannyDeclarations
4133   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4134   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self));
4135 
4136   /* function exit code */
4137   __Pyx_RefNannyFinishContext();
4138   return __pyx_r;
4139 }
4140 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self)4141 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self) {
4142   PyObject *__pyx_r = NULL;
4143   __Pyx_RefNannyDeclarations
4144   __Pyx_RefNannySetupContext("__get__", 0);
4145   __Pyx_XDECREF(__pyx_r);
4146   __Pyx_INCREF(__pyx_v_self->entries);
4147   __pyx_r = __pyx_v_self->entries;
4148   goto __pyx_L0;
4149 
4150   /* function exit code */
4151   __pyx_L0:;
4152   __Pyx_XGIVEREF(__pyx_r);
4153   __Pyx_RefNannyFinishContext();
4154   return __pyx_r;
4155 }
4156 
4157 /* Python wrapper */
4158 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)4159 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4160   int __pyx_r;
4161   __Pyx_RefNannyDeclarations
4162   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4163   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4164 
4165   /* function exit code */
4166   __Pyx_RefNannyFinishContext();
4167   return __pyx_r;
4168 }
4169 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_value)4170 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_value) {
4171   int __pyx_r;
4172   __Pyx_RefNannyDeclarations
4173   PyObject *__pyx_t_1 = NULL;
4174   int __pyx_lineno = 0;
4175   const char *__pyx_filename = NULL;
4176   int __pyx_clineno = 0;
4177   __Pyx_RefNannySetupContext("__set__", 0);
4178   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, 21, __pyx_L1_error)
4179   __pyx_t_1 = __pyx_v_value;
4180   __Pyx_INCREF(__pyx_t_1);
4181   __Pyx_GIVEREF(__pyx_t_1);
4182   __Pyx_GOTREF(__pyx_v_self->entries);
4183   __Pyx_DECREF(__pyx_v_self->entries);
4184   __pyx_v_self->entries = ((PyObject*)__pyx_t_1);
4185   __pyx_t_1 = 0;
4186 
4187   /* function exit code */
4188   __pyx_r = 0;
4189   goto __pyx_L0;
4190   __pyx_L1_error:;
4191   __Pyx_XDECREF(__pyx_t_1);
4192   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.entries.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4193   __pyx_r = -1;
4194   __pyx_L0:;
4195   __Pyx_RefNannyFinishContext();
4196   return __pyx_r;
4197 }
4198 
4199 /* Python wrapper */
4200 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_5__del__(PyObject * __pyx_v_self)4201 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_5__del__(PyObject *__pyx_v_self) {
4202   int __pyx_r;
4203   __Pyx_RefNannyDeclarations
4204   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
4205   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self));
4206 
4207   /* function exit code */
4208   __Pyx_RefNannyFinishContext();
4209   return __pyx_r;
4210 }
4211 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self)4212 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self) {
4213   int __pyx_r;
4214   __Pyx_RefNannyDeclarations
4215   __Pyx_RefNannySetupContext("__del__", 0);
4216   __Pyx_INCREF(Py_None);
4217   __Pyx_GIVEREF(Py_None);
4218   __Pyx_GOTREF(__pyx_v_self->entries);
4219   __Pyx_DECREF(__pyx_v_self->entries);
4220   __pyx_v_self->entries = ((PyObject*)Py_None);
4221 
4222   /* function exit code */
4223   __pyx_r = 0;
4224   __Pyx_RefNannyFinishContext();
4225   return __pyx_r;
4226 }
4227 
4228 /* "Cython/Compiler/Scanning.pxd":22
4229  * cdef class CompileTimeScope:
4230  *     cdef public dict entries
4231  *     cdef public CompileTimeScope outer             # <<<<<<<<<<<<<<
4232  *     ##cdef declare(self, name, value)
4233  *     ##cdef lookup_here(self, name)
4234  */
4235 
4236 /* Python wrapper */
4237 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_1__get__(PyObject * __pyx_v_self)4238 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_1__get__(PyObject *__pyx_v_self) {
4239   PyObject *__pyx_r = 0;
4240   __Pyx_RefNannyDeclarations
4241   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4242   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self));
4243 
4244   /* function exit code */
4245   __Pyx_RefNannyFinishContext();
4246   return __pyx_r;
4247 }
4248 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self)4249 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self) {
4250   PyObject *__pyx_r = NULL;
4251   __Pyx_RefNannyDeclarations
4252   __Pyx_RefNannySetupContext("__get__", 0);
4253   __Pyx_XDECREF(__pyx_r);
4254   __Pyx_INCREF(((PyObject *)__pyx_v_self->outer));
4255   __pyx_r = ((PyObject *)__pyx_v_self->outer);
4256   goto __pyx_L0;
4257 
4258   /* function exit code */
4259   __pyx_L0:;
4260   __Pyx_XGIVEREF(__pyx_r);
4261   __Pyx_RefNannyFinishContext();
4262   return __pyx_r;
4263 }
4264 
4265 /* Python wrapper */
4266 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)4267 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4268   int __pyx_r;
4269   __Pyx_RefNannyDeclarations
4270   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4271   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4272 
4273   /* function exit code */
4274   __Pyx_RefNannyFinishContext();
4275   return __pyx_r;
4276 }
4277 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self,PyObject * __pyx_v_value)4278 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self, PyObject *__pyx_v_value) {
4279   int __pyx_r;
4280   __Pyx_RefNannyDeclarations
4281   PyObject *__pyx_t_1 = NULL;
4282   int __pyx_lineno = 0;
4283   const char *__pyx_filename = NULL;
4284   int __pyx_clineno = 0;
4285   __Pyx_RefNannySetupContext("__set__", 0);
4286   if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope))))) __PYX_ERR(1, 22, __pyx_L1_error)
4287   __pyx_t_1 = __pyx_v_value;
4288   __Pyx_INCREF(__pyx_t_1);
4289   __Pyx_GIVEREF(__pyx_t_1);
4290   __Pyx_GOTREF(__pyx_v_self->outer);
4291   __Pyx_DECREF(((PyObject *)__pyx_v_self->outer));
4292   __pyx_v_self->outer = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_1);
4293   __pyx_t_1 = 0;
4294 
4295   /* function exit code */
4296   __pyx_r = 0;
4297   goto __pyx_L0;
4298   __pyx_L1_error:;
4299   __Pyx_XDECREF(__pyx_t_1);
4300   __Pyx_AddTraceback("Cython.Compiler.Scanning.CompileTimeScope.outer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4301   __pyx_r = -1;
4302   __pyx_L0:;
4303   __Pyx_RefNannyFinishContext();
4304   return __pyx_r;
4305 }
4306 
4307 /* Python wrapper */
4308 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_5__del__(PyObject * __pyx_v_self)4309 static int __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_5__del__(PyObject *__pyx_v_self) {
4310   int __pyx_r;
4311   __Pyx_RefNannyDeclarations
4312   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
4313   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_v_self));
4314 
4315   /* function exit code */
4316   __Pyx_RefNannyFinishContext();
4317   return __pyx_r;
4318 }
4319 
__pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope * __pyx_v_self)4320 static int __pyx_pf_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_self) {
4321   int __pyx_r;
4322   __Pyx_RefNannyDeclarations
4323   __Pyx_RefNannySetupContext("__del__", 0);
4324   __Pyx_INCREF(Py_None);
4325   __Pyx_GIVEREF(Py_None);
4326   __Pyx_GOTREF(__pyx_v_self->outer);
4327   __Pyx_DECREF(((PyObject *)__pyx_v_self->outer));
4328   __pyx_v_self->outer = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)Py_None);
4329 
4330   /* function exit code */
4331   __pyx_r = 0;
4332   __Pyx_RefNannyFinishContext();
4333   return __pyx_r;
4334 }
4335 
4336 /* "Cython/Compiler/Scanning.py":104
4337  *
4338  *
4339  * def initial_compile_time_env():             # <<<<<<<<<<<<<<
4340  *     benv = CompileTimeScope()
4341  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')
4342  */
4343 
__pyx_f_6Cython_8Compiler_8Scanning_initial_compile_time_env(void)4344 static PyObject *__pyx_f_6Cython_8Compiler_8Scanning_initial_compile_time_env(void) {
4345   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_benv = NULL;
4346   PyObject *__pyx_v_names = NULL;
4347   PyObject *__pyx_v_name = NULL;
4348   PyObject *__pyx_v_value = NULL;
4349   PyObject *__pyx_v_builtins = NULL;
4350   PyObject *__pyx_v_reduce = NULL;
4351   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *__pyx_v_denv = NULL;
4352   PyObject *__pyx_r = NULL;
4353   __Pyx_RefNannyDeclarations
4354   PyObject *__pyx_t_1 = NULL;
4355   PyObject *__pyx_t_2 = NULL;
4356   PyObject *__pyx_t_3 = NULL;
4357   Py_ssize_t __pyx_t_4;
4358   PyObject *(*__pyx_t_5)(PyObject *);
4359   PyObject *__pyx_t_6 = NULL;
4360   PyObject *__pyx_t_7 = NULL;
4361   PyObject *(*__pyx_t_8)(PyObject *);
4362   int __pyx_t_9;
4363   PyObject *__pyx_t_10 = NULL;
4364   PyObject *__pyx_t_11 = NULL;
4365   PyObject *__pyx_t_12 = NULL;
4366   PyObject *__pyx_t_13 = NULL;
4367   int __pyx_lineno = 0;
4368   const char *__pyx_filename = NULL;
4369   int __pyx_clineno = 0;
4370   __Pyx_RefNannySetupContext("initial_compile_time_env", 0);
4371 
4372   /* "Cython/Compiler/Scanning.py":105
4373  *
4374  * def initial_compile_time_env():
4375  *     benv = CompileTimeScope()             # <<<<<<<<<<<<<<
4376  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')
4377  *     for name, value in zip(names, platform.uname()):
4378  */
4379   __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
4380   __Pyx_GOTREF(__pyx_t_1);
4381   __pyx_v_benv = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_1);
4382   __pyx_t_1 = 0;
4383 
4384   /* "Cython/Compiler/Scanning.py":106
4385  * def initial_compile_time_env():
4386  *     benv = CompileTimeScope()
4387  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')             # <<<<<<<<<<<<<<
4388  *     for name, value in zip(names, platform.uname()):
4389  *         benv.declare(name, value)
4390  */
4391   __Pyx_INCREF(__pyx_tuple_);
4392   __pyx_v_names = __pyx_tuple_;
4393 
4394   /* "Cython/Compiler/Scanning.py":107
4395  *     benv = CompileTimeScope()
4396  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')
4397  *     for name, value in zip(names, platform.uname()):             # <<<<<<<<<<<<<<
4398  *         benv.declare(name, value)
4399  *     try:
4400  */
4401   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_8Scanning_platform, __pyx_n_s_uname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)
4402   __Pyx_GOTREF(__pyx_t_2);
4403   __pyx_t_3 = NULL;
4404   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4405     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
4406     if (likely(__pyx_t_3)) {
4407       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4408       __Pyx_INCREF(__pyx_t_3);
4409       __Pyx_INCREF(function);
4410       __Pyx_DECREF_SET(__pyx_t_2, function);
4411     }
4412   }
4413   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
4414   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4415   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
4416   __Pyx_GOTREF(__pyx_t_1);
4417   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4418   __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)
4419   __Pyx_GOTREF(__pyx_t_2);
4420   __Pyx_INCREF(__pyx_v_names);
4421   __Pyx_GIVEREF(__pyx_v_names);
4422   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_names);
4423   __Pyx_GIVEREF(__pyx_t_1);
4424   PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
4425   __pyx_t_1 = 0;
4426   __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
4427   __Pyx_GOTREF(__pyx_t_1);
4428   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4429   if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
4430     __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
4431     __pyx_t_5 = NULL;
4432   } else {
4433     __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)
4434     __Pyx_GOTREF(__pyx_t_2);
4435     __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 107, __pyx_L1_error)
4436   }
4437   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4438   for (;;) {
4439     if (likely(!__pyx_t_5)) {
4440       if (likely(PyList_CheckExact(__pyx_t_2))) {
4441         if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
4442         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4443         __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, 107, __pyx_L1_error)
4444         #else
4445         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
4446         __Pyx_GOTREF(__pyx_t_1);
4447         #endif
4448       } else {
4449         if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
4450         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4451         __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, 107, __pyx_L1_error)
4452         #else
4453         __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
4454         __Pyx_GOTREF(__pyx_t_1);
4455         #endif
4456       }
4457     } else {
4458       __pyx_t_1 = __pyx_t_5(__pyx_t_2);
4459       if (unlikely(!__pyx_t_1)) {
4460         PyObject* exc_type = PyErr_Occurred();
4461         if (exc_type) {
4462           if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
4463           else __PYX_ERR(0, 107, __pyx_L1_error)
4464         }
4465         break;
4466       }
4467       __Pyx_GOTREF(__pyx_t_1);
4468     }
4469     if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
4470       PyObject* sequence = __pyx_t_1;
4471       Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
4472       if (unlikely(size != 2)) {
4473         if (size > 2) __Pyx_RaiseTooManyValuesError(2);
4474         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
4475         __PYX_ERR(0, 107, __pyx_L1_error)
4476       }
4477       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4478       if (likely(PyTuple_CheckExact(sequence))) {
4479         __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
4480         __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
4481       } else {
4482         __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
4483         __pyx_t_6 = PyList_GET_ITEM(sequence, 1);
4484       }
4485       __Pyx_INCREF(__pyx_t_3);
4486       __Pyx_INCREF(__pyx_t_6);
4487       #else
4488       __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error)
4489       __Pyx_GOTREF(__pyx_t_3);
4490       __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 107, __pyx_L1_error)
4491       __Pyx_GOTREF(__pyx_t_6);
4492       #endif
4493       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4494     } else {
4495       Py_ssize_t index = -1;
4496       __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 107, __pyx_L1_error)
4497       __Pyx_GOTREF(__pyx_t_7);
4498       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4499       __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
4500       index = 0; __pyx_t_3 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_3)) goto __pyx_L5_unpacking_failed;
4501       __Pyx_GOTREF(__pyx_t_3);
4502       index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
4503       __Pyx_GOTREF(__pyx_t_6);
4504       if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
4505       __pyx_t_8 = NULL;
4506       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4507       goto __pyx_L6_unpacking_done;
4508       __pyx_L5_unpacking_failed:;
4509       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4510       __pyx_t_8 = NULL;
4511       if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
4512       __PYX_ERR(0, 107, __pyx_L1_error)
4513       __pyx_L6_unpacking_done:;
4514     }
4515     __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
4516     __pyx_t_3 = 0;
4517     __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
4518     __pyx_t_6 = 0;
4519 
4520     /* "Cython/Compiler/Scanning.py":108
4521  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')
4522  *     for name, value in zip(names, platform.uname()):
4523  *         benv.declare(name, value)             # <<<<<<<<<<<<<<
4524  *     try:
4525  *         import __builtin__ as builtins
4526  */
4527     __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_benv), __pyx_n_s_declare); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 108, __pyx_L1_error)
4528     __Pyx_GOTREF(__pyx_t_6);
4529     __pyx_t_3 = NULL;
4530     __pyx_t_9 = 0;
4531     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
4532       __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
4533       if (likely(__pyx_t_3)) {
4534         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
4535         __Pyx_INCREF(__pyx_t_3);
4536         __Pyx_INCREF(function);
4537         __Pyx_DECREF_SET(__pyx_t_6, function);
4538         __pyx_t_9 = 1;
4539       }
4540     }
4541     #if CYTHON_FAST_PYCALL
4542     if (PyFunction_Check(__pyx_t_6)) {
4543       PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_value};
4544       __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
4545       __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4546       __Pyx_GOTREF(__pyx_t_1);
4547     } else
4548     #endif
4549     #if CYTHON_FAST_PYCCALL
4550     if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
4551       PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_value};
4552       __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
4553       __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4554       __Pyx_GOTREF(__pyx_t_1);
4555     } else
4556     #endif
4557     {
4558       __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 108, __pyx_L1_error)
4559       __Pyx_GOTREF(__pyx_t_7);
4560       if (__pyx_t_3) {
4561         __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
4562       }
4563       __Pyx_INCREF(__pyx_v_name);
4564       __Pyx_GIVEREF(__pyx_v_name);
4565       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_v_name);
4566       __Pyx_INCREF(__pyx_v_value);
4567       __Pyx_GIVEREF(__pyx_v_value);
4568       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_v_value);
4569       __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
4570       __Pyx_GOTREF(__pyx_t_1);
4571       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4572     }
4573     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4574     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4575 
4576     /* "Cython/Compiler/Scanning.py":107
4577  *     benv = CompileTimeScope()
4578  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')
4579  *     for name, value in zip(names, platform.uname()):             # <<<<<<<<<<<<<<
4580  *         benv.declare(name, value)
4581  *     try:
4582  */
4583   }
4584   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4585 
4586   /* "Cython/Compiler/Scanning.py":109
4587  *     for name, value in zip(names, platform.uname()):
4588  *         benv.declare(name, value)
4589  *     try:             # <<<<<<<<<<<<<<
4590  *         import __builtin__ as builtins
4591  *     except ImportError:
4592  */
4593   {
4594     __Pyx_PyThreadState_declare
4595     __Pyx_PyThreadState_assign
4596     __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
4597     __Pyx_XGOTREF(__pyx_t_10);
4598     __Pyx_XGOTREF(__pyx_t_11);
4599     __Pyx_XGOTREF(__pyx_t_12);
4600     /*try:*/ {
4601 
4602       /* "Cython/Compiler/Scanning.py":110
4603  *         benv.declare(name, value)
4604  *     try:
4605  *         import __builtin__ as builtins             # <<<<<<<<<<<<<<
4606  *     except ImportError:
4607  *         import builtins
4608  */
4609       __pyx_t_2 = __Pyx_Import(__pyx_n_s_builtin, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L7_error)
4610       __Pyx_GOTREF(__pyx_t_2);
4611       __pyx_v_builtins = __pyx_t_2;
4612       __pyx_t_2 = 0;
4613 
4614       /* "Cython/Compiler/Scanning.py":109
4615  *     for name, value in zip(names, platform.uname()):
4616  *         benv.declare(name, value)
4617  *     try:             # <<<<<<<<<<<<<<
4618  *         import __builtin__ as builtins
4619  *     except ImportError:
4620  */
4621     }
4622     __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
4623     __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
4624     __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
4625     goto __pyx_L12_try_end;
4626     __pyx_L7_error:;
4627     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
4628     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4629     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4630     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
4631     __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4632 
4633     /* "Cython/Compiler/Scanning.py":111
4634  *     try:
4635  *         import __builtin__ as builtins
4636  *     except ImportError:             # <<<<<<<<<<<<<<
4637  *         import builtins
4638  *
4639  */
4640     __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError);
4641     if (__pyx_t_9) {
4642       __Pyx_AddTraceback("Cython.Compiler.Scanning.initial_compile_time_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
4643       if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 111, __pyx_L9_except_error)
4644       __Pyx_GOTREF(__pyx_t_2);
4645       __Pyx_GOTREF(__pyx_t_1);
4646       __Pyx_GOTREF(__pyx_t_6);
4647 
4648       /* "Cython/Compiler/Scanning.py":112
4649  *         import __builtin__ as builtins
4650  *     except ImportError:
4651  *         import builtins             # <<<<<<<<<<<<<<
4652  *
4653  *     names = (
4654  */
4655       __pyx_t_7 = __Pyx_Import(__pyx_n_s_builtins, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 112, __pyx_L9_except_error)
4656       __Pyx_GOTREF(__pyx_t_7);
4657       __Pyx_XDECREF_SET(__pyx_v_builtins, __pyx_t_7);
4658       __pyx_t_7 = 0;
4659       __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4660       __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
4661       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
4662       goto __pyx_L8_exception_handled;
4663     }
4664     goto __pyx_L9_except_error;
4665     __pyx_L9_except_error:;
4666 
4667     /* "Cython/Compiler/Scanning.py":109
4668  *     for name, value in zip(names, platform.uname()):
4669  *         benv.declare(name, value)
4670  *     try:             # <<<<<<<<<<<<<<
4671  *         import __builtin__ as builtins
4672  *     except ImportError:
4673  */
4674     __Pyx_XGIVEREF(__pyx_t_10);
4675     __Pyx_XGIVEREF(__pyx_t_11);
4676     __Pyx_XGIVEREF(__pyx_t_12);
4677     __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
4678     goto __pyx_L1_error;
4679     __pyx_L8_exception_handled:;
4680     __Pyx_XGIVEREF(__pyx_t_10);
4681     __Pyx_XGIVEREF(__pyx_t_11);
4682     __Pyx_XGIVEREF(__pyx_t_12);
4683     __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
4684     __pyx_L12_try_end:;
4685   }
4686 
4687   /* "Cython/Compiler/Scanning.py":115
4688  *
4689  *     names = (
4690  *         'False', 'True',             # <<<<<<<<<<<<<<
4691  *         'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes',
4692  *         'chr', 'cmp', 'complex', 'dict', 'divmod', 'enumerate', 'filter',
4693  */
4694   __Pyx_INCREF(__pyx_tuple__2);
4695   __Pyx_DECREF_SET(__pyx_v_names, __pyx_tuple__2);
4696 
4697   /* "Cython/Compiler/Scanning.py":126
4698  *     )
4699  *
4700  *     for name in names:             # <<<<<<<<<<<<<<
4701  *         try:
4702  *             benv.declare(name, getattr(builtins, name))
4703  */
4704   __pyx_t_6 = __pyx_v_names; __Pyx_INCREF(__pyx_t_6); __pyx_t_4 = 0;
4705   for (;;) {
4706     if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
4707     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4708     __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 126, __pyx_L1_error)
4709     #else
4710     __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error)
4711     __Pyx_GOTREF(__pyx_t_1);
4712     #endif
4713     __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
4714     __pyx_t_1 = 0;
4715 
4716     /* "Cython/Compiler/Scanning.py":127
4717  *
4718  *     for name in names:
4719  *         try:             # <<<<<<<<<<<<<<
4720  *             benv.declare(name, getattr(builtins, name))
4721  *         except AttributeError:
4722  */
4723     {
4724       __Pyx_PyThreadState_declare
4725       __Pyx_PyThreadState_assign
4726       __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10);
4727       __Pyx_XGOTREF(__pyx_t_12);
4728       __Pyx_XGOTREF(__pyx_t_11);
4729       __Pyx_XGOTREF(__pyx_t_10);
4730       /*try:*/ {
4731 
4732         /* "Cython/Compiler/Scanning.py":128
4733  *     for name in names:
4734  *         try:
4735  *             benv.declare(name, getattr(builtins, name))             # <<<<<<<<<<<<<<
4736  *         except AttributeError:
4737  *             # ignore, likely Py3
4738  */
4739         __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_benv), __pyx_n_s_declare); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L17_error)
4740         __Pyx_GOTREF(__pyx_t_2);
4741         __pyx_t_7 = __Pyx_GetAttr(__pyx_v_builtins, __pyx_v_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 128, __pyx_L17_error)
4742         __Pyx_GOTREF(__pyx_t_7);
4743         __pyx_t_3 = NULL;
4744         __pyx_t_9 = 0;
4745         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4746           __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
4747           if (likely(__pyx_t_3)) {
4748             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4749             __Pyx_INCREF(__pyx_t_3);
4750             __Pyx_INCREF(function);
4751             __Pyx_DECREF_SET(__pyx_t_2, function);
4752             __pyx_t_9 = 1;
4753           }
4754         }
4755         #if CYTHON_FAST_PYCALL
4756         if (PyFunction_Check(__pyx_t_2)) {
4757           PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_t_7};
4758           __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L17_error)
4759           __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4760           __Pyx_GOTREF(__pyx_t_1);
4761           __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4762         } else
4763         #endif
4764         #if CYTHON_FAST_PYCCALL
4765         if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
4766           PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_t_7};
4767           __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L17_error)
4768           __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4769           __Pyx_GOTREF(__pyx_t_1);
4770           __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4771         } else
4772         #endif
4773         {
4774           __pyx_t_13 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 128, __pyx_L17_error)
4775           __Pyx_GOTREF(__pyx_t_13);
4776           if (__pyx_t_3) {
4777             __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL;
4778           }
4779           __Pyx_INCREF(__pyx_v_name);
4780           __Pyx_GIVEREF(__pyx_v_name);
4781           PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_9, __pyx_v_name);
4782           __Pyx_GIVEREF(__pyx_t_7);
4783           PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_9, __pyx_t_7);
4784           __pyx_t_7 = 0;
4785           __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L17_error)
4786           __Pyx_GOTREF(__pyx_t_1);
4787           __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
4788         }
4789         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4790         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4791 
4792         /* "Cython/Compiler/Scanning.py":127
4793  *
4794  *     for name in names:
4795  *         try:             # <<<<<<<<<<<<<<
4796  *             benv.declare(name, getattr(builtins, name))
4797  *         except AttributeError:
4798  */
4799       }
4800       __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
4801       __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
4802       __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
4803       goto __pyx_L24_try_end;
4804       __pyx_L17_error:;
4805       __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
4806       __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
4807       __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4808       __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4809       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4810 
4811       /* "Cython/Compiler/Scanning.py":129
4812  *         try:
4813  *             benv.declare(name, getattr(builtins, name))
4814  *         except AttributeError:             # <<<<<<<<<<<<<<
4815  *             # ignore, likely Py3
4816  *             pass
4817  */
4818       __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
4819       if (__pyx_t_9) {
4820         __Pyx_ErrRestore(0,0,0);
4821         goto __pyx_L18_exception_handled;
4822       }
4823       goto __pyx_L19_except_error;
4824       __pyx_L19_except_error:;
4825 
4826       /* "Cython/Compiler/Scanning.py":127
4827  *
4828  *     for name in names:
4829  *         try:             # <<<<<<<<<<<<<<
4830  *             benv.declare(name, getattr(builtins, name))
4831  *         except AttributeError:
4832  */
4833       __Pyx_XGIVEREF(__pyx_t_12);
4834       __Pyx_XGIVEREF(__pyx_t_11);
4835       __Pyx_XGIVEREF(__pyx_t_10);
4836       __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10);
4837       goto __pyx_L1_error;
4838       __pyx_L18_exception_handled:;
4839       __Pyx_XGIVEREF(__pyx_t_12);
4840       __Pyx_XGIVEREF(__pyx_t_11);
4841       __Pyx_XGIVEREF(__pyx_t_10);
4842       __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10);
4843       __pyx_L24_try_end:;
4844     }
4845 
4846     /* "Cython/Compiler/Scanning.py":126
4847  *     )
4848  *
4849  *     for name in names:             # <<<<<<<<<<<<<<
4850  *         try:
4851  *             benv.declare(name, getattr(builtins, name))
4852  */
4853   }
4854   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4855 
4856   /* "Cython/Compiler/Scanning.py":134
4857  *
4858  *     # Py2/3 adaptations
4859  *     from functools import reduce             # <<<<<<<<<<<<<<
4860  *     benv.declare('reduce', reduce)
4861  *     benv.declare('unicode', getattr(builtins, 'unicode', getattr(builtins, 'str')))
4862  */
4863   __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 134, __pyx_L1_error)
4864   __Pyx_GOTREF(__pyx_t_6);
4865   __Pyx_INCREF(__pyx_n_s_reduce);
4866   __Pyx_GIVEREF(__pyx_n_s_reduce);
4867   PyList_SET_ITEM(__pyx_t_6, 0, __pyx_n_s_reduce);
4868   __pyx_t_1 = __Pyx_Import(__pyx_n_s_functools, __pyx_t_6, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error)
4869   __Pyx_GOTREF(__pyx_t_1);
4870   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4871   __pyx_t_6 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_reduce); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 134, __pyx_L1_error)
4872   __Pyx_GOTREF(__pyx_t_6);
4873   __Pyx_INCREF(__pyx_t_6);
4874   __pyx_v_reduce = __pyx_t_6;
4875   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4876   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4877 
4878   /* "Cython/Compiler/Scanning.py":135
4879  *     # Py2/3 adaptations
4880  *     from functools import reduce
4881  *     benv.declare('reduce', reduce)             # <<<<<<<<<<<<<<
4882  *     benv.declare('unicode', getattr(builtins, 'unicode', getattr(builtins, 'str')))
4883  *     benv.declare('long', getattr(builtins, 'long', getattr(builtins, 'int')))
4884  */
4885   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_benv), __pyx_n_s_declare); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 135, __pyx_L1_error)
4886   __Pyx_GOTREF(__pyx_t_6);
4887   __pyx_t_2 = NULL;
4888   __pyx_t_9 = 0;
4889   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
4890     __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
4891     if (likely(__pyx_t_2)) {
4892       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
4893       __Pyx_INCREF(__pyx_t_2);
4894       __Pyx_INCREF(function);
4895       __Pyx_DECREF_SET(__pyx_t_6, function);
4896       __pyx_t_9 = 1;
4897     }
4898   }
4899   #if CYTHON_FAST_PYCALL
4900   if (PyFunction_Check(__pyx_t_6)) {
4901     PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_n_u_reduce, __pyx_v_reduce};
4902     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 135, __pyx_L1_error)
4903     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4904     __Pyx_GOTREF(__pyx_t_1);
4905   } else
4906   #endif
4907   #if CYTHON_FAST_PYCCALL
4908   if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
4909     PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_n_u_reduce, __pyx_v_reduce};
4910     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 135, __pyx_L1_error)
4911     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4912     __Pyx_GOTREF(__pyx_t_1);
4913   } else
4914   #endif
4915   {
4916     __pyx_t_13 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 135, __pyx_L1_error)
4917     __Pyx_GOTREF(__pyx_t_13);
4918     if (__pyx_t_2) {
4919       __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL;
4920     }
4921     __Pyx_INCREF(__pyx_n_u_reduce);
4922     __Pyx_GIVEREF(__pyx_n_u_reduce);
4923     PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_9, __pyx_n_u_reduce);
4924     __Pyx_INCREF(__pyx_v_reduce);
4925     __Pyx_GIVEREF(__pyx_v_reduce);
4926     PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_9, __pyx_v_reduce);
4927     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 135, __pyx_L1_error)
4928     __Pyx_GOTREF(__pyx_t_1);
4929     __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
4930   }
4931   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4932   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4933 
4934   /* "Cython/Compiler/Scanning.py":136
4935  *     from functools import reduce
4936  *     benv.declare('reduce', reduce)
4937  *     benv.declare('unicode', getattr(builtins, 'unicode', getattr(builtins, 'str')))             # <<<<<<<<<<<<<<
4938  *     benv.declare('long', getattr(builtins, 'long', getattr(builtins, 'int')))
4939  *     benv.declare('xrange', getattr(builtins, 'xrange', getattr(builtins, 'range')))
4940  */
4941   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_benv), __pyx_n_s_declare); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 136, __pyx_L1_error)
4942   __Pyx_GOTREF(__pyx_t_6);
4943   __pyx_t_13 = __Pyx_GetAttr(__pyx_v_builtins, __pyx_n_u_str); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 136, __pyx_L1_error)
4944   __Pyx_GOTREF(__pyx_t_13);
4945   __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_builtins, __pyx_n_u_unicode, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error)
4946   __Pyx_GOTREF(__pyx_t_2);
4947   __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
4948   __pyx_t_13 = NULL;
4949   __pyx_t_9 = 0;
4950   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
4951     __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_6);
4952     if (likely(__pyx_t_13)) {
4953       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
4954       __Pyx_INCREF(__pyx_t_13);
4955       __Pyx_INCREF(function);
4956       __Pyx_DECREF_SET(__pyx_t_6, function);
4957       __pyx_t_9 = 1;
4958     }
4959   }
4960   #if CYTHON_FAST_PYCALL
4961   if (PyFunction_Check(__pyx_t_6)) {
4962     PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_n_u_unicode, __pyx_t_2};
4963     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)
4964     __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
4965     __Pyx_GOTREF(__pyx_t_1);
4966     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4967   } else
4968   #endif
4969   #if CYTHON_FAST_PYCCALL
4970   if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
4971     PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_n_u_unicode, __pyx_t_2};
4972     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)
4973     __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
4974     __Pyx_GOTREF(__pyx_t_1);
4975     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4976   } else
4977   #endif
4978   {
4979     __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 136, __pyx_L1_error)
4980     __Pyx_GOTREF(__pyx_t_7);
4981     if (__pyx_t_13) {
4982       __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_13); __pyx_t_13 = NULL;
4983     }
4984     __Pyx_INCREF(__pyx_n_u_unicode);
4985     __Pyx_GIVEREF(__pyx_n_u_unicode);
4986     PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_n_u_unicode);
4987     __Pyx_GIVEREF(__pyx_t_2);
4988     PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_t_2);
4989     __pyx_t_2 = 0;
4990     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)
4991     __Pyx_GOTREF(__pyx_t_1);
4992     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4993   }
4994   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4995   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4996 
4997   /* "Cython/Compiler/Scanning.py":137
4998  *     benv.declare('reduce', reduce)
4999  *     benv.declare('unicode', getattr(builtins, 'unicode', getattr(builtins, 'str')))
5000  *     benv.declare('long', getattr(builtins, 'long', getattr(builtins, 'int')))             # <<<<<<<<<<<<<<
5001  *     benv.declare('xrange', getattr(builtins, 'xrange', getattr(builtins, 'range')))
5002  *
5003  */
5004   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_benv), __pyx_n_s_declare); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 137, __pyx_L1_error)
5005   __Pyx_GOTREF(__pyx_t_6);
5006   __pyx_t_7 = __Pyx_GetAttr(__pyx_v_builtins, __pyx_n_u_int); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 137, __pyx_L1_error)
5007   __Pyx_GOTREF(__pyx_t_7);
5008   __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_builtins, __pyx_n_u_long, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 137, __pyx_L1_error)
5009   __Pyx_GOTREF(__pyx_t_2);
5010   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
5011   __pyx_t_7 = NULL;
5012   __pyx_t_9 = 0;
5013   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
5014     __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
5015     if (likely(__pyx_t_7)) {
5016       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
5017       __Pyx_INCREF(__pyx_t_7);
5018       __Pyx_INCREF(function);
5019       __Pyx_DECREF_SET(__pyx_t_6, function);
5020       __pyx_t_9 = 1;
5021     }
5022   }
5023   #if CYTHON_FAST_PYCALL
5024   if (PyFunction_Check(__pyx_t_6)) {
5025     PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_n_u_long, __pyx_t_2};
5026     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error)
5027     __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
5028     __Pyx_GOTREF(__pyx_t_1);
5029     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5030   } else
5031   #endif
5032   #if CYTHON_FAST_PYCCALL
5033   if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
5034     PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_n_u_long, __pyx_t_2};
5035     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error)
5036     __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
5037     __Pyx_GOTREF(__pyx_t_1);
5038     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5039   } else
5040   #endif
5041   {
5042     __pyx_t_13 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 137, __pyx_L1_error)
5043     __Pyx_GOTREF(__pyx_t_13);
5044     if (__pyx_t_7) {
5045       __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_7); __pyx_t_7 = NULL;
5046     }
5047     __Pyx_INCREF(__pyx_n_u_long);
5048     __Pyx_GIVEREF(__pyx_n_u_long);
5049     PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_9, __pyx_n_u_long);
5050     __Pyx_GIVEREF(__pyx_t_2);
5051     PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_9, __pyx_t_2);
5052     __pyx_t_2 = 0;
5053     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error)
5054     __Pyx_GOTREF(__pyx_t_1);
5055     __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
5056   }
5057   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5058   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5059 
5060   /* "Cython/Compiler/Scanning.py":138
5061  *     benv.declare('unicode', getattr(builtins, 'unicode', getattr(builtins, 'str')))
5062  *     benv.declare('long', getattr(builtins, 'long', getattr(builtins, 'int')))
5063  *     benv.declare('xrange', getattr(builtins, 'xrange', getattr(builtins, 'range')))             # <<<<<<<<<<<<<<
5064  *
5065  *     denv = CompileTimeScope(benv)
5066  */
5067   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_benv), __pyx_n_s_declare); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 138, __pyx_L1_error)
5068   __Pyx_GOTREF(__pyx_t_6);
5069   __pyx_t_13 = __Pyx_GetAttr(__pyx_v_builtins, __pyx_n_u_range); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 138, __pyx_L1_error)
5070   __Pyx_GOTREF(__pyx_t_13);
5071   __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_builtins, __pyx_n_u_xrange, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
5072   __Pyx_GOTREF(__pyx_t_2);
5073   __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
5074   __pyx_t_13 = NULL;
5075   __pyx_t_9 = 0;
5076   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
5077     __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_6);
5078     if (likely(__pyx_t_13)) {
5079       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
5080       __Pyx_INCREF(__pyx_t_13);
5081       __Pyx_INCREF(function);
5082       __Pyx_DECREF_SET(__pyx_t_6, function);
5083       __pyx_t_9 = 1;
5084     }
5085   }
5086   #if CYTHON_FAST_PYCALL
5087   if (PyFunction_Check(__pyx_t_6)) {
5088     PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_n_u_xrange, __pyx_t_2};
5089     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
5090     __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
5091     __Pyx_GOTREF(__pyx_t_1);
5092     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5093   } else
5094   #endif
5095   #if CYTHON_FAST_PYCCALL
5096   if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
5097     PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_n_u_xrange, __pyx_t_2};
5098     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
5099     __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
5100     __Pyx_GOTREF(__pyx_t_1);
5101     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5102   } else
5103   #endif
5104   {
5105     __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 138, __pyx_L1_error)
5106     __Pyx_GOTREF(__pyx_t_7);
5107     if (__pyx_t_13) {
5108       __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_13); __pyx_t_13 = NULL;
5109     }
5110     __Pyx_INCREF(__pyx_n_u_xrange);
5111     __Pyx_GIVEREF(__pyx_n_u_xrange);
5112     PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_n_u_xrange);
5113     __Pyx_GIVEREF(__pyx_t_2);
5114     PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_t_2);
5115     __pyx_t_2 = 0;
5116     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
5117     __Pyx_GOTREF(__pyx_t_1);
5118     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
5119   }
5120   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5121   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5122 
5123   /* "Cython/Compiler/Scanning.py":140
5124  *     benv.declare('xrange', getattr(builtins, 'xrange', getattr(builtins, 'range')))
5125  *
5126  *     denv = CompileTimeScope(benv)             # <<<<<<<<<<<<<<
5127  *     return denv
5128  *
5129  */
5130   __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope), ((PyObject *)__pyx_v_benv)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error)
5131   __Pyx_GOTREF(__pyx_t_1);
5132   __pyx_v_denv = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_1);
5133   __pyx_t_1 = 0;
5134 
5135   /* "Cython/Compiler/Scanning.py":141
5136  *
5137  *     denv = CompileTimeScope(benv)
5138  *     return denv             # <<<<<<<<<<<<<<
5139  *
5140  *
5141  */
5142   __Pyx_XDECREF(__pyx_r);
5143   __Pyx_INCREF(((PyObject *)__pyx_v_denv));
5144   __pyx_r = ((PyObject *)__pyx_v_denv);
5145   goto __pyx_L0;
5146 
5147   /* "Cython/Compiler/Scanning.py":104
5148  *
5149  *
5150  * def initial_compile_time_env():             # <<<<<<<<<<<<<<
5151  *     benv = CompileTimeScope()
5152  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')
5153  */
5154 
5155   /* function exit code */
5156   __pyx_L1_error:;
5157   __Pyx_XDECREF(__pyx_t_1);
5158   __Pyx_XDECREF(__pyx_t_2);
5159   __Pyx_XDECREF(__pyx_t_3);
5160   __Pyx_XDECREF(__pyx_t_6);
5161   __Pyx_XDECREF(__pyx_t_7);
5162   __Pyx_XDECREF(__pyx_t_13);
5163   __Pyx_AddTraceback("Cython.Compiler.Scanning.initial_compile_time_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
5164   __pyx_r = 0;
5165   __pyx_L0:;
5166   __Pyx_XDECREF((PyObject *)__pyx_v_benv);
5167   __Pyx_XDECREF(__pyx_v_names);
5168   __Pyx_XDECREF(__pyx_v_name);
5169   __Pyx_XDECREF(__pyx_v_value);
5170   __Pyx_XDECREF(__pyx_v_builtins);
5171   __Pyx_XDECREF(__pyx_v_reduce);
5172   __Pyx_XDECREF((PyObject *)__pyx_v_denv);
5173   __Pyx_XGIVEREF(__pyx_r);
5174   __Pyx_RefNannyFinishContext();
5175   return __pyx_r;
5176 }
5177 
5178 /* "Cython/Compiler/Scanning.py":156
5179  *     _escaped_description = None
5180  *     _cmp_name = ''
5181  *     def __str__(self):             # <<<<<<<<<<<<<<
5182  *         assert False # To catch all places where a descriptor is used directly as a filename
5183  *
5184  */
5185 
5186 /* Python wrapper */
5187 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_1__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
5188 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_1__str__ = {"__str__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_1__str__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_1__str__(PyObject * __pyx_self,PyObject * __pyx_v_self)5189 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_1__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
5190   PyObject *__pyx_r = 0;
5191   __Pyx_RefNannyDeclarations
5192   __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
5193   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor___str__(__pyx_self, ((PyObject *)__pyx_v_self));
5194 
5195   /* function exit code */
5196   __Pyx_RefNannyFinishContext();
5197   return __pyx_r;
5198 }
5199 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor___str__(CYTHON_UNUSED PyObject * __pyx_self,CYTHON_UNUSED PyObject * __pyx_v_self)5200 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor___str__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
5201   PyObject *__pyx_r = NULL;
5202   __Pyx_RefNannyDeclarations
5203   int __pyx_lineno = 0;
5204   const char *__pyx_filename = NULL;
5205   int __pyx_clineno = 0;
5206   __Pyx_RefNannySetupContext("__str__", 0);
5207 
5208   /* "Cython/Compiler/Scanning.py":157
5209  *     _cmp_name = ''
5210  *     def __str__(self):
5211  *         assert False # To catch all places where a descriptor is used directly as a filename             # <<<<<<<<<<<<<<
5212  *
5213  *     def set_file_type_from_name(self, filename):
5214  */
5215   #ifndef CYTHON_WITHOUT_ASSERTIONS
5216   if (unlikely(!Py_OptimizeFlag)) {
5217     if (unlikely(!0)) {
5218       PyErr_SetNone(PyExc_AssertionError);
5219       __PYX_ERR(0, 157, __pyx_L1_error)
5220     }
5221   }
5222   #endif
5223 
5224   /* "Cython/Compiler/Scanning.py":156
5225  *     _escaped_description = None
5226  *     _cmp_name = ''
5227  *     def __str__(self):             # <<<<<<<<<<<<<<
5228  *         assert False # To catch all places where a descriptor is used directly as a filename
5229  *
5230  */
5231 
5232   /* function exit code */
5233   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5234   goto __pyx_L0;
5235   __pyx_L1_error:;
5236   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5237   __pyx_r = NULL;
5238   __pyx_L0:;
5239   __Pyx_XGIVEREF(__pyx_r);
5240   __Pyx_RefNannyFinishContext();
5241   return __pyx_r;
5242 }
5243 
5244 /* "Cython/Compiler/Scanning.py":159
5245  *         assert False # To catch all places where a descriptor is used directly as a filename
5246  *
5247  *     def set_file_type_from_name(self, filename):             # <<<<<<<<<<<<<<
5248  *         name, ext = os.path.splitext(filename)
5249  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
5250  */
5251 
5252 /* Python wrapper */
5253 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_3set_file_type_from_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5254 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_3set_file_type_from_name = {"set_file_type_from_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_3set_file_type_from_name, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_3set_file_type_from_name(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)5255 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_3set_file_type_from_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5256   PyObject *__pyx_v_self = 0;
5257   PyObject *__pyx_v_filename = 0;
5258   int __pyx_lineno = 0;
5259   const char *__pyx_filename = NULL;
5260   int __pyx_clineno = 0;
5261   PyObject *__pyx_r = 0;
5262   __Pyx_RefNannyDeclarations
5263   __Pyx_RefNannySetupContext("set_file_type_from_name (wrapper)", 0);
5264   {
5265     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_filename,0};
5266     PyObject* values[2] = {0,0};
5267     if (unlikely(__pyx_kwds)) {
5268       Py_ssize_t kw_args;
5269       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
5270       switch (pos_args) {
5271         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5272         CYTHON_FALLTHROUGH;
5273         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5274         CYTHON_FALLTHROUGH;
5275         case  0: break;
5276         default: goto __pyx_L5_argtuple_error;
5277       }
5278       kw_args = PyDict_Size(__pyx_kwds);
5279       switch (pos_args) {
5280         case  0:
5281         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
5282         else goto __pyx_L5_argtuple_error;
5283         CYTHON_FALLTHROUGH;
5284         case  1:
5285         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename)) != 0)) kw_args--;
5286         else {
5287           __Pyx_RaiseArgtupleInvalid("set_file_type_from_name", 1, 2, 2, 1); __PYX_ERR(0, 159, __pyx_L3_error)
5288         }
5289       }
5290       if (unlikely(kw_args > 0)) {
5291         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_file_type_from_name") < 0)) __PYX_ERR(0, 159, __pyx_L3_error)
5292       }
5293     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
5294       goto __pyx_L5_argtuple_error;
5295     } else {
5296       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5297       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5298     }
5299     __pyx_v_self = values[0];
5300     __pyx_v_filename = values[1];
5301   }
5302   goto __pyx_L4_argument_unpacking_done;
5303   __pyx_L5_argtuple_error:;
5304   __Pyx_RaiseArgtupleInvalid("set_file_type_from_name", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 159, __pyx_L3_error)
5305   __pyx_L3_error:;
5306   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.set_file_type_from_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
5307   __Pyx_RefNannyFinishContext();
5308   return NULL;
5309   __pyx_L4_argument_unpacking_done:;
5310   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_2set_file_type_from_name(__pyx_self, __pyx_v_self, __pyx_v_filename);
5311 
5312   /* function exit code */
5313   __Pyx_RefNannyFinishContext();
5314   return __pyx_r;
5315 }
5316 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_2set_file_type_from_name(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_filename)5317 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_2set_file_type_from_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filename) {
5318   CYTHON_UNUSED PyObject *__pyx_v_name = NULL;
5319   PyObject *__pyx_v_ext = NULL;
5320   PyObject *__pyx_r = NULL;
5321   __Pyx_RefNannyDeclarations
5322   PyObject *__pyx_t_1 = NULL;
5323   PyObject *__pyx_t_2 = NULL;
5324   PyObject *__pyx_t_3 = NULL;
5325   PyObject *__pyx_t_4 = NULL;
5326   PyObject *(*__pyx_t_5)(PyObject *);
5327   int __pyx_t_6;
5328   int __pyx_t_7;
5329   int __pyx_lineno = 0;
5330   const char *__pyx_filename = NULL;
5331   int __pyx_clineno = 0;
5332   __Pyx_RefNannySetupContext("set_file_type_from_name", 0);
5333 
5334   /* "Cython/Compiler/Scanning.py":160
5335  *
5336  *     def set_file_type_from_name(self, filename):
5337  *         name, ext = os.path.splitext(filename)             # <<<<<<<<<<<<<<
5338  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
5339  *
5340  */
5341   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_8Scanning_os, __pyx_n_s_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
5342   __Pyx_GOTREF(__pyx_t_2);
5343   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_splitext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error)
5344   __Pyx_GOTREF(__pyx_t_3);
5345   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5346   __pyx_t_2 = NULL;
5347   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
5348     __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
5349     if (likely(__pyx_t_2)) {
5350       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
5351       __Pyx_INCREF(__pyx_t_2);
5352       __Pyx_INCREF(function);
5353       __Pyx_DECREF_SET(__pyx_t_3, function);
5354     }
5355   }
5356   __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_filename);
5357   __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
5358   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
5359   __Pyx_GOTREF(__pyx_t_1);
5360   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5361   if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
5362     PyObject* sequence = __pyx_t_1;
5363     Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
5364     if (unlikely(size != 2)) {
5365       if (size > 2) __Pyx_RaiseTooManyValuesError(2);
5366       else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
5367       __PYX_ERR(0, 160, __pyx_L1_error)
5368     }
5369     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
5370     if (likely(PyTuple_CheckExact(sequence))) {
5371       __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
5372       __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
5373     } else {
5374       __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
5375       __pyx_t_2 = PyList_GET_ITEM(sequence, 1);
5376     }
5377     __Pyx_INCREF(__pyx_t_3);
5378     __Pyx_INCREF(__pyx_t_2);
5379     #else
5380     __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error)
5381     __Pyx_GOTREF(__pyx_t_3);
5382     __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
5383     __Pyx_GOTREF(__pyx_t_2);
5384     #endif
5385     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5386   } else {
5387     Py_ssize_t index = -1;
5388     __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error)
5389     __Pyx_GOTREF(__pyx_t_4);
5390     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5391     __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
5392     index = 0; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
5393     __Pyx_GOTREF(__pyx_t_3);
5394     index = 1; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
5395     __Pyx_GOTREF(__pyx_t_2);
5396     if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) __PYX_ERR(0, 160, __pyx_L1_error)
5397     __pyx_t_5 = NULL;
5398     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5399     goto __pyx_L4_unpacking_done;
5400     __pyx_L3_unpacking_failed:;
5401     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5402     __pyx_t_5 = NULL;
5403     if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
5404     __PYX_ERR(0, 160, __pyx_L1_error)
5405     __pyx_L4_unpacking_done:;
5406   }
5407   __pyx_v_name = __pyx_t_3;
5408   __pyx_t_3 = 0;
5409   __pyx_v_ext = __pyx_t_2;
5410   __pyx_t_2 = 0;
5411 
5412   /* "Cython/Compiler/Scanning.py":161
5413  *     def set_file_type_from_name(self, filename):
5414  *         name, ext = os.path.splitext(filename)
5415  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'             # <<<<<<<<<<<<<<
5416  *
5417  *     def is_cython_file(self):
5418  */
5419   __Pyx_INCREF(__pyx_v_ext);
5420   __pyx_t_2 = __pyx_v_ext;
5421   __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_kp_u_pyx, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 161, __pyx_L1_error)
5422   if (!__pyx_t_7) {
5423   } else {
5424     __pyx_t_6 = __pyx_t_7;
5425     goto __pyx_L8_bool_binop_done;
5426   }
5427   __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_kp_u_pxd, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 161, __pyx_L1_error)
5428   if (!__pyx_t_7) {
5429   } else {
5430     __pyx_t_6 = __pyx_t_7;
5431     goto __pyx_L8_bool_binop_done;
5432   }
5433   __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_kp_u_py, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 161, __pyx_L1_error)
5434   __pyx_t_6 = __pyx_t_7;
5435   __pyx_L8_bool_binop_done:;
5436   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5437   __pyx_t_7 = __pyx_t_6;
5438   if (!__pyx_t_7) {
5439     goto __pyx_L6_next_or;
5440   } else {
5441   }
5442   __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_ext, 1, 0, NULL, NULL, &__pyx_slice__3, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
5443   __Pyx_GOTREF(__pyx_t_2);
5444   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 161, __pyx_L1_error)
5445   if (!__pyx_t_7) {
5446     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5447   } else {
5448     __Pyx_INCREF(__pyx_t_2);
5449     __pyx_t_1 = __pyx_t_2;
5450     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5451     goto __pyx_L5_bool_binop_done;
5452   }
5453   __pyx_L6_next_or:;
5454   __Pyx_INCREF(__pyx_n_u_pyx_2);
5455   __pyx_t_1 = __pyx_n_u_pyx_2;
5456   __pyx_L5_bool_binop_done:;
5457   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_file_type, __pyx_t_1) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
5458   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5459 
5460   /* "Cython/Compiler/Scanning.py":159
5461  *         assert False # To catch all places where a descriptor is used directly as a filename
5462  *
5463  *     def set_file_type_from_name(self, filename):             # <<<<<<<<<<<<<<
5464  *         name, ext = os.path.splitext(filename)
5465  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
5466  */
5467 
5468   /* function exit code */
5469   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5470   goto __pyx_L0;
5471   __pyx_L1_error:;
5472   __Pyx_XDECREF(__pyx_t_1);
5473   __Pyx_XDECREF(__pyx_t_2);
5474   __Pyx_XDECREF(__pyx_t_3);
5475   __Pyx_XDECREF(__pyx_t_4);
5476   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.set_file_type_from_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
5477   __pyx_r = NULL;
5478   __pyx_L0:;
5479   __Pyx_XDECREF(__pyx_v_name);
5480   __Pyx_XDECREF(__pyx_v_ext);
5481   __Pyx_XGIVEREF(__pyx_r);
5482   __Pyx_RefNannyFinishContext();
5483   return __pyx_r;
5484 }
5485 
5486 /* "Cython/Compiler/Scanning.py":163
5487  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
5488  *
5489  *     def is_cython_file(self):             # <<<<<<<<<<<<<<
5490  *         return self._file_type in ('pyx', 'pxd')
5491  *
5492  */
5493 
5494 /* Python wrapper */
5495 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_5is_cython_file(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
5496 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_5is_cython_file = {"is_cython_file", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_5is_cython_file, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_5is_cython_file(PyObject * __pyx_self,PyObject * __pyx_v_self)5497 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_5is_cython_file(PyObject *__pyx_self, PyObject *__pyx_v_self) {
5498   PyObject *__pyx_r = 0;
5499   __Pyx_RefNannyDeclarations
5500   __Pyx_RefNannySetupContext("is_cython_file (wrapper)", 0);
5501   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_4is_cython_file(__pyx_self, ((PyObject *)__pyx_v_self));
5502 
5503   /* function exit code */
5504   __Pyx_RefNannyFinishContext();
5505   return __pyx_r;
5506 }
5507 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_4is_cython_file(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)5508 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_4is_cython_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
5509   PyObject *__pyx_r = NULL;
5510   __Pyx_RefNannyDeclarations
5511   PyObject *__pyx_t_1 = NULL;
5512   int __pyx_t_2;
5513   int __pyx_t_3;
5514   int __pyx_lineno = 0;
5515   const char *__pyx_filename = NULL;
5516   int __pyx_clineno = 0;
5517   __Pyx_RefNannySetupContext("is_cython_file", 0);
5518 
5519   /* "Cython/Compiler/Scanning.py":164
5520  *
5521  *     def is_cython_file(self):
5522  *         return self._file_type in ('pyx', 'pxd')             # <<<<<<<<<<<<<<
5523  *
5524  *     def is_python_file(self):
5525  */
5526   __Pyx_XDECREF(__pyx_r);
5527   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_file_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
5528   __Pyx_GOTREF(__pyx_t_1);
5529   __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_pyx_2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 164, __pyx_L1_error)
5530   if (!__pyx_t_3) {
5531   } else {
5532     __pyx_t_2 = __pyx_t_3;
5533     goto __pyx_L3_bool_binop_done;
5534   }
5535   __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_pxd_2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 164, __pyx_L1_error)
5536   __pyx_t_2 = __pyx_t_3;
5537   __pyx_L3_bool_binop_done:;
5538   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5539   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
5540   __Pyx_GOTREF(__pyx_t_1);
5541   __pyx_r = __pyx_t_1;
5542   __pyx_t_1 = 0;
5543   goto __pyx_L0;
5544 
5545   /* "Cython/Compiler/Scanning.py":163
5546  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
5547  *
5548  *     def is_cython_file(self):             # <<<<<<<<<<<<<<
5549  *         return self._file_type in ('pyx', 'pxd')
5550  *
5551  */
5552 
5553   /* function exit code */
5554   __pyx_L1_error:;
5555   __Pyx_XDECREF(__pyx_t_1);
5556   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.is_cython_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
5557   __pyx_r = NULL;
5558   __pyx_L0:;
5559   __Pyx_XGIVEREF(__pyx_r);
5560   __Pyx_RefNannyFinishContext();
5561   return __pyx_r;
5562 }
5563 
5564 /* "Cython/Compiler/Scanning.py":166
5565  *         return self._file_type in ('pyx', 'pxd')
5566  *
5567  *     def is_python_file(self):             # <<<<<<<<<<<<<<
5568  *         return self._file_type == 'py'
5569  *
5570  */
5571 
5572 /* Python wrapper */
5573 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_7is_python_file(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
5574 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_7is_python_file = {"is_python_file", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_7is_python_file, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_7is_python_file(PyObject * __pyx_self,PyObject * __pyx_v_self)5575 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_7is_python_file(PyObject *__pyx_self, PyObject *__pyx_v_self) {
5576   PyObject *__pyx_r = 0;
5577   __Pyx_RefNannyDeclarations
5578   __Pyx_RefNannySetupContext("is_python_file (wrapper)", 0);
5579   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_6is_python_file(__pyx_self, ((PyObject *)__pyx_v_self));
5580 
5581   /* function exit code */
5582   __Pyx_RefNannyFinishContext();
5583   return __pyx_r;
5584 }
5585 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_6is_python_file(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)5586 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_6is_python_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
5587   PyObject *__pyx_r = NULL;
5588   __Pyx_RefNannyDeclarations
5589   PyObject *__pyx_t_1 = NULL;
5590   PyObject *__pyx_t_2 = NULL;
5591   int __pyx_lineno = 0;
5592   const char *__pyx_filename = NULL;
5593   int __pyx_clineno = 0;
5594   __Pyx_RefNannySetupContext("is_python_file", 0);
5595 
5596   /* "Cython/Compiler/Scanning.py":167
5597  *
5598  *     def is_python_file(self):
5599  *         return self._file_type == 'py'             # <<<<<<<<<<<<<<
5600  *
5601  *     def get_escaped_description(self):
5602  */
5603   __Pyx_XDECREF(__pyx_r);
5604   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_file_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error)
5605   __Pyx_GOTREF(__pyx_t_1);
5606   __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_n_u_py_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L1_error)
5607   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5608   __pyx_r = __pyx_t_2;
5609   __pyx_t_2 = 0;
5610   goto __pyx_L0;
5611 
5612   /* "Cython/Compiler/Scanning.py":166
5613  *         return self._file_type in ('pyx', 'pxd')
5614  *
5615  *     def is_python_file(self):             # <<<<<<<<<<<<<<
5616  *         return self._file_type == 'py'
5617  *
5618  */
5619 
5620   /* function exit code */
5621   __pyx_L1_error:;
5622   __Pyx_XDECREF(__pyx_t_1);
5623   __Pyx_XDECREF(__pyx_t_2);
5624   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.is_python_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
5625   __pyx_r = NULL;
5626   __pyx_L0:;
5627   __Pyx_XGIVEREF(__pyx_r);
5628   __Pyx_RefNannyFinishContext();
5629   return __pyx_r;
5630 }
5631 
5632 /* "Cython/Compiler/Scanning.py":169
5633  *         return self._file_type == 'py'
5634  *
5635  *     def get_escaped_description(self):             # <<<<<<<<<<<<<<
5636  *         if self._escaped_description is None:
5637  *             esc_desc = \
5638  */
5639 
5640 /* Python wrapper */
5641 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_9get_escaped_description(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
5642 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_9get_escaped_description = {"get_escaped_description", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_9get_escaped_description, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_9get_escaped_description(PyObject * __pyx_self,PyObject * __pyx_v_self)5643 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_9get_escaped_description(PyObject *__pyx_self, PyObject *__pyx_v_self) {
5644   PyObject *__pyx_r = 0;
5645   __Pyx_RefNannyDeclarations
5646   __Pyx_RefNannySetupContext("get_escaped_description (wrapper)", 0);
5647   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_8get_escaped_description(__pyx_self, ((PyObject *)__pyx_v_self));
5648 
5649   /* function exit code */
5650   __Pyx_RefNannyFinishContext();
5651   return __pyx_r;
5652 }
5653 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_8get_escaped_description(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)5654 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_8get_escaped_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
5655   PyObject *__pyx_v_esc_desc = NULL;
5656   PyObject *__pyx_r = NULL;
5657   __Pyx_RefNannyDeclarations
5658   PyObject *__pyx_t_1 = NULL;
5659   int __pyx_t_2;
5660   int __pyx_t_3;
5661   PyObject *__pyx_t_4 = NULL;
5662   PyObject *__pyx_t_5 = NULL;
5663   PyObject *__pyx_t_6 = NULL;
5664   int __pyx_lineno = 0;
5665   const char *__pyx_filename = NULL;
5666   int __pyx_clineno = 0;
5667   __Pyx_RefNannySetupContext("get_escaped_description", 0);
5668 
5669   /* "Cython/Compiler/Scanning.py":170
5670  *
5671  *     def get_escaped_description(self):
5672  *         if self._escaped_description is None:             # <<<<<<<<<<<<<<
5673  *             esc_desc = \
5674  *                 self.get_description().encode('ASCII', 'replace').decode("ASCII")
5675  */
5676   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_escaped_description); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 170, __pyx_L1_error)
5677   __Pyx_GOTREF(__pyx_t_1);
5678   __pyx_t_2 = (__pyx_t_1 == Py_None);
5679   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5680   __pyx_t_3 = (__pyx_t_2 != 0);
5681   if (__pyx_t_3) {
5682 
5683     /* "Cython/Compiler/Scanning.py":172
5684  *         if self._escaped_description is None:
5685  *             esc_desc = \
5686  *                 self.get_description().encode('ASCII', 'replace').decode("ASCII")             # <<<<<<<<<<<<<<
5687  *             # Use forward slashes on Windows since these paths
5688  *             # will be used in the #line directives in the C/C++ files.
5689  */
5690     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 172, __pyx_L1_error)
5691     __Pyx_GOTREF(__pyx_t_5);
5692     __pyx_t_6 = NULL;
5693     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
5694       __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
5695       if (likely(__pyx_t_6)) {
5696         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
5697         __Pyx_INCREF(__pyx_t_6);
5698         __Pyx_INCREF(function);
5699         __Pyx_DECREF_SET(__pyx_t_5, function);
5700       }
5701     }
5702     __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
5703     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
5704     if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 172, __pyx_L1_error)
5705     __Pyx_GOTREF(__pyx_t_4);
5706     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5707     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 172, __pyx_L1_error)
5708     __Pyx_GOTREF(__pyx_t_5);
5709     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5710     __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 172, __pyx_L1_error)
5711     __Pyx_GOTREF(__pyx_t_4);
5712     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5713     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 172, __pyx_L1_error)
5714     __Pyx_GOTREF(__pyx_t_5);
5715     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5716     __pyx_t_4 = NULL;
5717     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
5718       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
5719       if (likely(__pyx_t_4)) {
5720         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
5721         __Pyx_INCREF(__pyx_t_4);
5722         __Pyx_INCREF(function);
5723         __Pyx_DECREF_SET(__pyx_t_5, function);
5724       }
5725     }
5726     __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_n_u_ASCII) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_n_u_ASCII);
5727     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
5728     if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 172, __pyx_L1_error)
5729     __Pyx_GOTREF(__pyx_t_1);
5730     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5731     __pyx_v_esc_desc = __pyx_t_1;
5732     __pyx_t_1 = 0;
5733 
5734     /* "Cython/Compiler/Scanning.py":175
5735  *             # Use forward slashes on Windows since these paths
5736  *             # will be used in the #line directives in the C/C++ files.
5737  *             self._escaped_description = esc_desc.replace('\\', '/')             # <<<<<<<<<<<<<<
5738  *         return self._escaped_description
5739  *
5740  */
5741     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_esc_desc, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
5742     __Pyx_GOTREF(__pyx_t_1);
5743     __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 175, __pyx_L1_error)
5744     __Pyx_GOTREF(__pyx_t_5);
5745     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5746     if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_escaped_description, __pyx_t_5) < 0) __PYX_ERR(0, 175, __pyx_L1_error)
5747     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5748 
5749     /* "Cython/Compiler/Scanning.py":170
5750  *
5751  *     def get_escaped_description(self):
5752  *         if self._escaped_description is None:             # <<<<<<<<<<<<<<
5753  *             esc_desc = \
5754  *                 self.get_description().encode('ASCII', 'replace').decode("ASCII")
5755  */
5756   }
5757 
5758   /* "Cython/Compiler/Scanning.py":176
5759  *             # will be used in the #line directives in the C/C++ files.
5760  *             self._escaped_description = esc_desc.replace('\\', '/')
5761  *         return self._escaped_description             # <<<<<<<<<<<<<<
5762  *
5763  *     def __gt__(self, other):
5764  */
5765   __Pyx_XDECREF(__pyx_r);
5766   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_escaped_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 176, __pyx_L1_error)
5767   __Pyx_GOTREF(__pyx_t_5);
5768   __pyx_r = __pyx_t_5;
5769   __pyx_t_5 = 0;
5770   goto __pyx_L0;
5771 
5772   /* "Cython/Compiler/Scanning.py":169
5773  *         return self._file_type == 'py'
5774  *
5775  *     def get_escaped_description(self):             # <<<<<<<<<<<<<<
5776  *         if self._escaped_description is None:
5777  *             esc_desc = \
5778  */
5779 
5780   /* function exit code */
5781   __pyx_L1_error:;
5782   __Pyx_XDECREF(__pyx_t_1);
5783   __Pyx_XDECREF(__pyx_t_4);
5784   __Pyx_XDECREF(__pyx_t_5);
5785   __Pyx_XDECREF(__pyx_t_6);
5786   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.get_escaped_description", __pyx_clineno, __pyx_lineno, __pyx_filename);
5787   __pyx_r = NULL;
5788   __pyx_L0:;
5789   __Pyx_XDECREF(__pyx_v_esc_desc);
5790   __Pyx_XGIVEREF(__pyx_r);
5791   __Pyx_RefNannyFinishContext();
5792   return __pyx_r;
5793 }
5794 
5795 /* "Cython/Compiler/Scanning.py":178
5796  *         return self._escaped_description
5797  *
5798  *     def __gt__(self, other):             # <<<<<<<<<<<<<<
5799  *         # this is only used to provide some sort of order
5800  *         try:
5801  */
5802 
5803 /* Python wrapper */
5804 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_11__gt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5805 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_11__gt__ = {"__gt__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_11__gt__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_11__gt__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)5806 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_11__gt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5807   PyObject *__pyx_v_self = 0;
5808   PyObject *__pyx_v_other = 0;
5809   int __pyx_lineno = 0;
5810   const char *__pyx_filename = NULL;
5811   int __pyx_clineno = 0;
5812   PyObject *__pyx_r = 0;
5813   __Pyx_RefNannyDeclarations
5814   __Pyx_RefNannySetupContext("__gt__ (wrapper)", 0);
5815   {
5816     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,0};
5817     PyObject* values[2] = {0,0};
5818     if (unlikely(__pyx_kwds)) {
5819       Py_ssize_t kw_args;
5820       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
5821       switch (pos_args) {
5822         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5823         CYTHON_FALLTHROUGH;
5824         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5825         CYTHON_FALLTHROUGH;
5826         case  0: break;
5827         default: goto __pyx_L5_argtuple_error;
5828       }
5829       kw_args = PyDict_Size(__pyx_kwds);
5830       switch (pos_args) {
5831         case  0:
5832         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
5833         else goto __pyx_L5_argtuple_error;
5834         CYTHON_FALLTHROUGH;
5835         case  1:
5836         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
5837         else {
5838           __Pyx_RaiseArgtupleInvalid("__gt__", 1, 2, 2, 1); __PYX_ERR(0, 178, __pyx_L3_error)
5839         }
5840       }
5841       if (unlikely(kw_args > 0)) {
5842         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__gt__") < 0)) __PYX_ERR(0, 178, __pyx_L3_error)
5843       }
5844     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
5845       goto __pyx_L5_argtuple_error;
5846     } else {
5847       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5848       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5849     }
5850     __pyx_v_self = values[0];
5851     __pyx_v_other = values[1];
5852   }
5853   goto __pyx_L4_argument_unpacking_done;
5854   __pyx_L5_argtuple_error:;
5855   __Pyx_RaiseArgtupleInvalid("__gt__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 178, __pyx_L3_error)
5856   __pyx_L3_error:;
5857   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__gt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5858   __Pyx_RefNannyFinishContext();
5859   return NULL;
5860   __pyx_L4_argument_unpacking_done:;
5861   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_10__gt__(__pyx_self, __pyx_v_self, __pyx_v_other);
5862 
5863   /* function exit code */
5864   __Pyx_RefNannyFinishContext();
5865   return __pyx_r;
5866 }
5867 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_10__gt__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_other)5868 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_10__gt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
5869   PyObject *__pyx_r = NULL;
5870   __Pyx_RefNannyDeclarations
5871   PyObject *__pyx_t_1 = NULL;
5872   PyObject *__pyx_t_2 = NULL;
5873   PyObject *__pyx_t_3 = NULL;
5874   PyObject *__pyx_t_4 = NULL;
5875   PyObject *__pyx_t_5 = NULL;
5876   PyObject *__pyx_t_6 = NULL;
5877   int __pyx_t_7;
5878   int __pyx_lineno = 0;
5879   const char *__pyx_filename = NULL;
5880   int __pyx_clineno = 0;
5881   __Pyx_RefNannySetupContext("__gt__", 0);
5882 
5883   /* "Cython/Compiler/Scanning.py":180
5884  *     def __gt__(self, other):
5885  *         # this is only used to provide some sort of order
5886  *         try:             # <<<<<<<<<<<<<<
5887  *             return self._cmp_name > other._cmp_name
5888  *         except AttributeError:
5889  */
5890   {
5891     __Pyx_PyThreadState_declare
5892     __Pyx_PyThreadState_assign
5893     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
5894     __Pyx_XGOTREF(__pyx_t_1);
5895     __Pyx_XGOTREF(__pyx_t_2);
5896     __Pyx_XGOTREF(__pyx_t_3);
5897     /*try:*/ {
5898 
5899       /* "Cython/Compiler/Scanning.py":181
5900  *         # this is only used to provide some sort of order
5901  *         try:
5902  *             return self._cmp_name > other._cmp_name             # <<<<<<<<<<<<<<
5903  *         except AttributeError:
5904  *             return False
5905  */
5906       __Pyx_XDECREF(__pyx_r);
5907       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cmp_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __pyx_L3_error)
5908       __Pyx_GOTREF(__pyx_t_4);
5909       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_cmp_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L3_error)
5910       __Pyx_GOTREF(__pyx_t_5);
5911       __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L3_error)
5912       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5913       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5914       __pyx_r = __pyx_t_6;
5915       __pyx_t_6 = 0;
5916       goto __pyx_L7_try_return;
5917 
5918       /* "Cython/Compiler/Scanning.py":180
5919  *     def __gt__(self, other):
5920  *         # this is only used to provide some sort of order
5921  *         try:             # <<<<<<<<<<<<<<
5922  *             return self._cmp_name > other._cmp_name
5923  *         except AttributeError:
5924  */
5925     }
5926     __pyx_L3_error:;
5927     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
5928     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
5929     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
5930 
5931     /* "Cython/Compiler/Scanning.py":182
5932  *         try:
5933  *             return self._cmp_name > other._cmp_name
5934  *         except AttributeError:             # <<<<<<<<<<<<<<
5935  *             return False
5936  *
5937  */
5938     __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
5939     if (__pyx_t_7) {
5940       __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__gt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5941       if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 182, __pyx_L5_except_error)
5942       __Pyx_GOTREF(__pyx_t_6);
5943       __Pyx_GOTREF(__pyx_t_5);
5944       __Pyx_GOTREF(__pyx_t_4);
5945 
5946       /* "Cython/Compiler/Scanning.py":183
5947  *             return self._cmp_name > other._cmp_name
5948  *         except AttributeError:
5949  *             return False             # <<<<<<<<<<<<<<
5950  *
5951  *     def __lt__(self, other):
5952  */
5953       __Pyx_XDECREF(__pyx_r);
5954       __Pyx_INCREF(Py_False);
5955       __pyx_r = Py_False;
5956       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5957       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5958       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5959       goto __pyx_L6_except_return;
5960     }
5961     goto __pyx_L5_except_error;
5962     __pyx_L5_except_error:;
5963 
5964     /* "Cython/Compiler/Scanning.py":180
5965  *     def __gt__(self, other):
5966  *         # this is only used to provide some sort of order
5967  *         try:             # <<<<<<<<<<<<<<
5968  *             return self._cmp_name > other._cmp_name
5969  *         except AttributeError:
5970  */
5971     __Pyx_XGIVEREF(__pyx_t_1);
5972     __Pyx_XGIVEREF(__pyx_t_2);
5973     __Pyx_XGIVEREF(__pyx_t_3);
5974     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
5975     goto __pyx_L1_error;
5976     __pyx_L7_try_return:;
5977     __Pyx_XGIVEREF(__pyx_t_1);
5978     __Pyx_XGIVEREF(__pyx_t_2);
5979     __Pyx_XGIVEREF(__pyx_t_3);
5980     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
5981     goto __pyx_L0;
5982     __pyx_L6_except_return:;
5983     __Pyx_XGIVEREF(__pyx_t_1);
5984     __Pyx_XGIVEREF(__pyx_t_2);
5985     __Pyx_XGIVEREF(__pyx_t_3);
5986     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
5987     goto __pyx_L0;
5988   }
5989 
5990   /* "Cython/Compiler/Scanning.py":178
5991  *         return self._escaped_description
5992  *
5993  *     def __gt__(self, other):             # <<<<<<<<<<<<<<
5994  *         # this is only used to provide some sort of order
5995  *         try:
5996  */
5997 
5998   /* function exit code */
5999   __pyx_L1_error:;
6000   __Pyx_XDECREF(__pyx_t_4);
6001   __Pyx_XDECREF(__pyx_t_5);
6002   __Pyx_XDECREF(__pyx_t_6);
6003   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__gt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6004   __pyx_r = NULL;
6005   __pyx_L0:;
6006   __Pyx_XGIVEREF(__pyx_r);
6007   __Pyx_RefNannyFinishContext();
6008   return __pyx_r;
6009 }
6010 
6011 /* "Cython/Compiler/Scanning.py":185
6012  *             return False
6013  *
6014  *     def __lt__(self, other):             # <<<<<<<<<<<<<<
6015  *         # this is only used to provide some sort of order
6016  *         try:
6017  */
6018 
6019 /* Python wrapper */
6020 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_13__lt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6021 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_13__lt__ = {"__lt__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_13__lt__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_13__lt__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)6022 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_13__lt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6023   PyObject *__pyx_v_self = 0;
6024   PyObject *__pyx_v_other = 0;
6025   int __pyx_lineno = 0;
6026   const char *__pyx_filename = NULL;
6027   int __pyx_clineno = 0;
6028   PyObject *__pyx_r = 0;
6029   __Pyx_RefNannyDeclarations
6030   __Pyx_RefNannySetupContext("__lt__ (wrapper)", 0);
6031   {
6032     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,0};
6033     PyObject* values[2] = {0,0};
6034     if (unlikely(__pyx_kwds)) {
6035       Py_ssize_t kw_args;
6036       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
6037       switch (pos_args) {
6038         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6039         CYTHON_FALLTHROUGH;
6040         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6041         CYTHON_FALLTHROUGH;
6042         case  0: break;
6043         default: goto __pyx_L5_argtuple_error;
6044       }
6045       kw_args = PyDict_Size(__pyx_kwds);
6046       switch (pos_args) {
6047         case  0:
6048         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
6049         else goto __pyx_L5_argtuple_error;
6050         CYTHON_FALLTHROUGH;
6051         case  1:
6052         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
6053         else {
6054           __Pyx_RaiseArgtupleInvalid("__lt__", 1, 2, 2, 1); __PYX_ERR(0, 185, __pyx_L3_error)
6055         }
6056       }
6057       if (unlikely(kw_args > 0)) {
6058         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__lt__") < 0)) __PYX_ERR(0, 185, __pyx_L3_error)
6059       }
6060     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
6061       goto __pyx_L5_argtuple_error;
6062     } else {
6063       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6064       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6065     }
6066     __pyx_v_self = values[0];
6067     __pyx_v_other = values[1];
6068   }
6069   goto __pyx_L4_argument_unpacking_done;
6070   __pyx_L5_argtuple_error:;
6071   __Pyx_RaiseArgtupleInvalid("__lt__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 185, __pyx_L3_error)
6072   __pyx_L3_error:;
6073   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__lt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6074   __Pyx_RefNannyFinishContext();
6075   return NULL;
6076   __pyx_L4_argument_unpacking_done:;
6077   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_12__lt__(__pyx_self, __pyx_v_self, __pyx_v_other);
6078 
6079   /* function exit code */
6080   __Pyx_RefNannyFinishContext();
6081   return __pyx_r;
6082 }
6083 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_12__lt__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_other)6084 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_12__lt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
6085   PyObject *__pyx_r = NULL;
6086   __Pyx_RefNannyDeclarations
6087   PyObject *__pyx_t_1 = NULL;
6088   PyObject *__pyx_t_2 = NULL;
6089   PyObject *__pyx_t_3 = NULL;
6090   PyObject *__pyx_t_4 = NULL;
6091   PyObject *__pyx_t_5 = NULL;
6092   PyObject *__pyx_t_6 = NULL;
6093   int __pyx_t_7;
6094   int __pyx_lineno = 0;
6095   const char *__pyx_filename = NULL;
6096   int __pyx_clineno = 0;
6097   __Pyx_RefNannySetupContext("__lt__", 0);
6098 
6099   /* "Cython/Compiler/Scanning.py":187
6100  *     def __lt__(self, other):
6101  *         # this is only used to provide some sort of order
6102  *         try:             # <<<<<<<<<<<<<<
6103  *             return self._cmp_name < other._cmp_name
6104  *         except AttributeError:
6105  */
6106   {
6107     __Pyx_PyThreadState_declare
6108     __Pyx_PyThreadState_assign
6109     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
6110     __Pyx_XGOTREF(__pyx_t_1);
6111     __Pyx_XGOTREF(__pyx_t_2);
6112     __Pyx_XGOTREF(__pyx_t_3);
6113     /*try:*/ {
6114 
6115       /* "Cython/Compiler/Scanning.py":188
6116  *         # this is only used to provide some sort of order
6117  *         try:
6118  *             return self._cmp_name < other._cmp_name             # <<<<<<<<<<<<<<
6119  *         except AttributeError:
6120  *             return False
6121  */
6122       __Pyx_XDECREF(__pyx_r);
6123       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cmp_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 188, __pyx_L3_error)
6124       __Pyx_GOTREF(__pyx_t_4);
6125       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_cmp_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 188, __pyx_L3_error)
6126       __Pyx_GOTREF(__pyx_t_5);
6127       __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 188, __pyx_L3_error)
6128       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6129       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6130       __pyx_r = __pyx_t_6;
6131       __pyx_t_6 = 0;
6132       goto __pyx_L7_try_return;
6133 
6134       /* "Cython/Compiler/Scanning.py":187
6135  *     def __lt__(self, other):
6136  *         # this is only used to provide some sort of order
6137  *         try:             # <<<<<<<<<<<<<<
6138  *             return self._cmp_name < other._cmp_name
6139  *         except AttributeError:
6140  */
6141     }
6142     __pyx_L3_error:;
6143     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
6144     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
6145     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
6146 
6147     /* "Cython/Compiler/Scanning.py":189
6148  *         try:
6149  *             return self._cmp_name < other._cmp_name
6150  *         except AttributeError:             # <<<<<<<<<<<<<<
6151  *             return False
6152  *
6153  */
6154     __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
6155     if (__pyx_t_7) {
6156       __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__lt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6157       if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 189, __pyx_L5_except_error)
6158       __Pyx_GOTREF(__pyx_t_6);
6159       __Pyx_GOTREF(__pyx_t_5);
6160       __Pyx_GOTREF(__pyx_t_4);
6161 
6162       /* "Cython/Compiler/Scanning.py":190
6163  *             return self._cmp_name < other._cmp_name
6164  *         except AttributeError:
6165  *             return False             # <<<<<<<<<<<<<<
6166  *
6167  *     def __le__(self, other):
6168  */
6169       __Pyx_XDECREF(__pyx_r);
6170       __Pyx_INCREF(Py_False);
6171       __pyx_r = Py_False;
6172       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6173       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6174       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6175       goto __pyx_L6_except_return;
6176     }
6177     goto __pyx_L5_except_error;
6178     __pyx_L5_except_error:;
6179 
6180     /* "Cython/Compiler/Scanning.py":187
6181  *     def __lt__(self, other):
6182  *         # this is only used to provide some sort of order
6183  *         try:             # <<<<<<<<<<<<<<
6184  *             return self._cmp_name < other._cmp_name
6185  *         except AttributeError:
6186  */
6187     __Pyx_XGIVEREF(__pyx_t_1);
6188     __Pyx_XGIVEREF(__pyx_t_2);
6189     __Pyx_XGIVEREF(__pyx_t_3);
6190     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6191     goto __pyx_L1_error;
6192     __pyx_L7_try_return:;
6193     __Pyx_XGIVEREF(__pyx_t_1);
6194     __Pyx_XGIVEREF(__pyx_t_2);
6195     __Pyx_XGIVEREF(__pyx_t_3);
6196     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6197     goto __pyx_L0;
6198     __pyx_L6_except_return:;
6199     __Pyx_XGIVEREF(__pyx_t_1);
6200     __Pyx_XGIVEREF(__pyx_t_2);
6201     __Pyx_XGIVEREF(__pyx_t_3);
6202     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6203     goto __pyx_L0;
6204   }
6205 
6206   /* "Cython/Compiler/Scanning.py":185
6207  *             return False
6208  *
6209  *     def __lt__(self, other):             # <<<<<<<<<<<<<<
6210  *         # this is only used to provide some sort of order
6211  *         try:
6212  */
6213 
6214   /* function exit code */
6215   __pyx_L1_error:;
6216   __Pyx_XDECREF(__pyx_t_4);
6217   __Pyx_XDECREF(__pyx_t_5);
6218   __Pyx_XDECREF(__pyx_t_6);
6219   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__lt__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6220   __pyx_r = NULL;
6221   __pyx_L0:;
6222   __Pyx_XGIVEREF(__pyx_r);
6223   __Pyx_RefNannyFinishContext();
6224   return __pyx_r;
6225 }
6226 
6227 /* "Cython/Compiler/Scanning.py":192
6228  *             return False
6229  *
6230  *     def __le__(self, other):             # <<<<<<<<<<<<<<
6231  *         # this is only used to provide some sort of order
6232  *         try:
6233  */
6234 
6235 /* Python wrapper */
6236 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_15__le__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6237 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_15__le__ = {"__le__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_15__le__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_15__le__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)6238 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_15__le__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6239   PyObject *__pyx_v_self = 0;
6240   PyObject *__pyx_v_other = 0;
6241   int __pyx_lineno = 0;
6242   const char *__pyx_filename = NULL;
6243   int __pyx_clineno = 0;
6244   PyObject *__pyx_r = 0;
6245   __Pyx_RefNannyDeclarations
6246   __Pyx_RefNannySetupContext("__le__ (wrapper)", 0);
6247   {
6248     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,0};
6249     PyObject* values[2] = {0,0};
6250     if (unlikely(__pyx_kwds)) {
6251       Py_ssize_t kw_args;
6252       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
6253       switch (pos_args) {
6254         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6255         CYTHON_FALLTHROUGH;
6256         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6257         CYTHON_FALLTHROUGH;
6258         case  0: break;
6259         default: goto __pyx_L5_argtuple_error;
6260       }
6261       kw_args = PyDict_Size(__pyx_kwds);
6262       switch (pos_args) {
6263         case  0:
6264         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
6265         else goto __pyx_L5_argtuple_error;
6266         CYTHON_FALLTHROUGH;
6267         case  1:
6268         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
6269         else {
6270           __Pyx_RaiseArgtupleInvalid("__le__", 1, 2, 2, 1); __PYX_ERR(0, 192, __pyx_L3_error)
6271         }
6272       }
6273       if (unlikely(kw_args > 0)) {
6274         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__le__") < 0)) __PYX_ERR(0, 192, __pyx_L3_error)
6275       }
6276     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
6277       goto __pyx_L5_argtuple_error;
6278     } else {
6279       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6280       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6281     }
6282     __pyx_v_self = values[0];
6283     __pyx_v_other = values[1];
6284   }
6285   goto __pyx_L4_argument_unpacking_done;
6286   __pyx_L5_argtuple_error:;
6287   __Pyx_RaiseArgtupleInvalid("__le__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 192, __pyx_L3_error)
6288   __pyx_L3_error:;
6289   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__le__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6290   __Pyx_RefNannyFinishContext();
6291   return NULL;
6292   __pyx_L4_argument_unpacking_done:;
6293   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_14__le__(__pyx_self, __pyx_v_self, __pyx_v_other);
6294 
6295   /* function exit code */
6296   __Pyx_RefNannyFinishContext();
6297   return __pyx_r;
6298 }
6299 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_14__le__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_other)6300 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_14__le__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
6301   PyObject *__pyx_r = NULL;
6302   __Pyx_RefNannyDeclarations
6303   PyObject *__pyx_t_1 = NULL;
6304   PyObject *__pyx_t_2 = NULL;
6305   PyObject *__pyx_t_3 = NULL;
6306   PyObject *__pyx_t_4 = NULL;
6307   PyObject *__pyx_t_5 = NULL;
6308   PyObject *__pyx_t_6 = NULL;
6309   int __pyx_t_7;
6310   int __pyx_lineno = 0;
6311   const char *__pyx_filename = NULL;
6312   int __pyx_clineno = 0;
6313   __Pyx_RefNannySetupContext("__le__", 0);
6314 
6315   /* "Cython/Compiler/Scanning.py":194
6316  *     def __le__(self, other):
6317  *         # this is only used to provide some sort of order
6318  *         try:             # <<<<<<<<<<<<<<
6319  *             return self._cmp_name <= other._cmp_name
6320  *         except AttributeError:
6321  */
6322   {
6323     __Pyx_PyThreadState_declare
6324     __Pyx_PyThreadState_assign
6325     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
6326     __Pyx_XGOTREF(__pyx_t_1);
6327     __Pyx_XGOTREF(__pyx_t_2);
6328     __Pyx_XGOTREF(__pyx_t_3);
6329     /*try:*/ {
6330 
6331       /* "Cython/Compiler/Scanning.py":195
6332  *         # this is only used to provide some sort of order
6333  *         try:
6334  *             return self._cmp_name <= other._cmp_name             # <<<<<<<<<<<<<<
6335  *         except AttributeError:
6336  *             return False
6337  */
6338       __Pyx_XDECREF(__pyx_r);
6339       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cmp_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 195, __pyx_L3_error)
6340       __Pyx_GOTREF(__pyx_t_4);
6341       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_cmp_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L3_error)
6342       __Pyx_GOTREF(__pyx_t_5);
6343       __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_LE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 195, __pyx_L3_error)
6344       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6345       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6346       __pyx_r = __pyx_t_6;
6347       __pyx_t_6 = 0;
6348       goto __pyx_L7_try_return;
6349 
6350       /* "Cython/Compiler/Scanning.py":194
6351  *     def __le__(self, other):
6352  *         # this is only used to provide some sort of order
6353  *         try:             # <<<<<<<<<<<<<<
6354  *             return self._cmp_name <= other._cmp_name
6355  *         except AttributeError:
6356  */
6357     }
6358     __pyx_L3_error:;
6359     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
6360     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
6361     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
6362 
6363     /* "Cython/Compiler/Scanning.py":196
6364  *         try:
6365  *             return self._cmp_name <= other._cmp_name
6366  *         except AttributeError:             # <<<<<<<<<<<<<<
6367  *             return False
6368  *
6369  */
6370     __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
6371     if (__pyx_t_7) {
6372       __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__le__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6373       if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 196, __pyx_L5_except_error)
6374       __Pyx_GOTREF(__pyx_t_6);
6375       __Pyx_GOTREF(__pyx_t_5);
6376       __Pyx_GOTREF(__pyx_t_4);
6377 
6378       /* "Cython/Compiler/Scanning.py":197
6379  *             return self._cmp_name <= other._cmp_name
6380  *         except AttributeError:
6381  *             return False             # <<<<<<<<<<<<<<
6382  *
6383  *     def __copy__(self):
6384  */
6385       __Pyx_XDECREF(__pyx_r);
6386       __Pyx_INCREF(Py_False);
6387       __pyx_r = Py_False;
6388       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6389       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6390       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6391       goto __pyx_L6_except_return;
6392     }
6393     goto __pyx_L5_except_error;
6394     __pyx_L5_except_error:;
6395 
6396     /* "Cython/Compiler/Scanning.py":194
6397  *     def __le__(self, other):
6398  *         # this is only used to provide some sort of order
6399  *         try:             # <<<<<<<<<<<<<<
6400  *             return self._cmp_name <= other._cmp_name
6401  *         except AttributeError:
6402  */
6403     __Pyx_XGIVEREF(__pyx_t_1);
6404     __Pyx_XGIVEREF(__pyx_t_2);
6405     __Pyx_XGIVEREF(__pyx_t_3);
6406     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6407     goto __pyx_L1_error;
6408     __pyx_L7_try_return:;
6409     __Pyx_XGIVEREF(__pyx_t_1);
6410     __Pyx_XGIVEREF(__pyx_t_2);
6411     __Pyx_XGIVEREF(__pyx_t_3);
6412     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6413     goto __pyx_L0;
6414     __pyx_L6_except_return:;
6415     __Pyx_XGIVEREF(__pyx_t_1);
6416     __Pyx_XGIVEREF(__pyx_t_2);
6417     __Pyx_XGIVEREF(__pyx_t_3);
6418     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6419     goto __pyx_L0;
6420   }
6421 
6422   /* "Cython/Compiler/Scanning.py":192
6423  *             return False
6424  *
6425  *     def __le__(self, other):             # <<<<<<<<<<<<<<
6426  *         # this is only used to provide some sort of order
6427  *         try:
6428  */
6429 
6430   /* function exit code */
6431   __pyx_L1_error:;
6432   __Pyx_XDECREF(__pyx_t_4);
6433   __Pyx_XDECREF(__pyx_t_5);
6434   __Pyx_XDECREF(__pyx_t_6);
6435   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__le__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6436   __pyx_r = NULL;
6437   __pyx_L0:;
6438   __Pyx_XGIVEREF(__pyx_r);
6439   __Pyx_RefNannyFinishContext();
6440   return __pyx_r;
6441 }
6442 
6443 /* "Cython/Compiler/Scanning.py":199
6444  *             return False
6445  *
6446  *     def __copy__(self):             # <<<<<<<<<<<<<<
6447  *         return self  # immutable, no need to copy
6448  *
6449  */
6450 
6451 /* Python wrapper */
6452 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_17__copy__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
6453 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_17__copy__ = {"__copy__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_17__copy__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_17__copy__(PyObject * __pyx_self,PyObject * __pyx_v_self)6454 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_17__copy__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
6455   PyObject *__pyx_r = 0;
6456   __Pyx_RefNannyDeclarations
6457   __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
6458   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_16__copy__(__pyx_self, ((PyObject *)__pyx_v_self));
6459 
6460   /* function exit code */
6461   __Pyx_RefNannyFinishContext();
6462   return __pyx_r;
6463 }
6464 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_16__copy__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)6465 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_16__copy__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
6466   PyObject *__pyx_r = NULL;
6467   __Pyx_RefNannyDeclarations
6468   __Pyx_RefNannySetupContext("__copy__", 0);
6469 
6470   /* "Cython/Compiler/Scanning.py":200
6471  *
6472  *     def __copy__(self):
6473  *         return self  # immutable, no need to copy             # <<<<<<<<<<<<<<
6474  *
6475  *     def __deepcopy__(self, memo):
6476  */
6477   __Pyx_XDECREF(__pyx_r);
6478   __Pyx_INCREF(__pyx_v_self);
6479   __pyx_r = __pyx_v_self;
6480   goto __pyx_L0;
6481 
6482   /* "Cython/Compiler/Scanning.py":199
6483  *             return False
6484  *
6485  *     def __copy__(self):             # <<<<<<<<<<<<<<
6486  *         return self  # immutable, no need to copy
6487  *
6488  */
6489 
6490   /* function exit code */
6491   __pyx_L0:;
6492   __Pyx_XGIVEREF(__pyx_r);
6493   __Pyx_RefNannyFinishContext();
6494   return __pyx_r;
6495 }
6496 
6497 /* "Cython/Compiler/Scanning.py":202
6498  *         return self  # immutable, no need to copy
6499  *
6500  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
6501  *         return self  # immutable, no need to copy
6502  *
6503  */
6504 
6505 /* Python wrapper */
6506 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_19__deepcopy__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6507 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_19__deepcopy__ = {"__deepcopy__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_19__deepcopy__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_19__deepcopy__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)6508 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_16SourceDescriptor_19__deepcopy__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6509   PyObject *__pyx_v_self = 0;
6510   CYTHON_UNUSED PyObject *__pyx_v_memo = 0;
6511   int __pyx_lineno = 0;
6512   const char *__pyx_filename = NULL;
6513   int __pyx_clineno = 0;
6514   PyObject *__pyx_r = 0;
6515   __Pyx_RefNannyDeclarations
6516   __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0);
6517   {
6518     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_memo,0};
6519     PyObject* values[2] = {0,0};
6520     if (unlikely(__pyx_kwds)) {
6521       Py_ssize_t kw_args;
6522       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
6523       switch (pos_args) {
6524         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6525         CYTHON_FALLTHROUGH;
6526         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6527         CYTHON_FALLTHROUGH;
6528         case  0: break;
6529         default: goto __pyx_L5_argtuple_error;
6530       }
6531       kw_args = PyDict_Size(__pyx_kwds);
6532       switch (pos_args) {
6533         case  0:
6534         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
6535         else goto __pyx_L5_argtuple_error;
6536         CYTHON_FALLTHROUGH;
6537         case  1:
6538         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--;
6539         else {
6540           __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 2, 2, 1); __PYX_ERR(0, 202, __pyx_L3_error)
6541         }
6542       }
6543       if (unlikely(kw_args > 0)) {
6544         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__deepcopy__") < 0)) __PYX_ERR(0, 202, __pyx_L3_error)
6545       }
6546     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
6547       goto __pyx_L5_argtuple_error;
6548     } else {
6549       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6550       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6551     }
6552     __pyx_v_self = values[0];
6553     __pyx_v_memo = values[1];
6554   }
6555   goto __pyx_L4_argument_unpacking_done;
6556   __pyx_L5_argtuple_error:;
6557   __Pyx_RaiseArgtupleInvalid("__deepcopy__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 202, __pyx_L3_error)
6558   __pyx_L3_error:;
6559   __Pyx_AddTraceback("Cython.Compiler.Scanning.SourceDescriptor.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6560   __Pyx_RefNannyFinishContext();
6561   return NULL;
6562   __pyx_L4_argument_unpacking_done:;
6563   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_18__deepcopy__(__pyx_self, __pyx_v_self, __pyx_v_memo);
6564 
6565   /* function exit code */
6566   __Pyx_RefNannyFinishContext();
6567   return __pyx_r;
6568 }
6569 
__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_18__deepcopy__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * __pyx_v_memo)6570 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_16SourceDescriptor_18__deepcopy__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo) {
6571   PyObject *__pyx_r = NULL;
6572   __Pyx_RefNannyDeclarations
6573   __Pyx_RefNannySetupContext("__deepcopy__", 0);
6574 
6575   /* "Cython/Compiler/Scanning.py":203
6576  *
6577  *     def __deepcopy__(self, memo):
6578  *         return self  # immutable, no need to copy             # <<<<<<<<<<<<<<
6579  *
6580  *
6581  */
6582   __Pyx_XDECREF(__pyx_r);
6583   __Pyx_INCREF(__pyx_v_self);
6584   __pyx_r = __pyx_v_self;
6585   goto __pyx_L0;
6586 
6587   /* "Cython/Compiler/Scanning.py":202
6588  *         return self  # immutable, no need to copy
6589  *
6590  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
6591  *         return self  # immutable, no need to copy
6592  *
6593  */
6594 
6595   /* function exit code */
6596   __pyx_L0:;
6597   __Pyx_XGIVEREF(__pyx_r);
6598   __Pyx_RefNannyFinishContext();
6599   return __pyx_r;
6600 }
6601 
6602 /* "Cython/Compiler/Scanning.py":214
6603  *     the position()-tuple.
6604  *     """
6605  *     def __init__(self, filename, path_description=None):             # <<<<<<<<<<<<<<
6606  *         filename = Utils.decode_filename(filename)
6607  *         self.path_description = path_description or filename
6608  */
6609 
6610 /* Python wrapper */
6611 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6612 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)6613 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6614   PyObject *__pyx_v_self = 0;
6615   PyObject *__pyx_v_filename = 0;
6616   PyObject *__pyx_v_path_description = 0;
6617   int __pyx_lineno = 0;
6618   const char *__pyx_filename = NULL;
6619   int __pyx_clineno = 0;
6620   PyObject *__pyx_r = 0;
6621   __Pyx_RefNannyDeclarations
6622   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
6623   {
6624     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_filename,&__pyx_n_s_path_description,0};
6625     PyObject* values[3] = {0,0,0};
6626     values[2] = ((PyObject *)((PyObject *)Py_None));
6627     if (unlikely(__pyx_kwds)) {
6628       Py_ssize_t kw_args;
6629       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
6630       switch (pos_args) {
6631         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
6632         CYTHON_FALLTHROUGH;
6633         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6634         CYTHON_FALLTHROUGH;
6635         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6636         CYTHON_FALLTHROUGH;
6637         case  0: break;
6638         default: goto __pyx_L5_argtuple_error;
6639       }
6640       kw_args = PyDict_Size(__pyx_kwds);
6641       switch (pos_args) {
6642         case  0:
6643         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
6644         else goto __pyx_L5_argtuple_error;
6645         CYTHON_FALLTHROUGH;
6646         case  1:
6647         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename)) != 0)) kw_args--;
6648         else {
6649           __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, 1); __PYX_ERR(0, 214, __pyx_L3_error)
6650         }
6651         CYTHON_FALLTHROUGH;
6652         case  2:
6653         if (kw_args > 0) {
6654           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path_description);
6655           if (value) { values[2] = value; kw_args--; }
6656         }
6657       }
6658       if (unlikely(kw_args > 0)) {
6659         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 214, __pyx_L3_error)
6660       }
6661     } else {
6662       switch (PyTuple_GET_SIZE(__pyx_args)) {
6663         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
6664         CYTHON_FALLTHROUGH;
6665         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6666         values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6667         break;
6668         default: goto __pyx_L5_argtuple_error;
6669       }
6670     }
6671     __pyx_v_self = values[0];
6672     __pyx_v_filename = values[1];
6673     __pyx_v_path_description = values[2];
6674   }
6675   goto __pyx_L4_argument_unpacking_done;
6676   __pyx_L5_argtuple_error:;
6677   __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 214, __pyx_L3_error)
6678   __pyx_L3_error:;
6679   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6680   __Pyx_RefNannyFinishContext();
6681   return NULL;
6682   __pyx_L4_argument_unpacking_done:;
6683   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor___init__(__pyx_self, __pyx_v_self, __pyx_v_filename, __pyx_v_path_description);
6684 
6685   /* function exit code */
6686   __Pyx_RefNannyFinishContext();
6687   return __pyx_r;
6688 }
6689 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_filename,PyObject * __pyx_v_path_description)6690 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_path_description) {
6691   PyObject *__pyx_v_workdir = NULL;
6692   PyObject *__pyx_r = NULL;
6693   __Pyx_RefNannyDeclarations
6694   PyObject *__pyx_t_1 = NULL;
6695   PyObject *__pyx_t_2 = NULL;
6696   PyObject *__pyx_t_3 = NULL;
6697   int __pyx_t_4;
6698   PyObject *__pyx_t_5 = NULL;
6699   Py_ssize_t __pyx_t_6;
6700   int __pyx_lineno = 0;
6701   const char *__pyx_filename = NULL;
6702   int __pyx_clineno = 0;
6703   __Pyx_RefNannySetupContext("__init__", 0);
6704   __Pyx_INCREF(__pyx_v_filename);
6705 
6706   /* "Cython/Compiler/Scanning.py":215
6707  *     """
6708  *     def __init__(self, filename, path_description=None):
6709  *         filename = Utils.decode_filename(filename)             # <<<<<<<<<<<<<<
6710  *         self.path_description = path_description or filename
6711  *         self.filename = filename
6712  */
6713   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Utils); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 215, __pyx_L1_error)
6714   __Pyx_GOTREF(__pyx_t_2);
6715   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_decode_filename); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 215, __pyx_L1_error)
6716   __Pyx_GOTREF(__pyx_t_3);
6717   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6718   __pyx_t_2 = NULL;
6719   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
6720     __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
6721     if (likely(__pyx_t_2)) {
6722       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
6723       __Pyx_INCREF(__pyx_t_2);
6724       __Pyx_INCREF(function);
6725       __Pyx_DECREF_SET(__pyx_t_3, function);
6726     }
6727   }
6728   __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_filename);
6729   __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
6730   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error)
6731   __Pyx_GOTREF(__pyx_t_1);
6732   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6733   __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_1);
6734   __pyx_t_1 = 0;
6735 
6736   /* "Cython/Compiler/Scanning.py":216
6737  *     def __init__(self, filename, path_description=None):
6738  *         filename = Utils.decode_filename(filename)
6739  *         self.path_description = path_description or filename             # <<<<<<<<<<<<<<
6740  *         self.filename = filename
6741  *         # Prefer relative paths to current directory (which is most likely the project root) over absolute paths.
6742  */
6743   __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_path_description); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 216, __pyx_L1_error)
6744   if (!__pyx_t_4) {
6745   } else {
6746     __Pyx_INCREF(__pyx_v_path_description);
6747     __pyx_t_1 = __pyx_v_path_description;
6748     goto __pyx_L3_bool_binop_done;
6749   }
6750   __Pyx_INCREF(__pyx_v_filename);
6751   __pyx_t_1 = __pyx_v_filename;
6752   __pyx_L3_bool_binop_done:;
6753   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_path_description, __pyx_t_1) < 0) __PYX_ERR(0, 216, __pyx_L1_error)
6754   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6755 
6756   /* "Cython/Compiler/Scanning.py":217
6757  *         filename = Utils.decode_filename(filename)
6758  *         self.path_description = path_description or filename
6759  *         self.filename = filename             # <<<<<<<<<<<<<<
6760  *         # Prefer relative paths to current directory (which is most likely the project root) over absolute paths.
6761  *         workdir = os.path.abspath('.') + os.sep
6762  */
6763   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_filename, __pyx_v_filename) < 0) __PYX_ERR(0, 217, __pyx_L1_error)
6764 
6765   /* "Cython/Compiler/Scanning.py":219
6766  *         self.filename = filename
6767  *         # Prefer relative paths to current directory (which is most likely the project root) over absolute paths.
6768  *         workdir = os.path.abspath('.') + os.sep             # <<<<<<<<<<<<<<
6769  *         self.file_path = filename[len(workdir):] if filename.startswith(workdir) else filename
6770  *         self.set_file_type_from_name(filename)
6771  */
6772   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_8Scanning_os, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error)
6773   __Pyx_GOTREF(__pyx_t_3);
6774   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_abspath); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
6775   __Pyx_GOTREF(__pyx_t_2);
6776   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6777   __pyx_t_3 = NULL;
6778   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
6779     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
6780     if (likely(__pyx_t_3)) {
6781       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
6782       __Pyx_INCREF(__pyx_t_3);
6783       __Pyx_INCREF(function);
6784       __Pyx_DECREF_SET(__pyx_t_2, function);
6785     }
6786   }
6787   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u__8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u__8);
6788   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
6789   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error)
6790   __Pyx_GOTREF(__pyx_t_1);
6791   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6792   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_8Scanning_os, __pyx_n_s_sep); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
6793   __Pyx_GOTREF(__pyx_t_2);
6794   __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error)
6795   __Pyx_GOTREF(__pyx_t_3);
6796   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6797   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6798   __pyx_v_workdir = __pyx_t_3;
6799   __pyx_t_3 = 0;
6800 
6801   /* "Cython/Compiler/Scanning.py":220
6802  *         # Prefer relative paths to current directory (which is most likely the project root) over absolute paths.
6803  *         workdir = os.path.abspath('.') + os.sep
6804  *         self.file_path = filename[len(workdir):] if filename.startswith(workdir) else filename             # <<<<<<<<<<<<<<
6805  *         self.set_file_type_from_name(filename)
6806  *         self._cmp_name = filename
6807  */
6808   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_startswith); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L1_error)
6809   __Pyx_GOTREF(__pyx_t_1);
6810   __pyx_t_5 = NULL;
6811   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
6812     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
6813     if (likely(__pyx_t_5)) {
6814       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
6815       __Pyx_INCREF(__pyx_t_5);
6816       __Pyx_INCREF(function);
6817       __Pyx_DECREF_SET(__pyx_t_1, function);
6818     }
6819   }
6820   __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_workdir) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_workdir);
6821   __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
6822   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L1_error)
6823   __Pyx_GOTREF(__pyx_t_2);
6824   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6825   __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 220, __pyx_L1_error)
6826   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6827   if (__pyx_t_4) {
6828     __pyx_t_6 = PyObject_Length(__pyx_v_workdir); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 220, __pyx_L1_error)
6829     __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_filename, __pyx_t_6, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L1_error)
6830     __Pyx_GOTREF(__pyx_t_2);
6831     __pyx_t_3 = __pyx_t_2;
6832     __pyx_t_2 = 0;
6833   } else {
6834     __Pyx_INCREF(__pyx_v_filename);
6835     __pyx_t_3 = __pyx_v_filename;
6836   }
6837   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_file_path, __pyx_t_3) < 0) __PYX_ERR(0, 220, __pyx_L1_error)
6838   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6839 
6840   /* "Cython/Compiler/Scanning.py":221
6841  *         workdir = os.path.abspath('.') + os.sep
6842  *         self.file_path = filename[len(workdir):] if filename.startswith(workdir) else filename
6843  *         self.set_file_type_from_name(filename)             # <<<<<<<<<<<<<<
6844  *         self._cmp_name = filename
6845  *         self._lines = {}
6846  */
6847   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_file_type_from_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
6848   __Pyx_GOTREF(__pyx_t_2);
6849   __pyx_t_1 = NULL;
6850   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
6851     __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
6852     if (likely(__pyx_t_1)) {
6853       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
6854       __Pyx_INCREF(__pyx_t_1);
6855       __Pyx_INCREF(function);
6856       __Pyx_DECREF_SET(__pyx_t_2, function);
6857     }
6858   }
6859   __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_filename);
6860   __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
6861   if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error)
6862   __Pyx_GOTREF(__pyx_t_3);
6863   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6864   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6865 
6866   /* "Cython/Compiler/Scanning.py":222
6867  *         self.file_path = filename[len(workdir):] if filename.startswith(workdir) else filename
6868  *         self.set_file_type_from_name(filename)
6869  *         self._cmp_name = filename             # <<<<<<<<<<<<<<
6870  *         self._lines = {}
6871  *
6872  */
6873   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cmp_name, __pyx_v_filename) < 0) __PYX_ERR(0, 222, __pyx_L1_error)
6874 
6875   /* "Cython/Compiler/Scanning.py":223
6876  *         self.set_file_type_from_name(filename)
6877  *         self._cmp_name = filename
6878  *         self._lines = {}             # <<<<<<<<<<<<<<
6879  *
6880  *     def get_lines(self, encoding=None, error_handling=None):
6881  */
6882   __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error)
6883   __Pyx_GOTREF(__pyx_t_3);
6884   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lines, __pyx_t_3) < 0) __PYX_ERR(0, 223, __pyx_L1_error)
6885   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6886 
6887   /* "Cython/Compiler/Scanning.py":214
6888  *     the position()-tuple.
6889  *     """
6890  *     def __init__(self, filename, path_description=None):             # <<<<<<<<<<<<<<
6891  *         filename = Utils.decode_filename(filename)
6892  *         self.path_description = path_description or filename
6893  */
6894 
6895   /* function exit code */
6896   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6897   goto __pyx_L0;
6898   __pyx_L1_error:;
6899   __Pyx_XDECREF(__pyx_t_1);
6900   __Pyx_XDECREF(__pyx_t_2);
6901   __Pyx_XDECREF(__pyx_t_3);
6902   __Pyx_XDECREF(__pyx_t_5);
6903   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6904   __pyx_r = NULL;
6905   __pyx_L0:;
6906   __Pyx_XDECREF(__pyx_v_workdir);
6907   __Pyx_XDECREF(__pyx_v_filename);
6908   __Pyx_XGIVEREF(__pyx_r);
6909   __Pyx_RefNannyFinishContext();
6910   return __pyx_r;
6911 }
6912 
6913 /* "Cython/Compiler/Scanning.py":225
6914  *         self._lines = {}
6915  *
6916  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
6917  *         # we cache the lines only the second time this is called, in
6918  *         # order to save memory when they are only used once
6919  */
6920 
6921 /* Python wrapper */
6922 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_3get_lines(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6923 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_3get_lines = {"get_lines", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_3get_lines, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_3get_lines(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)6924 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_3get_lines(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6925   PyObject *__pyx_v_self = 0;
6926   PyObject *__pyx_v_encoding = 0;
6927   PyObject *__pyx_v_error_handling = 0;
6928   int __pyx_lineno = 0;
6929   const char *__pyx_filename = NULL;
6930   int __pyx_clineno = 0;
6931   PyObject *__pyx_r = 0;
6932   __Pyx_RefNannyDeclarations
6933   __Pyx_RefNannySetupContext("get_lines (wrapper)", 0);
6934   {
6935     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_encoding,&__pyx_n_s_error_handling,0};
6936     PyObject* values[3] = {0,0,0};
6937     values[1] = ((PyObject *)((PyObject *)Py_None));
6938     values[2] = ((PyObject *)((PyObject *)Py_None));
6939     if (unlikely(__pyx_kwds)) {
6940       Py_ssize_t kw_args;
6941       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
6942       switch (pos_args) {
6943         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
6944         CYTHON_FALLTHROUGH;
6945         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6946         CYTHON_FALLTHROUGH;
6947         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6948         CYTHON_FALLTHROUGH;
6949         case  0: break;
6950         default: goto __pyx_L5_argtuple_error;
6951       }
6952       kw_args = PyDict_Size(__pyx_kwds);
6953       switch (pos_args) {
6954         case  0:
6955         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
6956         else goto __pyx_L5_argtuple_error;
6957         CYTHON_FALLTHROUGH;
6958         case  1:
6959         if (kw_args > 0) {
6960           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_encoding);
6961           if (value) { values[1] = value; kw_args--; }
6962         }
6963         CYTHON_FALLTHROUGH;
6964         case  2:
6965         if (kw_args > 0) {
6966           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_handling);
6967           if (value) { values[2] = value; kw_args--; }
6968         }
6969       }
6970       if (unlikely(kw_args > 0)) {
6971         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_lines") < 0)) __PYX_ERR(0, 225, __pyx_L3_error)
6972       }
6973     } else {
6974       switch (PyTuple_GET_SIZE(__pyx_args)) {
6975         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
6976         CYTHON_FALLTHROUGH;
6977         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6978         CYTHON_FALLTHROUGH;
6979         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6980         break;
6981         default: goto __pyx_L5_argtuple_error;
6982       }
6983     }
6984     __pyx_v_self = values[0];
6985     __pyx_v_encoding = values[1];
6986     __pyx_v_error_handling = values[2];
6987   }
6988   goto __pyx_L4_argument_unpacking_done;
6989   __pyx_L5_argtuple_error:;
6990   __Pyx_RaiseArgtupleInvalid("get_lines", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 225, __pyx_L3_error)
6991   __pyx_L3_error:;
6992   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.get_lines", __pyx_clineno, __pyx_lineno, __pyx_filename);
6993   __Pyx_RefNannyFinishContext();
6994   return NULL;
6995   __pyx_L4_argument_unpacking_done:;
6996   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_2get_lines(__pyx_self, __pyx_v_self, __pyx_v_encoding, __pyx_v_error_handling);
6997 
6998   /* function exit code */
6999   __Pyx_RefNannyFinishContext();
7000   return __pyx_r;
7001 }
7002 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_2get_lines(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_encoding,PyObject * __pyx_v_error_handling)7003 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_2get_lines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_error_handling) {
7004   PyObject *__pyx_v_key = NULL;
7005   PyObject *__pyx_v_lines = NULL;
7006   PyObject *__pyx_v_f = NULL;
7007   PyObject *__pyx_r = NULL;
7008   __Pyx_RefNannyDeclarations
7009   PyObject *__pyx_t_1 = NULL;
7010   PyObject *__pyx_t_2 = NULL;
7011   PyObject *__pyx_t_3 = NULL;
7012   PyObject *__pyx_t_4 = NULL;
7013   PyObject *__pyx_t_5 = NULL;
7014   int __pyx_t_6;
7015   int __pyx_t_7;
7016   int __pyx_t_8;
7017   PyObject *__pyx_t_9 = NULL;
7018   PyObject *__pyx_t_10 = NULL;
7019   PyObject *__pyx_t_11 = NULL;
7020   PyObject *__pyx_t_12 = NULL;
7021   int __pyx_lineno = 0;
7022   const char *__pyx_filename = NULL;
7023   int __pyx_clineno = 0;
7024   __Pyx_RefNannySetupContext("get_lines", 0);
7025 
7026   /* "Cython/Compiler/Scanning.py":228
7027  *         # we cache the lines only the second time this is called, in
7028  *         # order to save memory when they are only used once
7029  *         key = (encoding, error_handling)             # <<<<<<<<<<<<<<
7030  *         try:
7031  *             lines = self._lines[key]
7032  */
7033   __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
7034   __Pyx_GOTREF(__pyx_t_1);
7035   __Pyx_INCREF(__pyx_v_encoding);
7036   __Pyx_GIVEREF(__pyx_v_encoding);
7037   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_encoding);
7038   __Pyx_INCREF(__pyx_v_error_handling);
7039   __Pyx_GIVEREF(__pyx_v_error_handling);
7040   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_error_handling);
7041   __pyx_v_key = ((PyObject*)__pyx_t_1);
7042   __pyx_t_1 = 0;
7043 
7044   /* "Cython/Compiler/Scanning.py":229
7045  *         # order to save memory when they are only used once
7046  *         key = (encoding, error_handling)
7047  *         try:             # <<<<<<<<<<<<<<
7048  *             lines = self._lines[key]
7049  *             if lines is not None:
7050  */
7051   {
7052     __Pyx_PyThreadState_declare
7053     __Pyx_PyThreadState_assign
7054     __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
7055     __Pyx_XGOTREF(__pyx_t_2);
7056     __Pyx_XGOTREF(__pyx_t_3);
7057     __Pyx_XGOTREF(__pyx_t_4);
7058     /*try:*/ {
7059 
7060       /* "Cython/Compiler/Scanning.py":230
7061  *         key = (encoding, error_handling)
7062  *         try:
7063  *             lines = self._lines[key]             # <<<<<<<<<<<<<<
7064  *             if lines is not None:
7065  *                 return lines
7066  */
7067       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L3_error)
7068       __Pyx_GOTREF(__pyx_t_1);
7069       __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 230, __pyx_L3_error)
7070       __Pyx_GOTREF(__pyx_t_5);
7071       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7072       __pyx_v_lines = __pyx_t_5;
7073       __pyx_t_5 = 0;
7074 
7075       /* "Cython/Compiler/Scanning.py":231
7076  *         try:
7077  *             lines = self._lines[key]
7078  *             if lines is not None:             # <<<<<<<<<<<<<<
7079  *                 return lines
7080  *         except KeyError:
7081  */
7082       __pyx_t_6 = (__pyx_v_lines != Py_None);
7083       __pyx_t_7 = (__pyx_t_6 != 0);
7084       if (__pyx_t_7) {
7085 
7086         /* "Cython/Compiler/Scanning.py":232
7087  *             lines = self._lines[key]
7088  *             if lines is not None:
7089  *                 return lines             # <<<<<<<<<<<<<<
7090  *         except KeyError:
7091  *             pass
7092  */
7093         __Pyx_XDECREF(__pyx_r);
7094         __Pyx_INCREF(__pyx_v_lines);
7095         __pyx_r = __pyx_v_lines;
7096         goto __pyx_L7_try_return;
7097 
7098         /* "Cython/Compiler/Scanning.py":231
7099  *         try:
7100  *             lines = self._lines[key]
7101  *             if lines is not None:             # <<<<<<<<<<<<<<
7102  *                 return lines
7103  *         except KeyError:
7104  */
7105       }
7106 
7107       /* "Cython/Compiler/Scanning.py":229
7108  *         # order to save memory when they are only used once
7109  *         key = (encoding, error_handling)
7110  *         try:             # <<<<<<<<<<<<<<
7111  *             lines = self._lines[key]
7112  *             if lines is not None:
7113  */
7114     }
7115     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
7116     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
7117     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
7118     goto __pyx_L8_try_end;
7119     __pyx_L3_error:;
7120     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
7121     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
7122 
7123     /* "Cython/Compiler/Scanning.py":233
7124  *             if lines is not None:
7125  *                 return lines
7126  *         except KeyError:             # <<<<<<<<<<<<<<
7127  *             pass
7128  *
7129  */
7130     __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
7131     if (__pyx_t_8) {
7132       __Pyx_ErrRestore(0,0,0);
7133       goto __pyx_L4_exception_handled;
7134     }
7135     goto __pyx_L5_except_error;
7136     __pyx_L5_except_error:;
7137 
7138     /* "Cython/Compiler/Scanning.py":229
7139  *         # order to save memory when they are only used once
7140  *         key = (encoding, error_handling)
7141  *         try:             # <<<<<<<<<<<<<<
7142  *             lines = self._lines[key]
7143  *             if lines is not None:
7144  */
7145     __Pyx_XGIVEREF(__pyx_t_2);
7146     __Pyx_XGIVEREF(__pyx_t_3);
7147     __Pyx_XGIVEREF(__pyx_t_4);
7148     __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
7149     goto __pyx_L1_error;
7150     __pyx_L7_try_return:;
7151     __Pyx_XGIVEREF(__pyx_t_2);
7152     __Pyx_XGIVEREF(__pyx_t_3);
7153     __Pyx_XGIVEREF(__pyx_t_4);
7154     __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
7155     goto __pyx_L0;
7156     __pyx_L4_exception_handled:;
7157     __Pyx_XGIVEREF(__pyx_t_2);
7158     __Pyx_XGIVEREF(__pyx_t_3);
7159     __Pyx_XGIVEREF(__pyx_t_4);
7160     __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
7161     __pyx_L8_try_end:;
7162   }
7163 
7164   /* "Cython/Compiler/Scanning.py":236
7165  *             pass
7166  *
7167  *         with Utils.open_source_file(self.filename, encoding=encoding, error_handling=error_handling) as f:             # <<<<<<<<<<<<<<
7168  *             lines = list(f)
7169  *
7170  */
7171   /*with:*/ {
7172     __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Utils); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L1_error)
7173     __Pyx_GOTREF(__pyx_t_5);
7174     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_open_source_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L1_error)
7175     __Pyx_GOTREF(__pyx_t_1);
7176     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7177     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L1_error)
7178     __Pyx_GOTREF(__pyx_t_5);
7179     __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 236, __pyx_L1_error)
7180     __Pyx_GOTREF(__pyx_t_9);
7181     __Pyx_GIVEREF(__pyx_t_5);
7182     PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5);
7183     __pyx_t_5 = 0;
7184     __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L1_error)
7185     __Pyx_GOTREF(__pyx_t_5);
7186     if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
7187     if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_error_handling, __pyx_v_error_handling) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
7188     __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 236, __pyx_L1_error)
7189     __Pyx_GOTREF(__pyx_t_10);
7190     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7191     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
7192     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7193     __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L1_error)
7194     __Pyx_GOTREF(__pyx_t_4);
7195     __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_enter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 236, __pyx_L10_error)
7196     __Pyx_GOTREF(__pyx_t_9);
7197     __pyx_t_1 = NULL;
7198     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
7199       __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9);
7200       if (likely(__pyx_t_1)) {
7201         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
7202         __Pyx_INCREF(__pyx_t_1);
7203         __Pyx_INCREF(function);
7204         __Pyx_DECREF_SET(__pyx_t_9, function);
7205       }
7206     }
7207     __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
7208     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
7209     if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L10_error)
7210     __Pyx_GOTREF(__pyx_t_5);
7211     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
7212     __pyx_t_9 = __pyx_t_5;
7213     __pyx_t_5 = 0;
7214     __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
7215     /*try:*/ {
7216       {
7217         __Pyx_PyThreadState_declare
7218         __Pyx_PyThreadState_assign
7219         __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_11);
7220         __Pyx_XGOTREF(__pyx_t_3);
7221         __Pyx_XGOTREF(__pyx_t_2);
7222         __Pyx_XGOTREF(__pyx_t_11);
7223         /*try:*/ {
7224           __pyx_v_f = __pyx_t_9;
7225           __pyx_t_9 = 0;
7226 
7227           /* "Cython/Compiler/Scanning.py":237
7228  *
7229  *         with Utils.open_source_file(self.filename, encoding=encoding, error_handling=error_handling) as f:
7230  *             lines = list(f)             # <<<<<<<<<<<<<<
7231  *
7232  *         if key in self._lines:
7233  */
7234           __pyx_t_9 = PySequence_List(__pyx_v_f); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 237, __pyx_L14_error)
7235           __Pyx_GOTREF(__pyx_t_9);
7236           __Pyx_XDECREF_SET(__pyx_v_lines, __pyx_t_9);
7237           __pyx_t_9 = 0;
7238 
7239           /* "Cython/Compiler/Scanning.py":236
7240  *             pass
7241  *
7242  *         with Utils.open_source_file(self.filename, encoding=encoding, error_handling=error_handling) as f:             # <<<<<<<<<<<<<<
7243  *             lines = list(f)
7244  *
7245  */
7246         }
7247         __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
7248         __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
7249         __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
7250         goto __pyx_L19_try_end;
7251         __pyx_L14_error:;
7252         __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
7253         __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
7254         __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
7255         __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
7256         /*except:*/ {
7257           __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.get_lines", __pyx_clineno, __pyx_lineno, __pyx_filename);
7258           if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 236, __pyx_L16_except_error)
7259           __Pyx_GOTREF(__pyx_t_9);
7260           __Pyx_GOTREF(__pyx_t_10);
7261           __Pyx_GOTREF(__pyx_t_5);
7262           __pyx_t_1 = PyTuple_Pack(3, __pyx_t_9, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L16_except_error)
7263           __Pyx_GOTREF(__pyx_t_1);
7264           __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL);
7265           __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7266           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7267           if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 236, __pyx_L16_except_error)
7268           __Pyx_GOTREF(__pyx_t_12);
7269           __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12);
7270           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
7271           if (__pyx_t_7 < 0) __PYX_ERR(0, 236, __pyx_L16_except_error)
7272           __pyx_t_6 = ((!(__pyx_t_7 != 0)) != 0);
7273           if (__pyx_t_6) {
7274             __Pyx_GIVEREF(__pyx_t_9);
7275             __Pyx_GIVEREF(__pyx_t_10);
7276             __Pyx_XGIVEREF(__pyx_t_5);
7277             __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_10, __pyx_t_5);
7278             __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0;
7279             __PYX_ERR(0, 236, __pyx_L16_except_error)
7280           }
7281           __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
7282           __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
7283           __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
7284           goto __pyx_L15_exception_handled;
7285         }
7286         __pyx_L16_except_error:;
7287         __Pyx_XGIVEREF(__pyx_t_3);
7288         __Pyx_XGIVEREF(__pyx_t_2);
7289         __Pyx_XGIVEREF(__pyx_t_11);
7290         __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_11);
7291         goto __pyx_L1_error;
7292         __pyx_L15_exception_handled:;
7293         __Pyx_XGIVEREF(__pyx_t_3);
7294         __Pyx_XGIVEREF(__pyx_t_2);
7295         __Pyx_XGIVEREF(__pyx_t_11);
7296         __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_11);
7297         __pyx_L19_try_end:;
7298       }
7299     }
7300     /*finally:*/ {
7301       /*normal exit:*/{
7302         if (__pyx_t_4) {
7303           __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__9, NULL);
7304           __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7305           if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 236, __pyx_L1_error)
7306           __Pyx_GOTREF(__pyx_t_11);
7307           __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
7308         }
7309         goto __pyx_L13;
7310       }
7311       __pyx_L13:;
7312     }
7313     goto __pyx_L23;
7314     __pyx_L10_error:;
7315     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7316     goto __pyx_L1_error;
7317     __pyx_L23:;
7318   }
7319 
7320   /* "Cython/Compiler/Scanning.py":239
7321  *             lines = list(f)
7322  *
7323  *         if key in self._lines:             # <<<<<<<<<<<<<<
7324  *             self._lines[key] = lines
7325  *         else:
7326  */
7327   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error)
7328   __Pyx_GOTREF(__pyx_t_5);
7329   __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_t_5, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 239, __pyx_L1_error)
7330   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7331   __pyx_t_7 = (__pyx_t_6 != 0);
7332   if (__pyx_t_7) {
7333 
7334     /* "Cython/Compiler/Scanning.py":240
7335  *
7336  *         if key in self._lines:
7337  *             self._lines[key] = lines             # <<<<<<<<<<<<<<
7338  *         else:
7339  *             # do not cache the first access, but remember that we
7340  */
7341     if (unlikely(!__pyx_v_lines)) { __Pyx_RaiseUnboundLocalError("lines"); __PYX_ERR(0, 240, __pyx_L1_error) }
7342     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L1_error)
7343     __Pyx_GOTREF(__pyx_t_5);
7344     if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_key, __pyx_v_lines) < 0)) __PYX_ERR(0, 240, __pyx_L1_error)
7345     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7346 
7347     /* "Cython/Compiler/Scanning.py":239
7348  *             lines = list(f)
7349  *
7350  *         if key in self._lines:             # <<<<<<<<<<<<<<
7351  *             self._lines[key] = lines
7352  *         else:
7353  */
7354     goto __pyx_L24;
7355   }
7356 
7357   /* "Cython/Compiler/Scanning.py":244
7358  *             # do not cache the first access, but remember that we
7359  *             # already read it once
7360  *             self._lines[key] = None             # <<<<<<<<<<<<<<
7361  *         return lines
7362  *
7363  */
7364   /*else*/ {
7365     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 244, __pyx_L1_error)
7366     __Pyx_GOTREF(__pyx_t_5);
7367     if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_key, Py_None) < 0)) __PYX_ERR(0, 244, __pyx_L1_error)
7368     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7369   }
7370   __pyx_L24:;
7371 
7372   /* "Cython/Compiler/Scanning.py":245
7373  *             # already read it once
7374  *             self._lines[key] = None
7375  *         return lines             # <<<<<<<<<<<<<<
7376  *
7377  *     def get_description(self):
7378  */
7379   __Pyx_XDECREF(__pyx_r);
7380   if (unlikely(!__pyx_v_lines)) { __Pyx_RaiseUnboundLocalError("lines"); __PYX_ERR(0, 245, __pyx_L1_error) }
7381   __Pyx_INCREF(__pyx_v_lines);
7382   __pyx_r = __pyx_v_lines;
7383   goto __pyx_L0;
7384 
7385   /* "Cython/Compiler/Scanning.py":225
7386  *         self._lines = {}
7387  *
7388  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
7389  *         # we cache the lines only the second time this is called, in
7390  *         # order to save memory when they are only used once
7391  */
7392 
7393   /* function exit code */
7394   __pyx_L1_error:;
7395   __Pyx_XDECREF(__pyx_t_1);
7396   __Pyx_XDECREF(__pyx_t_5);
7397   __Pyx_XDECREF(__pyx_t_9);
7398   __Pyx_XDECREF(__pyx_t_10);
7399   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.get_lines", __pyx_clineno, __pyx_lineno, __pyx_filename);
7400   __pyx_r = NULL;
7401   __pyx_L0:;
7402   __Pyx_XDECREF(__pyx_v_key);
7403   __Pyx_XDECREF(__pyx_v_lines);
7404   __Pyx_XDECREF(__pyx_v_f);
7405   __Pyx_XGIVEREF(__pyx_r);
7406   __Pyx_RefNannyFinishContext();
7407   return __pyx_r;
7408 }
7409 
7410 /* "Cython/Compiler/Scanning.py":247
7411  *         return lines
7412  *
7413  *     def get_description(self):             # <<<<<<<<<<<<<<
7414  *         try:
7415  *             return os.path.relpath(self.path_description)
7416  */
7417 
7418 /* Python wrapper */
7419 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_5get_description(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
7420 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_5get_description = {"get_description", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_5get_description, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_5get_description(PyObject * __pyx_self,PyObject * __pyx_v_self)7421 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_5get_description(PyObject *__pyx_self, PyObject *__pyx_v_self) {
7422   PyObject *__pyx_r = 0;
7423   __Pyx_RefNannyDeclarations
7424   __Pyx_RefNannySetupContext("get_description (wrapper)", 0);
7425   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_4get_description(__pyx_self, ((PyObject *)__pyx_v_self));
7426 
7427   /* function exit code */
7428   __Pyx_RefNannyFinishContext();
7429   return __pyx_r;
7430 }
7431 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_4get_description(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)7432 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_4get_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
7433   PyObject *__pyx_r = NULL;
7434   __Pyx_RefNannyDeclarations
7435   PyObject *__pyx_t_1 = NULL;
7436   PyObject *__pyx_t_2 = NULL;
7437   PyObject *__pyx_t_3 = NULL;
7438   PyObject *__pyx_t_4 = NULL;
7439   PyObject *__pyx_t_5 = NULL;
7440   PyObject *__pyx_t_6 = NULL;
7441   PyObject *__pyx_t_7 = NULL;
7442   int __pyx_t_8;
7443   int __pyx_lineno = 0;
7444   const char *__pyx_filename = NULL;
7445   int __pyx_clineno = 0;
7446   __Pyx_RefNannySetupContext("get_description", 0);
7447 
7448   /* "Cython/Compiler/Scanning.py":248
7449  *
7450  *     def get_description(self):
7451  *         try:             # <<<<<<<<<<<<<<
7452  *             return os.path.relpath(self.path_description)
7453  *         except ValueError:
7454  */
7455   {
7456     __Pyx_PyThreadState_declare
7457     __Pyx_PyThreadState_assign
7458     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
7459     __Pyx_XGOTREF(__pyx_t_1);
7460     __Pyx_XGOTREF(__pyx_t_2);
7461     __Pyx_XGOTREF(__pyx_t_3);
7462     /*try:*/ {
7463 
7464       /* "Cython/Compiler/Scanning.py":249
7465  *     def get_description(self):
7466  *         try:
7467  *             return os.path.relpath(self.path_description)             # <<<<<<<<<<<<<<
7468  *         except ValueError:
7469  *             # path not under current directory => use complete file path
7470  */
7471       __Pyx_XDECREF(__pyx_r);
7472       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_8Scanning_os, __pyx_n_s_path); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 249, __pyx_L3_error)
7473       __Pyx_GOTREF(__pyx_t_5);
7474       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_relpath); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L3_error)
7475       __Pyx_GOTREF(__pyx_t_6);
7476       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7477       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_path_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 249, __pyx_L3_error)
7478       __Pyx_GOTREF(__pyx_t_5);
7479       __pyx_t_7 = NULL;
7480       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
7481         __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
7482         if (likely(__pyx_t_7)) {
7483           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
7484           __Pyx_INCREF(__pyx_t_7);
7485           __Pyx_INCREF(function);
7486           __Pyx_DECREF_SET(__pyx_t_6, function);
7487         }
7488       }
7489       __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5);
7490       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
7491       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7492       if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L3_error)
7493       __Pyx_GOTREF(__pyx_t_4);
7494       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7495       __pyx_r = __pyx_t_4;
7496       __pyx_t_4 = 0;
7497       goto __pyx_L7_try_return;
7498 
7499       /* "Cython/Compiler/Scanning.py":248
7500  *
7501  *     def get_description(self):
7502  *         try:             # <<<<<<<<<<<<<<
7503  *             return os.path.relpath(self.path_description)
7504  *         except ValueError:
7505  */
7506     }
7507     __pyx_L3_error:;
7508     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
7509     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
7510     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
7511     __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
7512 
7513     /* "Cython/Compiler/Scanning.py":250
7514  *         try:
7515  *             return os.path.relpath(self.path_description)
7516  *         except ValueError:             # <<<<<<<<<<<<<<
7517  *             # path not under current directory => use complete file path
7518  *             return self.path_description
7519  */
7520     __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
7521     if (__pyx_t_8) {
7522       __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.get_description", __pyx_clineno, __pyx_lineno, __pyx_filename);
7523       if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(0, 250, __pyx_L5_except_error)
7524       __Pyx_GOTREF(__pyx_t_4);
7525       __Pyx_GOTREF(__pyx_t_6);
7526       __Pyx_GOTREF(__pyx_t_5);
7527 
7528       /* "Cython/Compiler/Scanning.py":252
7529  *         except ValueError:
7530  *             # path not under current directory => use complete file path
7531  *             return self.path_description             # <<<<<<<<<<<<<<
7532  *
7533  *     def get_error_description(self):
7534  */
7535       __Pyx_XDECREF(__pyx_r);
7536       __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_path_description); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 252, __pyx_L5_except_error)
7537       __Pyx_GOTREF(__pyx_t_7);
7538       __pyx_r = __pyx_t_7;
7539       __pyx_t_7 = 0;
7540       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7541       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7542       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7543       goto __pyx_L6_except_return;
7544     }
7545     goto __pyx_L5_except_error;
7546     __pyx_L5_except_error:;
7547 
7548     /* "Cython/Compiler/Scanning.py":248
7549  *
7550  *     def get_description(self):
7551  *         try:             # <<<<<<<<<<<<<<
7552  *             return os.path.relpath(self.path_description)
7553  *         except ValueError:
7554  */
7555     __Pyx_XGIVEREF(__pyx_t_1);
7556     __Pyx_XGIVEREF(__pyx_t_2);
7557     __Pyx_XGIVEREF(__pyx_t_3);
7558     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
7559     goto __pyx_L1_error;
7560     __pyx_L7_try_return:;
7561     __Pyx_XGIVEREF(__pyx_t_1);
7562     __Pyx_XGIVEREF(__pyx_t_2);
7563     __Pyx_XGIVEREF(__pyx_t_3);
7564     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
7565     goto __pyx_L0;
7566     __pyx_L6_except_return:;
7567     __Pyx_XGIVEREF(__pyx_t_1);
7568     __Pyx_XGIVEREF(__pyx_t_2);
7569     __Pyx_XGIVEREF(__pyx_t_3);
7570     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
7571     goto __pyx_L0;
7572   }
7573 
7574   /* "Cython/Compiler/Scanning.py":247
7575  *         return lines
7576  *
7577  *     def get_description(self):             # <<<<<<<<<<<<<<
7578  *         try:
7579  *             return os.path.relpath(self.path_description)
7580  */
7581 
7582   /* function exit code */
7583   __pyx_L1_error:;
7584   __Pyx_XDECREF(__pyx_t_4);
7585   __Pyx_XDECREF(__pyx_t_5);
7586   __Pyx_XDECREF(__pyx_t_6);
7587   __Pyx_XDECREF(__pyx_t_7);
7588   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.get_description", __pyx_clineno, __pyx_lineno, __pyx_filename);
7589   __pyx_r = NULL;
7590   __pyx_L0:;
7591   __Pyx_XGIVEREF(__pyx_r);
7592   __Pyx_RefNannyFinishContext();
7593   return __pyx_r;
7594 }
7595 
7596 /* "Cython/Compiler/Scanning.py":254
7597  *             return self.path_description
7598  *
7599  *     def get_error_description(self):             # <<<<<<<<<<<<<<
7600  *         path = self.filename
7601  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
7602  */
7603 
7604 /* Python wrapper */
7605 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_7get_error_description(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
7606 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_7get_error_description = {"get_error_description", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_7get_error_description, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_7get_error_description(PyObject * __pyx_self,PyObject * __pyx_v_self)7607 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_7get_error_description(PyObject *__pyx_self, PyObject *__pyx_v_self) {
7608   PyObject *__pyx_r = 0;
7609   __Pyx_RefNannyDeclarations
7610   __Pyx_RefNannySetupContext("get_error_description (wrapper)", 0);
7611   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_6get_error_description(__pyx_self, ((PyObject *)__pyx_v_self));
7612 
7613   /* function exit code */
7614   __Pyx_RefNannyFinishContext();
7615   return __pyx_r;
7616 }
7617 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_6get_error_description(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)7618 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_6get_error_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
7619   PyObject *__pyx_v_path = NULL;
7620   PyObject *__pyx_v_cwd = NULL;
7621   PyObject *__pyx_r = NULL;
7622   __Pyx_RefNannyDeclarations
7623   PyObject *__pyx_t_1 = NULL;
7624   PyObject *__pyx_t_2 = NULL;
7625   PyObject *__pyx_t_3 = NULL;
7626   PyObject *__pyx_t_4 = NULL;
7627   PyObject *__pyx_t_5 = NULL;
7628   int __pyx_t_6;
7629   Py_ssize_t __pyx_t_7;
7630   int __pyx_lineno = 0;
7631   const char *__pyx_filename = NULL;
7632   int __pyx_clineno = 0;
7633   __Pyx_RefNannySetupContext("get_error_description", 0);
7634 
7635   /* "Cython/Compiler/Scanning.py":255
7636  *
7637  *     def get_error_description(self):
7638  *         path = self.filename             # <<<<<<<<<<<<<<
7639  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
7640  *         if path.startswith(cwd):
7641  */
7642   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
7643   __Pyx_GOTREF(__pyx_t_1);
7644   __pyx_v_path = __pyx_t_1;
7645   __pyx_t_1 = 0;
7646 
7647   /* "Cython/Compiler/Scanning.py":256
7648  *     def get_error_description(self):
7649  *         path = self.filename
7650  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)             # <<<<<<<<<<<<<<
7651  *         if path.startswith(cwd):
7652  *             return path[len(cwd):]
7653  */
7654   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Utils); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L1_error)
7655   __Pyx_GOTREF(__pyx_t_2);
7656   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_decode_filename); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L1_error)
7657   __Pyx_GOTREF(__pyx_t_3);
7658   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7659   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_8Scanning_os, __pyx_n_s_getcwd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __pyx_L1_error)
7660   __Pyx_GOTREF(__pyx_t_4);
7661   __pyx_t_5 = NULL;
7662   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
7663     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
7664     if (likely(__pyx_t_5)) {
7665       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
7666       __Pyx_INCREF(__pyx_t_5);
7667       __Pyx_INCREF(function);
7668       __Pyx_DECREF_SET(__pyx_t_4, function);
7669     }
7670   }
7671   __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
7672   __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
7673   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L1_error)
7674   __Pyx_GOTREF(__pyx_t_2);
7675   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7676   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6Cython_8Compiler_8Scanning_os, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __pyx_L1_error)
7677   __Pyx_GOTREF(__pyx_t_4);
7678   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sep); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 256, __pyx_L1_error)
7679   __Pyx_GOTREF(__pyx_t_5);
7680   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7681   __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __pyx_L1_error)
7682   __Pyx_GOTREF(__pyx_t_4);
7683   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7684   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7685   __pyx_t_5 = NULL;
7686   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
7687     __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
7688     if (likely(__pyx_t_5)) {
7689       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
7690       __Pyx_INCREF(__pyx_t_5);
7691       __Pyx_INCREF(function);
7692       __Pyx_DECREF_SET(__pyx_t_3, function);
7693     }
7694   }
7695   __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
7696   __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
7697   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7698   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error)
7699   __Pyx_GOTREF(__pyx_t_1);
7700   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7701   __pyx_v_cwd = __pyx_t_1;
7702   __pyx_t_1 = 0;
7703 
7704   /* "Cython/Compiler/Scanning.py":257
7705  *         path = self.filename
7706  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
7707  *         if path.startswith(cwd):             # <<<<<<<<<<<<<<
7708  *             return path[len(cwd):]
7709  *         return path
7710  */
7711   __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_path, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error)
7712   __Pyx_GOTREF(__pyx_t_3);
7713   __pyx_t_4 = NULL;
7714   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
7715     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
7716     if (likely(__pyx_t_4)) {
7717       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
7718       __Pyx_INCREF(__pyx_t_4);
7719       __Pyx_INCREF(function);
7720       __Pyx_DECREF_SET(__pyx_t_3, function);
7721     }
7722   }
7723   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_cwd) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_cwd);
7724   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
7725   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error)
7726   __Pyx_GOTREF(__pyx_t_1);
7727   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7728   __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 257, __pyx_L1_error)
7729   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7730   if (__pyx_t_6) {
7731 
7732     /* "Cython/Compiler/Scanning.py":258
7733  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
7734  *         if path.startswith(cwd):
7735  *             return path[len(cwd):]             # <<<<<<<<<<<<<<
7736  *         return path
7737  *
7738  */
7739     __Pyx_XDECREF(__pyx_r);
7740     __pyx_t_7 = PyObject_Length(__pyx_v_cwd); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 258, __pyx_L1_error)
7741     __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_path, __pyx_t_7, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error)
7742     __Pyx_GOTREF(__pyx_t_1);
7743     __pyx_r = __pyx_t_1;
7744     __pyx_t_1 = 0;
7745     goto __pyx_L0;
7746 
7747     /* "Cython/Compiler/Scanning.py":257
7748  *         path = self.filename
7749  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
7750  *         if path.startswith(cwd):             # <<<<<<<<<<<<<<
7751  *             return path[len(cwd):]
7752  *         return path
7753  */
7754   }
7755 
7756   /* "Cython/Compiler/Scanning.py":259
7757  *         if path.startswith(cwd):
7758  *             return path[len(cwd):]
7759  *         return path             # <<<<<<<<<<<<<<
7760  *
7761  *     def get_filenametable_entry(self):
7762  */
7763   __Pyx_XDECREF(__pyx_r);
7764   __Pyx_INCREF(__pyx_v_path);
7765   __pyx_r = __pyx_v_path;
7766   goto __pyx_L0;
7767 
7768   /* "Cython/Compiler/Scanning.py":254
7769  *             return self.path_description
7770  *
7771  *     def get_error_description(self):             # <<<<<<<<<<<<<<
7772  *         path = self.filename
7773  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
7774  */
7775 
7776   /* function exit code */
7777   __pyx_L1_error:;
7778   __Pyx_XDECREF(__pyx_t_1);
7779   __Pyx_XDECREF(__pyx_t_2);
7780   __Pyx_XDECREF(__pyx_t_3);
7781   __Pyx_XDECREF(__pyx_t_4);
7782   __Pyx_XDECREF(__pyx_t_5);
7783   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.get_error_description", __pyx_clineno, __pyx_lineno, __pyx_filename);
7784   __pyx_r = NULL;
7785   __pyx_L0:;
7786   __Pyx_XDECREF(__pyx_v_path);
7787   __Pyx_XDECREF(__pyx_v_cwd);
7788   __Pyx_XGIVEREF(__pyx_r);
7789   __Pyx_RefNannyFinishContext();
7790   return __pyx_r;
7791 }
7792 
7793 /* "Cython/Compiler/Scanning.py":261
7794  *         return path
7795  *
7796  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
7797  *         return self.file_path
7798  *
7799  */
7800 
7801 /* Python wrapper */
7802 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_9get_filenametable_entry(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
7803 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_9get_filenametable_entry = {"get_filenametable_entry", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_9get_filenametable_entry, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_9get_filenametable_entry(PyObject * __pyx_self,PyObject * __pyx_v_self)7804 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_9get_filenametable_entry(PyObject *__pyx_self, PyObject *__pyx_v_self) {
7805   PyObject *__pyx_r = 0;
7806   __Pyx_RefNannyDeclarations
7807   __Pyx_RefNannySetupContext("get_filenametable_entry (wrapper)", 0);
7808   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_8get_filenametable_entry(__pyx_self, ((PyObject *)__pyx_v_self));
7809 
7810   /* function exit code */
7811   __Pyx_RefNannyFinishContext();
7812   return __pyx_r;
7813 }
7814 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_8get_filenametable_entry(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)7815 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_8get_filenametable_entry(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
7816   PyObject *__pyx_r = NULL;
7817   __Pyx_RefNannyDeclarations
7818   PyObject *__pyx_t_1 = NULL;
7819   int __pyx_lineno = 0;
7820   const char *__pyx_filename = NULL;
7821   int __pyx_clineno = 0;
7822   __Pyx_RefNannySetupContext("get_filenametable_entry", 0);
7823 
7824   /* "Cython/Compiler/Scanning.py":262
7825  *
7826  *     def get_filenametable_entry(self):
7827  *         return self.file_path             # <<<<<<<<<<<<<<
7828  *
7829  *     def __eq__(self, other):
7830  */
7831   __Pyx_XDECREF(__pyx_r);
7832   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_file_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L1_error)
7833   __Pyx_GOTREF(__pyx_t_1);
7834   __pyx_r = __pyx_t_1;
7835   __pyx_t_1 = 0;
7836   goto __pyx_L0;
7837 
7838   /* "Cython/Compiler/Scanning.py":261
7839  *         return path
7840  *
7841  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
7842  *         return self.file_path
7843  *
7844  */
7845 
7846   /* function exit code */
7847   __pyx_L1_error:;
7848   __Pyx_XDECREF(__pyx_t_1);
7849   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.get_filenametable_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
7850   __pyx_r = NULL;
7851   __pyx_L0:;
7852   __Pyx_XGIVEREF(__pyx_r);
7853   __Pyx_RefNannyFinishContext();
7854   return __pyx_r;
7855 }
7856 
7857 /* "Cython/Compiler/Scanning.py":264
7858  *         return self.file_path
7859  *
7860  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
7861  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
7862  *
7863  */
7864 
7865 /* Python wrapper */
7866 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_11__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
7867 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_11__eq__ = {"__eq__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_11__eq__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_11__eq__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)7868 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_11__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
7869   PyObject *__pyx_v_self = 0;
7870   PyObject *__pyx_v_other = 0;
7871   int __pyx_lineno = 0;
7872   const char *__pyx_filename = NULL;
7873   int __pyx_clineno = 0;
7874   PyObject *__pyx_r = 0;
7875   __Pyx_RefNannyDeclarations
7876   __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
7877   {
7878     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,0};
7879     PyObject* values[2] = {0,0};
7880     if (unlikely(__pyx_kwds)) {
7881       Py_ssize_t kw_args;
7882       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
7883       switch (pos_args) {
7884         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
7885         CYTHON_FALLTHROUGH;
7886         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
7887         CYTHON_FALLTHROUGH;
7888         case  0: break;
7889         default: goto __pyx_L5_argtuple_error;
7890       }
7891       kw_args = PyDict_Size(__pyx_kwds);
7892       switch (pos_args) {
7893         case  0:
7894         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
7895         else goto __pyx_L5_argtuple_error;
7896         CYTHON_FALLTHROUGH;
7897         case  1:
7898         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
7899         else {
7900           __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, 1); __PYX_ERR(0, 264, __pyx_L3_error)
7901         }
7902       }
7903       if (unlikely(kw_args > 0)) {
7904         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__eq__") < 0)) __PYX_ERR(0, 264, __pyx_L3_error)
7905       }
7906     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
7907       goto __pyx_L5_argtuple_error;
7908     } else {
7909       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
7910       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
7911     }
7912     __pyx_v_self = values[0];
7913     __pyx_v_other = values[1];
7914   }
7915   goto __pyx_L4_argument_unpacking_done;
7916   __pyx_L5_argtuple_error:;
7917   __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 264, __pyx_L3_error)
7918   __pyx_L3_error:;
7919   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7920   __Pyx_RefNannyFinishContext();
7921   return NULL;
7922   __pyx_L4_argument_unpacking_done:;
7923   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_10__eq__(__pyx_self, __pyx_v_self, __pyx_v_other);
7924 
7925   /* function exit code */
7926   __Pyx_RefNannyFinishContext();
7927   return __pyx_r;
7928 }
7929 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_10__eq__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_other)7930 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_10__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
7931   PyObject *__pyx_r = NULL;
7932   __Pyx_RefNannyDeclarations
7933   PyObject *__pyx_t_1 = NULL;
7934   PyObject *__pyx_t_2 = NULL;
7935   int __pyx_t_3;
7936   PyObject *__pyx_t_4 = NULL;
7937   PyObject *__pyx_t_5 = NULL;
7938   int __pyx_lineno = 0;
7939   const char *__pyx_filename = NULL;
7940   int __pyx_clineno = 0;
7941   __Pyx_RefNannySetupContext("__eq__", 0);
7942 
7943   /* "Cython/Compiler/Scanning.py":265
7944  *
7945  *     def __eq__(self, other):
7946  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename             # <<<<<<<<<<<<<<
7947  *
7948  *     def __hash__(self):
7949  */
7950   __Pyx_XDECREF(__pyx_r);
7951   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FileSourceDescriptor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error)
7952   __Pyx_GOTREF(__pyx_t_2);
7953   __pyx_t_3 = PyObject_IsInstance(__pyx_v_other, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 265, __pyx_L1_error)
7954   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7955   if (__pyx_t_3) {
7956   } else {
7957     __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error)
7958     __Pyx_GOTREF(__pyx_t_2);
7959     __pyx_t_1 = __pyx_t_2;
7960     __pyx_t_2 = 0;
7961     goto __pyx_L3_bool_binop_done;
7962   }
7963   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error)
7964   __Pyx_GOTREF(__pyx_t_2);
7965   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 265, __pyx_L1_error)
7966   __Pyx_GOTREF(__pyx_t_4);
7967   __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error)
7968   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7969   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7970   __Pyx_INCREF(__pyx_t_5);
7971   __pyx_t_1 = __pyx_t_5;
7972   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7973   __pyx_L3_bool_binop_done:;
7974   __pyx_r = __pyx_t_1;
7975   __pyx_t_1 = 0;
7976   goto __pyx_L0;
7977 
7978   /* "Cython/Compiler/Scanning.py":264
7979  *         return self.file_path
7980  *
7981  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
7982  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
7983  *
7984  */
7985 
7986   /* function exit code */
7987   __pyx_L1_error:;
7988   __Pyx_XDECREF(__pyx_t_1);
7989   __Pyx_XDECREF(__pyx_t_2);
7990   __Pyx_XDECREF(__pyx_t_4);
7991   __Pyx_XDECREF(__pyx_t_5);
7992   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7993   __pyx_r = NULL;
7994   __pyx_L0:;
7995   __Pyx_XGIVEREF(__pyx_r);
7996   __Pyx_RefNannyFinishContext();
7997   return __pyx_r;
7998 }
7999 
8000 /* "Cython/Compiler/Scanning.py":267
8001  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
8002  *
8003  *     def __hash__(self):             # <<<<<<<<<<<<<<
8004  *         return hash(self.filename)
8005  *
8006  */
8007 
8008 /* Python wrapper */
8009 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_13__hash__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8010 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_13__hash__ = {"__hash__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_13__hash__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_13__hash__(PyObject * __pyx_self,PyObject * __pyx_v_self)8011 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_13__hash__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8012   PyObject *__pyx_r = 0;
8013   __Pyx_RefNannyDeclarations
8014   __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
8015   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_12__hash__(__pyx_self, ((PyObject *)__pyx_v_self));
8016 
8017   /* function exit code */
8018   __Pyx_RefNannyFinishContext();
8019   return __pyx_r;
8020 }
8021 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_12__hash__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)8022 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_12__hash__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8023   PyObject *__pyx_r = NULL;
8024   __Pyx_RefNannyDeclarations
8025   PyObject *__pyx_t_1 = NULL;
8026   Py_hash_t __pyx_t_2;
8027   int __pyx_lineno = 0;
8028   const char *__pyx_filename = NULL;
8029   int __pyx_clineno = 0;
8030   __Pyx_RefNannySetupContext("__hash__", 0);
8031 
8032   /* "Cython/Compiler/Scanning.py":268
8033  *
8034  *     def __hash__(self):
8035  *         return hash(self.filename)             # <<<<<<<<<<<<<<
8036  *
8037  *     def __repr__(self):
8038  */
8039   __Pyx_XDECREF(__pyx_r);
8040   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error)
8041   __Pyx_GOTREF(__pyx_t_1);
8042   __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 268, __pyx_L1_error)
8043   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8044   __pyx_t_1 = __Pyx_PyInt_FromHash_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error)
8045   __Pyx_GOTREF(__pyx_t_1);
8046   __pyx_r = __pyx_t_1;
8047   __pyx_t_1 = 0;
8048   goto __pyx_L0;
8049 
8050   /* "Cython/Compiler/Scanning.py":267
8051  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
8052  *
8053  *     def __hash__(self):             # <<<<<<<<<<<<<<
8054  *         return hash(self.filename)
8055  *
8056  */
8057 
8058   /* function exit code */
8059   __pyx_L1_error:;
8060   __Pyx_XDECREF(__pyx_t_1);
8061   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8062   __pyx_r = NULL;
8063   __pyx_L0:;
8064   __Pyx_XGIVEREF(__pyx_r);
8065   __Pyx_RefNannyFinishContext();
8066   return __pyx_r;
8067 }
8068 
8069 /* "Cython/Compiler/Scanning.py":270
8070  *         return hash(self.filename)
8071  *
8072  *     def __repr__(self):             # <<<<<<<<<<<<<<
8073  *         return "<FileSourceDescriptor:%s>" % self.filename
8074  *
8075  */
8076 
8077 /* Python wrapper */
8078 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_15__repr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8079 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_15__repr__ = {"__repr__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_15__repr__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_15__repr__(PyObject * __pyx_self,PyObject * __pyx_v_self)8080 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_15__repr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8081   PyObject *__pyx_r = 0;
8082   __Pyx_RefNannyDeclarations
8083   __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
8084   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_14__repr__(__pyx_self, ((PyObject *)__pyx_v_self));
8085 
8086   /* function exit code */
8087   __Pyx_RefNannyFinishContext();
8088   return __pyx_r;
8089 }
8090 
__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_14__repr__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)8091 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_14__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8092   PyObject *__pyx_r = NULL;
8093   __Pyx_RefNannyDeclarations
8094   PyObject *__pyx_t_1 = NULL;
8095   PyObject *__pyx_t_2 = NULL;
8096   int __pyx_lineno = 0;
8097   const char *__pyx_filename = NULL;
8098   int __pyx_clineno = 0;
8099   __Pyx_RefNannySetupContext("__repr__", 0);
8100 
8101   /* "Cython/Compiler/Scanning.py":271
8102  *
8103  *     def __repr__(self):
8104  *         return "<FileSourceDescriptor:%s>" % self.filename             # <<<<<<<<<<<<<<
8105  *
8106  *
8107  */
8108   __Pyx_XDECREF(__pyx_r);
8109   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L1_error)
8110   __Pyx_GOTREF(__pyx_t_1);
8111   __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_FileSourceDescriptor_s, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L1_error)
8112   __Pyx_GOTREF(__pyx_t_2);
8113   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8114   __pyx_r = __pyx_t_2;
8115   __pyx_t_2 = 0;
8116   goto __pyx_L0;
8117 
8118   /* "Cython/Compiler/Scanning.py":270
8119  *         return hash(self.filename)
8120  *
8121  *     def __repr__(self):             # <<<<<<<<<<<<<<
8122  *         return "<FileSourceDescriptor:%s>" % self.filename
8123  *
8124  */
8125 
8126   /* function exit code */
8127   __pyx_L1_error:;
8128   __Pyx_XDECREF(__pyx_t_1);
8129   __Pyx_XDECREF(__pyx_t_2);
8130   __Pyx_AddTraceback("Cython.Compiler.Scanning.FileSourceDescriptor.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8131   __pyx_r = NULL;
8132   __pyx_L0:;
8133   __Pyx_XGIVEREF(__pyx_r);
8134   __Pyx_RefNannyFinishContext();
8135   return __pyx_r;
8136 }
8137 
8138 /* "Cython/Compiler/Scanning.py":279
8139  *     code originates from a string object.
8140  *     """
8141  *     def __init__(self, name, code):             # <<<<<<<<<<<<<<
8142  *         self.name = name
8143  *         #self.set_file_type_from_name(name)
8144  */
8145 
8146 /* Python wrapper */
8147 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8148 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_1__init__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)8149 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8150   PyObject *__pyx_v_self = 0;
8151   PyObject *__pyx_v_name = 0;
8152   PyObject *__pyx_v_code = 0;
8153   int __pyx_lineno = 0;
8154   const char *__pyx_filename = NULL;
8155   int __pyx_clineno = 0;
8156   PyObject *__pyx_r = 0;
8157   __Pyx_RefNannyDeclarations
8158   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
8159   {
8160     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,&__pyx_n_s_code,0};
8161     PyObject* values[3] = {0,0,0};
8162     if (unlikely(__pyx_kwds)) {
8163       Py_ssize_t kw_args;
8164       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
8165       switch (pos_args) {
8166         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
8167         CYTHON_FALLTHROUGH;
8168         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8169         CYTHON_FALLTHROUGH;
8170         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8171         CYTHON_FALLTHROUGH;
8172         case  0: break;
8173         default: goto __pyx_L5_argtuple_error;
8174       }
8175       kw_args = PyDict_Size(__pyx_kwds);
8176       switch (pos_args) {
8177         case  0:
8178         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
8179         else goto __pyx_L5_argtuple_error;
8180         CYTHON_FALLTHROUGH;
8181         case  1:
8182         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
8183         else {
8184           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 279, __pyx_L3_error)
8185         }
8186         CYTHON_FALLTHROUGH;
8187         case  2:
8188         if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_code)) != 0)) kw_args--;
8189         else {
8190           __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 279, __pyx_L3_error)
8191         }
8192       }
8193       if (unlikely(kw_args > 0)) {
8194         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 279, __pyx_L3_error)
8195       }
8196     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
8197       goto __pyx_L5_argtuple_error;
8198     } else {
8199       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8200       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8201       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
8202     }
8203     __pyx_v_self = values[0];
8204     __pyx_v_name = values[1];
8205     __pyx_v_code = values[2];
8206   }
8207   goto __pyx_L4_argument_unpacking_done;
8208   __pyx_L5_argtuple_error:;
8209   __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 279, __pyx_L3_error)
8210   __pyx_L3_error:;
8211   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8212   __Pyx_RefNannyFinishContext();
8213   return NULL;
8214   __pyx_L4_argument_unpacking_done:;
8215   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor___init__(__pyx_self, __pyx_v_self, __pyx_v_name, __pyx_v_code);
8216 
8217   /* function exit code */
8218   __Pyx_RefNannyFinishContext();
8219   return __pyx_r;
8220 }
8221 
__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor___init__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_name,PyObject * __pyx_v_code)8222 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_code) {
8223   PyObject *__pyx_7genexpr__pyx_v_x = NULL;
8224   PyObject *__pyx_r = NULL;
8225   __Pyx_RefNannyDeclarations
8226   PyObject *__pyx_t_1 = NULL;
8227   PyObject *__pyx_t_2 = NULL;
8228   PyObject *__pyx_t_3 = NULL;
8229   PyObject *__pyx_t_4 = NULL;
8230   Py_ssize_t __pyx_t_5;
8231   PyObject *(*__pyx_t_6)(PyObject *);
8232   int __pyx_lineno = 0;
8233   const char *__pyx_filename = NULL;
8234   int __pyx_clineno = 0;
8235   __Pyx_RefNannySetupContext("__init__", 0);
8236 
8237   /* "Cython/Compiler/Scanning.py":280
8238  *     """
8239  *     def __init__(self, name, code):
8240  *         self.name = name             # <<<<<<<<<<<<<<
8241  *         #self.set_file_type_from_name(name)
8242  *         self.codelines = [x + "\n" for x in code.split("\n")]
8243  */
8244   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_name, __pyx_v_name) < 0) __PYX_ERR(0, 280, __pyx_L1_error)
8245 
8246   /* "Cython/Compiler/Scanning.py":282
8247  *         self.name = name
8248  *         #self.set_file_type_from_name(name)
8249  *         self.codelines = [x + "\n" for x in code.split("\n")]             # <<<<<<<<<<<<<<
8250  *         self._cmp_name = name
8251  *
8252  */
8253   { /* enter inner scope */
8254     __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 282, __pyx_L5_error)
8255     __Pyx_GOTREF(__pyx_t_1);
8256     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_code, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L5_error)
8257     __Pyx_GOTREF(__pyx_t_3);
8258     __pyx_t_4 = NULL;
8259     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
8260       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
8261       if (likely(__pyx_t_4)) {
8262         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
8263         __Pyx_INCREF(__pyx_t_4);
8264         __Pyx_INCREF(function);
8265         __Pyx_DECREF_SET(__pyx_t_3, function);
8266       }
8267     }
8268     __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_u__10) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u__10);
8269     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
8270     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L5_error)
8271     __Pyx_GOTREF(__pyx_t_2);
8272     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8273     if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
8274       __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
8275       __pyx_t_6 = NULL;
8276     } else {
8277       __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L5_error)
8278       __Pyx_GOTREF(__pyx_t_3);
8279       __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 282, __pyx_L5_error)
8280     }
8281     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8282     for (;;) {
8283       if (likely(!__pyx_t_6)) {
8284         if (likely(PyList_CheckExact(__pyx_t_3))) {
8285           if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
8286           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
8287           __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 282, __pyx_L5_error)
8288           #else
8289           __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L5_error)
8290           __Pyx_GOTREF(__pyx_t_2);
8291           #endif
8292         } else {
8293           if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
8294           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
8295           __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 282, __pyx_L5_error)
8296           #else
8297           __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L5_error)
8298           __Pyx_GOTREF(__pyx_t_2);
8299           #endif
8300         }
8301       } else {
8302         __pyx_t_2 = __pyx_t_6(__pyx_t_3);
8303         if (unlikely(!__pyx_t_2)) {
8304           PyObject* exc_type = PyErr_Occurred();
8305           if (exc_type) {
8306             if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
8307             else __PYX_ERR(0, 282, __pyx_L5_error)
8308           }
8309           break;
8310         }
8311         __Pyx_GOTREF(__pyx_t_2);
8312       }
8313       __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_x, __pyx_t_2);
8314       __pyx_t_2 = 0;
8315       __pyx_t_2 = PyNumber_Add(__pyx_7genexpr__pyx_v_x, __pyx_kp_u__10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L5_error)
8316       __Pyx_GOTREF(__pyx_t_2);
8317       if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 282, __pyx_L5_error)
8318       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8319     }
8320     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8321     __Pyx_XDECREF(__pyx_7genexpr__pyx_v_x); __pyx_7genexpr__pyx_v_x = 0;
8322     goto __pyx_L8_exit_scope;
8323     __pyx_L5_error:;
8324     __Pyx_XDECREF(__pyx_7genexpr__pyx_v_x); __pyx_7genexpr__pyx_v_x = 0;
8325     goto __pyx_L1_error;
8326     __pyx_L8_exit_scope:;
8327   } /* exit inner scope */
8328   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_codelines, __pyx_t_1) < 0) __PYX_ERR(0, 282, __pyx_L1_error)
8329   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8330 
8331   /* "Cython/Compiler/Scanning.py":283
8332  *         #self.set_file_type_from_name(name)
8333  *         self.codelines = [x + "\n" for x in code.split("\n")]
8334  *         self._cmp_name = name             # <<<<<<<<<<<<<<
8335  *
8336  *     def get_lines(self, encoding=None, error_handling=None):
8337  */
8338   if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cmp_name, __pyx_v_name) < 0) __PYX_ERR(0, 283, __pyx_L1_error)
8339 
8340   /* "Cython/Compiler/Scanning.py":279
8341  *     code originates from a string object.
8342  *     """
8343  *     def __init__(self, name, code):             # <<<<<<<<<<<<<<
8344  *         self.name = name
8345  *         #self.set_file_type_from_name(name)
8346  */
8347 
8348   /* function exit code */
8349   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8350   goto __pyx_L0;
8351   __pyx_L1_error:;
8352   __Pyx_XDECREF(__pyx_t_1);
8353   __Pyx_XDECREF(__pyx_t_2);
8354   __Pyx_XDECREF(__pyx_t_3);
8355   __Pyx_XDECREF(__pyx_t_4);
8356   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8357   __pyx_r = NULL;
8358   __pyx_L0:;
8359   __Pyx_XDECREF(__pyx_7genexpr__pyx_v_x);
8360   __Pyx_XGIVEREF(__pyx_r);
8361   __Pyx_RefNannyFinishContext();
8362   return __pyx_r;
8363 }
8364 
8365 /* "Cython/Compiler/Scanning.py":285
8366  *         self._cmp_name = name
8367  *
8368  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
8369  *         if not encoding:
8370  *             return self.codelines
8371  */
8372 
8373 /* Python wrapper */
8374 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_3get_lines(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8375 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_3get_lines = {"get_lines", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_3get_lines, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_3get_lines(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)8376 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_3get_lines(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8377   PyObject *__pyx_v_self = 0;
8378   PyObject *__pyx_v_encoding = 0;
8379   PyObject *__pyx_v_error_handling = 0;
8380   int __pyx_lineno = 0;
8381   const char *__pyx_filename = NULL;
8382   int __pyx_clineno = 0;
8383   PyObject *__pyx_r = 0;
8384   __Pyx_RefNannyDeclarations
8385   __Pyx_RefNannySetupContext("get_lines (wrapper)", 0);
8386   {
8387     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_encoding,&__pyx_n_s_error_handling,0};
8388     PyObject* values[3] = {0,0,0};
8389     values[1] = ((PyObject *)((PyObject *)Py_None));
8390     values[2] = ((PyObject *)((PyObject *)Py_None));
8391     if (unlikely(__pyx_kwds)) {
8392       Py_ssize_t kw_args;
8393       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
8394       switch (pos_args) {
8395         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
8396         CYTHON_FALLTHROUGH;
8397         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8398         CYTHON_FALLTHROUGH;
8399         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8400         CYTHON_FALLTHROUGH;
8401         case  0: break;
8402         default: goto __pyx_L5_argtuple_error;
8403       }
8404       kw_args = PyDict_Size(__pyx_kwds);
8405       switch (pos_args) {
8406         case  0:
8407         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
8408         else goto __pyx_L5_argtuple_error;
8409         CYTHON_FALLTHROUGH;
8410         case  1:
8411         if (kw_args > 0) {
8412           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_encoding);
8413           if (value) { values[1] = value; kw_args--; }
8414         }
8415         CYTHON_FALLTHROUGH;
8416         case  2:
8417         if (kw_args > 0) {
8418           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_handling);
8419           if (value) { values[2] = value; kw_args--; }
8420         }
8421       }
8422       if (unlikely(kw_args > 0)) {
8423         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_lines") < 0)) __PYX_ERR(0, 285, __pyx_L3_error)
8424       }
8425     } else {
8426       switch (PyTuple_GET_SIZE(__pyx_args)) {
8427         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
8428         CYTHON_FALLTHROUGH;
8429         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8430         CYTHON_FALLTHROUGH;
8431         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8432         break;
8433         default: goto __pyx_L5_argtuple_error;
8434       }
8435     }
8436     __pyx_v_self = values[0];
8437     __pyx_v_encoding = values[1];
8438     __pyx_v_error_handling = values[2];
8439   }
8440   goto __pyx_L4_argument_unpacking_done;
8441   __pyx_L5_argtuple_error:;
8442   __Pyx_RaiseArgtupleInvalid("get_lines", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 285, __pyx_L3_error)
8443   __pyx_L3_error:;
8444   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.get_lines", __pyx_clineno, __pyx_lineno, __pyx_filename);
8445   __Pyx_RefNannyFinishContext();
8446   return NULL;
8447   __pyx_L4_argument_unpacking_done:;
8448   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_2get_lines(__pyx_self, __pyx_v_self, __pyx_v_encoding, __pyx_v_error_handling);
8449 
8450   /* function exit code */
8451   __Pyx_RefNannyFinishContext();
8452   return __pyx_r;
8453 }
8454 
__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_2get_lines(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_encoding,PyObject * __pyx_v_error_handling)8455 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_2get_lines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_encoding, PyObject *__pyx_v_error_handling) {
8456   PyObject *__pyx_8genexpr1__pyx_v_line = NULL;
8457   PyObject *__pyx_r = NULL;
8458   __Pyx_RefNannyDeclarations
8459   int __pyx_t_1;
8460   int __pyx_t_2;
8461   PyObject *__pyx_t_3 = NULL;
8462   PyObject *__pyx_t_4 = NULL;
8463   PyObject *__pyx_t_5 = NULL;
8464   Py_ssize_t __pyx_t_6;
8465   PyObject *(*__pyx_t_7)(PyObject *);
8466   PyObject *__pyx_t_8 = NULL;
8467   PyObject *__pyx_t_9 = NULL;
8468   PyObject *__pyx_t_10 = NULL;
8469   int __pyx_t_11;
8470   PyObject *__pyx_t_12 = NULL;
8471   int __pyx_lineno = 0;
8472   const char *__pyx_filename = NULL;
8473   int __pyx_clineno = 0;
8474   __Pyx_RefNannySetupContext("get_lines", 0);
8475 
8476   /* "Cython/Compiler/Scanning.py":286
8477  *
8478  *     def get_lines(self, encoding=None, error_handling=None):
8479  *         if not encoding:             # <<<<<<<<<<<<<<
8480  *             return self.codelines
8481  *         else:
8482  */
8483   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_encoding); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 286, __pyx_L1_error)
8484   __pyx_t_2 = ((!__pyx_t_1) != 0);
8485   if (__pyx_t_2) {
8486 
8487     /* "Cython/Compiler/Scanning.py":287
8488  *     def get_lines(self, encoding=None, error_handling=None):
8489  *         if not encoding:
8490  *             return self.codelines             # <<<<<<<<<<<<<<
8491  *         else:
8492  *             return [line.encode(encoding, error_handling).decode(encoding)
8493  */
8494     __Pyx_XDECREF(__pyx_r);
8495     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_codelines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 287, __pyx_L1_error)
8496     __Pyx_GOTREF(__pyx_t_3);
8497     __pyx_r = __pyx_t_3;
8498     __pyx_t_3 = 0;
8499     goto __pyx_L0;
8500 
8501     /* "Cython/Compiler/Scanning.py":286
8502  *
8503  *     def get_lines(self, encoding=None, error_handling=None):
8504  *         if not encoding:             # <<<<<<<<<<<<<<
8505  *             return self.codelines
8506  *         else:
8507  */
8508   }
8509 
8510   /* "Cython/Compiler/Scanning.py":289
8511  *             return self.codelines
8512  *         else:
8513  *             return [line.encode(encoding, error_handling).decode(encoding)             # <<<<<<<<<<<<<<
8514  *                     for line in self.codelines]
8515  *
8516  */
8517   /*else*/ {
8518     __Pyx_XDECREF(__pyx_r);
8519     { /* enter inner scope */
8520       __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 289, __pyx_L6_error)
8521       __Pyx_GOTREF(__pyx_t_3);
8522 
8523       /* "Cython/Compiler/Scanning.py":290
8524  *         else:
8525  *             return [line.encode(encoding, error_handling).decode(encoding)
8526  *                     for line in self.codelines]             # <<<<<<<<<<<<<<
8527  *
8528  *     def get_description(self):
8529  */
8530       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_codelines); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L6_error)
8531       __Pyx_GOTREF(__pyx_t_4);
8532       if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
8533         __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
8534         __pyx_t_7 = NULL;
8535       } else {
8536         __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 290, __pyx_L6_error)
8537         __Pyx_GOTREF(__pyx_t_5);
8538         __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L6_error)
8539       }
8540       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8541       for (;;) {
8542         if (likely(!__pyx_t_7)) {
8543           if (likely(PyList_CheckExact(__pyx_t_5))) {
8544             if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
8545             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
8546             __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 290, __pyx_L6_error)
8547             #else
8548             __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L6_error)
8549             __Pyx_GOTREF(__pyx_t_4);
8550             #endif
8551           } else {
8552             if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
8553             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
8554             __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 290, __pyx_L6_error)
8555             #else
8556             __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L6_error)
8557             __Pyx_GOTREF(__pyx_t_4);
8558             #endif
8559           }
8560         } else {
8561           __pyx_t_4 = __pyx_t_7(__pyx_t_5);
8562           if (unlikely(!__pyx_t_4)) {
8563             PyObject* exc_type = PyErr_Occurred();
8564             if (exc_type) {
8565               if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
8566               else __PYX_ERR(0, 290, __pyx_L6_error)
8567             }
8568             break;
8569           }
8570           __Pyx_GOTREF(__pyx_t_4);
8571         }
8572         __Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_line, __pyx_t_4);
8573         __pyx_t_4 = 0;
8574 
8575         /* "Cython/Compiler/Scanning.py":289
8576  *             return self.codelines
8577  *         else:
8578  *             return [line.encode(encoding, error_handling).decode(encoding)             # <<<<<<<<<<<<<<
8579  *                     for line in self.codelines]
8580  *
8581  */
8582         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr1__pyx_v_line, __pyx_n_s_encode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 289, __pyx_L6_error)
8583         __Pyx_GOTREF(__pyx_t_9);
8584         __pyx_t_10 = NULL;
8585         __pyx_t_11 = 0;
8586         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
8587           __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
8588           if (likely(__pyx_t_10)) {
8589             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
8590             __Pyx_INCREF(__pyx_t_10);
8591             __Pyx_INCREF(function);
8592             __Pyx_DECREF_SET(__pyx_t_9, function);
8593             __pyx_t_11 = 1;
8594           }
8595         }
8596         #if CYTHON_FAST_PYCALL
8597         if (PyFunction_Check(__pyx_t_9)) {
8598           PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_encoding, __pyx_v_error_handling};
8599           __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 289, __pyx_L6_error)
8600           __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
8601           __Pyx_GOTREF(__pyx_t_8);
8602         } else
8603         #endif
8604         #if CYTHON_FAST_PYCCALL
8605         if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
8606           PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_encoding, __pyx_v_error_handling};
8607           __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 289, __pyx_L6_error)
8608           __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
8609           __Pyx_GOTREF(__pyx_t_8);
8610         } else
8611         #endif
8612         {
8613           __pyx_t_12 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 289, __pyx_L6_error)
8614           __Pyx_GOTREF(__pyx_t_12);
8615           if (__pyx_t_10) {
8616             __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL;
8617           }
8618           __Pyx_INCREF(__pyx_v_encoding);
8619           __Pyx_GIVEREF(__pyx_v_encoding);
8620           PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_11, __pyx_v_encoding);
8621           __Pyx_INCREF(__pyx_v_error_handling);
8622           __Pyx_GIVEREF(__pyx_v_error_handling);
8623           PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_v_error_handling);
8624           __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_12, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 289, __pyx_L6_error)
8625           __Pyx_GOTREF(__pyx_t_8);
8626           __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
8627         }
8628         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
8629         __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_decode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 289, __pyx_L6_error)
8630         __Pyx_GOTREF(__pyx_t_9);
8631         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
8632         __pyx_t_8 = NULL;
8633         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
8634           __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
8635           if (likely(__pyx_t_8)) {
8636             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
8637             __Pyx_INCREF(__pyx_t_8);
8638             __Pyx_INCREF(function);
8639             __Pyx_DECREF_SET(__pyx_t_9, function);
8640           }
8641         }
8642         __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_8, __pyx_v_encoding) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_encoding);
8643         __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
8644         if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 289, __pyx_L6_error)
8645         __Pyx_GOTREF(__pyx_t_4);
8646         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
8647         if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 289, __pyx_L6_error)
8648         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8649 
8650         /* "Cython/Compiler/Scanning.py":290
8651  *         else:
8652  *             return [line.encode(encoding, error_handling).decode(encoding)
8653  *                     for line in self.codelines]             # <<<<<<<<<<<<<<
8654  *
8655  *     def get_description(self):
8656  */
8657       }
8658       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
8659       __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line); __pyx_8genexpr1__pyx_v_line = 0;
8660       goto __pyx_L9_exit_scope;
8661       __pyx_L6_error:;
8662       __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line); __pyx_8genexpr1__pyx_v_line = 0;
8663       goto __pyx_L1_error;
8664       __pyx_L9_exit_scope:;
8665     } /* exit inner scope */
8666     __pyx_r = __pyx_t_3;
8667     __pyx_t_3 = 0;
8668     goto __pyx_L0;
8669   }
8670 
8671   /* "Cython/Compiler/Scanning.py":285
8672  *         self._cmp_name = name
8673  *
8674  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
8675  *         if not encoding:
8676  *             return self.codelines
8677  */
8678 
8679   /* function exit code */
8680   __pyx_L1_error:;
8681   __Pyx_XDECREF(__pyx_t_3);
8682   __Pyx_XDECREF(__pyx_t_4);
8683   __Pyx_XDECREF(__pyx_t_5);
8684   __Pyx_XDECREF(__pyx_t_8);
8685   __Pyx_XDECREF(__pyx_t_9);
8686   __Pyx_XDECREF(__pyx_t_10);
8687   __Pyx_XDECREF(__pyx_t_12);
8688   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.get_lines", __pyx_clineno, __pyx_lineno, __pyx_filename);
8689   __pyx_r = NULL;
8690   __pyx_L0:;
8691   __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line);
8692   __Pyx_XGIVEREF(__pyx_r);
8693   __Pyx_RefNannyFinishContext();
8694   return __pyx_r;
8695 }
8696 
8697 /* "Cython/Compiler/Scanning.py":292
8698  *                     for line in self.codelines]
8699  *
8700  *     def get_description(self):             # <<<<<<<<<<<<<<
8701  *         return self.name
8702  *
8703  */
8704 
8705 /* Python wrapper */
8706 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_5get_description(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8707 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_5get_description = {"get_description", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_5get_description, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_5get_description(PyObject * __pyx_self,PyObject * __pyx_v_self)8708 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_5get_description(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8709   PyObject *__pyx_r = 0;
8710   __Pyx_RefNannyDeclarations
8711   __Pyx_RefNannySetupContext("get_description (wrapper)", 0);
8712   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_4get_description(__pyx_self, ((PyObject *)__pyx_v_self));
8713 
8714   /* function exit code */
8715   __Pyx_RefNannyFinishContext();
8716   return __pyx_r;
8717 }
8718 
__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_4get_description(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)8719 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_4get_description(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8720   PyObject *__pyx_r = NULL;
8721   __Pyx_RefNannyDeclarations
8722   PyObject *__pyx_t_1 = NULL;
8723   int __pyx_lineno = 0;
8724   const char *__pyx_filename = NULL;
8725   int __pyx_clineno = 0;
8726   __Pyx_RefNannySetupContext("get_description", 0);
8727 
8728   /* "Cython/Compiler/Scanning.py":293
8729  *
8730  *     def get_description(self):
8731  *         return self.name             # <<<<<<<<<<<<<<
8732  *
8733  *     get_error_description = get_description
8734  */
8735   __Pyx_XDECREF(__pyx_r);
8736   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error)
8737   __Pyx_GOTREF(__pyx_t_1);
8738   __pyx_r = __pyx_t_1;
8739   __pyx_t_1 = 0;
8740   goto __pyx_L0;
8741 
8742   /* "Cython/Compiler/Scanning.py":292
8743  *                     for line in self.codelines]
8744  *
8745  *     def get_description(self):             # <<<<<<<<<<<<<<
8746  *         return self.name
8747  *
8748  */
8749 
8750   /* function exit code */
8751   __pyx_L1_error:;
8752   __Pyx_XDECREF(__pyx_t_1);
8753   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.get_description", __pyx_clineno, __pyx_lineno, __pyx_filename);
8754   __pyx_r = NULL;
8755   __pyx_L0:;
8756   __Pyx_XGIVEREF(__pyx_r);
8757   __Pyx_RefNannyFinishContext();
8758   return __pyx_r;
8759 }
8760 
8761 /* "Cython/Compiler/Scanning.py":297
8762  *     get_error_description = get_description
8763  *
8764  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
8765  *         return "stringsource"
8766  *
8767  */
8768 
8769 /* Python wrapper */
8770 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_7get_filenametable_entry(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8771 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_7get_filenametable_entry = {"get_filenametable_entry", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_7get_filenametable_entry, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_7get_filenametable_entry(PyObject * __pyx_self,PyObject * __pyx_v_self)8772 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_7get_filenametable_entry(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8773   PyObject *__pyx_r = 0;
8774   __Pyx_RefNannyDeclarations
8775   __Pyx_RefNannySetupContext("get_filenametable_entry (wrapper)", 0);
8776   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_6get_filenametable_entry(__pyx_self, ((PyObject *)__pyx_v_self));
8777 
8778   /* function exit code */
8779   __Pyx_RefNannyFinishContext();
8780   return __pyx_r;
8781 }
8782 
__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_6get_filenametable_entry(CYTHON_UNUSED PyObject * __pyx_self,CYTHON_UNUSED PyObject * __pyx_v_self)8783 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_6get_filenametable_entry(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
8784   PyObject *__pyx_r = NULL;
8785   __Pyx_RefNannyDeclarations
8786   __Pyx_RefNannySetupContext("get_filenametable_entry", 0);
8787 
8788   /* "Cython/Compiler/Scanning.py":298
8789  *
8790  *     def get_filenametable_entry(self):
8791  *         return "stringsource"             # <<<<<<<<<<<<<<
8792  *
8793  *     def __hash__(self):
8794  */
8795   __Pyx_XDECREF(__pyx_r);
8796   __Pyx_INCREF(__pyx_n_u_stringsource);
8797   __pyx_r = __pyx_n_u_stringsource;
8798   goto __pyx_L0;
8799 
8800   /* "Cython/Compiler/Scanning.py":297
8801  *     get_error_description = get_description
8802  *
8803  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
8804  *         return "stringsource"
8805  *
8806  */
8807 
8808   /* function exit code */
8809   __pyx_L0:;
8810   __Pyx_XGIVEREF(__pyx_r);
8811   __Pyx_RefNannyFinishContext();
8812   return __pyx_r;
8813 }
8814 
8815 /* "Cython/Compiler/Scanning.py":300
8816  *         return "stringsource"
8817  *
8818  *     def __hash__(self):             # <<<<<<<<<<<<<<
8819  *         return id(self)
8820  *         # Do not hash on the name, an identical string source should be the
8821  */
8822 
8823 /* Python wrapper */
8824 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_9__hash__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8825 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_9__hash__ = {"__hash__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_9__hash__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_9__hash__(PyObject * __pyx_self,PyObject * __pyx_v_self)8826 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_9__hash__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8827   PyObject *__pyx_r = 0;
8828   __Pyx_RefNannyDeclarations
8829   __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
8830   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_8__hash__(__pyx_self, ((PyObject *)__pyx_v_self));
8831 
8832   /* function exit code */
8833   __Pyx_RefNannyFinishContext();
8834   return __pyx_r;
8835 }
8836 
__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_8__hash__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)8837 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_8__hash__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8838   PyObject *__pyx_r = NULL;
8839   __Pyx_RefNannyDeclarations
8840   PyObject *__pyx_t_1 = NULL;
8841   int __pyx_lineno = 0;
8842   const char *__pyx_filename = NULL;
8843   int __pyx_clineno = 0;
8844   __Pyx_RefNannySetupContext("__hash__", 0);
8845 
8846   /* "Cython/Compiler/Scanning.py":301
8847  *
8848  *     def __hash__(self):
8849  *         return id(self)             # <<<<<<<<<<<<<<
8850  *         # Do not hash on the name, an identical string source should be the
8851  *         # same object (name is often defaulted in other places)
8852  */
8853   __Pyx_XDECREF(__pyx_r);
8854   __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error)
8855   __Pyx_GOTREF(__pyx_t_1);
8856   __pyx_r = __pyx_t_1;
8857   __pyx_t_1 = 0;
8858   goto __pyx_L0;
8859 
8860   /* "Cython/Compiler/Scanning.py":300
8861  *         return "stringsource"
8862  *
8863  *     def __hash__(self):             # <<<<<<<<<<<<<<
8864  *         return id(self)
8865  *         # Do not hash on the name, an identical string source should be the
8866  */
8867 
8868   /* function exit code */
8869   __pyx_L1_error:;
8870   __Pyx_XDECREF(__pyx_t_1);
8871   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8872   __pyx_r = NULL;
8873   __pyx_L0:;
8874   __Pyx_XGIVEREF(__pyx_r);
8875   __Pyx_RefNannyFinishContext();
8876   return __pyx_r;
8877 }
8878 
8879 /* "Cython/Compiler/Scanning.py":306
8880  *         # return hash(self.name)
8881  *
8882  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
8883  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
8884  *
8885  */
8886 
8887 /* Python wrapper */
8888 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_11__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8889 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_11__eq__ = {"__eq__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_11__eq__, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_11__eq__(PyObject * __pyx_self,PyObject * __pyx_args,PyObject * __pyx_kwds)8890 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_11__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8891   PyObject *__pyx_v_self = 0;
8892   PyObject *__pyx_v_other = 0;
8893   int __pyx_lineno = 0;
8894   const char *__pyx_filename = NULL;
8895   int __pyx_clineno = 0;
8896   PyObject *__pyx_r = 0;
8897   __Pyx_RefNannyDeclarations
8898   __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
8899   {
8900     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,0};
8901     PyObject* values[2] = {0,0};
8902     if (unlikely(__pyx_kwds)) {
8903       Py_ssize_t kw_args;
8904       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
8905       switch (pos_args) {
8906         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8907         CYTHON_FALLTHROUGH;
8908         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8909         CYTHON_FALLTHROUGH;
8910         case  0: break;
8911         default: goto __pyx_L5_argtuple_error;
8912       }
8913       kw_args = PyDict_Size(__pyx_kwds);
8914       switch (pos_args) {
8915         case  0:
8916         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
8917         else goto __pyx_L5_argtuple_error;
8918         CYTHON_FALLTHROUGH;
8919         case  1:
8920         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
8921         else {
8922           __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, 1); __PYX_ERR(0, 306, __pyx_L3_error)
8923         }
8924       }
8925       if (unlikely(kw_args > 0)) {
8926         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__eq__") < 0)) __PYX_ERR(0, 306, __pyx_L3_error)
8927       }
8928     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
8929       goto __pyx_L5_argtuple_error;
8930     } else {
8931       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8932       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
8933     }
8934     __pyx_v_self = values[0];
8935     __pyx_v_other = values[1];
8936   }
8937   goto __pyx_L4_argument_unpacking_done;
8938   __pyx_L5_argtuple_error:;
8939   __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 306, __pyx_L3_error)
8940   __pyx_L3_error:;
8941   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8942   __Pyx_RefNannyFinishContext();
8943   return NULL;
8944   __pyx_L4_argument_unpacking_done:;
8945   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_10__eq__(__pyx_self, __pyx_v_self, __pyx_v_other);
8946 
8947   /* function exit code */
8948   __Pyx_RefNannyFinishContext();
8949   return __pyx_r;
8950 }
8951 
__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_10__eq__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self,PyObject * __pyx_v_other)8952 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_10__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
8953   PyObject *__pyx_r = NULL;
8954   __Pyx_RefNannyDeclarations
8955   PyObject *__pyx_t_1 = NULL;
8956   PyObject *__pyx_t_2 = NULL;
8957   int __pyx_t_3;
8958   PyObject *__pyx_t_4 = NULL;
8959   PyObject *__pyx_t_5 = NULL;
8960   int __pyx_lineno = 0;
8961   const char *__pyx_filename = NULL;
8962   int __pyx_clineno = 0;
8963   __Pyx_RefNannySetupContext("__eq__", 0);
8964 
8965   /* "Cython/Compiler/Scanning.py":307
8966  *
8967  *     def __eq__(self, other):
8968  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name             # <<<<<<<<<<<<<<
8969  *
8970  *     def __repr__(self):
8971  */
8972   __Pyx_XDECREF(__pyx_r);
8973   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_StringSourceDescriptor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
8974   __Pyx_GOTREF(__pyx_t_2);
8975   __pyx_t_3 = PyObject_IsInstance(__pyx_v_other, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 307, __pyx_L1_error)
8976   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8977   if (__pyx_t_3) {
8978   } else {
8979     __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
8980     __Pyx_GOTREF(__pyx_t_2);
8981     __pyx_t_1 = __pyx_t_2;
8982     __pyx_t_2 = 0;
8983     goto __pyx_L3_bool_binop_done;
8984   }
8985   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
8986   __Pyx_GOTREF(__pyx_t_2);
8987   __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error)
8988   __Pyx_GOTREF(__pyx_t_4);
8989   __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 307, __pyx_L1_error)
8990   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8991   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8992   __Pyx_INCREF(__pyx_t_5);
8993   __pyx_t_1 = __pyx_t_5;
8994   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
8995   __pyx_L3_bool_binop_done:;
8996   __pyx_r = __pyx_t_1;
8997   __pyx_t_1 = 0;
8998   goto __pyx_L0;
8999 
9000   /* "Cython/Compiler/Scanning.py":306
9001  *         # return hash(self.name)
9002  *
9003  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
9004  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
9005  *
9006  */
9007 
9008   /* function exit code */
9009   __pyx_L1_error:;
9010   __Pyx_XDECREF(__pyx_t_1);
9011   __Pyx_XDECREF(__pyx_t_2);
9012   __Pyx_XDECREF(__pyx_t_4);
9013   __Pyx_XDECREF(__pyx_t_5);
9014   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9015   __pyx_r = NULL;
9016   __pyx_L0:;
9017   __Pyx_XGIVEREF(__pyx_r);
9018   __Pyx_RefNannyFinishContext();
9019   return __pyx_r;
9020 }
9021 
9022 /* "Cython/Compiler/Scanning.py":309
9023  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
9024  *
9025  *     def __repr__(self):             # <<<<<<<<<<<<<<
9026  *         return "<StringSourceDescriptor:%s>" % self.name
9027  *
9028  */
9029 
9030 /* Python wrapper */
9031 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_13__repr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9032 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_13__repr__ = {"__repr__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_13__repr__, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_13__repr__(PyObject * __pyx_self,PyObject * __pyx_v_self)9033 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_13__repr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9034   PyObject *__pyx_r = 0;
9035   __Pyx_RefNannyDeclarations
9036   __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
9037   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_12__repr__(__pyx_self, ((PyObject *)__pyx_v_self));
9038 
9039   /* function exit code */
9040   __Pyx_RefNannyFinishContext();
9041   return __pyx_r;
9042 }
9043 
__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_12__repr__(CYTHON_UNUSED PyObject * __pyx_self,PyObject * __pyx_v_self)9044 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_12__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
9045   PyObject *__pyx_r = NULL;
9046   __Pyx_RefNannyDeclarations
9047   PyObject *__pyx_t_1 = NULL;
9048   PyObject *__pyx_t_2 = NULL;
9049   int __pyx_lineno = 0;
9050   const char *__pyx_filename = NULL;
9051   int __pyx_clineno = 0;
9052   __Pyx_RefNannySetupContext("__repr__", 0);
9053 
9054   /* "Cython/Compiler/Scanning.py":310
9055  *
9056  *     def __repr__(self):
9057  *         return "<StringSourceDescriptor:%s>" % self.name             # <<<<<<<<<<<<<<
9058  *
9059  *
9060  */
9061   __Pyx_XDECREF(__pyx_r);
9062   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L1_error)
9063   __Pyx_GOTREF(__pyx_t_1);
9064   __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_StringSourceDescriptor_s, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L1_error)
9065   __Pyx_GOTREF(__pyx_t_2);
9066   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9067   __pyx_r = __pyx_t_2;
9068   __pyx_t_2 = 0;
9069   goto __pyx_L0;
9070 
9071   /* "Cython/Compiler/Scanning.py":309
9072  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
9073  *
9074  *     def __repr__(self):             # <<<<<<<<<<<<<<
9075  *         return "<StringSourceDescriptor:%s>" % self.name
9076  *
9077  */
9078 
9079   /* function exit code */
9080   __pyx_L1_error:;
9081   __Pyx_XDECREF(__pyx_t_1);
9082   __Pyx_XDECREF(__pyx_t_2);
9083   __Pyx_AddTraceback("Cython.Compiler.Scanning.StringSourceDescriptor.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9084   __pyx_r = NULL;
9085   __pyx_L0:;
9086   __Pyx_XGIVEREF(__pyx_r);
9087   __Pyx_RefNannyFinishContext();
9088   return __pyx_r;
9089 }
9090 
9091 /* "Cython/Compiler/Scanning.py":322
9092  *     #  compile_time_expr  boolean  In a compile-time expression context
9093  *
9094  *     def __init__(self, file, filename, parent_scanner=None,             # <<<<<<<<<<<<<<
9095  *                  scope=None, context=None, source_encoding=None, parse_comments=True, initial_pos=None):
9096  *         Scanner.__init__(self, get_lexicon(), file, filename, initial_pos)
9097  */
9098 
9099 /* Python wrapper */
9100 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_1__init__(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)9101 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9102   PyObject *__pyx_v_file = 0;
9103   PyObject *__pyx_v_filename = 0;
9104   PyObject *__pyx_v_parent_scanner = 0;
9105   PyObject *__pyx_v_scope = 0;
9106   PyObject *__pyx_v_context = 0;
9107   PyObject *__pyx_v_source_encoding = 0;
9108   PyObject *__pyx_v_parse_comments = 0;
9109   PyObject *__pyx_v_initial_pos = 0;
9110   int __pyx_lineno = 0;
9111   const char *__pyx_filename = NULL;
9112   int __pyx_clineno = 0;
9113   int __pyx_r;
9114   __Pyx_RefNannyDeclarations
9115   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
9116   {
9117     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_filename,&__pyx_n_s_parent_scanner,&__pyx_n_s_scope,&__pyx_n_s_context,&__pyx_n_s_source_encoding,&__pyx_n_s_parse_comments,&__pyx_n_s_initial_pos,0};
9118     PyObject* values[8] = {0,0,0,0,0,0,0,0};
9119     values[2] = ((PyObject *)Py_None);
9120 
9121     /* "Cython/Compiler/Scanning.py":323
9122  *
9123  *     def __init__(self, file, filename, parent_scanner=None,
9124  *                  scope=None, context=None, source_encoding=None, parse_comments=True, initial_pos=None):             # <<<<<<<<<<<<<<
9125  *         Scanner.__init__(self, get_lexicon(), file, filename, initial_pos)
9126  *
9127  */
9128     values[3] = ((PyObject *)Py_None);
9129     values[4] = ((PyObject *)Py_None);
9130     values[5] = ((PyObject *)Py_None);
9131     values[6] = ((PyObject *)Py_True);
9132     values[7] = ((PyObject *)Py_None);
9133     if (unlikely(__pyx_kwds)) {
9134       Py_ssize_t kw_args;
9135       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
9136       switch (pos_args) {
9137         case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
9138         CYTHON_FALLTHROUGH;
9139         case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
9140         CYTHON_FALLTHROUGH;
9141         case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
9142         CYTHON_FALLTHROUGH;
9143         case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
9144         CYTHON_FALLTHROUGH;
9145         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
9146         CYTHON_FALLTHROUGH;
9147         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
9148         CYTHON_FALLTHROUGH;
9149         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9150         CYTHON_FALLTHROUGH;
9151         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9152         CYTHON_FALLTHROUGH;
9153         case  0: break;
9154         default: goto __pyx_L5_argtuple_error;
9155       }
9156       kw_args = PyDict_Size(__pyx_kwds);
9157       switch (pos_args) {
9158         case  0:
9159         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_file)) != 0)) kw_args--;
9160         else goto __pyx_L5_argtuple_error;
9161         CYTHON_FALLTHROUGH;
9162         case  1:
9163         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename)) != 0)) kw_args--;
9164         else {
9165           __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 8, 1); __PYX_ERR(0, 322, __pyx_L3_error)
9166         }
9167         CYTHON_FALLTHROUGH;
9168         case  2:
9169         if (kw_args > 0) {
9170           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parent_scanner);
9171           if (value) { values[2] = value; kw_args--; }
9172         }
9173         CYTHON_FALLTHROUGH;
9174         case  3:
9175         if (kw_args > 0) {
9176           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scope);
9177           if (value) { values[3] = value; kw_args--; }
9178         }
9179         CYTHON_FALLTHROUGH;
9180         case  4:
9181         if (kw_args > 0) {
9182           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_context);
9183           if (value) { values[4] = value; kw_args--; }
9184         }
9185         CYTHON_FALLTHROUGH;
9186         case  5:
9187         if (kw_args > 0) {
9188           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source_encoding);
9189           if (value) { values[5] = value; kw_args--; }
9190         }
9191         CYTHON_FALLTHROUGH;
9192         case  6:
9193         if (kw_args > 0) {
9194           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parse_comments);
9195           if (value) { values[6] = value; kw_args--; }
9196         }
9197         CYTHON_FALLTHROUGH;
9198         case  7:
9199         if (kw_args > 0) {
9200           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_initial_pos);
9201           if (value) { values[7] = value; kw_args--; }
9202         }
9203       }
9204       if (unlikely(kw_args > 0)) {
9205         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 322, __pyx_L3_error)
9206       }
9207     } else {
9208       switch (PyTuple_GET_SIZE(__pyx_args)) {
9209         case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
9210         CYTHON_FALLTHROUGH;
9211         case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
9212         CYTHON_FALLTHROUGH;
9213         case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
9214         CYTHON_FALLTHROUGH;
9215         case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
9216         CYTHON_FALLTHROUGH;
9217         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
9218         CYTHON_FALLTHROUGH;
9219         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
9220         CYTHON_FALLTHROUGH;
9221         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9222         values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9223         break;
9224         default: goto __pyx_L5_argtuple_error;
9225       }
9226     }
9227     __pyx_v_file = values[0];
9228     __pyx_v_filename = values[1];
9229     __pyx_v_parent_scanner = values[2];
9230     __pyx_v_scope = values[3];
9231     __pyx_v_context = values[4];
9232     __pyx_v_source_encoding = values[5];
9233     __pyx_v_parse_comments = values[6];
9234     __pyx_v_initial_pos = values[7];
9235   }
9236   goto __pyx_L4_argument_unpacking_done;
9237   __pyx_L5_argtuple_error:;
9238   __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 322, __pyx_L3_error)
9239   __pyx_L3_error:;
9240   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9241   __Pyx_RefNannyFinishContext();
9242   return -1;
9243   __pyx_L4_argument_unpacking_done:;
9244   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner___init__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_file, __pyx_v_filename, __pyx_v_parent_scanner, __pyx_v_scope, __pyx_v_context, __pyx_v_source_encoding, __pyx_v_parse_comments, __pyx_v_initial_pos);
9245 
9246   /* "Cython/Compiler/Scanning.py":322
9247  *     #  compile_time_expr  boolean  In a compile-time expression context
9248  *
9249  *     def __init__(self, file, filename, parent_scanner=None,             # <<<<<<<<<<<<<<
9250  *                  scope=None, context=None, source_encoding=None, parse_comments=True, initial_pos=None):
9251  *         Scanner.__init__(self, get_lexicon(), file, filename, initial_pos)
9252  */
9253 
9254   /* function exit code */
9255   __Pyx_RefNannyFinishContext();
9256   return __pyx_r;
9257 }
9258 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_file,PyObject * __pyx_v_filename,PyObject * __pyx_v_parent_scanner,PyObject * __pyx_v_scope,PyObject * __pyx_v_context,PyObject * __pyx_v_source_encoding,PyObject * __pyx_v_parse_comments,PyObject * __pyx_v_initial_pos)9259 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner___init__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_file, PyObject *__pyx_v_filename, PyObject *__pyx_v_parent_scanner, PyObject *__pyx_v_scope, PyObject *__pyx_v_context, PyObject *__pyx_v_source_encoding, PyObject *__pyx_v_parse_comments, PyObject *__pyx_v_initial_pos) {
9260   int __pyx_r;
9261   __Pyx_RefNannyDeclarations
9262   PyObject *__pyx_t_1 = NULL;
9263   PyObject *__pyx_t_2 = NULL;
9264   PyObject *__pyx_t_3 = NULL;
9265   PyObject *__pyx_t_4 = NULL;
9266   int __pyx_t_5;
9267   PyObject *__pyx_t_6 = NULL;
9268   int __pyx_t_7;
9269   int __pyx_lineno = 0;
9270   const char *__pyx_filename = NULL;
9271   int __pyx_clineno = 0;
9272   __Pyx_RefNannySetupContext("__init__", 0);
9273 
9274   /* "Cython/Compiler/Scanning.py":324
9275  *     def __init__(self, file, filename, parent_scanner=None,
9276  *                  scope=None, context=None, source_encoding=None, parse_comments=True, initial_pos=None):
9277  *         Scanner.__init__(self, get_lexicon(), file, filename, initial_pos)             # <<<<<<<<<<<<<<
9278  *
9279  *         if filename.is_python_file():
9280  */
9281   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6Cython_4Plex_8Scanners_Scanner), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L1_error)
9282   __Pyx_GOTREF(__pyx_t_2);
9283   __pyx_t_3 = __pyx_f_6Cython_8Compiler_8Scanning_get_lexicon(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L1_error)
9284   __Pyx_GOTREF(__pyx_t_3);
9285   __pyx_t_4 = NULL;
9286   __pyx_t_5 = 0;
9287   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
9288     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
9289     if (likely(__pyx_t_4)) {
9290       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
9291       __Pyx_INCREF(__pyx_t_4);
9292       __Pyx_INCREF(function);
9293       __Pyx_DECREF_SET(__pyx_t_2, function);
9294       __pyx_t_5 = 1;
9295     }
9296   }
9297   #if CYTHON_FAST_PYCALL
9298   if (PyFunction_Check(__pyx_t_2)) {
9299     PyObject *__pyx_temp[6] = {__pyx_t_4, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_v_file, __pyx_v_filename, __pyx_v_initial_pos};
9300     __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L1_error)
9301     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
9302     __Pyx_GOTREF(__pyx_t_1);
9303     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9304   } else
9305   #endif
9306   #if CYTHON_FAST_PYCCALL
9307   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
9308     PyObject *__pyx_temp[6] = {__pyx_t_4, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_v_file, __pyx_v_filename, __pyx_v_initial_pos};
9309     __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L1_error)
9310     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
9311     __Pyx_GOTREF(__pyx_t_1);
9312     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9313   } else
9314   #endif
9315   {
9316     __pyx_t_6 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 324, __pyx_L1_error)
9317     __Pyx_GOTREF(__pyx_t_6);
9318     if (__pyx_t_4) {
9319       __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
9320     }
9321     __Pyx_INCREF(((PyObject *)__pyx_v_self));
9322     __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
9323     PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, ((PyObject *)__pyx_v_self));
9324     __Pyx_GIVEREF(__pyx_t_3);
9325     PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_3);
9326     __Pyx_INCREF(__pyx_v_file);
9327     __Pyx_GIVEREF(__pyx_v_file);
9328     PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_file);
9329     __Pyx_INCREF(__pyx_v_filename);
9330     __Pyx_GIVEREF(__pyx_v_filename);
9331     PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_5, __pyx_v_filename);
9332     __Pyx_INCREF(__pyx_v_initial_pos);
9333     __Pyx_GIVEREF(__pyx_v_initial_pos);
9334     PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_5, __pyx_v_initial_pos);
9335     __pyx_t_3 = 0;
9336     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L1_error)
9337     __Pyx_GOTREF(__pyx_t_1);
9338     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
9339   }
9340   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9341   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9342 
9343   /* "Cython/Compiler/Scanning.py":326
9344  *         Scanner.__init__(self, get_lexicon(), file, filename, initial_pos)
9345  *
9346  *         if filename.is_python_file():             # <<<<<<<<<<<<<<
9347  *             self.in_python_file = True
9348  *             self.keywords = set(py_reserved_words)
9349  */
9350   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_is_python_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L1_error)
9351   __Pyx_GOTREF(__pyx_t_2);
9352   __pyx_t_6 = NULL;
9353   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
9354     __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
9355     if (likely(__pyx_t_6)) {
9356       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
9357       __Pyx_INCREF(__pyx_t_6);
9358       __Pyx_INCREF(function);
9359       __Pyx_DECREF_SET(__pyx_t_2, function);
9360     }
9361   }
9362   __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
9363   __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
9364   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 326, __pyx_L1_error)
9365   __Pyx_GOTREF(__pyx_t_1);
9366   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9367   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 326, __pyx_L1_error)
9368   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9369   if (__pyx_t_7) {
9370 
9371     /* "Cython/Compiler/Scanning.py":327
9372  *
9373  *         if filename.is_python_file():
9374  *             self.in_python_file = True             # <<<<<<<<<<<<<<
9375  *             self.keywords = set(py_reserved_words)
9376  *         else:
9377  */
9378     __pyx_v_self->in_python_file = 1;
9379 
9380     /* "Cython/Compiler/Scanning.py":328
9381  *         if filename.is_python_file():
9382  *             self.in_python_file = True
9383  *             self.keywords = set(py_reserved_words)             # <<<<<<<<<<<<<<
9384  *         else:
9385  *             self.in_python_file = False
9386  */
9387     __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_py_reserved_words); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 328, __pyx_L1_error)
9388     __Pyx_GOTREF(__pyx_t_1);
9389     __pyx_t_2 = PySet_New(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L1_error)
9390     __Pyx_GOTREF(__pyx_t_2);
9391     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9392     __Pyx_GIVEREF(__pyx_t_2);
9393     __Pyx_GOTREF(__pyx_v_self->keywords);
9394     __Pyx_DECREF(__pyx_v_self->keywords);
9395     __pyx_v_self->keywords = ((PyObject*)__pyx_t_2);
9396     __pyx_t_2 = 0;
9397 
9398     /* "Cython/Compiler/Scanning.py":326
9399  *         Scanner.__init__(self, get_lexicon(), file, filename, initial_pos)
9400  *
9401  *         if filename.is_python_file():             # <<<<<<<<<<<<<<
9402  *             self.in_python_file = True
9403  *             self.keywords = set(py_reserved_words)
9404  */
9405     goto __pyx_L3;
9406   }
9407 
9408   /* "Cython/Compiler/Scanning.py":330
9409  *             self.keywords = set(py_reserved_words)
9410  *         else:
9411  *             self.in_python_file = False             # <<<<<<<<<<<<<<
9412  *             self.keywords = set(pyx_reserved_words)
9413  *
9414  */
9415   /*else*/ {
9416     __pyx_v_self->in_python_file = 0;
9417 
9418     /* "Cython/Compiler/Scanning.py":331
9419  *         else:
9420  *             self.in_python_file = False
9421  *             self.keywords = set(pyx_reserved_words)             # <<<<<<<<<<<<<<
9422  *
9423  *         self.async_enabled = 0
9424  */
9425     __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_reserved_words); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error)
9426     __Pyx_GOTREF(__pyx_t_2);
9427     __pyx_t_1 = PySet_New(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error)
9428     __Pyx_GOTREF(__pyx_t_1);
9429     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9430     __Pyx_GIVEREF(__pyx_t_1);
9431     __Pyx_GOTREF(__pyx_v_self->keywords);
9432     __Pyx_DECREF(__pyx_v_self->keywords);
9433     __pyx_v_self->keywords = ((PyObject*)__pyx_t_1);
9434     __pyx_t_1 = 0;
9435   }
9436   __pyx_L3:;
9437 
9438   /* "Cython/Compiler/Scanning.py":333
9439  *             self.keywords = set(pyx_reserved_words)
9440  *
9441  *         self.async_enabled = 0             # <<<<<<<<<<<<<<
9442  *
9443  *         if parent_scanner:
9444  */
9445   __pyx_v_self->async_enabled = 0;
9446 
9447   /* "Cython/Compiler/Scanning.py":335
9448  *         self.async_enabled = 0
9449  *
9450  *         if parent_scanner:             # <<<<<<<<<<<<<<
9451  *             self.context = parent_scanner.context
9452  *             self.included_files = parent_scanner.included_files
9453  */
9454   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_parent_scanner); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 335, __pyx_L1_error)
9455   if (__pyx_t_7) {
9456 
9457     /* "Cython/Compiler/Scanning.py":336
9458  *
9459  *         if parent_scanner:
9460  *             self.context = parent_scanner.context             # <<<<<<<<<<<<<<
9461  *             self.included_files = parent_scanner.included_files
9462  *             self.compile_time_env = parent_scanner.compile_time_env
9463  */
9464     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent_scanner, __pyx_n_s_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L1_error)
9465     __Pyx_GOTREF(__pyx_t_1);
9466     __Pyx_GIVEREF(__pyx_t_1);
9467     __Pyx_GOTREF(__pyx_v_self->context);
9468     __Pyx_DECREF(__pyx_v_self->context);
9469     __pyx_v_self->context = __pyx_t_1;
9470     __pyx_t_1 = 0;
9471 
9472     /* "Cython/Compiler/Scanning.py":337
9473  *         if parent_scanner:
9474  *             self.context = parent_scanner.context
9475  *             self.included_files = parent_scanner.included_files             # <<<<<<<<<<<<<<
9476  *             self.compile_time_env = parent_scanner.compile_time_env
9477  *             self.compile_time_eval = parent_scanner.compile_time_eval
9478  */
9479     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent_scanner, __pyx_n_s_included_files); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error)
9480     __Pyx_GOTREF(__pyx_t_1);
9481     if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 337, __pyx_L1_error)
9482     __Pyx_GIVEREF(__pyx_t_1);
9483     __Pyx_GOTREF(__pyx_v_self->included_files);
9484     __Pyx_DECREF(__pyx_v_self->included_files);
9485     __pyx_v_self->included_files = ((PyObject*)__pyx_t_1);
9486     __pyx_t_1 = 0;
9487 
9488     /* "Cython/Compiler/Scanning.py":338
9489  *             self.context = parent_scanner.context
9490  *             self.included_files = parent_scanner.included_files
9491  *             self.compile_time_env = parent_scanner.compile_time_env             # <<<<<<<<<<<<<<
9492  *             self.compile_time_eval = parent_scanner.compile_time_eval
9493  *             self.compile_time_expr = parent_scanner.compile_time_expr
9494  */
9495     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent_scanner, __pyx_n_s_compile_time_env); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error)
9496     __Pyx_GOTREF(__pyx_t_1);
9497     if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope))))) __PYX_ERR(0, 338, __pyx_L1_error)
9498     __Pyx_GIVEREF(__pyx_t_1);
9499     __Pyx_GOTREF(__pyx_v_self->compile_time_env);
9500     __Pyx_DECREF(((PyObject *)__pyx_v_self->compile_time_env));
9501     __pyx_v_self->compile_time_env = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_1);
9502     __pyx_t_1 = 0;
9503 
9504     /* "Cython/Compiler/Scanning.py":339
9505  *             self.included_files = parent_scanner.included_files
9506  *             self.compile_time_env = parent_scanner.compile_time_env
9507  *             self.compile_time_eval = parent_scanner.compile_time_eval             # <<<<<<<<<<<<<<
9508  *             self.compile_time_expr = parent_scanner.compile_time_expr
9509  *
9510  */
9511     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent_scanner, __pyx_n_s_compile_time_eval); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error)
9512     __Pyx_GOTREF(__pyx_t_1);
9513     __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 339, __pyx_L1_error)
9514     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9515     __pyx_v_self->compile_time_eval = __pyx_t_7;
9516 
9517     /* "Cython/Compiler/Scanning.py":340
9518  *             self.compile_time_env = parent_scanner.compile_time_env
9519  *             self.compile_time_eval = parent_scanner.compile_time_eval
9520  *             self.compile_time_expr = parent_scanner.compile_time_expr             # <<<<<<<<<<<<<<
9521  *
9522  *             if parent_scanner.async_enabled:
9523  */
9524     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent_scanner, __pyx_n_s_compile_time_expr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error)
9525     __Pyx_GOTREF(__pyx_t_1);
9526     __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 340, __pyx_L1_error)
9527     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9528     __pyx_v_self->compile_time_expr = __pyx_t_7;
9529 
9530     /* "Cython/Compiler/Scanning.py":342
9531  *             self.compile_time_expr = parent_scanner.compile_time_expr
9532  *
9533  *             if parent_scanner.async_enabled:             # <<<<<<<<<<<<<<
9534  *                 self.enter_async()
9535  *         else:
9536  */
9537     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent_scanner, __pyx_n_s_async_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 342, __pyx_L1_error)
9538     __Pyx_GOTREF(__pyx_t_1);
9539     __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 342, __pyx_L1_error)
9540     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9541     if (__pyx_t_7) {
9542 
9543       /* "Cython/Compiler/Scanning.py":343
9544  *
9545  *             if parent_scanner.async_enabled:
9546  *                 self.enter_async()             # <<<<<<<<<<<<<<
9547  *         else:
9548  *             self.context = context
9549  */
9550       __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_enter_async); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L1_error)
9551       __Pyx_GOTREF(__pyx_t_2);
9552       __pyx_t_6 = NULL;
9553       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
9554         __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
9555         if (likely(__pyx_t_6)) {
9556           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
9557           __Pyx_INCREF(__pyx_t_6);
9558           __Pyx_INCREF(function);
9559           __Pyx_DECREF_SET(__pyx_t_2, function);
9560         }
9561       }
9562       __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
9563       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
9564       if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error)
9565       __Pyx_GOTREF(__pyx_t_1);
9566       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9567       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9568 
9569       /* "Cython/Compiler/Scanning.py":342
9570  *             self.compile_time_expr = parent_scanner.compile_time_expr
9571  *
9572  *             if parent_scanner.async_enabled:             # <<<<<<<<<<<<<<
9573  *                 self.enter_async()
9574  *         else:
9575  */
9576     }
9577 
9578     /* "Cython/Compiler/Scanning.py":335
9579  *         self.async_enabled = 0
9580  *
9581  *         if parent_scanner:             # <<<<<<<<<<<<<<
9582  *             self.context = parent_scanner.context
9583  *             self.included_files = parent_scanner.included_files
9584  */
9585     goto __pyx_L4;
9586   }
9587 
9588   /* "Cython/Compiler/Scanning.py":345
9589  *                 self.enter_async()
9590  *         else:
9591  *             self.context = context             # <<<<<<<<<<<<<<
9592  *             self.included_files = scope.included_files
9593  *             self.compile_time_env = initial_compile_time_env()
9594  */
9595   /*else*/ {
9596     __Pyx_INCREF(__pyx_v_context);
9597     __Pyx_GIVEREF(__pyx_v_context);
9598     __Pyx_GOTREF(__pyx_v_self->context);
9599     __Pyx_DECREF(__pyx_v_self->context);
9600     __pyx_v_self->context = __pyx_v_context;
9601 
9602     /* "Cython/Compiler/Scanning.py":346
9603  *         else:
9604  *             self.context = context
9605  *             self.included_files = scope.included_files             # <<<<<<<<<<<<<<
9606  *             self.compile_time_env = initial_compile_time_env()
9607  *             self.compile_time_eval = 1
9608  */
9609     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_n_s_included_files); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 346, __pyx_L1_error)
9610     __Pyx_GOTREF(__pyx_t_1);
9611     if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 346, __pyx_L1_error)
9612     __Pyx_GIVEREF(__pyx_t_1);
9613     __Pyx_GOTREF(__pyx_v_self->included_files);
9614     __Pyx_DECREF(__pyx_v_self->included_files);
9615     __pyx_v_self->included_files = ((PyObject*)__pyx_t_1);
9616     __pyx_t_1 = 0;
9617 
9618     /* "Cython/Compiler/Scanning.py":347
9619  *             self.context = context
9620  *             self.included_files = scope.included_files
9621  *             self.compile_time_env = initial_compile_time_env()             # <<<<<<<<<<<<<<
9622  *             self.compile_time_eval = 1
9623  *             self.compile_time_expr = 0
9624  */
9625     __pyx_t_1 = __pyx_f_6Cython_8Compiler_8Scanning_initial_compile_time_env(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 347, __pyx_L1_error)
9626     __Pyx_GOTREF(__pyx_t_1);
9627     if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope))))) __PYX_ERR(0, 347, __pyx_L1_error)
9628     __Pyx_GIVEREF(__pyx_t_1);
9629     __Pyx_GOTREF(__pyx_v_self->compile_time_env);
9630     __Pyx_DECREF(((PyObject *)__pyx_v_self->compile_time_env));
9631     __pyx_v_self->compile_time_env = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_1);
9632     __pyx_t_1 = 0;
9633 
9634     /* "Cython/Compiler/Scanning.py":348
9635  *             self.included_files = scope.included_files
9636  *             self.compile_time_env = initial_compile_time_env()
9637  *             self.compile_time_eval = 1             # <<<<<<<<<<<<<<
9638  *             self.compile_time_expr = 0
9639  *             if getattr(context.options, 'compile_time_env', None):
9640  */
9641     __pyx_v_self->compile_time_eval = 1;
9642 
9643     /* "Cython/Compiler/Scanning.py":349
9644  *             self.compile_time_env = initial_compile_time_env()
9645  *             self.compile_time_eval = 1
9646  *             self.compile_time_expr = 0             # <<<<<<<<<<<<<<
9647  *             if getattr(context.options, 'compile_time_env', None):
9648  *                 self.compile_time_env.update(context.options.compile_time_env)
9649  */
9650     __pyx_v_self->compile_time_expr = 0;
9651 
9652     /* "Cython/Compiler/Scanning.py":350
9653  *             self.compile_time_eval = 1
9654  *             self.compile_time_expr = 0
9655  *             if getattr(context.options, 'compile_time_env', None):             # <<<<<<<<<<<<<<
9656  *                 self.compile_time_env.update(context.options.compile_time_env)
9657  *         self.parse_comments = parse_comments
9658  */
9659     __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_context, __pyx_n_s_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 350, __pyx_L1_error)
9660     __Pyx_GOTREF(__pyx_t_1);
9661     __pyx_t_2 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_u_compile_time_env, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error)
9662     __Pyx_GOTREF(__pyx_t_2);
9663     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9664     __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 350, __pyx_L1_error)
9665     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9666     if (__pyx_t_7) {
9667 
9668       /* "Cython/Compiler/Scanning.py":351
9669  *             self.compile_time_expr = 0
9670  *             if getattr(context.options, 'compile_time_env', None):
9671  *                 self.compile_time_env.update(context.options.compile_time_env)             # <<<<<<<<<<<<<<
9672  *         self.parse_comments = parse_comments
9673  *         self.source_encoding = source_encoding
9674  */
9675       __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->compile_time_env), __pyx_n_s_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 351, __pyx_L1_error)
9676       __Pyx_GOTREF(__pyx_t_1);
9677       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_context, __pyx_n_s_options); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 351, __pyx_L1_error)
9678       __Pyx_GOTREF(__pyx_t_6);
9679       __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_compile_time_env); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L1_error)
9680       __Pyx_GOTREF(__pyx_t_3);
9681       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
9682       __pyx_t_6 = NULL;
9683       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
9684         __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
9685         if (likely(__pyx_t_6)) {
9686           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
9687           __Pyx_INCREF(__pyx_t_6);
9688           __Pyx_INCREF(function);
9689           __Pyx_DECREF_SET(__pyx_t_1, function);
9690         }
9691       }
9692       __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
9693       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
9694       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9695       if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L1_error)
9696       __Pyx_GOTREF(__pyx_t_2);
9697       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9698       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9699 
9700       /* "Cython/Compiler/Scanning.py":350
9701  *             self.compile_time_eval = 1
9702  *             self.compile_time_expr = 0
9703  *             if getattr(context.options, 'compile_time_env', None):             # <<<<<<<<<<<<<<
9704  *                 self.compile_time_env.update(context.options.compile_time_env)
9705  *         self.parse_comments = parse_comments
9706  */
9707     }
9708   }
9709   __pyx_L4:;
9710 
9711   /* "Cython/Compiler/Scanning.py":352
9712  *             if getattr(context.options, 'compile_time_env', None):
9713  *                 self.compile_time_env.update(context.options.compile_time_env)
9714  *         self.parse_comments = parse_comments             # <<<<<<<<<<<<<<
9715  *         self.source_encoding = source_encoding
9716  *         self.trace = trace_scanner
9717  */
9718   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_parse_comments); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 352, __pyx_L1_error)
9719   __pyx_v_self->parse_comments = __pyx_t_7;
9720 
9721   /* "Cython/Compiler/Scanning.py":353
9722  *                 self.compile_time_env.update(context.options.compile_time_env)
9723  *         self.parse_comments = parse_comments
9724  *         self.source_encoding = source_encoding             # <<<<<<<<<<<<<<
9725  *         self.trace = trace_scanner
9726  *         self.indentation_stack = [0]
9727  */
9728   __Pyx_INCREF(__pyx_v_source_encoding);
9729   __Pyx_GIVEREF(__pyx_v_source_encoding);
9730   __Pyx_GOTREF(__pyx_v_self->source_encoding);
9731   __Pyx_DECREF(__pyx_v_self->source_encoding);
9732   __pyx_v_self->source_encoding = __pyx_v_source_encoding;
9733 
9734   /* "Cython/Compiler/Scanning.py":354
9735  *         self.parse_comments = parse_comments
9736  *         self.source_encoding = source_encoding
9737  *         self.trace = trace_scanner             # <<<<<<<<<<<<<<
9738  *         self.indentation_stack = [0]
9739  *         self.indentation_char = None
9740  */
9741   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_trace_scanner); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error)
9742   __Pyx_GOTREF(__pyx_t_2);
9743   __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 354, __pyx_L1_error)
9744   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9745   __pyx_v_self->__pyx_base.trace = __pyx_t_7;
9746 
9747   /* "Cython/Compiler/Scanning.py":355
9748  *         self.source_encoding = source_encoding
9749  *         self.trace = trace_scanner
9750  *         self.indentation_stack = [0]             # <<<<<<<<<<<<<<
9751  *         self.indentation_char = None
9752  *         self.bracket_nesting_level = 0
9753  */
9754   __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 355, __pyx_L1_error)
9755   __Pyx_GOTREF(__pyx_t_2);
9756   __Pyx_INCREF(__pyx_int_0);
9757   __Pyx_GIVEREF(__pyx_int_0);
9758   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_0);
9759   __Pyx_GIVEREF(__pyx_t_2);
9760   __Pyx_GOTREF(__pyx_v_self->indentation_stack);
9761   __Pyx_DECREF(__pyx_v_self->indentation_stack);
9762   __pyx_v_self->indentation_stack = ((PyObject*)__pyx_t_2);
9763   __pyx_t_2 = 0;
9764 
9765   /* "Cython/Compiler/Scanning.py":356
9766  *         self.trace = trace_scanner
9767  *         self.indentation_stack = [0]
9768  *         self.indentation_char = None             # <<<<<<<<<<<<<<
9769  *         self.bracket_nesting_level = 0
9770  *
9771  */
9772   __Pyx_INCREF(Py_None);
9773   __Pyx_GIVEREF(Py_None);
9774   __Pyx_GOTREF(__pyx_v_self->indentation_char);
9775   __Pyx_DECREF(__pyx_v_self->indentation_char);
9776   __pyx_v_self->indentation_char = Py_None;
9777 
9778   /* "Cython/Compiler/Scanning.py":357
9779  *         self.indentation_stack = [0]
9780  *         self.indentation_char = None
9781  *         self.bracket_nesting_level = 0             # <<<<<<<<<<<<<<
9782  *
9783  *         self.begin('INDENT')
9784  */
9785   __pyx_v_self->bracket_nesting_level = 0;
9786 
9787   /* "Cython/Compiler/Scanning.py":359
9788  *         self.bracket_nesting_level = 0
9789  *
9790  *         self.begin('INDENT')             # <<<<<<<<<<<<<<
9791  *         self.sy = ''
9792  *         self.next()
9793  */
9794   __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.begin(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_INDENT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L1_error)
9795   __Pyx_GOTREF(__pyx_t_2);
9796   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9797 
9798   /* "Cython/Compiler/Scanning.py":360
9799  *
9800  *         self.begin('INDENT')
9801  *         self.sy = ''             # <<<<<<<<<<<<<<
9802  *         self.next()
9803  *
9804  */
9805   __Pyx_INCREF(__pyx_kp_u__11);
9806   __Pyx_GIVEREF(__pyx_kp_u__11);
9807   __Pyx_GOTREF(__pyx_v_self->sy);
9808   __Pyx_DECREF(__pyx_v_self->sy);
9809   __pyx_v_self->sy = __pyx_kp_u__11;
9810 
9811   /* "Cython/Compiler/Scanning.py":361
9812  *         self.begin('INDENT')
9813  *         self.sy = ''
9814  *         self.next()             # <<<<<<<<<<<<<<
9815  *
9816  *     def commentline(self, text):
9817  */
9818   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error)
9819   __Pyx_GOTREF(__pyx_t_1);
9820   __pyx_t_3 = NULL;
9821   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
9822     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
9823     if (likely(__pyx_t_3)) {
9824       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
9825       __Pyx_INCREF(__pyx_t_3);
9826       __Pyx_INCREF(function);
9827       __Pyx_DECREF_SET(__pyx_t_1, function);
9828     }
9829   }
9830   __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
9831   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
9832   if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error)
9833   __Pyx_GOTREF(__pyx_t_2);
9834   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9835   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9836 
9837   /* "Cython/Compiler/Scanning.py":322
9838  *     #  compile_time_expr  boolean  In a compile-time expression context
9839  *
9840  *     def __init__(self, file, filename, parent_scanner=None,             # <<<<<<<<<<<<<<
9841  *                  scope=None, context=None, source_encoding=None, parse_comments=True, initial_pos=None):
9842  *         Scanner.__init__(self, get_lexicon(), file, filename, initial_pos)
9843  */
9844 
9845   /* function exit code */
9846   __pyx_r = 0;
9847   goto __pyx_L0;
9848   __pyx_L1_error:;
9849   __Pyx_XDECREF(__pyx_t_1);
9850   __Pyx_XDECREF(__pyx_t_2);
9851   __Pyx_XDECREF(__pyx_t_3);
9852   __Pyx_XDECREF(__pyx_t_4);
9853   __Pyx_XDECREF(__pyx_t_6);
9854   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9855   __pyx_r = -1;
9856   __pyx_L0:;
9857   __Pyx_RefNannyFinishContext();
9858   return __pyx_r;
9859 }
9860 
9861 /* "Cython/Compiler/Scanning.py":363
9862  *         self.next()
9863  *
9864  *     def commentline(self, text):             # <<<<<<<<<<<<<<
9865  *         if self.parse_comments:
9866  *             self.produce('commentline', text)
9867  */
9868 
9869 /* Python wrapper */
9870 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_3commentline(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
9871 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_3commentline = {"commentline", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_3commentline, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_3commentline(PyObject * __pyx_v_self,PyObject * __pyx_v_text)9872 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_3commentline(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
9873   PyObject *__pyx_r = 0;
9874   __Pyx_RefNannyDeclarations
9875   __Pyx_RefNannySetupContext("commentline (wrapper)", 0);
9876   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2commentline(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
9877 
9878   /* function exit code */
9879   __Pyx_RefNannyFinishContext();
9880   return __pyx_r;
9881 }
9882 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2commentline(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text)9883 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2commentline(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text) {
9884   PyObject *__pyx_r = NULL;
9885   __Pyx_RefNannyDeclarations
9886   int __pyx_t_1;
9887   PyObject *__pyx_t_2 = NULL;
9888   struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce __pyx_t_3;
9889   int __pyx_lineno = 0;
9890   const char *__pyx_filename = NULL;
9891   int __pyx_clineno = 0;
9892   __Pyx_RefNannySetupContext("commentline", 0);
9893 
9894   /* "Cython/Compiler/Scanning.py":364
9895  *
9896  *     def commentline(self, text):
9897  *         if self.parse_comments:             # <<<<<<<<<<<<<<
9898  *             self.produce('commentline', text)
9899  *
9900  */
9901   __pyx_t_1 = (__pyx_v_self->parse_comments != 0);
9902   if (__pyx_t_1) {
9903 
9904     /* "Cython/Compiler/Scanning.py":365
9905  *     def commentline(self, text):
9906  *         if self.parse_comments:
9907  *             self.produce('commentline', text)             # <<<<<<<<<<<<<<
9908  *
9909  *     def strip_underscores(self, text, symbol):
9910  */
9911     __pyx_t_3.__pyx_n = 1;
9912     __pyx_t_3.text = __pyx_v_text;
9913     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_commentline, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error)
9914     __Pyx_GOTREF(__pyx_t_2);
9915     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9916 
9917     /* "Cython/Compiler/Scanning.py":364
9918  *
9919  *     def commentline(self, text):
9920  *         if self.parse_comments:             # <<<<<<<<<<<<<<
9921  *             self.produce('commentline', text)
9922  *
9923  */
9924   }
9925 
9926   /* "Cython/Compiler/Scanning.py":363
9927  *         self.next()
9928  *
9929  *     def commentline(self, text):             # <<<<<<<<<<<<<<
9930  *         if self.parse_comments:
9931  *             self.produce('commentline', text)
9932  */
9933 
9934   /* function exit code */
9935   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9936   goto __pyx_L0;
9937   __pyx_L1_error:;
9938   __Pyx_XDECREF(__pyx_t_2);
9939   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.commentline", __pyx_clineno, __pyx_lineno, __pyx_filename);
9940   __pyx_r = NULL;
9941   __pyx_L0:;
9942   __Pyx_XGIVEREF(__pyx_r);
9943   __Pyx_RefNannyFinishContext();
9944   return __pyx_r;
9945 }
9946 
9947 /* "Cython/Compiler/Scanning.py":367
9948  *             self.produce('commentline', text)
9949  *
9950  *     def strip_underscores(self, text, symbol):             # <<<<<<<<<<<<<<
9951  *         self.produce(symbol, text.replace('_', ''))
9952  *
9953  */
9954 
9955 /* Python wrapper */
9956 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_5strip_underscores(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9957 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_5strip_underscores = {"strip_underscores", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_5strip_underscores, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_5strip_underscores(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)9958 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_5strip_underscores(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9959   PyObject *__pyx_v_text = 0;
9960   PyObject *__pyx_v_symbol = 0;
9961   int __pyx_lineno = 0;
9962   const char *__pyx_filename = NULL;
9963   int __pyx_clineno = 0;
9964   PyObject *__pyx_r = 0;
9965   __Pyx_RefNannyDeclarations
9966   __Pyx_RefNannySetupContext("strip_underscores (wrapper)", 0);
9967   {
9968     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_text,&__pyx_n_s_symbol,0};
9969     PyObject* values[2] = {0,0};
9970     if (unlikely(__pyx_kwds)) {
9971       Py_ssize_t kw_args;
9972       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
9973       switch (pos_args) {
9974         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
9975         CYTHON_FALLTHROUGH;
9976         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
9977         CYTHON_FALLTHROUGH;
9978         case  0: break;
9979         default: goto __pyx_L5_argtuple_error;
9980       }
9981       kw_args = PyDict_Size(__pyx_kwds);
9982       switch (pos_args) {
9983         case  0:
9984         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
9985         else goto __pyx_L5_argtuple_error;
9986         CYTHON_FALLTHROUGH;
9987         case  1:
9988         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_symbol)) != 0)) kw_args--;
9989         else {
9990           __Pyx_RaiseArgtupleInvalid("strip_underscores", 1, 2, 2, 1); __PYX_ERR(0, 367, __pyx_L3_error)
9991         }
9992       }
9993       if (unlikely(kw_args > 0)) {
9994         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "strip_underscores") < 0)) __PYX_ERR(0, 367, __pyx_L3_error)
9995       }
9996     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
9997       goto __pyx_L5_argtuple_error;
9998     } else {
9999       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
10000       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
10001     }
10002     __pyx_v_text = values[0];
10003     __pyx_v_symbol = values[1];
10004   }
10005   goto __pyx_L4_argument_unpacking_done;
10006   __pyx_L5_argtuple_error:;
10007   __Pyx_RaiseArgtupleInvalid("strip_underscores", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 367, __pyx_L3_error)
10008   __pyx_L3_error:;
10009   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.strip_underscores", __pyx_clineno, __pyx_lineno, __pyx_filename);
10010   __Pyx_RefNannyFinishContext();
10011   return NULL;
10012   __pyx_L4_argument_unpacking_done:;
10013   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_4strip_underscores(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_text, __pyx_v_symbol);
10014 
10015   /* function exit code */
10016   __Pyx_RefNannyFinishContext();
10017   return __pyx_r;
10018 }
10019 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_4strip_underscores(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text,PyObject * __pyx_v_symbol)10020 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_4strip_underscores(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text, PyObject *__pyx_v_symbol) {
10021   PyObject *__pyx_r = NULL;
10022   __Pyx_RefNannyDeclarations
10023   PyObject *__pyx_t_1 = NULL;
10024   PyObject *__pyx_t_2 = NULL;
10025   struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce __pyx_t_3;
10026   int __pyx_lineno = 0;
10027   const char *__pyx_filename = NULL;
10028   int __pyx_clineno = 0;
10029   __Pyx_RefNannySetupContext("strip_underscores", 0);
10030 
10031   /* "Cython/Compiler/Scanning.py":368
10032  *
10033  *     def strip_underscores(self, text, symbol):
10034  *         self.produce(symbol, text.replace('_', ''))             # <<<<<<<<<<<<<<
10035  *
10036  *     def current_level(self):
10037  */
10038   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 368, __pyx_L1_error)
10039   __Pyx_GOTREF(__pyx_t_1);
10040   __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
10041   __Pyx_GOTREF(__pyx_t_2);
10042   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10043   __pyx_t_3.__pyx_n = 1;
10044   __pyx_t_3.text = __pyx_t_2;
10045   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_v_symbol, &__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 368, __pyx_L1_error)
10046   __Pyx_GOTREF(__pyx_t_1);
10047   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10048   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10049 
10050   /* "Cython/Compiler/Scanning.py":367
10051  *             self.produce('commentline', text)
10052  *
10053  *     def strip_underscores(self, text, symbol):             # <<<<<<<<<<<<<<
10054  *         self.produce(symbol, text.replace('_', ''))
10055  *
10056  */
10057 
10058   /* function exit code */
10059   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10060   goto __pyx_L0;
10061   __pyx_L1_error:;
10062   __Pyx_XDECREF(__pyx_t_1);
10063   __Pyx_XDECREF(__pyx_t_2);
10064   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.strip_underscores", __pyx_clineno, __pyx_lineno, __pyx_filename);
10065   __pyx_r = NULL;
10066   __pyx_L0:;
10067   __Pyx_XGIVEREF(__pyx_r);
10068   __Pyx_RefNannyFinishContext();
10069   return __pyx_r;
10070 }
10071 
10072 /* "Cython/Compiler/Scanning.py":370
10073  *         self.produce(symbol, text.replace('_', ''))
10074  *
10075  *     def current_level(self):             # <<<<<<<<<<<<<<
10076  *         return self.indentation_stack[-1]
10077  *
10078  */
10079 
__pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)10080 static long __pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
10081   long __pyx_r;
10082   __Pyx_RefNannyDeclarations
10083   PyObject *__pyx_t_1 = NULL;
10084   long __pyx_t_2;
10085   int __pyx_lineno = 0;
10086   const char *__pyx_filename = NULL;
10087   int __pyx_clineno = 0;
10088   __Pyx_RefNannySetupContext("current_level", 0);
10089 
10090   /* "Cython/Compiler/Scanning.py":371
10091  *
10092  *     def current_level(self):
10093  *         return self.indentation_stack[-1]             # <<<<<<<<<<<<<<
10094  *
10095  *     def open_bracket_action(self, text):
10096  */
10097   if (unlikely(__pyx_v_self->indentation_stack == Py_None)) {
10098     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
10099     __PYX_ERR(0, 371, __pyx_L1_error)
10100   }
10101   __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_self->indentation_stack, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error)
10102   __Pyx_GOTREF(__pyx_t_1);
10103   __pyx_t_2 = __Pyx_PyInt_As_long(__pyx_t_1); if (unlikely((__pyx_t_2 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 371, __pyx_L1_error)
10104   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10105   __pyx_r = __pyx_t_2;
10106   goto __pyx_L0;
10107 
10108   /* "Cython/Compiler/Scanning.py":370
10109  *         self.produce(symbol, text.replace('_', ''))
10110  *
10111  *     def current_level(self):             # <<<<<<<<<<<<<<
10112  *         return self.indentation_stack[-1]
10113  *
10114  */
10115 
10116   /* function exit code */
10117   __pyx_L1_error:;
10118   __Pyx_XDECREF(__pyx_t_1);
10119   __Pyx_WriteUnraisable("Cython.Compiler.Scanning.PyrexScanner.current_level", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
10120   __pyx_r = 0;
10121   __pyx_L0:;
10122   __Pyx_RefNannyFinishContext();
10123   return __pyx_r;
10124 }
10125 
10126 /* "Cython/Compiler/Scanning.py":373
10127  *         return self.indentation_stack[-1]
10128  *
10129  *     def open_bracket_action(self, text):             # <<<<<<<<<<<<<<
10130  *         self.bracket_nesting_level += 1
10131  *         return text
10132  */
10133 
10134 /* Python wrapper */
10135 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7open_bracket_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
10136 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_7open_bracket_action = {"open_bracket_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7open_bracket_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7open_bracket_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)10137 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7open_bracket_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
10138   PyObject *__pyx_r = 0;
10139   __Pyx_RefNannyDeclarations
10140   __Pyx_RefNannySetupContext("open_bracket_action (wrapper)", 0);
10141   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_6open_bracket_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
10142 
10143   /* function exit code */
10144   __Pyx_RefNannyFinishContext();
10145   return __pyx_r;
10146 }
10147 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_6open_bracket_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text)10148 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_6open_bracket_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text) {
10149   PyObject *__pyx_r = NULL;
10150   __Pyx_RefNannyDeclarations
10151   __Pyx_RefNannySetupContext("open_bracket_action", 0);
10152 
10153   /* "Cython/Compiler/Scanning.py":374
10154  *
10155  *     def open_bracket_action(self, text):
10156  *         self.bracket_nesting_level += 1             # <<<<<<<<<<<<<<
10157  *         return text
10158  *
10159  */
10160   __pyx_v_self->bracket_nesting_level = (__pyx_v_self->bracket_nesting_level + 1);
10161 
10162   /* "Cython/Compiler/Scanning.py":375
10163  *     def open_bracket_action(self, text):
10164  *         self.bracket_nesting_level += 1
10165  *         return text             # <<<<<<<<<<<<<<
10166  *
10167  *     def close_bracket_action(self, text):
10168  */
10169   __Pyx_XDECREF(__pyx_r);
10170   __Pyx_INCREF(__pyx_v_text);
10171   __pyx_r = __pyx_v_text;
10172   goto __pyx_L0;
10173 
10174   /* "Cython/Compiler/Scanning.py":373
10175  *         return self.indentation_stack[-1]
10176  *
10177  *     def open_bracket_action(self, text):             # <<<<<<<<<<<<<<
10178  *         self.bracket_nesting_level += 1
10179  *         return text
10180  */
10181 
10182   /* function exit code */
10183   __pyx_L0:;
10184   __Pyx_XGIVEREF(__pyx_r);
10185   __Pyx_RefNannyFinishContext();
10186   return __pyx_r;
10187 }
10188 
10189 /* "Cython/Compiler/Scanning.py":377
10190  *         return text
10191  *
10192  *     def close_bracket_action(self, text):             # <<<<<<<<<<<<<<
10193  *         self.bracket_nesting_level -= 1
10194  *         return text
10195  */
10196 
10197 /* Python wrapper */
10198 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_9close_bracket_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
10199 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_9close_bracket_action = {"close_bracket_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_9close_bracket_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_9close_bracket_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)10200 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_9close_bracket_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
10201   PyObject *__pyx_r = 0;
10202   __Pyx_RefNannyDeclarations
10203   __Pyx_RefNannySetupContext("close_bracket_action (wrapper)", 0);
10204   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8close_bracket_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
10205 
10206   /* function exit code */
10207   __Pyx_RefNannyFinishContext();
10208   return __pyx_r;
10209 }
10210 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8close_bracket_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text)10211 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8close_bracket_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text) {
10212   PyObject *__pyx_r = NULL;
10213   __Pyx_RefNannyDeclarations
10214   __Pyx_RefNannySetupContext("close_bracket_action", 0);
10215 
10216   /* "Cython/Compiler/Scanning.py":378
10217  *
10218  *     def close_bracket_action(self, text):
10219  *         self.bracket_nesting_level -= 1             # <<<<<<<<<<<<<<
10220  *         return text
10221  *
10222  */
10223   __pyx_v_self->bracket_nesting_level = (__pyx_v_self->bracket_nesting_level - 1);
10224 
10225   /* "Cython/Compiler/Scanning.py":379
10226  *     def close_bracket_action(self, text):
10227  *         self.bracket_nesting_level -= 1
10228  *         return text             # <<<<<<<<<<<<<<
10229  *
10230  *     def newline_action(self, text):
10231  */
10232   __Pyx_XDECREF(__pyx_r);
10233   __Pyx_INCREF(__pyx_v_text);
10234   __pyx_r = __pyx_v_text;
10235   goto __pyx_L0;
10236 
10237   /* "Cython/Compiler/Scanning.py":377
10238  *         return text
10239  *
10240  *     def close_bracket_action(self, text):             # <<<<<<<<<<<<<<
10241  *         self.bracket_nesting_level -= 1
10242  *         return text
10243  */
10244 
10245   /* function exit code */
10246   __pyx_L0:;
10247   __Pyx_XGIVEREF(__pyx_r);
10248   __Pyx_RefNannyFinishContext();
10249   return __pyx_r;
10250 }
10251 
10252 /* "Cython/Compiler/Scanning.py":381
10253  *         return text
10254  *
10255  *     def newline_action(self, text):             # <<<<<<<<<<<<<<
10256  *         if self.bracket_nesting_level == 0:
10257  *             self.begin('INDENT')
10258  */
10259 
10260 /* Python wrapper */
10261 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_11newline_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
10262 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_11newline_action = {"newline_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_11newline_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_11newline_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)10263 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_11newline_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
10264   PyObject *__pyx_r = 0;
10265   __Pyx_RefNannyDeclarations
10266   __Pyx_RefNannySetupContext("newline_action (wrapper)", 0);
10267   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_10newline_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
10268 
10269   /* function exit code */
10270   __Pyx_RefNannyFinishContext();
10271   return __pyx_r;
10272 }
10273 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_10newline_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,CYTHON_UNUSED PyObject * __pyx_v_text)10274 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_10newline_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_text) {
10275   PyObject *__pyx_r = NULL;
10276   __Pyx_RefNannyDeclarations
10277   int __pyx_t_1;
10278   PyObject *__pyx_t_2 = NULL;
10279   struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce __pyx_t_3;
10280   int __pyx_lineno = 0;
10281   const char *__pyx_filename = NULL;
10282   int __pyx_clineno = 0;
10283   __Pyx_RefNannySetupContext("newline_action", 0);
10284 
10285   /* "Cython/Compiler/Scanning.py":382
10286  *
10287  *     def newline_action(self, text):
10288  *         if self.bracket_nesting_level == 0:             # <<<<<<<<<<<<<<
10289  *             self.begin('INDENT')
10290  *             self.produce('NEWLINE', '')
10291  */
10292   __pyx_t_1 = ((__pyx_v_self->bracket_nesting_level == 0) != 0);
10293   if (__pyx_t_1) {
10294 
10295     /* "Cython/Compiler/Scanning.py":383
10296  *     def newline_action(self, text):
10297  *         if self.bracket_nesting_level == 0:
10298  *             self.begin('INDENT')             # <<<<<<<<<<<<<<
10299  *             self.produce('NEWLINE', '')
10300  *
10301  */
10302     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.begin(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_INDENT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 383, __pyx_L1_error)
10303     __Pyx_GOTREF(__pyx_t_2);
10304     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10305 
10306     /* "Cython/Compiler/Scanning.py":384
10307  *         if self.bracket_nesting_level == 0:
10308  *             self.begin('INDENT')
10309  *             self.produce('NEWLINE', '')             # <<<<<<<<<<<<<<
10310  *
10311  *     string_states = {
10312  */
10313     __pyx_t_3.__pyx_n = 1;
10314     __pyx_t_3.text = __pyx_kp_u__11;
10315     __pyx_t_2 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_NEWLINE, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error)
10316     __Pyx_GOTREF(__pyx_t_2);
10317     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10318 
10319     /* "Cython/Compiler/Scanning.py":382
10320  *
10321  *     def newline_action(self, text):
10322  *         if self.bracket_nesting_level == 0:             # <<<<<<<<<<<<<<
10323  *             self.begin('INDENT')
10324  *             self.produce('NEWLINE', '')
10325  */
10326   }
10327 
10328   /* "Cython/Compiler/Scanning.py":381
10329  *         return text
10330  *
10331  *     def newline_action(self, text):             # <<<<<<<<<<<<<<
10332  *         if self.bracket_nesting_level == 0:
10333  *             self.begin('INDENT')
10334  */
10335 
10336   /* function exit code */
10337   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10338   goto __pyx_L0;
10339   __pyx_L1_error:;
10340   __Pyx_XDECREF(__pyx_t_2);
10341   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.newline_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
10342   __pyx_r = NULL;
10343   __pyx_L0:;
10344   __Pyx_XGIVEREF(__pyx_r);
10345   __Pyx_RefNannyFinishContext();
10346   return __pyx_r;
10347 }
10348 
10349 /* "Cython/Compiler/Scanning.py":393
10350  *     }
10351  *
10352  *     def begin_string_action(self, text):             # <<<<<<<<<<<<<<
10353  *         while text[:1] in any_string_prefix:
10354  *             text = text[1:]
10355  */
10356 
10357 /* Python wrapper */
10358 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13begin_string_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
10359 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_13begin_string_action = {"begin_string_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13begin_string_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13begin_string_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)10360 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13begin_string_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
10361   PyObject *__pyx_r = 0;
10362   __Pyx_RefNannyDeclarations
10363   __Pyx_RefNannySetupContext("begin_string_action (wrapper)", 0);
10364   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_12begin_string_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
10365 
10366   /* function exit code */
10367   __Pyx_RefNannyFinishContext();
10368   return __pyx_r;
10369 }
10370 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_12begin_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text)10371 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_12begin_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text) {
10372   PyObject *__pyx_r = NULL;
10373   __Pyx_RefNannyDeclarations
10374   PyObject *__pyx_t_1 = NULL;
10375   int __pyx_t_2;
10376   int __pyx_t_3;
10377   PyObject *__pyx_t_4 = NULL;
10378   int __pyx_lineno = 0;
10379   const char *__pyx_filename = NULL;
10380   int __pyx_clineno = 0;
10381   __Pyx_RefNannySetupContext("begin_string_action", 0);
10382   __Pyx_INCREF(__pyx_v_text);
10383 
10384   /* "Cython/Compiler/Scanning.py":394
10385  *
10386  *     def begin_string_action(self, text):
10387  *         while text[:1] in any_string_prefix:             # <<<<<<<<<<<<<<
10388  *             text = text[1:]
10389  *         self.begin(self.string_states[text])
10390  */
10391   while (1) {
10392     __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_text, 0, 1, NULL, NULL, &__pyx_slice__14, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L1_error)
10393     __Pyx_GOTREF(__pyx_t_1);
10394     if (unlikely(__pyx_v_6Cython_8Compiler_8Scanning_any_string_prefix == Py_None)) {
10395       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
10396       __PYX_ERR(0, 394, __pyx_L1_error)
10397     }
10398     __pyx_t_2 = (__Pyx_PyUnicode_ContainsTF(__pyx_t_1, __pyx_v_6Cython_8Compiler_8Scanning_any_string_prefix, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 394, __pyx_L1_error)
10399     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10400     __pyx_t_3 = (__pyx_t_2 != 0);
10401     if (!__pyx_t_3) break;
10402 
10403     /* "Cython/Compiler/Scanning.py":395
10404  *     def begin_string_action(self, text):
10405  *         while text[:1] in any_string_prefix:
10406  *             text = text[1:]             # <<<<<<<<<<<<<<
10407  *         self.begin(self.string_states[text])
10408  *         self.produce('BEGIN_STRING')
10409  */
10410     __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_text, 1, 0, NULL, NULL, &__pyx_slice__3, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L1_error)
10411     __Pyx_GOTREF(__pyx_t_1);
10412     __Pyx_DECREF_SET(__pyx_v_text, __pyx_t_1);
10413     __pyx_t_1 = 0;
10414   }
10415 
10416   /* "Cython/Compiler/Scanning.py":396
10417  *         while text[:1] in any_string_prefix:
10418  *             text = text[1:]
10419  *         self.begin(self.string_states[text])             # <<<<<<<<<<<<<<
10420  *         self.produce('BEGIN_STRING')
10421  *
10422  */
10423   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_string_states); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error)
10424   __Pyx_GOTREF(__pyx_t_1);
10425   __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_text); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 396, __pyx_L1_error)
10426   __Pyx_GOTREF(__pyx_t_4);
10427   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10428   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.begin(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error)
10429   __Pyx_GOTREF(__pyx_t_1);
10430   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
10431   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10432 
10433   /* "Cython/Compiler/Scanning.py":397
10434  *             text = text[1:]
10435  *         self.begin(self.string_states[text])
10436  *         self.produce('BEGIN_STRING')             # <<<<<<<<<<<<<<
10437  *
10438  *     def end_string_action(self, text):
10439  */
10440   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_BEGIN_STRING, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
10441   __Pyx_GOTREF(__pyx_t_1);
10442   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10443 
10444   /* "Cython/Compiler/Scanning.py":393
10445  *     }
10446  *
10447  *     def begin_string_action(self, text):             # <<<<<<<<<<<<<<
10448  *         while text[:1] in any_string_prefix:
10449  *             text = text[1:]
10450  */
10451 
10452   /* function exit code */
10453   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10454   goto __pyx_L0;
10455   __pyx_L1_error:;
10456   __Pyx_XDECREF(__pyx_t_1);
10457   __Pyx_XDECREF(__pyx_t_4);
10458   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.begin_string_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
10459   __pyx_r = NULL;
10460   __pyx_L0:;
10461   __Pyx_XDECREF(__pyx_v_text);
10462   __Pyx_XGIVEREF(__pyx_r);
10463   __Pyx_RefNannyFinishContext();
10464   return __pyx_r;
10465 }
10466 
10467 /* "Cython/Compiler/Scanning.py":399
10468  *         self.produce('BEGIN_STRING')
10469  *
10470  *     def end_string_action(self, text):             # <<<<<<<<<<<<<<
10471  *         self.begin('')
10472  *         self.produce('END_STRING')
10473  */
10474 
10475 /* Python wrapper */
10476 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15end_string_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
10477 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_15end_string_action = {"end_string_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15end_string_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15end_string_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)10478 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15end_string_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
10479   PyObject *__pyx_r = 0;
10480   __Pyx_RefNannyDeclarations
10481   __Pyx_RefNannySetupContext("end_string_action (wrapper)", 0);
10482   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14end_string_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
10483 
10484   /* function exit code */
10485   __Pyx_RefNannyFinishContext();
10486   return __pyx_r;
10487 }
10488 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14end_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,CYTHON_UNUSED PyObject * __pyx_v_text)10489 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14end_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_text) {
10490   PyObject *__pyx_r = NULL;
10491   __Pyx_RefNannyDeclarations
10492   PyObject *__pyx_t_1 = NULL;
10493   int __pyx_lineno = 0;
10494   const char *__pyx_filename = NULL;
10495   int __pyx_clineno = 0;
10496   __Pyx_RefNannySetupContext("end_string_action", 0);
10497 
10498   /* "Cython/Compiler/Scanning.py":400
10499  *
10500  *     def end_string_action(self, text):
10501  *         self.begin('')             # <<<<<<<<<<<<<<
10502  *         self.produce('END_STRING')
10503  *
10504  */
10505   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.begin(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_kp_u__11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
10506   __Pyx_GOTREF(__pyx_t_1);
10507   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10508 
10509   /* "Cython/Compiler/Scanning.py":401
10510  *     def end_string_action(self, text):
10511  *         self.begin('')
10512  *         self.produce('END_STRING')             # <<<<<<<<<<<<<<
10513  *
10514  *     def unclosed_string_action(self, text):
10515  */
10516   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_END_STRING, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error)
10517   __Pyx_GOTREF(__pyx_t_1);
10518   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10519 
10520   /* "Cython/Compiler/Scanning.py":399
10521  *         self.produce('BEGIN_STRING')
10522  *
10523  *     def end_string_action(self, text):             # <<<<<<<<<<<<<<
10524  *         self.begin('')
10525  *         self.produce('END_STRING')
10526  */
10527 
10528   /* function exit code */
10529   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10530   goto __pyx_L0;
10531   __pyx_L1_error:;
10532   __Pyx_XDECREF(__pyx_t_1);
10533   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.end_string_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
10534   __pyx_r = NULL;
10535   __pyx_L0:;
10536   __Pyx_XGIVEREF(__pyx_r);
10537   __Pyx_RefNannyFinishContext();
10538   return __pyx_r;
10539 }
10540 
10541 /* "Cython/Compiler/Scanning.py":403
10542  *         self.produce('END_STRING')
10543  *
10544  *     def unclosed_string_action(self, text):             # <<<<<<<<<<<<<<
10545  *         self.end_string_action(text)
10546  *         self.error("Unclosed string literal")
10547  */
10548 
10549 /* Python wrapper */
10550 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17unclosed_string_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
10551 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_17unclosed_string_action = {"unclosed_string_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17unclosed_string_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17unclosed_string_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)10552 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17unclosed_string_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
10553   PyObject *__pyx_r = 0;
10554   __Pyx_RefNannyDeclarations
10555   __Pyx_RefNannySetupContext("unclosed_string_action (wrapper)", 0);
10556   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16unclosed_string_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
10557 
10558   /* function exit code */
10559   __Pyx_RefNannyFinishContext();
10560   return __pyx_r;
10561 }
10562 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16unclosed_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text)10563 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16unclosed_string_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text) {
10564   PyObject *__pyx_r = NULL;
10565   __Pyx_RefNannyDeclarations
10566   PyObject *__pyx_t_1 = NULL;
10567   PyObject *__pyx_t_2 = NULL;
10568   PyObject *__pyx_t_3 = NULL;
10569   int __pyx_lineno = 0;
10570   const char *__pyx_filename = NULL;
10571   int __pyx_clineno = 0;
10572   __Pyx_RefNannySetupContext("unclosed_string_action", 0);
10573 
10574   /* "Cython/Compiler/Scanning.py":404
10575  *
10576  *     def unclosed_string_action(self, text):
10577  *         self.end_string_action(text)             # <<<<<<<<<<<<<<
10578  *         self.error("Unclosed string literal")
10579  *
10580  */
10581   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_end_string_action); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error)
10582   __Pyx_GOTREF(__pyx_t_2);
10583   __pyx_t_3 = NULL;
10584   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
10585     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
10586     if (likely(__pyx_t_3)) {
10587       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
10588       __Pyx_INCREF(__pyx_t_3);
10589       __Pyx_INCREF(function);
10590       __Pyx_DECREF_SET(__pyx_t_2, function);
10591     }
10592   }
10593   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_text) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_text);
10594   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
10595   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 404, __pyx_L1_error)
10596   __Pyx_GOTREF(__pyx_t_1);
10597   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10598   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10599 
10600   /* "Cython/Compiler/Scanning.py":405
10601  *     def unclosed_string_action(self, text):
10602  *         self.end_string_action(text)
10603  *         self.error("Unclosed string literal")             # <<<<<<<<<<<<<<
10604  *
10605  *     def indentation_action(self, text):
10606  */
10607   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 405, __pyx_L1_error)
10608   __Pyx_GOTREF(__pyx_t_2);
10609   __pyx_t_3 = NULL;
10610   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
10611     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
10612     if (likely(__pyx_t_3)) {
10613       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
10614       __Pyx_INCREF(__pyx_t_3);
10615       __Pyx_INCREF(function);
10616       __Pyx_DECREF_SET(__pyx_t_2, function);
10617     }
10618   }
10619   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_Unclosed_string_literal) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_Unclosed_string_literal);
10620   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
10621   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 405, __pyx_L1_error)
10622   __Pyx_GOTREF(__pyx_t_1);
10623   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10624   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10625 
10626   /* "Cython/Compiler/Scanning.py":403
10627  *         self.produce('END_STRING')
10628  *
10629  *     def unclosed_string_action(self, text):             # <<<<<<<<<<<<<<
10630  *         self.end_string_action(text)
10631  *         self.error("Unclosed string literal")
10632  */
10633 
10634   /* function exit code */
10635   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10636   goto __pyx_L0;
10637   __pyx_L1_error:;
10638   __Pyx_XDECREF(__pyx_t_1);
10639   __Pyx_XDECREF(__pyx_t_2);
10640   __Pyx_XDECREF(__pyx_t_3);
10641   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.unclosed_string_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
10642   __pyx_r = NULL;
10643   __pyx_L0:;
10644   __Pyx_XGIVEREF(__pyx_r);
10645   __Pyx_RefNannyFinishContext();
10646   return __pyx_r;
10647 }
10648 
10649 /* "Cython/Compiler/Scanning.py":407
10650  *         self.error("Unclosed string literal")
10651  *
10652  *     def indentation_action(self, text):             # <<<<<<<<<<<<<<
10653  *         self.begin('')
10654  *         # Indentation within brackets should be ignored.
10655  */
10656 
10657 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_19indentation_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
__pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text,CYTHON_UNUSED int __pyx_skip_dispatch)10658 static PyObject *__pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text, CYTHON_UNUSED int __pyx_skip_dispatch) {
10659   long __pyx_v_current_level;
10660   long __pyx_v_new_level;
10661   PyObject *__pyx_v_c = NULL;
10662   PyObject *__pyx_r = NULL;
10663   __Pyx_RefNannyDeclarations
10664   PyObject *__pyx_t_1 = NULL;
10665   int __pyx_t_2;
10666   int __pyx_t_3;
10667   PyObject *__pyx_t_4 = NULL;
10668   PyObject *__pyx_t_5 = NULL;
10669   int __pyx_t_6;
10670   PyObject *__pyx_t_7 = NULL;
10671   Py_ssize_t __pyx_t_8;
10672   int __pyx_t_9;
10673   struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce __pyx_t_10;
10674   int __pyx_lineno = 0;
10675   const char *__pyx_filename = NULL;
10676   int __pyx_clineno = 0;
10677   __Pyx_RefNannySetupContext("indentation_action", 0);
10678 
10679   /* "Cython/Compiler/Scanning.py":408
10680  *
10681  *     def indentation_action(self, text):
10682  *         self.begin('')             # <<<<<<<<<<<<<<
10683  *         # Indentation within brackets should be ignored.
10684  *         #if self.bracket_nesting_level > 0:
10685  */
10686   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.begin(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_kp_u__11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 408, __pyx_L1_error)
10687   __Pyx_GOTREF(__pyx_t_1);
10688   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10689 
10690   /* "Cython/Compiler/Scanning.py":413
10691  *         #    return
10692  *         # Check that tabs and spaces are being used consistently.
10693  *         if text:             # <<<<<<<<<<<<<<
10694  *             c = text[0]
10695  *             #print "Scanner.indentation_action: indent with", repr(c) ###
10696  */
10697   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_text); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 413, __pyx_L1_error)
10698   if (__pyx_t_2) {
10699 
10700     /* "Cython/Compiler/Scanning.py":414
10701  *         # Check that tabs and spaces are being used consistently.
10702  *         if text:
10703  *             c = text[0]             # <<<<<<<<<<<<<<
10704  *             #print "Scanner.indentation_action: indent with", repr(c) ###
10705  *             if self.indentation_char is None:
10706  */
10707     __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_text, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 414, __pyx_L1_error)
10708     __Pyx_GOTREF(__pyx_t_1);
10709     __pyx_v_c = __pyx_t_1;
10710     __pyx_t_1 = 0;
10711 
10712     /* "Cython/Compiler/Scanning.py":416
10713  *             c = text[0]
10714  *             #print "Scanner.indentation_action: indent with", repr(c) ###
10715  *             if self.indentation_char is None:             # <<<<<<<<<<<<<<
10716  *                 self.indentation_char = c
10717  *                 #print "Scanner.indentation_action: setting indent_char to", repr(c)
10718  */
10719     __pyx_t_2 = (__pyx_v_self->indentation_char == Py_None);
10720     __pyx_t_3 = (__pyx_t_2 != 0);
10721     if (__pyx_t_3) {
10722 
10723       /* "Cython/Compiler/Scanning.py":417
10724  *             #print "Scanner.indentation_action: indent with", repr(c) ###
10725  *             if self.indentation_char is None:
10726  *                 self.indentation_char = c             # <<<<<<<<<<<<<<
10727  *                 #print "Scanner.indentation_action: setting indent_char to", repr(c)
10728  *             else:
10729  */
10730       __Pyx_INCREF(__pyx_v_c);
10731       __Pyx_GIVEREF(__pyx_v_c);
10732       __Pyx_GOTREF(__pyx_v_self->indentation_char);
10733       __Pyx_DECREF(__pyx_v_self->indentation_char);
10734       __pyx_v_self->indentation_char = __pyx_v_c;
10735 
10736       /* "Cython/Compiler/Scanning.py":416
10737  *             c = text[0]
10738  *             #print "Scanner.indentation_action: indent with", repr(c) ###
10739  *             if self.indentation_char is None:             # <<<<<<<<<<<<<<
10740  *                 self.indentation_char = c
10741  *                 #print "Scanner.indentation_action: setting indent_char to", repr(c)
10742  */
10743       goto __pyx_L4;
10744     }
10745 
10746     /* "Cython/Compiler/Scanning.py":420
10747  *                 #print "Scanner.indentation_action: setting indent_char to", repr(c)
10748  *             else:
10749  *                 if self.indentation_char != c:             # <<<<<<<<<<<<<<
10750  *                     self.error("Mixed use of tabs and spaces")
10751  *             if text.replace(c, "") != "":
10752  */
10753     /*else*/ {
10754       __pyx_t_1 = PyObject_RichCompare(__pyx_v_self->indentation_char, __pyx_v_c, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error)
10755       __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 420, __pyx_L1_error)
10756       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10757       if (__pyx_t_3) {
10758 
10759         /* "Cython/Compiler/Scanning.py":421
10760  *             else:
10761  *                 if self.indentation_char != c:
10762  *                     self.error("Mixed use of tabs and spaces")             # <<<<<<<<<<<<<<
10763  *             if text.replace(c, "") != "":
10764  *                 self.error("Mixed use of tabs and spaces")
10765  */
10766         __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 421, __pyx_L1_error)
10767         __Pyx_GOTREF(__pyx_t_4);
10768         __pyx_t_5 = NULL;
10769         if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
10770           __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
10771           if (likely(__pyx_t_5)) {
10772             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
10773             __Pyx_INCREF(__pyx_t_5);
10774             __Pyx_INCREF(function);
10775             __Pyx_DECREF_SET(__pyx_t_4, function);
10776           }
10777         }
10778         __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_Mixed_use_of_tabs_and_spaces) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_Mixed_use_of_tabs_and_spaces);
10779         __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
10780         if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error)
10781         __Pyx_GOTREF(__pyx_t_1);
10782         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
10783         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10784 
10785         /* "Cython/Compiler/Scanning.py":420
10786  *                 #print "Scanner.indentation_action: setting indent_char to", repr(c)
10787  *             else:
10788  *                 if self.indentation_char != c:             # <<<<<<<<<<<<<<
10789  *                     self.error("Mixed use of tabs and spaces")
10790  *             if text.replace(c, "") != "":
10791  */
10792       }
10793     }
10794     __pyx_L4:;
10795 
10796     /* "Cython/Compiler/Scanning.py":422
10797  *                 if self.indentation_char != c:
10798  *                     self.error("Mixed use of tabs and spaces")
10799  *             if text.replace(c, "") != "":             # <<<<<<<<<<<<<<
10800  *                 self.error("Mixed use of tabs and spaces")
10801  *         # Figure out how many indents/dedents to do
10802  */
10803     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_text, __pyx_n_s_replace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 422, __pyx_L1_error)
10804     __Pyx_GOTREF(__pyx_t_4);
10805     __pyx_t_5 = NULL;
10806     __pyx_t_6 = 0;
10807     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
10808       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
10809       if (likely(__pyx_t_5)) {
10810         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
10811         __Pyx_INCREF(__pyx_t_5);
10812         __Pyx_INCREF(function);
10813         __Pyx_DECREF_SET(__pyx_t_4, function);
10814         __pyx_t_6 = 1;
10815       }
10816     }
10817     #if CYTHON_FAST_PYCALL
10818     if (PyFunction_Check(__pyx_t_4)) {
10819       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_c, __pyx_kp_u__11};
10820       __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error)
10821       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
10822       __Pyx_GOTREF(__pyx_t_1);
10823     } else
10824     #endif
10825     #if CYTHON_FAST_PYCCALL
10826     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
10827       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_c, __pyx_kp_u__11};
10828       __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error)
10829       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
10830       __Pyx_GOTREF(__pyx_t_1);
10831     } else
10832     #endif
10833     {
10834       __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 422, __pyx_L1_error)
10835       __Pyx_GOTREF(__pyx_t_7);
10836       if (__pyx_t_5) {
10837         __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
10838       }
10839       __Pyx_INCREF(__pyx_v_c);
10840       __Pyx_GIVEREF(__pyx_v_c);
10841       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_c);
10842       __Pyx_INCREF(__pyx_kp_u__11);
10843       __Pyx_GIVEREF(__pyx_kp_u__11);
10844       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_kp_u__11);
10845       __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error)
10846       __Pyx_GOTREF(__pyx_t_1);
10847       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
10848     }
10849     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
10850     __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_kp_u__11, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 422, __pyx_L1_error)
10851     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10852     if (__pyx_t_3) {
10853 
10854       /* "Cython/Compiler/Scanning.py":423
10855  *                     self.error("Mixed use of tabs and spaces")
10856  *             if text.replace(c, "") != "":
10857  *                 self.error("Mixed use of tabs and spaces")             # <<<<<<<<<<<<<<
10858  *         # Figure out how many indents/dedents to do
10859  *         current_level = self.current_level()
10860  */
10861       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 423, __pyx_L1_error)
10862       __Pyx_GOTREF(__pyx_t_4);
10863       __pyx_t_7 = NULL;
10864       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
10865         __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
10866         if (likely(__pyx_t_7)) {
10867           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
10868           __Pyx_INCREF(__pyx_t_7);
10869           __Pyx_INCREF(function);
10870           __Pyx_DECREF_SET(__pyx_t_4, function);
10871         }
10872       }
10873       __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_kp_u_Mixed_use_of_tabs_and_spaces) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_Mixed_use_of_tabs_and_spaces);
10874       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
10875       if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error)
10876       __Pyx_GOTREF(__pyx_t_1);
10877       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
10878       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10879 
10880       /* "Cython/Compiler/Scanning.py":422
10881  *                 if self.indentation_char != c:
10882  *                     self.error("Mixed use of tabs and spaces")
10883  *             if text.replace(c, "") != "":             # <<<<<<<<<<<<<<
10884  *                 self.error("Mixed use of tabs and spaces")
10885  *         # Figure out how many indents/dedents to do
10886  */
10887     }
10888 
10889     /* "Cython/Compiler/Scanning.py":413
10890  *         #    return
10891  *         # Check that tabs and spaces are being used consistently.
10892  *         if text:             # <<<<<<<<<<<<<<
10893  *             c = text[0]
10894  *             #print "Scanner.indentation_action: indent with", repr(c) ###
10895  */
10896   }
10897 
10898   /* "Cython/Compiler/Scanning.py":425
10899  *                 self.error("Mixed use of tabs and spaces")
10900  *         # Figure out how many indents/dedents to do
10901  *         current_level = self.current_level()             # <<<<<<<<<<<<<<
10902  *         new_level = len(text)
10903  *         #print "Changing indent level from", current_level, "to", new_level ###
10904  */
10905   __pyx_v_current_level = __pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level(__pyx_v_self);
10906 
10907   /* "Cython/Compiler/Scanning.py":426
10908  *         # Figure out how many indents/dedents to do
10909  *         current_level = self.current_level()
10910  *         new_level = len(text)             # <<<<<<<<<<<<<<
10911  *         #print "Changing indent level from", current_level, "to", new_level ###
10912  *         if new_level == current_level:
10913  */
10914   __pyx_t_8 = PyObject_Length(__pyx_v_text); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 426, __pyx_L1_error)
10915   __pyx_v_new_level = __pyx_t_8;
10916 
10917   /* "Cython/Compiler/Scanning.py":428
10918  *         new_level = len(text)
10919  *         #print "Changing indent level from", current_level, "to", new_level ###
10920  *         if new_level == current_level:             # <<<<<<<<<<<<<<
10921  *             return
10922  *         elif new_level > current_level:
10923  */
10924   __pyx_t_3 = ((__pyx_v_new_level == __pyx_v_current_level) != 0);
10925   if (__pyx_t_3) {
10926 
10927     /* "Cython/Compiler/Scanning.py":429
10928  *         #print "Changing indent level from", current_level, "to", new_level ###
10929  *         if new_level == current_level:
10930  *             return             # <<<<<<<<<<<<<<
10931  *         elif new_level > current_level:
10932  *             #print "...pushing level", new_level ###
10933  */
10934     __Pyx_XDECREF(__pyx_r);
10935     __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10936     goto __pyx_L0;
10937 
10938     /* "Cython/Compiler/Scanning.py":428
10939  *         new_level = len(text)
10940  *         #print "Changing indent level from", current_level, "to", new_level ###
10941  *         if new_level == current_level:             # <<<<<<<<<<<<<<
10942  *             return
10943  *         elif new_level > current_level:
10944  */
10945   }
10946 
10947   /* "Cython/Compiler/Scanning.py":430
10948  *         if new_level == current_level:
10949  *             return
10950  *         elif new_level > current_level:             # <<<<<<<<<<<<<<
10951  *             #print "...pushing level", new_level ###
10952  *             self.indentation_stack.append(new_level)
10953  */
10954   __pyx_t_3 = ((__pyx_v_new_level > __pyx_v_current_level) != 0);
10955   if (__pyx_t_3) {
10956 
10957     /* "Cython/Compiler/Scanning.py":432
10958  *         elif new_level > current_level:
10959  *             #print "...pushing level", new_level ###
10960  *             self.indentation_stack.append(new_level)             # <<<<<<<<<<<<<<
10961  *             self.produce('INDENT', '')
10962  *         else:
10963  */
10964     if (unlikely(__pyx_v_self->indentation_stack == Py_None)) {
10965       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
10966       __PYX_ERR(0, 432, __pyx_L1_error)
10967     }
10968     __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_new_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error)
10969     __Pyx_GOTREF(__pyx_t_1);
10970     __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_self->indentation_stack, __pyx_t_1); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 432, __pyx_L1_error)
10971     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10972 
10973     /* "Cython/Compiler/Scanning.py":433
10974  *             #print "...pushing level", new_level ###
10975  *             self.indentation_stack.append(new_level)
10976  *             self.produce('INDENT', '')             # <<<<<<<<<<<<<<
10977  *         else:
10978  *             while new_level < self.current_level():
10979  */
10980     __pyx_t_10.__pyx_n = 1;
10981     __pyx_t_10.text = __pyx_kp_u__11;
10982     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_INDENT, &__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error)
10983     __Pyx_GOTREF(__pyx_t_1);
10984     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10985 
10986     /* "Cython/Compiler/Scanning.py":430
10987  *         if new_level == current_level:
10988  *             return
10989  *         elif new_level > current_level:             # <<<<<<<<<<<<<<
10990  *             #print "...pushing level", new_level ###
10991  *             self.indentation_stack.append(new_level)
10992  */
10993     goto __pyx_L7;
10994   }
10995 
10996   /* "Cython/Compiler/Scanning.py":435
10997  *             self.produce('INDENT', '')
10998  *         else:
10999  *             while new_level < self.current_level():             # <<<<<<<<<<<<<<
11000  *                 #print "...popping level", self.indentation_stack[-1] ###
11001  *                 self.indentation_stack.pop()
11002  */
11003   /*else*/ {
11004     while (1) {
11005       __pyx_t_3 = ((__pyx_v_new_level < __pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level(__pyx_v_self)) != 0);
11006       if (!__pyx_t_3) break;
11007 
11008       /* "Cython/Compiler/Scanning.py":437
11009  *             while new_level < self.current_level():
11010  *                 #print "...popping level", self.indentation_stack[-1] ###
11011  *                 self.indentation_stack.pop()             # <<<<<<<<<<<<<<
11012  *                 self.produce('DEDENT', '')
11013  *             #print "...current level now", self.current_level() ###
11014  */
11015       if (unlikely(__pyx_v_self->indentation_stack == Py_None)) {
11016         PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
11017         __PYX_ERR(0, 437, __pyx_L1_error)
11018       }
11019       __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->indentation_stack); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)
11020       __Pyx_GOTREF(__pyx_t_1);
11021       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11022 
11023       /* "Cython/Compiler/Scanning.py":438
11024  *                 #print "...popping level", self.indentation_stack[-1] ###
11025  *                 self.indentation_stack.pop()
11026  *                 self.produce('DEDENT', '')             # <<<<<<<<<<<<<<
11027  *             #print "...current level now", self.current_level() ###
11028  *             if new_level != self.current_level():
11029  */
11030       __pyx_t_10.__pyx_n = 1;
11031       __pyx_t_10.text = __pyx_kp_u__11;
11032       __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_DEDENT, &__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error)
11033       __Pyx_GOTREF(__pyx_t_1);
11034       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11035     }
11036 
11037     /* "Cython/Compiler/Scanning.py":440
11038  *                 self.produce('DEDENT', '')
11039  *             #print "...current level now", self.current_level() ###
11040  *             if new_level != self.current_level():             # <<<<<<<<<<<<<<
11041  *                 self.error("Inconsistent indentation")
11042  *
11043  */
11044     __pyx_t_3 = ((__pyx_v_new_level != __pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level(__pyx_v_self)) != 0);
11045     if (__pyx_t_3) {
11046 
11047       /* "Cython/Compiler/Scanning.py":441
11048  *             #print "...current level now", self.current_level() ###
11049  *             if new_level != self.current_level():
11050  *                 self.error("Inconsistent indentation")             # <<<<<<<<<<<<<<
11051  *
11052  *     def eof_action(self, text):
11053  */
11054       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 441, __pyx_L1_error)
11055       __Pyx_GOTREF(__pyx_t_4);
11056       __pyx_t_7 = NULL;
11057       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
11058         __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
11059         if (likely(__pyx_t_7)) {
11060           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
11061           __Pyx_INCREF(__pyx_t_7);
11062           __Pyx_INCREF(function);
11063           __Pyx_DECREF_SET(__pyx_t_4, function);
11064         }
11065       }
11066       __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_kp_u_Inconsistent_indentation) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_Inconsistent_indentation);
11067       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
11068       if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error)
11069       __Pyx_GOTREF(__pyx_t_1);
11070       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
11071       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11072 
11073       /* "Cython/Compiler/Scanning.py":440
11074  *                 self.produce('DEDENT', '')
11075  *             #print "...current level now", self.current_level() ###
11076  *             if new_level != self.current_level():             # <<<<<<<<<<<<<<
11077  *                 self.error("Inconsistent indentation")
11078  *
11079  */
11080     }
11081   }
11082   __pyx_L7:;
11083 
11084   /* "Cython/Compiler/Scanning.py":407
11085  *         self.error("Unclosed string literal")
11086  *
11087  *     def indentation_action(self, text):             # <<<<<<<<<<<<<<
11088  *         self.begin('')
11089  *         # Indentation within brackets should be ignored.
11090  */
11091 
11092   /* function exit code */
11093   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11094   goto __pyx_L0;
11095   __pyx_L1_error:;
11096   __Pyx_XDECREF(__pyx_t_1);
11097   __Pyx_XDECREF(__pyx_t_4);
11098   __Pyx_XDECREF(__pyx_t_5);
11099   __Pyx_XDECREF(__pyx_t_7);
11100   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.indentation_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
11101   __pyx_r = 0;
11102   __pyx_L0:;
11103   __Pyx_XDECREF(__pyx_v_c);
11104   __Pyx_XGIVEREF(__pyx_r);
11105   __Pyx_RefNannyFinishContext();
11106   return __pyx_r;
11107 }
11108 
11109 /* Python wrapper */
11110 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_19indentation_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
11111 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_19indentation_action = {"indentation_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_19indentation_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_19indentation_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)11112 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_19indentation_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
11113   PyObject *__pyx_r = 0;
11114   __Pyx_RefNannyDeclarations
11115   __Pyx_RefNannySetupContext("indentation_action (wrapper)", 0);
11116   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_18indentation_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
11117 
11118   /* function exit code */
11119   __Pyx_RefNannyFinishContext();
11120   return __pyx_r;
11121 }
11122 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_18indentation_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_text)11123 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_18indentation_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_text) {
11124   PyObject *__pyx_r = NULL;
11125   __Pyx_RefNannyDeclarations
11126   PyObject *__pyx_t_1 = NULL;
11127   int __pyx_lineno = 0;
11128   const char *__pyx_filename = NULL;
11129   int __pyx_clineno = 0;
11130   __Pyx_RefNannySetupContext("indentation_action", 0);
11131   __Pyx_XDECREF(__pyx_r);
11132   __pyx_t_1 = __pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_action(__pyx_v_self, __pyx_v_text, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error)
11133   __Pyx_GOTREF(__pyx_t_1);
11134   __pyx_r = __pyx_t_1;
11135   __pyx_t_1 = 0;
11136   goto __pyx_L0;
11137 
11138   /* function exit code */
11139   __pyx_L1_error:;
11140   __Pyx_XDECREF(__pyx_t_1);
11141   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.indentation_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
11142   __pyx_r = NULL;
11143   __pyx_L0:;
11144   __Pyx_XGIVEREF(__pyx_r);
11145   __Pyx_RefNannyFinishContext();
11146   return __pyx_r;
11147 }
11148 
11149 /* "Cython/Compiler/Scanning.py":443
11150  *                 self.error("Inconsistent indentation")
11151  *
11152  *     def eof_action(self, text):             # <<<<<<<<<<<<<<
11153  *         while len(self.indentation_stack) > 1:
11154  *             self.produce('DEDENT', '')
11155  */
11156 
11157 /* Python wrapper */
11158 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21eof_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
11159 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_21eof_action = {"eof_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21eof_action, METH_O, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21eof_action(PyObject * __pyx_v_self,PyObject * __pyx_v_text)11160 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21eof_action(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
11161   PyObject *__pyx_r = 0;
11162   __Pyx_RefNannyDeclarations
11163   __Pyx_RefNannySetupContext("eof_action (wrapper)", 0);
11164   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_20eof_action(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_text));
11165 
11166   /* function exit code */
11167   __Pyx_RefNannyFinishContext();
11168   return __pyx_r;
11169 }
11170 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_20eof_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,CYTHON_UNUSED PyObject * __pyx_v_text)11171 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_20eof_action(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_text) {
11172   PyObject *__pyx_r = NULL;
11173   __Pyx_RefNannyDeclarations
11174   PyObject *__pyx_t_1 = NULL;
11175   Py_ssize_t __pyx_t_2;
11176   int __pyx_t_3;
11177   struct __pyx_opt_args_6Cython_4Plex_8Scanners_7Scanner_produce __pyx_t_4;
11178   int __pyx_lineno = 0;
11179   const char *__pyx_filename = NULL;
11180   int __pyx_clineno = 0;
11181   __Pyx_RefNannySetupContext("eof_action", 0);
11182 
11183   /* "Cython/Compiler/Scanning.py":444
11184  *
11185  *     def eof_action(self, text):
11186  *         while len(self.indentation_stack) > 1:             # <<<<<<<<<<<<<<
11187  *             self.produce('DEDENT', '')
11188  *             self.indentation_stack.pop()
11189  */
11190   while (1) {
11191     __pyx_t_1 = __pyx_v_self->indentation_stack;
11192     __Pyx_INCREF(__pyx_t_1);
11193     if (unlikely(__pyx_t_1 == Py_None)) {
11194       PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
11195       __PYX_ERR(0, 444, __pyx_L1_error)
11196     }
11197     __pyx_t_2 = PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 444, __pyx_L1_error)
11198     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11199     __pyx_t_3 = ((__pyx_t_2 > 1) != 0);
11200     if (!__pyx_t_3) break;
11201 
11202     /* "Cython/Compiler/Scanning.py":445
11203  *     def eof_action(self, text):
11204  *         while len(self.indentation_stack) > 1:
11205  *             self.produce('DEDENT', '')             # <<<<<<<<<<<<<<
11206  *             self.indentation_stack.pop()
11207  *         self.produce('EOF', '')
11208  */
11209     __pyx_t_4.__pyx_n = 1;
11210     __pyx_t_4.text = __pyx_kp_u__11;
11211     __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_DEDENT, &__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 445, __pyx_L1_error)
11212     __Pyx_GOTREF(__pyx_t_1);
11213     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11214 
11215     /* "Cython/Compiler/Scanning.py":446
11216  *         while len(self.indentation_stack) > 1:
11217  *             self.produce('DEDENT', '')
11218  *             self.indentation_stack.pop()             # <<<<<<<<<<<<<<
11219  *         self.produce('EOF', '')
11220  *
11221  */
11222     if (unlikely(__pyx_v_self->indentation_stack == Py_None)) {
11223       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
11224       __PYX_ERR(0, 446, __pyx_L1_error)
11225     }
11226     __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->indentation_stack); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 446, __pyx_L1_error)
11227     __Pyx_GOTREF(__pyx_t_1);
11228     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11229   }
11230 
11231   /* "Cython/Compiler/Scanning.py":447
11232  *             self.produce('DEDENT', '')
11233  *             self.indentation_stack.pop()
11234  *         self.produce('EOF', '')             # <<<<<<<<<<<<<<
11235  *
11236  *     def next(self):
11237  */
11238   __pyx_t_4.__pyx_n = 1;
11239   __pyx_t_4.text = __pyx_kp_u__11;
11240   __pyx_t_1 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.produce(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), __pyx_n_u_EOF, &__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __pyx_L1_error)
11241   __Pyx_GOTREF(__pyx_t_1);
11242   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11243 
11244   /* "Cython/Compiler/Scanning.py":443
11245  *                 self.error("Inconsistent indentation")
11246  *
11247  *     def eof_action(self, text):             # <<<<<<<<<<<<<<
11248  *         while len(self.indentation_stack) > 1:
11249  *             self.produce('DEDENT', '')
11250  */
11251 
11252   /* function exit code */
11253   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11254   goto __pyx_L0;
11255   __pyx_L1_error:;
11256   __Pyx_XDECREF(__pyx_t_1);
11257   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.eof_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
11258   __pyx_r = NULL;
11259   __pyx_L0:;
11260   __Pyx_XGIVEREF(__pyx_r);
11261   __Pyx_RefNannyFinishContext();
11262   return __pyx_r;
11263 }
11264 
11265 /* "Cython/Compiler/Scanning.py":449
11266  *         self.produce('EOF', '')
11267  *
11268  *     def next(self):             # <<<<<<<<<<<<<<
11269  *         try:
11270  *             sy, systring = self.read()
11271  */
11272 
11273 /* Python wrapper */
11274 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_23next(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
11275 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_23next = {"next", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_23next, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_23next(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)11276 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_23next(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
11277   PyObject *__pyx_r = 0;
11278   __Pyx_RefNannyDeclarations
11279   __Pyx_RefNannySetupContext("next (wrapper)", 0);
11280   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_22next(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
11281 
11282   /* function exit code */
11283   __Pyx_RefNannyFinishContext();
11284   return __pyx_r;
11285 }
11286 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_22next(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)11287 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_22next(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
11288   PyObject *__pyx_v_sy = NULL;
11289   PyObject *__pyx_v_systring = NULL;
11290   PyObject *__pyx_r = NULL;
11291   __Pyx_RefNannyDeclarations
11292   PyObject *__pyx_t_1 = NULL;
11293   PyObject *__pyx_t_2 = NULL;
11294   PyObject *__pyx_t_3 = NULL;
11295   PyObject *__pyx_t_4 = NULL;
11296   PyObject *__pyx_t_5 = NULL;
11297   PyObject *__pyx_t_6 = NULL;
11298   PyObject *__pyx_t_7 = NULL;
11299   int __pyx_t_8;
11300   PyObject *__pyx_t_9 = NULL;
11301   PyObject *__pyx_t_10 = NULL;
11302   int __pyx_t_11;
11303   int __pyx_t_12;
11304   int __pyx_t_13;
11305   int __pyx_t_14;
11306   int __pyx_lineno = 0;
11307   const char *__pyx_filename = NULL;
11308   int __pyx_clineno = 0;
11309   __Pyx_RefNannySetupContext("next", 0);
11310 
11311   /* "Cython/Compiler/Scanning.py":450
11312  *
11313  *     def next(self):
11314  *         try:             # <<<<<<<<<<<<<<
11315  *             sy, systring = self.read()
11316  *         except UnrecognizedInput:
11317  */
11318   {
11319     __Pyx_PyThreadState_declare
11320     __Pyx_PyThreadState_assign
11321     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
11322     __Pyx_XGOTREF(__pyx_t_1);
11323     __Pyx_XGOTREF(__pyx_t_2);
11324     __Pyx_XGOTREF(__pyx_t_3);
11325     /*try:*/ {
11326 
11327       /* "Cython/Compiler/Scanning.py":451
11328  *     def next(self):
11329  *         try:
11330  *             sy, systring = self.read()             # <<<<<<<<<<<<<<
11331  *         except UnrecognizedInput:
11332  *             self.error("Unrecognized character")
11333  */
11334       __pyx_t_4 = ((struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.read(((struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner *)__pyx_v_self), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 451, __pyx_L3_error)
11335       __Pyx_GOTREF(__pyx_t_4);
11336       if (likely(__pyx_t_4 != Py_None)) {
11337         PyObject* sequence = __pyx_t_4;
11338         Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
11339         if (unlikely(size != 2)) {
11340           if (size > 2) __Pyx_RaiseTooManyValuesError(2);
11341           else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
11342           __PYX_ERR(0, 451, __pyx_L3_error)
11343         }
11344         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
11345         __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
11346         __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
11347         __Pyx_INCREF(__pyx_t_5);
11348         __Pyx_INCREF(__pyx_t_6);
11349         #else
11350         __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 451, __pyx_L3_error)
11351         __Pyx_GOTREF(__pyx_t_5);
11352         __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 451, __pyx_L3_error)
11353         __Pyx_GOTREF(__pyx_t_6);
11354         #endif
11355         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
11356       } else {
11357         __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 451, __pyx_L3_error)
11358       }
11359       __pyx_v_sy = __pyx_t_5;
11360       __pyx_t_5 = 0;
11361       __pyx_v_systring = __pyx_t_6;
11362       __pyx_t_6 = 0;
11363 
11364       /* "Cython/Compiler/Scanning.py":450
11365  *
11366  *     def next(self):
11367  *         try:             # <<<<<<<<<<<<<<
11368  *             sy, systring = self.read()
11369  *         except UnrecognizedInput:
11370  */
11371     }
11372     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
11373     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
11374     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
11375     goto __pyx_L8_try_end;
11376     __pyx_L3_error:;
11377     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
11378     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
11379     __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
11380 
11381     /* "Cython/Compiler/Scanning.py":452
11382  *         try:
11383  *             sy, systring = self.read()
11384  *         except UnrecognizedInput:             # <<<<<<<<<<<<<<
11385  *             self.error("Unrecognized character")
11386  *             return  # just a marker, error() always raises
11387  */
11388     __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5);
11389     __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_UnrecognizedInput); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 452, __pyx_L5_except_error)
11390     __Pyx_GOTREF(__pyx_t_7);
11391     __pyx_t_8 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_4, __pyx_t_7);
11392     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
11393     __Pyx_ErrRestore(__pyx_t_4, __pyx_t_6, __pyx_t_5);
11394     __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0;
11395     if (__pyx_t_8) {
11396       __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.next", __pyx_clineno, __pyx_lineno, __pyx_filename);
11397       if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_4) < 0) __PYX_ERR(0, 452, __pyx_L5_except_error)
11398       __Pyx_GOTREF(__pyx_t_5);
11399       __Pyx_GOTREF(__pyx_t_6);
11400       __Pyx_GOTREF(__pyx_t_4);
11401 
11402       /* "Cython/Compiler/Scanning.py":453
11403  *             sy, systring = self.read()
11404  *         except UnrecognizedInput:
11405  *             self.error("Unrecognized character")             # <<<<<<<<<<<<<<
11406  *             return  # just a marker, error() always raises
11407  *         if sy == IDENT:
11408  */
11409       __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_error); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 453, __pyx_L5_except_error)
11410       __Pyx_GOTREF(__pyx_t_9);
11411       __pyx_t_10 = NULL;
11412       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
11413         __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
11414         if (likely(__pyx_t_10)) {
11415           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
11416           __Pyx_INCREF(__pyx_t_10);
11417           __Pyx_INCREF(function);
11418           __Pyx_DECREF_SET(__pyx_t_9, function);
11419         }
11420       }
11421       __pyx_t_7 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_kp_u_Unrecognized_character) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_kp_u_Unrecognized_character);
11422       __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
11423       if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 453, __pyx_L5_except_error)
11424       __Pyx_GOTREF(__pyx_t_7);
11425       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
11426       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
11427 
11428       /* "Cython/Compiler/Scanning.py":454
11429  *         except UnrecognizedInput:
11430  *             self.error("Unrecognized character")
11431  *             return  # just a marker, error() always raises             # <<<<<<<<<<<<<<
11432  *         if sy == IDENT:
11433  *             if systring in self.keywords:
11434  */
11435       __Pyx_XDECREF(__pyx_r);
11436       __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11437       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
11438       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
11439       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
11440       goto __pyx_L6_except_return;
11441     }
11442     goto __pyx_L5_except_error;
11443     __pyx_L5_except_error:;
11444 
11445     /* "Cython/Compiler/Scanning.py":450
11446  *
11447  *     def next(self):
11448  *         try:             # <<<<<<<<<<<<<<
11449  *             sy, systring = self.read()
11450  *         except UnrecognizedInput:
11451  */
11452     __Pyx_XGIVEREF(__pyx_t_1);
11453     __Pyx_XGIVEREF(__pyx_t_2);
11454     __Pyx_XGIVEREF(__pyx_t_3);
11455     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
11456     goto __pyx_L1_error;
11457     __pyx_L6_except_return:;
11458     __Pyx_XGIVEREF(__pyx_t_1);
11459     __Pyx_XGIVEREF(__pyx_t_2);
11460     __Pyx_XGIVEREF(__pyx_t_3);
11461     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
11462     goto __pyx_L0;
11463     __pyx_L8_try_end:;
11464   }
11465 
11466   /* "Cython/Compiler/Scanning.py":455
11467  *             self.error("Unrecognized character")
11468  *             return  # just a marker, error() always raises
11469  *         if sy == IDENT:             # <<<<<<<<<<<<<<
11470  *             if systring in self.keywords:
11471  *                 if systring == u'print' and print_function in self.context.future_directives:
11472  */
11473   __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_sy, __pyx_v_6Cython_8Compiler_8Scanning_IDENT, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 455, __pyx_L1_error)
11474   if (__pyx_t_11) {
11475 
11476     /* "Cython/Compiler/Scanning.py":456
11477  *             return  # just a marker, error() always raises
11478  *         if sy == IDENT:
11479  *             if systring in self.keywords:             # <<<<<<<<<<<<<<
11480  *                 if systring == u'print' and print_function in self.context.future_directives:
11481  *                     self.keywords.discard('print')
11482  */
11483     if (unlikely(__pyx_v_self->keywords == Py_None)) {
11484       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
11485       __PYX_ERR(0, 456, __pyx_L1_error)
11486     }
11487     __pyx_t_11 = (__Pyx_PySet_ContainsTF(__pyx_v_systring, __pyx_v_self->keywords, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 456, __pyx_L1_error)
11488     __pyx_t_12 = (__pyx_t_11 != 0);
11489     if (__pyx_t_12) {
11490 
11491       /* "Cython/Compiler/Scanning.py":457
11492  *         if sy == IDENT:
11493  *             if systring in self.keywords:
11494  *                 if systring == u'print' and print_function in self.context.future_directives:             # <<<<<<<<<<<<<<
11495  *                     self.keywords.discard('print')
11496  *                 elif systring == u'exec' and self.context.language_level >= 3:
11497  */
11498       __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_systring, __pyx_n_u_print, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 457, __pyx_L1_error)
11499       if (__pyx_t_11) {
11500       } else {
11501         __pyx_t_12 = __pyx_t_11;
11502         goto __pyx_L14_bool_binop_done;
11503       }
11504       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->context, __pyx_n_s_future_directives); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 457, __pyx_L1_error)
11505       __Pyx_GOTREF(__pyx_t_4);
11506       __pyx_t_11 = (__Pyx_PySequence_ContainsTF(__pyx_v_6Cython_8Compiler_8Scanning_print_function, __pyx_t_4, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 457, __pyx_L1_error)
11507       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
11508       __pyx_t_13 = (__pyx_t_11 != 0);
11509       __pyx_t_12 = __pyx_t_13;
11510       __pyx_L14_bool_binop_done:;
11511       if (__pyx_t_12) {
11512 
11513         /* "Cython/Compiler/Scanning.py":458
11514  *             if systring in self.keywords:
11515  *                 if systring == u'print' and print_function in self.context.future_directives:
11516  *                     self.keywords.discard('print')             # <<<<<<<<<<<<<<
11517  *                 elif systring == u'exec' and self.context.language_level >= 3:
11518  *                     self.keywords.discard('exec')
11519  */
11520         if (unlikely(__pyx_v_self->keywords == Py_None)) {
11521           PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "discard");
11522           __PYX_ERR(0, 458, __pyx_L1_error)
11523         }
11524         __pyx_t_14 = __Pyx_PySet_Discard(__pyx_v_self->keywords, __pyx_n_u_print); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 458, __pyx_L1_error)
11525 
11526         /* "Cython/Compiler/Scanning.py":457
11527  *         if sy == IDENT:
11528  *             if systring in self.keywords:
11529  *                 if systring == u'print' and print_function in self.context.future_directives:             # <<<<<<<<<<<<<<
11530  *                     self.keywords.discard('print')
11531  *                 elif systring == u'exec' and self.context.language_level >= 3:
11532  */
11533         goto __pyx_L13;
11534       }
11535 
11536       /* "Cython/Compiler/Scanning.py":459
11537  *                 if systring == u'print' and print_function in self.context.future_directives:
11538  *                     self.keywords.discard('print')
11539  *                 elif systring == u'exec' and self.context.language_level >= 3:             # <<<<<<<<<<<<<<
11540  *                     self.keywords.discard('exec')
11541  *                 else:
11542  */
11543       __pyx_t_13 = (__Pyx_PyUnicode_Equals(__pyx_v_systring, __pyx_n_u_exec, Py_EQ)); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 459, __pyx_L1_error)
11544       if (__pyx_t_13) {
11545       } else {
11546         __pyx_t_12 = __pyx_t_13;
11547         goto __pyx_L16_bool_binop_done;
11548       }
11549       __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->context, __pyx_n_s_language_level); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L1_error)
11550       __Pyx_GOTREF(__pyx_t_4);
11551       __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_int_3, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 459, __pyx_L1_error)
11552       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
11553       __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 459, __pyx_L1_error)
11554       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
11555       __pyx_t_12 = __pyx_t_13;
11556       __pyx_L16_bool_binop_done:;
11557       if (__pyx_t_12) {
11558 
11559         /* "Cython/Compiler/Scanning.py":460
11560  *                     self.keywords.discard('print')
11561  *                 elif systring == u'exec' and self.context.language_level >= 3:
11562  *                     self.keywords.discard('exec')             # <<<<<<<<<<<<<<
11563  *                 else:
11564  *                     sy = systring
11565  */
11566         if (unlikely(__pyx_v_self->keywords == Py_None)) {
11567           PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "discard");
11568           __PYX_ERR(0, 460, __pyx_L1_error)
11569         }
11570         __pyx_t_14 = __Pyx_PySet_Discard(__pyx_v_self->keywords, __pyx_n_u_exec); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 460, __pyx_L1_error)
11571 
11572         /* "Cython/Compiler/Scanning.py":459
11573  *                 if systring == u'print' and print_function in self.context.future_directives:
11574  *                     self.keywords.discard('print')
11575  *                 elif systring == u'exec' and self.context.language_level >= 3:             # <<<<<<<<<<<<<<
11576  *                     self.keywords.discard('exec')
11577  *                 else:
11578  */
11579         goto __pyx_L13;
11580       }
11581 
11582       /* "Cython/Compiler/Scanning.py":462
11583  *                     self.keywords.discard('exec')
11584  *                 else:
11585  *                     sy = systring             # <<<<<<<<<<<<<<
11586  *             systring = self.context.intern_ustring(systring)
11587  *         self.sy = sy
11588  */
11589       /*else*/ {
11590         __Pyx_INCREF(__pyx_v_systring);
11591         __Pyx_DECREF_SET(__pyx_v_sy, __pyx_v_systring);
11592       }
11593       __pyx_L13:;
11594 
11595       /* "Cython/Compiler/Scanning.py":456
11596  *             return  # just a marker, error() always raises
11597  *         if sy == IDENT:
11598  *             if systring in self.keywords:             # <<<<<<<<<<<<<<
11599  *                 if systring == u'print' and print_function in self.context.future_directives:
11600  *                     self.keywords.discard('print')
11601  */
11602     }
11603 
11604     /* "Cython/Compiler/Scanning.py":463
11605  *                 else:
11606  *                     sy = systring
11607  *             systring = self.context.intern_ustring(systring)             # <<<<<<<<<<<<<<
11608  *         self.sy = sy
11609  *         self.systring = systring
11610  */
11611     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->context, __pyx_n_s_intern_ustring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 463, __pyx_L1_error)
11612     __Pyx_GOTREF(__pyx_t_4);
11613     __pyx_t_5 = NULL;
11614     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
11615       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
11616       if (likely(__pyx_t_5)) {
11617         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
11618         __Pyx_INCREF(__pyx_t_5);
11619         __Pyx_INCREF(function);
11620         __Pyx_DECREF_SET(__pyx_t_4, function);
11621       }
11622     }
11623     __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_systring) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_systring);
11624     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
11625     if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 463, __pyx_L1_error)
11626     __Pyx_GOTREF(__pyx_t_6);
11627     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
11628     __Pyx_DECREF_SET(__pyx_v_systring, __pyx_t_6);
11629     __pyx_t_6 = 0;
11630 
11631     /* "Cython/Compiler/Scanning.py":455
11632  *             self.error("Unrecognized character")
11633  *             return  # just a marker, error() always raises
11634  *         if sy == IDENT:             # <<<<<<<<<<<<<<
11635  *             if systring in self.keywords:
11636  *                 if systring == u'print' and print_function in self.context.future_directives:
11637  */
11638   }
11639 
11640   /* "Cython/Compiler/Scanning.py":464
11641  *                     sy = systring
11642  *             systring = self.context.intern_ustring(systring)
11643  *         self.sy = sy             # <<<<<<<<<<<<<<
11644  *         self.systring = systring
11645  *         if False: # debug_scanner:
11646  */
11647   __Pyx_INCREF(__pyx_v_sy);
11648   __Pyx_GIVEREF(__pyx_v_sy);
11649   __Pyx_GOTREF(__pyx_v_self->sy);
11650   __Pyx_DECREF(__pyx_v_self->sy);
11651   __pyx_v_self->sy = __pyx_v_sy;
11652 
11653   /* "Cython/Compiler/Scanning.py":465
11654  *             systring = self.context.intern_ustring(systring)
11655  *         self.sy = sy
11656  *         self.systring = systring             # <<<<<<<<<<<<<<
11657  *         if False: # debug_scanner:
11658  *             _, line, col = self.position()
11659  */
11660   __Pyx_INCREF(__pyx_v_systring);
11661   __Pyx_GIVEREF(__pyx_v_systring);
11662   __Pyx_GOTREF(__pyx_v_self->systring);
11663   __Pyx_DECREF(__pyx_v_self->systring);
11664   __pyx_v_self->systring = __pyx_v_systring;
11665 
11666   /* "Cython/Compiler/Scanning.py":449
11667  *         self.produce('EOF', '')
11668  *
11669  *     def next(self):             # <<<<<<<<<<<<<<
11670  *         try:
11671  *             sy, systring = self.read()
11672  */
11673 
11674   /* function exit code */
11675   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11676   goto __pyx_L0;
11677   __pyx_L1_error:;
11678   __Pyx_XDECREF(__pyx_t_4);
11679   __Pyx_XDECREF(__pyx_t_5);
11680   __Pyx_XDECREF(__pyx_t_6);
11681   __Pyx_XDECREF(__pyx_t_7);
11682   __Pyx_XDECREF(__pyx_t_9);
11683   __Pyx_XDECREF(__pyx_t_10);
11684   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.next", __pyx_clineno, __pyx_lineno, __pyx_filename);
11685   __pyx_r = NULL;
11686   __pyx_L0:;
11687   __Pyx_XDECREF(__pyx_v_sy);
11688   __Pyx_XDECREF(__pyx_v_systring);
11689   __Pyx_XGIVEREF(__pyx_r);
11690   __Pyx_RefNannyFinishContext();
11691   return __pyx_r;
11692 }
11693 
11694 /* "Cython/Compiler/Scanning.py":474
11695  *             print("--- %3d %2d %s" % (line, col, t))
11696  *
11697  *     def peek(self):             # <<<<<<<<<<<<<<
11698  *         saved = self.sy, self.systring
11699  *         self.next()
11700  */
11701 
11702 /* Python wrapper */
11703 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_25peek(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
11704 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_25peek = {"peek", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_25peek, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_25peek(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)11705 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_25peek(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
11706   PyObject *__pyx_r = 0;
11707   __Pyx_RefNannyDeclarations
11708   __Pyx_RefNannySetupContext("peek (wrapper)", 0);
11709   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_24peek(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
11710 
11711   /* function exit code */
11712   __Pyx_RefNannyFinishContext();
11713   return __pyx_r;
11714 }
11715 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_24peek(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)11716 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_24peek(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
11717   PyObject *__pyx_v_saved = NULL;
11718   PyObject *__pyx_v_next = NULL;
11719   PyObject *__pyx_r = NULL;
11720   __Pyx_RefNannyDeclarations
11721   PyObject *__pyx_t_1 = NULL;
11722   PyObject *__pyx_t_2 = NULL;
11723   PyObject *__pyx_t_3 = NULL;
11724   int __pyx_lineno = 0;
11725   const char *__pyx_filename = NULL;
11726   int __pyx_clineno = 0;
11727   __Pyx_RefNannySetupContext("peek", 0);
11728 
11729   /* "Cython/Compiler/Scanning.py":475
11730  *
11731  *     def peek(self):
11732  *         saved = self.sy, self.systring             # <<<<<<<<<<<<<<
11733  *         self.next()
11734  *         next = self.sy, self.systring
11735  */
11736   __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error)
11737   __Pyx_GOTREF(__pyx_t_1);
11738   __Pyx_INCREF(__pyx_v_self->sy);
11739   __Pyx_GIVEREF(__pyx_v_self->sy);
11740   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->sy);
11741   __Pyx_INCREF(__pyx_v_self->systring);
11742   __Pyx_GIVEREF(__pyx_v_self->systring);
11743   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->systring);
11744   __pyx_v_saved = ((PyObject*)__pyx_t_1);
11745   __pyx_t_1 = 0;
11746 
11747   /* "Cython/Compiler/Scanning.py":476
11748  *     def peek(self):
11749  *         saved = self.sy, self.systring
11750  *         self.next()             # <<<<<<<<<<<<<<
11751  *         next = self.sy, self.systring
11752  *         self.unread(*next)
11753  */
11754   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_next); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 476, __pyx_L1_error)
11755   __Pyx_GOTREF(__pyx_t_2);
11756   __pyx_t_3 = NULL;
11757   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
11758     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
11759     if (likely(__pyx_t_3)) {
11760       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
11761       __Pyx_INCREF(__pyx_t_3);
11762       __Pyx_INCREF(function);
11763       __Pyx_DECREF_SET(__pyx_t_2, function);
11764     }
11765   }
11766   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
11767   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
11768   if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 476, __pyx_L1_error)
11769   __Pyx_GOTREF(__pyx_t_1);
11770   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11771   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11772 
11773   /* "Cython/Compiler/Scanning.py":477
11774  *         saved = self.sy, self.systring
11775  *         self.next()
11776  *         next = self.sy, self.systring             # <<<<<<<<<<<<<<
11777  *         self.unread(*next)
11778  *         self.sy, self.systring = saved
11779  */
11780   __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L1_error)
11781   __Pyx_GOTREF(__pyx_t_1);
11782   __Pyx_INCREF(__pyx_v_self->sy);
11783   __Pyx_GIVEREF(__pyx_v_self->sy);
11784   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->sy);
11785   __Pyx_INCREF(__pyx_v_self->systring);
11786   __Pyx_GIVEREF(__pyx_v_self->systring);
11787   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->systring);
11788   __pyx_v_next = ((PyObject*)__pyx_t_1);
11789   __pyx_t_1 = 0;
11790 
11791   /* "Cython/Compiler/Scanning.py":478
11792  *         self.next()
11793  *         next = self.sy, self.systring
11794  *         self.unread(*next)             # <<<<<<<<<<<<<<
11795  *         self.sy, self.systring = saved
11796  *         return next
11797  */
11798   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_unread); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
11799   __Pyx_GOTREF(__pyx_t_1);
11800   __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_next, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 478, __pyx_L1_error)
11801   __Pyx_GOTREF(__pyx_t_2);
11802   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11803   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11804 
11805   /* "Cython/Compiler/Scanning.py":479
11806  *         next = self.sy, self.systring
11807  *         self.unread(*next)
11808  *         self.sy, self.systring = saved             # <<<<<<<<<<<<<<
11809  *         return next
11810  *
11811  */
11812   if (1) {
11813     PyObject* sequence = __pyx_v_saved;
11814     Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
11815     if (unlikely(size != 2)) {
11816       if (size > 2) __Pyx_RaiseTooManyValuesError(2);
11817       else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
11818       __PYX_ERR(0, 479, __pyx_L1_error)
11819     }
11820     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
11821     __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
11822     __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1);
11823     __Pyx_INCREF(__pyx_t_2);
11824     __Pyx_INCREF(__pyx_t_1);
11825     #else
11826     __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 479, __pyx_L1_error)
11827     __Pyx_GOTREF(__pyx_t_2);
11828     __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error)
11829     __Pyx_GOTREF(__pyx_t_1);
11830     #endif
11831   }
11832   __Pyx_GIVEREF(__pyx_t_2);
11833   __Pyx_GOTREF(__pyx_v_self->sy);
11834   __Pyx_DECREF(__pyx_v_self->sy);
11835   __pyx_v_self->sy = __pyx_t_2;
11836   __pyx_t_2 = 0;
11837   __Pyx_GIVEREF(__pyx_t_1);
11838   __Pyx_GOTREF(__pyx_v_self->systring);
11839   __Pyx_DECREF(__pyx_v_self->systring);
11840   __pyx_v_self->systring = __pyx_t_1;
11841   __pyx_t_1 = 0;
11842 
11843   /* "Cython/Compiler/Scanning.py":480
11844  *         self.unread(*next)
11845  *         self.sy, self.systring = saved
11846  *         return next             # <<<<<<<<<<<<<<
11847  *
11848  *     def put_back(self, sy, systring):
11849  */
11850   __Pyx_XDECREF(__pyx_r);
11851   __Pyx_INCREF(__pyx_v_next);
11852   __pyx_r = __pyx_v_next;
11853   goto __pyx_L0;
11854 
11855   /* "Cython/Compiler/Scanning.py":474
11856  *             print("--- %3d %2d %s" % (line, col, t))
11857  *
11858  *     def peek(self):             # <<<<<<<<<<<<<<
11859  *         saved = self.sy, self.systring
11860  *         self.next()
11861  */
11862 
11863   /* function exit code */
11864   __pyx_L1_error:;
11865   __Pyx_XDECREF(__pyx_t_1);
11866   __Pyx_XDECREF(__pyx_t_2);
11867   __Pyx_XDECREF(__pyx_t_3);
11868   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.peek", __pyx_clineno, __pyx_lineno, __pyx_filename);
11869   __pyx_r = NULL;
11870   __pyx_L0:;
11871   __Pyx_XDECREF(__pyx_v_saved);
11872   __Pyx_XDECREF(__pyx_v_next);
11873   __Pyx_XGIVEREF(__pyx_r);
11874   __Pyx_RefNannyFinishContext();
11875   return __pyx_r;
11876 }
11877 
11878 /* "Cython/Compiler/Scanning.py":482
11879  *         return next
11880  *
11881  *     def put_back(self, sy, systring):             # <<<<<<<<<<<<<<
11882  *         self.unread(self.sy, self.systring)
11883  *         self.sy = sy
11884  */
11885 
11886 /* Python wrapper */
11887 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_27put_back(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11888 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_27put_back = {"put_back", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_27put_back, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_27put_back(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)11889 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_27put_back(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
11890   PyObject *__pyx_v_sy = 0;
11891   PyObject *__pyx_v_systring = 0;
11892   int __pyx_lineno = 0;
11893   const char *__pyx_filename = NULL;
11894   int __pyx_clineno = 0;
11895   PyObject *__pyx_r = 0;
11896   __Pyx_RefNannyDeclarations
11897   __Pyx_RefNannySetupContext("put_back (wrapper)", 0);
11898   {
11899     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sy,&__pyx_n_s_systring,0};
11900     PyObject* values[2] = {0,0};
11901     if (unlikely(__pyx_kwds)) {
11902       Py_ssize_t kw_args;
11903       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
11904       switch (pos_args) {
11905         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
11906         CYTHON_FALLTHROUGH;
11907         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
11908         CYTHON_FALLTHROUGH;
11909         case  0: break;
11910         default: goto __pyx_L5_argtuple_error;
11911       }
11912       kw_args = PyDict_Size(__pyx_kwds);
11913       switch (pos_args) {
11914         case  0:
11915         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sy)) != 0)) kw_args--;
11916         else goto __pyx_L5_argtuple_error;
11917         CYTHON_FALLTHROUGH;
11918         case  1:
11919         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_systring)) != 0)) kw_args--;
11920         else {
11921           __Pyx_RaiseArgtupleInvalid("put_back", 1, 2, 2, 1); __PYX_ERR(0, 482, __pyx_L3_error)
11922         }
11923       }
11924       if (unlikely(kw_args > 0)) {
11925         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "put_back") < 0)) __PYX_ERR(0, 482, __pyx_L3_error)
11926       }
11927     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
11928       goto __pyx_L5_argtuple_error;
11929     } else {
11930       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
11931       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
11932     }
11933     __pyx_v_sy = values[0];
11934     __pyx_v_systring = values[1];
11935   }
11936   goto __pyx_L4_argument_unpacking_done;
11937   __pyx_L5_argtuple_error:;
11938   __Pyx_RaiseArgtupleInvalid("put_back", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 482, __pyx_L3_error)
11939   __pyx_L3_error:;
11940   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.put_back", __pyx_clineno, __pyx_lineno, __pyx_filename);
11941   __Pyx_RefNannyFinishContext();
11942   return NULL;
11943   __pyx_L4_argument_unpacking_done:;
11944   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_26put_back(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_sy, __pyx_v_systring);
11945 
11946   /* function exit code */
11947   __Pyx_RefNannyFinishContext();
11948   return __pyx_r;
11949 }
11950 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_26put_back(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_sy,PyObject * __pyx_v_systring)11951 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_26put_back(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_sy, PyObject *__pyx_v_systring) {
11952   PyObject *__pyx_r = NULL;
11953   __Pyx_RefNannyDeclarations
11954   PyObject *__pyx_t_1 = NULL;
11955   PyObject *__pyx_t_2 = NULL;
11956   PyObject *__pyx_t_3 = NULL;
11957   int __pyx_t_4;
11958   PyObject *__pyx_t_5 = NULL;
11959   int __pyx_lineno = 0;
11960   const char *__pyx_filename = NULL;
11961   int __pyx_clineno = 0;
11962   __Pyx_RefNannySetupContext("put_back", 0);
11963 
11964   /* "Cython/Compiler/Scanning.py":483
11965  *
11966  *     def put_back(self, sy, systring):
11967  *         self.unread(self.sy, self.systring)             # <<<<<<<<<<<<<<
11968  *         self.sy = sy
11969  *         self.systring = systring
11970  */
11971   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_unread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 483, __pyx_L1_error)
11972   __Pyx_GOTREF(__pyx_t_2);
11973   __pyx_t_3 = NULL;
11974   __pyx_t_4 = 0;
11975   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
11976     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
11977     if (likely(__pyx_t_3)) {
11978       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
11979       __Pyx_INCREF(__pyx_t_3);
11980       __Pyx_INCREF(function);
11981       __Pyx_DECREF_SET(__pyx_t_2, function);
11982       __pyx_t_4 = 1;
11983     }
11984   }
11985   #if CYTHON_FAST_PYCALL
11986   if (PyFunction_Check(__pyx_t_2)) {
11987     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->sy, __pyx_v_self->systring};
11988     __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, 483, __pyx_L1_error)
11989     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
11990     __Pyx_GOTREF(__pyx_t_1);
11991   } else
11992   #endif
11993   #if CYTHON_FAST_PYCCALL
11994   if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
11995     PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->sy, __pyx_v_self->systring};
11996     __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, 483, __pyx_L1_error)
11997     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
11998     __Pyx_GOTREF(__pyx_t_1);
11999   } else
12000   #endif
12001   {
12002     __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 483, __pyx_L1_error)
12003     __Pyx_GOTREF(__pyx_t_5);
12004     if (__pyx_t_3) {
12005       __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
12006     }
12007     __Pyx_INCREF(__pyx_v_self->sy);
12008     __Pyx_GIVEREF(__pyx_v_self->sy);
12009     PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self->sy);
12010     __Pyx_INCREF(__pyx_v_self->systring);
12011     __Pyx_GIVEREF(__pyx_v_self->systring);
12012     PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_self->systring);
12013     __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 483, __pyx_L1_error)
12014     __Pyx_GOTREF(__pyx_t_1);
12015     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
12016   }
12017   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
12018   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12019 
12020   /* "Cython/Compiler/Scanning.py":484
12021  *     def put_back(self, sy, systring):
12022  *         self.unread(self.sy, self.systring)
12023  *         self.sy = sy             # <<<<<<<<<<<<<<
12024  *         self.systring = systring
12025  *
12026  */
12027   __Pyx_INCREF(__pyx_v_sy);
12028   __Pyx_GIVEREF(__pyx_v_sy);
12029   __Pyx_GOTREF(__pyx_v_self->sy);
12030   __Pyx_DECREF(__pyx_v_self->sy);
12031   __pyx_v_self->sy = __pyx_v_sy;
12032 
12033   /* "Cython/Compiler/Scanning.py":485
12034  *         self.unread(self.sy, self.systring)
12035  *         self.sy = sy
12036  *         self.systring = systring             # <<<<<<<<<<<<<<
12037  *
12038  *     def unread(self, token, value):
12039  */
12040   __Pyx_INCREF(__pyx_v_systring);
12041   __Pyx_GIVEREF(__pyx_v_systring);
12042   __Pyx_GOTREF(__pyx_v_self->systring);
12043   __Pyx_DECREF(__pyx_v_self->systring);
12044   __pyx_v_self->systring = __pyx_v_systring;
12045 
12046   /* "Cython/Compiler/Scanning.py":482
12047  *         return next
12048  *
12049  *     def put_back(self, sy, systring):             # <<<<<<<<<<<<<<
12050  *         self.unread(self.sy, self.systring)
12051  *         self.sy = sy
12052  */
12053 
12054   /* function exit code */
12055   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12056   goto __pyx_L0;
12057   __pyx_L1_error:;
12058   __Pyx_XDECREF(__pyx_t_1);
12059   __Pyx_XDECREF(__pyx_t_2);
12060   __Pyx_XDECREF(__pyx_t_3);
12061   __Pyx_XDECREF(__pyx_t_5);
12062   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.put_back", __pyx_clineno, __pyx_lineno, __pyx_filename);
12063   __pyx_r = NULL;
12064   __pyx_L0:;
12065   __Pyx_XGIVEREF(__pyx_r);
12066   __Pyx_RefNannyFinishContext();
12067   return __pyx_r;
12068 }
12069 
12070 /* "Cython/Compiler/Scanning.py":487
12071  *         self.systring = systring
12072  *
12073  *     def unread(self, token, value):             # <<<<<<<<<<<<<<
12074  *         # This method should be added to Plex
12075  *         self.queue.insert(0, (token, value))
12076  */
12077 
12078 /* Python wrapper */
12079 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_29unread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12080 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_29unread = {"unread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_29unread, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_29unread(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)12081 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_29unread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12082   PyObject *__pyx_v_token = 0;
12083   PyObject *__pyx_v_value = 0;
12084   int __pyx_lineno = 0;
12085   const char *__pyx_filename = NULL;
12086   int __pyx_clineno = 0;
12087   PyObject *__pyx_r = 0;
12088   __Pyx_RefNannyDeclarations
12089   __Pyx_RefNannySetupContext("unread (wrapper)", 0);
12090   {
12091     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_token,&__pyx_n_s_value,0};
12092     PyObject* values[2] = {0,0};
12093     if (unlikely(__pyx_kwds)) {
12094       Py_ssize_t kw_args;
12095       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
12096       switch (pos_args) {
12097         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12098         CYTHON_FALLTHROUGH;
12099         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12100         CYTHON_FALLTHROUGH;
12101         case  0: break;
12102         default: goto __pyx_L5_argtuple_error;
12103       }
12104       kw_args = PyDict_Size(__pyx_kwds);
12105       switch (pos_args) {
12106         case  0:
12107         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_token)) != 0)) kw_args--;
12108         else goto __pyx_L5_argtuple_error;
12109         CYTHON_FALLTHROUGH;
12110         case  1:
12111         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
12112         else {
12113           __Pyx_RaiseArgtupleInvalid("unread", 1, 2, 2, 1); __PYX_ERR(0, 487, __pyx_L3_error)
12114         }
12115       }
12116       if (unlikely(kw_args > 0)) {
12117         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "unread") < 0)) __PYX_ERR(0, 487, __pyx_L3_error)
12118       }
12119     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
12120       goto __pyx_L5_argtuple_error;
12121     } else {
12122       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12123       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12124     }
12125     __pyx_v_token = values[0];
12126     __pyx_v_value = values[1];
12127   }
12128   goto __pyx_L4_argument_unpacking_done;
12129   __pyx_L5_argtuple_error:;
12130   __Pyx_RaiseArgtupleInvalid("unread", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 487, __pyx_L3_error)
12131   __pyx_L3_error:;
12132   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.unread", __pyx_clineno, __pyx_lineno, __pyx_filename);
12133   __Pyx_RefNannyFinishContext();
12134   return NULL;
12135   __pyx_L4_argument_unpacking_done:;
12136   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_28unread(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_token, __pyx_v_value);
12137 
12138   /* function exit code */
12139   __Pyx_RefNannyFinishContext();
12140   return __pyx_r;
12141 }
12142 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_28unread(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_token,PyObject * __pyx_v_value)12143 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_28unread(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_token, PyObject *__pyx_v_value) {
12144   PyObject *__pyx_r = NULL;
12145   __Pyx_RefNannyDeclarations
12146   PyObject *__pyx_t_1 = NULL;
12147   int __pyx_t_2;
12148   int __pyx_lineno = 0;
12149   const char *__pyx_filename = NULL;
12150   int __pyx_clineno = 0;
12151   __Pyx_RefNannySetupContext("unread", 0);
12152 
12153   /* "Cython/Compiler/Scanning.py":489
12154  *     def unread(self, token, value):
12155  *         # This method should be added to Plex
12156  *         self.queue.insert(0, (token, value))             # <<<<<<<<<<<<<<
12157  *
12158  *     def error(self, message, pos=None, fatal=True):
12159  */
12160   if (unlikely(__pyx_v_self->__pyx_base.queue == Py_None)) {
12161     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "insert");
12162     __PYX_ERR(0, 489, __pyx_L1_error)
12163   }
12164   __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
12165   __Pyx_GOTREF(__pyx_t_1);
12166   __Pyx_INCREF(__pyx_v_token);
12167   __Pyx_GIVEREF(__pyx_v_token);
12168   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_token);
12169   __Pyx_INCREF(__pyx_v_value);
12170   __Pyx_GIVEREF(__pyx_v_value);
12171   PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value);
12172   __pyx_t_2 = PyList_Insert(__pyx_v_self->__pyx_base.queue, 0, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 489, __pyx_L1_error)
12173   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12174 
12175   /* "Cython/Compiler/Scanning.py":487
12176  *         self.systring = systring
12177  *
12178  *     def unread(self, token, value):             # <<<<<<<<<<<<<<
12179  *         # This method should be added to Plex
12180  *         self.queue.insert(0, (token, value))
12181  */
12182 
12183   /* function exit code */
12184   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12185   goto __pyx_L0;
12186   __pyx_L1_error:;
12187   __Pyx_XDECREF(__pyx_t_1);
12188   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.unread", __pyx_clineno, __pyx_lineno, __pyx_filename);
12189   __pyx_r = NULL;
12190   __pyx_L0:;
12191   __Pyx_XGIVEREF(__pyx_r);
12192   __Pyx_RefNannyFinishContext();
12193   return __pyx_r;
12194 }
12195 
12196 /* "Cython/Compiler/Scanning.py":491
12197  *         self.queue.insert(0, (token, value))
12198  *
12199  *     def error(self, message, pos=None, fatal=True):             # <<<<<<<<<<<<<<
12200  *         if pos is None:
12201  *             pos = self.position()
12202  */
12203 
12204 /* Python wrapper */
12205 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_31error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12206 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_31error = {"error", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_31error, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_31error(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)12207 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_31error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12208   PyObject *__pyx_v_message = 0;
12209   PyObject *__pyx_v_pos = 0;
12210   PyObject *__pyx_v_fatal = 0;
12211   int __pyx_lineno = 0;
12212   const char *__pyx_filename = NULL;
12213   int __pyx_clineno = 0;
12214   PyObject *__pyx_r = 0;
12215   __Pyx_RefNannyDeclarations
12216   __Pyx_RefNannySetupContext("error (wrapper)", 0);
12217   {
12218     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_pos,&__pyx_n_s_fatal,0};
12219     PyObject* values[3] = {0,0,0};
12220     values[1] = ((PyObject *)Py_None);
12221     values[2] = ((PyObject *)Py_True);
12222     if (unlikely(__pyx_kwds)) {
12223       Py_ssize_t kw_args;
12224       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
12225       switch (pos_args) {
12226         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
12227         CYTHON_FALLTHROUGH;
12228         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12229         CYTHON_FALLTHROUGH;
12230         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12231         CYTHON_FALLTHROUGH;
12232         case  0: break;
12233         default: goto __pyx_L5_argtuple_error;
12234       }
12235       kw_args = PyDict_Size(__pyx_kwds);
12236       switch (pos_args) {
12237         case  0:
12238         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
12239         else goto __pyx_L5_argtuple_error;
12240         CYTHON_FALLTHROUGH;
12241         case  1:
12242         if (kw_args > 0) {
12243           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos);
12244           if (value) { values[1] = value; kw_args--; }
12245         }
12246         CYTHON_FALLTHROUGH;
12247         case  2:
12248         if (kw_args > 0) {
12249           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fatal);
12250           if (value) { values[2] = value; kw_args--; }
12251         }
12252       }
12253       if (unlikely(kw_args > 0)) {
12254         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "error") < 0)) __PYX_ERR(0, 491, __pyx_L3_error)
12255       }
12256     } else {
12257       switch (PyTuple_GET_SIZE(__pyx_args)) {
12258         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
12259         CYTHON_FALLTHROUGH;
12260         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12261         CYTHON_FALLTHROUGH;
12262         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12263         break;
12264         default: goto __pyx_L5_argtuple_error;
12265       }
12266     }
12267     __pyx_v_message = values[0];
12268     __pyx_v_pos = values[1];
12269     __pyx_v_fatal = values[2];
12270   }
12271   goto __pyx_L4_argument_unpacking_done;
12272   __pyx_L5_argtuple_error:;
12273   __Pyx_RaiseArgtupleInvalid("error", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 491, __pyx_L3_error)
12274   __pyx_L3_error:;
12275   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.error", __pyx_clineno, __pyx_lineno, __pyx_filename);
12276   __Pyx_RefNannyFinishContext();
12277   return NULL;
12278   __pyx_L4_argument_unpacking_done:;
12279   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_30error(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_message, __pyx_v_pos, __pyx_v_fatal);
12280 
12281   /* function exit code */
12282   __Pyx_RefNannyFinishContext();
12283   return __pyx_r;
12284 }
12285 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_30error(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_message,PyObject * __pyx_v_pos,PyObject * __pyx_v_fatal)12286 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_30error(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_message, PyObject *__pyx_v_pos, PyObject *__pyx_v_fatal) {
12287   PyObject *__pyx_v_err = NULL;
12288   PyObject *__pyx_r = NULL;
12289   __Pyx_RefNannyDeclarations
12290   int __pyx_t_1;
12291   int __pyx_t_2;
12292   PyObject *__pyx_t_3 = NULL;
12293   PyObject *__pyx_t_4 = NULL;
12294   PyObject *__pyx_t_5 = NULL;
12295   int __pyx_t_6;
12296   PyObject *__pyx_t_7 = NULL;
12297   int __pyx_lineno = 0;
12298   const char *__pyx_filename = NULL;
12299   int __pyx_clineno = 0;
12300   __Pyx_RefNannySetupContext("error", 0);
12301   __Pyx_INCREF(__pyx_v_pos);
12302 
12303   /* "Cython/Compiler/Scanning.py":492
12304  *
12305  *     def error(self, message, pos=None, fatal=True):
12306  *         if pos is None:             # <<<<<<<<<<<<<<
12307  *             pos = self.position()
12308  *         if self.sy == 'INDENT':
12309  */
12310   __pyx_t_1 = (__pyx_v_pos == Py_None);
12311   __pyx_t_2 = (__pyx_t_1 != 0);
12312   if (__pyx_t_2) {
12313 
12314     /* "Cython/Compiler/Scanning.py":493
12315  *     def error(self, message, pos=None, fatal=True):
12316  *         if pos is None:
12317  *             pos = self.position()             # <<<<<<<<<<<<<<
12318  *         if self.sy == 'INDENT':
12319  *             error(pos, "Possible inconsistent indentation")
12320  */
12321     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_position); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 493, __pyx_L1_error)
12322     __Pyx_GOTREF(__pyx_t_4);
12323     __pyx_t_5 = NULL;
12324     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
12325       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
12326       if (likely(__pyx_t_5)) {
12327         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
12328         __Pyx_INCREF(__pyx_t_5);
12329         __Pyx_INCREF(function);
12330         __Pyx_DECREF_SET(__pyx_t_4, function);
12331       }
12332     }
12333     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
12334     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
12335     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 493, __pyx_L1_error)
12336     __Pyx_GOTREF(__pyx_t_3);
12337     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
12338     __Pyx_DECREF_SET(__pyx_v_pos, __pyx_t_3);
12339     __pyx_t_3 = 0;
12340 
12341     /* "Cython/Compiler/Scanning.py":492
12342  *
12343  *     def error(self, message, pos=None, fatal=True):
12344  *         if pos is None:             # <<<<<<<<<<<<<<
12345  *             pos = self.position()
12346  *         if self.sy == 'INDENT':
12347  */
12348   }
12349 
12350   /* "Cython/Compiler/Scanning.py":494
12351  *         if pos is None:
12352  *             pos = self.position()
12353  *         if self.sy == 'INDENT':             # <<<<<<<<<<<<<<
12354  *             error(pos, "Possible inconsistent indentation")
12355  *         err = error(pos, message)
12356  */
12357   __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_self->sy, __pyx_n_u_INDENT, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 494, __pyx_L1_error)
12358   if (__pyx_t_2) {
12359 
12360     /* "Cython/Compiler/Scanning.py":495
12361  *             pos = self.position()
12362  *         if self.sy == 'INDENT':
12363  *             error(pos, "Possible inconsistent indentation")             # <<<<<<<<<<<<<<
12364  *         err = error(pos, message)
12365  *         if fatal: raise err
12366  */
12367     __Pyx_INCREF(__pyx_v_6Cython_8Compiler_8Scanning_error);
12368     __pyx_t_4 = __pyx_v_6Cython_8Compiler_8Scanning_error; __pyx_t_5 = NULL;
12369     __pyx_t_6 = 0;
12370     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
12371       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
12372       if (likely(__pyx_t_5)) {
12373         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
12374         __Pyx_INCREF(__pyx_t_5);
12375         __Pyx_INCREF(function);
12376         __Pyx_DECREF_SET(__pyx_t_4, function);
12377         __pyx_t_6 = 1;
12378       }
12379     }
12380     #if CYTHON_FAST_PYCALL
12381     if (PyFunction_Check(__pyx_t_4)) {
12382       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_pos, __pyx_kp_u_Possible_inconsistent_indentatio};
12383       __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 495, __pyx_L1_error)
12384       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
12385       __Pyx_GOTREF(__pyx_t_3);
12386     } else
12387     #endif
12388     #if CYTHON_FAST_PYCCALL
12389     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
12390       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_pos, __pyx_kp_u_Possible_inconsistent_indentatio};
12391       __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 495, __pyx_L1_error)
12392       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
12393       __Pyx_GOTREF(__pyx_t_3);
12394     } else
12395     #endif
12396     {
12397       __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 495, __pyx_L1_error)
12398       __Pyx_GOTREF(__pyx_t_7);
12399       if (__pyx_t_5) {
12400         __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
12401       }
12402       __Pyx_INCREF(__pyx_v_pos);
12403       __Pyx_GIVEREF(__pyx_v_pos);
12404       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_pos);
12405       __Pyx_INCREF(__pyx_kp_u_Possible_inconsistent_indentatio);
12406       __Pyx_GIVEREF(__pyx_kp_u_Possible_inconsistent_indentatio);
12407       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_kp_u_Possible_inconsistent_indentatio);
12408       __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 495, __pyx_L1_error)
12409       __Pyx_GOTREF(__pyx_t_3);
12410       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
12411     }
12412     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
12413     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12414 
12415     /* "Cython/Compiler/Scanning.py":494
12416  *         if pos is None:
12417  *             pos = self.position()
12418  *         if self.sy == 'INDENT':             # <<<<<<<<<<<<<<
12419  *             error(pos, "Possible inconsistent indentation")
12420  *         err = error(pos, message)
12421  */
12422   }
12423 
12424   /* "Cython/Compiler/Scanning.py":496
12425  *         if self.sy == 'INDENT':
12426  *             error(pos, "Possible inconsistent indentation")
12427  *         err = error(pos, message)             # <<<<<<<<<<<<<<
12428  *         if fatal: raise err
12429  *
12430  */
12431   __Pyx_INCREF(__pyx_v_6Cython_8Compiler_8Scanning_error);
12432   __pyx_t_4 = __pyx_v_6Cython_8Compiler_8Scanning_error; __pyx_t_7 = NULL;
12433   __pyx_t_6 = 0;
12434   if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
12435     __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
12436     if (likely(__pyx_t_7)) {
12437       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
12438       __Pyx_INCREF(__pyx_t_7);
12439       __Pyx_INCREF(function);
12440       __Pyx_DECREF_SET(__pyx_t_4, function);
12441       __pyx_t_6 = 1;
12442     }
12443   }
12444   #if CYTHON_FAST_PYCALL
12445   if (PyFunction_Check(__pyx_t_4)) {
12446     PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_pos, __pyx_v_message};
12447     __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L1_error)
12448     __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
12449     __Pyx_GOTREF(__pyx_t_3);
12450   } else
12451   #endif
12452   #if CYTHON_FAST_PYCCALL
12453   if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
12454     PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_pos, __pyx_v_message};
12455     __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L1_error)
12456     __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
12457     __Pyx_GOTREF(__pyx_t_3);
12458   } else
12459   #endif
12460   {
12461     __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 496, __pyx_L1_error)
12462     __Pyx_GOTREF(__pyx_t_5);
12463     if (__pyx_t_7) {
12464       __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
12465     }
12466     __Pyx_INCREF(__pyx_v_pos);
12467     __Pyx_GIVEREF(__pyx_v_pos);
12468     PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_pos);
12469     __Pyx_INCREF(__pyx_v_message);
12470     __Pyx_GIVEREF(__pyx_v_message);
12471     PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_message);
12472     __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L1_error)
12473     __Pyx_GOTREF(__pyx_t_3);
12474     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
12475   }
12476   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
12477   __pyx_v_err = __pyx_t_3;
12478   __pyx_t_3 = 0;
12479 
12480   /* "Cython/Compiler/Scanning.py":497
12481  *             error(pos, "Possible inconsistent indentation")
12482  *         err = error(pos, message)
12483  *         if fatal: raise err             # <<<<<<<<<<<<<<
12484  *
12485  *     def expect(self, what, message=None):
12486  */
12487   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fatal); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 497, __pyx_L1_error)
12488   if (unlikely(__pyx_t_2)) {
12489     __Pyx_Raise(__pyx_v_err, 0, 0, 0);
12490     __PYX_ERR(0, 497, __pyx_L1_error)
12491   }
12492 
12493   /* "Cython/Compiler/Scanning.py":491
12494  *         self.queue.insert(0, (token, value))
12495  *
12496  *     def error(self, message, pos=None, fatal=True):             # <<<<<<<<<<<<<<
12497  *         if pos is None:
12498  *             pos = self.position()
12499  */
12500 
12501   /* function exit code */
12502   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12503   goto __pyx_L0;
12504   __pyx_L1_error:;
12505   __Pyx_XDECREF(__pyx_t_3);
12506   __Pyx_XDECREF(__pyx_t_4);
12507   __Pyx_XDECREF(__pyx_t_5);
12508   __Pyx_XDECREF(__pyx_t_7);
12509   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.error", __pyx_clineno, __pyx_lineno, __pyx_filename);
12510   __pyx_r = NULL;
12511   __pyx_L0:;
12512   __Pyx_XDECREF(__pyx_v_err);
12513   __Pyx_XDECREF(__pyx_v_pos);
12514   __Pyx_XGIVEREF(__pyx_r);
12515   __Pyx_RefNannyFinishContext();
12516   return __pyx_r;
12517 }
12518 
12519 /* "Cython/Compiler/Scanning.py":499
12520  *         if fatal: raise err
12521  *
12522  *     def expect(self, what, message=None):             # <<<<<<<<<<<<<<
12523  *         if self.sy == what:
12524  *             self.next()
12525  */
12526 
12527 /* Python wrapper */
12528 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_33expect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12529 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_33expect = {"expect", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_33expect, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_33expect(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)12530 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_33expect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12531   PyObject *__pyx_v_what = 0;
12532   PyObject *__pyx_v_message = 0;
12533   int __pyx_lineno = 0;
12534   const char *__pyx_filename = NULL;
12535   int __pyx_clineno = 0;
12536   PyObject *__pyx_r = 0;
12537   __Pyx_RefNannyDeclarations
12538   __Pyx_RefNannySetupContext("expect (wrapper)", 0);
12539   {
12540     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_what,&__pyx_n_s_message,0};
12541     PyObject* values[2] = {0,0};
12542     values[1] = ((PyObject *)Py_None);
12543     if (unlikely(__pyx_kwds)) {
12544       Py_ssize_t kw_args;
12545       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
12546       switch (pos_args) {
12547         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12548         CYTHON_FALLTHROUGH;
12549         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12550         CYTHON_FALLTHROUGH;
12551         case  0: break;
12552         default: goto __pyx_L5_argtuple_error;
12553       }
12554       kw_args = PyDict_Size(__pyx_kwds);
12555       switch (pos_args) {
12556         case  0:
12557         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_what)) != 0)) kw_args--;
12558         else goto __pyx_L5_argtuple_error;
12559         CYTHON_FALLTHROUGH;
12560         case  1:
12561         if (kw_args > 0) {
12562           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message);
12563           if (value) { values[1] = value; kw_args--; }
12564         }
12565       }
12566       if (unlikely(kw_args > 0)) {
12567         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "expect") < 0)) __PYX_ERR(0, 499, __pyx_L3_error)
12568       }
12569     } else {
12570       switch (PyTuple_GET_SIZE(__pyx_args)) {
12571         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12572         CYTHON_FALLTHROUGH;
12573         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12574         break;
12575         default: goto __pyx_L5_argtuple_error;
12576       }
12577     }
12578     __pyx_v_what = values[0];
12579     __pyx_v_message = values[1];
12580   }
12581   goto __pyx_L4_argument_unpacking_done;
12582   __pyx_L5_argtuple_error:;
12583   __Pyx_RaiseArgtupleInvalid("expect", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 499, __pyx_L3_error)
12584   __pyx_L3_error:;
12585   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect", __pyx_clineno, __pyx_lineno, __pyx_filename);
12586   __Pyx_RefNannyFinishContext();
12587   return NULL;
12588   __pyx_L4_argument_unpacking_done:;
12589   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_32expect(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_what, __pyx_v_message);
12590 
12591   /* function exit code */
12592   __Pyx_RefNannyFinishContext();
12593   return __pyx_r;
12594 }
12595 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_32expect(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_what,PyObject * __pyx_v_message)12596 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_32expect(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_what, PyObject *__pyx_v_message) {
12597   PyObject *__pyx_r = NULL;
12598   __Pyx_RefNannyDeclarations
12599   PyObject *__pyx_t_1 = NULL;
12600   int __pyx_t_2;
12601   PyObject *__pyx_t_3 = NULL;
12602   PyObject *__pyx_t_4 = NULL;
12603   int __pyx_t_5;
12604   PyObject *__pyx_t_6 = NULL;
12605   int __pyx_lineno = 0;
12606   const char *__pyx_filename = NULL;
12607   int __pyx_clineno = 0;
12608   __Pyx_RefNannySetupContext("expect", 0);
12609 
12610   /* "Cython/Compiler/Scanning.py":500
12611  *
12612  *     def expect(self, what, message=None):
12613  *         if self.sy == what:             # <<<<<<<<<<<<<<
12614  *             self.next()
12615  *         else:
12616  */
12617   __pyx_t_1 = PyObject_RichCompare(__pyx_v_self->sy, __pyx_v_what, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error)
12618   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 500, __pyx_L1_error)
12619   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12620   if (__pyx_t_2) {
12621 
12622     /* "Cython/Compiler/Scanning.py":501
12623  *     def expect(self, what, message=None):
12624  *         if self.sy == what:
12625  *             self.next()             # <<<<<<<<<<<<<<
12626  *         else:
12627  *             self.expected(what, message)
12628  */
12629     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_next); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error)
12630     __Pyx_GOTREF(__pyx_t_3);
12631     __pyx_t_4 = NULL;
12632     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
12633       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
12634       if (likely(__pyx_t_4)) {
12635         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
12636         __Pyx_INCREF(__pyx_t_4);
12637         __Pyx_INCREF(function);
12638         __Pyx_DECREF_SET(__pyx_t_3, function);
12639       }
12640     }
12641     __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
12642     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
12643     if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error)
12644     __Pyx_GOTREF(__pyx_t_1);
12645     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12646     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12647 
12648     /* "Cython/Compiler/Scanning.py":500
12649  *
12650  *     def expect(self, what, message=None):
12651  *         if self.sy == what:             # <<<<<<<<<<<<<<
12652  *             self.next()
12653  *         else:
12654  */
12655     goto __pyx_L3;
12656   }
12657 
12658   /* "Cython/Compiler/Scanning.py":503
12659  *             self.next()
12660  *         else:
12661  *             self.expected(what, message)             # <<<<<<<<<<<<<<
12662  *
12663  *     def expect_keyword(self, what, message=None):
12664  */
12665   /*else*/ {
12666     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_expected); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L1_error)
12667     __Pyx_GOTREF(__pyx_t_3);
12668     __pyx_t_4 = NULL;
12669     __pyx_t_5 = 0;
12670     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
12671       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
12672       if (likely(__pyx_t_4)) {
12673         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
12674         __Pyx_INCREF(__pyx_t_4);
12675         __Pyx_INCREF(function);
12676         __Pyx_DECREF_SET(__pyx_t_3, function);
12677         __pyx_t_5 = 1;
12678       }
12679     }
12680     #if CYTHON_FAST_PYCALL
12681     if (PyFunction_Check(__pyx_t_3)) {
12682       PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_what, __pyx_v_message};
12683       __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, 503, __pyx_L1_error)
12684       __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
12685       __Pyx_GOTREF(__pyx_t_1);
12686     } else
12687     #endif
12688     #if CYTHON_FAST_PYCCALL
12689     if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
12690       PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_what, __pyx_v_message};
12691       __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, 503, __pyx_L1_error)
12692       __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
12693       __Pyx_GOTREF(__pyx_t_1);
12694     } else
12695     #endif
12696     {
12697       __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 503, __pyx_L1_error)
12698       __Pyx_GOTREF(__pyx_t_6);
12699       if (__pyx_t_4) {
12700         __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
12701       }
12702       __Pyx_INCREF(__pyx_v_what);
12703       __Pyx_GIVEREF(__pyx_v_what);
12704       PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_what);
12705       __Pyx_INCREF(__pyx_v_message);
12706       __Pyx_GIVEREF(__pyx_v_message);
12707       PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_message);
12708       __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L1_error)
12709       __Pyx_GOTREF(__pyx_t_1);
12710       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
12711     }
12712     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12713     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12714   }
12715   __pyx_L3:;
12716 
12717   /* "Cython/Compiler/Scanning.py":499
12718  *         if fatal: raise err
12719  *
12720  *     def expect(self, what, message=None):             # <<<<<<<<<<<<<<
12721  *         if self.sy == what:
12722  *             self.next()
12723  */
12724 
12725   /* function exit code */
12726   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12727   goto __pyx_L0;
12728   __pyx_L1_error:;
12729   __Pyx_XDECREF(__pyx_t_1);
12730   __Pyx_XDECREF(__pyx_t_3);
12731   __Pyx_XDECREF(__pyx_t_4);
12732   __Pyx_XDECREF(__pyx_t_6);
12733   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect", __pyx_clineno, __pyx_lineno, __pyx_filename);
12734   __pyx_r = NULL;
12735   __pyx_L0:;
12736   __Pyx_XGIVEREF(__pyx_r);
12737   __Pyx_RefNannyFinishContext();
12738   return __pyx_r;
12739 }
12740 
12741 /* "Cython/Compiler/Scanning.py":505
12742  *             self.expected(what, message)
12743  *
12744  *     def expect_keyword(self, what, message=None):             # <<<<<<<<<<<<<<
12745  *         if self.sy == IDENT and self.systring == what:
12746  *             self.next()
12747  */
12748 
12749 /* Python wrapper */
12750 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_35expect_keyword(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12751 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_35expect_keyword = {"expect_keyword", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_35expect_keyword, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_35expect_keyword(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)12752 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_35expect_keyword(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12753   PyObject *__pyx_v_what = 0;
12754   PyObject *__pyx_v_message = 0;
12755   int __pyx_lineno = 0;
12756   const char *__pyx_filename = NULL;
12757   int __pyx_clineno = 0;
12758   PyObject *__pyx_r = 0;
12759   __Pyx_RefNannyDeclarations
12760   __Pyx_RefNannySetupContext("expect_keyword (wrapper)", 0);
12761   {
12762     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_what,&__pyx_n_s_message,0};
12763     PyObject* values[2] = {0,0};
12764     values[1] = ((PyObject *)Py_None);
12765     if (unlikely(__pyx_kwds)) {
12766       Py_ssize_t kw_args;
12767       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
12768       switch (pos_args) {
12769         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12770         CYTHON_FALLTHROUGH;
12771         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12772         CYTHON_FALLTHROUGH;
12773         case  0: break;
12774         default: goto __pyx_L5_argtuple_error;
12775       }
12776       kw_args = PyDict_Size(__pyx_kwds);
12777       switch (pos_args) {
12778         case  0:
12779         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_what)) != 0)) kw_args--;
12780         else goto __pyx_L5_argtuple_error;
12781         CYTHON_FALLTHROUGH;
12782         case  1:
12783         if (kw_args > 0) {
12784           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message);
12785           if (value) { values[1] = value; kw_args--; }
12786         }
12787       }
12788       if (unlikely(kw_args > 0)) {
12789         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "expect_keyword") < 0)) __PYX_ERR(0, 505, __pyx_L3_error)
12790       }
12791     } else {
12792       switch (PyTuple_GET_SIZE(__pyx_args)) {
12793         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
12794         CYTHON_FALLTHROUGH;
12795         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
12796         break;
12797         default: goto __pyx_L5_argtuple_error;
12798       }
12799     }
12800     __pyx_v_what = values[0];
12801     __pyx_v_message = values[1];
12802   }
12803   goto __pyx_L4_argument_unpacking_done;
12804   __pyx_L5_argtuple_error:;
12805   __Pyx_RaiseArgtupleInvalid("expect_keyword", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 505, __pyx_L3_error)
12806   __pyx_L3_error:;
12807   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect_keyword", __pyx_clineno, __pyx_lineno, __pyx_filename);
12808   __Pyx_RefNannyFinishContext();
12809   return NULL;
12810   __pyx_L4_argument_unpacking_done:;
12811   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_34expect_keyword(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_what, __pyx_v_message);
12812 
12813   /* function exit code */
12814   __Pyx_RefNannyFinishContext();
12815   return __pyx_r;
12816 }
12817 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_34expect_keyword(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_what,PyObject * __pyx_v_message)12818 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_34expect_keyword(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_what, PyObject *__pyx_v_message) {
12819   PyObject *__pyx_r = NULL;
12820   __Pyx_RefNannyDeclarations
12821   int __pyx_t_1;
12822   int __pyx_t_2;
12823   PyObject *__pyx_t_3 = NULL;
12824   PyObject *__pyx_t_4 = NULL;
12825   PyObject *__pyx_t_5 = NULL;
12826   int __pyx_t_6;
12827   PyObject *__pyx_t_7 = NULL;
12828   int __pyx_lineno = 0;
12829   const char *__pyx_filename = NULL;
12830   int __pyx_clineno = 0;
12831   __Pyx_RefNannySetupContext("expect_keyword", 0);
12832 
12833   /* "Cython/Compiler/Scanning.py":506
12834  *
12835  *     def expect_keyword(self, what, message=None):
12836  *         if self.sy == IDENT and self.systring == what:             # <<<<<<<<<<<<<<
12837  *             self.next()
12838  *         else:
12839  */
12840   __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_self->sy, __pyx_v_6Cython_8Compiler_8Scanning_IDENT, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 506, __pyx_L1_error)
12841   if (__pyx_t_2) {
12842   } else {
12843     __pyx_t_1 = __pyx_t_2;
12844     goto __pyx_L4_bool_binop_done;
12845   }
12846   __pyx_t_3 = PyObject_RichCompare(__pyx_v_self->systring, __pyx_v_what, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error)
12847   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 506, __pyx_L1_error)
12848   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12849   __pyx_t_1 = __pyx_t_2;
12850   __pyx_L4_bool_binop_done:;
12851   if (__pyx_t_1) {
12852 
12853     /* "Cython/Compiler/Scanning.py":507
12854  *     def expect_keyword(self, what, message=None):
12855  *         if self.sy == IDENT and self.systring == what:
12856  *             self.next()             # <<<<<<<<<<<<<<
12857  *         else:
12858  *             self.expected(what, message)
12859  */
12860     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_next); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 507, __pyx_L1_error)
12861     __Pyx_GOTREF(__pyx_t_4);
12862     __pyx_t_5 = NULL;
12863     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
12864       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
12865       if (likely(__pyx_t_5)) {
12866         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
12867         __Pyx_INCREF(__pyx_t_5);
12868         __Pyx_INCREF(function);
12869         __Pyx_DECREF_SET(__pyx_t_4, function);
12870       }
12871     }
12872     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
12873     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
12874     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L1_error)
12875     __Pyx_GOTREF(__pyx_t_3);
12876     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
12877     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12878 
12879     /* "Cython/Compiler/Scanning.py":506
12880  *
12881  *     def expect_keyword(self, what, message=None):
12882  *         if self.sy == IDENT and self.systring == what:             # <<<<<<<<<<<<<<
12883  *             self.next()
12884  *         else:
12885  */
12886     goto __pyx_L3;
12887   }
12888 
12889   /* "Cython/Compiler/Scanning.py":509
12890  *             self.next()
12891  *         else:
12892  *             self.expected(what, message)             # <<<<<<<<<<<<<<
12893  *
12894  *     def expected(self, what, message=None):
12895  */
12896   /*else*/ {
12897     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_expected); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __pyx_L1_error)
12898     __Pyx_GOTREF(__pyx_t_4);
12899     __pyx_t_5 = NULL;
12900     __pyx_t_6 = 0;
12901     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
12902       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
12903       if (likely(__pyx_t_5)) {
12904         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
12905         __Pyx_INCREF(__pyx_t_5);
12906         __Pyx_INCREF(function);
12907         __Pyx_DECREF_SET(__pyx_t_4, function);
12908         __pyx_t_6 = 1;
12909       }
12910     }
12911     #if CYTHON_FAST_PYCALL
12912     if (PyFunction_Check(__pyx_t_4)) {
12913       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_what, __pyx_v_message};
12914       __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
12915       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
12916       __Pyx_GOTREF(__pyx_t_3);
12917     } else
12918     #endif
12919     #if CYTHON_FAST_PYCCALL
12920     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
12921       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_what, __pyx_v_message};
12922       __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
12923       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
12924       __Pyx_GOTREF(__pyx_t_3);
12925     } else
12926     #endif
12927     {
12928       __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 509, __pyx_L1_error)
12929       __Pyx_GOTREF(__pyx_t_7);
12930       if (__pyx_t_5) {
12931         __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
12932       }
12933       __Pyx_INCREF(__pyx_v_what);
12934       __Pyx_GIVEREF(__pyx_v_what);
12935       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_what);
12936       __Pyx_INCREF(__pyx_v_message);
12937       __Pyx_GIVEREF(__pyx_v_message);
12938       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_message);
12939       __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
12940       __Pyx_GOTREF(__pyx_t_3);
12941       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
12942     }
12943     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
12944     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12945   }
12946   __pyx_L3:;
12947 
12948   /* "Cython/Compiler/Scanning.py":505
12949  *             self.expected(what, message)
12950  *
12951  *     def expect_keyword(self, what, message=None):             # <<<<<<<<<<<<<<
12952  *         if self.sy == IDENT and self.systring == what:
12953  *             self.next()
12954  */
12955 
12956   /* function exit code */
12957   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12958   goto __pyx_L0;
12959   __pyx_L1_error:;
12960   __Pyx_XDECREF(__pyx_t_3);
12961   __Pyx_XDECREF(__pyx_t_4);
12962   __Pyx_XDECREF(__pyx_t_5);
12963   __Pyx_XDECREF(__pyx_t_7);
12964   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect_keyword", __pyx_clineno, __pyx_lineno, __pyx_filename);
12965   __pyx_r = NULL;
12966   __pyx_L0:;
12967   __Pyx_XGIVEREF(__pyx_r);
12968   __Pyx_RefNannyFinishContext();
12969   return __pyx_r;
12970 }
12971 
12972 /* "Cython/Compiler/Scanning.py":511
12973  *             self.expected(what, message)
12974  *
12975  *     def expected(self, what, message=None):             # <<<<<<<<<<<<<<
12976  *         if message:
12977  *             self.error(message)
12978  */
12979 
12980 /* Python wrapper */
12981 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_37expected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12982 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_37expected = {"expected", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_37expected, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_37expected(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)12983 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_37expected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12984   PyObject *__pyx_v_what = 0;
12985   PyObject *__pyx_v_message = 0;
12986   int __pyx_lineno = 0;
12987   const char *__pyx_filename = NULL;
12988   int __pyx_clineno = 0;
12989   PyObject *__pyx_r = 0;
12990   __Pyx_RefNannyDeclarations
12991   __Pyx_RefNannySetupContext("expected (wrapper)", 0);
12992   {
12993     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_what,&__pyx_n_s_message,0};
12994     PyObject* values[2] = {0,0};
12995     values[1] = ((PyObject *)Py_None);
12996     if (unlikely(__pyx_kwds)) {
12997       Py_ssize_t kw_args;
12998       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
12999       switch (pos_args) {
13000         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
13001         CYTHON_FALLTHROUGH;
13002         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
13003         CYTHON_FALLTHROUGH;
13004         case  0: break;
13005         default: goto __pyx_L5_argtuple_error;
13006       }
13007       kw_args = PyDict_Size(__pyx_kwds);
13008       switch (pos_args) {
13009         case  0:
13010         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_what)) != 0)) kw_args--;
13011         else goto __pyx_L5_argtuple_error;
13012         CYTHON_FALLTHROUGH;
13013         case  1:
13014         if (kw_args > 0) {
13015           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message);
13016           if (value) { values[1] = value; kw_args--; }
13017         }
13018       }
13019       if (unlikely(kw_args > 0)) {
13020         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "expected") < 0)) __PYX_ERR(0, 511, __pyx_L3_error)
13021       }
13022     } else {
13023       switch (PyTuple_GET_SIZE(__pyx_args)) {
13024         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
13025         CYTHON_FALLTHROUGH;
13026         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
13027         break;
13028         default: goto __pyx_L5_argtuple_error;
13029       }
13030     }
13031     __pyx_v_what = values[0];
13032     __pyx_v_message = values[1];
13033   }
13034   goto __pyx_L4_argument_unpacking_done;
13035   __pyx_L5_argtuple_error:;
13036   __Pyx_RaiseArgtupleInvalid("expected", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 511, __pyx_L3_error)
13037   __pyx_L3_error:;
13038   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expected", __pyx_clineno, __pyx_lineno, __pyx_filename);
13039   __Pyx_RefNannyFinishContext();
13040   return NULL;
13041   __pyx_L4_argument_unpacking_done:;
13042   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_36expected(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_what, __pyx_v_message);
13043 
13044   /* function exit code */
13045   __Pyx_RefNannyFinishContext();
13046   return __pyx_r;
13047 }
13048 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_36expected(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_what,PyObject * __pyx_v_message)13049 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_36expected(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_what, PyObject *__pyx_v_message) {
13050   PyObject *__pyx_v_found = NULL;
13051   PyObject *__pyx_r = NULL;
13052   __Pyx_RefNannyDeclarations
13053   int __pyx_t_1;
13054   PyObject *__pyx_t_2 = NULL;
13055   PyObject *__pyx_t_3 = NULL;
13056   PyObject *__pyx_t_4 = NULL;
13057   Py_ssize_t __pyx_t_5;
13058   Py_UCS4 __pyx_t_6;
13059   PyObject *__pyx_t_7 = NULL;
13060   int __pyx_lineno = 0;
13061   const char *__pyx_filename = NULL;
13062   int __pyx_clineno = 0;
13063   __Pyx_RefNannySetupContext("expected", 0);
13064 
13065   /* "Cython/Compiler/Scanning.py":512
13066  *
13067  *     def expected(self, what, message=None):
13068  *         if message:             # <<<<<<<<<<<<<<
13069  *             self.error(message)
13070  *         else:
13071  */
13072   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_message); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 512, __pyx_L1_error)
13073   if (__pyx_t_1) {
13074 
13075     /* "Cython/Compiler/Scanning.py":513
13076  *     def expected(self, what, message=None):
13077  *         if message:
13078  *             self.error(message)             # <<<<<<<<<<<<<<
13079  *         else:
13080  *             if self.sy == IDENT:
13081  */
13082     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L1_error)
13083     __Pyx_GOTREF(__pyx_t_3);
13084     __pyx_t_4 = NULL;
13085     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
13086       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
13087       if (likely(__pyx_t_4)) {
13088         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
13089         __Pyx_INCREF(__pyx_t_4);
13090         __Pyx_INCREF(function);
13091         __Pyx_DECREF_SET(__pyx_t_3, function);
13092       }
13093     }
13094     __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_message) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_message);
13095     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
13096     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 513, __pyx_L1_error)
13097     __Pyx_GOTREF(__pyx_t_2);
13098     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13099     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13100 
13101     /* "Cython/Compiler/Scanning.py":512
13102  *
13103  *     def expected(self, what, message=None):
13104  *         if message:             # <<<<<<<<<<<<<<
13105  *             self.error(message)
13106  *         else:
13107  */
13108     goto __pyx_L3;
13109   }
13110 
13111   /* "Cython/Compiler/Scanning.py":515
13112  *             self.error(message)
13113  *         else:
13114  *             if self.sy == IDENT:             # <<<<<<<<<<<<<<
13115  *                 found = self.systring
13116  *             else:
13117  */
13118   /*else*/ {
13119     __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->sy, __pyx_v_6Cython_8Compiler_8Scanning_IDENT, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 515, __pyx_L1_error)
13120     if (__pyx_t_1) {
13121 
13122       /* "Cython/Compiler/Scanning.py":516
13123  *         else:
13124  *             if self.sy == IDENT:
13125  *                 found = self.systring             # <<<<<<<<<<<<<<
13126  *             else:
13127  *                 found = self.sy
13128  */
13129       __pyx_t_2 = __pyx_v_self->systring;
13130       __Pyx_INCREF(__pyx_t_2);
13131       __pyx_v_found = __pyx_t_2;
13132       __pyx_t_2 = 0;
13133 
13134       /* "Cython/Compiler/Scanning.py":515
13135  *             self.error(message)
13136  *         else:
13137  *             if self.sy == IDENT:             # <<<<<<<<<<<<<<
13138  *                 found = self.systring
13139  *             else:
13140  */
13141       goto __pyx_L4;
13142     }
13143 
13144     /* "Cython/Compiler/Scanning.py":518
13145  *                 found = self.systring
13146  *             else:
13147  *                 found = self.sy             # <<<<<<<<<<<<<<
13148  *             self.error("Expected '%s', found '%s'" % (what, found))
13149  *
13150  */
13151     /*else*/ {
13152       __pyx_t_2 = __pyx_v_self->sy;
13153       __Pyx_INCREF(__pyx_t_2);
13154       __pyx_v_found = __pyx_t_2;
13155       __pyx_t_2 = 0;
13156     }
13157     __pyx_L4:;
13158 
13159     /* "Cython/Compiler/Scanning.py":519
13160  *             else:
13161  *                 found = self.sy
13162  *             self.error("Expected '%s', found '%s'" % (what, found))             # <<<<<<<<<<<<<<
13163  *
13164  *     def expect_indent(self):
13165  */
13166     __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 519, __pyx_L1_error)
13167     __Pyx_GOTREF(__pyx_t_3);
13168     __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 519, __pyx_L1_error)
13169     __Pyx_GOTREF(__pyx_t_4);
13170     __pyx_t_5 = 0;
13171     __pyx_t_6 = 127;
13172     __Pyx_INCREF(__pyx_kp_u_Expected);
13173     __pyx_t_5 += 10;
13174     __Pyx_GIVEREF(__pyx_kp_u_Expected);
13175     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Expected);
13176     __pyx_t_7 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Unicode(__pyx_v_what), __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 519, __pyx_L1_error)
13177     __Pyx_GOTREF(__pyx_t_7);
13178     __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_6;
13179     __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
13180     __Pyx_GIVEREF(__pyx_t_7);
13181     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7);
13182     __pyx_t_7 = 0;
13183     __Pyx_INCREF(__pyx_kp_u_found);
13184     __pyx_t_5 += 10;
13185     __Pyx_GIVEREF(__pyx_kp_u_found);
13186     PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_found);
13187     __pyx_t_7 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Unicode(__pyx_v_found), __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 519, __pyx_L1_error)
13188     __Pyx_GOTREF(__pyx_t_7);
13189     __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_6;
13190     __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7);
13191     __Pyx_GIVEREF(__pyx_t_7);
13192     PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_7);
13193     __pyx_t_7 = 0;
13194     __Pyx_INCREF(__pyx_kp_u__15);
13195     __pyx_t_5 += 1;
13196     __Pyx_GIVEREF(__pyx_kp_u__15);
13197     PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_kp_u__15);
13198     __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 519, __pyx_L1_error)
13199     __Pyx_GOTREF(__pyx_t_7);
13200     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
13201     __pyx_t_4 = NULL;
13202     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
13203       __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
13204       if (likely(__pyx_t_4)) {
13205         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
13206         __Pyx_INCREF(__pyx_t_4);
13207         __Pyx_INCREF(function);
13208         __Pyx_DECREF_SET(__pyx_t_3, function);
13209       }
13210     }
13211     __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
13212     __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
13213     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13214     if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 519, __pyx_L1_error)
13215     __Pyx_GOTREF(__pyx_t_2);
13216     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13217     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13218   }
13219   __pyx_L3:;
13220 
13221   /* "Cython/Compiler/Scanning.py":511
13222  *             self.expected(what, message)
13223  *
13224  *     def expected(self, what, message=None):             # <<<<<<<<<<<<<<
13225  *         if message:
13226  *             self.error(message)
13227  */
13228 
13229   /* function exit code */
13230   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13231   goto __pyx_L0;
13232   __pyx_L1_error:;
13233   __Pyx_XDECREF(__pyx_t_2);
13234   __Pyx_XDECREF(__pyx_t_3);
13235   __Pyx_XDECREF(__pyx_t_4);
13236   __Pyx_XDECREF(__pyx_t_7);
13237   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expected", __pyx_clineno, __pyx_lineno, __pyx_filename);
13238   __pyx_r = NULL;
13239   __pyx_L0:;
13240   __Pyx_XDECREF(__pyx_v_found);
13241   __Pyx_XGIVEREF(__pyx_r);
13242   __Pyx_RefNannyFinishContext();
13243   return __pyx_r;
13244 }
13245 
13246 /* "Cython/Compiler/Scanning.py":521
13247  *             self.error("Expected '%s', found '%s'" % (what, found))
13248  *
13249  *     def expect_indent(self):             # <<<<<<<<<<<<<<
13250  *         self.expect('INDENT', "Expected an increase in indentation level")
13251  *
13252  */
13253 
13254 /* Python wrapper */
13255 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_39expect_indent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
13256 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_39expect_indent = {"expect_indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_39expect_indent, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_39expect_indent(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)13257 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_39expect_indent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
13258   PyObject *__pyx_r = 0;
13259   __Pyx_RefNannyDeclarations
13260   __Pyx_RefNannySetupContext("expect_indent (wrapper)", 0);
13261   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_38expect_indent(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
13262 
13263   /* function exit code */
13264   __Pyx_RefNannyFinishContext();
13265   return __pyx_r;
13266 }
13267 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_38expect_indent(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)13268 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_38expect_indent(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
13269   PyObject *__pyx_r = NULL;
13270   __Pyx_RefNannyDeclarations
13271   PyObject *__pyx_t_1 = NULL;
13272   PyObject *__pyx_t_2 = NULL;
13273   int __pyx_lineno = 0;
13274   const char *__pyx_filename = NULL;
13275   int __pyx_clineno = 0;
13276   __Pyx_RefNannySetupContext("expect_indent", 0);
13277 
13278   /* "Cython/Compiler/Scanning.py":522
13279  *
13280  *     def expect_indent(self):
13281  *         self.expect('INDENT', "Expected an increase in indentation level")             # <<<<<<<<<<<<<<
13282  *
13283  *     def expect_dedent(self):
13284  */
13285   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_expect); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 522, __pyx_L1_error)
13286   __Pyx_GOTREF(__pyx_t_1);
13287   __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 522, __pyx_L1_error)
13288   __Pyx_GOTREF(__pyx_t_2);
13289   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13290   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13291 
13292   /* "Cython/Compiler/Scanning.py":521
13293  *             self.error("Expected '%s', found '%s'" % (what, found))
13294  *
13295  *     def expect_indent(self):             # <<<<<<<<<<<<<<
13296  *         self.expect('INDENT', "Expected an increase in indentation level")
13297  *
13298  */
13299 
13300   /* function exit code */
13301   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13302   goto __pyx_L0;
13303   __pyx_L1_error:;
13304   __Pyx_XDECREF(__pyx_t_1);
13305   __Pyx_XDECREF(__pyx_t_2);
13306   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect_indent", __pyx_clineno, __pyx_lineno, __pyx_filename);
13307   __pyx_r = NULL;
13308   __pyx_L0:;
13309   __Pyx_XGIVEREF(__pyx_r);
13310   __Pyx_RefNannyFinishContext();
13311   return __pyx_r;
13312 }
13313 
13314 /* "Cython/Compiler/Scanning.py":524
13315  *         self.expect('INDENT', "Expected an increase in indentation level")
13316  *
13317  *     def expect_dedent(self):             # <<<<<<<<<<<<<<
13318  *         self.expect('DEDENT', "Expected a decrease in indentation level")
13319  *
13320  */
13321 
13322 /* Python wrapper */
13323 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_41expect_dedent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
13324 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_41expect_dedent = {"expect_dedent", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_41expect_dedent, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_41expect_dedent(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)13325 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_41expect_dedent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
13326   PyObject *__pyx_r = 0;
13327   __Pyx_RefNannyDeclarations
13328   __Pyx_RefNannySetupContext("expect_dedent (wrapper)", 0);
13329   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_40expect_dedent(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
13330 
13331   /* function exit code */
13332   __Pyx_RefNannyFinishContext();
13333   return __pyx_r;
13334 }
13335 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_40expect_dedent(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)13336 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_40expect_dedent(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
13337   PyObject *__pyx_r = NULL;
13338   __Pyx_RefNannyDeclarations
13339   PyObject *__pyx_t_1 = NULL;
13340   PyObject *__pyx_t_2 = NULL;
13341   int __pyx_lineno = 0;
13342   const char *__pyx_filename = NULL;
13343   int __pyx_clineno = 0;
13344   __Pyx_RefNannySetupContext("expect_dedent", 0);
13345 
13346   /* "Cython/Compiler/Scanning.py":525
13347  *
13348  *     def expect_dedent(self):
13349  *         self.expect('DEDENT', "Expected a decrease in indentation level")             # <<<<<<<<<<<<<<
13350  *
13351  *     def expect_newline(self, message="Expected a newline", ignore_semicolon=False):
13352  */
13353   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_expect); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 525, __pyx_L1_error)
13354   __Pyx_GOTREF(__pyx_t_1);
13355   __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 525, __pyx_L1_error)
13356   __Pyx_GOTREF(__pyx_t_2);
13357   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13358   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13359 
13360   /* "Cython/Compiler/Scanning.py":524
13361  *         self.expect('INDENT', "Expected an increase in indentation level")
13362  *
13363  *     def expect_dedent(self):             # <<<<<<<<<<<<<<
13364  *         self.expect('DEDENT', "Expected a decrease in indentation level")
13365  *
13366  */
13367 
13368   /* function exit code */
13369   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13370   goto __pyx_L0;
13371   __pyx_L1_error:;
13372   __Pyx_XDECREF(__pyx_t_1);
13373   __Pyx_XDECREF(__pyx_t_2);
13374   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect_dedent", __pyx_clineno, __pyx_lineno, __pyx_filename);
13375   __pyx_r = NULL;
13376   __pyx_L0:;
13377   __Pyx_XGIVEREF(__pyx_r);
13378   __Pyx_RefNannyFinishContext();
13379   return __pyx_r;
13380 }
13381 
13382 /* "Cython/Compiler/Scanning.py":527
13383  *         self.expect('DEDENT', "Expected a decrease in indentation level")
13384  *
13385  *     def expect_newline(self, message="Expected a newline", ignore_semicolon=False):             # <<<<<<<<<<<<<<
13386  *         # Expect either a newline or end of file
13387  *         useless_trailing_semicolon = None
13388  */
13389 
13390 /* Python wrapper */
13391 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_43expect_newline(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
13392 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_43expect_newline = {"expect_newline", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_43expect_newline, METH_VARARGS|METH_KEYWORDS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_43expect_newline(PyObject * __pyx_v_self,PyObject * __pyx_args,PyObject * __pyx_kwds)13393 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_43expect_newline(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
13394   PyObject *__pyx_v_message = 0;
13395   PyObject *__pyx_v_ignore_semicolon = 0;
13396   int __pyx_lineno = 0;
13397   const char *__pyx_filename = NULL;
13398   int __pyx_clineno = 0;
13399   PyObject *__pyx_r = 0;
13400   __Pyx_RefNannyDeclarations
13401   __Pyx_RefNannySetupContext("expect_newline (wrapper)", 0);
13402   {
13403     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_ignore_semicolon,0};
13404     PyObject* values[2] = {0,0};
13405     values[0] = ((PyObject *)__pyx_kp_u_Expected_a_newline);
13406     values[1] = ((PyObject *)Py_False);
13407     if (unlikely(__pyx_kwds)) {
13408       Py_ssize_t kw_args;
13409       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
13410       switch (pos_args) {
13411         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
13412         CYTHON_FALLTHROUGH;
13413         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
13414         CYTHON_FALLTHROUGH;
13415         case  0: break;
13416         default: goto __pyx_L5_argtuple_error;
13417       }
13418       kw_args = PyDict_Size(__pyx_kwds);
13419       switch (pos_args) {
13420         case  0:
13421         if (kw_args > 0) {
13422           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message);
13423           if (value) { values[0] = value; kw_args--; }
13424         }
13425         CYTHON_FALLTHROUGH;
13426         case  1:
13427         if (kw_args > 0) {
13428           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ignore_semicolon);
13429           if (value) { values[1] = value; kw_args--; }
13430         }
13431       }
13432       if (unlikely(kw_args > 0)) {
13433         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "expect_newline") < 0)) __PYX_ERR(0, 527, __pyx_L3_error)
13434       }
13435     } else {
13436       switch (PyTuple_GET_SIZE(__pyx_args)) {
13437         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
13438         CYTHON_FALLTHROUGH;
13439         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
13440         CYTHON_FALLTHROUGH;
13441         case  0: break;
13442         default: goto __pyx_L5_argtuple_error;
13443       }
13444     }
13445     __pyx_v_message = values[0];
13446     __pyx_v_ignore_semicolon = values[1];
13447   }
13448   goto __pyx_L4_argument_unpacking_done;
13449   __pyx_L5_argtuple_error:;
13450   __Pyx_RaiseArgtupleInvalid("expect_newline", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 527, __pyx_L3_error)
13451   __pyx_L3_error:;
13452   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect_newline", __pyx_clineno, __pyx_lineno, __pyx_filename);
13453   __Pyx_RefNannyFinishContext();
13454   return NULL;
13455   __pyx_L4_argument_unpacking_done:;
13456   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_42expect_newline(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), __pyx_v_message, __pyx_v_ignore_semicolon);
13457 
13458   /* function exit code */
13459   __Pyx_RefNannyFinishContext();
13460   return __pyx_r;
13461 }
13462 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_42expect_newline(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_message,PyObject * __pyx_v_ignore_semicolon)13463 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_42expect_newline(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_message, PyObject *__pyx_v_ignore_semicolon) {
13464   PyObject *__pyx_v_useless_trailing_semicolon = NULL;
13465   PyObject *__pyx_r = NULL;
13466   __Pyx_RefNannyDeclarations
13467   int __pyx_t_1;
13468   int __pyx_t_2;
13469   PyObject *__pyx_t_3 = NULL;
13470   PyObject *__pyx_t_4 = NULL;
13471   PyObject *__pyx_t_5 = NULL;
13472   int __pyx_t_6;
13473   PyObject *__pyx_t_7 = NULL;
13474   int __pyx_lineno = 0;
13475   const char *__pyx_filename = NULL;
13476   int __pyx_clineno = 0;
13477   __Pyx_RefNannySetupContext("expect_newline", 0);
13478 
13479   /* "Cython/Compiler/Scanning.py":529
13480  *     def expect_newline(self, message="Expected a newline", ignore_semicolon=False):
13481  *         # Expect either a newline or end of file
13482  *         useless_trailing_semicolon = None             # <<<<<<<<<<<<<<
13483  *         if ignore_semicolon and self.sy == ';':
13484  *             useless_trailing_semicolon = self.position()
13485  */
13486   __Pyx_INCREF(Py_None);
13487   __pyx_v_useless_trailing_semicolon = Py_None;
13488 
13489   /* "Cython/Compiler/Scanning.py":530
13490  *         # Expect either a newline or end of file
13491  *         useless_trailing_semicolon = None
13492  *         if ignore_semicolon and self.sy == ';':             # <<<<<<<<<<<<<<
13493  *             useless_trailing_semicolon = self.position()
13494  *             self.next()
13495  */
13496   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_semicolon); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 530, __pyx_L1_error)
13497   if (__pyx_t_2) {
13498   } else {
13499     __pyx_t_1 = __pyx_t_2;
13500     goto __pyx_L4_bool_binop_done;
13501   }
13502   __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_self->sy, __pyx_kp_u__18, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 530, __pyx_L1_error)
13503   __pyx_t_1 = __pyx_t_2;
13504   __pyx_L4_bool_binop_done:;
13505   if (__pyx_t_1) {
13506 
13507     /* "Cython/Compiler/Scanning.py":531
13508  *         useless_trailing_semicolon = None
13509  *         if ignore_semicolon and self.sy == ';':
13510  *             useless_trailing_semicolon = self.position()             # <<<<<<<<<<<<<<
13511  *             self.next()
13512  *         if self.sy != 'EOF':
13513  */
13514     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_position); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 531, __pyx_L1_error)
13515     __Pyx_GOTREF(__pyx_t_4);
13516     __pyx_t_5 = NULL;
13517     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
13518       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
13519       if (likely(__pyx_t_5)) {
13520         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
13521         __Pyx_INCREF(__pyx_t_5);
13522         __Pyx_INCREF(function);
13523         __Pyx_DECREF_SET(__pyx_t_4, function);
13524       }
13525     }
13526     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
13527     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
13528     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error)
13529     __Pyx_GOTREF(__pyx_t_3);
13530     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
13531     __Pyx_DECREF_SET(__pyx_v_useless_trailing_semicolon, __pyx_t_3);
13532     __pyx_t_3 = 0;
13533 
13534     /* "Cython/Compiler/Scanning.py":532
13535  *         if ignore_semicolon and self.sy == ';':
13536  *             useless_trailing_semicolon = self.position()
13537  *             self.next()             # <<<<<<<<<<<<<<
13538  *         if self.sy != 'EOF':
13539  *             self.expect('NEWLINE', message)
13540  */
13541     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_next); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error)
13542     __Pyx_GOTREF(__pyx_t_4);
13543     __pyx_t_5 = NULL;
13544     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
13545       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
13546       if (likely(__pyx_t_5)) {
13547         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
13548         __Pyx_INCREF(__pyx_t_5);
13549         __Pyx_INCREF(function);
13550         __Pyx_DECREF_SET(__pyx_t_4, function);
13551       }
13552     }
13553     __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
13554     __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
13555     if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error)
13556     __Pyx_GOTREF(__pyx_t_3);
13557     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
13558     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13559 
13560     /* "Cython/Compiler/Scanning.py":530
13561  *         # Expect either a newline or end of file
13562  *         useless_trailing_semicolon = None
13563  *         if ignore_semicolon and self.sy == ';':             # <<<<<<<<<<<<<<
13564  *             useless_trailing_semicolon = self.position()
13565  *             self.next()
13566  */
13567   }
13568 
13569   /* "Cython/Compiler/Scanning.py":533
13570  *             useless_trailing_semicolon = self.position()
13571  *             self.next()
13572  *         if self.sy != 'EOF':             # <<<<<<<<<<<<<<
13573  *             self.expect('NEWLINE', message)
13574  *         if useless_trailing_semicolon is not None:
13575  */
13576   __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->sy, __pyx_n_u_EOF, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 533, __pyx_L1_error)
13577   if (__pyx_t_1) {
13578 
13579     /* "Cython/Compiler/Scanning.py":534
13580  *             self.next()
13581  *         if self.sy != 'EOF':
13582  *             self.expect('NEWLINE', message)             # <<<<<<<<<<<<<<
13583  *         if useless_trailing_semicolon is not None:
13584  *             warning(useless_trailing_semicolon, "useless trailing semicolon")
13585  */
13586     __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_expect); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error)
13587     __Pyx_GOTREF(__pyx_t_4);
13588     __pyx_t_5 = NULL;
13589     __pyx_t_6 = 0;
13590     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
13591       __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
13592       if (likely(__pyx_t_5)) {
13593         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
13594         __Pyx_INCREF(__pyx_t_5);
13595         __Pyx_INCREF(function);
13596         __Pyx_DECREF_SET(__pyx_t_4, function);
13597         __pyx_t_6 = 1;
13598       }
13599     }
13600     #if CYTHON_FAST_PYCALL
13601     if (PyFunction_Check(__pyx_t_4)) {
13602       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_n_u_NEWLINE, __pyx_v_message};
13603       __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
13604       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
13605       __Pyx_GOTREF(__pyx_t_3);
13606     } else
13607     #endif
13608     #if CYTHON_FAST_PYCCALL
13609     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
13610       PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_n_u_NEWLINE, __pyx_v_message};
13611       __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
13612       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
13613       __Pyx_GOTREF(__pyx_t_3);
13614     } else
13615     #endif
13616     {
13617       __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 534, __pyx_L1_error)
13618       __Pyx_GOTREF(__pyx_t_7);
13619       if (__pyx_t_5) {
13620         __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
13621       }
13622       __Pyx_INCREF(__pyx_n_u_NEWLINE);
13623       __Pyx_GIVEREF(__pyx_n_u_NEWLINE);
13624       PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_n_u_NEWLINE);
13625       __Pyx_INCREF(__pyx_v_message);
13626       __Pyx_GIVEREF(__pyx_v_message);
13627       PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_message);
13628       __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
13629       __Pyx_GOTREF(__pyx_t_3);
13630       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13631     }
13632     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
13633     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13634 
13635     /* "Cython/Compiler/Scanning.py":533
13636  *             useless_trailing_semicolon = self.position()
13637  *             self.next()
13638  *         if self.sy != 'EOF':             # <<<<<<<<<<<<<<
13639  *             self.expect('NEWLINE', message)
13640  *         if useless_trailing_semicolon is not None:
13641  */
13642   }
13643 
13644   /* "Cython/Compiler/Scanning.py":535
13645  *         if self.sy != 'EOF':
13646  *             self.expect('NEWLINE', message)
13647  *         if useless_trailing_semicolon is not None:             # <<<<<<<<<<<<<<
13648  *             warning(useless_trailing_semicolon, "useless trailing semicolon")
13649  *
13650  */
13651   __pyx_t_1 = (__pyx_v_useless_trailing_semicolon != Py_None);
13652   __pyx_t_2 = (__pyx_t_1 != 0);
13653   if (__pyx_t_2) {
13654 
13655     /* "Cython/Compiler/Scanning.py":536
13656  *             self.expect('NEWLINE', message)
13657  *         if useless_trailing_semicolon is not None:
13658  *             warning(useless_trailing_semicolon, "useless trailing semicolon")             # <<<<<<<<<<<<<<
13659  *
13660  *     def enter_async(self):
13661  */
13662     __Pyx_INCREF(__pyx_v_6Cython_8Compiler_8Scanning_warning);
13663     __pyx_t_4 = __pyx_v_6Cython_8Compiler_8Scanning_warning; __pyx_t_7 = NULL;
13664     __pyx_t_6 = 0;
13665     if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
13666       __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
13667       if (likely(__pyx_t_7)) {
13668         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
13669         __Pyx_INCREF(__pyx_t_7);
13670         __Pyx_INCREF(function);
13671         __Pyx_DECREF_SET(__pyx_t_4, function);
13672         __pyx_t_6 = 1;
13673       }
13674     }
13675     #if CYTHON_FAST_PYCALL
13676     if (PyFunction_Check(__pyx_t_4)) {
13677       PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_useless_trailing_semicolon, __pyx_kp_u_useless_trailing_semicolon};
13678       __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error)
13679       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
13680       __Pyx_GOTREF(__pyx_t_3);
13681     } else
13682     #endif
13683     #if CYTHON_FAST_PYCCALL
13684     if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
13685       PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_useless_trailing_semicolon, __pyx_kp_u_useless_trailing_semicolon};
13686       __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error)
13687       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
13688       __Pyx_GOTREF(__pyx_t_3);
13689     } else
13690     #endif
13691     {
13692       __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 536, __pyx_L1_error)
13693       __Pyx_GOTREF(__pyx_t_5);
13694       if (__pyx_t_7) {
13695         __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
13696       }
13697       __Pyx_INCREF(__pyx_v_useless_trailing_semicolon);
13698       __Pyx_GIVEREF(__pyx_v_useless_trailing_semicolon);
13699       PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_useless_trailing_semicolon);
13700       __Pyx_INCREF(__pyx_kp_u_useless_trailing_semicolon);
13701       __Pyx_GIVEREF(__pyx_kp_u_useless_trailing_semicolon);
13702       PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_kp_u_useless_trailing_semicolon);
13703       __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error)
13704       __Pyx_GOTREF(__pyx_t_3);
13705       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
13706     }
13707     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
13708     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13709 
13710     /* "Cython/Compiler/Scanning.py":535
13711  *         if self.sy != 'EOF':
13712  *             self.expect('NEWLINE', message)
13713  *         if useless_trailing_semicolon is not None:             # <<<<<<<<<<<<<<
13714  *             warning(useless_trailing_semicolon, "useless trailing semicolon")
13715  *
13716  */
13717   }
13718 
13719   /* "Cython/Compiler/Scanning.py":527
13720  *         self.expect('DEDENT', "Expected a decrease in indentation level")
13721  *
13722  *     def expect_newline(self, message="Expected a newline", ignore_semicolon=False):             # <<<<<<<<<<<<<<
13723  *         # Expect either a newline or end of file
13724  *         useless_trailing_semicolon = None
13725  */
13726 
13727   /* function exit code */
13728   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13729   goto __pyx_L0;
13730   __pyx_L1_error:;
13731   __Pyx_XDECREF(__pyx_t_3);
13732   __Pyx_XDECREF(__pyx_t_4);
13733   __Pyx_XDECREF(__pyx_t_5);
13734   __Pyx_XDECREF(__pyx_t_7);
13735   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.expect_newline", __pyx_clineno, __pyx_lineno, __pyx_filename);
13736   __pyx_r = NULL;
13737   __pyx_L0:;
13738   __Pyx_XDECREF(__pyx_v_useless_trailing_semicolon);
13739   __Pyx_XGIVEREF(__pyx_r);
13740   __Pyx_RefNannyFinishContext();
13741   return __pyx_r;
13742 }
13743 
13744 /* "Cython/Compiler/Scanning.py":538
13745  *             warning(useless_trailing_semicolon, "useless trailing semicolon")
13746  *
13747  *     def enter_async(self):             # <<<<<<<<<<<<<<
13748  *         self.async_enabled += 1
13749  *         if self.async_enabled == 1:
13750  */
13751 
13752 /* Python wrapper */
13753 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_45enter_async(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
13754 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_45enter_async = {"enter_async", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_45enter_async, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_45enter_async(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)13755 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_45enter_async(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
13756   PyObject *__pyx_r = 0;
13757   __Pyx_RefNannyDeclarations
13758   __Pyx_RefNannySetupContext("enter_async (wrapper)", 0);
13759   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_44enter_async(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
13760 
13761   /* function exit code */
13762   __Pyx_RefNannyFinishContext();
13763   return __pyx_r;
13764 }
13765 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_44enter_async(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)13766 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_44enter_async(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
13767   PyObject *__pyx_r = NULL;
13768   __Pyx_RefNannyDeclarations
13769   int __pyx_t_1;
13770   int __pyx_t_2;
13771   int __pyx_lineno = 0;
13772   const char *__pyx_filename = NULL;
13773   int __pyx_clineno = 0;
13774   __Pyx_RefNannySetupContext("enter_async", 0);
13775 
13776   /* "Cython/Compiler/Scanning.py":539
13777  *
13778  *     def enter_async(self):
13779  *         self.async_enabled += 1             # <<<<<<<<<<<<<<
13780  *         if self.async_enabled == 1:
13781  *             self.keywords.add('async')
13782  */
13783   __pyx_v_self->async_enabled = (__pyx_v_self->async_enabled + 1);
13784 
13785   /* "Cython/Compiler/Scanning.py":540
13786  *     def enter_async(self):
13787  *         self.async_enabled += 1
13788  *         if self.async_enabled == 1:             # <<<<<<<<<<<<<<
13789  *             self.keywords.add('async')
13790  *             self.keywords.add('await')
13791  */
13792   __pyx_t_1 = ((__pyx_v_self->async_enabled == 1) != 0);
13793   if (__pyx_t_1) {
13794 
13795     /* "Cython/Compiler/Scanning.py":541
13796  *         self.async_enabled += 1
13797  *         if self.async_enabled == 1:
13798  *             self.keywords.add('async')             # <<<<<<<<<<<<<<
13799  *             self.keywords.add('await')
13800  *
13801  */
13802     if (unlikely(__pyx_v_self->keywords == Py_None)) {
13803       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
13804       __PYX_ERR(0, 541, __pyx_L1_error)
13805     }
13806     __pyx_t_2 = PySet_Add(__pyx_v_self->keywords, __pyx_n_u_async); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 541, __pyx_L1_error)
13807 
13808     /* "Cython/Compiler/Scanning.py":542
13809  *         if self.async_enabled == 1:
13810  *             self.keywords.add('async')
13811  *             self.keywords.add('await')             # <<<<<<<<<<<<<<
13812  *
13813  *     def exit_async(self):
13814  */
13815     if (unlikely(__pyx_v_self->keywords == Py_None)) {
13816       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add");
13817       __PYX_ERR(0, 542, __pyx_L1_error)
13818     }
13819     __pyx_t_2 = PySet_Add(__pyx_v_self->keywords, __pyx_n_u_await); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 542, __pyx_L1_error)
13820 
13821     /* "Cython/Compiler/Scanning.py":540
13822  *     def enter_async(self):
13823  *         self.async_enabled += 1
13824  *         if self.async_enabled == 1:             # <<<<<<<<<<<<<<
13825  *             self.keywords.add('async')
13826  *             self.keywords.add('await')
13827  */
13828   }
13829 
13830   /* "Cython/Compiler/Scanning.py":538
13831  *             warning(useless_trailing_semicolon, "useless trailing semicolon")
13832  *
13833  *     def enter_async(self):             # <<<<<<<<<<<<<<
13834  *         self.async_enabled += 1
13835  *         if self.async_enabled == 1:
13836  */
13837 
13838   /* function exit code */
13839   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13840   goto __pyx_L0;
13841   __pyx_L1_error:;
13842   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.enter_async", __pyx_clineno, __pyx_lineno, __pyx_filename);
13843   __pyx_r = NULL;
13844   __pyx_L0:;
13845   __Pyx_XGIVEREF(__pyx_r);
13846   __Pyx_RefNannyFinishContext();
13847   return __pyx_r;
13848 }
13849 
13850 /* "Cython/Compiler/Scanning.py":544
13851  *             self.keywords.add('await')
13852  *
13853  *     def exit_async(self):             # <<<<<<<<<<<<<<
13854  *         assert self.async_enabled > 0
13855  *         self.async_enabled -= 1
13856  */
13857 
13858 /* Python wrapper */
13859 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_47exit_async(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
13860 static PyMethodDef __pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_47exit_async = {"exit_async", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_47exit_async, METH_NOARGS, 0};
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_47exit_async(PyObject * __pyx_v_self,CYTHON_UNUSED PyObject * unused)13861 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_47exit_async(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
13862   PyObject *__pyx_r = 0;
13863   __Pyx_RefNannyDeclarations
13864   __Pyx_RefNannySetupContext("exit_async (wrapper)", 0);
13865   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_46exit_async(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
13866 
13867   /* function exit code */
13868   __Pyx_RefNannyFinishContext();
13869   return __pyx_r;
13870 }
13871 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_46exit_async(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)13872 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_46exit_async(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
13873   PyObject *__pyx_r = NULL;
13874   __Pyx_RefNannyDeclarations
13875   int __pyx_t_1;
13876   int __pyx_t_2;
13877   PyObject *__pyx_t_3 = NULL;
13878   int __pyx_t_4;
13879   PyObject *__pyx_t_5 = NULL;
13880   PyObject *__pyx_t_6 = NULL;
13881   PyObject *__pyx_t_7 = NULL;
13882   int __pyx_lineno = 0;
13883   const char *__pyx_filename = NULL;
13884   int __pyx_clineno = 0;
13885   __Pyx_RefNannySetupContext("exit_async", 0);
13886 
13887   /* "Cython/Compiler/Scanning.py":545
13888  *
13889  *     def exit_async(self):
13890  *         assert self.async_enabled > 0             # <<<<<<<<<<<<<<
13891  *         self.async_enabled -= 1
13892  *         if not self.async_enabled:
13893  */
13894   #ifndef CYTHON_WITHOUT_ASSERTIONS
13895   if (unlikely(!Py_OptimizeFlag)) {
13896     if (unlikely(!((__pyx_v_self->async_enabled > 0) != 0))) {
13897       PyErr_SetNone(PyExc_AssertionError);
13898       __PYX_ERR(0, 545, __pyx_L1_error)
13899     }
13900   }
13901   #endif
13902 
13903   /* "Cython/Compiler/Scanning.py":546
13904  *     def exit_async(self):
13905  *         assert self.async_enabled > 0
13906  *         self.async_enabled -= 1             # <<<<<<<<<<<<<<
13907  *         if not self.async_enabled:
13908  *             self.keywords.discard('await')
13909  */
13910   __pyx_v_self->async_enabled = (__pyx_v_self->async_enabled - 1);
13911 
13912   /* "Cython/Compiler/Scanning.py":547
13913  *         assert self.async_enabled > 0
13914  *         self.async_enabled -= 1
13915  *         if not self.async_enabled:             # <<<<<<<<<<<<<<
13916  *             self.keywords.discard('await')
13917  *             self.keywords.discard('async')
13918  */
13919   __pyx_t_1 = ((!(__pyx_v_self->async_enabled != 0)) != 0);
13920   if (__pyx_t_1) {
13921 
13922     /* "Cython/Compiler/Scanning.py":548
13923  *         self.async_enabled -= 1
13924  *         if not self.async_enabled:
13925  *             self.keywords.discard('await')             # <<<<<<<<<<<<<<
13926  *             self.keywords.discard('async')
13927  *             if self.sy in ('async', 'await'):
13928  */
13929     if (unlikely(__pyx_v_self->keywords == Py_None)) {
13930       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "discard");
13931       __PYX_ERR(0, 548, __pyx_L1_error)
13932     }
13933     __pyx_t_2 = __Pyx_PySet_Discard(__pyx_v_self->keywords, __pyx_n_u_await); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 548, __pyx_L1_error)
13934 
13935     /* "Cython/Compiler/Scanning.py":549
13936  *         if not self.async_enabled:
13937  *             self.keywords.discard('await')
13938  *             self.keywords.discard('async')             # <<<<<<<<<<<<<<
13939  *             if self.sy in ('async', 'await'):
13940  *                 self.sy, self.systring = IDENT, self.context.intern_ustring(self.sy)
13941  */
13942     if (unlikely(__pyx_v_self->keywords == Py_None)) {
13943       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "discard");
13944       __PYX_ERR(0, 549, __pyx_L1_error)
13945     }
13946     __pyx_t_2 = __Pyx_PySet_Discard(__pyx_v_self->keywords, __pyx_n_u_async); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 549, __pyx_L1_error)
13947 
13948     /* "Cython/Compiler/Scanning.py":550
13949  *             self.keywords.discard('await')
13950  *             self.keywords.discard('async')
13951  *             if self.sy in ('async', 'await'):             # <<<<<<<<<<<<<<
13952  *                 self.sy, self.systring = IDENT, self.context.intern_ustring(self.sy)
13953  */
13954     __Pyx_INCREF(__pyx_v_self->sy);
13955     __pyx_t_3 = __pyx_v_self->sy;
13956     __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_async, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 550, __pyx_L1_error)
13957     if (!__pyx_t_4) {
13958     } else {
13959       __pyx_t_1 = __pyx_t_4;
13960       goto __pyx_L5_bool_binop_done;
13961     }
13962     __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_await, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 550, __pyx_L1_error)
13963     __pyx_t_1 = __pyx_t_4;
13964     __pyx_L5_bool_binop_done:;
13965     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13966     __pyx_t_4 = (__pyx_t_1 != 0);
13967     if (__pyx_t_4) {
13968 
13969       /* "Cython/Compiler/Scanning.py":551
13970  *             self.keywords.discard('async')
13971  *             if self.sy in ('async', 'await'):
13972  *                 self.sy, self.systring = IDENT, self.context.intern_ustring(self.sy)             # <<<<<<<<<<<<<<
13973  */
13974       __pyx_t_3 = __pyx_v_6Cython_8Compiler_8Scanning_IDENT;
13975       __Pyx_INCREF(__pyx_t_3);
13976       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->context, __pyx_n_s_intern_ustring); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 551, __pyx_L1_error)
13977       __Pyx_GOTREF(__pyx_t_6);
13978       __pyx_t_7 = NULL;
13979       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
13980         __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
13981         if (likely(__pyx_t_7)) {
13982           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
13983           __Pyx_INCREF(__pyx_t_7);
13984           __Pyx_INCREF(function);
13985           __Pyx_DECREF_SET(__pyx_t_6, function);
13986         }
13987       }
13988       __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_self->sy) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self->sy);
13989       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
13990       if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 551, __pyx_L1_error)
13991       __Pyx_GOTREF(__pyx_t_5);
13992       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
13993       __Pyx_GIVEREF(__pyx_t_3);
13994       __Pyx_GOTREF(__pyx_v_self->sy);
13995       __Pyx_DECREF(__pyx_v_self->sy);
13996       __pyx_v_self->sy = __pyx_t_3;
13997       __pyx_t_3 = 0;
13998       __Pyx_GIVEREF(__pyx_t_5);
13999       __Pyx_GOTREF(__pyx_v_self->systring);
14000       __Pyx_DECREF(__pyx_v_self->systring);
14001       __pyx_v_self->systring = __pyx_t_5;
14002       __pyx_t_5 = 0;
14003 
14004       /* "Cython/Compiler/Scanning.py":550
14005  *             self.keywords.discard('await')
14006  *             self.keywords.discard('async')
14007  *             if self.sy in ('async', 'await'):             # <<<<<<<<<<<<<<
14008  *                 self.sy, self.systring = IDENT, self.context.intern_ustring(self.sy)
14009  */
14010     }
14011 
14012     /* "Cython/Compiler/Scanning.py":547
14013  *         assert self.async_enabled > 0
14014  *         self.async_enabled -= 1
14015  *         if not self.async_enabled:             # <<<<<<<<<<<<<<
14016  *             self.keywords.discard('await')
14017  *             self.keywords.discard('async')
14018  */
14019   }
14020 
14021   /* "Cython/Compiler/Scanning.py":544
14022  *             self.keywords.add('await')
14023  *
14024  *     def exit_async(self):             # <<<<<<<<<<<<<<
14025  *         assert self.async_enabled > 0
14026  *         self.async_enabled -= 1
14027  */
14028 
14029   /* function exit code */
14030   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14031   goto __pyx_L0;
14032   __pyx_L1_error:;
14033   __Pyx_XDECREF(__pyx_t_3);
14034   __Pyx_XDECREF(__pyx_t_5);
14035   __Pyx_XDECREF(__pyx_t_6);
14036   __Pyx_XDECREF(__pyx_t_7);
14037   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.exit_async", __pyx_clineno, __pyx_lineno, __pyx_filename);
14038   __pyx_r = NULL;
14039   __pyx_L0:;
14040   __Pyx_XGIVEREF(__pyx_r);
14041   __Pyx_RefNannyFinishContext();
14042   return __pyx_r;
14043 }
14044 
14045 /* "Cython/Compiler/Scanning.pxd":29
14046  * @cython.final
14047  * cdef class PyrexScanner(Scanner):
14048  *     cdef public context             # <<<<<<<<<<<<<<
14049  *     cdef public list included_files
14050  *     cdef public CompileTimeScope compile_time_env
14051  */
14052 
14053 /* Python wrapper */
14054 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_1__get__(PyObject * __pyx_v_self)14055 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_1__get__(PyObject *__pyx_v_self) {
14056   PyObject *__pyx_r = 0;
14057   __Pyx_RefNannyDeclarations
14058   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14059   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14060 
14061   /* function exit code */
14062   __Pyx_RefNannyFinishContext();
14063   return __pyx_r;
14064 }
14065 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14066 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14067   PyObject *__pyx_r = NULL;
14068   __Pyx_RefNannyDeclarations
14069   __Pyx_RefNannySetupContext("__get__", 0);
14070   __Pyx_XDECREF(__pyx_r);
14071   __Pyx_INCREF(__pyx_v_self->context);
14072   __pyx_r = __pyx_v_self->context;
14073   goto __pyx_L0;
14074 
14075   /* function exit code */
14076   __pyx_L0:;
14077   __Pyx_XGIVEREF(__pyx_r);
14078   __Pyx_RefNannyFinishContext();
14079   return __pyx_r;
14080 }
14081 
14082 /* Python wrapper */
14083 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14084 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14085   int __pyx_r;
14086   __Pyx_RefNannyDeclarations
14087   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14088   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14089 
14090   /* function exit code */
14091   __Pyx_RefNannyFinishContext();
14092   return __pyx_r;
14093 }
14094 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14095 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14096   int __pyx_r;
14097   __Pyx_RefNannyDeclarations
14098   __Pyx_RefNannySetupContext("__set__", 0);
14099   __Pyx_INCREF(__pyx_v_value);
14100   __Pyx_GIVEREF(__pyx_v_value);
14101   __Pyx_GOTREF(__pyx_v_self->context);
14102   __Pyx_DECREF(__pyx_v_self->context);
14103   __pyx_v_self->context = __pyx_v_value;
14104 
14105   /* function exit code */
14106   __pyx_r = 0;
14107   __Pyx_RefNannyFinishContext();
14108   return __pyx_r;
14109 }
14110 
14111 /* Python wrapper */
14112 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_5__del__(PyObject * __pyx_v_self)14113 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_5__del__(PyObject *__pyx_v_self) {
14114   int __pyx_r;
14115   __Pyx_RefNannyDeclarations
14116   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14117   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14118 
14119   /* function exit code */
14120   __Pyx_RefNannyFinishContext();
14121   return __pyx_r;
14122 }
14123 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14124 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14125   int __pyx_r;
14126   __Pyx_RefNannyDeclarations
14127   __Pyx_RefNannySetupContext("__del__", 0);
14128   __Pyx_INCREF(Py_None);
14129   __Pyx_GIVEREF(Py_None);
14130   __Pyx_GOTREF(__pyx_v_self->context);
14131   __Pyx_DECREF(__pyx_v_self->context);
14132   __pyx_v_self->context = Py_None;
14133 
14134   /* function exit code */
14135   __pyx_r = 0;
14136   __Pyx_RefNannyFinishContext();
14137   return __pyx_r;
14138 }
14139 
14140 /* "Cython/Compiler/Scanning.pxd":30
14141  * cdef class PyrexScanner(Scanner):
14142  *     cdef public context
14143  *     cdef public list included_files             # <<<<<<<<<<<<<<
14144  *     cdef public CompileTimeScope compile_time_env
14145  *     cdef public bint compile_time_eval
14146  */
14147 
14148 /* Python wrapper */
14149 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_1__get__(PyObject * __pyx_v_self)14150 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_1__get__(PyObject *__pyx_v_self) {
14151   PyObject *__pyx_r = 0;
14152   __Pyx_RefNannyDeclarations
14153   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14154   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14155 
14156   /* function exit code */
14157   __Pyx_RefNannyFinishContext();
14158   return __pyx_r;
14159 }
14160 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14161 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14162   PyObject *__pyx_r = NULL;
14163   __Pyx_RefNannyDeclarations
14164   __Pyx_RefNannySetupContext("__get__", 0);
14165   __Pyx_XDECREF(__pyx_r);
14166   __Pyx_INCREF(__pyx_v_self->included_files);
14167   __pyx_r = __pyx_v_self->included_files;
14168   goto __pyx_L0;
14169 
14170   /* function exit code */
14171   __pyx_L0:;
14172   __Pyx_XGIVEREF(__pyx_r);
14173   __Pyx_RefNannyFinishContext();
14174   return __pyx_r;
14175 }
14176 
14177 /* Python wrapper */
14178 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14179 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14180   int __pyx_r;
14181   __Pyx_RefNannyDeclarations
14182   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14183   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14184 
14185   /* function exit code */
14186   __Pyx_RefNannyFinishContext();
14187   return __pyx_r;
14188 }
14189 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14190 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14191   int __pyx_r;
14192   __Pyx_RefNannyDeclarations
14193   PyObject *__pyx_t_1 = NULL;
14194   int __pyx_lineno = 0;
14195   const char *__pyx_filename = NULL;
14196   int __pyx_clineno = 0;
14197   __Pyx_RefNannySetupContext("__set__", 0);
14198   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, 30, __pyx_L1_error)
14199   __pyx_t_1 = __pyx_v_value;
14200   __Pyx_INCREF(__pyx_t_1);
14201   __Pyx_GIVEREF(__pyx_t_1);
14202   __Pyx_GOTREF(__pyx_v_self->included_files);
14203   __Pyx_DECREF(__pyx_v_self->included_files);
14204   __pyx_v_self->included_files = ((PyObject*)__pyx_t_1);
14205   __pyx_t_1 = 0;
14206 
14207   /* function exit code */
14208   __pyx_r = 0;
14209   goto __pyx_L0;
14210   __pyx_L1_error:;
14211   __Pyx_XDECREF(__pyx_t_1);
14212   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.included_files.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14213   __pyx_r = -1;
14214   __pyx_L0:;
14215   __Pyx_RefNannyFinishContext();
14216   return __pyx_r;
14217 }
14218 
14219 /* Python wrapper */
14220 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_5__del__(PyObject * __pyx_v_self)14221 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_5__del__(PyObject *__pyx_v_self) {
14222   int __pyx_r;
14223   __Pyx_RefNannyDeclarations
14224   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14225   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14226 
14227   /* function exit code */
14228   __Pyx_RefNannyFinishContext();
14229   return __pyx_r;
14230 }
14231 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14232 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14233   int __pyx_r;
14234   __Pyx_RefNannyDeclarations
14235   __Pyx_RefNannySetupContext("__del__", 0);
14236   __Pyx_INCREF(Py_None);
14237   __Pyx_GIVEREF(Py_None);
14238   __Pyx_GOTREF(__pyx_v_self->included_files);
14239   __Pyx_DECREF(__pyx_v_self->included_files);
14240   __pyx_v_self->included_files = ((PyObject*)Py_None);
14241 
14242   /* function exit code */
14243   __pyx_r = 0;
14244   __Pyx_RefNannyFinishContext();
14245   return __pyx_r;
14246 }
14247 
14248 /* "Cython/Compiler/Scanning.pxd":31
14249  *     cdef public context
14250  *     cdef public list included_files
14251  *     cdef public CompileTimeScope compile_time_env             # <<<<<<<<<<<<<<
14252  *     cdef public bint compile_time_eval
14253  *     cdef public bint compile_time_expr
14254  */
14255 
14256 /* Python wrapper */
14257 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_1__get__(PyObject * __pyx_v_self)14258 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_1__get__(PyObject *__pyx_v_self) {
14259   PyObject *__pyx_r = 0;
14260   __Pyx_RefNannyDeclarations
14261   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14262   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14263 
14264   /* function exit code */
14265   __Pyx_RefNannyFinishContext();
14266   return __pyx_r;
14267 }
14268 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14269 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14270   PyObject *__pyx_r = NULL;
14271   __Pyx_RefNannyDeclarations
14272   __Pyx_RefNannySetupContext("__get__", 0);
14273   __Pyx_XDECREF(__pyx_r);
14274   __Pyx_INCREF(((PyObject *)__pyx_v_self->compile_time_env));
14275   __pyx_r = ((PyObject *)__pyx_v_self->compile_time_env);
14276   goto __pyx_L0;
14277 
14278   /* function exit code */
14279   __pyx_L0:;
14280   __Pyx_XGIVEREF(__pyx_r);
14281   __Pyx_RefNannyFinishContext();
14282   return __pyx_r;
14283 }
14284 
14285 /* Python wrapper */
14286 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14287 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14288   int __pyx_r;
14289   __Pyx_RefNannyDeclarations
14290   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14291   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14292 
14293   /* function exit code */
14294   __Pyx_RefNannyFinishContext();
14295   return __pyx_r;
14296 }
14297 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14298 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14299   int __pyx_r;
14300   __Pyx_RefNannyDeclarations
14301   PyObject *__pyx_t_1 = NULL;
14302   int __pyx_lineno = 0;
14303   const char *__pyx_filename = NULL;
14304   int __pyx_clineno = 0;
14305   __Pyx_RefNannySetupContext("__set__", 0);
14306   if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope))))) __PYX_ERR(1, 31, __pyx_L1_error)
14307   __pyx_t_1 = __pyx_v_value;
14308   __Pyx_INCREF(__pyx_t_1);
14309   __Pyx_GIVEREF(__pyx_t_1);
14310   __Pyx_GOTREF(__pyx_v_self->compile_time_env);
14311   __Pyx_DECREF(((PyObject *)__pyx_v_self->compile_time_env));
14312   __pyx_v_self->compile_time_env = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)__pyx_t_1);
14313   __pyx_t_1 = 0;
14314 
14315   /* function exit code */
14316   __pyx_r = 0;
14317   goto __pyx_L0;
14318   __pyx_L1_error:;
14319   __Pyx_XDECREF(__pyx_t_1);
14320   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.compile_time_env.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14321   __pyx_r = -1;
14322   __pyx_L0:;
14323   __Pyx_RefNannyFinishContext();
14324   return __pyx_r;
14325 }
14326 
14327 /* Python wrapper */
14328 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_5__del__(PyObject * __pyx_v_self)14329 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_5__del__(PyObject *__pyx_v_self) {
14330   int __pyx_r;
14331   __Pyx_RefNannyDeclarations
14332   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14333   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14334 
14335   /* function exit code */
14336   __Pyx_RefNannyFinishContext();
14337   return __pyx_r;
14338 }
14339 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14340 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14341   int __pyx_r;
14342   __Pyx_RefNannyDeclarations
14343   __Pyx_RefNannySetupContext("__del__", 0);
14344   __Pyx_INCREF(Py_None);
14345   __Pyx_GIVEREF(Py_None);
14346   __Pyx_GOTREF(__pyx_v_self->compile_time_env);
14347   __Pyx_DECREF(((PyObject *)__pyx_v_self->compile_time_env));
14348   __pyx_v_self->compile_time_env = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)Py_None);
14349 
14350   /* function exit code */
14351   __pyx_r = 0;
14352   __Pyx_RefNannyFinishContext();
14353   return __pyx_r;
14354 }
14355 
14356 /* "Cython/Compiler/Scanning.pxd":32
14357  *     cdef public list included_files
14358  *     cdef public CompileTimeScope compile_time_env
14359  *     cdef public bint compile_time_eval             # <<<<<<<<<<<<<<
14360  *     cdef public bint compile_time_expr
14361  *     cdef public bint parse_comments
14362  */
14363 
14364 /* Python wrapper */
14365 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_1__get__(PyObject * __pyx_v_self)14366 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_1__get__(PyObject *__pyx_v_self) {
14367   PyObject *__pyx_r = 0;
14368   __Pyx_RefNannyDeclarations
14369   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14370   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14371 
14372   /* function exit code */
14373   __Pyx_RefNannyFinishContext();
14374   return __pyx_r;
14375 }
14376 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14377 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14378   PyObject *__pyx_r = NULL;
14379   __Pyx_RefNannyDeclarations
14380   PyObject *__pyx_t_1 = NULL;
14381   int __pyx_lineno = 0;
14382   const char *__pyx_filename = NULL;
14383   int __pyx_clineno = 0;
14384   __Pyx_RefNannySetupContext("__get__", 0);
14385   __Pyx_XDECREF(__pyx_r);
14386   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->compile_time_eval); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32, __pyx_L1_error)
14387   __Pyx_GOTREF(__pyx_t_1);
14388   __pyx_r = __pyx_t_1;
14389   __pyx_t_1 = 0;
14390   goto __pyx_L0;
14391 
14392   /* function exit code */
14393   __pyx_L1_error:;
14394   __Pyx_XDECREF(__pyx_t_1);
14395   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.compile_time_eval.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14396   __pyx_r = NULL;
14397   __pyx_L0:;
14398   __Pyx_XGIVEREF(__pyx_r);
14399   __Pyx_RefNannyFinishContext();
14400   return __pyx_r;
14401 }
14402 
14403 /* Python wrapper */
14404 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14405 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14406   int __pyx_r;
14407   __Pyx_RefNannyDeclarations
14408   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14409   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14410 
14411   /* function exit code */
14412   __Pyx_RefNannyFinishContext();
14413   return __pyx_r;
14414 }
14415 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14416 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14417   int __pyx_r;
14418   __Pyx_RefNannyDeclarations
14419   int __pyx_t_1;
14420   int __pyx_lineno = 0;
14421   const char *__pyx_filename = NULL;
14422   int __pyx_clineno = 0;
14423   __Pyx_RefNannySetupContext("__set__", 0);
14424   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 32, __pyx_L1_error)
14425   __pyx_v_self->compile_time_eval = __pyx_t_1;
14426 
14427   /* function exit code */
14428   __pyx_r = 0;
14429   goto __pyx_L0;
14430   __pyx_L1_error:;
14431   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.compile_time_eval.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14432   __pyx_r = -1;
14433   __pyx_L0:;
14434   __Pyx_RefNannyFinishContext();
14435   return __pyx_r;
14436 }
14437 
14438 /* "Cython/Compiler/Scanning.pxd":33
14439  *     cdef public CompileTimeScope compile_time_env
14440  *     cdef public bint compile_time_eval
14441  *     cdef public bint compile_time_expr             # <<<<<<<<<<<<<<
14442  *     cdef public bint parse_comments
14443  *     cdef public bint in_python_file
14444  */
14445 
14446 /* Python wrapper */
14447 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_1__get__(PyObject * __pyx_v_self)14448 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_1__get__(PyObject *__pyx_v_self) {
14449   PyObject *__pyx_r = 0;
14450   __Pyx_RefNannyDeclarations
14451   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14452   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14453 
14454   /* function exit code */
14455   __Pyx_RefNannyFinishContext();
14456   return __pyx_r;
14457 }
14458 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14459 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14460   PyObject *__pyx_r = NULL;
14461   __Pyx_RefNannyDeclarations
14462   PyObject *__pyx_t_1 = NULL;
14463   int __pyx_lineno = 0;
14464   const char *__pyx_filename = NULL;
14465   int __pyx_clineno = 0;
14466   __Pyx_RefNannySetupContext("__get__", 0);
14467   __Pyx_XDECREF(__pyx_r);
14468   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->compile_time_expr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33, __pyx_L1_error)
14469   __Pyx_GOTREF(__pyx_t_1);
14470   __pyx_r = __pyx_t_1;
14471   __pyx_t_1 = 0;
14472   goto __pyx_L0;
14473 
14474   /* function exit code */
14475   __pyx_L1_error:;
14476   __Pyx_XDECREF(__pyx_t_1);
14477   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.compile_time_expr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14478   __pyx_r = NULL;
14479   __pyx_L0:;
14480   __Pyx_XGIVEREF(__pyx_r);
14481   __Pyx_RefNannyFinishContext();
14482   return __pyx_r;
14483 }
14484 
14485 /* Python wrapper */
14486 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14487 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14488   int __pyx_r;
14489   __Pyx_RefNannyDeclarations
14490   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14491   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14492 
14493   /* function exit code */
14494   __Pyx_RefNannyFinishContext();
14495   return __pyx_r;
14496 }
14497 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14498 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14499   int __pyx_r;
14500   __Pyx_RefNannyDeclarations
14501   int __pyx_t_1;
14502   int __pyx_lineno = 0;
14503   const char *__pyx_filename = NULL;
14504   int __pyx_clineno = 0;
14505   __Pyx_RefNannySetupContext("__set__", 0);
14506   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 33, __pyx_L1_error)
14507   __pyx_v_self->compile_time_expr = __pyx_t_1;
14508 
14509   /* function exit code */
14510   __pyx_r = 0;
14511   goto __pyx_L0;
14512   __pyx_L1_error:;
14513   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.compile_time_expr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14514   __pyx_r = -1;
14515   __pyx_L0:;
14516   __Pyx_RefNannyFinishContext();
14517   return __pyx_r;
14518 }
14519 
14520 /* "Cython/Compiler/Scanning.pxd":34
14521  *     cdef public bint compile_time_eval
14522  *     cdef public bint compile_time_expr
14523  *     cdef public bint parse_comments             # <<<<<<<<<<<<<<
14524  *     cdef public bint in_python_file
14525  *     cdef public source_encoding
14526  */
14527 
14528 /* Python wrapper */
14529 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_1__get__(PyObject * __pyx_v_self)14530 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_1__get__(PyObject *__pyx_v_self) {
14531   PyObject *__pyx_r = 0;
14532   __Pyx_RefNannyDeclarations
14533   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14534   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14535 
14536   /* function exit code */
14537   __Pyx_RefNannyFinishContext();
14538   return __pyx_r;
14539 }
14540 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14541 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14542   PyObject *__pyx_r = NULL;
14543   __Pyx_RefNannyDeclarations
14544   PyObject *__pyx_t_1 = NULL;
14545   int __pyx_lineno = 0;
14546   const char *__pyx_filename = NULL;
14547   int __pyx_clineno = 0;
14548   __Pyx_RefNannySetupContext("__get__", 0);
14549   __Pyx_XDECREF(__pyx_r);
14550   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->parse_comments); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34, __pyx_L1_error)
14551   __Pyx_GOTREF(__pyx_t_1);
14552   __pyx_r = __pyx_t_1;
14553   __pyx_t_1 = 0;
14554   goto __pyx_L0;
14555 
14556   /* function exit code */
14557   __pyx_L1_error:;
14558   __Pyx_XDECREF(__pyx_t_1);
14559   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.parse_comments.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14560   __pyx_r = NULL;
14561   __pyx_L0:;
14562   __Pyx_XGIVEREF(__pyx_r);
14563   __Pyx_RefNannyFinishContext();
14564   return __pyx_r;
14565 }
14566 
14567 /* Python wrapper */
14568 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14569 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14570   int __pyx_r;
14571   __Pyx_RefNannyDeclarations
14572   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14573   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14574 
14575   /* function exit code */
14576   __Pyx_RefNannyFinishContext();
14577   return __pyx_r;
14578 }
14579 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14580 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14581   int __pyx_r;
14582   __Pyx_RefNannyDeclarations
14583   int __pyx_t_1;
14584   int __pyx_lineno = 0;
14585   const char *__pyx_filename = NULL;
14586   int __pyx_clineno = 0;
14587   __Pyx_RefNannySetupContext("__set__", 0);
14588   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 34, __pyx_L1_error)
14589   __pyx_v_self->parse_comments = __pyx_t_1;
14590 
14591   /* function exit code */
14592   __pyx_r = 0;
14593   goto __pyx_L0;
14594   __pyx_L1_error:;
14595   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.parse_comments.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14596   __pyx_r = -1;
14597   __pyx_L0:;
14598   __Pyx_RefNannyFinishContext();
14599   return __pyx_r;
14600 }
14601 
14602 /* "Cython/Compiler/Scanning.pxd":35
14603  *     cdef public bint compile_time_expr
14604  *     cdef public bint parse_comments
14605  *     cdef public bint in_python_file             # <<<<<<<<<<<<<<
14606  *     cdef public source_encoding
14607  *     cdef set keywords
14608  */
14609 
14610 /* Python wrapper */
14611 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_1__get__(PyObject * __pyx_v_self)14612 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_1__get__(PyObject *__pyx_v_self) {
14613   PyObject *__pyx_r = 0;
14614   __Pyx_RefNannyDeclarations
14615   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14616   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14617 
14618   /* function exit code */
14619   __Pyx_RefNannyFinishContext();
14620   return __pyx_r;
14621 }
14622 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14623 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14624   PyObject *__pyx_r = NULL;
14625   __Pyx_RefNannyDeclarations
14626   PyObject *__pyx_t_1 = NULL;
14627   int __pyx_lineno = 0;
14628   const char *__pyx_filename = NULL;
14629   int __pyx_clineno = 0;
14630   __Pyx_RefNannySetupContext("__get__", 0);
14631   __Pyx_XDECREF(__pyx_r);
14632   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->in_python_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 35, __pyx_L1_error)
14633   __Pyx_GOTREF(__pyx_t_1);
14634   __pyx_r = __pyx_t_1;
14635   __pyx_t_1 = 0;
14636   goto __pyx_L0;
14637 
14638   /* function exit code */
14639   __pyx_L1_error:;
14640   __Pyx_XDECREF(__pyx_t_1);
14641   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.in_python_file.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14642   __pyx_r = NULL;
14643   __pyx_L0:;
14644   __Pyx_XGIVEREF(__pyx_r);
14645   __Pyx_RefNannyFinishContext();
14646   return __pyx_r;
14647 }
14648 
14649 /* Python wrapper */
14650 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14651 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14652   int __pyx_r;
14653   __Pyx_RefNannyDeclarations
14654   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14655   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14656 
14657   /* function exit code */
14658   __Pyx_RefNannyFinishContext();
14659   return __pyx_r;
14660 }
14661 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14662 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14663   int __pyx_r;
14664   __Pyx_RefNannyDeclarations
14665   int __pyx_t_1;
14666   int __pyx_lineno = 0;
14667   const char *__pyx_filename = NULL;
14668   int __pyx_clineno = 0;
14669   __Pyx_RefNannySetupContext("__set__", 0);
14670   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 35, __pyx_L1_error)
14671   __pyx_v_self->in_python_file = __pyx_t_1;
14672 
14673   /* function exit code */
14674   __pyx_r = 0;
14675   goto __pyx_L0;
14676   __pyx_L1_error:;
14677   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.in_python_file.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14678   __pyx_r = -1;
14679   __pyx_L0:;
14680   __Pyx_RefNannyFinishContext();
14681   return __pyx_r;
14682 }
14683 
14684 /* "Cython/Compiler/Scanning.pxd":36
14685  *     cdef public bint parse_comments
14686  *     cdef public bint in_python_file
14687  *     cdef public source_encoding             # <<<<<<<<<<<<<<
14688  *     cdef set keywords
14689  *     cdef public list indentation_stack
14690  */
14691 
14692 /* Python wrapper */
14693 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_1__get__(PyObject * __pyx_v_self)14694 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_1__get__(PyObject *__pyx_v_self) {
14695   PyObject *__pyx_r = 0;
14696   __Pyx_RefNannyDeclarations
14697   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14698   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14699 
14700   /* function exit code */
14701   __Pyx_RefNannyFinishContext();
14702   return __pyx_r;
14703 }
14704 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14705 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14706   PyObject *__pyx_r = NULL;
14707   __Pyx_RefNannyDeclarations
14708   __Pyx_RefNannySetupContext("__get__", 0);
14709   __Pyx_XDECREF(__pyx_r);
14710   __Pyx_INCREF(__pyx_v_self->source_encoding);
14711   __pyx_r = __pyx_v_self->source_encoding;
14712   goto __pyx_L0;
14713 
14714   /* function exit code */
14715   __pyx_L0:;
14716   __Pyx_XGIVEREF(__pyx_r);
14717   __Pyx_RefNannyFinishContext();
14718   return __pyx_r;
14719 }
14720 
14721 /* Python wrapper */
14722 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14723 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14724   int __pyx_r;
14725   __Pyx_RefNannyDeclarations
14726   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14727   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14728 
14729   /* function exit code */
14730   __Pyx_RefNannyFinishContext();
14731   return __pyx_r;
14732 }
14733 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14734 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14735   int __pyx_r;
14736   __Pyx_RefNannyDeclarations
14737   __Pyx_RefNannySetupContext("__set__", 0);
14738   __Pyx_INCREF(__pyx_v_value);
14739   __Pyx_GIVEREF(__pyx_v_value);
14740   __Pyx_GOTREF(__pyx_v_self->source_encoding);
14741   __Pyx_DECREF(__pyx_v_self->source_encoding);
14742   __pyx_v_self->source_encoding = __pyx_v_value;
14743 
14744   /* function exit code */
14745   __pyx_r = 0;
14746   __Pyx_RefNannyFinishContext();
14747   return __pyx_r;
14748 }
14749 
14750 /* Python wrapper */
14751 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_5__del__(PyObject * __pyx_v_self)14752 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_5__del__(PyObject *__pyx_v_self) {
14753   int __pyx_r;
14754   __Pyx_RefNannyDeclarations
14755   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14756   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14757 
14758   /* function exit code */
14759   __Pyx_RefNannyFinishContext();
14760   return __pyx_r;
14761 }
14762 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14763 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14764   int __pyx_r;
14765   __Pyx_RefNannyDeclarations
14766   __Pyx_RefNannySetupContext("__del__", 0);
14767   __Pyx_INCREF(Py_None);
14768   __Pyx_GIVEREF(Py_None);
14769   __Pyx_GOTREF(__pyx_v_self->source_encoding);
14770   __Pyx_DECREF(__pyx_v_self->source_encoding);
14771   __pyx_v_self->source_encoding = Py_None;
14772 
14773   /* function exit code */
14774   __pyx_r = 0;
14775   __Pyx_RefNannyFinishContext();
14776   return __pyx_r;
14777 }
14778 
14779 /* "Cython/Compiler/Scanning.pxd":38
14780  *     cdef public source_encoding
14781  *     cdef set keywords
14782  *     cdef public list indentation_stack             # <<<<<<<<<<<<<<
14783  *     cdef public indentation_char
14784  *     cdef public int bracket_nesting_level
14785  */
14786 
14787 /* Python wrapper */
14788 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_1__get__(PyObject * __pyx_v_self)14789 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_1__get__(PyObject *__pyx_v_self) {
14790   PyObject *__pyx_r = 0;
14791   __Pyx_RefNannyDeclarations
14792   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14793   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14794 
14795   /* function exit code */
14796   __Pyx_RefNannyFinishContext();
14797   return __pyx_r;
14798 }
14799 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14800 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14801   PyObject *__pyx_r = NULL;
14802   __Pyx_RefNannyDeclarations
14803   __Pyx_RefNannySetupContext("__get__", 0);
14804   __Pyx_XDECREF(__pyx_r);
14805   __Pyx_INCREF(__pyx_v_self->indentation_stack);
14806   __pyx_r = __pyx_v_self->indentation_stack;
14807   goto __pyx_L0;
14808 
14809   /* function exit code */
14810   __pyx_L0:;
14811   __Pyx_XGIVEREF(__pyx_r);
14812   __Pyx_RefNannyFinishContext();
14813   return __pyx_r;
14814 }
14815 
14816 /* Python wrapper */
14817 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14818 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14819   int __pyx_r;
14820   __Pyx_RefNannyDeclarations
14821   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14822   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14823 
14824   /* function exit code */
14825   __Pyx_RefNannyFinishContext();
14826   return __pyx_r;
14827 }
14828 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14829 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14830   int __pyx_r;
14831   __Pyx_RefNannyDeclarations
14832   PyObject *__pyx_t_1 = NULL;
14833   int __pyx_lineno = 0;
14834   const char *__pyx_filename = NULL;
14835   int __pyx_clineno = 0;
14836   __Pyx_RefNannySetupContext("__set__", 0);
14837   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, 38, __pyx_L1_error)
14838   __pyx_t_1 = __pyx_v_value;
14839   __Pyx_INCREF(__pyx_t_1);
14840   __Pyx_GIVEREF(__pyx_t_1);
14841   __Pyx_GOTREF(__pyx_v_self->indentation_stack);
14842   __Pyx_DECREF(__pyx_v_self->indentation_stack);
14843   __pyx_v_self->indentation_stack = ((PyObject*)__pyx_t_1);
14844   __pyx_t_1 = 0;
14845 
14846   /* function exit code */
14847   __pyx_r = 0;
14848   goto __pyx_L0;
14849   __pyx_L1_error:;
14850   __Pyx_XDECREF(__pyx_t_1);
14851   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.indentation_stack.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14852   __pyx_r = -1;
14853   __pyx_L0:;
14854   __Pyx_RefNannyFinishContext();
14855   return __pyx_r;
14856 }
14857 
14858 /* Python wrapper */
14859 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_5__del__(PyObject * __pyx_v_self)14860 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_5__del__(PyObject *__pyx_v_self) {
14861   int __pyx_r;
14862   __Pyx_RefNannyDeclarations
14863   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14864   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14865 
14866   /* function exit code */
14867   __Pyx_RefNannyFinishContext();
14868   return __pyx_r;
14869 }
14870 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14871 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14872   int __pyx_r;
14873   __Pyx_RefNannyDeclarations
14874   __Pyx_RefNannySetupContext("__del__", 0);
14875   __Pyx_INCREF(Py_None);
14876   __Pyx_GIVEREF(Py_None);
14877   __Pyx_GOTREF(__pyx_v_self->indentation_stack);
14878   __Pyx_DECREF(__pyx_v_self->indentation_stack);
14879   __pyx_v_self->indentation_stack = ((PyObject*)Py_None);
14880 
14881   /* function exit code */
14882   __pyx_r = 0;
14883   __Pyx_RefNannyFinishContext();
14884   return __pyx_r;
14885 }
14886 
14887 /* "Cython/Compiler/Scanning.pxd":39
14888  *     cdef set keywords
14889  *     cdef public list indentation_stack
14890  *     cdef public indentation_char             # <<<<<<<<<<<<<<
14891  *     cdef public int bracket_nesting_level
14892  *     cdef readonly bint async_enabled
14893  */
14894 
14895 /* Python wrapper */
14896 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_1__get__(PyObject * __pyx_v_self)14897 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_1__get__(PyObject *__pyx_v_self) {
14898   PyObject *__pyx_r = 0;
14899   __Pyx_RefNannyDeclarations
14900   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14901   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14902 
14903   /* function exit code */
14904   __Pyx_RefNannyFinishContext();
14905   return __pyx_r;
14906 }
14907 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14908 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14909   PyObject *__pyx_r = NULL;
14910   __Pyx_RefNannyDeclarations
14911   __Pyx_RefNannySetupContext("__get__", 0);
14912   __Pyx_XDECREF(__pyx_r);
14913   __Pyx_INCREF(__pyx_v_self->indentation_char);
14914   __pyx_r = __pyx_v_self->indentation_char;
14915   goto __pyx_L0;
14916 
14917   /* function exit code */
14918   __pyx_L0:;
14919   __Pyx_XGIVEREF(__pyx_r);
14920   __Pyx_RefNannyFinishContext();
14921   return __pyx_r;
14922 }
14923 
14924 /* Python wrapper */
14925 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)14926 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
14927   int __pyx_r;
14928   __Pyx_RefNannyDeclarations
14929   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
14930   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
14931 
14932   /* function exit code */
14933   __Pyx_RefNannyFinishContext();
14934   return __pyx_r;
14935 }
14936 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)14937 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
14938   int __pyx_r;
14939   __Pyx_RefNannyDeclarations
14940   __Pyx_RefNannySetupContext("__set__", 0);
14941   __Pyx_INCREF(__pyx_v_value);
14942   __Pyx_GIVEREF(__pyx_v_value);
14943   __Pyx_GOTREF(__pyx_v_self->indentation_char);
14944   __Pyx_DECREF(__pyx_v_self->indentation_char);
14945   __pyx_v_self->indentation_char = __pyx_v_value;
14946 
14947   /* function exit code */
14948   __pyx_r = 0;
14949   __Pyx_RefNannyFinishContext();
14950   return __pyx_r;
14951 }
14952 
14953 /* Python wrapper */
14954 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_5__del__(PyObject * __pyx_v_self)14955 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_5__del__(PyObject *__pyx_v_self) {
14956   int __pyx_r;
14957   __Pyx_RefNannyDeclarations
14958   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
14959   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14960 
14961   /* function exit code */
14962   __Pyx_RefNannyFinishContext();
14963   return __pyx_r;
14964 }
14965 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)14966 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
14967   int __pyx_r;
14968   __Pyx_RefNannyDeclarations
14969   __Pyx_RefNannySetupContext("__del__", 0);
14970   __Pyx_INCREF(Py_None);
14971   __Pyx_GIVEREF(Py_None);
14972   __Pyx_GOTREF(__pyx_v_self->indentation_char);
14973   __Pyx_DECREF(__pyx_v_self->indentation_char);
14974   __pyx_v_self->indentation_char = Py_None;
14975 
14976   /* function exit code */
14977   __pyx_r = 0;
14978   __Pyx_RefNannyFinishContext();
14979   return __pyx_r;
14980 }
14981 
14982 /* "Cython/Compiler/Scanning.pxd":40
14983  *     cdef public list indentation_stack
14984  *     cdef public indentation_char
14985  *     cdef public int bracket_nesting_level             # <<<<<<<<<<<<<<
14986  *     cdef readonly bint async_enabled
14987  *     cdef public sy
14988  */
14989 
14990 /* Python wrapper */
14991 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_1__get__(PyObject * __pyx_v_self)14992 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_1__get__(PyObject *__pyx_v_self) {
14993   PyObject *__pyx_r = 0;
14994   __Pyx_RefNannyDeclarations
14995   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14996   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
14997 
14998   /* function exit code */
14999   __Pyx_RefNannyFinishContext();
15000   return __pyx_r;
15001 }
15002 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)15003 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
15004   PyObject *__pyx_r = NULL;
15005   __Pyx_RefNannyDeclarations
15006   PyObject *__pyx_t_1 = NULL;
15007   int __pyx_lineno = 0;
15008   const char *__pyx_filename = NULL;
15009   int __pyx_clineno = 0;
15010   __Pyx_RefNannySetupContext("__get__", 0);
15011   __Pyx_XDECREF(__pyx_r);
15012   __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->bracket_nesting_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40, __pyx_L1_error)
15013   __Pyx_GOTREF(__pyx_t_1);
15014   __pyx_r = __pyx_t_1;
15015   __pyx_t_1 = 0;
15016   goto __pyx_L0;
15017 
15018   /* function exit code */
15019   __pyx_L1_error:;
15020   __Pyx_XDECREF(__pyx_t_1);
15021   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.bracket_nesting_level.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15022   __pyx_r = NULL;
15023   __pyx_L0:;
15024   __Pyx_XGIVEREF(__pyx_r);
15025   __Pyx_RefNannyFinishContext();
15026   return __pyx_r;
15027 }
15028 
15029 /* Python wrapper */
15030 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)15031 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
15032   int __pyx_r;
15033   __Pyx_RefNannyDeclarations
15034   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
15035   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
15036 
15037   /* function exit code */
15038   __Pyx_RefNannyFinishContext();
15039   return __pyx_r;
15040 }
15041 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)15042 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
15043   int __pyx_r;
15044   __Pyx_RefNannyDeclarations
15045   int __pyx_t_1;
15046   int __pyx_lineno = 0;
15047   const char *__pyx_filename = NULL;
15048   int __pyx_clineno = 0;
15049   __Pyx_RefNannySetupContext("__set__", 0);
15050   __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40, __pyx_L1_error)
15051   __pyx_v_self->bracket_nesting_level = __pyx_t_1;
15052 
15053   /* function exit code */
15054   __pyx_r = 0;
15055   goto __pyx_L0;
15056   __pyx_L1_error:;
15057   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.bracket_nesting_level.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15058   __pyx_r = -1;
15059   __pyx_L0:;
15060   __Pyx_RefNannyFinishContext();
15061   return __pyx_r;
15062 }
15063 
15064 /* "Cython/Compiler/Scanning.pxd":41
15065  *     cdef public indentation_char
15066  *     cdef public int bracket_nesting_level
15067  *     cdef readonly bint async_enabled             # <<<<<<<<<<<<<<
15068  *     cdef public sy
15069  *     cdef public systring
15070  */
15071 
15072 /* Python wrapper */
15073 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled_1__get__(PyObject * __pyx_v_self)15074 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled_1__get__(PyObject *__pyx_v_self) {
15075   PyObject *__pyx_r = 0;
15076   __Pyx_RefNannyDeclarations
15077   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
15078   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
15079 
15080   /* function exit code */
15081   __Pyx_RefNannyFinishContext();
15082   return __pyx_r;
15083 }
15084 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)15085 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
15086   PyObject *__pyx_r = NULL;
15087   __Pyx_RefNannyDeclarations
15088   PyObject *__pyx_t_1 = NULL;
15089   int __pyx_lineno = 0;
15090   const char *__pyx_filename = NULL;
15091   int __pyx_clineno = 0;
15092   __Pyx_RefNannySetupContext("__get__", 0);
15093   __Pyx_XDECREF(__pyx_r);
15094   __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->async_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41, __pyx_L1_error)
15095   __Pyx_GOTREF(__pyx_t_1);
15096   __pyx_r = __pyx_t_1;
15097   __pyx_t_1 = 0;
15098   goto __pyx_L0;
15099 
15100   /* function exit code */
15101   __pyx_L1_error:;
15102   __Pyx_XDECREF(__pyx_t_1);
15103   __Pyx_AddTraceback("Cython.Compiler.Scanning.PyrexScanner.async_enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15104   __pyx_r = NULL;
15105   __pyx_L0:;
15106   __Pyx_XGIVEREF(__pyx_r);
15107   __Pyx_RefNannyFinishContext();
15108   return __pyx_r;
15109 }
15110 
15111 /* "Cython/Compiler/Scanning.pxd":42
15112  *     cdef public int bracket_nesting_level
15113  *     cdef readonly bint async_enabled
15114  *     cdef public sy             # <<<<<<<<<<<<<<
15115  *     cdef public systring
15116  *
15117  */
15118 
15119 /* Python wrapper */
15120 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_1__get__(PyObject * __pyx_v_self)15121 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_1__get__(PyObject *__pyx_v_self) {
15122   PyObject *__pyx_r = 0;
15123   __Pyx_RefNannyDeclarations
15124   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
15125   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
15126 
15127   /* function exit code */
15128   __Pyx_RefNannyFinishContext();
15129   return __pyx_r;
15130 }
15131 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)15132 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
15133   PyObject *__pyx_r = NULL;
15134   __Pyx_RefNannyDeclarations
15135   __Pyx_RefNannySetupContext("__get__", 0);
15136   __Pyx_XDECREF(__pyx_r);
15137   __Pyx_INCREF(__pyx_v_self->sy);
15138   __pyx_r = __pyx_v_self->sy;
15139   goto __pyx_L0;
15140 
15141   /* function exit code */
15142   __pyx_L0:;
15143   __Pyx_XGIVEREF(__pyx_r);
15144   __Pyx_RefNannyFinishContext();
15145   return __pyx_r;
15146 }
15147 
15148 /* Python wrapper */
15149 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)15150 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
15151   int __pyx_r;
15152   __Pyx_RefNannyDeclarations
15153   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
15154   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
15155 
15156   /* function exit code */
15157   __Pyx_RefNannyFinishContext();
15158   return __pyx_r;
15159 }
15160 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)15161 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
15162   int __pyx_r;
15163   __Pyx_RefNannyDeclarations
15164   __Pyx_RefNannySetupContext("__set__", 0);
15165   __Pyx_INCREF(__pyx_v_value);
15166   __Pyx_GIVEREF(__pyx_v_value);
15167   __Pyx_GOTREF(__pyx_v_self->sy);
15168   __Pyx_DECREF(__pyx_v_self->sy);
15169   __pyx_v_self->sy = __pyx_v_value;
15170 
15171   /* function exit code */
15172   __pyx_r = 0;
15173   __Pyx_RefNannyFinishContext();
15174   return __pyx_r;
15175 }
15176 
15177 /* Python wrapper */
15178 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_5__del__(PyObject * __pyx_v_self)15179 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_5__del__(PyObject *__pyx_v_self) {
15180   int __pyx_r;
15181   __Pyx_RefNannyDeclarations
15182   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
15183   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
15184 
15185   /* function exit code */
15186   __Pyx_RefNannyFinishContext();
15187   return __pyx_r;
15188 }
15189 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)15190 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
15191   int __pyx_r;
15192   __Pyx_RefNannyDeclarations
15193   __Pyx_RefNannySetupContext("__del__", 0);
15194   __Pyx_INCREF(Py_None);
15195   __Pyx_GIVEREF(Py_None);
15196   __Pyx_GOTREF(__pyx_v_self->sy);
15197   __Pyx_DECREF(__pyx_v_self->sy);
15198   __pyx_v_self->sy = Py_None;
15199 
15200   /* function exit code */
15201   __pyx_r = 0;
15202   __Pyx_RefNannyFinishContext();
15203   return __pyx_r;
15204 }
15205 
15206 /* "Cython/Compiler/Scanning.pxd":43
15207  *     cdef readonly bint async_enabled
15208  *     cdef public sy
15209  *     cdef public systring             # <<<<<<<<<<<<<<
15210  *
15211  *     cdef long current_level(self)
15212  */
15213 
15214 /* Python wrapper */
15215 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_1__get__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_1__get__(PyObject * __pyx_v_self)15216 static PyObject *__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_1__get__(PyObject *__pyx_v_self) {
15217   PyObject *__pyx_r = 0;
15218   __Pyx_RefNannyDeclarations
15219   __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
15220   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring___get__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
15221 
15222   /* function exit code */
15223   __Pyx_RefNannyFinishContext();
15224   return __pyx_r;
15225 }
15226 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)15227 static PyObject *__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring___get__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
15228   PyObject *__pyx_r = NULL;
15229   __Pyx_RefNannyDeclarations
15230   __Pyx_RefNannySetupContext("__get__", 0);
15231   __Pyx_XDECREF(__pyx_r);
15232   __Pyx_INCREF(__pyx_v_self->systring);
15233   __pyx_r = __pyx_v_self->systring;
15234   goto __pyx_L0;
15235 
15236   /* function exit code */
15237   __pyx_L0:;
15238   __Pyx_XGIVEREF(__pyx_r);
15239   __Pyx_RefNannyFinishContext();
15240   return __pyx_r;
15241 }
15242 
15243 /* Python wrapper */
15244 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_3__set__(PyObject * __pyx_v_self,PyObject * __pyx_v_value)15245 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
15246   int __pyx_r;
15247   __Pyx_RefNannyDeclarations
15248   __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
15249   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_2__set__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self), ((PyObject *)__pyx_v_value));
15250 
15251   /* function exit code */
15252   __Pyx_RefNannyFinishContext();
15253   return __pyx_r;
15254 }
15255 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self,PyObject * __pyx_v_value)15256 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_2__set__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self, PyObject *__pyx_v_value) {
15257   int __pyx_r;
15258   __Pyx_RefNannyDeclarations
15259   __Pyx_RefNannySetupContext("__set__", 0);
15260   __Pyx_INCREF(__pyx_v_value);
15261   __Pyx_GIVEREF(__pyx_v_value);
15262   __Pyx_GOTREF(__pyx_v_self->systring);
15263   __Pyx_DECREF(__pyx_v_self->systring);
15264   __pyx_v_self->systring = __pyx_v_value;
15265 
15266   /* function exit code */
15267   __pyx_r = 0;
15268   __Pyx_RefNannyFinishContext();
15269   return __pyx_r;
15270 }
15271 
15272 /* Python wrapper */
15273 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_5__del__(PyObject *__pyx_v_self); /*proto*/
__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_5__del__(PyObject * __pyx_v_self)15274 static int __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_5__del__(PyObject *__pyx_v_self) {
15275   int __pyx_r;
15276   __Pyx_RefNannyDeclarations
15277   __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
15278   __pyx_r = __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_4__del__(((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)__pyx_v_self));
15279 
15280   /* function exit code */
15281   __Pyx_RefNannyFinishContext();
15282   return __pyx_r;
15283 }
15284 
__pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner * __pyx_v_self)15285 static int __pyx_pf_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_4__del__(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *__pyx_v_self) {
15286   int __pyx_r;
15287   __Pyx_RefNannyDeclarations
15288   __Pyx_RefNannySetupContext("__del__", 0);
15289   __Pyx_INCREF(Py_None);
15290   __Pyx_GIVEREF(Py_None);
15291   __Pyx_GOTREF(__pyx_v_self->systring);
15292   __Pyx_DECREF(__pyx_v_self->systring);
15293   __pyx_v_self->systring = Py_None;
15294 
15295   /* function exit code */
15296   __pyx_r = 0;
15297   __Pyx_RefNannyFinishContext();
15298   return __pyx_r;
15299 }
15300 
__pyx_tp_new_6Cython_8Compiler_8Scanning_Method(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)15301 static PyObject *__pyx_tp_new_6Cython_8Compiler_8Scanning_Method(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
15302   struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *p;
15303   PyObject *o;
15304   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
15305     o = (*t->tp_alloc)(t, 0);
15306   } else {
15307     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
15308   }
15309   if (unlikely(!o)) return 0;
15310   p = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)o);
15311   p->name = Py_None; Py_INCREF(Py_None);
15312   p->kwargs = ((PyObject*)Py_None); Py_INCREF(Py_None);
15313   p->__name__ = Py_None; Py_INCREF(Py_None);
15314   return o;
15315 }
15316 
__pyx_tp_dealloc_6Cython_8Compiler_8Scanning_Method(PyObject * o)15317 static void __pyx_tp_dealloc_6Cython_8Compiler_8Scanning_Method(PyObject *o) {
15318   struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)o;
15319   #if CYTHON_USE_TP_FINALIZE
15320   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
15321     if (PyObject_CallFinalizerFromDealloc(o)) return;
15322   }
15323   #endif
15324   PyObject_GC_UnTrack(o);
15325   Py_CLEAR(p->name);
15326   Py_CLEAR(p->kwargs);
15327   Py_CLEAR(p->__name__);
15328   (*Py_TYPE(o)->tp_free)(o);
15329 }
15330 
__pyx_tp_traverse_6Cython_8Compiler_8Scanning_Method(PyObject * o,visitproc v,void * a)15331 static int __pyx_tp_traverse_6Cython_8Compiler_8Scanning_Method(PyObject *o, visitproc v, void *a) {
15332   int e;
15333   struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)o;
15334   if (p->name) {
15335     e = (*v)(p->name, a); if (e) return e;
15336   }
15337   if (p->kwargs) {
15338     e = (*v)(p->kwargs, a); if (e) return e;
15339   }
15340   if (p->__name__) {
15341     e = (*v)(p->__name__, a); if (e) return e;
15342   }
15343   return 0;
15344 }
15345 
__pyx_tp_clear_6Cython_8Compiler_8Scanning_Method(PyObject * o)15346 static int __pyx_tp_clear_6Cython_8Compiler_8Scanning_Method(PyObject *o) {
15347   PyObject* tmp;
15348   struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_Method *)o;
15349   tmp = ((PyObject*)p->name);
15350   p->name = Py_None; Py_INCREF(Py_None);
15351   Py_XDECREF(tmp);
15352   tmp = ((PyObject*)p->kwargs);
15353   p->kwargs = ((PyObject*)Py_None); Py_INCREF(Py_None);
15354   Py_XDECREF(tmp);
15355   tmp = ((PyObject*)p->__name__);
15356   p->__name__ = Py_None; Py_INCREF(Py_None);
15357   Py_XDECREF(tmp);
15358   return 0;
15359 }
15360 
__pyx_getprop_6Cython_8Compiler_8Scanning_6Method___name__(PyObject * o,CYTHON_UNUSED void * x)15361 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_6Method___name__(PyObject *o, CYTHON_UNUSED void *x) {
15362   return __pyx_pw_6Cython_8Compiler_8Scanning_6Method_8__name___1__get__(o);
15363 }
15364 
15365 static PyMethodDef __pyx_methods_6Cython_8Compiler_8Scanning_Method[] = {
15366   {"__copy__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_6Method_5__copy__, METH_NOARGS, 0},
15367   {"__deepcopy__", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_6Method_7__deepcopy__, METH_O, 0},
15368   {0, 0, 0, 0}
15369 };
15370 
15371 static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_8Scanning_Method[] = {
15372   {(char *)"__name__", __pyx_getprop_6Cython_8Compiler_8Scanning_6Method___name__, 0, (char *)0, 0},
15373   {0, 0, 0, 0, 0}
15374 };
15375 
15376 static PyTypeObject __pyx_type_6Cython_8Compiler_8Scanning_Method = {
15377   PyVarObject_HEAD_INIT(0, 0)
15378   "Cython.Compiler.Scanning.Method", /*tp_name*/
15379   sizeof(struct __pyx_obj_6Cython_8Compiler_8Scanning_Method), /*tp_basicsize*/
15380   0, /*tp_itemsize*/
15381   __pyx_tp_dealloc_6Cython_8Compiler_8Scanning_Method, /*tp_dealloc*/
15382   #if PY_VERSION_HEX < 0x030800b4
15383   0, /*tp_print*/
15384   #endif
15385   #if PY_VERSION_HEX >= 0x030800b4
15386   0, /*tp_vectorcall_offset*/
15387   #endif
15388   0, /*tp_getattr*/
15389   0, /*tp_setattr*/
15390   #if PY_MAJOR_VERSION < 3
15391   0, /*tp_compare*/
15392   #endif
15393   #if PY_MAJOR_VERSION >= 3
15394   0, /*tp_as_async*/
15395   #endif
15396   0, /*tp_repr*/
15397   0, /*tp_as_number*/
15398   0, /*tp_as_sequence*/
15399   0, /*tp_as_mapping*/
15400   0, /*tp_hash*/
15401   __pyx_pw_6Cython_8Compiler_8Scanning_6Method_3__call__, /*tp_call*/
15402   0, /*tp_str*/
15403   0, /*tp_getattro*/
15404   0, /*tp_setattro*/
15405   0, /*tp_as_buffer*/
15406   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
15407   0, /*tp_doc*/
15408   __pyx_tp_traverse_6Cython_8Compiler_8Scanning_Method, /*tp_traverse*/
15409   __pyx_tp_clear_6Cython_8Compiler_8Scanning_Method, /*tp_clear*/
15410   0, /*tp_richcompare*/
15411   0, /*tp_weaklistoffset*/
15412   0, /*tp_iter*/
15413   0, /*tp_iternext*/
15414   __pyx_methods_6Cython_8Compiler_8Scanning_Method, /*tp_methods*/
15415   0, /*tp_members*/
15416   __pyx_getsets_6Cython_8Compiler_8Scanning_Method, /*tp_getset*/
15417   0, /*tp_base*/
15418   0, /*tp_dict*/
15419   0, /*tp_descr_get*/
15420   0, /*tp_descr_set*/
15421   0, /*tp_dictoffset*/
15422   __pyx_pw_6Cython_8Compiler_8Scanning_6Method_1__init__, /*tp_init*/
15423   0, /*tp_alloc*/
15424   __pyx_tp_new_6Cython_8Compiler_8Scanning_Method, /*tp_new*/
15425   0, /*tp_free*/
15426   0, /*tp_is_gc*/
15427   0, /*tp_bases*/
15428   0, /*tp_mro*/
15429   0, /*tp_cache*/
15430   0, /*tp_subclasses*/
15431   0, /*tp_weaklist*/
15432   0, /*tp_del*/
15433   0, /*tp_version_tag*/
15434   #if PY_VERSION_HEX >= 0x030400a1
15435   0, /*tp_finalize*/
15436   #endif
15437   #if PY_VERSION_HEX >= 0x030800b1
15438   0, /*tp_vectorcall*/
15439   #endif
15440   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
15441   0, /*tp_print*/
15442   #endif
15443 };
15444 
__pyx_tp_new_6Cython_8Compiler_8Scanning_CompileTimeScope(PyTypeObject * t,CYTHON_UNUSED PyObject * a,CYTHON_UNUSED PyObject * k)15445 static PyObject *__pyx_tp_new_6Cython_8Compiler_8Scanning_CompileTimeScope(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
15446   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *p;
15447   PyObject *o;
15448   o = (*t->tp_alloc)(t, 0);
15449   if (unlikely(!o)) return 0;
15450   p = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)o);
15451   p->entries = ((PyObject*)Py_None); Py_INCREF(Py_None);
15452   p->outer = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)Py_None); Py_INCREF(Py_None);
15453   return o;
15454 }
15455 
__pyx_tp_dealloc_6Cython_8Compiler_8Scanning_CompileTimeScope(PyObject * o)15456 static void __pyx_tp_dealloc_6Cython_8Compiler_8Scanning_CompileTimeScope(PyObject *o) {
15457   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)o;
15458   PyObject_GC_UnTrack(o);
15459   Py_CLEAR(p->entries);
15460   Py_CLEAR(p->outer);
15461   (*Py_TYPE(o)->tp_free)(o);
15462 }
15463 
__pyx_tp_traverse_6Cython_8Compiler_8Scanning_CompileTimeScope(PyObject * o,visitproc v,void * a)15464 static int __pyx_tp_traverse_6Cython_8Compiler_8Scanning_CompileTimeScope(PyObject *o, visitproc v, void *a) {
15465   int e;
15466   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)o;
15467   if (p->entries) {
15468     e = (*v)(p->entries, a); if (e) return e;
15469   }
15470   if (p->outer) {
15471     e = (*v)(((PyObject *)p->outer), a); if (e) return e;
15472   }
15473   return 0;
15474 }
15475 
__pyx_tp_clear_6Cython_8Compiler_8Scanning_CompileTimeScope(PyObject * o)15476 static int __pyx_tp_clear_6Cython_8Compiler_8Scanning_CompileTimeScope(PyObject *o) {
15477   PyObject* tmp;
15478   struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)o;
15479   tmp = ((PyObject*)p->entries);
15480   p->entries = ((PyObject*)Py_None); Py_INCREF(Py_None);
15481   Py_XDECREF(tmp);
15482   tmp = ((PyObject*)p->outer);
15483   p->outer = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)Py_None); Py_INCREF(Py_None);
15484   Py_XDECREF(tmp);
15485   return 0;
15486 }
15487 
__pyx_getprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_entries(PyObject * o,CYTHON_UNUSED void * x)15488 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_entries(PyObject *o, CYTHON_UNUSED void *x) {
15489   return __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_1__get__(o);
15490 }
15491 
__pyx_setprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_entries(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15492 static int __pyx_setprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_entries(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15493   if (v) {
15494     return __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_3__set__(o, v);
15495   }
15496   else {
15497     return __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7entries_5__del__(o);
15498   }
15499 }
15500 
__pyx_getprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_outer(PyObject * o,CYTHON_UNUSED void * x)15501 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_outer(PyObject *o, CYTHON_UNUSED void *x) {
15502   return __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_1__get__(o);
15503 }
15504 
__pyx_setprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_outer(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15505 static int __pyx_setprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_outer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15506   if (v) {
15507     return __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_3__set__(o, v);
15508   }
15509   else {
15510     return __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5outer_5__del__(o);
15511   }
15512 }
15513 
15514 static PyMethodDef __pyx_methods_6Cython_8Compiler_8Scanning_CompileTimeScope[] = {
15515   {"declare", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_3declare, METH_VARARGS|METH_KEYWORDS, 0},
15516   {"update", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_5update, METH_O, 0},
15517   {"lookup_here", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_7lookup_here, METH_O, 0},
15518   {"lookup", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_11lookup, METH_O, 0},
15519   {0, 0, 0, 0}
15520 };
15521 
15522 static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_8Scanning_CompileTimeScope[] = {
15523   {(char *)"entries", __pyx_getprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_entries, __pyx_setprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_entries, (char *)0, 0},
15524   {(char *)"outer", __pyx_getprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_outer, __pyx_setprop_6Cython_8Compiler_8Scanning_16CompileTimeScope_outer, (char *)0, 0},
15525   {0, 0, 0, 0, 0}
15526 };
15527 
15528 static PySequenceMethods __pyx_tp_as_sequence_CompileTimeScope = {
15529   0, /*sq_length*/
15530   0, /*sq_concat*/
15531   0, /*sq_repeat*/
15532   0, /*sq_item*/
15533   0, /*sq_slice*/
15534   0, /*sq_ass_item*/
15535   0, /*sq_ass_slice*/
15536   __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_9__contains__, /*sq_contains*/
15537   0, /*sq_inplace_concat*/
15538   0, /*sq_inplace_repeat*/
15539 };
15540 
15541 static PyTypeObject __pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope = {
15542   PyVarObject_HEAD_INIT(0, 0)
15543   "Cython.Compiler.Scanning.CompileTimeScope", /*tp_name*/
15544   sizeof(struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope), /*tp_basicsize*/
15545   0, /*tp_itemsize*/
15546   __pyx_tp_dealloc_6Cython_8Compiler_8Scanning_CompileTimeScope, /*tp_dealloc*/
15547   #if PY_VERSION_HEX < 0x030800b4
15548   0, /*tp_print*/
15549   #endif
15550   #if PY_VERSION_HEX >= 0x030800b4
15551   0, /*tp_vectorcall_offset*/
15552   #endif
15553   0, /*tp_getattr*/
15554   0, /*tp_setattr*/
15555   #if PY_MAJOR_VERSION < 3
15556   0, /*tp_compare*/
15557   #endif
15558   #if PY_MAJOR_VERSION >= 3
15559   0, /*tp_as_async*/
15560   #endif
15561   0, /*tp_repr*/
15562   0, /*tp_as_number*/
15563   &__pyx_tp_as_sequence_CompileTimeScope, /*tp_as_sequence*/
15564   0, /*tp_as_mapping*/
15565   0, /*tp_hash*/
15566   0, /*tp_call*/
15567   0, /*tp_str*/
15568   0, /*tp_getattro*/
15569   0, /*tp_setattro*/
15570   0, /*tp_as_buffer*/
15571   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
15572   0, /*tp_doc*/
15573   __pyx_tp_traverse_6Cython_8Compiler_8Scanning_CompileTimeScope, /*tp_traverse*/
15574   __pyx_tp_clear_6Cython_8Compiler_8Scanning_CompileTimeScope, /*tp_clear*/
15575   0, /*tp_richcompare*/
15576   0, /*tp_weaklistoffset*/
15577   0, /*tp_iter*/
15578   0, /*tp_iternext*/
15579   __pyx_methods_6Cython_8Compiler_8Scanning_CompileTimeScope, /*tp_methods*/
15580   0, /*tp_members*/
15581   __pyx_getsets_6Cython_8Compiler_8Scanning_CompileTimeScope, /*tp_getset*/
15582   0, /*tp_base*/
15583   0, /*tp_dict*/
15584   0, /*tp_descr_get*/
15585   0, /*tp_descr_set*/
15586   0, /*tp_dictoffset*/
15587   __pyx_pw_6Cython_8Compiler_8Scanning_16CompileTimeScope_1__init__, /*tp_init*/
15588   0, /*tp_alloc*/
15589   __pyx_tp_new_6Cython_8Compiler_8Scanning_CompileTimeScope, /*tp_new*/
15590   0, /*tp_free*/
15591   0, /*tp_is_gc*/
15592   0, /*tp_bases*/
15593   0, /*tp_mro*/
15594   0, /*tp_cache*/
15595   0, /*tp_subclasses*/
15596   0, /*tp_weaklist*/
15597   0, /*tp_del*/
15598   0, /*tp_version_tag*/
15599   #if PY_VERSION_HEX >= 0x030400a1
15600   0, /*tp_finalize*/
15601   #endif
15602   #if PY_VERSION_HEX >= 0x030800b1
15603   0, /*tp_vectorcall*/
15604   #endif
15605   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
15606   0, /*tp_print*/
15607   #endif
15608 };
15609 static struct __pyx_vtabstruct_6Cython_8Compiler_8Scanning_PyrexScanner __pyx_vtable_6Cython_8Compiler_8Scanning_PyrexScanner;
15610 
__pyx_tp_new_6Cython_8Compiler_8Scanning_PyrexScanner(PyTypeObject * t,PyObject * a,PyObject * k)15611 static PyObject *__pyx_tp_new_6Cython_8Compiler_8Scanning_PyrexScanner(PyTypeObject *t, PyObject *a, PyObject *k) {
15612   struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *p;
15613   PyObject *o = __pyx_ptype_6Cython_4Plex_8Scanners_Scanner->tp_new(t, a, k);
15614   if (unlikely(!o)) return 0;
15615   p = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)o);
15616   p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_6Cython_4Plex_8Scanners_Scanner*)__pyx_vtabptr_6Cython_8Compiler_8Scanning_PyrexScanner;
15617   p->context = Py_None; Py_INCREF(Py_None);
15618   p->included_files = ((PyObject*)Py_None); Py_INCREF(Py_None);
15619   p->compile_time_env = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)Py_None); Py_INCREF(Py_None);
15620   p->source_encoding = Py_None; Py_INCREF(Py_None);
15621   p->keywords = ((PyObject*)Py_None); Py_INCREF(Py_None);
15622   p->indentation_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
15623   p->indentation_char = Py_None; Py_INCREF(Py_None);
15624   p->sy = Py_None; Py_INCREF(Py_None);
15625   p->systring = Py_None; Py_INCREF(Py_None);
15626   return o;
15627 }
15628 
__pyx_tp_dealloc_6Cython_8Compiler_8Scanning_PyrexScanner(PyObject * o)15629 static void __pyx_tp_dealloc_6Cython_8Compiler_8Scanning_PyrexScanner(PyObject *o) {
15630   struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)o;
15631   PyObject_GC_UnTrack(o);
15632   Py_CLEAR(p->context);
15633   Py_CLEAR(p->included_files);
15634   Py_CLEAR(p->compile_time_env);
15635   Py_CLEAR(p->source_encoding);
15636   Py_CLEAR(p->keywords);
15637   Py_CLEAR(p->indentation_stack);
15638   Py_CLEAR(p->indentation_char);
15639   Py_CLEAR(p->sy);
15640   Py_CLEAR(p->systring);
15641   PyObject_GC_Track(o);
15642   if (likely(__pyx_ptype_6Cython_4Plex_8Scanners_Scanner)) __pyx_ptype_6Cython_4Plex_8Scanners_Scanner->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_6Cython_8Compiler_8Scanning_PyrexScanner);
15643 }
15644 
__pyx_tp_traverse_6Cython_8Compiler_8Scanning_PyrexScanner(PyObject * o,visitproc v,void * a)15645 static int __pyx_tp_traverse_6Cython_8Compiler_8Scanning_PyrexScanner(PyObject *o, visitproc v, void *a) {
15646   int e;
15647   struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)o;
15648   e = ((likely(__pyx_ptype_6Cython_4Plex_8Scanners_Scanner)) ? ((__pyx_ptype_6Cython_4Plex_8Scanners_Scanner->tp_traverse) ? __pyx_ptype_6Cython_4Plex_8Scanners_Scanner->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_6Cython_8Compiler_8Scanning_PyrexScanner)); if (e) return e;
15649   if (p->context) {
15650     e = (*v)(p->context, a); if (e) return e;
15651   }
15652   if (p->included_files) {
15653     e = (*v)(p->included_files, a); if (e) return e;
15654   }
15655   if (p->compile_time_env) {
15656     e = (*v)(((PyObject *)p->compile_time_env), a); if (e) return e;
15657   }
15658   if (p->source_encoding) {
15659     e = (*v)(p->source_encoding, a); if (e) return e;
15660   }
15661   if (p->keywords) {
15662     e = (*v)(p->keywords, a); if (e) return e;
15663   }
15664   if (p->indentation_stack) {
15665     e = (*v)(p->indentation_stack, a); if (e) return e;
15666   }
15667   if (p->indentation_char) {
15668     e = (*v)(p->indentation_char, a); if (e) return e;
15669   }
15670   if (p->sy) {
15671     e = (*v)(p->sy, a); if (e) return e;
15672   }
15673   if (p->systring) {
15674     e = (*v)(p->systring, a); if (e) return e;
15675   }
15676   return 0;
15677 }
15678 
__pyx_tp_clear_6Cython_8Compiler_8Scanning_PyrexScanner(PyObject * o)15679 static int __pyx_tp_clear_6Cython_8Compiler_8Scanning_PyrexScanner(PyObject *o) {
15680   PyObject* tmp;
15681   struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *p = (struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *)o;
15682   if (likely(__pyx_ptype_6Cython_4Plex_8Scanners_Scanner)) { if (__pyx_ptype_6Cython_4Plex_8Scanners_Scanner->tp_clear) __pyx_ptype_6Cython_4Plex_8Scanners_Scanner->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_6Cython_8Compiler_8Scanning_PyrexScanner);
15683   tmp = ((PyObject*)p->context);
15684   p->context = Py_None; Py_INCREF(Py_None);
15685   Py_XDECREF(tmp);
15686   tmp = ((PyObject*)p->included_files);
15687   p->included_files = ((PyObject*)Py_None); Py_INCREF(Py_None);
15688   Py_XDECREF(tmp);
15689   tmp = ((PyObject*)p->compile_time_env);
15690   p->compile_time_env = ((struct __pyx_obj_6Cython_8Compiler_8Scanning_CompileTimeScope *)Py_None); Py_INCREF(Py_None);
15691   Py_XDECREF(tmp);
15692   tmp = ((PyObject*)p->source_encoding);
15693   p->source_encoding = Py_None; Py_INCREF(Py_None);
15694   Py_XDECREF(tmp);
15695   tmp = ((PyObject*)p->keywords);
15696   p->keywords = ((PyObject*)Py_None); Py_INCREF(Py_None);
15697   Py_XDECREF(tmp);
15698   tmp = ((PyObject*)p->indentation_stack);
15699   p->indentation_stack = ((PyObject*)Py_None); Py_INCREF(Py_None);
15700   Py_XDECREF(tmp);
15701   tmp = ((PyObject*)p->indentation_char);
15702   p->indentation_char = Py_None; Py_INCREF(Py_None);
15703   Py_XDECREF(tmp);
15704   tmp = ((PyObject*)p->sy);
15705   p->sy = Py_None; Py_INCREF(Py_None);
15706   Py_XDECREF(tmp);
15707   tmp = ((PyObject*)p->systring);
15708   p->systring = Py_None; Py_INCREF(Py_None);
15709   Py_XDECREF(tmp);
15710   return 0;
15711 }
15712 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_context(PyObject * o,CYTHON_UNUSED void * x)15713 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_context(PyObject *o, CYTHON_UNUSED void *x) {
15714   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_1__get__(o);
15715 }
15716 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_context(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15717 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_context(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15718   if (v) {
15719     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_3__set__(o, v);
15720   }
15721   else {
15722     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7context_5__del__(o);
15723   }
15724 }
15725 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_included_files(PyObject * o,CYTHON_UNUSED void * x)15726 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_included_files(PyObject *o, CYTHON_UNUSED void *x) {
15727   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_1__get__(o);
15728 }
15729 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_included_files(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15730 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_included_files(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15731   if (v) {
15732     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_3__set__(o, v);
15733   }
15734   else {
15735     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14included_files_5__del__(o);
15736   }
15737 }
15738 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_env(PyObject * o,CYTHON_UNUSED void * x)15739 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_env(PyObject *o, CYTHON_UNUSED void *x) {
15740   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_1__get__(o);
15741 }
15742 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_env(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15743 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_env(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15744   if (v) {
15745     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_3__set__(o, v);
15746   }
15747   else {
15748     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16compile_time_env_5__del__(o);
15749   }
15750 }
15751 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_eval(PyObject * o,CYTHON_UNUSED void * x)15752 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_eval(PyObject *o, CYTHON_UNUSED void *x) {
15753   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_1__get__(o);
15754 }
15755 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_eval(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15756 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_eval(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15757   if (v) {
15758     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_eval_3__set__(o, v);
15759   }
15760   else {
15761     PyErr_SetString(PyExc_NotImplementedError, "__del__");
15762     return -1;
15763   }
15764 }
15765 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_expr(PyObject * o,CYTHON_UNUSED void * x)15766 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_expr(PyObject *o, CYTHON_UNUSED void *x) {
15767   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_1__get__(o);
15768 }
15769 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_expr(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15770 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_expr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15771   if (v) {
15772     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17compile_time_expr_3__set__(o, v);
15773   }
15774   else {
15775     PyErr_SetString(PyExc_NotImplementedError, "__del__");
15776     return -1;
15777   }
15778 }
15779 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_parse_comments(PyObject * o,CYTHON_UNUSED void * x)15780 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_parse_comments(PyObject *o, CYTHON_UNUSED void *x) {
15781   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_1__get__(o);
15782 }
15783 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_parse_comments(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15784 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_parse_comments(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15785   if (v) {
15786     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14parse_comments_3__set__(o, v);
15787   }
15788   else {
15789     PyErr_SetString(PyExc_NotImplementedError, "__del__");
15790     return -1;
15791   }
15792 }
15793 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_in_python_file(PyObject * o,CYTHON_UNUSED void * x)15794 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_in_python_file(PyObject *o, CYTHON_UNUSED void *x) {
15795   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_1__get__(o);
15796 }
15797 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_in_python_file(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15798 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_in_python_file(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15799   if (v) {
15800     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_14in_python_file_3__set__(o, v);
15801   }
15802   else {
15803     PyErr_SetString(PyExc_NotImplementedError, "__del__");
15804     return -1;
15805   }
15806 }
15807 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_source_encoding(PyObject * o,CYTHON_UNUSED void * x)15808 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_source_encoding(PyObject *o, CYTHON_UNUSED void *x) {
15809   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_1__get__(o);
15810 }
15811 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_source_encoding(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15812 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_source_encoding(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15813   if (v) {
15814     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_3__set__(o, v);
15815   }
15816   else {
15817     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15source_encoding_5__del__(o);
15818   }
15819 }
15820 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_stack(PyObject * o,CYTHON_UNUSED void * x)15821 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_stack(PyObject *o, CYTHON_UNUSED void *x) {
15822   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_1__get__(o);
15823 }
15824 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_stack(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15825 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_stack(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15826   if (v) {
15827     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_3__set__(o, v);
15828   }
15829   else {
15830     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17indentation_stack_5__del__(o);
15831   }
15832 }
15833 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_char(PyObject * o,CYTHON_UNUSED void * x)15834 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_char(PyObject *o, CYTHON_UNUSED void *x) {
15835   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_1__get__(o);
15836 }
15837 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_char(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15838 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_char(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15839   if (v) {
15840     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_3__set__(o, v);
15841   }
15842   else {
15843     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_16indentation_char_5__del__(o);
15844   }
15845 }
15846 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_bracket_nesting_level(PyObject * o,CYTHON_UNUSED void * x)15847 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_bracket_nesting_level(PyObject *o, CYTHON_UNUSED void *x) {
15848   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_1__get__(o);
15849 }
15850 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_bracket_nesting_level(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15851 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_bracket_nesting_level(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15852   if (v) {
15853     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21bracket_nesting_level_3__set__(o, v);
15854   }
15855   else {
15856     PyErr_SetString(PyExc_NotImplementedError, "__del__");
15857     return -1;
15858   }
15859 }
15860 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_async_enabled(PyObject * o,CYTHON_UNUSED void * x)15861 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_async_enabled(PyObject *o, CYTHON_UNUSED void *x) {
15862   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13async_enabled_1__get__(o);
15863 }
15864 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_sy(PyObject * o,CYTHON_UNUSED void * x)15865 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_sy(PyObject *o, CYTHON_UNUSED void *x) {
15866   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_1__get__(o);
15867 }
15868 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_sy(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15869 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_sy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15870   if (v) {
15871     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_3__set__(o, v);
15872   }
15873   else {
15874     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_2sy_5__del__(o);
15875   }
15876 }
15877 
__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_systring(PyObject * o,CYTHON_UNUSED void * x)15878 static PyObject *__pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_systring(PyObject *o, CYTHON_UNUSED void *x) {
15879   return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_1__get__(o);
15880 }
15881 
__pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_systring(PyObject * o,PyObject * v,CYTHON_UNUSED void * x)15882 static int __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_systring(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
15883   if (v) {
15884     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_3__set__(o, v);
15885   }
15886   else {
15887     return __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_8systring_5__del__(o);
15888   }
15889 }
15890 
15891 static PyMethodDef __pyx_methods_6Cython_8Compiler_8Scanning_PyrexScanner[] = {
15892   {"commentline", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_3commentline, METH_O, 0},
15893   {"strip_underscores", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_5strip_underscores, METH_VARARGS|METH_KEYWORDS, 0},
15894   {"open_bracket_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_7open_bracket_action, METH_O, 0},
15895   {"close_bracket_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_9close_bracket_action, METH_O, 0},
15896   {"newline_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_11newline_action, METH_O, 0},
15897   {"begin_string_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_13begin_string_action, METH_O, 0},
15898   {"end_string_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_15end_string_action, METH_O, 0},
15899   {"unclosed_string_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_17unclosed_string_action, METH_O, 0},
15900   {"eof_action", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_21eof_action, METH_O, 0},
15901   {"next", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_23next, METH_NOARGS, 0},
15902   {"peek", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_25peek, METH_NOARGS, 0},
15903   {"put_back", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_27put_back, METH_VARARGS|METH_KEYWORDS, 0},
15904   {"unread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_29unread, METH_VARARGS|METH_KEYWORDS, 0},
15905   {"error", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_31error, METH_VARARGS|METH_KEYWORDS, 0},
15906   {"expect", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_33expect, METH_VARARGS|METH_KEYWORDS, 0},
15907   {"expect_keyword", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_35expect_keyword, METH_VARARGS|METH_KEYWORDS, 0},
15908   {"expected", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_37expected, METH_VARARGS|METH_KEYWORDS, 0},
15909   {"expect_indent", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_39expect_indent, METH_NOARGS, 0},
15910   {"expect_dedent", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_41expect_dedent, METH_NOARGS, 0},
15911   {"expect_newline", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_43expect_newline, METH_VARARGS|METH_KEYWORDS, 0},
15912   {"enter_async", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_45enter_async, METH_NOARGS, 0},
15913   {"exit_async", (PyCFunction)__pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_47exit_async, METH_NOARGS, 0},
15914   {0, 0, 0, 0}
15915 };
15916 
15917 static struct PyGetSetDef __pyx_getsets_6Cython_8Compiler_8Scanning_PyrexScanner[] = {
15918   {(char *)"context", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_context, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_context, (char *)0, 0},
15919   {(char *)"included_files", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_included_files, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_included_files, (char *)0, 0},
15920   {(char *)"compile_time_env", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_env, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_env, (char *)0, 0},
15921   {(char *)"compile_time_eval", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_eval, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_eval, (char *)0, 0},
15922   {(char *)"compile_time_expr", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_expr, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_compile_time_expr, (char *)0, 0},
15923   {(char *)"parse_comments", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_parse_comments, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_parse_comments, (char *)0, 0},
15924   {(char *)"in_python_file", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_in_python_file, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_in_python_file, (char *)0, 0},
15925   {(char *)"source_encoding", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_source_encoding, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_source_encoding, (char *)0, 0},
15926   {(char *)"indentation_stack", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_stack, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_stack, (char *)0, 0},
15927   {(char *)"indentation_char", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_char, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_char, (char *)0, 0},
15928   {(char *)"bracket_nesting_level", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_bracket_nesting_level, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_bracket_nesting_level, (char *)0, 0},
15929   {(char *)"async_enabled", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_async_enabled, 0, (char *)0, 0},
15930   {(char *)"sy", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_sy, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_sy, (char *)0, 0},
15931   {(char *)"systring", __pyx_getprop_6Cython_8Compiler_8Scanning_12PyrexScanner_systring, __pyx_setprop_6Cython_8Compiler_8Scanning_12PyrexScanner_systring, (char *)0, 0},
15932   {0, 0, 0, 0, 0}
15933 };
15934 
15935 static PyTypeObject __pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner = {
15936   PyVarObject_HEAD_INIT(0, 0)
15937   "Cython.Compiler.Scanning.PyrexScanner", /*tp_name*/
15938   sizeof(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner), /*tp_basicsize*/
15939   0, /*tp_itemsize*/
15940   __pyx_tp_dealloc_6Cython_8Compiler_8Scanning_PyrexScanner, /*tp_dealloc*/
15941   #if PY_VERSION_HEX < 0x030800b4
15942   0, /*tp_print*/
15943   #endif
15944   #if PY_VERSION_HEX >= 0x030800b4
15945   0, /*tp_vectorcall_offset*/
15946   #endif
15947   0, /*tp_getattr*/
15948   0, /*tp_setattr*/
15949   #if PY_MAJOR_VERSION < 3
15950   0, /*tp_compare*/
15951   #endif
15952   #if PY_MAJOR_VERSION >= 3
15953   0, /*tp_as_async*/
15954   #endif
15955   0, /*tp_repr*/
15956   0, /*tp_as_number*/
15957   0, /*tp_as_sequence*/
15958   0, /*tp_as_mapping*/
15959   0, /*tp_hash*/
15960   0, /*tp_call*/
15961   0, /*tp_str*/
15962   0, /*tp_getattro*/
15963   0, /*tp_setattro*/
15964   0, /*tp_as_buffer*/
15965   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
15966   0, /*tp_doc*/
15967   __pyx_tp_traverse_6Cython_8Compiler_8Scanning_PyrexScanner, /*tp_traverse*/
15968   __pyx_tp_clear_6Cython_8Compiler_8Scanning_PyrexScanner, /*tp_clear*/
15969   0, /*tp_richcompare*/
15970   0, /*tp_weaklistoffset*/
15971   0, /*tp_iter*/
15972   0, /*tp_iternext*/
15973   __pyx_methods_6Cython_8Compiler_8Scanning_PyrexScanner, /*tp_methods*/
15974   0, /*tp_members*/
15975   __pyx_getsets_6Cython_8Compiler_8Scanning_PyrexScanner, /*tp_getset*/
15976   0, /*tp_base*/
15977   0, /*tp_dict*/
15978   0, /*tp_descr_get*/
15979   0, /*tp_descr_set*/
15980   0, /*tp_dictoffset*/
15981   __pyx_pw_6Cython_8Compiler_8Scanning_12PyrexScanner_1__init__, /*tp_init*/
15982   0, /*tp_alloc*/
15983   __pyx_tp_new_6Cython_8Compiler_8Scanning_PyrexScanner, /*tp_new*/
15984   0, /*tp_free*/
15985   0, /*tp_is_gc*/
15986   0, /*tp_bases*/
15987   0, /*tp_mro*/
15988   0, /*tp_cache*/
15989   0, /*tp_subclasses*/
15990   0, /*tp_weaklist*/
15991   0, /*tp_del*/
15992   0, /*tp_version_tag*/
15993   #if PY_VERSION_HEX >= 0x030400a1
15994   0, /*tp_finalize*/
15995   #endif
15996   #if PY_VERSION_HEX >= 0x030800b1
15997   0, /*tp_vectorcall*/
15998   #endif
15999   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
16000   0, /*tp_print*/
16001   #endif
16002 };
16003 
16004 static PyMethodDef __pyx_methods[] = {
16005   {0, 0, 0, 0}
16006 };
16007 
16008 #if PY_MAJOR_VERSION >= 3
16009 #if CYTHON_PEP489_MULTI_PHASE_INIT
16010 static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
16011 static int __pyx_pymod_exec_Scanning(PyObject* module); /*proto*/
16012 static PyModuleDef_Slot __pyx_moduledef_slots[] = {
16013   {Py_mod_create, (void*)__pyx_pymod_create},
16014   {Py_mod_exec, (void*)__pyx_pymod_exec_Scanning},
16015   {0, NULL}
16016 };
16017 #endif
16018 
16019 static struct PyModuleDef __pyx_moduledef = {
16020     PyModuleDef_HEAD_INIT,
16021     "Scanning",
16022     0, /* m_doc */
16023   #if CYTHON_PEP489_MULTI_PHASE_INIT
16024     0, /* m_size */
16025   #else
16026     -1, /* m_size */
16027   #endif
16028     __pyx_methods /* m_methods */,
16029   #if CYTHON_PEP489_MULTI_PHASE_INIT
16030     __pyx_moduledef_slots, /* m_slots */
16031   #else
16032     NULL, /* m_reload */
16033   #endif
16034     NULL, /* m_traverse */
16035     NULL, /* m_clear */
16036     NULL /* m_free */
16037 };
16038 #endif
16039 #ifndef CYTHON_SMALL_CODE
16040 #if defined(__clang__)
16041     #define CYTHON_SMALL_CODE
16042 #elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
16043     #define CYTHON_SMALL_CODE __attribute__((cold))
16044 #else
16045     #define CYTHON_SMALL_CODE
16046 #endif
16047 #endif
16048 
16049 static __Pyx_StringTabEntry __pyx_string_tab[] = {
16050   {&__pyx_n_u_ASCII, __pyx_k_ASCII, sizeof(__pyx_k_ASCII), 0, 1, 0, 1},
16051   {&__pyx_kp_s_A_SourceDescriptor_should_be_co, __pyx_k_A_SourceDescriptor_should_be_co, sizeof(__pyx_k_A_SourceDescriptor_should_be_co), 0, 0, 1, 0},
16052   {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1},
16053   {&__pyx_n_u_BEGIN_STRING, __pyx_k_BEGIN_STRING, sizeof(__pyx_k_BEGIN_STRING), 0, 1, 0, 1},
16054   {&__pyx_n_s_CompileTimeScope, __pyx_k_CompileTimeScope, sizeof(__pyx_k_CompileTimeScope), 0, 0, 1, 1},
16055   {&__pyx_n_s_CompileTimeScope_declare, __pyx_k_CompileTimeScope_declare, sizeof(__pyx_k_CompileTimeScope_declare), 0, 0, 1, 1},
16056   {&__pyx_n_s_CompileTimeScope_lookup, __pyx_k_CompileTimeScope_lookup, sizeof(__pyx_k_CompileTimeScope_lookup), 0, 0, 1, 1},
16057   {&__pyx_n_s_CompileTimeScope_lookup_here, __pyx_k_CompileTimeScope_lookup_here, sizeof(__pyx_k_CompileTimeScope_lookup_here), 0, 0, 1, 1},
16058   {&__pyx_n_s_CompileTimeScope_update, __pyx_k_CompileTimeScope_update, sizeof(__pyx_k_CompileTimeScope_update), 0, 0, 1, 1},
16059   {&__pyx_n_s_Cython_Compiler_Scanning, __pyx_k_Cython_Compiler_Scanning, sizeof(__pyx_k_Cython_Compiler_Scanning), 0, 0, 1, 1},
16060   {&__pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_k_Cython_Compiler_Scanning_py, sizeof(__pyx_k_Cython_Compiler_Scanning_py), 0, 0, 1, 0},
16061   {&__pyx_n_u_DEDENT, __pyx_k_DEDENT, sizeof(__pyx_k_DEDENT), 0, 1, 0, 1},
16062   {&__pyx_n_u_DEF, __pyx_k_DEF, sizeof(__pyx_k_DEF), 0, 1, 0, 1},
16063   {&__pyx_n_u_DQ_STRING, __pyx_k_DQ_STRING, sizeof(__pyx_k_DQ_STRING), 0, 1, 0, 1},
16064   {&__pyx_n_u_ELIF, __pyx_k_ELIF, sizeof(__pyx_k_ELIF), 0, 1, 0, 1},
16065   {&__pyx_n_u_ELSE, __pyx_k_ELSE, sizeof(__pyx_k_ELSE), 0, 1, 0, 1},
16066   {&__pyx_n_u_END_STRING, __pyx_k_END_STRING, sizeof(__pyx_k_END_STRING), 0, 1, 0, 1},
16067   {&__pyx_n_u_EOF, __pyx_k_EOF, sizeof(__pyx_k_EOF), 0, 1, 0, 1},
16068   {&__pyx_n_s_Errors, __pyx_k_Errors, sizeof(__pyx_k_Errors), 0, 0, 1, 1},
16069   {&__pyx_kp_u_Expected, __pyx_k_Expected, sizeof(__pyx_k_Expected), 0, 1, 0, 0},
16070   {&__pyx_kp_u_Expected_a_decrease_in_indentati, __pyx_k_Expected_a_decrease_in_indentati, sizeof(__pyx_k_Expected_a_decrease_in_indentati), 0, 1, 0, 0},
16071   {&__pyx_kp_u_Expected_a_newline, __pyx_k_Expected_a_newline, sizeof(__pyx_k_Expected_a_newline), 0, 1, 0, 0},
16072   {&__pyx_kp_u_Expected_an_increase_in_indentat, __pyx_k_Expected_an_increase_in_indentat, sizeof(__pyx_k_Expected_an_increase_in_indentat), 0, 1, 0, 0},
16073   {&__pyx_n_u_False, __pyx_k_False, sizeof(__pyx_k_False), 0, 1, 0, 1},
16074   {&__pyx_n_s_FileSourceDescriptor, __pyx_k_FileSourceDescriptor, sizeof(__pyx_k_FileSourceDescriptor), 0, 0, 1, 1},
16075   {&__pyx_n_s_FileSourceDescriptor___eq, __pyx_k_FileSourceDescriptor___eq, sizeof(__pyx_k_FileSourceDescriptor___eq), 0, 0, 1, 1},
16076   {&__pyx_n_s_FileSourceDescriptor___hash, __pyx_k_FileSourceDescriptor___hash, sizeof(__pyx_k_FileSourceDescriptor___hash), 0, 0, 1, 1},
16077   {&__pyx_n_s_FileSourceDescriptor___init, __pyx_k_FileSourceDescriptor___init, sizeof(__pyx_k_FileSourceDescriptor___init), 0, 0, 1, 1},
16078   {&__pyx_n_s_FileSourceDescriptor___repr, __pyx_k_FileSourceDescriptor___repr, sizeof(__pyx_k_FileSourceDescriptor___repr), 0, 0, 1, 1},
16079   {&__pyx_n_s_FileSourceDescriptor_get_descrip, __pyx_k_FileSourceDescriptor_get_descrip, sizeof(__pyx_k_FileSourceDescriptor_get_descrip), 0, 0, 1, 1},
16080   {&__pyx_n_s_FileSourceDescriptor_get_error_d, __pyx_k_FileSourceDescriptor_get_error_d, sizeof(__pyx_k_FileSourceDescriptor_get_error_d), 0, 0, 1, 1},
16081   {&__pyx_n_s_FileSourceDescriptor_get_filenam, __pyx_k_FileSourceDescriptor_get_filenam, sizeof(__pyx_k_FileSourceDescriptor_get_filenam), 0, 0, 1, 1},
16082   {&__pyx_n_s_FileSourceDescriptor_get_lines, __pyx_k_FileSourceDescriptor_get_lines, sizeof(__pyx_k_FileSourceDescriptor_get_lines), 0, 0, 1, 1},
16083   {&__pyx_kp_u_FileSourceDescriptor_s, __pyx_k_FileSourceDescriptor_s, sizeof(__pyx_k_FileSourceDescriptor_s), 0, 1, 0, 0},
16084   {&__pyx_n_s_Future, __pyx_k_Future, sizeof(__pyx_k_Future), 0, 0, 1, 1},
16085   {&__pyx_n_s_IDENT, __pyx_k_IDENT, sizeof(__pyx_k_IDENT), 0, 0, 1, 1},
16086   {&__pyx_n_u_IF, __pyx_k_IF, sizeof(__pyx_k_IF), 0, 1, 0, 1},
16087   {&__pyx_n_u_INDENT, __pyx_k_INDENT, sizeof(__pyx_k_INDENT), 0, 1, 0, 1},
16088   {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
16089   {&__pyx_kp_u_Inconsistent_indentation, __pyx_k_Inconsistent_indentation, sizeof(__pyx_k_Inconsistent_indentation), 0, 1, 0, 0},
16090   {&__pyx_kp_s_Instances_of_this_class_can_be, __pyx_k_Instances_of_this_class_can_be, sizeof(__pyx_k_Instances_of_this_class_can_be), 0, 0, 1, 0},
16091   {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
16092   {&__pyx_n_s_Lexicon, __pyx_k_Lexicon, sizeof(__pyx_k_Lexicon), 0, 0, 1, 1},
16093   {&__pyx_n_s_Method, __pyx_k_Method, sizeof(__pyx_k_Method), 0, 0, 1, 1},
16094   {&__pyx_n_s_Method___copy, __pyx_k_Method___copy, sizeof(__pyx_k_Method___copy), 0, 0, 1, 1},
16095   {&__pyx_n_s_Method___deepcopy, __pyx_k_Method___deepcopy, sizeof(__pyx_k_Method___deepcopy), 0, 0, 1, 1},
16096   {&__pyx_kp_u_Mixed_use_of_tabs_and_spaces, __pyx_k_Mixed_use_of_tabs_and_spaces, sizeof(__pyx_k_Mixed_use_of_tabs_and_spaces), 0, 1, 0, 0},
16097   {&__pyx_n_u_NEWLINE, __pyx_k_NEWLINE, sizeof(__pyx_k_NEWLINE), 0, 1, 0, 1},
16098   {&__pyx_n_s_Plex_Errors, __pyx_k_Plex_Errors, sizeof(__pyx_k_Plex_Errors), 0, 0, 1, 1},
16099   {&__pyx_n_s_Plex_Scanners, __pyx_k_Plex_Scanners, sizeof(__pyx_k_Plex_Scanners), 0, 0, 1, 1},
16100   {&__pyx_kp_u_Possible_inconsistent_indentatio, __pyx_k_Possible_inconsistent_indentatio, sizeof(__pyx_k_Possible_inconsistent_indentatio), 0, 1, 0, 0},
16101   {&__pyx_n_s_PyrexScanner, __pyx_k_PyrexScanner, sizeof(__pyx_k_PyrexScanner), 0, 0, 1, 1},
16102   {&__pyx_n_s_PyrexScanner_begin_string_action, __pyx_k_PyrexScanner_begin_string_action, sizeof(__pyx_k_PyrexScanner_begin_string_action), 0, 0, 1, 1},
16103   {&__pyx_n_s_PyrexScanner_close_bracket_actio, __pyx_k_PyrexScanner_close_bracket_actio, sizeof(__pyx_k_PyrexScanner_close_bracket_actio), 0, 0, 1, 1},
16104   {&__pyx_n_s_PyrexScanner_commentline, __pyx_k_PyrexScanner_commentline, sizeof(__pyx_k_PyrexScanner_commentline), 0, 0, 1, 1},
16105   {&__pyx_n_s_PyrexScanner_end_string_action, __pyx_k_PyrexScanner_end_string_action, sizeof(__pyx_k_PyrexScanner_end_string_action), 0, 0, 1, 1},
16106   {&__pyx_n_s_PyrexScanner_enter_async, __pyx_k_PyrexScanner_enter_async, sizeof(__pyx_k_PyrexScanner_enter_async), 0, 0, 1, 1},
16107   {&__pyx_n_s_PyrexScanner_eof_action, __pyx_k_PyrexScanner_eof_action, sizeof(__pyx_k_PyrexScanner_eof_action), 0, 0, 1, 1},
16108   {&__pyx_n_s_PyrexScanner_error, __pyx_k_PyrexScanner_error, sizeof(__pyx_k_PyrexScanner_error), 0, 0, 1, 1},
16109   {&__pyx_n_s_PyrexScanner_exit_async, __pyx_k_PyrexScanner_exit_async, sizeof(__pyx_k_PyrexScanner_exit_async), 0, 0, 1, 1},
16110   {&__pyx_n_s_PyrexScanner_expect, __pyx_k_PyrexScanner_expect, sizeof(__pyx_k_PyrexScanner_expect), 0, 0, 1, 1},
16111   {&__pyx_n_s_PyrexScanner_expect_dedent, __pyx_k_PyrexScanner_expect_dedent, sizeof(__pyx_k_PyrexScanner_expect_dedent), 0, 0, 1, 1},
16112   {&__pyx_n_s_PyrexScanner_expect_indent, __pyx_k_PyrexScanner_expect_indent, sizeof(__pyx_k_PyrexScanner_expect_indent), 0, 0, 1, 1},
16113   {&__pyx_n_s_PyrexScanner_expect_keyword, __pyx_k_PyrexScanner_expect_keyword, sizeof(__pyx_k_PyrexScanner_expect_keyword), 0, 0, 1, 1},
16114   {&__pyx_n_s_PyrexScanner_expect_newline, __pyx_k_PyrexScanner_expect_newline, sizeof(__pyx_k_PyrexScanner_expect_newline), 0, 0, 1, 1},
16115   {&__pyx_n_s_PyrexScanner_expected, __pyx_k_PyrexScanner_expected, sizeof(__pyx_k_PyrexScanner_expected), 0, 0, 1, 1},
16116   {&__pyx_n_s_PyrexScanner_indentation_action, __pyx_k_PyrexScanner_indentation_action, sizeof(__pyx_k_PyrexScanner_indentation_action), 0, 0, 1, 1},
16117   {&__pyx_n_s_PyrexScanner_newline_action, __pyx_k_PyrexScanner_newline_action, sizeof(__pyx_k_PyrexScanner_newline_action), 0, 0, 1, 1},
16118   {&__pyx_n_s_PyrexScanner_next, __pyx_k_PyrexScanner_next, sizeof(__pyx_k_PyrexScanner_next), 0, 0, 1, 1},
16119   {&__pyx_n_s_PyrexScanner_open_bracket_action, __pyx_k_PyrexScanner_open_bracket_action, sizeof(__pyx_k_PyrexScanner_open_bracket_action), 0, 0, 1, 1},
16120   {&__pyx_n_s_PyrexScanner_peek, __pyx_k_PyrexScanner_peek, sizeof(__pyx_k_PyrexScanner_peek), 0, 0, 1, 1},
16121   {&__pyx_n_s_PyrexScanner_put_back, __pyx_k_PyrexScanner_put_back, sizeof(__pyx_k_PyrexScanner_put_back), 0, 0, 1, 1},
16122   {&__pyx_n_s_PyrexScanner_strip_underscores, __pyx_k_PyrexScanner_strip_underscores, sizeof(__pyx_k_PyrexScanner_strip_underscores), 0, 0, 1, 1},
16123   {&__pyx_n_s_PyrexScanner_unclosed_string_act, __pyx_k_PyrexScanner_unclosed_string_act, sizeof(__pyx_k_PyrexScanner_unclosed_string_act), 0, 0, 1, 1},
16124   {&__pyx_n_s_PyrexScanner_unread, __pyx_k_PyrexScanner_unread, sizeof(__pyx_k_PyrexScanner_unread), 0, 0, 1, 1},
16125   {&__pyx_kp_s_Represents_a_code_source_A_code, __pyx_k_Represents_a_code_source_A_code, sizeof(__pyx_k_Represents_a_code_source_A_code), 0, 0, 1, 0},
16126   {&__pyx_n_u_SQ_STRING, __pyx_k_SQ_STRING, sizeof(__pyx_k_SQ_STRING), 0, 1, 0, 1},
16127   {&__pyx_n_s_Scanner, __pyx_k_Scanner, sizeof(__pyx_k_Scanner), 0, 0, 1, 1},
16128   {&__pyx_n_s_SourceDescriptor, __pyx_k_SourceDescriptor, sizeof(__pyx_k_SourceDescriptor), 0, 0, 1, 1},
16129   {&__pyx_n_s_SourceDescriptor___copy, __pyx_k_SourceDescriptor___copy, sizeof(__pyx_k_SourceDescriptor___copy), 0, 0, 1, 1},
16130   {&__pyx_n_s_SourceDescriptor___deepcopy, __pyx_k_SourceDescriptor___deepcopy, sizeof(__pyx_k_SourceDescriptor___deepcopy), 0, 0, 1, 1},
16131   {&__pyx_n_s_SourceDescriptor___gt, __pyx_k_SourceDescriptor___gt, sizeof(__pyx_k_SourceDescriptor___gt), 0, 0, 1, 1},
16132   {&__pyx_n_s_SourceDescriptor___le, __pyx_k_SourceDescriptor___le, sizeof(__pyx_k_SourceDescriptor___le), 0, 0, 1, 1},
16133   {&__pyx_n_s_SourceDescriptor___lt, __pyx_k_SourceDescriptor___lt, sizeof(__pyx_k_SourceDescriptor___lt), 0, 0, 1, 1},
16134   {&__pyx_n_s_SourceDescriptor___str, __pyx_k_SourceDescriptor___str, sizeof(__pyx_k_SourceDescriptor___str), 0, 0, 1, 1},
16135   {&__pyx_n_s_SourceDescriptor_get_escaped_des, __pyx_k_SourceDescriptor_get_escaped_des, sizeof(__pyx_k_SourceDescriptor_get_escaped_des), 0, 0, 1, 1},
16136   {&__pyx_n_s_SourceDescriptor_is_cython_file, __pyx_k_SourceDescriptor_is_cython_file, sizeof(__pyx_k_SourceDescriptor_is_cython_file), 0, 0, 1, 1},
16137   {&__pyx_n_s_SourceDescriptor_is_python_file, __pyx_k_SourceDescriptor_is_python_file, sizeof(__pyx_k_SourceDescriptor_is_python_file), 0, 0, 1, 1},
16138   {&__pyx_n_s_SourceDescriptor_set_file_type_f, __pyx_k_SourceDescriptor_set_file_type_f, sizeof(__pyx_k_SourceDescriptor_set_file_type_f), 0, 0, 1, 1},
16139   {&__pyx_n_s_StringSourceDescriptor, __pyx_k_StringSourceDescriptor, sizeof(__pyx_k_StringSourceDescriptor), 0, 0, 1, 1},
16140   {&__pyx_n_s_StringSourceDescriptor___eq, __pyx_k_StringSourceDescriptor___eq, sizeof(__pyx_k_StringSourceDescriptor___eq), 0, 0, 1, 1},
16141   {&__pyx_n_s_StringSourceDescriptor___hash, __pyx_k_StringSourceDescriptor___hash, sizeof(__pyx_k_StringSourceDescriptor___hash), 0, 0, 1, 1},
16142   {&__pyx_n_s_StringSourceDescriptor___init, __pyx_k_StringSourceDescriptor___init, sizeof(__pyx_k_StringSourceDescriptor___init), 0, 0, 1, 1},
16143   {&__pyx_n_s_StringSourceDescriptor___repr, __pyx_k_StringSourceDescriptor___repr, sizeof(__pyx_k_StringSourceDescriptor___repr), 0, 0, 1, 1},
16144   {&__pyx_n_s_StringSourceDescriptor_get_descr, __pyx_k_StringSourceDescriptor_get_descr, sizeof(__pyx_k_StringSourceDescriptor_get_descr), 0, 0, 1, 1},
16145   {&__pyx_n_s_StringSourceDescriptor_get_filen, __pyx_k_StringSourceDescriptor_get_filen, sizeof(__pyx_k_StringSourceDescriptor_get_filen), 0, 0, 1, 1},
16146   {&__pyx_n_s_StringSourceDescriptor_get_lines, __pyx_k_StringSourceDescriptor_get_lines, sizeof(__pyx_k_StringSourceDescriptor_get_lines), 0, 0, 1, 1},
16147   {&__pyx_kp_u_StringSourceDescriptor_s, __pyx_k_StringSourceDescriptor_s, sizeof(__pyx_k_StringSourceDescriptor_s), 0, 1, 0, 0},
16148   {&__pyx_n_u_TDQ_STRING, __pyx_k_TDQ_STRING, sizeof(__pyx_k_TDQ_STRING), 0, 1, 0, 1},
16149   {&__pyx_n_u_TSQ_STRING, __pyx_k_TSQ_STRING, sizeof(__pyx_k_TSQ_STRING), 0, 1, 0, 1},
16150   {&__pyx_n_u_True, __pyx_k_True, sizeof(__pyx_k_True), 0, 1, 0, 1},
16151   {&__pyx_n_u_UNAME_MACHINE, __pyx_k_UNAME_MACHINE, sizeof(__pyx_k_UNAME_MACHINE), 0, 1, 0, 1},
16152   {&__pyx_n_u_UNAME_NODENAME, __pyx_k_UNAME_NODENAME, sizeof(__pyx_k_UNAME_NODENAME), 0, 1, 0, 1},
16153   {&__pyx_n_u_UNAME_RELEASE, __pyx_k_UNAME_RELEASE, sizeof(__pyx_k_UNAME_RELEASE), 0, 1, 0, 1},
16154   {&__pyx_n_u_UNAME_SYSNAME, __pyx_k_UNAME_SYSNAME, sizeof(__pyx_k_UNAME_SYSNAME), 0, 1, 0, 1},
16155   {&__pyx_n_u_UNAME_VERSION, __pyx_k_UNAME_VERSION, sizeof(__pyx_k_UNAME_VERSION), 0, 1, 0, 1},
16156   {&__pyx_kp_u_Unclosed_string_literal, __pyx_k_Unclosed_string_literal, sizeof(__pyx_k_Unclosed_string_literal), 0, 1, 0, 0},
16157   {&__pyx_n_s_UnrecognizedInput, __pyx_k_UnrecognizedInput, sizeof(__pyx_k_UnrecognizedInput), 0, 0, 1, 1},
16158   {&__pyx_kp_u_Unrecognized_character, __pyx_k_Unrecognized_character, sizeof(__pyx_k_Unrecognized_character), 0, 1, 0, 0},
16159   {&__pyx_n_s_Utils, __pyx_k_Utils, sizeof(__pyx_k_Utils), 0, 0, 1, 1},
16160   {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
16161   {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0},
16162   {&__pyx_n_s__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 0, 1, 1},
16163   {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0},
16164   {&__pyx_n_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 1},
16165   {&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0},
16166   {&__pyx_kp_u__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 1, 0, 0},
16167   {&__pyx_kp_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 0},
16168   {&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0},
16169   {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0},
16170   {&__pyx_kp_u__95, __pyx_k__95, sizeof(__pyx_k__95), 0, 1, 0, 0},
16171   {&__pyx_kp_u__96, __pyx_k__96, sizeof(__pyx_k__96), 0, 1, 0, 0},
16172   {&__pyx_kp_u__97, __pyx_k__97, sizeof(__pyx_k__97), 0, 1, 0, 0},
16173   {&__pyx_n_u_abs, __pyx_k_abs, sizeof(__pyx_k_abs), 0, 1, 0, 1},
16174   {&__pyx_n_s_abspath, __pyx_k_abspath, sizeof(__pyx_k_abspath), 0, 0, 1, 1},
16175   {&__pyx_n_u_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 1, 0, 1},
16176   {&__pyx_n_u_and, __pyx_k_and, sizeof(__pyx_k_and), 0, 1, 0, 1},
16177   {&__pyx_n_u_any, __pyx_k_any, sizeof(__pyx_k_any), 0, 1, 0, 1},
16178   {&__pyx_n_s_any_string_prefix, __pyx_k_any_string_prefix, sizeof(__pyx_k_any_string_prefix), 0, 0, 1, 1},
16179   {&__pyx_n_u_ascii, __pyx_k_ascii, sizeof(__pyx_k_ascii), 0, 1, 0, 1},
16180   {&__pyx_n_u_assert, __pyx_k_assert, sizeof(__pyx_k_assert), 0, 1, 0, 1},
16181   {&__pyx_n_u_async, __pyx_k_async, sizeof(__pyx_k_async), 0, 1, 0, 1},
16182   {&__pyx_n_s_async_enabled, __pyx_k_async_enabled, sizeof(__pyx_k_async_enabled), 0, 0, 1, 1},
16183   {&__pyx_n_u_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 1, 0, 1},
16184   {&__pyx_n_s_begin_string_action, __pyx_k_begin_string_action, sizeof(__pyx_k_begin_string_action), 0, 0, 1, 1},
16185   {&__pyx_n_u_bin, __pyx_k_bin, sizeof(__pyx_k_bin), 0, 1, 0, 1},
16186   {&__pyx_n_u_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 1, 0, 1},
16187   {&__pyx_n_u_break, __pyx_k_break, sizeof(__pyx_k_break), 0, 1, 0, 1},
16188   {&__pyx_n_s_builtin, __pyx_k_builtin, sizeof(__pyx_k_builtin), 0, 0, 1, 1},
16189   {&__pyx_n_s_builtins, __pyx_k_builtins, sizeof(__pyx_k_builtins), 0, 0, 1, 1},
16190   {&__pyx_n_u_bytearray, __pyx_k_bytearray, sizeof(__pyx_k_bytearray), 0, 1, 0, 1},
16191   {&__pyx_n_u_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 1, 0, 1},
16192   {&__pyx_n_u_cdef, __pyx_k_cdef, sizeof(__pyx_k_cdef), 0, 1, 0, 1},
16193   {&__pyx_n_u_chr, __pyx_k_chr, sizeof(__pyx_k_chr), 0, 1, 0, 1},
16194   {&__pyx_n_u_cimport, __pyx_k_cimport, sizeof(__pyx_k_cimport), 0, 1, 0, 1},
16195   {&__pyx_n_u_class, __pyx_k_class, sizeof(__pyx_k_class), 0, 1, 0, 1},
16196   {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
16197   {&__pyx_n_s_close_bracket_action, __pyx_k_close_bracket_action, sizeof(__pyx_k_close_bracket_action), 0, 0, 1, 1},
16198   {&__pyx_n_u_cmp, __pyx_k_cmp, sizeof(__pyx_k_cmp), 0, 1, 0, 1},
16199   {&__pyx_n_s_cmp_name, __pyx_k_cmp_name, sizeof(__pyx_k_cmp_name), 0, 0, 1, 1},
16200   {&__pyx_n_s_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 0, 1, 1},
16201   {&__pyx_n_s_codelines, __pyx_k_codelines, sizeof(__pyx_k_codelines), 0, 0, 1, 1},
16202   {&__pyx_n_s_commentline, __pyx_k_commentline, sizeof(__pyx_k_commentline), 0, 0, 1, 1},
16203   {&__pyx_n_u_commentline, __pyx_k_commentline, sizeof(__pyx_k_commentline), 0, 1, 0, 1},
16204   {&__pyx_n_s_compile_time_env, __pyx_k_compile_time_env, sizeof(__pyx_k_compile_time_env), 0, 0, 1, 1},
16205   {&__pyx_n_u_compile_time_env, __pyx_k_compile_time_env, sizeof(__pyx_k_compile_time_env), 0, 1, 0, 1},
16206   {&__pyx_n_s_compile_time_eval, __pyx_k_compile_time_eval, sizeof(__pyx_k_compile_time_eval), 0, 0, 1, 1},
16207   {&__pyx_n_s_compile_time_expr, __pyx_k_compile_time_expr, sizeof(__pyx_k_compile_time_expr), 0, 0, 1, 1},
16208   {&__pyx_n_u_complex, __pyx_k_complex, sizeof(__pyx_k_complex), 0, 1, 0, 1},
16209   {&__pyx_n_s_context, __pyx_k_context, sizeof(__pyx_k_context), 0, 0, 1, 1},
16210   {&__pyx_n_u_continue, __pyx_k_continue, sizeof(__pyx_k_continue), 0, 1, 0, 1},
16211   {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1},
16212   {&__pyx_n_u_cpdef, __pyx_k_cpdef, sizeof(__pyx_k_cpdef), 0, 1, 0, 1},
16213   {&__pyx_n_u_ctypedef, __pyx_k_ctypedef, sizeof(__pyx_k_ctypedef), 0, 1, 0, 1},
16214   {&__pyx_n_s_cwd, __pyx_k_cwd, sizeof(__pyx_k_cwd), 0, 0, 1, 1},
16215   {&__pyx_n_s_debug_scanner, __pyx_k_debug_scanner, sizeof(__pyx_k_debug_scanner), 0, 0, 1, 1},
16216   {&__pyx_n_s_declare, __pyx_k_declare, sizeof(__pyx_k_declare), 0, 0, 1, 1},
16217   {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1},
16218   {&__pyx_n_s_decode_filename, __pyx_k_decode_filename, sizeof(__pyx_k_decode_filename), 0, 0, 1, 1},
16219   {&__pyx_n_s_deepcopy, __pyx_k_deepcopy, sizeof(__pyx_k_deepcopy), 0, 0, 1, 1},
16220   {&__pyx_n_u_def, __pyx_k_def, sizeof(__pyx_k_def), 0, 1, 0, 1},
16221   {&__pyx_n_u_del, __pyx_k_del, sizeof(__pyx_k_del), 0, 1, 0, 1},
16222   {&__pyx_n_u_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 1, 0, 1},
16223   {&__pyx_n_u_divmod, __pyx_k_divmod, sizeof(__pyx_k_divmod), 0, 1, 0, 1},
16224   {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
16225   {&__pyx_n_u_elif, __pyx_k_elif, sizeof(__pyx_k_elif), 0, 1, 0, 1},
16226   {&__pyx_n_u_else, __pyx_k_else, sizeof(__pyx_k_else), 0, 1, 0, 1},
16227   {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1},
16228   {&__pyx_n_s_encoding, __pyx_k_encoding, sizeof(__pyx_k_encoding), 0, 0, 1, 1},
16229   {&__pyx_n_s_end_string_action, __pyx_k_end_string_action, sizeof(__pyx_k_end_string_action), 0, 0, 1, 1},
16230   {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1},
16231   {&__pyx_n_s_enter_async, __pyx_k_enter_async, sizeof(__pyx_k_enter_async), 0, 0, 1, 1},
16232   {&__pyx_n_u_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 1, 0, 1},
16233   {&__pyx_n_s_eof_action, __pyx_k_eof_action, sizeof(__pyx_k_eof_action), 0, 0, 1, 1},
16234   {&__pyx_n_s_eq, __pyx_k_eq, sizeof(__pyx_k_eq), 0, 0, 1, 1},
16235   {&__pyx_n_s_err, __pyx_k_err, sizeof(__pyx_k_err), 0, 0, 1, 1},
16236   {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
16237   {&__pyx_n_s_error_handling, __pyx_k_error_handling, sizeof(__pyx_k_error_handling), 0, 0, 1, 1},
16238   {&__pyx_n_s_esc_desc, __pyx_k_esc_desc, sizeof(__pyx_k_esc_desc), 0, 0, 1, 1},
16239   {&__pyx_n_s_escaped_description, __pyx_k_escaped_description, sizeof(__pyx_k_escaped_description), 0, 0, 1, 1},
16240   {&__pyx_n_u_except, __pyx_k_except, sizeof(__pyx_k_except), 0, 1, 0, 1},
16241   {&__pyx_n_u_exec, __pyx_k_exec, sizeof(__pyx_k_exec), 0, 1, 0, 1},
16242   {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1},
16243   {&__pyx_n_s_exit_async, __pyx_k_exit_async, sizeof(__pyx_k_exit_async), 0, 0, 1, 1},
16244   {&__pyx_n_s_expect, __pyx_k_expect, sizeof(__pyx_k_expect), 0, 0, 1, 1},
16245   {&__pyx_n_s_expect_dedent, __pyx_k_expect_dedent, sizeof(__pyx_k_expect_dedent), 0, 0, 1, 1},
16246   {&__pyx_n_s_expect_indent, __pyx_k_expect_indent, sizeof(__pyx_k_expect_indent), 0, 0, 1, 1},
16247   {&__pyx_n_s_expect_keyword, __pyx_k_expect_keyword, sizeof(__pyx_k_expect_keyword), 0, 0, 1, 1},
16248   {&__pyx_n_s_expect_newline, __pyx_k_expect_newline, sizeof(__pyx_k_expect_newline), 0, 0, 1, 1},
16249   {&__pyx_n_s_expected, __pyx_k_expected, sizeof(__pyx_k_expected), 0, 0, 1, 1},
16250   {&__pyx_n_s_ext, __pyx_k_ext, sizeof(__pyx_k_ext), 0, 0, 1, 1},
16251   {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
16252   {&__pyx_n_s_fatal, __pyx_k_fatal, sizeof(__pyx_k_fatal), 0, 0, 1, 1},
16253   {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
16254   {&__pyx_n_s_file_path, __pyx_k_file_path, sizeof(__pyx_k_file_path), 0, 0, 1, 1},
16255   {&__pyx_n_s_file_type, __pyx_k_file_type, sizeof(__pyx_k_file_type), 0, 0, 1, 1},
16256   {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1},
16257   {&__pyx_n_u_filter, __pyx_k_filter, sizeof(__pyx_k_filter), 0, 1, 0, 1},
16258   {&__pyx_n_u_finally, __pyx_k_finally, sizeof(__pyx_k_finally), 0, 1, 0, 1},
16259   {&__pyx_n_u_float, __pyx_k_float, sizeof(__pyx_k_float), 0, 1, 0, 1},
16260   {&__pyx_n_u_for, __pyx_k_for, sizeof(__pyx_k_for), 0, 1, 0, 1},
16261   {&__pyx_n_u_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 1, 0, 1},
16262   {&__pyx_kp_u_found, __pyx_k_found, sizeof(__pyx_k_found), 0, 1, 0, 0},
16263   {&__pyx_n_s_found_2, __pyx_k_found_2, sizeof(__pyx_k_found_2), 0, 0, 1, 1},
16264   {&__pyx_n_u_from, __pyx_k_from, sizeof(__pyx_k_from), 0, 1, 0, 1},
16265   {&__pyx_n_u_frozenset, __pyx_k_frozenset, sizeof(__pyx_k_frozenset), 0, 1, 0, 1},
16266   {&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1},
16267   {&__pyx_n_s_future_directives, __pyx_k_future_directives, sizeof(__pyx_k_future_directives), 0, 0, 1, 1},
16268   {&__pyx_n_s_get_description, __pyx_k_get_description, sizeof(__pyx_k_get_description), 0, 0, 1, 1},
16269   {&__pyx_n_s_get_error_description, __pyx_k_get_error_description, sizeof(__pyx_k_get_error_description), 0, 0, 1, 1},
16270   {&__pyx_n_s_get_escaped_description, __pyx_k_get_escaped_description, sizeof(__pyx_k_get_escaped_description), 0, 0, 1, 1},
16271   {&__pyx_n_s_get_filenametable_entry, __pyx_k_get_filenametable_entry, sizeof(__pyx_k_get_filenametable_entry), 0, 0, 1, 1},
16272   {&__pyx_n_s_get_lines, __pyx_k_get_lines, sizeof(__pyx_k_get_lines), 0, 0, 1, 1},
16273   {&__pyx_n_s_getcwd, __pyx_k_getcwd, sizeof(__pyx_k_getcwd), 0, 0, 1, 1},
16274   {&__pyx_n_u_global, __pyx_k_global, sizeof(__pyx_k_global), 0, 1, 0, 1},
16275   {&__pyx_n_s_gt, __pyx_k_gt, sizeof(__pyx_k_gt), 0, 0, 1, 1},
16276   {&__pyx_n_u_hash, __pyx_k_hash, sizeof(__pyx_k_hash), 0, 1, 0, 1},
16277   {&__pyx_n_s_hash_2, __pyx_k_hash_2, sizeof(__pyx_k_hash_2), 0, 0, 1, 1},
16278   {&__pyx_n_u_hex, __pyx_k_hex, sizeof(__pyx_k_hex), 0, 1, 0, 1},
16279   {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1},
16280   {&__pyx_n_u_if, __pyx_k_if, sizeof(__pyx_k_if), 0, 1, 0, 1},
16281   {&__pyx_n_s_ignore_semicolon, __pyx_k_ignore_semicolon, sizeof(__pyx_k_ignore_semicolon), 0, 0, 1, 1},
16282   {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
16283   {&__pyx_n_u_import_2, __pyx_k_import_2, sizeof(__pyx_k_import_2), 0, 1, 0, 1},
16284   {&__pyx_n_u_in, __pyx_k_in, sizeof(__pyx_k_in), 0, 1, 0, 1},
16285   {&__pyx_n_u_include, __pyx_k_include, sizeof(__pyx_k_include), 0, 1, 0, 1},
16286   {&__pyx_n_s_included_files, __pyx_k_included_files, sizeof(__pyx_k_included_files), 0, 0, 1, 1},
16287   {&__pyx_n_s_indentation_action, __pyx_k_indentation_action, sizeof(__pyx_k_indentation_action), 0, 0, 1, 1},
16288   {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
16289   {&__pyx_n_s_initial_pos, __pyx_k_initial_pos, sizeof(__pyx_k_initial_pos), 0, 0, 1, 1},
16290   {&__pyx_n_u_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 1, 0, 1},
16291   {&__pyx_n_s_intern_ustring, __pyx_k_intern_ustring, sizeof(__pyx_k_intern_ustring), 0, 0, 1, 1},
16292   {&__pyx_n_u_is, __pyx_k_is, sizeof(__pyx_k_is), 0, 1, 0, 1},
16293   {&__pyx_n_s_is_cython_file, __pyx_k_is_cython_file, sizeof(__pyx_k_is_cython_file), 0, 0, 1, 1},
16294   {&__pyx_n_s_is_python_file, __pyx_k_is_python_file, sizeof(__pyx_k_is_python_file), 0, 0, 1, 1},
16295   {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
16296   {&__pyx_n_u_lambda, __pyx_k_lambda, sizeof(__pyx_k_lambda), 0, 1, 0, 1},
16297   {&__pyx_n_s_language_level, __pyx_k_language_level, sizeof(__pyx_k_language_level), 0, 0, 1, 1},
16298   {&__pyx_n_s_le, __pyx_k_le, sizeof(__pyx_k_le), 0, 0, 1, 1},
16299   {&__pyx_n_u_len, __pyx_k_len, sizeof(__pyx_k_len), 0, 1, 0, 1},
16300   {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1},
16301   {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1},
16302   {&__pyx_n_s_lines_2, __pyx_k_lines_2, sizeof(__pyx_k_lines_2), 0, 0, 1, 1},
16303   {&__pyx_n_u_list, __pyx_k_list, sizeof(__pyx_k_list), 0, 1, 0, 1},
16304   {&__pyx_n_u_long, __pyx_k_long, sizeof(__pyx_k_long), 0, 1, 0, 1},
16305   {&__pyx_n_s_lookup, __pyx_k_lookup, sizeof(__pyx_k_lookup), 0, 0, 1, 1},
16306   {&__pyx_n_s_lookup_here, __pyx_k_lookup_here, sizeof(__pyx_k_lookup_here), 0, 0, 1, 1},
16307   {&__pyx_n_s_lt, __pyx_k_lt, sizeof(__pyx_k_lt), 0, 0, 1, 1},
16308   {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
16309   {&__pyx_n_s_make_lexicon, __pyx_k_make_lexicon, sizeof(__pyx_k_make_lexicon), 0, 0, 1, 1},
16310   {&__pyx_n_u_map, __pyx_k_map, sizeof(__pyx_k_map), 0, 1, 0, 1},
16311   {&__pyx_n_u_max, __pyx_k_max, sizeof(__pyx_k_max), 0, 1, 0, 1},
16312   {&__pyx_n_s_memo, __pyx_k_memo, sizeof(__pyx_k_memo), 0, 0, 1, 1},
16313   {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1},
16314   {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
16315   {&__pyx_n_u_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 1, 0, 1},
16316   {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
16317   {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
16318   {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
16319   {&__pyx_n_s_newline_action, __pyx_k_newline_action, sizeof(__pyx_k_newline_action), 0, 0, 1, 1},
16320   {&__pyx_n_s_next, __pyx_k_next, sizeof(__pyx_k_next), 0, 0, 1, 1},
16321   {&__pyx_n_u_nonlocal, __pyx_k_nonlocal, sizeof(__pyx_k_nonlocal), 0, 1, 0, 1},
16322   {&__pyx_n_u_not, __pyx_k_not, sizeof(__pyx_k_not), 0, 1, 0, 1},
16323   {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1},
16324   {&__pyx_n_u_oct, __pyx_k_oct, sizeof(__pyx_k_oct), 0, 1, 0, 1},
16325   {&__pyx_n_s_open_bracket_action, __pyx_k_open_bracket_action, sizeof(__pyx_k_open_bracket_action), 0, 0, 1, 1},
16326   {&__pyx_n_s_open_source_file, __pyx_k_open_source_file, sizeof(__pyx_k_open_source_file), 0, 0, 1, 1},
16327   {&__pyx_n_s_options, __pyx_k_options, sizeof(__pyx_k_options), 0, 0, 1, 1},
16328   {&__pyx_n_u_or, __pyx_k_or, sizeof(__pyx_k_or), 0, 1, 0, 1},
16329   {&__pyx_n_u_ord, __pyx_k_ord, sizeof(__pyx_k_ord), 0, 1, 0, 1},
16330   {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1},
16331   {&__pyx_n_s_other, __pyx_k_other, sizeof(__pyx_k_other), 0, 0, 1, 1},
16332   {&__pyx_n_s_outer, __pyx_k_outer, sizeof(__pyx_k_outer), 0, 0, 1, 1},
16333   {&__pyx_n_s_parent_scanner, __pyx_k_parent_scanner, sizeof(__pyx_k_parent_scanner), 0, 0, 1, 1},
16334   {&__pyx_n_s_parse_comments, __pyx_k_parse_comments, sizeof(__pyx_k_parse_comments), 0, 0, 1, 1},
16335   {&__pyx_n_u_pass, __pyx_k_pass, sizeof(__pyx_k_pass), 0, 1, 0, 1},
16336   {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1},
16337   {&__pyx_n_s_path_description, __pyx_k_path_description, sizeof(__pyx_k_path_description), 0, 0, 1, 1},
16338   {&__pyx_n_s_peek, __pyx_k_peek, sizeof(__pyx_k_peek), 0, 0, 1, 1},
16339   {&__pyx_n_s_platform, __pyx_k_platform, sizeof(__pyx_k_platform), 0, 0, 1, 1},
16340   {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},
16341   {&__pyx_n_s_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 0, 1, 1},
16342   {&__pyx_n_s_position, __pyx_k_position, sizeof(__pyx_k_position), 0, 0, 1, 1},
16343   {&__pyx_n_u_pow, __pyx_k_pow, sizeof(__pyx_k_pow), 0, 1, 0, 1},
16344   {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
16345   {&__pyx_n_u_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 1, 0, 1},
16346   {&__pyx_n_s_print_function, __pyx_k_print_function, sizeof(__pyx_k_print_function), 0, 0, 1, 1},
16347   {&__pyx_n_s_put_back, __pyx_k_put_back, sizeof(__pyx_k_put_back), 0, 0, 1, 1},
16348   {&__pyx_kp_u_pxd, __pyx_k_pxd, sizeof(__pyx_k_pxd), 0, 1, 0, 0},
16349   {&__pyx_n_u_pxd_2, __pyx_k_pxd_2, sizeof(__pyx_k_pxd_2), 0, 1, 0, 1},
16350   {&__pyx_kp_u_py, __pyx_k_py, sizeof(__pyx_k_py), 0, 1, 0, 0},
16351   {&__pyx_n_u_py_2, __pyx_k_py_2, sizeof(__pyx_k_py_2), 0, 1, 0, 1},
16352   {&__pyx_n_s_py_reserved_words, __pyx_k_py_reserved_words, sizeof(__pyx_k_py_reserved_words), 0, 0, 1, 1},
16353   {&__pyx_kp_u_pyx, __pyx_k_pyx, sizeof(__pyx_k_pyx), 0, 1, 0, 0},
16354   {&__pyx_n_u_pyx_2, __pyx_k_pyx_2, sizeof(__pyx_k_pyx_2), 0, 1, 0, 1},
16355   {&__pyx_n_s_pyx_capi, __pyx_k_pyx_capi, sizeof(__pyx_k_pyx_capi), 0, 0, 1, 1},
16356   {&__pyx_n_s_pyx_reserved_words, __pyx_k_pyx_reserved_words, sizeof(__pyx_k_pyx_reserved_words), 0, 0, 1, 1},
16357   {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
16358   {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
16359   {&__pyx_n_u_raise, __pyx_k_raise, sizeof(__pyx_k_raise), 0, 1, 0, 1},
16360   {&__pyx_n_u_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 1, 0, 1},
16361   {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
16362   {&__pyx_n_u_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 1, 0, 1},
16363   {&__pyx_n_s_relpath, __pyx_k_relpath, sizeof(__pyx_k_relpath), 0, 0, 1, 1},
16364   {&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1},
16365   {&__pyx_n_u_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 1, 0, 1},
16366   {&__pyx_n_u_repr, __pyx_k_repr, sizeof(__pyx_k_repr), 0, 1, 0, 1},
16367   {&__pyx_n_s_repr_2, __pyx_k_repr_2, sizeof(__pyx_k_repr_2), 0, 0, 1, 1},
16368   {&__pyx_n_u_return, __pyx_k_return, sizeof(__pyx_k_return), 0, 1, 0, 1},
16369   {&__pyx_n_u_reversed, __pyx_k_reversed, sizeof(__pyx_k_reversed), 0, 1, 0, 1},
16370   {&__pyx_n_u_round, __pyx_k_round, sizeof(__pyx_k_round), 0, 1, 0, 1},
16371   {&__pyx_n_s_saved, __pyx_k_saved, sizeof(__pyx_k_saved), 0, 0, 1, 1},
16372   {&__pyx_n_s_scanner_debug_flags, __pyx_k_scanner_debug_flags, sizeof(__pyx_k_scanner_debug_flags), 0, 0, 1, 1},
16373   {&__pyx_n_s_scanner_dump_file, __pyx_k_scanner_dump_file, sizeof(__pyx_k_scanner_dump_file), 0, 0, 1, 1},
16374   {&__pyx_n_s_scope, __pyx_k_scope, sizeof(__pyx_k_scope), 0, 0, 1, 1},
16375   {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
16376   {&__pyx_n_s_sep, __pyx_k_sep, sizeof(__pyx_k_sep), 0, 0, 1, 1},
16377   {&__pyx_n_u_set, __pyx_k_set, sizeof(__pyx_k_set), 0, 1, 0, 1},
16378   {&__pyx_n_s_set_file_type_from_name, __pyx_k_set_file_type_from_name, sizeof(__pyx_k_set_file_type_from_name), 0, 0, 1, 1},
16379   {&__pyx_n_u_slice, __pyx_k_slice, sizeof(__pyx_k_slice), 0, 1, 0, 1},
16380   {&__pyx_n_u_sorted, __pyx_k_sorted, sizeof(__pyx_k_sorted), 0, 1, 0, 1},
16381   {&__pyx_n_s_source_encoding, __pyx_k_source_encoding, sizeof(__pyx_k_source_encoding), 0, 0, 1, 1},
16382   {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
16383   {&__pyx_n_s_splitext, __pyx_k_splitext, sizeof(__pyx_k_splitext), 0, 0, 1, 1},
16384   {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
16385   {&__pyx_n_u_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 1, 0, 1},
16386   {&__pyx_n_s_str_2, __pyx_k_str_2, sizeof(__pyx_k_str_2), 0, 0, 1, 1},
16387   {&__pyx_n_s_stream, __pyx_k_stream, sizeof(__pyx_k_stream), 0, 0, 1, 1},
16388   {&__pyx_n_s_string_states, __pyx_k_string_states, sizeof(__pyx_k_string_states), 0, 0, 1, 1},
16389   {&__pyx_n_u_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 1, 0, 1},
16390   {&__pyx_n_s_strip_underscores, __pyx_k_strip_underscores, sizeof(__pyx_k_strip_underscores), 0, 0, 1, 1},
16391   {&__pyx_n_u_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 1, 0, 1},
16392   {&__pyx_n_s_sy, __pyx_k_sy, sizeof(__pyx_k_sy), 0, 0, 1, 1},
16393   {&__pyx_n_s_symbol, __pyx_k_symbol, sizeof(__pyx_k_symbol), 0, 0, 1, 1},
16394   {&__pyx_n_s_systring, __pyx_k_systring, sizeof(__pyx_k_systring), 0, 0, 1, 1},
16395   {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
16396   {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1},
16397   {&__pyx_n_s_token, __pyx_k_token, sizeof(__pyx_k_token), 0, 0, 1, 1},
16398   {&__pyx_n_s_trace_scanner, __pyx_k_trace_scanner, sizeof(__pyx_k_trace_scanner), 0, 0, 1, 1},
16399   {&__pyx_n_u_try, __pyx_k_try, sizeof(__pyx_k_try), 0, 1, 0, 1},
16400   {&__pyx_n_u_tuple, __pyx_k_tuple, sizeof(__pyx_k_tuple), 0, 1, 0, 1},
16401   {&__pyx_n_s_uname, __pyx_k_uname, sizeof(__pyx_k_uname), 0, 0, 1, 1},
16402   {&__pyx_n_s_unclosed_string_action, __pyx_k_unclosed_string_action, sizeof(__pyx_k_unclosed_string_action), 0, 0, 1, 1},
16403   {&__pyx_n_u_unicode, __pyx_k_unicode, sizeof(__pyx_k_unicode), 0, 1, 0, 1},
16404   {&__pyx_n_s_unread, __pyx_k_unread, sizeof(__pyx_k_unread), 0, 0, 1, 1},
16405   {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
16406   {&__pyx_kp_u_useless_trailing_semicolon, __pyx_k_useless_trailing_semicolon, sizeof(__pyx_k_useless_trailing_semicolon), 0, 1, 0, 0},
16407   {&__pyx_n_s_useless_trailing_semicolon_2, __pyx_k_useless_trailing_semicolon_2, sizeof(__pyx_k_useless_trailing_semicolon_2), 0, 0, 1, 1},
16408   {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
16409   {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1},
16410   {&__pyx_n_s_what, __pyx_k_what, sizeof(__pyx_k_what), 0, 0, 1, 1},
16411   {&__pyx_n_u_while, __pyx_k_while, sizeof(__pyx_k_while), 0, 1, 0, 1},
16412   {&__pyx_n_u_with, __pyx_k_with, sizeof(__pyx_k_with), 0, 1, 0, 1},
16413   {&__pyx_n_s_workdir, __pyx_k_workdir, sizeof(__pyx_k_workdir), 0, 0, 1, 1},
16414   {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
16415   {&__pyx_n_u_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 1, 0, 1},
16416   {&__pyx_n_u_yield, __pyx_k_yield, sizeof(__pyx_k_yield), 0, 1, 0, 1},
16417   {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
16418   {&__pyx_n_u_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 1, 0, 1},
16419   {0, 0, 0, 0, 0, 0, 0}
16420 };
__Pyx_InitCachedBuiltins(void)16421 static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
16422   __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 146, __pyx_L1_error)
16423   __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 96, __pyx_L1_error)
16424   __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 107, __pyx_L1_error)
16425   __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 111, __pyx_L1_error)
16426   __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 129, __pyx_L1_error)
16427   __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 250, __pyx_L1_error)
16428   __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(0, 301, __pyx_L1_error)
16429   return 0;
16430   __pyx_L1_error:;
16431   return -1;
16432 }
16433 
__Pyx_InitCachedConstants(void)16434 static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
16435   __Pyx_RefNannyDeclarations
16436   __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
16437 
16438   /* "Cython/Compiler/Scanning.py":106
16439  * def initial_compile_time_env():
16440  *     benv = CompileTimeScope()
16441  *     names = ('UNAME_SYSNAME', 'UNAME_NODENAME', 'UNAME_RELEASE', 'UNAME_VERSION', 'UNAME_MACHINE')             # <<<<<<<<<<<<<<
16442  *     for name, value in zip(names, platform.uname()):
16443  *         benv.declare(name, value)
16444  */
16445   __pyx_tuple_ = PyTuple_Pack(5, __pyx_n_u_UNAME_SYSNAME, __pyx_n_u_UNAME_NODENAME, __pyx_n_u_UNAME_RELEASE, __pyx_n_u_UNAME_VERSION, __pyx_n_u_UNAME_MACHINE); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 106, __pyx_L1_error)
16446   __Pyx_GOTREF(__pyx_tuple_);
16447   __Pyx_GIVEREF(__pyx_tuple_);
16448 
16449   /* "Cython/Compiler/Scanning.py":115
16450  *
16451  *     names = (
16452  *         'False', 'True',             # <<<<<<<<<<<<<<
16453  *         'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes',
16454  *         'chr', 'cmp', 'complex', 'dict', 'divmod', 'enumerate', 'filter',
16455  */
16456   __pyx_tuple__2 = PyTuple_Pack(42, __pyx_n_u_False, __pyx_n_u_True, __pyx_n_u_abs, __pyx_n_u_all, __pyx_n_u_any, __pyx_n_u_ascii, __pyx_n_u_bin, __pyx_n_u_bool, __pyx_n_u_bytearray, __pyx_n_u_bytes, __pyx_n_u_chr, __pyx_n_u_cmp, __pyx_n_u_complex, __pyx_n_u_dict, __pyx_n_u_divmod, __pyx_n_u_enumerate, __pyx_n_u_filter, __pyx_n_u_float, __pyx_n_u_format, __pyx_n_u_frozenset, __pyx_n_u_hash, __pyx_n_u_hex, __pyx_n_u_int, __pyx_n_u_len, __pyx_n_u_list, __pyx_n_u_map, __pyx_n_u_max, __pyx_n_u_min, __pyx_n_u_oct, __pyx_n_u_ord, __pyx_n_u_pow, __pyx_n_u_range, __pyx_n_u_repr, __pyx_n_u_reversed, __pyx_n_u_round, __pyx_n_u_set, __pyx_n_u_slice, __pyx_n_u_sorted, __pyx_n_u_str, __pyx_n_u_sum, __pyx_n_u_tuple, __pyx_n_u_zip); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 115, __pyx_L1_error)
16457   __Pyx_GOTREF(__pyx_tuple__2);
16458   __Pyx_GIVEREF(__pyx_tuple__2);
16459 
16460   /* "Cython/Compiler/Scanning.py":161
16461  *     def set_file_type_from_name(self, filename):
16462  *         name, ext = os.path.splitext(filename)
16463  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'             # <<<<<<<<<<<<<<
16464  *
16465  *     def is_cython_file(self):
16466  */
16467   __pyx_slice__3 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__3)) __PYX_ERR(0, 161, __pyx_L1_error)
16468   __Pyx_GOTREF(__pyx_slice__3);
16469   __Pyx_GIVEREF(__pyx_slice__3);
16470 
16471   /* "Cython/Compiler/Scanning.py":172
16472  *         if self._escaped_description is None:
16473  *             esc_desc = \
16474  *                 self.get_description().encode('ASCII', 'replace').decode("ASCII")             # <<<<<<<<<<<<<<
16475  *             # Use forward slashes on Windows since these paths
16476  *             # will be used in the #line directives in the C/C++ files.
16477  */
16478   __pyx_tuple__4 = PyTuple_Pack(2, __pyx_n_u_ASCII, __pyx_n_u_replace); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 172, __pyx_L1_error)
16479   __Pyx_GOTREF(__pyx_tuple__4);
16480   __Pyx_GIVEREF(__pyx_tuple__4);
16481 
16482   /* "Cython/Compiler/Scanning.py":175
16483  *             # Use forward slashes on Windows since these paths
16484  *             # will be used in the #line directives in the C/C++ files.
16485  *             self._escaped_description = esc_desc.replace('\\', '/')             # <<<<<<<<<<<<<<
16486  *         return self._escaped_description
16487  *
16488  */
16489   __pyx_tuple__7 = PyTuple_Pack(2, __pyx_kp_u__5, __pyx_kp_u__6); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 175, __pyx_L1_error)
16490   __Pyx_GOTREF(__pyx_tuple__7);
16491   __Pyx_GIVEREF(__pyx_tuple__7);
16492 
16493   /* "Cython/Compiler/Scanning.py":236
16494  *             pass
16495  *
16496  *         with Utils.open_source_file(self.filename, encoding=encoding, error_handling=error_handling) as f:             # <<<<<<<<<<<<<<
16497  *             lines = list(f)
16498  *
16499  */
16500   __pyx_tuple__9 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 236, __pyx_L1_error)
16501   __Pyx_GOTREF(__pyx_tuple__9);
16502   __Pyx_GIVEREF(__pyx_tuple__9);
16503 
16504   /* "Cython/Compiler/Scanning.py":368
16505  *
16506  *     def strip_underscores(self, text, symbol):
16507  *         self.produce(symbol, text.replace('_', ''))             # <<<<<<<<<<<<<<
16508  *
16509  *     def current_level(self):
16510  */
16511   __pyx_tuple__13 = PyTuple_Pack(2, __pyx_n_u__12, __pyx_kp_u__11); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 368, __pyx_L1_error)
16512   __Pyx_GOTREF(__pyx_tuple__13);
16513   __Pyx_GIVEREF(__pyx_tuple__13);
16514 
16515   /* "Cython/Compiler/Scanning.py":394
16516  *
16517  *     def begin_string_action(self, text):
16518  *         while text[:1] in any_string_prefix:             # <<<<<<<<<<<<<<
16519  *             text = text[1:]
16520  *         self.begin(self.string_states[text])
16521  */
16522   __pyx_slice__14 = PySlice_New(Py_None, __pyx_int_1, Py_None); if (unlikely(!__pyx_slice__14)) __PYX_ERR(0, 394, __pyx_L1_error)
16523   __Pyx_GOTREF(__pyx_slice__14);
16524   __Pyx_GIVEREF(__pyx_slice__14);
16525 
16526   /* "Cython/Compiler/Scanning.py":522
16527  *
16528  *     def expect_indent(self):
16529  *         self.expect('INDENT', "Expected an increase in indentation level")             # <<<<<<<<<<<<<<
16530  *
16531  *     def expect_dedent(self):
16532  */
16533   __pyx_tuple__16 = PyTuple_Pack(2, __pyx_n_u_INDENT, __pyx_kp_u_Expected_an_increase_in_indentat); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 522, __pyx_L1_error)
16534   __Pyx_GOTREF(__pyx_tuple__16);
16535   __Pyx_GIVEREF(__pyx_tuple__16);
16536 
16537   /* "Cython/Compiler/Scanning.py":525
16538  *
16539  *     def expect_dedent(self):
16540  *         self.expect('DEDENT', "Expected a decrease in indentation level")             # <<<<<<<<<<<<<<
16541  *
16542  *     def expect_newline(self, message="Expected a newline", ignore_semicolon=False):
16543  */
16544   __pyx_tuple__17 = PyTuple_Pack(2, __pyx_n_u_DEDENT, __pyx_kp_u_Expected_a_decrease_in_indentati); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 525, __pyx_L1_error)
16545   __Pyx_GOTREF(__pyx_tuple__17);
16546   __Pyx_GIVEREF(__pyx_tuple__17);
16547 
16548   /* "Cython/Compiler/Scanning.py":66
16549  *         return method(text, **self.kwargs) if self.kwargs is not None else method(text)
16550  *
16551  *     def __copy__(self):             # <<<<<<<<<<<<<<
16552  *         return self  # immutable, no need to copy
16553  *
16554  */
16555   __pyx_tuple__19 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 66, __pyx_L1_error)
16556   __Pyx_GOTREF(__pyx_tuple__19);
16557   __Pyx_GIVEREF(__pyx_tuple__19);
16558   __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_copy, 66, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 66, __pyx_L1_error)
16559 
16560   /* "Cython/Compiler/Scanning.py":69
16561  *         return self  # immutable, no need to copy
16562  *
16563  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
16564  *         return self  # immutable, no need to copy
16565  *
16566  */
16567   __pyx_tuple__21 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_memo); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 69, __pyx_L1_error)
16568   __Pyx_GOTREF(__pyx_tuple__21);
16569   __Pyx_GIVEREF(__pyx_tuple__21);
16570   __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_deepcopy, 69, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 69, __pyx_L1_error)
16571 
16572   /* "Cython/Compiler/Scanning.py":81
16573  *         self.outer = outer
16574  *
16575  *     def declare(self, name, value):             # <<<<<<<<<<<<<<
16576  *         self.entries[name] = value
16577  *
16578  */
16579   __pyx_tuple__23 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 81, __pyx_L1_error)
16580   __Pyx_GOTREF(__pyx_tuple__23);
16581   __Pyx_GIVEREF(__pyx_tuple__23);
16582   __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_declare, 81, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 81, __pyx_L1_error)
16583 
16584   /* "Cython/Compiler/Scanning.py":84
16585  *         self.entries[name] = value
16586  *
16587  *     def update(self, other):             # <<<<<<<<<<<<<<
16588  *         self.entries.update(other)
16589  *
16590  */
16591   __pyx_tuple__25 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 84, __pyx_L1_error)
16592   __Pyx_GOTREF(__pyx_tuple__25);
16593   __Pyx_GIVEREF(__pyx_tuple__25);
16594   __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_update, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 84, __pyx_L1_error)
16595 
16596   /* "Cython/Compiler/Scanning.py":87
16597  *         self.entries.update(other)
16598  *
16599  *     def lookup_here(self, name):             # <<<<<<<<<<<<<<
16600  *         return self.entries[name]
16601  *
16602  */
16603   __pyx_tuple__27 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 87, __pyx_L1_error)
16604   __Pyx_GOTREF(__pyx_tuple__27);
16605   __Pyx_GIVEREF(__pyx_tuple__27);
16606   __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_lookup_here, 87, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 87, __pyx_L1_error)
16607 
16608   /* "Cython/Compiler/Scanning.py":93
16609  *         return name in self.entries
16610  *
16611  *     def lookup(self, name):             # <<<<<<<<<<<<<<
16612  *         try:
16613  *             return self.lookup_here(name)
16614  */
16615   __pyx_tuple__29 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_outer); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 93, __pyx_L1_error)
16616   __Pyx_GOTREF(__pyx_tuple__29);
16617   __Pyx_GIVEREF(__pyx_tuple__29);
16618   __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_lookup, 93, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 93, __pyx_L1_error)
16619 
16620   /* "Cython/Compiler/Scanning.py":146
16621  * #------------------------------------------------------------------
16622  *
16623  * class SourceDescriptor(object):             # <<<<<<<<<<<<<<
16624  *     """
16625  *     A SourceDescriptor should be considered immutable.
16626  */
16627   __pyx_tuple__31 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 146, __pyx_L1_error)
16628   __Pyx_GOTREF(__pyx_tuple__31);
16629   __Pyx_GIVEREF(__pyx_tuple__31);
16630 
16631   /* "Cython/Compiler/Scanning.py":156
16632  *     _escaped_description = None
16633  *     _cmp_name = ''
16634  *     def __str__(self):             # <<<<<<<<<<<<<<
16635  *         assert False # To catch all places where a descriptor is used directly as a filename
16636  *
16637  */
16638   __pyx_tuple__32 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 156, __pyx_L1_error)
16639   __Pyx_GOTREF(__pyx_tuple__32);
16640   __Pyx_GIVEREF(__pyx_tuple__32);
16641   __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_str_2, 156, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 156, __pyx_L1_error)
16642 
16643   /* "Cython/Compiler/Scanning.py":159
16644  *         assert False # To catch all places where a descriptor is used directly as a filename
16645  *
16646  *     def set_file_type_from_name(self, filename):             # <<<<<<<<<<<<<<
16647  *         name, ext = os.path.splitext(filename)
16648  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
16649  */
16650   __pyx_tuple__34 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_filename, __pyx_n_s_name, __pyx_n_s_ext); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 159, __pyx_L1_error)
16651   __Pyx_GOTREF(__pyx_tuple__34);
16652   __Pyx_GIVEREF(__pyx_tuple__34);
16653   __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_set_file_type_from_name, 159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 159, __pyx_L1_error)
16654 
16655   /* "Cython/Compiler/Scanning.py":163
16656  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
16657  *
16658  *     def is_cython_file(self):             # <<<<<<<<<<<<<<
16659  *         return self._file_type in ('pyx', 'pxd')
16660  *
16661  */
16662   __pyx_tuple__36 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 163, __pyx_L1_error)
16663   __Pyx_GOTREF(__pyx_tuple__36);
16664   __Pyx_GIVEREF(__pyx_tuple__36);
16665   __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_is_cython_file, 163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 163, __pyx_L1_error)
16666 
16667   /* "Cython/Compiler/Scanning.py":166
16668  *         return self._file_type in ('pyx', 'pxd')
16669  *
16670  *     def is_python_file(self):             # <<<<<<<<<<<<<<
16671  *         return self._file_type == 'py'
16672  *
16673  */
16674   __pyx_tuple__38 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 166, __pyx_L1_error)
16675   __Pyx_GOTREF(__pyx_tuple__38);
16676   __Pyx_GIVEREF(__pyx_tuple__38);
16677   __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_is_python_file, 166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 166, __pyx_L1_error)
16678 
16679   /* "Cython/Compiler/Scanning.py":169
16680  *         return self._file_type == 'py'
16681  *
16682  *     def get_escaped_description(self):             # <<<<<<<<<<<<<<
16683  *         if self._escaped_description is None:
16684  *             esc_desc = \
16685  */
16686   __pyx_tuple__40 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_esc_desc); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 169, __pyx_L1_error)
16687   __Pyx_GOTREF(__pyx_tuple__40);
16688   __Pyx_GIVEREF(__pyx_tuple__40);
16689   __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_escaped_description, 169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 169, __pyx_L1_error)
16690 
16691   /* "Cython/Compiler/Scanning.py":178
16692  *         return self._escaped_description
16693  *
16694  *     def __gt__(self, other):             # <<<<<<<<<<<<<<
16695  *         # this is only used to provide some sort of order
16696  *         try:
16697  */
16698   __pyx_tuple__42 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 178, __pyx_L1_error)
16699   __Pyx_GOTREF(__pyx_tuple__42);
16700   __Pyx_GIVEREF(__pyx_tuple__42);
16701   __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_gt, 178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 178, __pyx_L1_error)
16702 
16703   /* "Cython/Compiler/Scanning.py":185
16704  *             return False
16705  *
16706  *     def __lt__(self, other):             # <<<<<<<<<<<<<<
16707  *         # this is only used to provide some sort of order
16708  *         try:
16709  */
16710   __pyx_tuple__44 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 185, __pyx_L1_error)
16711   __Pyx_GOTREF(__pyx_tuple__44);
16712   __Pyx_GIVEREF(__pyx_tuple__44);
16713   __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_lt, 185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 185, __pyx_L1_error)
16714 
16715   /* "Cython/Compiler/Scanning.py":192
16716  *             return False
16717  *
16718  *     def __le__(self, other):             # <<<<<<<<<<<<<<
16719  *         # this is only used to provide some sort of order
16720  *         try:
16721  */
16722   __pyx_tuple__46 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 192, __pyx_L1_error)
16723   __Pyx_GOTREF(__pyx_tuple__46);
16724   __Pyx_GIVEREF(__pyx_tuple__46);
16725   __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_le, 192, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 192, __pyx_L1_error)
16726 
16727   /* "Cython/Compiler/Scanning.py":199
16728  *             return False
16729  *
16730  *     def __copy__(self):             # <<<<<<<<<<<<<<
16731  *         return self  # immutable, no need to copy
16732  *
16733  */
16734   __pyx_tuple__48 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 199, __pyx_L1_error)
16735   __Pyx_GOTREF(__pyx_tuple__48);
16736   __Pyx_GIVEREF(__pyx_tuple__48);
16737   __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_copy, 199, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 199, __pyx_L1_error)
16738 
16739   /* "Cython/Compiler/Scanning.py":202
16740  *         return self  # immutable, no need to copy
16741  *
16742  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
16743  *         return self  # immutable, no need to copy
16744  *
16745  */
16746   __pyx_tuple__50 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_memo); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 202, __pyx_L1_error)
16747   __Pyx_GOTREF(__pyx_tuple__50);
16748   __Pyx_GIVEREF(__pyx_tuple__50);
16749   __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_deepcopy, 202, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 202, __pyx_L1_error)
16750 
16751   /* "Cython/Compiler/Scanning.py":214
16752  *     the position()-tuple.
16753  *     """
16754  *     def __init__(self, filename, path_description=None):             # <<<<<<<<<<<<<<
16755  *         filename = Utils.decode_filename(filename)
16756  *         self.path_description = path_description or filename
16757  */
16758   __pyx_tuple__52 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_filename, __pyx_n_s_path_description, __pyx_n_s_workdir); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 214, __pyx_L1_error)
16759   __Pyx_GOTREF(__pyx_tuple__52);
16760   __Pyx_GIVEREF(__pyx_tuple__52);
16761   __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_init, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 214, __pyx_L1_error)
16762   __pyx_tuple__54 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 214, __pyx_L1_error)
16763   __Pyx_GOTREF(__pyx_tuple__54);
16764   __Pyx_GIVEREF(__pyx_tuple__54);
16765 
16766   /* "Cython/Compiler/Scanning.py":225
16767  *         self._lines = {}
16768  *
16769  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
16770  *         # we cache the lines only the second time this is called, in
16771  *         # order to save memory when they are only used once
16772  */
16773   __pyx_tuple__55 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_encoding, __pyx_n_s_error_handling, __pyx_n_s_key, __pyx_n_s_lines_2, __pyx_n_s_f); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 225, __pyx_L1_error)
16774   __Pyx_GOTREF(__pyx_tuple__55);
16775   __Pyx_GIVEREF(__pyx_tuple__55);
16776   __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_lines, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 225, __pyx_L1_error)
16777   __pyx_tuple__57 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 225, __pyx_L1_error)
16778   __Pyx_GOTREF(__pyx_tuple__57);
16779   __Pyx_GIVEREF(__pyx_tuple__57);
16780 
16781   /* "Cython/Compiler/Scanning.py":247
16782  *         return lines
16783  *
16784  *     def get_description(self):             # <<<<<<<<<<<<<<
16785  *         try:
16786  *             return os.path.relpath(self.path_description)
16787  */
16788   __pyx_tuple__58 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 247, __pyx_L1_error)
16789   __Pyx_GOTREF(__pyx_tuple__58);
16790   __Pyx_GIVEREF(__pyx_tuple__58);
16791   __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_description, 247, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 247, __pyx_L1_error)
16792 
16793   /* "Cython/Compiler/Scanning.py":254
16794  *             return self.path_description
16795  *
16796  *     def get_error_description(self):             # <<<<<<<<<<<<<<
16797  *         path = self.filename
16798  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
16799  */
16800   __pyx_tuple__60 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_path, __pyx_n_s_cwd); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 254, __pyx_L1_error)
16801   __Pyx_GOTREF(__pyx_tuple__60);
16802   __Pyx_GIVEREF(__pyx_tuple__60);
16803   __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_error_description, 254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 254, __pyx_L1_error)
16804 
16805   /* "Cython/Compiler/Scanning.py":261
16806  *         return path
16807  *
16808  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
16809  *         return self.file_path
16810  *
16811  */
16812   __pyx_tuple__62 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 261, __pyx_L1_error)
16813   __Pyx_GOTREF(__pyx_tuple__62);
16814   __Pyx_GIVEREF(__pyx_tuple__62);
16815   __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_filenametable_entry, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 261, __pyx_L1_error)
16816 
16817   /* "Cython/Compiler/Scanning.py":264
16818  *         return self.file_path
16819  *
16820  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
16821  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
16822  *
16823  */
16824   __pyx_tuple__64 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 264, __pyx_L1_error)
16825   __Pyx_GOTREF(__pyx_tuple__64);
16826   __Pyx_GIVEREF(__pyx_tuple__64);
16827   __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_eq, 264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 264, __pyx_L1_error)
16828 
16829   /* "Cython/Compiler/Scanning.py":267
16830  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
16831  *
16832  *     def __hash__(self):             # <<<<<<<<<<<<<<
16833  *         return hash(self.filename)
16834  *
16835  */
16836   __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 267, __pyx_L1_error)
16837   __Pyx_GOTREF(__pyx_tuple__66);
16838   __Pyx_GIVEREF(__pyx_tuple__66);
16839   __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_hash_2, 267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 267, __pyx_L1_error)
16840 
16841   /* "Cython/Compiler/Scanning.py":270
16842  *         return hash(self.filename)
16843  *
16844  *     def __repr__(self):             # <<<<<<<<<<<<<<
16845  *         return "<FileSourceDescriptor:%s>" % self.filename
16846  *
16847  */
16848   __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 270, __pyx_L1_error)
16849   __Pyx_GOTREF(__pyx_tuple__68);
16850   __Pyx_GIVEREF(__pyx_tuple__68);
16851   __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_repr_2, 270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 270, __pyx_L1_error)
16852 
16853   /* "Cython/Compiler/Scanning.py":279
16854  *     code originates from a string object.
16855  *     """
16856  *     def __init__(self, name, code):             # <<<<<<<<<<<<<<
16857  *         self.name = name
16858  *         #self.set_file_type_from_name(name)
16859  */
16860   __pyx_tuple__70 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_code, __pyx_n_s_x); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 279, __pyx_L1_error)
16861   __Pyx_GOTREF(__pyx_tuple__70);
16862   __Pyx_GIVEREF(__pyx_tuple__70);
16863   __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_init, 279, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 279, __pyx_L1_error)
16864 
16865   /* "Cython/Compiler/Scanning.py":285
16866  *         self._cmp_name = name
16867  *
16868  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
16869  *         if not encoding:
16870  *             return self.codelines
16871  */
16872   __pyx_tuple__72 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_encoding, __pyx_n_s_error_handling, __pyx_n_s_line); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(0, 285, __pyx_L1_error)
16873   __Pyx_GOTREF(__pyx_tuple__72);
16874   __Pyx_GIVEREF(__pyx_tuple__72);
16875   __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_lines, 285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(0, 285, __pyx_L1_error)
16876   __pyx_tuple__74 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 285, __pyx_L1_error)
16877   __Pyx_GOTREF(__pyx_tuple__74);
16878   __Pyx_GIVEREF(__pyx_tuple__74);
16879 
16880   /* "Cython/Compiler/Scanning.py":292
16881  *                     for line in self.codelines]
16882  *
16883  *     def get_description(self):             # <<<<<<<<<<<<<<
16884  *         return self.name
16885  *
16886  */
16887   __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 292, __pyx_L1_error)
16888   __Pyx_GOTREF(__pyx_tuple__75);
16889   __Pyx_GIVEREF(__pyx_tuple__75);
16890   __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_description, 292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 292, __pyx_L1_error)
16891 
16892   /* "Cython/Compiler/Scanning.py":297
16893  *     get_error_description = get_description
16894  *
16895  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
16896  *         return "stringsource"
16897  *
16898  */
16899   __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 297, __pyx_L1_error)
16900   __Pyx_GOTREF(__pyx_tuple__77);
16901   __Pyx_GIVEREF(__pyx_tuple__77);
16902   __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_get_filenametable_entry, 297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 297, __pyx_L1_error)
16903 
16904   /* "Cython/Compiler/Scanning.py":300
16905  *         return "stringsource"
16906  *
16907  *     def __hash__(self):             # <<<<<<<<<<<<<<
16908  *         return id(self)
16909  *         # Do not hash on the name, an identical string source should be the
16910  */
16911   __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 300, __pyx_L1_error)
16912   __Pyx_GOTREF(__pyx_tuple__79);
16913   __Pyx_GIVEREF(__pyx_tuple__79);
16914   __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_hash_2, 300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 300, __pyx_L1_error)
16915 
16916   /* "Cython/Compiler/Scanning.py":306
16917  *         # return hash(self.name)
16918  *
16919  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
16920  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
16921  *
16922  */
16923   __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 306, __pyx_L1_error)
16924   __Pyx_GOTREF(__pyx_tuple__81);
16925   __Pyx_GIVEREF(__pyx_tuple__81);
16926   __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_eq, 306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(0, 306, __pyx_L1_error)
16927 
16928   /* "Cython/Compiler/Scanning.py":309
16929  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
16930  *
16931  *     def __repr__(self):             # <<<<<<<<<<<<<<
16932  *         return "<StringSourceDescriptor:%s>" % self.name
16933  *
16934  */
16935   __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 309, __pyx_L1_error)
16936   __Pyx_GOTREF(__pyx_tuple__83);
16937   __Pyx_GIVEREF(__pyx_tuple__83);
16938   __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_repr_2, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 309, __pyx_L1_error)
16939 
16940   /* "Cython/Compiler/Scanning.py":363
16941  *         self.next()
16942  *
16943  *     def commentline(self, text):             # <<<<<<<<<<<<<<
16944  *         if self.parse_comments:
16945  *             self.produce('commentline', text)
16946  */
16947   __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 363, __pyx_L1_error)
16948   __Pyx_GOTREF(__pyx_tuple__85);
16949   __Pyx_GIVEREF(__pyx_tuple__85);
16950   __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_commentline, 363, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(0, 363, __pyx_L1_error)
16951 
16952   /* "Cython/Compiler/Scanning.py":367
16953  *             self.produce('commentline', text)
16954  *
16955  *     def strip_underscores(self, text, symbol):             # <<<<<<<<<<<<<<
16956  *         self.produce(symbol, text.replace('_', ''))
16957  *
16958  */
16959   __pyx_tuple__87 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_text, __pyx_n_s_symbol); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 367, __pyx_L1_error)
16960   __Pyx_GOTREF(__pyx_tuple__87);
16961   __Pyx_GIVEREF(__pyx_tuple__87);
16962   __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_strip_underscores, 367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(0, 367, __pyx_L1_error)
16963 
16964   /* "Cython/Compiler/Scanning.py":373
16965  *         return self.indentation_stack[-1]
16966  *
16967  *     def open_bracket_action(self, text):             # <<<<<<<<<<<<<<
16968  *         self.bracket_nesting_level += 1
16969  *         return text
16970  */
16971   __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 373, __pyx_L1_error)
16972   __Pyx_GOTREF(__pyx_tuple__89);
16973   __Pyx_GIVEREF(__pyx_tuple__89);
16974   __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_open_bracket_action, 373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) __PYX_ERR(0, 373, __pyx_L1_error)
16975 
16976   /* "Cython/Compiler/Scanning.py":377
16977  *         return text
16978  *
16979  *     def close_bracket_action(self, text):             # <<<<<<<<<<<<<<
16980  *         self.bracket_nesting_level -= 1
16981  *         return text
16982  */
16983   __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 377, __pyx_L1_error)
16984   __Pyx_GOTREF(__pyx_tuple__91);
16985   __Pyx_GIVEREF(__pyx_tuple__91);
16986   __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_close_bracket_action, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(0, 377, __pyx_L1_error)
16987 
16988   /* "Cython/Compiler/Scanning.py":381
16989  *         return text
16990  *
16991  *     def newline_action(self, text):             # <<<<<<<<<<<<<<
16992  *         if self.bracket_nesting_level == 0:
16993  *             self.begin('INDENT')
16994  */
16995   __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 381, __pyx_L1_error)
16996   __Pyx_GOTREF(__pyx_tuple__93);
16997   __Pyx_GIVEREF(__pyx_tuple__93);
16998   __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_newline_action, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) __PYX_ERR(0, 381, __pyx_L1_error)
16999 
17000   /* "Cython/Compiler/Scanning.py":393
17001  *     }
17002  *
17003  *     def begin_string_action(self, text):             # <<<<<<<<<<<<<<
17004  *         while text[:1] in any_string_prefix:
17005  *             text = text[1:]
17006  */
17007   __pyx_tuple__98 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 393, __pyx_L1_error)
17008   __Pyx_GOTREF(__pyx_tuple__98);
17009   __Pyx_GIVEREF(__pyx_tuple__98);
17010   __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_begin_string_action, 393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) __PYX_ERR(0, 393, __pyx_L1_error)
17011 
17012   /* "Cython/Compiler/Scanning.py":399
17013  *         self.produce('BEGIN_STRING')
17014  *
17015  *     def end_string_action(self, text):             # <<<<<<<<<<<<<<
17016  *         self.begin('')
17017  *         self.produce('END_STRING')
17018  */
17019   __pyx_tuple__100 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 399, __pyx_L1_error)
17020   __Pyx_GOTREF(__pyx_tuple__100);
17021   __Pyx_GIVEREF(__pyx_tuple__100);
17022   __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_end_string_action, 399, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) __PYX_ERR(0, 399, __pyx_L1_error)
17023 
17024   /* "Cython/Compiler/Scanning.py":403
17025  *         self.produce('END_STRING')
17026  *
17027  *     def unclosed_string_action(self, text):             # <<<<<<<<<<<<<<
17028  *         self.end_string_action(text)
17029  *         self.error("Unclosed string literal")
17030  */
17031   __pyx_tuple__102 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 403, __pyx_L1_error)
17032   __Pyx_GOTREF(__pyx_tuple__102);
17033   __Pyx_GIVEREF(__pyx_tuple__102);
17034   __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_unclosed_string_action, 403, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) __PYX_ERR(0, 403, __pyx_L1_error)
17035 
17036   /* "Cython/Compiler/Scanning.py":407
17037  *         self.error("Unclosed string literal")
17038  *
17039  *     def indentation_action(self, text):             # <<<<<<<<<<<<<<
17040  *         self.begin('')
17041  *         # Indentation within brackets should be ignored.
17042  */
17043   __pyx_tuple__104 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 407, __pyx_L1_error)
17044   __Pyx_GOTREF(__pyx_tuple__104);
17045   __Pyx_GIVEREF(__pyx_tuple__104);
17046   __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_indentation_action, 407, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) __PYX_ERR(0, 407, __pyx_L1_error)
17047 
17048   /* "Cython/Compiler/Scanning.py":443
17049  *                 self.error("Inconsistent indentation")
17050  *
17051  *     def eof_action(self, text):             # <<<<<<<<<<<<<<
17052  *         while len(self.indentation_stack) > 1:
17053  *             self.produce('DEDENT', '')
17054  */
17055   __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_text); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 443, __pyx_L1_error)
17056   __Pyx_GOTREF(__pyx_tuple__106);
17057   __Pyx_GIVEREF(__pyx_tuple__106);
17058   __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_eof_action, 443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(0, 443, __pyx_L1_error)
17059 
17060   /* "Cython/Compiler/Scanning.py":449
17061  *         self.produce('EOF', '')
17062  *
17063  *     def next(self):             # <<<<<<<<<<<<<<
17064  *         try:
17065  *             sy, systring = self.read()
17066  */
17067   __pyx_tuple__108 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_sy, __pyx_n_s_systring); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 449, __pyx_L1_error)
17068   __Pyx_GOTREF(__pyx_tuple__108);
17069   __Pyx_GIVEREF(__pyx_tuple__108);
17070   __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_next, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) __PYX_ERR(0, 449, __pyx_L1_error)
17071 
17072   /* "Cython/Compiler/Scanning.py":474
17073  *             print("--- %3d %2d %s" % (line, col, t))
17074  *
17075  *     def peek(self):             # <<<<<<<<<<<<<<
17076  *         saved = self.sy, self.systring
17077  *         self.next()
17078  */
17079   __pyx_tuple__110 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_saved, __pyx_n_s_next); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 474, __pyx_L1_error)
17080   __Pyx_GOTREF(__pyx_tuple__110);
17081   __Pyx_GIVEREF(__pyx_tuple__110);
17082   __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_peek, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(0, 474, __pyx_L1_error)
17083 
17084   /* "Cython/Compiler/Scanning.py":482
17085  *         return next
17086  *
17087  *     def put_back(self, sy, systring):             # <<<<<<<<<<<<<<
17088  *         self.unread(self.sy, self.systring)
17089  *         self.sy = sy
17090  */
17091   __pyx_tuple__112 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_sy, __pyx_n_s_systring); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 482, __pyx_L1_error)
17092   __Pyx_GOTREF(__pyx_tuple__112);
17093   __Pyx_GIVEREF(__pyx_tuple__112);
17094   __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_put_back, 482, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) __PYX_ERR(0, 482, __pyx_L1_error)
17095 
17096   /* "Cython/Compiler/Scanning.py":487
17097  *         self.systring = systring
17098  *
17099  *     def unread(self, token, value):             # <<<<<<<<<<<<<<
17100  *         # This method should be added to Plex
17101  *         self.queue.insert(0, (token, value))
17102  */
17103   __pyx_tuple__114 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_token, __pyx_n_s_value); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 487, __pyx_L1_error)
17104   __Pyx_GOTREF(__pyx_tuple__114);
17105   __Pyx_GIVEREF(__pyx_tuple__114);
17106   __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_unread, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) __PYX_ERR(0, 487, __pyx_L1_error)
17107 
17108   /* "Cython/Compiler/Scanning.py":491
17109  *         self.queue.insert(0, (token, value))
17110  *
17111  *     def error(self, message, pos=None, fatal=True):             # <<<<<<<<<<<<<<
17112  *         if pos is None:
17113  *             pos = self.position()
17114  */
17115   __pyx_tuple__116 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_pos, __pyx_n_s_fatal, __pyx_n_s_err); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 491, __pyx_L1_error)
17116   __Pyx_GOTREF(__pyx_tuple__116);
17117   __Pyx_GIVEREF(__pyx_tuple__116);
17118   __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_error, 491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) __PYX_ERR(0, 491, __pyx_L1_error)
17119 
17120   /* "Cython/Compiler/Scanning.py":499
17121  *         if fatal: raise err
17122  *
17123  *     def expect(self, what, message=None):             # <<<<<<<<<<<<<<
17124  *         if self.sy == what:
17125  *             self.next()
17126  */
17127   __pyx_tuple__118 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_what, __pyx_n_s_message); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 499, __pyx_L1_error)
17128   __Pyx_GOTREF(__pyx_tuple__118);
17129   __Pyx_GIVEREF(__pyx_tuple__118);
17130   __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_expect, 499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) __PYX_ERR(0, 499, __pyx_L1_error)
17131 
17132   /* "Cython/Compiler/Scanning.py":505
17133  *             self.expected(what, message)
17134  *
17135  *     def expect_keyword(self, what, message=None):             # <<<<<<<<<<<<<<
17136  *         if self.sy == IDENT and self.systring == what:
17137  *             self.next()
17138  */
17139   __pyx_tuple__120 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_what, __pyx_n_s_message); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 505, __pyx_L1_error)
17140   __Pyx_GOTREF(__pyx_tuple__120);
17141   __Pyx_GIVEREF(__pyx_tuple__120);
17142   __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_expect_keyword, 505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(0, 505, __pyx_L1_error)
17143 
17144   /* "Cython/Compiler/Scanning.py":511
17145  *             self.expected(what, message)
17146  *
17147  *     def expected(self, what, message=None):             # <<<<<<<<<<<<<<
17148  *         if message:
17149  *             self.error(message)
17150  */
17151   __pyx_tuple__122 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_what, __pyx_n_s_message, __pyx_n_s_found_2); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 511, __pyx_L1_error)
17152   __Pyx_GOTREF(__pyx_tuple__122);
17153   __Pyx_GIVEREF(__pyx_tuple__122);
17154   __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_expected, 511, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) __PYX_ERR(0, 511, __pyx_L1_error)
17155 
17156   /* "Cython/Compiler/Scanning.py":521
17157  *             self.error("Expected '%s', found '%s'" % (what, found))
17158  *
17159  *     def expect_indent(self):             # <<<<<<<<<<<<<<
17160  *         self.expect('INDENT', "Expected an increase in indentation level")
17161  *
17162  */
17163   __pyx_tuple__124 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 521, __pyx_L1_error)
17164   __Pyx_GOTREF(__pyx_tuple__124);
17165   __Pyx_GIVEREF(__pyx_tuple__124);
17166   __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_expect_indent, 521, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) __PYX_ERR(0, 521, __pyx_L1_error)
17167 
17168   /* "Cython/Compiler/Scanning.py":524
17169  *         self.expect('INDENT', "Expected an increase in indentation level")
17170  *
17171  *     def expect_dedent(self):             # <<<<<<<<<<<<<<
17172  *         self.expect('DEDENT', "Expected a decrease in indentation level")
17173  *
17174  */
17175   __pyx_tuple__126 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 524, __pyx_L1_error)
17176   __Pyx_GOTREF(__pyx_tuple__126);
17177   __Pyx_GIVEREF(__pyx_tuple__126);
17178   __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_expect_dedent, 524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) __PYX_ERR(0, 524, __pyx_L1_error)
17179 
17180   /* "Cython/Compiler/Scanning.py":527
17181  *         self.expect('DEDENT', "Expected a decrease in indentation level")
17182  *
17183  *     def expect_newline(self, message="Expected a newline", ignore_semicolon=False):             # <<<<<<<<<<<<<<
17184  *         # Expect either a newline or end of file
17185  *         useless_trailing_semicolon = None
17186  */
17187   __pyx_tuple__128 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_ignore_semicolon, __pyx_n_s_useless_trailing_semicolon_2); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 527, __pyx_L1_error)
17188   __Pyx_GOTREF(__pyx_tuple__128);
17189   __Pyx_GIVEREF(__pyx_tuple__128);
17190   __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_expect_newline, 527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) __PYX_ERR(0, 527, __pyx_L1_error)
17191 
17192   /* "Cython/Compiler/Scanning.py":538
17193  *             warning(useless_trailing_semicolon, "useless trailing semicolon")
17194  *
17195  *     def enter_async(self):             # <<<<<<<<<<<<<<
17196  *         self.async_enabled += 1
17197  *         if self.async_enabled == 1:
17198  */
17199   __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 538, __pyx_L1_error)
17200   __Pyx_GOTREF(__pyx_tuple__130);
17201   __Pyx_GIVEREF(__pyx_tuple__130);
17202   __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_enter_async, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(0, 538, __pyx_L1_error)
17203 
17204   /* "Cython/Compiler/Scanning.py":544
17205  *             self.keywords.add('await')
17206  *
17207  *     def exit_async(self):             # <<<<<<<<<<<<<<
17208  *         assert self.async_enabled > 0
17209  *         self.async_enabled -= 1
17210  */
17211   __pyx_tuple__132 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 544, __pyx_L1_error)
17212   __Pyx_GOTREF(__pyx_tuple__132);
17213   __Pyx_GIVEREF(__pyx_tuple__132);
17214   __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Cython_Compiler_Scanning_py, __pyx_n_s_exit_async, 544, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) __PYX_ERR(0, 544, __pyx_L1_error)
17215   __Pyx_RefNannyFinishContext();
17216   return 0;
17217   __pyx_L1_error:;
17218   __Pyx_RefNannyFinishContext();
17219   return -1;
17220 }
17221 
__Pyx_InitGlobals(void)17222 static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
17223   __pyx_umethod_PyList_Type_pop.type = (PyObject*)&PyList_Type;
17224   if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
17225   __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
17226   __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
17227   __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error)
17228   return 0;
17229   __pyx_L1_error:;
17230   return -1;
17231 }
17232 
17233 static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
17234 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
17235 static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
17236 static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
17237 static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
17238 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
17239 static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
17240 
__Pyx_modinit_global_init_code(void)17241 static int __Pyx_modinit_global_init_code(void) {
17242   __Pyx_RefNannyDeclarations
17243   __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
17244   /*--- Global init code ---*/
17245   __pyx_v_6Cython_8Compiler_8Scanning_any_string_prefix = ((PyObject*)Py_None); Py_INCREF(Py_None);
17246   __pyx_v_6Cython_8Compiler_8Scanning_IDENT = ((PyObject*)Py_None); Py_INCREF(Py_None);
17247   __pyx_v_6Cython_8Compiler_8Scanning_make_lexicon = Py_None; Py_INCREF(Py_None);
17248   __pyx_v_6Cython_8Compiler_8Scanning_lexicon = Py_None; Py_INCREF(Py_None);
17249   __pyx_v_6Cython_8Compiler_8Scanning_print_function = Py_None; Py_INCREF(Py_None);
17250   __pyx_v_6Cython_8Compiler_8Scanning_error = Py_None; Py_INCREF(Py_None);
17251   __pyx_v_6Cython_8Compiler_8Scanning_warning = Py_None; Py_INCREF(Py_None);
17252   __pyx_v_6Cython_8Compiler_8Scanning_os = Py_None; Py_INCREF(Py_None);
17253   __pyx_v_6Cython_8Compiler_8Scanning_platform = Py_None; Py_INCREF(Py_None);
17254   __Pyx_RefNannyFinishContext();
17255   return 0;
17256 }
17257 
__Pyx_modinit_variable_export_code(void)17258 static int __Pyx_modinit_variable_export_code(void) {
17259   __Pyx_RefNannyDeclarations
17260   int __pyx_lineno = 0;
17261   const char *__pyx_filename = NULL;
17262   int __pyx_clineno = 0;
17263   __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
17264   /*--- Variable export code ---*/
17265   if (__Pyx_ExportVoidPtr(__pyx_n_s_any_string_prefix, (void *)&__pyx_v_6Cython_8Compiler_8Scanning_any_string_prefix, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17266   if (__Pyx_ExportVoidPtr(__pyx_n_s_IDENT, (void *)&__pyx_v_6Cython_8Compiler_8Scanning_IDENT, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17267   __Pyx_RefNannyFinishContext();
17268   return 0;
17269   __pyx_L1_error:;
17270   __Pyx_RefNannyFinishContext();
17271   return -1;
17272 }
17273 
__Pyx_modinit_function_export_code(void)17274 static int __Pyx_modinit_function_export_code(void) {
17275   __Pyx_RefNannyDeclarations
17276   int __pyx_lineno = 0;
17277   const char *__pyx_filename = NULL;
17278   int __pyx_clineno = 0;
17279   __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
17280   /*--- Function export code ---*/
17281   if (__Pyx_ExportFunction("get_lexicon", (void (*)(void))__pyx_f_6Cython_8Compiler_8Scanning_get_lexicon, "PyObject *(void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17282   if (__Pyx_ExportFunction("initial_compile_time_env", (void (*)(void))__pyx_f_6Cython_8Compiler_8Scanning_initial_compile_time_env, "PyObject *(void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17283   __Pyx_RefNannyFinishContext();
17284   return 0;
17285   __pyx_L1_error:;
17286   __Pyx_RefNannyFinishContext();
17287   return -1;
17288 }
17289 
__Pyx_modinit_type_init_code(void)17290 static int __Pyx_modinit_type_init_code(void) {
17291   __Pyx_RefNannyDeclarations
17292   PyObject *__pyx_t_1 = NULL;
17293   int __pyx_lineno = 0;
17294   const char *__pyx_filename = NULL;
17295   int __pyx_clineno = 0;
17296   __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
17297   /*--- Type init code ---*/
17298   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_8Scanning_Method) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
17299   #if PY_VERSION_HEX < 0x030800B1
17300   __pyx_type_6Cython_8Compiler_8Scanning_Method.tp_print = 0;
17301   #endif
17302   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_8Scanning_Method.tp_dictoffset && __pyx_type_6Cython_8Compiler_8Scanning_Method.tp_getattro == PyObject_GenericGetAttr)) {
17303     __pyx_type_6Cython_8Compiler_8Scanning_Method.tp_getattro = __Pyx_PyObject_GenericGetAttr;
17304   }
17305   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Method, (PyObject *)&__pyx_type_6Cython_8Compiler_8Scanning_Method) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
17306   __pyx_ptype_6Cython_8Compiler_8Scanning_Method = &__pyx_type_6Cython_8Compiler_8Scanning_Method;
17307   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
17308   #if PY_VERSION_HEX < 0x030800B1
17309   __pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope.tp_print = 0;
17310   #endif
17311   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope.tp_dictoffset && __pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope.tp_getattro == PyObject_GenericGetAttr)) {
17312     __pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
17313   }
17314   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CompileTimeScope, (PyObject *)&__pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
17315   __pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope = &__pyx_type_6Cython_8Compiler_8Scanning_CompileTimeScope;
17316   __pyx_t_1 = PyImport_ImportModule("Cython.Plex.Scanners"); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
17317   __Pyx_GOTREF(__pyx_t_1);
17318   __pyx_ptype_6Cython_4Plex_8Scanners_Scanner = __Pyx_ImportType(__pyx_t_1, "Cython.Plex.Scanners", "Scanner", sizeof(struct __pyx_obj_6Cython_4Plex_8Scanners_Scanner), __Pyx_ImportType_CheckSize_Warn);
17319    if (!__pyx_ptype_6Cython_4Plex_8Scanners_Scanner) __PYX_ERR(0, 1, __pyx_L1_error)
17320   __pyx_vtabptr_6Cython_4Plex_8Scanners_Scanner = (struct __pyx_vtabstruct_6Cython_4Plex_8Scanners_Scanner*)__Pyx_GetVtable(__pyx_ptype_6Cython_4Plex_8Scanners_Scanner->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_4Plex_8Scanners_Scanner)) __PYX_ERR(0, 1, __pyx_L1_error)
17321   __pyx_vtabptr_6Cython_8Compiler_8Scanning_PyrexScanner = &__pyx_vtable_6Cython_8Compiler_8Scanning_PyrexScanner;
17322   __pyx_vtable_6Cython_8Compiler_8Scanning_PyrexScanner.__pyx_base = *__pyx_vtabptr_6Cython_4Plex_8Scanners_Scanner;
17323   __pyx_vtable_6Cython_8Compiler_8Scanning_PyrexScanner.current_level = (long (*)(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *))__pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_current_level;
17324   __pyx_vtable_6Cython_8Compiler_8Scanning_PyrexScanner.indentation_action = (PyObject *(*)(struct __pyx_obj_6Cython_8Compiler_8Scanning_PyrexScanner *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6Cython_8Compiler_8Scanning_12PyrexScanner_indentation_action;
17325   __pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner.tp_base = __pyx_ptype_6Cython_4Plex_8Scanners_Scanner;
17326   if (PyType_Ready(&__pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
17327   #if PY_VERSION_HEX < 0x030800B1
17328   __pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner.tp_print = 0;
17329   #endif
17330   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner.tp_dictoffset && __pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner.tp_getattro == PyObject_GenericGetAttr)) {
17331     __pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
17332   }
17333   if (__Pyx_SetVtable(__pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner.tp_dict, __pyx_vtabptr_6Cython_8Compiler_8Scanning_PyrexScanner) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
17334   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PyrexScanner, (PyObject *)&__pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner) < 0) __PYX_ERR(0, 315, __pyx_L1_error)
17335   __pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner = &__pyx_type_6Cython_8Compiler_8Scanning_PyrexScanner;
17336   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17337   __Pyx_RefNannyFinishContext();
17338   return 0;
17339   __pyx_L1_error:;
17340   __Pyx_XDECREF(__pyx_t_1);
17341   __Pyx_RefNannyFinishContext();
17342   return -1;
17343 }
17344 
__Pyx_modinit_type_import_code(void)17345 static int __Pyx_modinit_type_import_code(void) {
17346   __Pyx_RefNannyDeclarations
17347   PyObject *__pyx_t_1 = NULL;
17348   int __pyx_lineno = 0;
17349   const char *__pyx_filename = NULL;
17350   int __pyx_clineno = 0;
17351   __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
17352   /*--- Type import code ---*/
17353   __pyx_t_1 = PyImport_ImportModule("Cython.Plex.Actions"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
17354   __Pyx_GOTREF(__pyx_t_1);
17355   __pyx_ptype_6Cython_4Plex_7Actions_Action = __Pyx_ImportType(__pyx_t_1, "Cython.Plex.Actions", "Action", sizeof(struct __pyx_obj_6Cython_4Plex_7Actions_Action), __Pyx_ImportType_CheckSize_Warn);
17356    if (!__pyx_ptype_6Cython_4Plex_7Actions_Action) __PYX_ERR(2, 2, __pyx_L1_error)
17357   __pyx_vtabptr_6Cython_4Plex_7Actions_Action = (struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Action*)__Pyx_GetVtable(__pyx_ptype_6Cython_4Plex_7Actions_Action->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_4Plex_7Actions_Action)) __PYX_ERR(2, 2, __pyx_L1_error)
17358   __pyx_ptype_6Cython_4Plex_7Actions_Return = __Pyx_ImportType(__pyx_t_1, "Cython.Plex.Actions", "Return", sizeof(struct __pyx_obj_6Cython_4Plex_7Actions_Return), __Pyx_ImportType_CheckSize_Warn);
17359    if (!__pyx_ptype_6Cython_4Plex_7Actions_Return) __PYX_ERR(2, 6, __pyx_L1_error)
17360   __pyx_vtabptr_6Cython_4Plex_7Actions_Return = (struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Return*)__Pyx_GetVtable(__pyx_ptype_6Cython_4Plex_7Actions_Return->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_4Plex_7Actions_Return)) __PYX_ERR(2, 6, __pyx_L1_error)
17361   __pyx_ptype_6Cython_4Plex_7Actions_Call = __Pyx_ImportType(__pyx_t_1, "Cython.Plex.Actions", "Call", sizeof(struct __pyx_obj_6Cython_4Plex_7Actions_Call), __Pyx_ImportType_CheckSize_Warn);
17362    if (!__pyx_ptype_6Cython_4Plex_7Actions_Call) __PYX_ERR(2, 11, __pyx_L1_error)
17363   __pyx_vtabptr_6Cython_4Plex_7Actions_Call = (struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Call*)__Pyx_GetVtable(__pyx_ptype_6Cython_4Plex_7Actions_Call->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_4Plex_7Actions_Call)) __PYX_ERR(2, 11, __pyx_L1_error)
17364   __pyx_ptype_6Cython_4Plex_7Actions_Begin = __Pyx_ImportType(__pyx_t_1, "Cython.Plex.Actions", "Begin", sizeof(struct __pyx_obj_6Cython_4Plex_7Actions_Begin), __Pyx_ImportType_CheckSize_Warn);
17365    if (!__pyx_ptype_6Cython_4Plex_7Actions_Begin) __PYX_ERR(2, 16, __pyx_L1_error)
17366   __pyx_vtabptr_6Cython_4Plex_7Actions_Begin = (struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Begin*)__Pyx_GetVtable(__pyx_ptype_6Cython_4Plex_7Actions_Begin->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_4Plex_7Actions_Begin)) __PYX_ERR(2, 16, __pyx_L1_error)
17367   __pyx_ptype_6Cython_4Plex_7Actions_Ignore = __Pyx_ImportType(__pyx_t_1, "Cython.Plex.Actions", "Ignore", sizeof(struct __pyx_obj_6Cython_4Plex_7Actions_Ignore), __Pyx_ImportType_CheckSize_Warn);
17368    if (!__pyx_ptype_6Cython_4Plex_7Actions_Ignore) __PYX_ERR(2, 21, __pyx_L1_error)
17369   __pyx_vtabptr_6Cython_4Plex_7Actions_Ignore = (struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Ignore*)__Pyx_GetVtable(__pyx_ptype_6Cython_4Plex_7Actions_Ignore->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_4Plex_7Actions_Ignore)) __PYX_ERR(2, 21, __pyx_L1_error)
17370   __pyx_ptype_6Cython_4Plex_7Actions_Text = __Pyx_ImportType(__pyx_t_1, "Cython.Plex.Actions", "Text", sizeof(struct __pyx_obj_6Cython_4Plex_7Actions_Text), __Pyx_ImportType_CheckSize_Warn);
17371    if (!__pyx_ptype_6Cython_4Plex_7Actions_Text) __PYX_ERR(2, 24, __pyx_L1_error)
17372   __pyx_vtabptr_6Cython_4Plex_7Actions_Text = (struct __pyx_vtabstruct_6Cython_4Plex_7Actions_Text*)__Pyx_GetVtable(__pyx_ptype_6Cython_4Plex_7Actions_Text->tp_dict); if (unlikely(!__pyx_vtabptr_6Cython_4Plex_7Actions_Text)) __PYX_ERR(2, 24, __pyx_L1_error)
17373   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17374   __Pyx_RefNannyFinishContext();
17375   return 0;
17376   __pyx_L1_error:;
17377   __Pyx_XDECREF(__pyx_t_1);
17378   __Pyx_RefNannyFinishContext();
17379   return -1;
17380 }
17381 
__Pyx_modinit_variable_import_code(void)17382 static int __Pyx_modinit_variable_import_code(void) {
17383   __Pyx_RefNannyDeclarations
17384   __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
17385   /*--- Variable import code ---*/
17386   __Pyx_RefNannyFinishContext();
17387   return 0;
17388 }
17389 
__Pyx_modinit_function_import_code(void)17390 static int __Pyx_modinit_function_import_code(void) {
17391   __Pyx_RefNannyDeclarations
17392   __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
17393   /*--- Function import code ---*/
17394   __Pyx_RefNannyFinishContext();
17395   return 0;
17396 }
17397 
17398 
17399 #ifndef CYTHON_NO_PYINIT_EXPORT
17400 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
17401 #elif PY_MAJOR_VERSION < 3
17402 #ifdef __cplusplus
17403 #define __Pyx_PyMODINIT_FUNC extern "C" void
17404 #else
17405 #define __Pyx_PyMODINIT_FUNC void
17406 #endif
17407 #else
17408 #ifdef __cplusplus
17409 #define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
17410 #else
17411 #define __Pyx_PyMODINIT_FUNC PyObject *
17412 #endif
17413 #endif
17414 
17415 
17416 #if PY_MAJOR_VERSION < 3
17417 __Pyx_PyMODINIT_FUNC initScanning(void) CYTHON_SMALL_CODE; /*proto*/
initScanning(void)17418 __Pyx_PyMODINIT_FUNC initScanning(void)
17419 #else
17420 __Pyx_PyMODINIT_FUNC PyInit_Scanning(void) CYTHON_SMALL_CODE; /*proto*/
17421 __Pyx_PyMODINIT_FUNC PyInit_Scanning(void)
17422 #if CYTHON_PEP489_MULTI_PHASE_INIT
17423 {
17424   return PyModuleDef_Init(&__pyx_moduledef);
17425 }
17426 static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
17427     #if PY_VERSION_HEX >= 0x030700A1
17428     static PY_INT64_T main_interpreter_id = -1;
17429     PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
17430     if (main_interpreter_id == -1) {
17431         main_interpreter_id = current_id;
17432         return (unlikely(current_id == -1)) ? -1 : 0;
17433     } else if (unlikely(main_interpreter_id != current_id))
17434     #else
17435     static PyInterpreterState *main_interpreter = NULL;
17436     PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
17437     if (!main_interpreter) {
17438         main_interpreter = current_interpreter;
17439     } else if (unlikely(main_interpreter != current_interpreter))
17440     #endif
17441     {
17442         PyErr_SetString(
17443             PyExc_ImportError,
17444             "Interpreter change detected - this module can only be loaded into one interpreter per process.");
17445         return -1;
17446     }
17447     return 0;
17448 }
17449 static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
17450     PyObject *value = PyObject_GetAttrString(spec, from_name);
17451     int result = 0;
17452     if (likely(value)) {
17453         if (allow_none || value != Py_None) {
17454             result = PyDict_SetItemString(moddict, to_name, value);
17455         }
17456         Py_DECREF(value);
17457     } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
17458         PyErr_Clear();
17459     } else {
17460         result = -1;
17461     }
17462     return result;
17463 }
17464 static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
17465     PyObject *module = NULL, *moddict, *modname;
17466     if (__Pyx_check_single_interpreter())
17467         return NULL;
17468     if (__pyx_m)
17469         return __Pyx_NewRef(__pyx_m);
17470     modname = PyObject_GetAttrString(spec, "name");
17471     if (unlikely(!modname)) goto bad;
17472     module = PyModule_NewObject(modname);
17473     Py_DECREF(modname);
17474     if (unlikely(!module)) goto bad;
17475     moddict = PyModule_GetDict(module);
17476     if (unlikely(!moddict)) goto bad;
17477     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
17478     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
17479     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
17480     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
17481     return module;
17482 bad:
17483     Py_XDECREF(module);
17484     return NULL;
17485 }
17486 
17487 
17488 static CYTHON_SMALL_CODE int __pyx_pymod_exec_Scanning(PyObject *__pyx_pyinit_module)
17489 #endif
17490 #endif
17491 {
17492   PyObject *__pyx_t_1 = NULL;
17493   PyObject *__pyx_t_2 = NULL;
17494   PyObject *__pyx_t_3 = NULL;
17495   PyObject *__pyx_t_4 = NULL;
17496   int __pyx_lineno = 0;
17497   const char *__pyx_filename = NULL;
17498   int __pyx_clineno = 0;
17499   __Pyx_RefNannyDeclarations
17500   #if CYTHON_PEP489_MULTI_PHASE_INIT
17501   if (__pyx_m) {
17502     if (__pyx_m == __pyx_pyinit_module) return 0;
17503     PyErr_SetString(PyExc_RuntimeError, "Module 'Scanning' has already been imported. Re-initialisation is not supported.");
17504     return -1;
17505   }
17506   #elif PY_MAJOR_VERSION >= 3
17507   if (__pyx_m) return __Pyx_NewRef(__pyx_m);
17508   #endif
17509   #if CYTHON_REFNANNY
17510 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
17511 if (!__Pyx_RefNanny) {
17512   PyErr_Clear();
17513   __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
17514   if (!__Pyx_RefNanny)
17515       Py_FatalError("failed to import 'refnanny' module");
17516 }
17517 #endif
17518   __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_Scanning(void)", 0);
17519   if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17520   #ifdef __Pxy_PyFrame_Initialize_Offsets
17521   __Pxy_PyFrame_Initialize_Offsets();
17522   #endif
17523   __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
17524   __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
17525   __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
17526   #ifdef __Pyx_CyFunction_USED
17527   if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17528   #endif
17529   #ifdef __Pyx_FusedFunction_USED
17530   if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17531   #endif
17532   #ifdef __Pyx_Coroutine_USED
17533   if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17534   #endif
17535   #ifdef __Pyx_Generator_USED
17536   if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17537   #endif
17538   #ifdef __Pyx_AsyncGen_USED
17539   if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17540   #endif
17541   #ifdef __Pyx_StopAsyncIteration_USED
17542   if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17543   #endif
17544   /*--- Library function declarations ---*/
17545   /*--- Threads initialization code ---*/
17546   #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
17547   PyEval_InitThreads();
17548   #endif
17549   /*--- Module creation code ---*/
17550   #if CYTHON_PEP489_MULTI_PHASE_INIT
17551   __pyx_m = __pyx_pyinit_module;
17552   Py_INCREF(__pyx_m);
17553   #else
17554   #if PY_MAJOR_VERSION < 3
17555   __pyx_m = Py_InitModule4("Scanning", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
17556   #else
17557   __pyx_m = PyModule_Create(&__pyx_moduledef);
17558   #endif
17559   if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
17560   #endif
17561   __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
17562   Py_INCREF(__pyx_d);
17563   __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
17564   Py_INCREF(__pyx_b);
17565   __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
17566   Py_INCREF(__pyx_cython_runtime);
17567   if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
17568   /*--- Initialize various global constants etc. ---*/
17569   if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17570   #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
17571   if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17572   #endif
17573   if (__pyx_module_is_main_Cython__Compiler__Scanning) {
17574     if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_2, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17575   }
17576   #if PY_MAJOR_VERSION >= 3
17577   {
17578     PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
17579     if (!PyDict_GetItemString(modules, "Cython.Compiler.Scanning")) {
17580       if (unlikely(PyDict_SetItemString(modules, "Cython.Compiler.Scanning", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
17581     }
17582   }
17583   #endif
17584   /*--- Builtin init code ---*/
17585   if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17586   /*--- Constants init code ---*/
17587   if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17588   /*--- Global type/function init code ---*/
17589   (void)__Pyx_modinit_global_init_code();
17590   if (unlikely(__Pyx_modinit_variable_export_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
17591   if (unlikely(__Pyx_modinit_function_export_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
17592   if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
17593   if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
17594   (void)__Pyx_modinit_variable_import_code();
17595   (void)__Pyx_modinit_function_import_code();
17596   /*--- Execution code ---*/
17597   #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
17598   if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
17599   #endif
17600 
17601   /* "Cython/Compiler/Scanning.py":13
17602  *                os=object, platform=object)
17603  *
17604  * import os             # <<<<<<<<<<<<<<
17605  * import platform
17606  *
17607  */
17608   __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error)
17609   __Pyx_GOTREF(__pyx_t_1);
17610   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_os);
17611   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_os, __pyx_t_1);
17612   __Pyx_GIVEREF(__pyx_t_1);
17613   __pyx_t_1 = 0;
17614 
17615   /* "Cython/Compiler/Scanning.py":14
17616  *
17617  * import os
17618  * import platform             # <<<<<<<<<<<<<<
17619  *
17620  * from .. import Utils
17621  */
17622   __pyx_t_1 = __Pyx_Import(__pyx_n_s_platform, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error)
17623   __Pyx_GOTREF(__pyx_t_1);
17624   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_platform);
17625   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_platform, __pyx_t_1);
17626   __Pyx_GIVEREF(__pyx_t_1);
17627   __pyx_t_1 = 0;
17628 
17629   /* "Cython/Compiler/Scanning.py":16
17630  * import platform
17631  *
17632  * from .. import Utils             # <<<<<<<<<<<<<<
17633  * from ..Plex.Scanners import Scanner
17634  * from ..Plex.Errors import UnrecognizedInput
17635  */
17636   __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
17637   __Pyx_GOTREF(__pyx_t_1);
17638   __Pyx_INCREF(__pyx_n_s_Utils);
17639   __Pyx_GIVEREF(__pyx_n_s_Utils);
17640   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Utils);
17641   __pyx_t_2 = __Pyx_Import(__pyx_n_s__11, __pyx_t_1, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error)
17642   __Pyx_GOTREF(__pyx_t_2);
17643   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17644   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Utils); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
17645   __Pyx_GOTREF(__pyx_t_1);
17646   if (PyDict_SetItem(__pyx_d, __pyx_n_s_Utils, __pyx_t_1) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
17647   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17648   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17649 
17650   /* "Cython/Compiler/Scanning.py":17
17651  *
17652  * from .. import Utils
17653  * from ..Plex.Scanners import Scanner             # <<<<<<<<<<<<<<
17654  * from ..Plex.Errors import UnrecognizedInput
17655  * from .Errors import error, warning
17656  */
17657   __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
17658   __Pyx_GOTREF(__pyx_t_2);
17659   __Pyx_INCREF(__pyx_n_s_Scanner);
17660   __Pyx_GIVEREF(__pyx_n_s_Scanner);
17661   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Scanner);
17662   __pyx_t_1 = __Pyx_Import(__pyx_n_s_Plex_Scanners, __pyx_t_2, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error)
17663   __Pyx_GOTREF(__pyx_t_1);
17664   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17665   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17666 
17667   /* "Cython/Compiler/Scanning.py":18
17668  * from .. import Utils
17669  * from ..Plex.Scanners import Scanner
17670  * from ..Plex.Errors import UnrecognizedInput             # <<<<<<<<<<<<<<
17671  * from .Errors import error, warning
17672  * from .Lexicon import any_string_prefix, make_lexicon, IDENT
17673  */
17674   __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
17675   __Pyx_GOTREF(__pyx_t_1);
17676   __Pyx_INCREF(__pyx_n_s_UnrecognizedInput);
17677   __Pyx_GIVEREF(__pyx_n_s_UnrecognizedInput);
17678   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_UnrecognizedInput);
17679   __pyx_t_2 = __Pyx_Import(__pyx_n_s_Plex_Errors, __pyx_t_1, 2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error)
17680   __Pyx_GOTREF(__pyx_t_2);
17681   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17682   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_UnrecognizedInput); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
17683   __Pyx_GOTREF(__pyx_t_1);
17684   if (PyDict_SetItem(__pyx_d, __pyx_n_s_UnrecognizedInput, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
17685   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17686   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17687 
17688   /* "Cython/Compiler/Scanning.py":19
17689  * from ..Plex.Scanners import Scanner
17690  * from ..Plex.Errors import UnrecognizedInput
17691  * from .Errors import error, warning             # <<<<<<<<<<<<<<
17692  * from .Lexicon import any_string_prefix, make_lexicon, IDENT
17693  * from .Future import print_function
17694  */
17695   __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
17696   __Pyx_GOTREF(__pyx_t_2);
17697   __Pyx_INCREF(__pyx_n_s_error);
17698   __Pyx_GIVEREF(__pyx_n_s_error);
17699   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_error);
17700   __Pyx_INCREF(__pyx_n_s_warning);
17701   __Pyx_GIVEREF(__pyx_n_s_warning);
17702   PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_warning);
17703   __pyx_t_1 = __Pyx_Import(__pyx_n_s_Errors, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error)
17704   __Pyx_GOTREF(__pyx_t_1);
17705   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17706   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
17707   __Pyx_GOTREF(__pyx_t_2);
17708   __Pyx_INCREF(__pyx_t_2);
17709   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_error);
17710   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_error, __pyx_t_2);
17711   __Pyx_GIVEREF(__pyx_t_2);
17712   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17713   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_warning); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
17714   __Pyx_GOTREF(__pyx_t_2);
17715   __Pyx_INCREF(__pyx_t_2);
17716   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_warning);
17717   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_warning, __pyx_t_2);
17718   __Pyx_GIVEREF(__pyx_t_2);
17719   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17720   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17721 
17722   /* "Cython/Compiler/Scanning.py":20
17723  * from ..Plex.Errors import UnrecognizedInput
17724  * from .Errors import error, warning
17725  * from .Lexicon import any_string_prefix, make_lexicon, IDENT             # <<<<<<<<<<<<<<
17726  * from .Future import print_function
17727  *
17728  */
17729   __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
17730   __Pyx_GOTREF(__pyx_t_1);
17731   __Pyx_INCREF(__pyx_n_s_any_string_prefix);
17732   __Pyx_GIVEREF(__pyx_n_s_any_string_prefix);
17733   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_any_string_prefix);
17734   __Pyx_INCREF(__pyx_n_s_make_lexicon);
17735   __Pyx_GIVEREF(__pyx_n_s_make_lexicon);
17736   PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_make_lexicon);
17737   __Pyx_INCREF(__pyx_n_s_IDENT);
17738   __Pyx_GIVEREF(__pyx_n_s_IDENT);
17739   PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_IDENT);
17740   __pyx_t_2 = __Pyx_Import(__pyx_n_s_Lexicon, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error)
17741   __Pyx_GOTREF(__pyx_t_2);
17742   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17743   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_any_string_prefix); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
17744   __Pyx_GOTREF(__pyx_t_1);
17745   if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 20, __pyx_L1_error)
17746   __Pyx_INCREF(__pyx_t_1);
17747   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_any_string_prefix);
17748   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_any_string_prefix, ((PyObject*)__pyx_t_1));
17749   __Pyx_GIVEREF(__pyx_t_1);
17750   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17751   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_make_lexicon); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
17752   __Pyx_GOTREF(__pyx_t_1);
17753   __Pyx_INCREF(__pyx_t_1);
17754   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_make_lexicon);
17755   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_make_lexicon, __pyx_t_1);
17756   __Pyx_GIVEREF(__pyx_t_1);
17757   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17758   __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_IDENT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
17759   __Pyx_GOTREF(__pyx_t_1);
17760   if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 20, __pyx_L1_error)
17761   __Pyx_INCREF(__pyx_t_1);
17762   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_IDENT);
17763   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_IDENT, ((PyObject*)__pyx_t_1));
17764   __Pyx_GIVEREF(__pyx_t_1);
17765   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17766   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17767 
17768   /* "Cython/Compiler/Scanning.py":21
17769  * from .Errors import error, warning
17770  * from .Lexicon import any_string_prefix, make_lexicon, IDENT
17771  * from .Future import print_function             # <<<<<<<<<<<<<<
17772  *
17773  * debug_scanner = 0
17774  */
17775   __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
17776   __Pyx_GOTREF(__pyx_t_2);
17777   __Pyx_INCREF(__pyx_n_s_print_function);
17778   __Pyx_GIVEREF(__pyx_n_s_print_function);
17779   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_print_function);
17780   __pyx_t_1 = __Pyx_Import(__pyx_n_s_Future, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
17781   __Pyx_GOTREF(__pyx_t_1);
17782   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17783   __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_print_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
17784   __Pyx_GOTREF(__pyx_t_2);
17785   __Pyx_INCREF(__pyx_t_2);
17786   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_print_function);
17787   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_print_function, __pyx_t_2);
17788   __Pyx_GIVEREF(__pyx_t_2);
17789   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17790   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17791 
17792   /* "Cython/Compiler/Scanning.py":23
17793  * from .Future import print_function
17794  *
17795  * debug_scanner = 0             # <<<<<<<<<<<<<<
17796  * trace_scanner = 0
17797  * scanner_debug_flags = 0
17798  */
17799   if (PyDict_SetItem(__pyx_d, __pyx_n_s_debug_scanner, __pyx_int_0) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
17800 
17801   /* "Cython/Compiler/Scanning.py":24
17802  *
17803  * debug_scanner = 0
17804  * trace_scanner = 0             # <<<<<<<<<<<<<<
17805  * scanner_debug_flags = 0
17806  * scanner_dump_file = None
17807  */
17808   if (PyDict_SetItem(__pyx_d, __pyx_n_s_trace_scanner, __pyx_int_0) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
17809 
17810   /* "Cython/Compiler/Scanning.py":25
17811  * debug_scanner = 0
17812  * trace_scanner = 0
17813  * scanner_debug_flags = 0             # <<<<<<<<<<<<<<
17814  * scanner_dump_file = None
17815  *
17816  */
17817   if (PyDict_SetItem(__pyx_d, __pyx_n_s_scanner_debug_flags, __pyx_int_0) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
17818 
17819   /* "Cython/Compiler/Scanning.py":26
17820  * trace_scanner = 0
17821  * scanner_debug_flags = 0
17822  * scanner_dump_file = None             # <<<<<<<<<<<<<<
17823  *
17824  * lexicon = None
17825  */
17826   if (PyDict_SetItem(__pyx_d, __pyx_n_s_scanner_dump_file, Py_None) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
17827 
17828   /* "Cython/Compiler/Scanning.py":28
17829  * scanner_dump_file = None
17830  *
17831  * lexicon = None             # <<<<<<<<<<<<<<
17832  *
17833  *
17834  */
17835   __Pyx_INCREF(Py_None);
17836   __Pyx_XGOTREF(__pyx_v_6Cython_8Compiler_8Scanning_lexicon);
17837   __Pyx_DECREF_SET(__pyx_v_6Cython_8Compiler_8Scanning_lexicon, Py_None);
17838   __Pyx_GIVEREF(Py_None);
17839 
17840   /* "Cython/Compiler/Scanning.py":40
17841  * #------------------------------------------------------------------
17842  *
17843  * py_reserved_words = [             # <<<<<<<<<<<<<<
17844  *     "global", "nonlocal", "def", "class", "print", "del", "pass", "break",
17845  *     "continue", "return", "raise", "import", "exec", "try",
17846  */
17847   __pyx_t_1 = PyList_New(31); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error)
17848   __Pyx_GOTREF(__pyx_t_1);
17849   __Pyx_INCREF(__pyx_n_u_global);
17850   __Pyx_GIVEREF(__pyx_n_u_global);
17851   PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_global);
17852   __Pyx_INCREF(__pyx_n_u_nonlocal);
17853   __Pyx_GIVEREF(__pyx_n_u_nonlocal);
17854   PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_nonlocal);
17855   __Pyx_INCREF(__pyx_n_u_def);
17856   __Pyx_GIVEREF(__pyx_n_u_def);
17857   PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_def);
17858   __Pyx_INCREF(__pyx_n_u_class);
17859   __Pyx_GIVEREF(__pyx_n_u_class);
17860   PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_u_class);
17861   __Pyx_INCREF(__pyx_n_u_print);
17862   __Pyx_GIVEREF(__pyx_n_u_print);
17863   PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_u_print);
17864   __Pyx_INCREF(__pyx_n_u_del);
17865   __Pyx_GIVEREF(__pyx_n_u_del);
17866   PyList_SET_ITEM(__pyx_t_1, 5, __pyx_n_u_del);
17867   __Pyx_INCREF(__pyx_n_u_pass);
17868   __Pyx_GIVEREF(__pyx_n_u_pass);
17869   PyList_SET_ITEM(__pyx_t_1, 6, __pyx_n_u_pass);
17870   __Pyx_INCREF(__pyx_n_u_break);
17871   __Pyx_GIVEREF(__pyx_n_u_break);
17872   PyList_SET_ITEM(__pyx_t_1, 7, __pyx_n_u_break);
17873   __Pyx_INCREF(__pyx_n_u_continue);
17874   __Pyx_GIVEREF(__pyx_n_u_continue);
17875   PyList_SET_ITEM(__pyx_t_1, 8, __pyx_n_u_continue);
17876   __Pyx_INCREF(__pyx_n_u_return);
17877   __Pyx_GIVEREF(__pyx_n_u_return);
17878   PyList_SET_ITEM(__pyx_t_1, 9, __pyx_n_u_return);
17879   __Pyx_INCREF(__pyx_n_u_raise);
17880   __Pyx_GIVEREF(__pyx_n_u_raise);
17881   PyList_SET_ITEM(__pyx_t_1, 10, __pyx_n_u_raise);
17882   __Pyx_INCREF(__pyx_n_u_import_2);
17883   __Pyx_GIVEREF(__pyx_n_u_import_2);
17884   PyList_SET_ITEM(__pyx_t_1, 11, __pyx_n_u_import_2);
17885   __Pyx_INCREF(__pyx_n_u_exec);
17886   __Pyx_GIVEREF(__pyx_n_u_exec);
17887   PyList_SET_ITEM(__pyx_t_1, 12, __pyx_n_u_exec);
17888   __Pyx_INCREF(__pyx_n_u_try);
17889   __Pyx_GIVEREF(__pyx_n_u_try);
17890   PyList_SET_ITEM(__pyx_t_1, 13, __pyx_n_u_try);
17891   __Pyx_INCREF(__pyx_n_u_except);
17892   __Pyx_GIVEREF(__pyx_n_u_except);
17893   PyList_SET_ITEM(__pyx_t_1, 14, __pyx_n_u_except);
17894   __Pyx_INCREF(__pyx_n_u_finally);
17895   __Pyx_GIVEREF(__pyx_n_u_finally);
17896   PyList_SET_ITEM(__pyx_t_1, 15, __pyx_n_u_finally);
17897   __Pyx_INCREF(__pyx_n_u_while);
17898   __Pyx_GIVEREF(__pyx_n_u_while);
17899   PyList_SET_ITEM(__pyx_t_1, 16, __pyx_n_u_while);
17900   __Pyx_INCREF(__pyx_n_u_if);
17901   __Pyx_GIVEREF(__pyx_n_u_if);
17902   PyList_SET_ITEM(__pyx_t_1, 17, __pyx_n_u_if);
17903   __Pyx_INCREF(__pyx_n_u_elif);
17904   __Pyx_GIVEREF(__pyx_n_u_elif);
17905   PyList_SET_ITEM(__pyx_t_1, 18, __pyx_n_u_elif);
17906   __Pyx_INCREF(__pyx_n_u_else);
17907   __Pyx_GIVEREF(__pyx_n_u_else);
17908   PyList_SET_ITEM(__pyx_t_1, 19, __pyx_n_u_else);
17909   __Pyx_INCREF(__pyx_n_u_for);
17910   __Pyx_GIVEREF(__pyx_n_u_for);
17911   PyList_SET_ITEM(__pyx_t_1, 20, __pyx_n_u_for);
17912   __Pyx_INCREF(__pyx_n_u_in);
17913   __Pyx_GIVEREF(__pyx_n_u_in);
17914   PyList_SET_ITEM(__pyx_t_1, 21, __pyx_n_u_in);
17915   __Pyx_INCREF(__pyx_n_u_assert);
17916   __Pyx_GIVEREF(__pyx_n_u_assert);
17917   PyList_SET_ITEM(__pyx_t_1, 22, __pyx_n_u_assert);
17918   __Pyx_INCREF(__pyx_n_u_and);
17919   __Pyx_GIVEREF(__pyx_n_u_and);
17920   PyList_SET_ITEM(__pyx_t_1, 23, __pyx_n_u_and);
17921   __Pyx_INCREF(__pyx_n_u_or);
17922   __Pyx_GIVEREF(__pyx_n_u_or);
17923   PyList_SET_ITEM(__pyx_t_1, 24, __pyx_n_u_or);
17924   __Pyx_INCREF(__pyx_n_u_not);
17925   __Pyx_GIVEREF(__pyx_n_u_not);
17926   PyList_SET_ITEM(__pyx_t_1, 25, __pyx_n_u_not);
17927   __Pyx_INCREF(__pyx_n_u_is);
17928   __Pyx_GIVEREF(__pyx_n_u_is);
17929   PyList_SET_ITEM(__pyx_t_1, 26, __pyx_n_u_is);
17930   __Pyx_INCREF(__pyx_n_u_lambda);
17931   __Pyx_GIVEREF(__pyx_n_u_lambda);
17932   PyList_SET_ITEM(__pyx_t_1, 27, __pyx_n_u_lambda);
17933   __Pyx_INCREF(__pyx_n_u_from);
17934   __Pyx_GIVEREF(__pyx_n_u_from);
17935   PyList_SET_ITEM(__pyx_t_1, 28, __pyx_n_u_from);
17936   __Pyx_INCREF(__pyx_n_u_yield);
17937   __Pyx_GIVEREF(__pyx_n_u_yield);
17938   PyList_SET_ITEM(__pyx_t_1, 29, __pyx_n_u_yield);
17939   __Pyx_INCREF(__pyx_n_u_with);
17940   __Pyx_GIVEREF(__pyx_n_u_with);
17941   PyList_SET_ITEM(__pyx_t_1, 30, __pyx_n_u_with);
17942   if (PyDict_SetItem(__pyx_d, __pyx_n_s_py_reserved_words, __pyx_t_1) < 0) __PYX_ERR(0, 40, __pyx_L1_error)
17943   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17944 
17945   /* "Cython/Compiler/Scanning.py":48
17946  * ]
17947  *
17948  * pyx_reserved_words = py_reserved_words + [             # <<<<<<<<<<<<<<
17949  *     "include", "ctypedef", "cdef", "cpdef",
17950  *     "cimport", "DEF", "IF", "ELIF", "ELSE"
17951  */
17952   __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_py_reserved_words); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
17953   __Pyx_GOTREF(__pyx_t_1);
17954   __pyx_t_2 = PyList_New(9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
17955   __Pyx_GOTREF(__pyx_t_2);
17956   __Pyx_INCREF(__pyx_n_u_include);
17957   __Pyx_GIVEREF(__pyx_n_u_include);
17958   PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_include);
17959   __Pyx_INCREF(__pyx_n_u_ctypedef);
17960   __Pyx_GIVEREF(__pyx_n_u_ctypedef);
17961   PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_ctypedef);
17962   __Pyx_INCREF(__pyx_n_u_cdef);
17963   __Pyx_GIVEREF(__pyx_n_u_cdef);
17964   PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_cdef);
17965   __Pyx_INCREF(__pyx_n_u_cpdef);
17966   __Pyx_GIVEREF(__pyx_n_u_cpdef);
17967   PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_u_cpdef);
17968   __Pyx_INCREF(__pyx_n_u_cimport);
17969   __Pyx_GIVEREF(__pyx_n_u_cimport);
17970   PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_u_cimport);
17971   __Pyx_INCREF(__pyx_n_u_DEF);
17972   __Pyx_GIVEREF(__pyx_n_u_DEF);
17973   PyList_SET_ITEM(__pyx_t_2, 5, __pyx_n_u_DEF);
17974   __Pyx_INCREF(__pyx_n_u_IF);
17975   __Pyx_GIVEREF(__pyx_n_u_IF);
17976   PyList_SET_ITEM(__pyx_t_2, 6, __pyx_n_u_IF);
17977   __Pyx_INCREF(__pyx_n_u_ELIF);
17978   __Pyx_GIVEREF(__pyx_n_u_ELIF);
17979   PyList_SET_ITEM(__pyx_t_2, 7, __pyx_n_u_ELIF);
17980   __Pyx_INCREF(__pyx_n_u_ELSE);
17981   __Pyx_GIVEREF(__pyx_n_u_ELSE);
17982   PyList_SET_ITEM(__pyx_t_2, 8, __pyx_n_u_ELSE);
17983   __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
17984   __Pyx_GOTREF(__pyx_t_3);
17985   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
17986   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
17987   if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_reserved_words, __pyx_t_3) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
17988   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17989 
17990   /* "Cython/Compiler/Scanning.py":66
17991  *         return method(text, **self.kwargs) if self.kwargs is not None else method(text)
17992  *
17993  *     def __copy__(self):             # <<<<<<<<<<<<<<
17994  *         return self  # immutable, no need to copy
17995  *
17996  */
17997   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_6Method_5__copy__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Method___copy, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error)
17998   __Pyx_GOTREF(__pyx_t_3);
17999   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_Method->tp_dict, __pyx_n_s_copy, __pyx_t_3) < 0) __PYX_ERR(0, 66, __pyx_L1_error)
18000   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18001   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_Method);
18002 
18003   /* "Cython/Compiler/Scanning.py":69
18004  *         return self  # immutable, no need to copy
18005  *
18006  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
18007  *         return self  # immutable, no need to copy
18008  *
18009  */
18010   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_6Method_7__deepcopy__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Method___deepcopy, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error)
18011   __Pyx_GOTREF(__pyx_t_3);
18012   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_Method->tp_dict, __pyx_n_s_deepcopy, __pyx_t_3) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
18013   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18014   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_Method);
18015 
18016   /* "Cython/Compiler/Scanning.py":81
18017  *         self.outer = outer
18018  *
18019  *     def declare(self, name, value):             # <<<<<<<<<<<<<<
18020  *         self.entries[name] = value
18021  *
18022  */
18023   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_3declare, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CompileTimeScope_declare, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
18024   __Pyx_GOTREF(__pyx_t_3);
18025   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope->tp_dict, __pyx_n_s_declare, __pyx_t_3) < 0) __PYX_ERR(0, 81, __pyx_L1_error)
18026   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18027   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope);
18028 
18029   /* "Cython/Compiler/Scanning.py":84
18030  *         self.entries[name] = value
18031  *
18032  *     def update(self, other):             # <<<<<<<<<<<<<<
18033  *         self.entries.update(other)
18034  *
18035  */
18036   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_5update, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CompileTimeScope_update, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error)
18037   __Pyx_GOTREF(__pyx_t_3);
18038   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope->tp_dict, __pyx_n_s_update, __pyx_t_3) < 0) __PYX_ERR(0, 84, __pyx_L1_error)
18039   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18040   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope);
18041 
18042   /* "Cython/Compiler/Scanning.py":87
18043  *         self.entries.update(other)
18044  *
18045  *     def lookup_here(self, name):             # <<<<<<<<<<<<<<
18046  *         return self.entries[name]
18047  *
18048  */
18049   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_7lookup_here, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CompileTimeScope_lookup_here, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error)
18050   __Pyx_GOTREF(__pyx_t_3);
18051   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope->tp_dict, __pyx_n_s_lookup_here, __pyx_t_3) < 0) __PYX_ERR(0, 87, __pyx_L1_error)
18052   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18053   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope);
18054 
18055   /* "Cython/Compiler/Scanning.py":93
18056  *         return name in self.entries
18057  *
18058  *     def lookup(self, name):             # <<<<<<<<<<<<<<
18059  *         try:
18060  *             return self.lookup_here(name)
18061  */
18062   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16CompileTimeScope_11lookup, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CompileTimeScope_lookup, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error)
18063   __Pyx_GOTREF(__pyx_t_3);
18064   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope->tp_dict, __pyx_n_s_lookup, __pyx_t_3) < 0) __PYX_ERR(0, 93, __pyx_L1_error)
18065   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18066   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_CompileTimeScope);
18067 
18068   /* "Cython/Compiler/Scanning.py":146
18069  * #------------------------------------------------------------------
18070  *
18071  * class SourceDescriptor(object):             # <<<<<<<<<<<<<<
18072  *     """
18073  *     A SourceDescriptor should be considered immutable.
18074  */
18075   __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__31); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 146, __pyx_L1_error)
18076   __Pyx_GOTREF(__pyx_t_3);
18077   __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__31, __pyx_n_s_SourceDescriptor, __pyx_n_s_SourceDescriptor, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_kp_s_A_SourceDescriptor_should_be_co); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
18078   __Pyx_GOTREF(__pyx_t_2);
18079 
18080   /* "Cython/Compiler/Scanning.py":150
18081  *     A SourceDescriptor should be considered immutable.
18082  *     """
18083  *     filename = None             # <<<<<<<<<<<<<<
18084  *
18085  *     _file_type = 'pyx'
18086  */
18087   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_filename, Py_None) < 0) __PYX_ERR(0, 150, __pyx_L1_error)
18088 
18089   /* "Cython/Compiler/Scanning.py":152
18090  *     filename = None
18091  *
18092  *     _file_type = 'pyx'             # <<<<<<<<<<<<<<
18093  *
18094  *     _escaped_description = None
18095  */
18096   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_file_type, __pyx_n_u_pyx_2) < 0) __PYX_ERR(0, 152, __pyx_L1_error)
18097 
18098   /* "Cython/Compiler/Scanning.py":154
18099  *     _file_type = 'pyx'
18100  *
18101  *     _escaped_description = None             # <<<<<<<<<<<<<<
18102  *     _cmp_name = ''
18103  *     def __str__(self):
18104  */
18105   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_escaped_description, Py_None) < 0) __PYX_ERR(0, 154, __pyx_L1_error)
18106 
18107   /* "Cython/Compiler/Scanning.py":155
18108  *
18109  *     _escaped_description = None
18110  *     _cmp_name = ''             # <<<<<<<<<<<<<<
18111  *     def __str__(self):
18112  *         assert False # To catch all places where a descriptor is used directly as a filename
18113  */
18114   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_cmp_name, __pyx_kp_u__11) < 0) __PYX_ERR(0, 155, __pyx_L1_error)
18115 
18116   /* "Cython/Compiler/Scanning.py":156
18117  *     _escaped_description = None
18118  *     _cmp_name = ''
18119  *     def __str__(self):             # <<<<<<<<<<<<<<
18120  *         assert False # To catch all places where a descriptor is used directly as a filename
18121  *
18122  */
18123   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_1__str__, 0, __pyx_n_s_SourceDescriptor___str, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error)
18124   __Pyx_GOTREF(__pyx_t_1);
18125   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_str_2, __pyx_t_1) < 0) __PYX_ERR(0, 156, __pyx_L1_error)
18126   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18127 
18128   /* "Cython/Compiler/Scanning.py":159
18129  *         assert False # To catch all places where a descriptor is used directly as a filename
18130  *
18131  *     def set_file_type_from_name(self, filename):             # <<<<<<<<<<<<<<
18132  *         name, ext = os.path.splitext(filename)
18133  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
18134  */
18135   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_3set_file_type_from_name, 0, __pyx_n_s_SourceDescriptor_set_file_type_f, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error)
18136   __Pyx_GOTREF(__pyx_t_1);
18137   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_set_file_type_from_name, __pyx_t_1) < 0) __PYX_ERR(0, 159, __pyx_L1_error)
18138   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18139 
18140   /* "Cython/Compiler/Scanning.py":163
18141  *         self._file_type = ext in ('.pyx', '.pxd', '.py') and ext[1:] or 'pyx'
18142  *
18143  *     def is_cython_file(self):             # <<<<<<<<<<<<<<
18144  *         return self._file_type in ('pyx', 'pxd')
18145  *
18146  */
18147   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_5is_cython_file, 0, __pyx_n_s_SourceDescriptor_is_cython_file, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 163, __pyx_L1_error)
18148   __Pyx_GOTREF(__pyx_t_1);
18149   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_is_cython_file, __pyx_t_1) < 0) __PYX_ERR(0, 163, __pyx_L1_error)
18150   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18151 
18152   /* "Cython/Compiler/Scanning.py":166
18153  *         return self._file_type in ('pyx', 'pxd')
18154  *
18155  *     def is_python_file(self):             # <<<<<<<<<<<<<<
18156  *         return self._file_type == 'py'
18157  *
18158  */
18159   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_7is_python_file, 0, __pyx_n_s_SourceDescriptor_is_python_file, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 166, __pyx_L1_error)
18160   __Pyx_GOTREF(__pyx_t_1);
18161   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_is_python_file, __pyx_t_1) < 0) __PYX_ERR(0, 166, __pyx_L1_error)
18162   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18163 
18164   /* "Cython/Compiler/Scanning.py":169
18165  *         return self._file_type == 'py'
18166  *
18167  *     def get_escaped_description(self):             # <<<<<<<<<<<<<<
18168  *         if self._escaped_description is None:
18169  *             esc_desc = \
18170  */
18171   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_9get_escaped_description, 0, __pyx_n_s_SourceDescriptor_get_escaped_des, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error)
18172   __Pyx_GOTREF(__pyx_t_1);
18173   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_get_escaped_description, __pyx_t_1) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
18174   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18175 
18176   /* "Cython/Compiler/Scanning.py":178
18177  *         return self._escaped_description
18178  *
18179  *     def __gt__(self, other):             # <<<<<<<<<<<<<<
18180  *         # this is only used to provide some sort of order
18181  *         try:
18182  */
18183   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_11__gt__, 0, __pyx_n_s_SourceDescriptor___gt, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
18184   __Pyx_GOTREF(__pyx_t_1);
18185   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_gt, __pyx_t_1) < 0) __PYX_ERR(0, 178, __pyx_L1_error)
18186   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18187 
18188   /* "Cython/Compiler/Scanning.py":185
18189  *             return False
18190  *
18191  *     def __lt__(self, other):             # <<<<<<<<<<<<<<
18192  *         # this is only used to provide some sort of order
18193  *         try:
18194  */
18195   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_13__lt__, 0, __pyx_n_s_SourceDescriptor___lt, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error)
18196   __Pyx_GOTREF(__pyx_t_1);
18197   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_lt, __pyx_t_1) < 0) __PYX_ERR(0, 185, __pyx_L1_error)
18198   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18199 
18200   /* "Cython/Compiler/Scanning.py":192
18201  *             return False
18202  *
18203  *     def __le__(self, other):             # <<<<<<<<<<<<<<
18204  *         # this is only used to provide some sort of order
18205  *         try:
18206  */
18207   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_15__le__, 0, __pyx_n_s_SourceDescriptor___le, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error)
18208   __Pyx_GOTREF(__pyx_t_1);
18209   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_le, __pyx_t_1) < 0) __PYX_ERR(0, 192, __pyx_L1_error)
18210   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18211 
18212   /* "Cython/Compiler/Scanning.py":199
18213  *             return False
18214  *
18215  *     def __copy__(self):             # <<<<<<<<<<<<<<
18216  *         return self  # immutable, no need to copy
18217  *
18218  */
18219   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_17__copy__, 0, __pyx_n_s_SourceDescriptor___copy, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error)
18220   __Pyx_GOTREF(__pyx_t_1);
18221   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_copy, __pyx_t_1) < 0) __PYX_ERR(0, 199, __pyx_L1_error)
18222   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18223 
18224   /* "Cython/Compiler/Scanning.py":202
18225  *         return self  # immutable, no need to copy
18226  *
18227  *     def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
18228  *         return self  # immutable, no need to copy
18229  *
18230  */
18231   __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_16SourceDescriptor_19__deepcopy__, 0, __pyx_n_s_SourceDescriptor___deepcopy, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)
18232   __Pyx_GOTREF(__pyx_t_1);
18233   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_deepcopy, __pyx_t_1) < 0) __PYX_ERR(0, 202, __pyx_L1_error)
18234   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18235 
18236   /* "Cython/Compiler/Scanning.py":146
18237  * #------------------------------------------------------------------
18238  *
18239  * class SourceDescriptor(object):             # <<<<<<<<<<<<<<
18240  *     """
18241  *     A SourceDescriptor should be considered immutable.
18242  */
18243   __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_SourceDescriptor, __pyx_tuple__31, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
18244   __Pyx_GOTREF(__pyx_t_1);
18245   if (PyDict_SetItem(__pyx_d, __pyx_n_s_SourceDescriptor, __pyx_t_1) < 0) __PYX_ERR(0, 146, __pyx_L1_error)
18246   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18247   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18248   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18249 
18250   /* "Cython/Compiler/Scanning.py":206
18251  *
18252  *
18253  * class FileSourceDescriptor(SourceDescriptor):             # <<<<<<<<<<<<<<
18254  *     """
18255  *     Represents a code source. A code source is a more generic abstraction
18256  */
18257   __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SourceDescriptor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error)
18258   __Pyx_GOTREF(__pyx_t_3);
18259   __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 206, __pyx_L1_error)
18260   __Pyx_GOTREF(__pyx_t_2);
18261   __Pyx_GIVEREF(__pyx_t_3);
18262   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
18263   __pyx_t_3 = 0;
18264   __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error)
18265   __Pyx_GOTREF(__pyx_t_3);
18266   __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_FileSourceDescriptor, __pyx_n_s_FileSourceDescriptor, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_kp_s_Represents_a_code_source_A_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error)
18267   __Pyx_GOTREF(__pyx_t_1);
18268 
18269   /* "Cython/Compiler/Scanning.py":214
18270  *     the position()-tuple.
18271  *     """
18272  *     def __init__(self, filename, path_description=None):             # <<<<<<<<<<<<<<
18273  *         filename = Utils.decode_filename(filename)
18274  *         self.path_description = path_description or filename
18275  */
18276   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_1__init__, 0, __pyx_n_s_FileSourceDescriptor___init, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 214, __pyx_L1_error)
18277   __Pyx_GOTREF(__pyx_t_4);
18278   __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__54);
18279   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 214, __pyx_L1_error)
18280   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18281 
18282   /* "Cython/Compiler/Scanning.py":225
18283  *         self._lines = {}
18284  *
18285  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
18286  *         # we cache the lines only the second time this is called, in
18287  *         # order to save memory when they are only used once
18288  */
18289   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_3get_lines, 0, __pyx_n_s_FileSourceDescriptor_get_lines, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 225, __pyx_L1_error)
18290   __Pyx_GOTREF(__pyx_t_4);
18291   __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__57);
18292   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_lines, __pyx_t_4) < 0) __PYX_ERR(0, 225, __pyx_L1_error)
18293   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18294 
18295   /* "Cython/Compiler/Scanning.py":247
18296  *         return lines
18297  *
18298  *     def get_description(self):             # <<<<<<<<<<<<<<
18299  *         try:
18300  *             return os.path.relpath(self.path_description)
18301  */
18302   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_5get_description, 0, __pyx_n_s_FileSourceDescriptor_get_descrip, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error)
18303   __Pyx_GOTREF(__pyx_t_4);
18304   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_description, __pyx_t_4) < 0) __PYX_ERR(0, 247, __pyx_L1_error)
18305   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18306 
18307   /* "Cython/Compiler/Scanning.py":254
18308  *             return self.path_description
18309  *
18310  *     def get_error_description(self):             # <<<<<<<<<<<<<<
18311  *         path = self.filename
18312  *         cwd = Utils.decode_filename(os.getcwd() + os.path.sep)
18313  */
18314   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_7get_error_description, 0, __pyx_n_s_FileSourceDescriptor_get_error_d, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error)
18315   __Pyx_GOTREF(__pyx_t_4);
18316   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_error_description, __pyx_t_4) < 0) __PYX_ERR(0, 254, __pyx_L1_error)
18317   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18318 
18319   /* "Cython/Compiler/Scanning.py":261
18320  *         return path
18321  *
18322  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
18323  *         return self.file_path
18324  *
18325  */
18326   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_9get_filenametable_entry, 0, __pyx_n_s_FileSourceDescriptor_get_filenam, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error)
18327   __Pyx_GOTREF(__pyx_t_4);
18328   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_filenametable_entry, __pyx_t_4) < 0) __PYX_ERR(0, 261, __pyx_L1_error)
18329   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18330 
18331   /* "Cython/Compiler/Scanning.py":264
18332  *         return self.file_path
18333  *
18334  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
18335  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
18336  *
18337  */
18338   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_11__eq__, 0, __pyx_n_s_FileSourceDescriptor___eq, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 264, __pyx_L1_error)
18339   __Pyx_GOTREF(__pyx_t_4);
18340   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_eq, __pyx_t_4) < 0) __PYX_ERR(0, 264, __pyx_L1_error)
18341   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18342 
18343   /* "Cython/Compiler/Scanning.py":267
18344  *         return isinstance(other, FileSourceDescriptor) and self.filename == other.filename
18345  *
18346  *     def __hash__(self):             # <<<<<<<<<<<<<<
18347  *         return hash(self.filename)
18348  *
18349  */
18350   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_13__hash__, 0, __pyx_n_s_FileSourceDescriptor___hash, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 267, __pyx_L1_error)
18351   __Pyx_GOTREF(__pyx_t_4);
18352   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_hash_2, __pyx_t_4) < 0) __PYX_ERR(0, 267, __pyx_L1_error)
18353   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18354 
18355   /* "Cython/Compiler/Scanning.py":270
18356  *         return hash(self.filename)
18357  *
18358  *     def __repr__(self):             # <<<<<<<<<<<<<<
18359  *         return "<FileSourceDescriptor:%s>" % self.filename
18360  *
18361  */
18362   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_20FileSourceDescriptor_15__repr__, 0, __pyx_n_s_FileSourceDescriptor___repr, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 270, __pyx_L1_error)
18363   __Pyx_GOTREF(__pyx_t_4);
18364   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_repr_2, __pyx_t_4) < 0) __PYX_ERR(0, 270, __pyx_L1_error)
18365   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18366 
18367   /* "Cython/Compiler/Scanning.py":206
18368  *
18369  *
18370  * class FileSourceDescriptor(SourceDescriptor):             # <<<<<<<<<<<<<<
18371  *     """
18372  *     Represents a code source. A code source is a more generic abstraction
18373  */
18374   __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_FileSourceDescriptor, __pyx_t_2, __pyx_t_1, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 206, __pyx_L1_error)
18375   __Pyx_GOTREF(__pyx_t_4);
18376   if (PyDict_SetItem(__pyx_d, __pyx_n_s_FileSourceDescriptor, __pyx_t_4) < 0) __PYX_ERR(0, 206, __pyx_L1_error)
18377   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18378   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18379   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18380   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18381 
18382   /* "Cython/Compiler/Scanning.py":274
18383  *
18384  *
18385  * class StringSourceDescriptor(SourceDescriptor):             # <<<<<<<<<<<<<<
18386  *     """
18387  *     Instances of this class can be used instead of a filenames if the
18388  */
18389   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_SourceDescriptor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
18390   __Pyx_GOTREF(__pyx_t_2);
18391   __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 274, __pyx_L1_error)
18392   __Pyx_GOTREF(__pyx_t_3);
18393   __Pyx_GIVEREF(__pyx_t_2);
18394   PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
18395   __pyx_t_2 = 0;
18396   __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
18397   __Pyx_GOTREF(__pyx_t_2);
18398   __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_StringSourceDescriptor, __pyx_n_s_StringSourceDescriptor, (PyObject *) NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_kp_s_Instances_of_this_class_can_be); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 274, __pyx_L1_error)
18399   __Pyx_GOTREF(__pyx_t_1);
18400 
18401   /* "Cython/Compiler/Scanning.py":279
18402  *     code originates from a string object.
18403  *     """
18404  *     def __init__(self, name, code):             # <<<<<<<<<<<<<<
18405  *         self.name = name
18406  *         #self.set_file_type_from_name(name)
18407  */
18408   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_1__init__, 0, __pyx_n_s_StringSourceDescriptor___init, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L1_error)
18409   __Pyx_GOTREF(__pyx_t_4);
18410   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 279, __pyx_L1_error)
18411   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18412 
18413   /* "Cython/Compiler/Scanning.py":285
18414  *         self._cmp_name = name
18415  *
18416  *     def get_lines(self, encoding=None, error_handling=None):             # <<<<<<<<<<<<<<
18417  *         if not encoding:
18418  *             return self.codelines
18419  */
18420   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_3get_lines, 0, __pyx_n_s_StringSourceDescriptor_get_lines, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__73)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L1_error)
18421   __Pyx_GOTREF(__pyx_t_4);
18422   __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__74);
18423   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_lines, __pyx_t_4) < 0) __PYX_ERR(0, 285, __pyx_L1_error)
18424   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18425 
18426   /* "Cython/Compiler/Scanning.py":292
18427  *                     for line in self.codelines]
18428  *
18429  *     def get_description(self):             # <<<<<<<<<<<<<<
18430  *         return self.name
18431  *
18432  */
18433   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_5get_description, 0, __pyx_n_s_StringSourceDescriptor_get_descr, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L1_error)
18434   __Pyx_GOTREF(__pyx_t_4);
18435   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_description, __pyx_t_4) < 0) __PYX_ERR(0, 292, __pyx_L1_error)
18436   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18437 
18438   /* "Cython/Compiler/Scanning.py":295
18439  *         return self.name
18440  *
18441  *     get_error_description = get_description             # <<<<<<<<<<<<<<
18442  *
18443  *     def get_filenametable_entry(self):
18444  */
18445   __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_get_description);
18446   if (unlikely(!__pyx_t_4)) {
18447     PyErr_Clear();
18448     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_get_description);
18449   }
18450   if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 295, __pyx_L1_error)
18451   __Pyx_GOTREF(__pyx_t_4);
18452   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_error_description, __pyx_t_4) < 0) __PYX_ERR(0, 295, __pyx_L1_error)
18453   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18454 
18455   /* "Cython/Compiler/Scanning.py":297
18456  *     get_error_description = get_description
18457  *
18458  *     def get_filenametable_entry(self):             # <<<<<<<<<<<<<<
18459  *         return "stringsource"
18460  *
18461  */
18462   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_7get_filenametable_entry, 0, __pyx_n_s_StringSourceDescriptor_get_filen, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 297, __pyx_L1_error)
18463   __Pyx_GOTREF(__pyx_t_4);
18464   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_get_filenametable_entry, __pyx_t_4) < 0) __PYX_ERR(0, 297, __pyx_L1_error)
18465   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18466 
18467   /* "Cython/Compiler/Scanning.py":300
18468  *         return "stringsource"
18469  *
18470  *     def __hash__(self):             # <<<<<<<<<<<<<<
18471  *         return id(self)
18472  *         # Do not hash on the name, an identical string source should be the
18473  */
18474   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_9__hash__, 0, __pyx_n_s_StringSourceDescriptor___hash, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 300, __pyx_L1_error)
18475   __Pyx_GOTREF(__pyx_t_4);
18476   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_hash_2, __pyx_t_4) < 0) __PYX_ERR(0, 300, __pyx_L1_error)
18477   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18478 
18479   /* "Cython/Compiler/Scanning.py":306
18480  *         # return hash(self.name)
18481  *
18482  *     def __eq__(self, other):             # <<<<<<<<<<<<<<
18483  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
18484  *
18485  */
18486   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_11__eq__, 0, __pyx_n_s_StringSourceDescriptor___eq, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 306, __pyx_L1_error)
18487   __Pyx_GOTREF(__pyx_t_4);
18488   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_eq, __pyx_t_4) < 0) __PYX_ERR(0, 306, __pyx_L1_error)
18489   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18490 
18491   /* "Cython/Compiler/Scanning.py":309
18492  *         return isinstance(other, StringSourceDescriptor) and self.name == other.name
18493  *
18494  *     def __repr__(self):             # <<<<<<<<<<<<<<
18495  *         return "<StringSourceDescriptor:%s>" % self.name
18496  *
18497  */
18498   __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_22StringSourceDescriptor_13__repr__, 0, __pyx_n_s_StringSourceDescriptor___repr, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__84)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 309, __pyx_L1_error)
18499   __Pyx_GOTREF(__pyx_t_4);
18500   if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_repr_2, __pyx_t_4) < 0) __PYX_ERR(0, 309, __pyx_L1_error)
18501   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18502 
18503   /* "Cython/Compiler/Scanning.py":274
18504  *
18505  *
18506  * class StringSourceDescriptor(SourceDescriptor):             # <<<<<<<<<<<<<<
18507  *     """
18508  *     Instances of this class can be used instead of a filenames if the
18509  */
18510   __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_StringSourceDescriptor, __pyx_t_3, __pyx_t_1, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L1_error)
18511   __Pyx_GOTREF(__pyx_t_4);
18512   if (PyDict_SetItem(__pyx_d, __pyx_n_s_StringSourceDescriptor, __pyx_t_4) < 0) __PYX_ERR(0, 274, __pyx_L1_error)
18513   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18514   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
18515   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18516   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18517 
18518   /* "Cython/Compiler/Scanning.py":363
18519  *         self.next()
18520  *
18521  *     def commentline(self, text):             # <<<<<<<<<<<<<<
18522  *         if self.parse_comments:
18523  *             self.produce('commentline', text)
18524  */
18525   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_3commentline, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_commentline, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__86)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 363, __pyx_L1_error)
18526   __Pyx_GOTREF(__pyx_t_3);
18527   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_commentline, __pyx_t_3) < 0) __PYX_ERR(0, 363, __pyx_L1_error)
18528   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18529   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18530 
18531   /* "Cython/Compiler/Scanning.py":367
18532  *             self.produce('commentline', text)
18533  *
18534  *     def strip_underscores(self, text, symbol):             # <<<<<<<<<<<<<<
18535  *         self.produce(symbol, text.replace('_', ''))
18536  *
18537  */
18538   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_5strip_underscores, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_strip_underscores, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__88)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 367, __pyx_L1_error)
18539   __Pyx_GOTREF(__pyx_t_3);
18540   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_strip_underscores, __pyx_t_3) < 0) __PYX_ERR(0, 367, __pyx_L1_error)
18541   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18542   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18543 
18544   /* "Cython/Compiler/Scanning.py":373
18545  *         return self.indentation_stack[-1]
18546  *
18547  *     def open_bracket_action(self, text):             # <<<<<<<<<<<<<<
18548  *         self.bracket_nesting_level += 1
18549  *         return text
18550  */
18551   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_7open_bracket_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_open_bracket_action, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__90)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 373, __pyx_L1_error)
18552   __Pyx_GOTREF(__pyx_t_3);
18553   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_open_bracket_action, __pyx_t_3) < 0) __PYX_ERR(0, 373, __pyx_L1_error)
18554   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18555   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18556 
18557   /* "Cython/Compiler/Scanning.py":377
18558  *         return text
18559  *
18560  *     def close_bracket_action(self, text):             # <<<<<<<<<<<<<<
18561  *         self.bracket_nesting_level -= 1
18562  *         return text
18563  */
18564   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_9close_bracket_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_close_bracket_actio, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__92)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 377, __pyx_L1_error)
18565   __Pyx_GOTREF(__pyx_t_3);
18566   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_close_bracket_action, __pyx_t_3) < 0) __PYX_ERR(0, 377, __pyx_L1_error)
18567   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18568   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18569 
18570   /* "Cython/Compiler/Scanning.py":381
18571  *         return text
18572  *
18573  *     def newline_action(self, text):             # <<<<<<<<<<<<<<
18574  *         if self.bracket_nesting_level == 0:
18575  *             self.begin('INDENT')
18576  */
18577   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_11newline_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_newline_action, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__94)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 381, __pyx_L1_error)
18578   __Pyx_GOTREF(__pyx_t_3);
18579   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_newline_action, __pyx_t_3) < 0) __PYX_ERR(0, 381, __pyx_L1_error)
18580   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18581   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18582 
18583   /* "Cython/Compiler/Scanning.py":387
18584  *
18585  *     string_states = {
18586  *         "'":   'SQ_STRING',             # <<<<<<<<<<<<<<
18587  *         '"':   'DQ_STRING',
18588  *         "'''": 'TSQ_STRING',
18589  */
18590   __pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 387, __pyx_L1_error)
18591   __Pyx_GOTREF(__pyx_t_3);
18592   if (PyDict_SetItem(__pyx_t_3, __pyx_kp_u__15, __pyx_n_u_SQ_STRING) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
18593   if (PyDict_SetItem(__pyx_t_3, __pyx_kp_u__95, __pyx_n_u_DQ_STRING) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
18594   if (PyDict_SetItem(__pyx_t_3, __pyx_kp_u__96, __pyx_n_u_TSQ_STRING) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
18595   if (PyDict_SetItem(__pyx_t_3, __pyx_kp_u__97, __pyx_n_u_TDQ_STRING) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
18596   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_string_states, __pyx_t_3) < 0) __PYX_ERR(0, 386, __pyx_L1_error)
18597   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18598   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18599 
18600   /* "Cython/Compiler/Scanning.py":393
18601  *     }
18602  *
18603  *     def begin_string_action(self, text):             # <<<<<<<<<<<<<<
18604  *         while text[:1] in any_string_prefix:
18605  *             text = text[1:]
18606  */
18607   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_13begin_string_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_begin_string_action, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__99)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L1_error)
18608   __Pyx_GOTREF(__pyx_t_3);
18609   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_begin_string_action, __pyx_t_3) < 0) __PYX_ERR(0, 393, __pyx_L1_error)
18610   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18611   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18612 
18613   /* "Cython/Compiler/Scanning.py":399
18614  *         self.produce('BEGIN_STRING')
18615  *
18616  *     def end_string_action(self, text):             # <<<<<<<<<<<<<<
18617  *         self.begin('')
18618  *         self.produce('END_STRING')
18619  */
18620   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_15end_string_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_end_string_action, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__101)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L1_error)
18621   __Pyx_GOTREF(__pyx_t_3);
18622   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_end_string_action, __pyx_t_3) < 0) __PYX_ERR(0, 399, __pyx_L1_error)
18623   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18624   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18625 
18626   /* "Cython/Compiler/Scanning.py":403
18627  *         self.produce('END_STRING')
18628  *
18629  *     def unclosed_string_action(self, text):             # <<<<<<<<<<<<<<
18630  *         self.end_string_action(text)
18631  *         self.error("Unclosed string literal")
18632  */
18633   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_17unclosed_string_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_unclosed_string_act, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__103)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L1_error)
18634   __Pyx_GOTREF(__pyx_t_3);
18635   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_unclosed_string_action, __pyx_t_3) < 0) __PYX_ERR(0, 403, __pyx_L1_error)
18636   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18637   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18638 
18639   /* "Cython/Compiler/Scanning.py":407
18640  *         self.error("Unclosed string literal")
18641  *
18642  *     def indentation_action(self, text):             # <<<<<<<<<<<<<<
18643  *         self.begin('')
18644  *         # Indentation within brackets should be ignored.
18645  */
18646   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_19indentation_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_indentation_action, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__105)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 407, __pyx_L1_error)
18647   __Pyx_GOTREF(__pyx_t_3);
18648   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_indentation_action, __pyx_t_3) < 0) __PYX_ERR(0, 407, __pyx_L1_error)
18649   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18650   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18651 
18652   /* "Cython/Compiler/Scanning.py":443
18653  *                 self.error("Inconsistent indentation")
18654  *
18655  *     def eof_action(self, text):             # <<<<<<<<<<<<<<
18656  *         while len(self.indentation_stack) > 1:
18657  *             self.produce('DEDENT', '')
18658  */
18659   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_21eof_action, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_eof_action, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__107)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error)
18660   __Pyx_GOTREF(__pyx_t_3);
18661   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_eof_action, __pyx_t_3) < 0) __PYX_ERR(0, 443, __pyx_L1_error)
18662   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18663   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18664 
18665   /* "Cython/Compiler/Scanning.py":449
18666  *         self.produce('EOF', '')
18667  *
18668  *     def next(self):             # <<<<<<<<<<<<<<
18669  *         try:
18670  *             sy, systring = self.read()
18671  */
18672   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_23next, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_next, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__109)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 449, __pyx_L1_error)
18673   __Pyx_GOTREF(__pyx_t_3);
18674   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_next, __pyx_t_3) < 0) __PYX_ERR(0, 449, __pyx_L1_error)
18675   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18676   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18677 
18678   /* "Cython/Compiler/Scanning.py":474
18679  *             print("--- %3d %2d %s" % (line, col, t))
18680  *
18681  *     def peek(self):             # <<<<<<<<<<<<<<
18682  *         saved = self.sy, self.systring
18683  *         self.next()
18684  */
18685   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_25peek, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_peek, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__111)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L1_error)
18686   __Pyx_GOTREF(__pyx_t_3);
18687   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_peek, __pyx_t_3) < 0) __PYX_ERR(0, 474, __pyx_L1_error)
18688   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18689   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18690 
18691   /* "Cython/Compiler/Scanning.py":482
18692  *         return next
18693  *
18694  *     def put_back(self, sy, systring):             # <<<<<<<<<<<<<<
18695  *         self.unread(self.sy, self.systring)
18696  *         self.sy = sy
18697  */
18698   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_27put_back, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_put_back, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__113)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 482, __pyx_L1_error)
18699   __Pyx_GOTREF(__pyx_t_3);
18700   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_put_back, __pyx_t_3) < 0) __PYX_ERR(0, 482, __pyx_L1_error)
18701   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18702   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18703 
18704   /* "Cython/Compiler/Scanning.py":487
18705  *         self.systring = systring
18706  *
18707  *     def unread(self, token, value):             # <<<<<<<<<<<<<<
18708  *         # This method should be added to Plex
18709  *         self.queue.insert(0, (token, value))
18710  */
18711   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_29unread, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_unread, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__115)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error)
18712   __Pyx_GOTREF(__pyx_t_3);
18713   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_unread, __pyx_t_3) < 0) __PYX_ERR(0, 487, __pyx_L1_error)
18714   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18715   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18716 
18717   /* "Cython/Compiler/Scanning.py":491
18718  *         self.queue.insert(0, (token, value))
18719  *
18720  *     def error(self, message, pos=None, fatal=True):             # <<<<<<<<<<<<<<
18721  *         if pos is None:
18722  *             pos = self.position()
18723  */
18724   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_31error, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_error, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__117)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L1_error)
18725   __Pyx_GOTREF(__pyx_t_3);
18726   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_error, __pyx_t_3) < 0) __PYX_ERR(0, 491, __pyx_L1_error)
18727   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18728   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18729 
18730   /* "Cython/Compiler/Scanning.py":499
18731  *         if fatal: raise err
18732  *
18733  *     def expect(self, what, message=None):             # <<<<<<<<<<<<<<
18734  *         if self.sy == what:
18735  *             self.next()
18736  */
18737   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_33expect, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_expect, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__119)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 499, __pyx_L1_error)
18738   __Pyx_GOTREF(__pyx_t_3);
18739   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_expect, __pyx_t_3) < 0) __PYX_ERR(0, 499, __pyx_L1_error)
18740   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18741   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18742 
18743   /* "Cython/Compiler/Scanning.py":505
18744  *             self.expected(what, message)
18745  *
18746  *     def expect_keyword(self, what, message=None):             # <<<<<<<<<<<<<<
18747  *         if self.sy == IDENT and self.systring == what:
18748  *             self.next()
18749  */
18750   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_35expect_keyword, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_expect_keyword, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__121)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 505, __pyx_L1_error)
18751   __Pyx_GOTREF(__pyx_t_3);
18752   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_expect_keyword, __pyx_t_3) < 0) __PYX_ERR(0, 505, __pyx_L1_error)
18753   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18754   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18755 
18756   /* "Cython/Compiler/Scanning.py":511
18757  *             self.expected(what, message)
18758  *
18759  *     def expected(self, what, message=None):             # <<<<<<<<<<<<<<
18760  *         if message:
18761  *             self.error(message)
18762  */
18763   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_37expected, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_expected, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__123)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 511, __pyx_L1_error)
18764   __Pyx_GOTREF(__pyx_t_3);
18765   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_expected, __pyx_t_3) < 0) __PYX_ERR(0, 511, __pyx_L1_error)
18766   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18767   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18768 
18769   /* "Cython/Compiler/Scanning.py":521
18770  *             self.error("Expected '%s', found '%s'" % (what, found))
18771  *
18772  *     def expect_indent(self):             # <<<<<<<<<<<<<<
18773  *         self.expect('INDENT', "Expected an increase in indentation level")
18774  *
18775  */
18776   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_39expect_indent, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_expect_indent, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__125)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error)
18777   __Pyx_GOTREF(__pyx_t_3);
18778   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_expect_indent, __pyx_t_3) < 0) __PYX_ERR(0, 521, __pyx_L1_error)
18779   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18780   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18781 
18782   /* "Cython/Compiler/Scanning.py":524
18783  *         self.expect('INDENT', "Expected an increase in indentation level")
18784  *
18785  *     def expect_dedent(self):             # <<<<<<<<<<<<<<
18786  *         self.expect('DEDENT', "Expected a decrease in indentation level")
18787  *
18788  */
18789   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_41expect_dedent, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_expect_dedent, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__127)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error)
18790   __Pyx_GOTREF(__pyx_t_3);
18791   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_expect_dedent, __pyx_t_3) < 0) __PYX_ERR(0, 524, __pyx_L1_error)
18792   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18793   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18794 
18795   /* "Cython/Compiler/Scanning.py":527
18796  *         self.expect('DEDENT', "Expected a decrease in indentation level")
18797  *
18798  *     def expect_newline(self, message="Expected a newline", ignore_semicolon=False):             # <<<<<<<<<<<<<<
18799  *         # Expect either a newline or end of file
18800  *         useless_trailing_semicolon = None
18801  */
18802   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_43expect_newline, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_expect_newline, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__129)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error)
18803   __Pyx_GOTREF(__pyx_t_3);
18804   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_expect_newline, __pyx_t_3) < 0) __PYX_ERR(0, 527, __pyx_L1_error)
18805   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18806   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18807 
18808   /* "Cython/Compiler/Scanning.py":538
18809  *             warning(useless_trailing_semicolon, "useless trailing semicolon")
18810  *
18811  *     def enter_async(self):             # <<<<<<<<<<<<<<
18812  *         self.async_enabled += 1
18813  *         if self.async_enabled == 1:
18814  */
18815   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_45enter_async, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_enter_async, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__131)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error)
18816   __Pyx_GOTREF(__pyx_t_3);
18817   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_enter_async, __pyx_t_3) < 0) __PYX_ERR(0, 538, __pyx_L1_error)
18818   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18819   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18820 
18821   /* "Cython/Compiler/Scanning.py":544
18822  *             self.keywords.add('await')
18823  *
18824  *     def exit_async(self):             # <<<<<<<<<<<<<<
18825  *         assert self.async_enabled > 0
18826  *         self.async_enabled -= 1
18827  */
18828   __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6Cython_8Compiler_8Scanning_12PyrexScanner_47exit_async, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_PyrexScanner_exit_async, NULL, __pyx_n_s_Cython_Compiler_Scanning, __pyx_d, ((PyObject *)__pyx_codeobj__133)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error)
18829   __Pyx_GOTREF(__pyx_t_3);
18830   if (PyDict_SetItem((PyObject *)__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner->tp_dict, __pyx_n_s_exit_async, __pyx_t_3) < 0) __PYX_ERR(0, 544, __pyx_L1_error)
18831   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18832   PyType_Modified(__pyx_ptype_6Cython_8Compiler_8Scanning_PyrexScanner);
18833 
18834   /* "Cython/Compiler/Scanning.py":1
18835  * # cython: infer_types=True, language_level=3, py2_import=True, auto_pickle=False             # <<<<<<<<<<<<<<
18836  * #
18837  * #   Cython Scanner
18838  */
18839   __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
18840   __Pyx_GOTREF(__pyx_t_3);
18841   if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
18842   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18843 
18844   /*--- Wrapped vars code ---*/
18845 
18846   goto __pyx_L0;
18847   __pyx_L1_error:;
18848   __Pyx_XDECREF(__pyx_t_1);
18849   __Pyx_XDECREF(__pyx_t_2);
18850   __Pyx_XDECREF(__pyx_t_3);
18851   __Pyx_XDECREF(__pyx_t_4);
18852   if (__pyx_m) {
18853     if (__pyx_d) {
18854       __Pyx_AddTraceback("init Cython.Compiler.Scanning", __pyx_clineno, __pyx_lineno, __pyx_filename);
18855     }
18856     Py_CLEAR(__pyx_m);
18857   } else if (!PyErr_Occurred()) {
18858     PyErr_SetString(PyExc_ImportError, "init Cython.Compiler.Scanning");
18859   }
18860   __pyx_L0:;
18861   __Pyx_RefNannyFinishContext();
18862   #if CYTHON_PEP489_MULTI_PHASE_INIT
18863   return (__pyx_m != NULL) ? 0 : -1;
18864   #elif PY_MAJOR_VERSION >= 3
18865   return __pyx_m;
18866   #else
18867   return;
18868   #endif
18869 }
18870 
18871 /* --- Runtime support code --- */
18872 /* Refnanny */
18873 #if CYTHON_REFNANNY
__Pyx_RefNannyImportAPI(const char * modname)18874 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
18875     PyObject *m = NULL, *p = NULL;
18876     void *r = NULL;
18877     m = PyImport_ImportModule(modname);
18878     if (!m) goto end;
18879     p = PyObject_GetAttrString(m, "RefNannyAPI");
18880     if (!p) goto end;
18881     r = PyLong_AsVoidPtr(p);
18882 end:
18883     Py_XDECREF(p);
18884     Py_XDECREF(m);
18885     return (__Pyx_RefNannyAPIStruct *)r;
18886 }
18887 #endif
18888 
18889 /* PyObjectGetAttrStr */
18890 #if CYTHON_USE_TYPE_SLOTS
__Pyx_PyObject_GetAttrStr(PyObject * obj,PyObject * attr_name)18891 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
18892     PyTypeObject* tp = Py_TYPE(obj);
18893     if (likely(tp->tp_getattro))
18894         return tp->tp_getattro(obj, attr_name);
18895 #if PY_MAJOR_VERSION < 3
18896     if (likely(tp->tp_getattr))
18897         return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
18898 #endif
18899     return PyObject_GetAttr(obj, attr_name);
18900 }
18901 #endif
18902 
18903 /* GetBuiltinName */
__Pyx_GetBuiltinName(PyObject * name)18904 static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
18905     PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
18906     if (unlikely(!result)) {
18907         PyErr_Format(PyExc_NameError,
18908 #if PY_MAJOR_VERSION >= 3
18909             "name '%U' is not defined", name);
18910 #else
18911             "name '%.200s' is not defined", PyString_AS_STRING(name));
18912 #endif
18913     }
18914     return result;
18915 }
18916 
18917 /* PyFunctionFastCall */
18918 #if CYTHON_FAST_PYCALL
__Pyx_PyFunction_FastCallNoKw(PyCodeObject * co,PyObject ** args,Py_ssize_t na,PyObject * globals)18919 static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
18920                                                PyObject *globals) {
18921     PyFrameObject *f;
18922     PyThreadState *tstate = __Pyx_PyThreadState_Current;
18923     PyObject **fastlocals;
18924     Py_ssize_t i;
18925     PyObject *result;
18926     assert(globals != NULL);
18927     /* XXX Perhaps we should create a specialized
18928        PyFrame_New() that doesn't take locals, but does
18929        take builtins without sanity checking them.
18930        */
18931     assert(tstate != NULL);
18932     f = PyFrame_New(tstate, co, globals, NULL);
18933     if (f == NULL) {
18934         return NULL;
18935     }
18936     fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
18937     for (i = 0; i < na; i++) {
18938         Py_INCREF(*args);
18939         fastlocals[i] = *args++;
18940     }
18941     result = PyEval_EvalFrameEx(f,0);
18942     ++tstate->recursion_depth;
18943     Py_DECREF(f);
18944     --tstate->recursion_depth;
18945     return result;
18946 }
18947 #if 1 || PY_VERSION_HEX < 0x030600B1
__Pyx_PyFunction_FastCallDict(PyObject * func,PyObject ** args,Py_ssize_t nargs,PyObject * kwargs)18948 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
18949     PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
18950     PyObject *globals = PyFunction_GET_GLOBALS(func);
18951     PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
18952     PyObject *closure;
18953 #if PY_MAJOR_VERSION >= 3
18954     PyObject *kwdefs;
18955 #endif
18956     PyObject *kwtuple, **k;
18957     PyObject **d;
18958     Py_ssize_t nd;
18959     Py_ssize_t nk;
18960     PyObject *result;
18961     assert(kwargs == NULL || PyDict_Check(kwargs));
18962     nk = kwargs ? PyDict_Size(kwargs) : 0;
18963     if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
18964         return NULL;
18965     }
18966     if (
18967 #if PY_MAJOR_VERSION >= 3
18968             co->co_kwonlyargcount == 0 &&
18969 #endif
18970             likely(kwargs == NULL || nk == 0) &&
18971             co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
18972         if (argdefs == NULL && co->co_argcount == nargs) {
18973             result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
18974             goto done;
18975         }
18976         else if (nargs == 0 && argdefs != NULL
18977                  && co->co_argcount == Py_SIZE(argdefs)) {
18978             /* function called with no arguments, but all parameters have
18979                a default value: use default values as arguments .*/
18980             args = &PyTuple_GET_ITEM(argdefs, 0);
18981             result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
18982             goto done;
18983         }
18984     }
18985     if (kwargs != NULL) {
18986         Py_ssize_t pos, i;
18987         kwtuple = PyTuple_New(2 * nk);
18988         if (kwtuple == NULL) {
18989             result = NULL;
18990             goto done;
18991         }
18992         k = &PyTuple_GET_ITEM(kwtuple, 0);
18993         pos = i = 0;
18994         while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
18995             Py_INCREF(k[i]);
18996             Py_INCREF(k[i+1]);
18997             i += 2;
18998         }
18999         nk = i / 2;
19000     }
19001     else {
19002         kwtuple = NULL;
19003         k = NULL;
19004     }
19005     closure = PyFunction_GET_CLOSURE(func);
19006 #if PY_MAJOR_VERSION >= 3
19007     kwdefs = PyFunction_GET_KW_DEFAULTS(func);
19008 #endif
19009     if (argdefs != NULL) {
19010         d = &PyTuple_GET_ITEM(argdefs, 0);
19011         nd = Py_SIZE(argdefs);
19012     }
19013     else {
19014         d = NULL;
19015         nd = 0;
19016     }
19017 #if PY_MAJOR_VERSION >= 3
19018     result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
19019                                args, (int)nargs,
19020                                k, (int)nk,
19021                                d, (int)nd, kwdefs, closure);
19022 #else
19023     result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
19024                                args, (int)nargs,
19025                                k, (int)nk,
19026                                d, (int)nd, closure);
19027 #endif
19028     Py_XDECREF(kwtuple);
19029 done:
19030     Py_LeaveRecursiveCall();
19031     return result;
19032 }
19033 #endif
19034 #endif
19035 
19036 /* PyObjectCall */
19037 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_PyObject_Call(PyObject * func,PyObject * arg,PyObject * kw)19038 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
19039     PyObject *result;
19040     ternaryfunc call = Py_TYPE(func)->tp_call;
19041     if (unlikely(!call))
19042         return PyObject_Call(func, arg, kw);
19043     if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
19044         return NULL;
19045     result = (*call)(func, arg, kw);
19046     Py_LeaveRecursiveCall();
19047     if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
19048         PyErr_SetString(
19049             PyExc_SystemError,
19050             "NULL result without error in PyObject_Call");
19051     }
19052     return result;
19053 }
19054 #endif
19055 
19056 /* PyObjectCallMethO */
19057 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_PyObject_CallMethO(PyObject * func,PyObject * arg)19058 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
19059     PyObject *self, *result;
19060     PyCFunction cfunc;
19061     cfunc = PyCFunction_GET_FUNCTION(func);
19062     self = PyCFunction_GET_SELF(func);
19063     if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
19064         return NULL;
19065     result = cfunc(self, arg);
19066     Py_LeaveRecursiveCall();
19067     if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
19068         PyErr_SetString(
19069             PyExc_SystemError,
19070             "NULL result without error in PyObject_Call");
19071     }
19072     return result;
19073 }
19074 #endif
19075 
19076 /* PyObjectCallNoArg */
19077 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_PyObject_CallNoArg(PyObject * func)19078 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
19079 #if CYTHON_FAST_PYCALL
19080     if (PyFunction_Check(func)) {
19081         return __Pyx_PyFunction_FastCall(func, NULL, 0);
19082     }
19083 #endif
19084 #ifdef __Pyx_CyFunction_USED
19085     if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
19086 #else
19087     if (likely(PyCFunction_Check(func)))
19088 #endif
19089     {
19090         if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
19091             return __Pyx_PyObject_CallMethO(func, NULL);
19092         }
19093     }
19094     return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
19095 }
19096 #endif
19097 
19098 /* PyCFunctionFastCall */
19099 #if CYTHON_FAST_PYCCALL
__Pyx_PyCFunction_FastCall(PyObject * func_obj,PyObject ** args,Py_ssize_t nargs)19100 static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
19101     PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
19102     PyCFunction meth = PyCFunction_GET_FUNCTION(func);
19103     PyObject *self = PyCFunction_GET_SELF(func);
19104     int flags = PyCFunction_GET_FLAGS(func);
19105     assert(PyCFunction_Check(func));
19106     assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
19107     assert(nargs >= 0);
19108     assert(nargs == 0 || args != NULL);
19109     /* _PyCFunction_FastCallDict() must not be called with an exception set,
19110        because it may clear it (directly or indirectly) and so the
19111        caller loses its exception */
19112     assert(!PyErr_Occurred());
19113     if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
19114         return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
19115     } else {
19116         return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
19117     }
19118 }
19119 #endif
19120 
19121 /* PyObjectCallOneArg */
19122 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx__PyObject_CallOneArg(PyObject * func,PyObject * arg)19123 static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
19124     PyObject *result;
19125     PyObject *args = PyTuple_New(1);
19126     if (unlikely(!args)) return NULL;
19127     Py_INCREF(arg);
19128     PyTuple_SET_ITEM(args, 0, arg);
19129     result = __Pyx_PyObject_Call(func, args, NULL);
19130     Py_DECREF(args);
19131     return result;
19132 }
__Pyx_PyObject_CallOneArg(PyObject * func,PyObject * arg)19133 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
19134 #if CYTHON_FAST_PYCALL
19135     if (PyFunction_Check(func)) {
19136         return __Pyx_PyFunction_FastCall(func, &arg, 1);
19137     }
19138 #endif
19139     if (likely(PyCFunction_Check(func))) {
19140         if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
19141             return __Pyx_PyObject_CallMethO(func, arg);
19142 #if CYTHON_FAST_PYCCALL
19143         } else if (__Pyx_PyFastCFunction_Check(func)) {
19144             return __Pyx_PyCFunction_FastCall(func, &arg, 1);
19145 #endif
19146         }
19147     }
19148     return __Pyx__PyObject_CallOneArg(func, arg);
19149 }
19150 #else
__Pyx_PyObject_CallOneArg(PyObject * func,PyObject * arg)19151 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
19152     PyObject *result;
19153     PyObject *args = PyTuple_Pack(1, arg);
19154     if (unlikely(!args)) return NULL;
19155     result = __Pyx_PyObject_Call(func, args, NULL);
19156     Py_DECREF(args);
19157     return result;
19158 }
19159 #endif
19160 
19161 /* RaiseDoubleKeywords */
__Pyx_RaiseDoubleKeywordsError(const char * func_name,PyObject * kw_name)19162 static void __Pyx_RaiseDoubleKeywordsError(
19163     const char* func_name,
19164     PyObject* kw_name)
19165 {
19166     PyErr_Format(PyExc_TypeError,
19167         #if PY_MAJOR_VERSION >= 3
19168         "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
19169         #else
19170         "%s() got multiple values for keyword argument '%s'", func_name,
19171         PyString_AsString(kw_name));
19172         #endif
19173 }
19174 
19175 /* ParseKeywords */
__Pyx_ParseOptionalKeywords(PyObject * kwds,PyObject ** argnames[],PyObject * kwds2,PyObject * values[],Py_ssize_t num_pos_args,const char * function_name)19176 static int __Pyx_ParseOptionalKeywords(
19177     PyObject *kwds,
19178     PyObject **argnames[],
19179     PyObject *kwds2,
19180     PyObject *values[],
19181     Py_ssize_t num_pos_args,
19182     const char* function_name)
19183 {
19184     PyObject *key = 0, *value = 0;
19185     Py_ssize_t pos = 0;
19186     PyObject*** name;
19187     PyObject*** first_kw_arg = argnames + num_pos_args;
19188     while (PyDict_Next(kwds, &pos, &key, &value)) {
19189         name = first_kw_arg;
19190         while (*name && (**name != key)) name++;
19191         if (*name) {
19192             values[name-argnames] = value;
19193             continue;
19194         }
19195         name = first_kw_arg;
19196         #if PY_MAJOR_VERSION < 3
19197         if (likely(PyString_Check(key))) {
19198             while (*name) {
19199                 if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
19200                         && _PyString_Eq(**name, key)) {
19201                     values[name-argnames] = value;
19202                     break;
19203                 }
19204                 name++;
19205             }
19206             if (*name) continue;
19207             else {
19208                 PyObject*** argname = argnames;
19209                 while (argname != first_kw_arg) {
19210                     if ((**argname == key) || (
19211                             (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
19212                              && _PyString_Eq(**argname, key))) {
19213                         goto arg_passed_twice;
19214                     }
19215                     argname++;
19216                 }
19217             }
19218         } else
19219         #endif
19220         if (likely(PyUnicode_Check(key))) {
19221             while (*name) {
19222                 int cmp = (**name == key) ? 0 :
19223                 #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
19224                     (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
19225                 #endif
19226                     PyUnicode_Compare(**name, key);
19227                 if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
19228                 if (cmp == 0) {
19229                     values[name-argnames] = value;
19230                     break;
19231                 }
19232                 name++;
19233             }
19234             if (*name) continue;
19235             else {
19236                 PyObject*** argname = argnames;
19237                 while (argname != first_kw_arg) {
19238                     int cmp = (**argname == key) ? 0 :
19239                     #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
19240                         (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
19241                     #endif
19242                         PyUnicode_Compare(**argname, key);
19243                     if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
19244                     if (cmp == 0) goto arg_passed_twice;
19245                     argname++;
19246                 }
19247             }
19248         } else
19249             goto invalid_keyword_type;
19250         if (kwds2) {
19251             if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
19252         } else {
19253             goto invalid_keyword;
19254         }
19255     }
19256     return 0;
19257 arg_passed_twice:
19258     __Pyx_RaiseDoubleKeywordsError(function_name, key);
19259     goto bad;
19260 invalid_keyword_type:
19261     PyErr_Format(PyExc_TypeError,
19262         "%.200s() keywords must be strings", function_name);
19263     goto bad;
19264 invalid_keyword:
19265     PyErr_Format(PyExc_TypeError,
19266     #if PY_MAJOR_VERSION < 3
19267         "%.200s() got an unexpected keyword argument '%.200s'",
19268         function_name, PyString_AsString(key));
19269     #else
19270         "%s() got an unexpected keyword argument '%U'",
19271         function_name, key);
19272     #endif
19273 bad:
19274     return -1;
19275 }
19276 
19277 /* RaiseArgTupleInvalid */
__Pyx_RaiseArgtupleInvalid(const char * func_name,int exact,Py_ssize_t num_min,Py_ssize_t num_max,Py_ssize_t num_found)19278 static void __Pyx_RaiseArgtupleInvalid(
19279     const char* func_name,
19280     int exact,
19281     Py_ssize_t num_min,
19282     Py_ssize_t num_max,
19283     Py_ssize_t num_found)
19284 {
19285     Py_ssize_t num_expected;
19286     const char *more_or_less;
19287     if (num_found < num_min) {
19288         num_expected = num_min;
19289         more_or_less = "at least";
19290     } else {
19291         num_expected = num_max;
19292         more_or_less = "at most";
19293     }
19294     if (exact) {
19295         more_or_less = "exactly";
19296     }
19297     PyErr_Format(PyExc_TypeError,
19298                  "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
19299                  func_name, more_or_less, num_expected,
19300                  (num_expected == 1) ? "" : "s", num_found);
19301 }
19302 
19303 /* GetAttr */
__Pyx_GetAttr(PyObject * o,PyObject * n)19304 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
19305 #if CYTHON_USE_TYPE_SLOTS
19306 #if PY_MAJOR_VERSION >= 3
19307     if (likely(PyUnicode_Check(n)))
19308 #else
19309     if (likely(PyString_Check(n)))
19310 #endif
19311         return __Pyx_PyObject_GetAttrStr(o, n);
19312 #endif
19313     return PyObject_GetAttr(o, n);
19314 }
19315 
19316 /* PyObjectCall2Args */
__Pyx_PyObject_Call2Args(PyObject * function,PyObject * arg1,PyObject * arg2)19317 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
19318     PyObject *args, *result = NULL;
19319     #if CYTHON_FAST_PYCALL
19320     if (PyFunction_Check(function)) {
19321         PyObject *args[2] = {arg1, arg2};
19322         return __Pyx_PyFunction_FastCall(function, args, 2);
19323     }
19324     #endif
19325     #if CYTHON_FAST_PYCCALL
19326     if (__Pyx_PyFastCFunction_Check(function)) {
19327         PyObject *args[2] = {arg1, arg2};
19328         return __Pyx_PyCFunction_FastCall(function, args, 2);
19329     }
19330     #endif
19331     args = PyTuple_New(2);
19332     if (unlikely(!args)) goto done;
19333     Py_INCREF(arg1);
19334     PyTuple_SET_ITEM(args, 0, arg1);
19335     Py_INCREF(arg2);
19336     PyTuple_SET_ITEM(args, 1, arg2);
19337     Py_INCREF(function);
19338     result = __Pyx_PyObject_Call(function, args, NULL);
19339     Py_DECREF(args);
19340     Py_DECREF(function);
19341 done:
19342     return result;
19343 }
19344 
19345 /* ExtTypeTest */
__Pyx_TypeTest(PyObject * obj,PyTypeObject * type)19346 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
19347     if (unlikely(!type)) {
19348         PyErr_SetString(PyExc_SystemError, "Missing type object");
19349         return 0;
19350     }
19351     if (likely(__Pyx_TypeCheck(obj, type)))
19352         return 1;
19353     PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
19354                  Py_TYPE(obj)->tp_name, type->tp_name);
19355     return 0;
19356 }
19357 
19358 /* DictGetItem */
19359 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
__Pyx_PyDict_GetItem(PyObject * d,PyObject * key)19360 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
19361     PyObject *value;
19362     value = PyDict_GetItemWithError(d, key);
19363     if (unlikely(!value)) {
19364         if (!PyErr_Occurred()) {
19365             if (unlikely(PyTuple_Check(key))) {
19366                 PyObject* args = PyTuple_Pack(1, key);
19367                 if (likely(args)) {
19368                     PyErr_SetObject(PyExc_KeyError, args);
19369                     Py_DECREF(args);
19370                 }
19371             } else {
19372                 PyErr_SetObject(PyExc_KeyError, key);
19373             }
19374         }
19375         return NULL;
19376     }
19377     Py_INCREF(value);
19378     return value;
19379 }
19380 #endif
19381 
19382 /* GetTopmostException */
19383 #if CYTHON_USE_EXC_INFO_STACK
19384 static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState * tstate)19385 __Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
19386 {
19387     _PyErr_StackItem *exc_info = tstate->exc_info;
19388     while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
19389            exc_info->previous_item != NULL)
19390     {
19391         exc_info = exc_info->previous_item;
19392     }
19393     return exc_info;
19394 }
19395 #endif
19396 
19397 /* SaveResetException */
19398 #if CYTHON_FAST_THREAD_STATE
__Pyx__ExceptionSave(PyThreadState * tstate,PyObject ** type,PyObject ** value,PyObject ** tb)19399 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
19400     #if CYTHON_USE_EXC_INFO_STACK
19401     _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
19402     *type = exc_info->exc_type;
19403     *value = exc_info->exc_value;
19404     *tb = exc_info->exc_traceback;
19405     #else
19406     *type = tstate->exc_type;
19407     *value = tstate->exc_value;
19408     *tb = tstate->exc_traceback;
19409     #endif
19410     Py_XINCREF(*type);
19411     Py_XINCREF(*value);
19412     Py_XINCREF(*tb);
19413 }
__Pyx__ExceptionReset(PyThreadState * tstate,PyObject * type,PyObject * value,PyObject * tb)19414 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
19415     PyObject *tmp_type, *tmp_value, *tmp_tb;
19416     #if CYTHON_USE_EXC_INFO_STACK
19417     _PyErr_StackItem *exc_info = tstate->exc_info;
19418     tmp_type = exc_info->exc_type;
19419     tmp_value = exc_info->exc_value;
19420     tmp_tb = exc_info->exc_traceback;
19421     exc_info->exc_type = type;
19422     exc_info->exc_value = value;
19423     exc_info->exc_traceback = tb;
19424     #else
19425     tmp_type = tstate->exc_type;
19426     tmp_value = tstate->exc_value;
19427     tmp_tb = tstate->exc_traceback;
19428     tstate->exc_type = type;
19429     tstate->exc_value = value;
19430     tstate->exc_traceback = tb;
19431     #endif
19432     Py_XDECREF(tmp_type);
19433     Py_XDECREF(tmp_value);
19434     Py_XDECREF(tmp_tb);
19435 }
19436 #endif
19437 
19438 /* PyErrExceptionMatches */
19439 #if CYTHON_FAST_THREAD_STATE
__Pyx_PyErr_ExceptionMatchesTuple(PyObject * exc_type,PyObject * tuple)19440 static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
19441     Py_ssize_t i, n;
19442     n = PyTuple_GET_SIZE(tuple);
19443 #if PY_MAJOR_VERSION >= 3
19444     for (i=0; i<n; i++) {
19445         if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
19446     }
19447 #endif
19448     for (i=0; i<n; i++) {
19449         if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
19450     }
19451     return 0;
19452 }
__Pyx_PyErr_ExceptionMatchesInState(PyThreadState * tstate,PyObject * err)19453 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
19454     PyObject *exc_type = tstate->curexc_type;
19455     if (exc_type == err) return 1;
19456     if (unlikely(!exc_type)) return 0;
19457     if (unlikely(PyTuple_Check(err)))
19458         return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
19459     return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
19460 }
19461 #endif
19462 
19463 /* GetException */
19464 #if CYTHON_FAST_THREAD_STATE
__Pyx__GetException(PyThreadState * tstate,PyObject ** type,PyObject ** value,PyObject ** tb)19465 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
19466 #else
19467 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
19468 #endif
19469 {
19470     PyObject *local_type, *local_value, *local_tb;
19471 #if CYTHON_FAST_THREAD_STATE
19472     PyObject *tmp_type, *tmp_value, *tmp_tb;
19473     local_type = tstate->curexc_type;
19474     local_value = tstate->curexc_value;
19475     local_tb = tstate->curexc_traceback;
19476     tstate->curexc_type = 0;
19477     tstate->curexc_value = 0;
19478     tstate->curexc_traceback = 0;
19479 #else
19480     PyErr_Fetch(&local_type, &local_value, &local_tb);
19481 #endif
19482     PyErr_NormalizeException(&local_type, &local_value, &local_tb);
19483 #if CYTHON_FAST_THREAD_STATE
19484     if (unlikely(tstate->curexc_type))
19485 #else
19486     if (unlikely(PyErr_Occurred()))
19487 #endif
19488         goto bad;
19489     #if PY_MAJOR_VERSION >= 3
19490     if (local_tb) {
19491         if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
19492             goto bad;
19493     }
19494     #endif
19495     Py_XINCREF(local_tb);
19496     Py_XINCREF(local_type);
19497     Py_XINCREF(local_value);
19498     *type = local_type;
19499     *value = local_value;
19500     *tb = local_tb;
19501 #if CYTHON_FAST_THREAD_STATE
19502     #if CYTHON_USE_EXC_INFO_STACK
19503     {
19504         _PyErr_StackItem *exc_info = tstate->exc_info;
19505         tmp_type = exc_info->exc_type;
19506         tmp_value = exc_info->exc_value;
19507         tmp_tb = exc_info->exc_traceback;
19508         exc_info->exc_type = local_type;
19509         exc_info->exc_value = local_value;
19510         exc_info->exc_traceback = local_tb;
19511     }
19512     #else
19513     tmp_type = tstate->exc_type;
19514     tmp_value = tstate->exc_value;
19515     tmp_tb = tstate->exc_traceback;
19516     tstate->exc_type = local_type;
19517     tstate->exc_value = local_value;
19518     tstate->exc_traceback = local_tb;
19519     #endif
19520     Py_XDECREF(tmp_type);
19521     Py_XDECREF(tmp_value);
19522     Py_XDECREF(tmp_tb);
19523 #else
19524     PyErr_SetExcInfo(local_type, local_value, local_tb);
19525 #endif
19526     return 0;
19527 bad:
19528     *type = 0;
19529     *value = 0;
19530     *tb = 0;
19531     Py_XDECREF(local_type);
19532     Py_XDECREF(local_value);
19533     Py_XDECREF(local_tb);
19534     return -1;
19535 }
19536 
19537 /* PyErrFetchRestore */
19538 #if CYTHON_FAST_THREAD_STATE
__Pyx_ErrRestoreInState(PyThreadState * tstate,PyObject * type,PyObject * value,PyObject * tb)19539 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
19540     PyObject *tmp_type, *tmp_value, *tmp_tb;
19541     tmp_type = tstate->curexc_type;
19542     tmp_value = tstate->curexc_value;
19543     tmp_tb = tstate->curexc_traceback;
19544     tstate->curexc_type = type;
19545     tstate->curexc_value = value;
19546     tstate->curexc_traceback = tb;
19547     Py_XDECREF(tmp_type);
19548     Py_XDECREF(tmp_value);
19549     Py_XDECREF(tmp_tb);
19550 }
__Pyx_ErrFetchInState(PyThreadState * tstate,PyObject ** type,PyObject ** value,PyObject ** tb)19551 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
19552     *type = tstate->curexc_type;
19553     *value = tstate->curexc_value;
19554     *tb = tstate->curexc_traceback;
19555     tstate->curexc_type = 0;
19556     tstate->curexc_value = 0;
19557     tstate->curexc_traceback = 0;
19558 }
19559 #endif
19560 
19561 /* RaiseTooManyValuesToUnpack */
__Pyx_RaiseTooManyValuesError(Py_ssize_t expected)19562 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
19563     PyErr_Format(PyExc_ValueError,
19564                  "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
19565 }
19566 
19567 /* RaiseNeedMoreValuesToUnpack */
__Pyx_RaiseNeedMoreValuesError(Py_ssize_t index)19568 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
19569     PyErr_Format(PyExc_ValueError,
19570                  "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
19571                  index, (index == 1) ? "" : "s");
19572 }
19573 
19574 /* IterFinish */
__Pyx_IterFinish(void)19575 static CYTHON_INLINE int __Pyx_IterFinish(void) {
19576 #if CYTHON_FAST_THREAD_STATE
19577     PyThreadState *tstate = __Pyx_PyThreadState_Current;
19578     PyObject* exc_type = tstate->curexc_type;
19579     if (unlikely(exc_type)) {
19580         if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
19581             PyObject *exc_value, *exc_tb;
19582             exc_value = tstate->curexc_value;
19583             exc_tb = tstate->curexc_traceback;
19584             tstate->curexc_type = 0;
19585             tstate->curexc_value = 0;
19586             tstate->curexc_traceback = 0;
19587             Py_DECREF(exc_type);
19588             Py_XDECREF(exc_value);
19589             Py_XDECREF(exc_tb);
19590             return 0;
19591         } else {
19592             return -1;
19593         }
19594     }
19595     return 0;
19596 #else
19597     if (unlikely(PyErr_Occurred())) {
19598         if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
19599             PyErr_Clear();
19600             return 0;
19601         } else {
19602             return -1;
19603         }
19604     }
19605     return 0;
19606 #endif
19607 }
19608 
19609 /* UnpackItemEndCheck */
__Pyx_IternextUnpackEndCheck(PyObject * retval,Py_ssize_t expected)19610 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
19611     if (unlikely(retval)) {
19612         Py_DECREF(retval);
19613         __Pyx_RaiseTooManyValuesError(expected);
19614         return -1;
19615     } else {
19616         return __Pyx_IterFinish();
19617     }
19618     return 0;
19619 }
19620 
19621 /* Import */
__Pyx_Import(PyObject * name,PyObject * from_list,int level)19622 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
19623     PyObject *empty_list = 0;
19624     PyObject *module = 0;
19625     PyObject *global_dict = 0;
19626     PyObject *empty_dict = 0;
19627     PyObject *list;
19628     #if PY_MAJOR_VERSION < 3
19629     PyObject *py_import;
19630     py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
19631     if (!py_import)
19632         goto bad;
19633     #endif
19634     if (from_list)
19635         list = from_list;
19636     else {
19637         empty_list = PyList_New(0);
19638         if (!empty_list)
19639             goto bad;
19640         list = empty_list;
19641     }
19642     global_dict = PyModule_GetDict(__pyx_m);
19643     if (!global_dict)
19644         goto bad;
19645     empty_dict = PyDict_New();
19646     if (!empty_dict)
19647         goto bad;
19648     {
19649         #if PY_MAJOR_VERSION >= 3
19650         if (level == -1) {
19651             if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
19652                 module = PyImport_ImportModuleLevelObject(
19653                     name, global_dict, empty_dict, list, 1);
19654                 if (!module) {
19655                     if (!PyErr_ExceptionMatches(PyExc_ImportError))
19656                         goto bad;
19657                     PyErr_Clear();
19658                 }
19659             }
19660             level = 0;
19661         }
19662         #endif
19663         if (!module) {
19664             #if PY_MAJOR_VERSION < 3
19665             PyObject *py_level = PyInt_FromLong(level);
19666             if (!py_level)
19667                 goto bad;
19668             module = PyObject_CallFunctionObjArgs(py_import,
19669                 name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
19670             Py_DECREF(py_level);
19671             #else
19672             module = PyImport_ImportModuleLevelObject(
19673                 name, global_dict, empty_dict, list, level);
19674             #endif
19675         }
19676     }
19677 bad:
19678     #if PY_MAJOR_VERSION < 3
19679     Py_XDECREF(py_import);
19680     #endif
19681     Py_XDECREF(empty_list);
19682     Py_XDECREF(empty_dict);
19683     return module;
19684 }
19685 
19686 /* ImportFrom */
__Pyx_ImportFrom(PyObject * module,PyObject * name)19687 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
19688     PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
19689     if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
19690         PyErr_Format(PyExc_ImportError,
19691         #if PY_MAJOR_VERSION < 3
19692             "cannot import name %.230s", PyString_AS_STRING(name));
19693         #else
19694             "cannot import name %S", name);
19695         #endif
19696     }
19697     return value;
19698 }
19699 
19700 /* GetAttr3 */
__Pyx_GetAttr3Default(PyObject * d)19701 static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
19702     __Pyx_PyThreadState_declare
19703     __Pyx_PyThreadState_assign
19704     if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
19705         return NULL;
19706     __Pyx_PyErr_Clear();
19707     Py_INCREF(d);
19708     return d;
19709 }
__Pyx_GetAttr3(PyObject * o,PyObject * n,PyObject * d)19710 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
19711     PyObject *r = __Pyx_GetAttr(o, n);
19712     return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
19713 }
19714 
19715 /* BytesEquals */
__Pyx_PyBytes_Equals(PyObject * s1,PyObject * s2,int equals)19716 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
19717 #if CYTHON_COMPILING_IN_PYPY
19718     return PyObject_RichCompareBool(s1, s2, equals);
19719 #else
19720     if (s1 == s2) {
19721         return (equals == Py_EQ);
19722     } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
19723         const char *ps1, *ps2;
19724         Py_ssize_t length = PyBytes_GET_SIZE(s1);
19725         if (length != PyBytes_GET_SIZE(s2))
19726             return (equals == Py_NE);
19727         ps1 = PyBytes_AS_STRING(s1);
19728         ps2 = PyBytes_AS_STRING(s2);
19729         if (ps1[0] != ps2[0]) {
19730             return (equals == Py_NE);
19731         } else if (length == 1) {
19732             return (equals == Py_EQ);
19733         } else {
19734             int result;
19735 #if CYTHON_USE_UNICODE_INTERNALS
19736             Py_hash_t hash1, hash2;
19737             hash1 = ((PyBytesObject*)s1)->ob_shash;
19738             hash2 = ((PyBytesObject*)s2)->ob_shash;
19739             if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
19740                 return (equals == Py_NE);
19741             }
19742 #endif
19743             result = memcmp(ps1, ps2, (size_t)length);
19744             return (equals == Py_EQ) ? (result == 0) : (result != 0);
19745         }
19746     } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
19747         return (equals == Py_NE);
19748     } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
19749         return (equals == Py_NE);
19750     } else {
19751         int result;
19752         PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
19753         if (!py_result)
19754             return -1;
19755         result = __Pyx_PyObject_IsTrue(py_result);
19756         Py_DECREF(py_result);
19757         return result;
19758     }
19759 #endif
19760 }
19761 
19762 /* UnicodeEquals */
__Pyx_PyUnicode_Equals(PyObject * s1,PyObject * s2,int equals)19763 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
19764 #if CYTHON_COMPILING_IN_PYPY
19765     return PyObject_RichCompareBool(s1, s2, equals);
19766 #else
19767 #if PY_MAJOR_VERSION < 3
19768     PyObject* owned_ref = NULL;
19769 #endif
19770     int s1_is_unicode, s2_is_unicode;
19771     if (s1 == s2) {
19772         goto return_eq;
19773     }
19774     s1_is_unicode = PyUnicode_CheckExact(s1);
19775     s2_is_unicode = PyUnicode_CheckExact(s2);
19776 #if PY_MAJOR_VERSION < 3
19777     if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
19778         owned_ref = PyUnicode_FromObject(s2);
19779         if (unlikely(!owned_ref))
19780             return -1;
19781         s2 = owned_ref;
19782         s2_is_unicode = 1;
19783     } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
19784         owned_ref = PyUnicode_FromObject(s1);
19785         if (unlikely(!owned_ref))
19786             return -1;
19787         s1 = owned_ref;
19788         s1_is_unicode = 1;
19789     } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
19790         return __Pyx_PyBytes_Equals(s1, s2, equals);
19791     }
19792 #endif
19793     if (s1_is_unicode & s2_is_unicode) {
19794         Py_ssize_t length;
19795         int kind;
19796         void *data1, *data2;
19797         if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
19798             return -1;
19799         length = __Pyx_PyUnicode_GET_LENGTH(s1);
19800         if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
19801             goto return_ne;
19802         }
19803 #if CYTHON_USE_UNICODE_INTERNALS
19804         {
19805             Py_hash_t hash1, hash2;
19806         #if CYTHON_PEP393_ENABLED
19807             hash1 = ((PyASCIIObject*)s1)->hash;
19808             hash2 = ((PyASCIIObject*)s2)->hash;
19809         #else
19810             hash1 = ((PyUnicodeObject*)s1)->hash;
19811             hash2 = ((PyUnicodeObject*)s2)->hash;
19812         #endif
19813             if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
19814                 goto return_ne;
19815             }
19816         }
19817 #endif
19818         kind = __Pyx_PyUnicode_KIND(s1);
19819         if (kind != __Pyx_PyUnicode_KIND(s2)) {
19820             goto return_ne;
19821         }
19822         data1 = __Pyx_PyUnicode_DATA(s1);
19823         data2 = __Pyx_PyUnicode_DATA(s2);
19824         if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
19825             goto return_ne;
19826         } else if (length == 1) {
19827             goto return_eq;
19828         } else {
19829             int result = memcmp(data1, data2, (size_t)(length * kind));
19830             #if PY_MAJOR_VERSION < 3
19831             Py_XDECREF(owned_ref);
19832             #endif
19833             return (equals == Py_EQ) ? (result == 0) : (result != 0);
19834         }
19835     } else if ((s1 == Py_None) & s2_is_unicode) {
19836         goto return_ne;
19837     } else if ((s2 == Py_None) & s1_is_unicode) {
19838         goto return_ne;
19839     } else {
19840         int result;
19841         PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
19842         #if PY_MAJOR_VERSION < 3
19843         Py_XDECREF(owned_ref);
19844         #endif
19845         if (!py_result)
19846             return -1;
19847         result = __Pyx_PyObject_IsTrue(py_result);
19848         Py_DECREF(py_result);
19849         return result;
19850     }
19851 return_eq:
19852     #if PY_MAJOR_VERSION < 3
19853     Py_XDECREF(owned_ref);
19854     #endif
19855     return (equals == Py_EQ);
19856 return_ne:
19857     #if PY_MAJOR_VERSION < 3
19858     Py_XDECREF(owned_ref);
19859     #endif
19860     return (equals == Py_NE);
19861 #endif
19862 }
19863 
19864 /* SliceObject */
__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)19865 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
19866         Py_ssize_t cstart, Py_ssize_t cstop,
19867         PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
19868         int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
19869 #if CYTHON_USE_TYPE_SLOTS
19870     PyMappingMethods* mp;
19871 #if PY_MAJOR_VERSION < 3
19872     PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
19873     if (likely(ms && ms->sq_slice)) {
19874         if (!has_cstart) {
19875             if (_py_start && (*_py_start != Py_None)) {
19876                 cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
19877                 if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
19878             } else
19879                 cstart = 0;
19880         }
19881         if (!has_cstop) {
19882             if (_py_stop && (*_py_stop != Py_None)) {
19883                 cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
19884                 if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
19885             } else
19886                 cstop = PY_SSIZE_T_MAX;
19887         }
19888         if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
19889             Py_ssize_t l = ms->sq_length(obj);
19890             if (likely(l >= 0)) {
19891                 if (cstop < 0) {
19892                     cstop += l;
19893                     if (cstop < 0) cstop = 0;
19894                 }
19895                 if (cstart < 0) {
19896                     cstart += l;
19897                     if (cstart < 0) cstart = 0;
19898                 }
19899             } else {
19900                 if (!PyErr_ExceptionMatches(PyExc_OverflowError))
19901                     goto bad;
19902                 PyErr_Clear();
19903             }
19904         }
19905         return ms->sq_slice(obj, cstart, cstop);
19906     }
19907 #endif
19908     mp = Py_TYPE(obj)->tp_as_mapping;
19909     if (likely(mp && mp->mp_subscript))
19910 #endif
19911     {
19912         PyObject* result;
19913         PyObject *py_slice, *py_start, *py_stop;
19914         if (_py_slice) {
19915             py_slice = *_py_slice;
19916         } else {
19917             PyObject* owned_start = NULL;
19918             PyObject* owned_stop = NULL;
19919             if (_py_start) {
19920                 py_start = *_py_start;
19921             } else {
19922                 if (has_cstart) {
19923                     owned_start = py_start = PyInt_FromSsize_t(cstart);
19924                     if (unlikely(!py_start)) goto bad;
19925                 } else
19926                     py_start = Py_None;
19927             }
19928             if (_py_stop) {
19929                 py_stop = *_py_stop;
19930             } else {
19931                 if (has_cstop) {
19932                     owned_stop = py_stop = PyInt_FromSsize_t(cstop);
19933                     if (unlikely(!py_stop)) {
19934                         Py_XDECREF(owned_start);
19935                         goto bad;
19936                     }
19937                 } else
19938                     py_stop = Py_None;
19939             }
19940             py_slice = PySlice_New(py_start, py_stop, Py_None);
19941             Py_XDECREF(owned_start);
19942             Py_XDECREF(owned_stop);
19943             if (unlikely(!py_slice)) goto bad;
19944         }
19945 #if CYTHON_USE_TYPE_SLOTS
19946         result = mp->mp_subscript(obj, py_slice);
19947 #else
19948         result = PyObject_GetItem(obj, py_slice);
19949 #endif
19950         if (!_py_slice) {
19951             Py_DECREF(py_slice);
19952         }
19953         return result;
19954     }
19955     PyErr_Format(PyExc_TypeError,
19956         "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
19957 bad:
19958     return NULL;
19959 }
19960 
19961 /* PyObjectSetAttrStr */
19962 #if CYTHON_USE_TYPE_SLOTS
__Pyx_PyObject_SetAttrStr(PyObject * obj,PyObject * attr_name,PyObject * value)19963 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
19964     PyTypeObject* tp = Py_TYPE(obj);
19965     if (likely(tp->tp_setattro))
19966         return tp->tp_setattro(obj, attr_name, value);
19967 #if PY_MAJOR_VERSION < 3
19968     if (likely(tp->tp_setattr))
19969         return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
19970 #endif
19971     return PyObject_SetAttr(obj, attr_name, value);
19972 }
19973 #endif
19974 
19975 /* PyDictVersioning */
19976 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
__Pyx_get_tp_dict_version(PyObject * obj)19977 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
19978     PyObject *dict = Py_TYPE(obj)->tp_dict;
19979     return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
19980 }
__Pyx_get_object_dict_version(PyObject * obj)19981 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
19982     PyObject **dictptr = NULL;
19983     Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
19984     if (offset) {
19985 #if CYTHON_COMPILING_IN_CPYTHON
19986         dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
19987 #else
19988         dictptr = _PyObject_GetDictPtr(obj);
19989 #endif
19990     }
19991     return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
19992 }
__Pyx_object_dict_version_matches(PyObject * obj,PY_UINT64_T tp_dict_version,PY_UINT64_T obj_dict_version)19993 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
19994     PyObject *dict = Py_TYPE(obj)->tp_dict;
19995     if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
19996         return 0;
19997     return obj_dict_version == __Pyx_get_object_dict_version(obj);
19998 }
19999 #endif
20000 
20001 /* GetModuleGlobalName */
20002 #if CYTHON_USE_DICT_VERSIONS
__Pyx__GetModuleGlobalName(PyObject * name,PY_UINT64_T * dict_version,PyObject ** dict_cached_value)20003 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
20004 #else
20005 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
20006 #endif
20007 {
20008     PyObject *result;
20009 #if !CYTHON_AVOID_BORROWED_REFS
20010 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
20011     result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
20012     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
20013     if (likely(result)) {
20014         return __Pyx_NewRef(result);
20015     } else if (unlikely(PyErr_Occurred())) {
20016         return NULL;
20017     }
20018 #else
20019     result = PyDict_GetItem(__pyx_d, name);
20020     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
20021     if (likely(result)) {
20022         return __Pyx_NewRef(result);
20023     }
20024 #endif
20025 #else
20026     result = PyObject_GetItem(__pyx_d, name);
20027     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
20028     if (likely(result)) {
20029         return __Pyx_NewRef(result);
20030     }
20031     PyErr_Clear();
20032 #endif
20033     return __Pyx_GetBuiltinName(name);
20034 }
20035 
20036 /* GetItemInt */
__Pyx_GetItemInt_Generic(PyObject * o,PyObject * j)20037 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
20038     PyObject *r;
20039     if (!j) return NULL;
20040     r = PyObject_GetItem(o, j);
20041     Py_DECREF(j);
20042     return r;
20043 }
__Pyx_GetItemInt_List_Fast(PyObject * o,Py_ssize_t i,CYTHON_NCP_UNUSED int wraparound,CYTHON_NCP_UNUSED int boundscheck)20044 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
20045                                                               CYTHON_NCP_UNUSED int wraparound,
20046                                                               CYTHON_NCP_UNUSED int boundscheck) {
20047 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
20048     Py_ssize_t wrapped_i = i;
20049     if (wraparound & unlikely(i < 0)) {
20050         wrapped_i += PyList_GET_SIZE(o);
20051     }
20052     if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
20053         PyObject *r = PyList_GET_ITEM(o, wrapped_i);
20054         Py_INCREF(r);
20055         return r;
20056     }
20057     return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
20058 #else
20059     return PySequence_GetItem(o, i);
20060 #endif
20061 }
__Pyx_GetItemInt_Tuple_Fast(PyObject * o,Py_ssize_t i,CYTHON_NCP_UNUSED int wraparound,CYTHON_NCP_UNUSED int boundscheck)20062 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
20063                                                               CYTHON_NCP_UNUSED int wraparound,
20064                                                               CYTHON_NCP_UNUSED int boundscheck) {
20065 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
20066     Py_ssize_t wrapped_i = i;
20067     if (wraparound & unlikely(i < 0)) {
20068         wrapped_i += PyTuple_GET_SIZE(o);
20069     }
20070     if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
20071         PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
20072         Py_INCREF(r);
20073         return r;
20074     }
20075     return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
20076 #else
20077     return PySequence_GetItem(o, i);
20078 #endif
20079 }
__Pyx_GetItemInt_Fast(PyObject * o,Py_ssize_t i,int is_list,CYTHON_NCP_UNUSED int wraparound,CYTHON_NCP_UNUSED int boundscheck)20080 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
20081                                                      CYTHON_NCP_UNUSED int wraparound,
20082                                                      CYTHON_NCP_UNUSED int boundscheck) {
20083 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
20084     if (is_list || PyList_CheckExact(o)) {
20085         Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
20086         if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
20087             PyObject *r = PyList_GET_ITEM(o, n);
20088             Py_INCREF(r);
20089             return r;
20090         }
20091     }
20092     else if (PyTuple_CheckExact(o)) {
20093         Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
20094         if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
20095             PyObject *r = PyTuple_GET_ITEM(o, n);
20096             Py_INCREF(r);
20097             return r;
20098         }
20099     } else {
20100         PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
20101         if (likely(m && m->sq_item)) {
20102             if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
20103                 Py_ssize_t l = m->sq_length(o);
20104                 if (likely(l >= 0)) {
20105                     i += l;
20106                 } else {
20107                     if (!PyErr_ExceptionMatches(PyExc_OverflowError))
20108                         return NULL;
20109                     PyErr_Clear();
20110                 }
20111             }
20112             return m->sq_item(o, i);
20113         }
20114     }
20115 #else
20116     if (is_list || PySequence_Check(o)) {
20117         return PySequence_GetItem(o, i);
20118     }
20119 #endif
20120     return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
20121 }
20122 
20123 /* ObjectGetItem */
20124 #if CYTHON_USE_TYPE_SLOTS
__Pyx_PyObject_GetIndex(PyObject * obj,PyObject * index)20125 static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
20126     PyObject *runerr;
20127     Py_ssize_t key_value;
20128     PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
20129     if (unlikely(!(m && m->sq_item))) {
20130         PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
20131         return NULL;
20132     }
20133     key_value = __Pyx_PyIndex_AsSsize_t(index);
20134     if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
20135         return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
20136     }
20137     if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
20138         PyErr_Clear();
20139         PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
20140     }
20141     return NULL;
20142 }
__Pyx_PyObject_GetItem(PyObject * obj,PyObject * key)20143 static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
20144     PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
20145     if (likely(m && m->mp_subscript)) {
20146         return m->mp_subscript(obj, key);
20147     }
20148     return __Pyx_PyObject_GetIndex(obj, key);
20149 }
20150 #endif
20151 
20152 /* None */
__Pyx_RaiseUnboundLocalError(const char * varname)20153 static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
20154     PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
20155 }
20156 
20157 /* WriteUnraisableException */
__Pyx_WriteUnraisable(const char * name,CYTHON_UNUSED int clineno,CYTHON_UNUSED int lineno,CYTHON_UNUSED const char * filename,int full_traceback,CYTHON_UNUSED int nogil)20158 static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
20159                                   CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
20160                                   int full_traceback, CYTHON_UNUSED int nogil) {
20161     PyObject *old_exc, *old_val, *old_tb;
20162     PyObject *ctx;
20163     __Pyx_PyThreadState_declare
20164 #ifdef WITH_THREAD
20165     PyGILState_STATE state;
20166     if (nogil)
20167         state = PyGILState_Ensure();
20168 #ifdef _MSC_VER
20169     else state = (PyGILState_STATE)-1;
20170 #endif
20171 #endif
20172     __Pyx_PyThreadState_assign
20173     __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
20174     if (full_traceback) {
20175         Py_XINCREF(old_exc);
20176         Py_XINCREF(old_val);
20177         Py_XINCREF(old_tb);
20178         __Pyx_ErrRestore(old_exc, old_val, old_tb);
20179         PyErr_PrintEx(1);
20180     }
20181     #if PY_MAJOR_VERSION < 3
20182     ctx = PyString_FromString(name);
20183     #else
20184     ctx = PyUnicode_FromString(name);
20185     #endif
20186     __Pyx_ErrRestore(old_exc, old_val, old_tb);
20187     if (!ctx) {
20188         PyErr_WriteUnraisable(Py_None);
20189     } else {
20190         PyErr_WriteUnraisable(ctx);
20191         Py_DECREF(ctx);
20192     }
20193 #ifdef WITH_THREAD
20194     if (nogil)
20195         PyGILState_Release(state);
20196 #endif
20197 }
20198 
20199 /* PyObjectGetMethod */
__Pyx_PyObject_GetMethod(PyObject * obj,PyObject * name,PyObject ** method)20200 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
20201     PyObject *attr;
20202 #if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
20203     PyTypeObject *tp = Py_TYPE(obj);
20204     PyObject *descr;
20205     descrgetfunc f = NULL;
20206     PyObject **dictptr, *dict;
20207     int meth_found = 0;
20208     assert (*method == NULL);
20209     if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
20210         attr = __Pyx_PyObject_GetAttrStr(obj, name);
20211         goto try_unpack;
20212     }
20213     if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
20214         return 0;
20215     }
20216     descr = _PyType_Lookup(tp, name);
20217     if (likely(descr != NULL)) {
20218         Py_INCREF(descr);
20219 #if PY_MAJOR_VERSION >= 3
20220         #ifdef __Pyx_CyFunction_USED
20221         if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
20222         #else
20223         if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type)))
20224         #endif
20225 #else
20226         #ifdef __Pyx_CyFunction_USED
20227         if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
20228         #else
20229         if (likely(PyFunction_Check(descr)))
20230         #endif
20231 #endif
20232         {
20233             meth_found = 1;
20234         } else {
20235             f = Py_TYPE(descr)->tp_descr_get;
20236             if (f != NULL && PyDescr_IsData(descr)) {
20237                 attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
20238                 Py_DECREF(descr);
20239                 goto try_unpack;
20240             }
20241         }
20242     }
20243     dictptr = _PyObject_GetDictPtr(obj);
20244     if (dictptr != NULL && (dict = *dictptr) != NULL) {
20245         Py_INCREF(dict);
20246         attr = __Pyx_PyDict_GetItemStr(dict, name);
20247         if (attr != NULL) {
20248             Py_INCREF(attr);
20249             Py_DECREF(dict);
20250             Py_XDECREF(descr);
20251             goto try_unpack;
20252         }
20253         Py_DECREF(dict);
20254     }
20255     if (meth_found) {
20256         *method = descr;
20257         return 1;
20258     }
20259     if (f != NULL) {
20260         attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
20261         Py_DECREF(descr);
20262         goto try_unpack;
20263     }
20264     if (descr != NULL) {
20265         *method = descr;
20266         return 0;
20267     }
20268     PyErr_Format(PyExc_AttributeError,
20269 #if PY_MAJOR_VERSION >= 3
20270                  "'%.50s' object has no attribute '%U'",
20271                  tp->tp_name, name);
20272 #else
20273                  "'%.50s' object has no attribute '%.400s'",
20274                  tp->tp_name, PyString_AS_STRING(name));
20275 #endif
20276     return 0;
20277 #else
20278     attr = __Pyx_PyObject_GetAttrStr(obj, name);
20279     goto try_unpack;
20280 #endif
20281 try_unpack:
20282 #if CYTHON_UNPACK_METHODS
20283     if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
20284         PyObject *function = PyMethod_GET_FUNCTION(attr);
20285         Py_INCREF(function);
20286         Py_DECREF(attr);
20287         *method = function;
20288         return 1;
20289     }
20290 #endif
20291     *method = attr;
20292     return 0;
20293 }
20294 
20295 /* PyObjectCallMethod0 */
__Pyx_PyObject_CallMethod0(PyObject * obj,PyObject * method_name)20296 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
20297     PyObject *method = NULL, *result = NULL;
20298     int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
20299     if (likely(is_method)) {
20300         result = __Pyx_PyObject_CallOneArg(method, obj);
20301         Py_DECREF(method);
20302         return result;
20303     }
20304     if (unlikely(!method)) goto bad;
20305     result = __Pyx_PyObject_CallNoArg(method);
20306     Py_DECREF(method);
20307 bad:
20308     return result;
20309 }
20310 
20311 /* UnpackUnboundCMethod */
__Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction * target)20312 static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
20313     PyObject *method;
20314     method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
20315     if (unlikely(!method))
20316         return -1;
20317     target->method = method;
20318 #if CYTHON_COMPILING_IN_CPYTHON
20319     #if PY_MAJOR_VERSION >= 3
20320     if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
20321     #endif
20322     {
20323         PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
20324         target->func = descr->d_method->ml_meth;
20325         target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
20326     }
20327 #endif
20328     return 0;
20329 }
20330 
20331 /* CallUnboundCMethod0 */
__Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction * cfunc,PyObject * self)20332 static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
20333     PyObject *args, *result = NULL;
20334     if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
20335 #if CYTHON_ASSUME_SAFE_MACROS
20336     args = PyTuple_New(1);
20337     if (unlikely(!args)) goto bad;
20338     Py_INCREF(self);
20339     PyTuple_SET_ITEM(args, 0, self);
20340 #else
20341     args = PyTuple_Pack(1, self);
20342     if (unlikely(!args)) goto bad;
20343 #endif
20344     result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
20345     Py_DECREF(args);
20346 bad:
20347     return result;
20348 }
20349 
20350 /* pop */
__Pyx__PyObject_Pop(PyObject * L)20351 static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L) {
20352     if (Py_TYPE(L) == &PySet_Type) {
20353         return PySet_Pop(L);
20354     }
20355     return __Pyx_PyObject_CallMethod0(L, __pyx_n_s_pop);
20356 }
20357 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
__Pyx_PyList_Pop(PyObject * L)20358 static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L) {
20359     if (likely(PyList_GET_SIZE(L) > (((PyListObject*)L)->allocated >> 1))) {
20360         __Pyx_SET_SIZE(L, Py_SIZE(L) - 1);
20361         return PyList_GET_ITEM(L, PyList_GET_SIZE(L));
20362     }
20363     return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_pop, L);
20364 }
20365 #endif
20366 
20367 /* RaiseNoneIterError */
__Pyx_RaiseNoneNotIterableError(void)20368 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
20369     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
20370 }
20371 
20372 /* FastTypeChecks */
20373 #if CYTHON_COMPILING_IN_CPYTHON
__Pyx_InBases(PyTypeObject * a,PyTypeObject * b)20374 static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
20375     while (a) {
20376         a = a->tp_base;
20377         if (a == b)
20378             return 1;
20379     }
20380     return b == &PyBaseObject_Type;
20381 }
__Pyx_IsSubtype(PyTypeObject * a,PyTypeObject * b)20382 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
20383     PyObject *mro;
20384     if (a == b) return 1;
20385     mro = a->tp_mro;
20386     if (likely(mro)) {
20387         Py_ssize_t i, n;
20388         n = PyTuple_GET_SIZE(mro);
20389         for (i = 0; i < n; i++) {
20390             if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
20391                 return 1;
20392         }
20393         return 0;
20394     }
20395     return __Pyx_InBases(a, b);
20396 }
20397 #if PY_MAJOR_VERSION == 2
__Pyx_inner_PyErr_GivenExceptionMatches2(PyObject * err,PyObject * exc_type1,PyObject * exc_type2)20398 static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
20399     PyObject *exception, *value, *tb;
20400     int res;
20401     __Pyx_PyThreadState_declare
20402     __Pyx_PyThreadState_assign
20403     __Pyx_ErrFetch(&exception, &value, &tb);
20404     res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
20405     if (unlikely(res == -1)) {
20406         PyErr_WriteUnraisable(err);
20407         res = 0;
20408     }
20409     if (!res) {
20410         res = PyObject_IsSubclass(err, exc_type2);
20411         if (unlikely(res == -1)) {
20412             PyErr_WriteUnraisable(err);
20413             res = 0;
20414         }
20415     }
20416     __Pyx_ErrRestore(exception, value, tb);
20417     return res;
20418 }
20419 #else
__Pyx_inner_PyErr_GivenExceptionMatches2(PyObject * err,PyObject * exc_type1,PyObject * exc_type2)20420 static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
20421     int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
20422     if (!res) {
20423         res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
20424     }
20425     return res;
20426 }
20427 #endif
__Pyx_PyErr_GivenExceptionMatchesTuple(PyObject * exc_type,PyObject * tuple)20428 static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
20429     Py_ssize_t i, n;
20430     assert(PyExceptionClass_Check(exc_type));
20431     n = PyTuple_GET_SIZE(tuple);
20432 #if PY_MAJOR_VERSION >= 3
20433     for (i=0; i<n; i++) {
20434         if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
20435     }
20436 #endif
20437     for (i=0; i<n; i++) {
20438         PyObject *t = PyTuple_GET_ITEM(tuple, i);
20439         #if PY_MAJOR_VERSION < 3
20440         if (likely(exc_type == t)) return 1;
20441         #endif
20442         if (likely(PyExceptionClass_Check(t))) {
20443             if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
20444         } else {
20445         }
20446     }
20447     return 0;
20448 }
__Pyx_PyErr_GivenExceptionMatches(PyObject * err,PyObject * exc_type)20449 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
20450     if (likely(err == exc_type)) return 1;
20451     if (likely(PyExceptionClass_Check(err))) {
20452         if (likely(PyExceptionClass_Check(exc_type))) {
20453             return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
20454         } else if (likely(PyTuple_Check(exc_type))) {
20455             return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
20456         } else {
20457         }
20458     }
20459     return PyErr_GivenExceptionMatches(err, exc_type);
20460 }
__Pyx_PyErr_GivenExceptionMatches2(PyObject * err,PyObject * exc_type1,PyObject * exc_type2)20461 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
20462     assert(PyExceptionClass_Check(exc_type1));
20463     assert(PyExceptionClass_Check(exc_type2));
20464     if (likely(err == exc_type1 || err == exc_type2)) return 1;
20465     if (likely(PyExceptionClass_Check(err))) {
20466         return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
20467     }
20468     return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
20469 }
20470 #endif
20471 
20472 /* pyfrozenset_new */
__Pyx_PyFrozenSet_New(PyObject * it)20473 static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
20474     if (it) {
20475         PyObject* result;
20476 #if CYTHON_COMPILING_IN_PYPY
20477         PyObject* args;
20478         args = PyTuple_Pack(1, it);
20479         if (unlikely(!args))
20480             return NULL;
20481         result = PyObject_Call((PyObject*)&PyFrozenSet_Type, args, NULL);
20482         Py_DECREF(args);
20483         return result;
20484 #else
20485         if (PyFrozenSet_CheckExact(it)) {
20486             Py_INCREF(it);
20487             return it;
20488         }
20489         result = PyFrozenSet_New(it);
20490         if (unlikely(!result))
20491             return NULL;
20492         if ((PY_VERSION_HEX >= 0x031000A1) || likely(PySet_GET_SIZE(result)))
20493             return result;
20494         Py_DECREF(result);
20495 #endif
20496     }
20497 #if CYTHON_USE_TYPE_SLOTS
20498     return PyFrozenSet_Type.tp_new(&PyFrozenSet_Type, __pyx_empty_tuple, NULL);
20499 #else
20500     return PyObject_Call((PyObject*)&PyFrozenSet_Type, __pyx_empty_tuple, NULL);
20501 #endif
20502 }
20503 
20504 /* PySetContains */
__Pyx_PySet_ContainsUnhashable(PyObject * set,PyObject * key)20505 static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
20506     int result = -1;
20507     if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) {
20508         PyObject *tmpkey;
20509         PyErr_Clear();
20510         tmpkey = __Pyx_PyFrozenSet_New(key);
20511         if (tmpkey != NULL) {
20512             result = PySet_Contains(set, tmpkey);
20513             Py_DECREF(tmpkey);
20514         }
20515     }
20516     return result;
20517 }
__Pyx_PySet_ContainsTF(PyObject * key,PyObject * set,int eq)20518 static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq) {
20519     int result = PySet_Contains(set, key);
20520     if (unlikely(result < 0)) {
20521         result = __Pyx_PySet_ContainsUnhashable(set, key);
20522     }
20523     return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
20524 }
20525 
20526 /* py_set_discard_unhashable */
__Pyx_PySet_DiscardUnhashable(PyObject * set,PyObject * key)20527 static int __Pyx_PySet_DiscardUnhashable(PyObject *set, PyObject *key) {
20528     PyObject *tmpkey;
20529     int rv;
20530     if (likely(!PySet_Check(key) || !PyErr_ExceptionMatches(PyExc_TypeError)))
20531         return -1;
20532     PyErr_Clear();
20533     tmpkey = __Pyx_PyFrozenSet_New(key);
20534     if (tmpkey == NULL)
20535         return -1;
20536     rv = PySet_Discard(set, tmpkey);
20537     Py_DECREF(tmpkey);
20538     return rv;
20539 }
20540 
20541 /* py_set_discard */
__Pyx_PySet_Discard(PyObject * set,PyObject * key)20542 static CYTHON_INLINE int __Pyx_PySet_Discard(PyObject *set, PyObject *key) {
20543     int found = PySet_Discard(set, key);
20544     if (unlikely(found < 0)) {
20545         found = __Pyx_PySet_DiscardUnhashable(set, key);
20546     }
20547     return found;
20548 }
20549 
20550 /* RaiseException */
20551 #if PY_MAJOR_VERSION < 3
__Pyx_Raise(PyObject * type,PyObject * value,PyObject * tb,CYTHON_UNUSED PyObject * cause)20552 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
20553                         CYTHON_UNUSED PyObject *cause) {
20554     __Pyx_PyThreadState_declare
20555     Py_XINCREF(type);
20556     if (!value || value == Py_None)
20557         value = NULL;
20558     else
20559         Py_INCREF(value);
20560     if (!tb || tb == Py_None)
20561         tb = NULL;
20562     else {
20563         Py_INCREF(tb);
20564         if (!PyTraceBack_Check(tb)) {
20565             PyErr_SetString(PyExc_TypeError,
20566                 "raise: arg 3 must be a traceback or None");
20567             goto raise_error;
20568         }
20569     }
20570     if (PyType_Check(type)) {
20571 #if CYTHON_COMPILING_IN_PYPY
20572         if (!value) {
20573             Py_INCREF(Py_None);
20574             value = Py_None;
20575         }
20576 #endif
20577         PyErr_NormalizeException(&type, &value, &tb);
20578     } else {
20579         if (value) {
20580             PyErr_SetString(PyExc_TypeError,
20581                 "instance exception may not have a separate value");
20582             goto raise_error;
20583         }
20584         value = type;
20585         type = (PyObject*) Py_TYPE(type);
20586         Py_INCREF(type);
20587         if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
20588             PyErr_SetString(PyExc_TypeError,
20589                 "raise: exception class must be a subclass of BaseException");
20590             goto raise_error;
20591         }
20592     }
20593     __Pyx_PyThreadState_assign
20594     __Pyx_ErrRestore(type, value, tb);
20595     return;
20596 raise_error:
20597     Py_XDECREF(value);
20598     Py_XDECREF(type);
20599     Py_XDECREF(tb);
20600     return;
20601 }
20602 #else
__Pyx_Raise(PyObject * type,PyObject * value,PyObject * tb,PyObject * cause)20603 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
20604     PyObject* owned_instance = NULL;
20605     if (tb == Py_None) {
20606         tb = 0;
20607     } else if (tb && !PyTraceBack_Check(tb)) {
20608         PyErr_SetString(PyExc_TypeError,
20609             "raise: arg 3 must be a traceback or None");
20610         goto bad;
20611     }
20612     if (value == Py_None)
20613         value = 0;
20614     if (PyExceptionInstance_Check(type)) {
20615         if (value) {
20616             PyErr_SetString(PyExc_TypeError,
20617                 "instance exception may not have a separate value");
20618             goto bad;
20619         }
20620         value = type;
20621         type = (PyObject*) Py_TYPE(value);
20622     } else if (PyExceptionClass_Check(type)) {
20623         PyObject *instance_class = NULL;
20624         if (value && PyExceptionInstance_Check(value)) {
20625             instance_class = (PyObject*) Py_TYPE(value);
20626             if (instance_class != type) {
20627                 int is_subclass = PyObject_IsSubclass(instance_class, type);
20628                 if (!is_subclass) {
20629                     instance_class = NULL;
20630                 } else if (unlikely(is_subclass == -1)) {
20631                     goto bad;
20632                 } else {
20633                     type = instance_class;
20634                 }
20635             }
20636         }
20637         if (!instance_class) {
20638             PyObject *args;
20639             if (!value)
20640                 args = PyTuple_New(0);
20641             else if (PyTuple_Check(value)) {
20642                 Py_INCREF(value);
20643                 args = value;
20644             } else
20645                 args = PyTuple_Pack(1, value);
20646             if (!args)
20647                 goto bad;
20648             owned_instance = PyObject_Call(type, args, NULL);
20649             Py_DECREF(args);
20650             if (!owned_instance)
20651                 goto bad;
20652             value = owned_instance;
20653             if (!PyExceptionInstance_Check(value)) {
20654                 PyErr_Format(PyExc_TypeError,
20655                              "calling %R should have returned an instance of "
20656                              "BaseException, not %R",
20657                              type, Py_TYPE(value));
20658                 goto bad;
20659             }
20660         }
20661     } else {
20662         PyErr_SetString(PyExc_TypeError,
20663             "raise: exception class must be a subclass of BaseException");
20664         goto bad;
20665     }
20666     if (cause) {
20667         PyObject *fixed_cause;
20668         if (cause == Py_None) {
20669             fixed_cause = NULL;
20670         } else if (PyExceptionClass_Check(cause)) {
20671             fixed_cause = PyObject_CallObject(cause, NULL);
20672             if (fixed_cause == NULL)
20673                 goto bad;
20674         } else if (PyExceptionInstance_Check(cause)) {
20675             fixed_cause = cause;
20676             Py_INCREF(fixed_cause);
20677         } else {
20678             PyErr_SetString(PyExc_TypeError,
20679                             "exception causes must derive from "
20680                             "BaseException");
20681             goto bad;
20682         }
20683         PyException_SetCause(value, fixed_cause);
20684     }
20685     PyErr_SetObject(type, value);
20686     if (tb) {
20687 #if CYTHON_COMPILING_IN_PYPY
20688         PyObject *tmp_type, *tmp_value, *tmp_tb;
20689         PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
20690         Py_INCREF(tb);
20691         PyErr_Restore(tmp_type, tmp_value, tb);
20692         Py_XDECREF(tmp_tb);
20693 #else
20694         PyThreadState *tstate = __Pyx_PyThreadState_Current;
20695         PyObject* tmp_tb = tstate->curexc_traceback;
20696         if (tb != tmp_tb) {
20697             Py_INCREF(tb);
20698             tstate->curexc_traceback = tb;
20699             Py_XDECREF(tmp_tb);
20700         }
20701 #endif
20702     }
20703 bad:
20704     Py_XDECREF(owned_instance);
20705     return;
20706 }
20707 #endif
20708 
20709 /* PyObjectFormatAndDecref */
__Pyx_PyObject_FormatSimpleAndDecref(PyObject * s,PyObject * f)20710 static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f) {
20711     if (unlikely(!s)) return NULL;
20712     if (likely(PyUnicode_CheckExact(s))) return s;
20713     #if PY_MAJOR_VERSION < 3
20714     if (likely(PyString_CheckExact(s))) {
20715         PyObject *result = PyUnicode_FromEncodedObject(s, NULL, "strict");
20716         Py_DECREF(s);
20717         return result;
20718     }
20719     #endif
20720     return __Pyx_PyObject_FormatAndDecref(s, f);
20721 }
__Pyx_PyObject_FormatAndDecref(PyObject * s,PyObject * f)20722 static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f) {
20723     PyObject *result = PyObject_Format(s, f);
20724     Py_DECREF(s);
20725     return result;
20726 }
20727 
20728 /* JoinPyUnicode */
__Pyx_PyUnicode_Join(PyObject * value_tuple,Py_ssize_t value_count,Py_ssize_t result_ulength,CYTHON_UNUSED Py_UCS4 max_char)20729 static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
20730                                       CYTHON_UNUSED Py_UCS4 max_char) {
20731 #if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
20732     PyObject *result_uval;
20733     int result_ukind;
20734     Py_ssize_t i, char_pos;
20735     void *result_udata;
20736 #if CYTHON_PEP393_ENABLED
20737     result_uval = PyUnicode_New(result_ulength, max_char);
20738     if (unlikely(!result_uval)) return NULL;
20739     result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND;
20740     result_udata = PyUnicode_DATA(result_uval);
20741 #else
20742     result_uval = PyUnicode_FromUnicode(NULL, result_ulength);
20743     if (unlikely(!result_uval)) return NULL;
20744     result_ukind = sizeof(Py_UNICODE);
20745     result_udata = PyUnicode_AS_UNICODE(result_uval);
20746 #endif
20747     char_pos = 0;
20748     for (i=0; i < value_count; i++) {
20749         int ukind;
20750         Py_ssize_t ulength;
20751         void *udata;
20752         PyObject *uval = PyTuple_GET_ITEM(value_tuple, i);
20753         if (unlikely(__Pyx_PyUnicode_READY(uval)))
20754             goto bad;
20755         ulength = __Pyx_PyUnicode_GET_LENGTH(uval);
20756         if (unlikely(!ulength))
20757             continue;
20758         if (unlikely(char_pos + ulength < 0))
20759             goto overflow;
20760         ukind = __Pyx_PyUnicode_KIND(uval);
20761         udata = __Pyx_PyUnicode_DATA(uval);
20762         if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) {
20763             memcpy((char *)result_udata + char_pos * result_ukind, udata, (size_t) (ulength * result_ukind));
20764         } else {
20765             #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
20766             _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
20767             #else
20768             Py_ssize_t j;
20769             for (j=0; j < ulength; j++) {
20770                 Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j);
20771                 __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar);
20772             }
20773             #endif
20774         }
20775         char_pos += ulength;
20776     }
20777     return result_uval;
20778 overflow:
20779     PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string");
20780 bad:
20781     Py_DECREF(result_uval);
20782     return NULL;
20783 #else
20784     result_ulength++;
20785     value_count++;
20786     return PyUnicode_Join(__pyx_empty_unicode, value_tuple);
20787 #endif
20788 }
20789 
20790 /* CallNextTpDealloc */
__Pyx_call_next_tp_dealloc(PyObject * obj,destructor current_tp_dealloc)20791 static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
20792     PyTypeObject* type = Py_TYPE(obj);
20793     while (type && type->tp_dealloc != current_tp_dealloc)
20794         type = type->tp_base;
20795     while (type && type->tp_dealloc == current_tp_dealloc)
20796         type = type->tp_base;
20797     if (type)
20798         type->tp_dealloc(obj);
20799 }
20800 
20801 /* CallNextTpTraverse */
__Pyx_call_next_tp_traverse(PyObject * obj,visitproc v,void * a,traverseproc current_tp_traverse)20802 static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
20803     PyTypeObject* type = Py_TYPE(obj);
20804     while (type && type->tp_traverse != current_tp_traverse)
20805         type = type->tp_base;
20806     while (type && type->tp_traverse == current_tp_traverse)
20807         type = type->tp_base;
20808     if (type && type->tp_traverse)
20809         return type->tp_traverse(obj, v, a);
20810     return 0;
20811 }
20812 
20813 /* CallNextTpClear */
__Pyx_call_next_tp_clear(PyObject * obj,inquiry current_tp_clear)20814 static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
20815     PyTypeObject* type = Py_TYPE(obj);
20816     while (type && type->tp_clear != current_tp_clear)
20817         type = type->tp_base;
20818     while (type && type->tp_clear == current_tp_clear)
20819         type = type->tp_base;
20820     if (type && type->tp_clear)
20821         type->tp_clear(obj);
20822 }
20823 
20824 /* PyObject_GenericGetAttrNoDict */
20825 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
__Pyx_RaiseGenericGetAttributeError(PyTypeObject * tp,PyObject * attr_name)20826 static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
20827     PyErr_Format(PyExc_AttributeError,
20828 #if PY_MAJOR_VERSION >= 3
20829                  "'%.50s' object has no attribute '%U'",
20830                  tp->tp_name, attr_name);
20831 #else
20832                  "'%.50s' object has no attribute '%.400s'",
20833                  tp->tp_name, PyString_AS_STRING(attr_name));
20834 #endif
20835     return NULL;
20836 }
__Pyx_PyObject_GenericGetAttrNoDict(PyObject * obj,PyObject * attr_name)20837 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
20838     PyObject *descr;
20839     PyTypeObject *tp = Py_TYPE(obj);
20840     if (unlikely(!PyString_Check(attr_name))) {
20841         return PyObject_GenericGetAttr(obj, attr_name);
20842     }
20843     assert(!tp->tp_dictoffset);
20844     descr = _PyType_Lookup(tp, attr_name);
20845     if (unlikely(!descr)) {
20846         return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
20847     }
20848     Py_INCREF(descr);
20849     #if PY_MAJOR_VERSION < 3
20850     if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
20851     #endif
20852     {
20853         descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
20854         if (unlikely(f)) {
20855             PyObject *res = f(descr, obj, (PyObject *)tp);
20856             Py_DECREF(descr);
20857             return res;
20858         }
20859     }
20860     return descr;
20861 }
20862 #endif
20863 
20864 /* PyObject_GenericGetAttr */
20865 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
__Pyx_PyObject_GenericGetAttr(PyObject * obj,PyObject * attr_name)20866 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
20867     if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
20868         return PyObject_GenericGetAttr(obj, attr_name);
20869     }
20870     return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
20871 }
20872 #endif
20873 
20874 /* TypeImport */
20875 #ifndef __PYX_HAVE_RT_ImportType
20876 #define __PYX_HAVE_RT_ImportType
__Pyx_ImportType(PyObject * module,const char * module_name,const char * class_name,size_t size,enum __Pyx_ImportType_CheckSize check_size)20877 static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
20878     size_t size, enum __Pyx_ImportType_CheckSize check_size)
20879 {
20880     PyObject *result = 0;
20881     char warning[200];
20882     Py_ssize_t basicsize;
20883 #ifdef Py_LIMITED_API
20884     PyObject *py_basicsize;
20885 #endif
20886     result = PyObject_GetAttrString(module, class_name);
20887     if (!result)
20888         goto bad;
20889     if (!PyType_Check(result)) {
20890         PyErr_Format(PyExc_TypeError,
20891             "%.200s.%.200s is not a type object",
20892             module_name, class_name);
20893         goto bad;
20894     }
20895 #ifndef Py_LIMITED_API
20896     basicsize = ((PyTypeObject *)result)->tp_basicsize;
20897 #else
20898     py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
20899     if (!py_basicsize)
20900         goto bad;
20901     basicsize = PyLong_AsSsize_t(py_basicsize);
20902     Py_DECREF(py_basicsize);
20903     py_basicsize = 0;
20904     if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
20905         goto bad;
20906 #endif
20907     if ((size_t)basicsize < size) {
20908         PyErr_Format(PyExc_ValueError,
20909             "%.200s.%.200s size changed, may indicate binary incompatibility. "
20910             "Expected %zd from C header, got %zd from PyObject",
20911             module_name, class_name, size, basicsize);
20912         goto bad;
20913     }
20914     if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
20915         PyErr_Format(PyExc_ValueError,
20916             "%.200s.%.200s size changed, may indicate binary incompatibility. "
20917             "Expected %zd from C header, got %zd from PyObject",
20918             module_name, class_name, size, basicsize);
20919         goto bad;
20920     }
20921     else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
20922         PyOS_snprintf(warning, sizeof(warning),
20923             "%s.%s size changed, may indicate binary incompatibility. "
20924             "Expected %zd from C header, got %zd from PyObject",
20925             module_name, class_name, size, basicsize);
20926         if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
20927     }
20928     return (PyTypeObject *)result;
20929 bad:
20930     Py_XDECREF(result);
20931     return NULL;
20932 }
20933 #endif
20934 
20935 /* GetVTable */
__Pyx_GetVtable(PyObject * dict)20936 static void* __Pyx_GetVtable(PyObject *dict) {
20937     void* ptr;
20938     PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable);
20939     if (!ob)
20940         goto bad;
20941 #if PY_VERSION_HEX >= 0x02070000
20942     ptr = PyCapsule_GetPointer(ob, 0);
20943 #else
20944     ptr = PyCObject_AsVoidPtr(ob);
20945 #endif
20946     if (!ptr && !PyErr_Occurred())
20947         PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
20948     Py_DECREF(ob);
20949     return ptr;
20950 bad:
20951     Py_XDECREF(ob);
20952     return NULL;
20953 }
20954 
20955 /* SetVTable */
__Pyx_SetVtable(PyObject * dict,void * vtable)20956 static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
20957 #if PY_VERSION_HEX >= 0x02070000
20958     PyObject *ob = PyCapsule_New(vtable, 0, 0);
20959 #else
20960     PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
20961 #endif
20962     if (!ob)
20963         goto bad;
20964     if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0)
20965         goto bad;
20966     Py_DECREF(ob);
20967     return 0;
20968 bad:
20969     Py_XDECREF(ob);
20970     return -1;
20971 }
20972 
20973 /* FetchCommonType */
__Pyx_FetchCommonType(PyTypeObject * type)20974 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
20975     PyObject* fake_module;
20976     PyTypeObject* cached_type = NULL;
20977     fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
20978     if (!fake_module) return NULL;
20979     Py_INCREF(fake_module);
20980     cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
20981     if (cached_type) {
20982         if (!PyType_Check((PyObject*)cached_type)) {
20983             PyErr_Format(PyExc_TypeError,
20984                 "Shared Cython type %.200s is not a type object",
20985                 type->tp_name);
20986             goto bad;
20987         }
20988         if (cached_type->tp_basicsize != type->tp_basicsize) {
20989             PyErr_Format(PyExc_TypeError,
20990                 "Shared Cython type %.200s has the wrong size, try recompiling",
20991                 type->tp_name);
20992             goto bad;
20993         }
20994     } else {
20995         if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
20996         PyErr_Clear();
20997         if (PyType_Ready(type) < 0) goto bad;
20998         if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
20999             goto bad;
21000         Py_INCREF(type);
21001         cached_type = type;
21002     }
21003 done:
21004     Py_DECREF(fake_module);
21005     return cached_type;
21006 bad:
21007     Py_XDECREF(cached_type);
21008     cached_type = NULL;
21009     goto done;
21010 }
21011 
21012 /* CythonFunctionShared */
21013 #include <structmember.h>
21014 static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * closure)21015 __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
21016 {
21017     if (unlikely(op->func_doc == NULL)) {
21018         if (op->func.m_ml->ml_doc) {
21019 #if PY_MAJOR_VERSION >= 3
21020             op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
21021 #else
21022             op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
21023 #endif
21024             if (unlikely(op->func_doc == NULL))
21025                 return NULL;
21026         } else {
21027             Py_INCREF(Py_None);
21028             return Py_None;
21029         }
21030     }
21031     Py_INCREF(op->func_doc);
21032     return op->func_doc;
21033 }
21034 static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)21035 __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
21036 {
21037     PyObject *tmp = op->func_doc;
21038     if (value == NULL) {
21039         value = Py_None;
21040     }
21041     Py_INCREF(value);
21042     op->func_doc = value;
21043     Py_XDECREF(tmp);
21044     return 0;
21045 }
21046 static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21047 __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
21048 {
21049     if (unlikely(op->func_name == NULL)) {
21050 #if PY_MAJOR_VERSION >= 3
21051         op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
21052 #else
21053         op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
21054 #endif
21055         if (unlikely(op->func_name == NULL))
21056             return NULL;
21057     }
21058     Py_INCREF(op->func_name);
21059     return op->func_name;
21060 }
21061 static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)21062 __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
21063 {
21064     PyObject *tmp;
21065 #if PY_MAJOR_VERSION >= 3
21066     if (unlikely(value == NULL || !PyUnicode_Check(value)))
21067 #else
21068     if (unlikely(value == NULL || !PyString_Check(value)))
21069 #endif
21070     {
21071         PyErr_SetString(PyExc_TypeError,
21072                         "__name__ must be set to a string object");
21073         return -1;
21074     }
21075     tmp = op->func_name;
21076     Py_INCREF(value);
21077     op->func_name = value;
21078     Py_XDECREF(tmp);
21079     return 0;
21080 }
21081 static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21082 __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
21083 {
21084     Py_INCREF(op->func_qualname);
21085     return op->func_qualname;
21086 }
21087 static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)21088 __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
21089 {
21090     PyObject *tmp;
21091 #if PY_MAJOR_VERSION >= 3
21092     if (unlikely(value == NULL || !PyUnicode_Check(value)))
21093 #else
21094     if (unlikely(value == NULL || !PyString_Check(value)))
21095 #endif
21096     {
21097         PyErr_SetString(PyExc_TypeError,
21098                         "__qualname__ must be set to a string object");
21099         return -1;
21100     }
21101     tmp = op->func_qualname;
21102     Py_INCREF(value);
21103     op->func_qualname = value;
21104     Py_XDECREF(tmp);
21105     return 0;
21106 }
21107 static PyObject *
__Pyx_CyFunction_get_self(__pyx_CyFunctionObject * m,CYTHON_UNUSED void * closure)21108 __Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
21109 {
21110     PyObject *self;
21111     self = m->func_closure;
21112     if (self == NULL)
21113         self = Py_None;
21114     Py_INCREF(self);
21115     return self;
21116 }
21117 static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21118 __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
21119 {
21120     if (unlikely(op->func_dict == NULL)) {
21121         op->func_dict = PyDict_New();
21122         if (unlikely(op->func_dict == NULL))
21123             return NULL;
21124     }
21125     Py_INCREF(op->func_dict);
21126     return op->func_dict;
21127 }
21128 static int
__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)21129 __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
21130 {
21131     PyObject *tmp;
21132     if (unlikely(value == NULL)) {
21133         PyErr_SetString(PyExc_TypeError,
21134                "function's dictionary may not be deleted");
21135         return -1;
21136     }
21137     if (unlikely(!PyDict_Check(value))) {
21138         PyErr_SetString(PyExc_TypeError,
21139                "setting function's dictionary to a non-dict");
21140         return -1;
21141     }
21142     tmp = op->func_dict;
21143     Py_INCREF(value);
21144     op->func_dict = value;
21145     Py_XDECREF(tmp);
21146     return 0;
21147 }
21148 static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21149 __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
21150 {
21151     Py_INCREF(op->func_globals);
21152     return op->func_globals;
21153 }
21154 static PyObject *
__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21155 __Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
21156 {
21157     Py_INCREF(Py_None);
21158     return Py_None;
21159 }
21160 static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21161 __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
21162 {
21163     PyObject* result = (op->func_code) ? op->func_code : Py_None;
21164     Py_INCREF(result);
21165     return result;
21166 }
21167 static int
__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject * op)21168 __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
21169     int result = 0;
21170     PyObject *res = op->defaults_getter((PyObject *) op);
21171     if (unlikely(!res))
21172         return -1;
21173     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
21174     op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
21175     Py_INCREF(op->defaults_tuple);
21176     op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
21177     Py_INCREF(op->defaults_kwdict);
21178     #else
21179     op->defaults_tuple = PySequence_ITEM(res, 0);
21180     if (unlikely(!op->defaults_tuple)) result = -1;
21181     else {
21182         op->defaults_kwdict = PySequence_ITEM(res, 1);
21183         if (unlikely(!op->defaults_kwdict)) result = -1;
21184     }
21185     #endif
21186     Py_DECREF(res);
21187     return result;
21188 }
21189 static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)21190 __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
21191     PyObject* tmp;
21192     if (!value) {
21193         value = Py_None;
21194     } else if (value != Py_None && !PyTuple_Check(value)) {
21195         PyErr_SetString(PyExc_TypeError,
21196                         "__defaults__ must be set to a tuple object");
21197         return -1;
21198     }
21199     Py_INCREF(value);
21200     tmp = op->defaults_tuple;
21201     op->defaults_tuple = value;
21202     Py_XDECREF(tmp);
21203     return 0;
21204 }
21205 static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21206 __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
21207     PyObject* result = op->defaults_tuple;
21208     if (unlikely(!result)) {
21209         if (op->defaults_getter) {
21210             if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
21211             result = op->defaults_tuple;
21212         } else {
21213             result = Py_None;
21214         }
21215     }
21216     Py_INCREF(result);
21217     return result;
21218 }
21219 static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)21220 __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
21221     PyObject* tmp;
21222     if (!value) {
21223         value = Py_None;
21224     } else if (value != Py_None && !PyDict_Check(value)) {
21225         PyErr_SetString(PyExc_TypeError,
21226                         "__kwdefaults__ must be set to a dict object");
21227         return -1;
21228     }
21229     Py_INCREF(value);
21230     tmp = op->defaults_kwdict;
21231     op->defaults_kwdict = value;
21232     Py_XDECREF(tmp);
21233     return 0;
21234 }
21235 static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21236 __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
21237     PyObject* result = op->defaults_kwdict;
21238     if (unlikely(!result)) {
21239         if (op->defaults_getter) {
21240             if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
21241             result = op->defaults_kwdict;
21242         } else {
21243             result = Py_None;
21244         }
21245     }
21246     Py_INCREF(result);
21247     return result;
21248 }
21249 static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject * op,PyObject * value,CYTHON_UNUSED void * context)21250 __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
21251     PyObject* tmp;
21252     if (!value || value == Py_None) {
21253         value = NULL;
21254     } else if (!PyDict_Check(value)) {
21255         PyErr_SetString(PyExc_TypeError,
21256                         "__annotations__ must be set to a dict object");
21257         return -1;
21258     }
21259     Py_XINCREF(value);
21260     tmp = op->func_annotations;
21261     op->func_annotations = value;
21262     Py_XDECREF(tmp);
21263     return 0;
21264 }
21265 static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject * op,CYTHON_UNUSED void * context)21266 __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
21267     PyObject* result = op->func_annotations;
21268     if (unlikely(!result)) {
21269         result = PyDict_New();
21270         if (unlikely(!result)) return NULL;
21271         op->func_annotations = result;
21272     }
21273     Py_INCREF(result);
21274     return result;
21275 }
21276 static PyGetSetDef __pyx_CyFunction_getsets[] = {
21277     {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
21278     {(char *) "__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
21279     {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
21280     {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
21281     {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
21282     {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
21283     {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
21284     {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
21285     {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
21286     {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
21287     {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
21288     {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
21289     {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
21290     {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
21291     {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
21292     {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
21293     {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
21294     {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
21295     {0, 0, 0, 0, 0}
21296 };
21297 static PyMemberDef __pyx_CyFunction_members[] = {
21298     {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0},
21299     {0, 0, 0,  0, 0}
21300 };
21301 static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject * m,CYTHON_UNUSED PyObject * args)21302 __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
21303 {
21304 #if PY_MAJOR_VERSION >= 3
21305     Py_INCREF(m->func_qualname);
21306     return m->func_qualname;
21307 #else
21308     return PyString_FromString(m->func.m_ml->ml_name);
21309 #endif
21310 }
21311 static PyMethodDef __pyx_CyFunction_methods[] = {
21312     {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
21313     {0, 0, 0, 0}
21314 };
21315 #if PY_VERSION_HEX < 0x030500A0
21316 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
21317 #else
21318 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist)
21319 #endif
__Pyx_CyFunction_Init(__pyx_CyFunctionObject * op,PyMethodDef * ml,int flags,PyObject * qualname,PyObject * closure,PyObject * module,PyObject * globals,PyObject * code)21320 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
21321                                        PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
21322     if (unlikely(op == NULL))
21323         return NULL;
21324     op->flags = flags;
21325     __Pyx_CyFunction_weakreflist(op) = NULL;
21326     op->func.m_ml = ml;
21327     op->func.m_self = (PyObject *) op;
21328     Py_XINCREF(closure);
21329     op->func_closure = closure;
21330     Py_XINCREF(module);
21331     op->func.m_module = module;
21332     op->func_dict = NULL;
21333     op->func_name = NULL;
21334     Py_INCREF(qualname);
21335     op->func_qualname = qualname;
21336     op->func_doc = NULL;
21337     op->func_classobj = NULL;
21338     op->func_globals = globals;
21339     Py_INCREF(op->func_globals);
21340     Py_XINCREF(code);
21341     op->func_code = code;
21342     op->defaults_pyobjects = 0;
21343     op->defaults_size = 0;
21344     op->defaults = NULL;
21345     op->defaults_tuple = NULL;
21346     op->defaults_kwdict = NULL;
21347     op->defaults_getter = NULL;
21348     op->func_annotations = NULL;
21349     return (PyObject *) op;
21350 }
21351 static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject * m)21352 __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
21353 {
21354     Py_CLEAR(m->func_closure);
21355     Py_CLEAR(m->func.m_module);
21356     Py_CLEAR(m->func_dict);
21357     Py_CLEAR(m->func_name);
21358     Py_CLEAR(m->func_qualname);
21359     Py_CLEAR(m->func_doc);
21360     Py_CLEAR(m->func_globals);
21361     Py_CLEAR(m->func_code);
21362     Py_CLEAR(m->func_classobj);
21363     Py_CLEAR(m->defaults_tuple);
21364     Py_CLEAR(m->defaults_kwdict);
21365     Py_CLEAR(m->func_annotations);
21366     if (m->defaults) {
21367         PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
21368         int i;
21369         for (i = 0; i < m->defaults_pyobjects; i++)
21370             Py_XDECREF(pydefaults[i]);
21371         PyObject_Free(m->defaults);
21372         m->defaults = NULL;
21373     }
21374     return 0;
21375 }
__Pyx__CyFunction_dealloc(__pyx_CyFunctionObject * m)21376 static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
21377 {
21378     if (__Pyx_CyFunction_weakreflist(m) != NULL)
21379         PyObject_ClearWeakRefs((PyObject *) m);
21380     __Pyx_CyFunction_clear(m);
21381     PyObject_GC_Del(m);
21382 }
__Pyx_CyFunction_dealloc(__pyx_CyFunctionObject * m)21383 static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
21384 {
21385     PyObject_GC_UnTrack(m);
21386     __Pyx__CyFunction_dealloc(m);
21387 }
__Pyx_CyFunction_traverse(__pyx_CyFunctionObject * m,visitproc visit,void * arg)21388 static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
21389 {
21390     Py_VISIT(m->func_closure);
21391     Py_VISIT(m->func.m_module);
21392     Py_VISIT(m->func_dict);
21393     Py_VISIT(m->func_name);
21394     Py_VISIT(m->func_qualname);
21395     Py_VISIT(m->func_doc);
21396     Py_VISIT(m->func_globals);
21397     Py_VISIT(m->func_code);
21398     Py_VISIT(m->func_classobj);
21399     Py_VISIT(m->defaults_tuple);
21400     Py_VISIT(m->defaults_kwdict);
21401     if (m->defaults) {
21402         PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
21403         int i;
21404         for (i = 0; i < m->defaults_pyobjects; i++)
21405             Py_VISIT(pydefaults[i]);
21406     }
21407     return 0;
21408 }
__Pyx_CyFunction_descr_get(PyObject * func,PyObject * obj,PyObject * type)21409 static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
21410 {
21411 #if PY_MAJOR_VERSION < 3
21412     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
21413     if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
21414         Py_INCREF(func);
21415         return func;
21416     }
21417     if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
21418         if (type == NULL)
21419             type = (PyObject *)(Py_TYPE(obj));
21420         return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
21421     }
21422     if (obj == Py_None)
21423         obj = NULL;
21424 #endif
21425     return __Pyx_PyMethod_New(func, obj, type);
21426 }
21427 static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject * op)21428 __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
21429 {
21430 #if PY_MAJOR_VERSION >= 3
21431     return PyUnicode_FromFormat("<cyfunction %U at %p>",
21432                                 op->func_qualname, (void *)op);
21433 #else
21434     return PyString_FromFormat("<cyfunction %s at %p>",
21435                                PyString_AsString(op->func_qualname), (void *)op);
21436 #endif
21437 }
__Pyx_CyFunction_CallMethod(PyObject * func,PyObject * self,PyObject * arg,PyObject * kw)21438 static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
21439     PyCFunctionObject* f = (PyCFunctionObject*)func;
21440     PyCFunction meth = f->m_ml->ml_meth;
21441     Py_ssize_t size;
21442     switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
21443     case METH_VARARGS:
21444         if (likely(kw == NULL || PyDict_Size(kw) == 0))
21445             return (*meth)(self, arg);
21446         break;
21447     case METH_VARARGS | METH_KEYWORDS:
21448         return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
21449     case METH_NOARGS:
21450         if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
21451             size = PyTuple_GET_SIZE(arg);
21452             if (likely(size == 0))
21453                 return (*meth)(self, NULL);
21454             PyErr_Format(PyExc_TypeError,
21455                 "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
21456                 f->m_ml->ml_name, size);
21457             return NULL;
21458         }
21459         break;
21460     case METH_O:
21461         if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
21462             size = PyTuple_GET_SIZE(arg);
21463             if (likely(size == 1)) {
21464                 PyObject *result, *arg0;
21465                 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
21466                 arg0 = PyTuple_GET_ITEM(arg, 0);
21467                 #else
21468                 arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
21469                 #endif
21470                 result = (*meth)(self, arg0);
21471                 #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
21472                 Py_DECREF(arg0);
21473                 #endif
21474                 return result;
21475             }
21476             PyErr_Format(PyExc_TypeError,
21477                 "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
21478                 f->m_ml->ml_name, size);
21479             return NULL;
21480         }
21481         break;
21482     default:
21483         PyErr_SetString(PyExc_SystemError, "Bad call flags in "
21484                         "__Pyx_CyFunction_Call. METH_OLDARGS is no "
21485                         "longer supported!");
21486         return NULL;
21487     }
21488     PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
21489                  f->m_ml->ml_name);
21490     return NULL;
21491 }
__Pyx_CyFunction_Call(PyObject * func,PyObject * arg,PyObject * kw)21492 static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
21493     return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
21494 }
__Pyx_CyFunction_CallAsMethod(PyObject * func,PyObject * args,PyObject * kw)21495 static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
21496     PyObject *result;
21497     __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
21498     if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
21499         Py_ssize_t argc;
21500         PyObject *new_args;
21501         PyObject *self;
21502         argc = PyTuple_GET_SIZE(args);
21503         new_args = PyTuple_GetSlice(args, 1, argc);
21504         if (unlikely(!new_args))
21505             return NULL;
21506         self = PyTuple_GetItem(args, 0);
21507         if (unlikely(!self)) {
21508             Py_DECREF(new_args);
21509             return NULL;
21510         }
21511         result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
21512         Py_DECREF(new_args);
21513     } else {
21514         result = __Pyx_CyFunction_Call(func, args, kw);
21515     }
21516     return result;
21517 }
21518 static PyTypeObject __pyx_CyFunctionType_type = {
21519     PyVarObject_HEAD_INIT(0, 0)
21520     "cython_function_or_method",
21521     sizeof(__pyx_CyFunctionObject),
21522     0,
21523     (destructor) __Pyx_CyFunction_dealloc,
21524     0,
21525     0,
21526     0,
21527 #if PY_MAJOR_VERSION < 3
21528     0,
21529 #else
21530     0,
21531 #endif
21532     (reprfunc) __Pyx_CyFunction_repr,
21533     0,
21534     0,
21535     0,
21536     0,
21537     __Pyx_CyFunction_CallAsMethod,
21538     0,
21539     0,
21540     0,
21541     0,
21542     Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
21543     0,
21544     (traverseproc) __Pyx_CyFunction_traverse,
21545     (inquiry) __Pyx_CyFunction_clear,
21546     0,
21547 #if PY_VERSION_HEX < 0x030500A0
21548     offsetof(__pyx_CyFunctionObject, func_weakreflist),
21549 #else
21550     offsetof(PyCFunctionObject, m_weakreflist),
21551 #endif
21552     0,
21553     0,
21554     __pyx_CyFunction_methods,
21555     __pyx_CyFunction_members,
21556     __pyx_CyFunction_getsets,
21557     0,
21558     0,
21559     __Pyx_CyFunction_descr_get,
21560     0,
21561     offsetof(__pyx_CyFunctionObject, func_dict),
21562     0,
21563     0,
21564     0,
21565     0,
21566     0,
21567     0,
21568     0,
21569     0,
21570     0,
21571     0,
21572     0,
21573     0,
21574 #if PY_VERSION_HEX >= 0x030400a1
21575     0,
21576 #endif
21577 #if PY_VERSION_HEX >= 0x030800b1
21578     0,
21579 #endif
21580 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
21581     0,
21582 #endif
21583 };
__pyx_CyFunction_init(void)21584 static int __pyx_CyFunction_init(void) {
21585     __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
21586     if (unlikely(__pyx_CyFunctionType == NULL)) {
21587         return -1;
21588     }
21589     return 0;
21590 }
__Pyx_CyFunction_InitDefaults(PyObject * func,size_t size,int pyobjects)21591 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
21592     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
21593     m->defaults = PyObject_Malloc(size);
21594     if (unlikely(!m->defaults))
21595         return PyErr_NoMemory();
21596     memset(m->defaults, 0, size);
21597     m->defaults_pyobjects = pyobjects;
21598     m->defaults_size = size;
21599     return m->defaults;
21600 }
__Pyx_CyFunction_SetDefaultsTuple(PyObject * func,PyObject * tuple)21601 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
21602     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
21603     m->defaults_tuple = tuple;
21604     Py_INCREF(tuple);
21605 }
__Pyx_CyFunction_SetDefaultsKwDict(PyObject * func,PyObject * dict)21606 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
21607     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
21608     m->defaults_kwdict = dict;
21609     Py_INCREF(dict);
21610 }
__Pyx_CyFunction_SetAnnotationsDict(PyObject * func,PyObject * dict)21611 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
21612     __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
21613     m->func_annotations = dict;
21614     Py_INCREF(dict);
21615 }
21616 
21617 /* CythonFunction */
__Pyx_CyFunction_New(PyMethodDef * ml,int flags,PyObject * qualname,PyObject * closure,PyObject * module,PyObject * globals,PyObject * code)21618 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
21619                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
21620     PyObject *op = __Pyx_CyFunction_Init(
21621         PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
21622         ml, flags, qualname, closure, module, globals, code
21623     );
21624     if (likely(op)) {
21625         PyObject_GC_Track(op);
21626     }
21627     return op;
21628 }
21629 
21630 /* CalculateMetaclass */
__Pyx_CalculateMetaclass(PyTypeObject * metaclass,PyObject * bases)21631 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
21632     Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
21633     for (i=0; i < nbases; i++) {
21634         PyTypeObject *tmptype;
21635         PyObject *tmp = PyTuple_GET_ITEM(bases, i);
21636         tmptype = Py_TYPE(tmp);
21637 #if PY_MAJOR_VERSION < 3
21638         if (tmptype == &PyClass_Type)
21639             continue;
21640 #endif
21641         if (!metaclass) {
21642             metaclass = tmptype;
21643             continue;
21644         }
21645         if (PyType_IsSubtype(metaclass, tmptype))
21646             continue;
21647         if (PyType_IsSubtype(tmptype, metaclass)) {
21648             metaclass = tmptype;
21649             continue;
21650         }
21651         PyErr_SetString(PyExc_TypeError,
21652                         "metaclass conflict: "
21653                         "the metaclass of a derived class "
21654                         "must be a (non-strict) subclass "
21655                         "of the metaclasses of all its bases");
21656         return NULL;
21657     }
21658     if (!metaclass) {
21659 #if PY_MAJOR_VERSION < 3
21660         metaclass = &PyClass_Type;
21661 #else
21662         metaclass = &PyType_Type;
21663 #endif
21664     }
21665     Py_INCREF((PyObject*) metaclass);
21666     return (PyObject*) metaclass;
21667 }
21668 
21669 /* Py3ClassCreate */
__Pyx_Py3MetaclassPrepare(PyObject * metaclass,PyObject * bases,PyObject * name,PyObject * qualname,PyObject * mkw,PyObject * modname,PyObject * doc)21670 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
21671                                            PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
21672     PyObject *ns;
21673     if (metaclass) {
21674         PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare);
21675         if (prep) {
21676             PyObject *pargs = PyTuple_Pack(2, name, bases);
21677             if (unlikely(!pargs)) {
21678                 Py_DECREF(prep);
21679                 return NULL;
21680             }
21681             ns = PyObject_Call(prep, pargs, mkw);
21682             Py_DECREF(prep);
21683             Py_DECREF(pargs);
21684         } else {
21685             if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
21686                 return NULL;
21687             PyErr_Clear();
21688             ns = PyDict_New();
21689         }
21690     } else {
21691         ns = PyDict_New();
21692     }
21693     if (unlikely(!ns))
21694         return NULL;
21695     if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
21696     if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
21697     if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
21698     return ns;
21699 bad:
21700     Py_DECREF(ns);
21701     return NULL;
21702 }
__Pyx_Py3ClassCreate(PyObject * metaclass,PyObject * name,PyObject * bases,PyObject * dict,PyObject * mkw,int calculate_metaclass,int allow_py2_metaclass)21703 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
21704                                       PyObject *dict, PyObject *mkw,
21705                                       int calculate_metaclass, int allow_py2_metaclass) {
21706     PyObject *result, *margs;
21707     PyObject *owned_metaclass = NULL;
21708     if (allow_py2_metaclass) {
21709         owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
21710         if (owned_metaclass) {
21711             metaclass = owned_metaclass;
21712         } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
21713             PyErr_Clear();
21714         } else {
21715             return NULL;
21716         }
21717     }
21718     if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
21719         metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
21720         Py_XDECREF(owned_metaclass);
21721         if (unlikely(!metaclass))
21722             return NULL;
21723         owned_metaclass = metaclass;
21724     }
21725     margs = PyTuple_Pack(3, name, bases, dict);
21726     if (unlikely(!margs)) {
21727         result = NULL;
21728     } else {
21729         result = PyObject_Call(metaclass, margs, mkw);
21730         Py_DECREF(margs);
21731     }
21732     Py_XDECREF(owned_metaclass);
21733     return result;
21734 }
21735 
21736 /* CLineInTraceback */
21737 #ifndef CYTHON_CLINE_IN_TRACEBACK
__Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState * tstate,int c_line)21738 static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
21739     PyObject *use_cline;
21740     PyObject *ptype, *pvalue, *ptraceback;
21741 #if CYTHON_COMPILING_IN_CPYTHON
21742     PyObject **cython_runtime_dict;
21743 #endif
21744     if (unlikely(!__pyx_cython_runtime)) {
21745         return c_line;
21746     }
21747     __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
21748 #if CYTHON_COMPILING_IN_CPYTHON
21749     cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
21750     if (likely(cython_runtime_dict)) {
21751         __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
21752             use_cline, *cython_runtime_dict,
21753             __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
21754     } else
21755 #endif
21756     {
21757       PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
21758       if (use_cline_obj) {
21759         use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
21760         Py_DECREF(use_cline_obj);
21761       } else {
21762         PyErr_Clear();
21763         use_cline = NULL;
21764       }
21765     }
21766     if (!use_cline) {
21767         c_line = 0;
21768         PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
21769     }
21770     else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
21771         c_line = 0;
21772     }
21773     __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
21774     return c_line;
21775 }
21776 #endif
21777 
21778 /* CodeObjectCache */
__pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry * entries,int count,int code_line)21779 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
21780     int start = 0, mid = 0, end = count - 1;
21781     if (end >= 0 && code_line > entries[end].code_line) {
21782         return count;
21783     }
21784     while (start < end) {
21785         mid = start + (end - start) / 2;
21786         if (code_line < entries[mid].code_line) {
21787             end = mid;
21788         } else if (code_line > entries[mid].code_line) {
21789              start = mid + 1;
21790         } else {
21791             return mid;
21792         }
21793     }
21794     if (code_line <= entries[mid].code_line) {
21795         return mid;
21796     } else {
21797         return mid + 1;
21798     }
21799 }
__pyx_find_code_object(int code_line)21800 static PyCodeObject *__pyx_find_code_object(int code_line) {
21801     PyCodeObject* code_object;
21802     int pos;
21803     if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
21804         return NULL;
21805     }
21806     pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
21807     if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
21808         return NULL;
21809     }
21810     code_object = __pyx_code_cache.entries[pos].code_object;
21811     Py_INCREF(code_object);
21812     return code_object;
21813 }
__pyx_insert_code_object(int code_line,PyCodeObject * code_object)21814 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
21815     int pos, i;
21816     __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
21817     if (unlikely(!code_line)) {
21818         return;
21819     }
21820     if (unlikely(!entries)) {
21821         entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
21822         if (likely(entries)) {
21823             __pyx_code_cache.entries = entries;
21824             __pyx_code_cache.max_count = 64;
21825             __pyx_code_cache.count = 1;
21826             entries[0].code_line = code_line;
21827             entries[0].code_object = code_object;
21828             Py_INCREF(code_object);
21829         }
21830         return;
21831     }
21832     pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
21833     if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
21834         PyCodeObject* tmp = entries[pos].code_object;
21835         entries[pos].code_object = code_object;
21836         Py_DECREF(tmp);
21837         return;
21838     }
21839     if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
21840         int new_max = __pyx_code_cache.max_count + 64;
21841         entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
21842             __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
21843         if (unlikely(!entries)) {
21844             return;
21845         }
21846         __pyx_code_cache.entries = entries;
21847         __pyx_code_cache.max_count = new_max;
21848     }
21849     for (i=__pyx_code_cache.count; i>pos; i--) {
21850         entries[i] = entries[i-1];
21851     }
21852     entries[pos].code_line = code_line;
21853     entries[pos].code_object = code_object;
21854     __pyx_code_cache.count++;
21855     Py_INCREF(code_object);
21856 }
21857 
21858 /* AddTraceback */
21859 #include "compile.h"
21860 #include "frameobject.h"
21861 #include "traceback.h"
__Pyx_CreateCodeObjectForTraceback(const char * funcname,int c_line,int py_line,const char * filename)21862 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
21863             const char *funcname, int c_line,
21864             int py_line, const char *filename) {
21865     PyCodeObject *py_code = 0;
21866     PyObject *py_srcfile = 0;
21867     PyObject *py_funcname = 0;
21868     #if PY_MAJOR_VERSION < 3
21869     py_srcfile = PyString_FromString(filename);
21870     #else
21871     py_srcfile = PyUnicode_FromString(filename);
21872     #endif
21873     if (!py_srcfile) goto bad;
21874     if (c_line) {
21875         #if PY_MAJOR_VERSION < 3
21876         py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
21877         #else
21878         py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
21879         #endif
21880     }
21881     else {
21882         #if PY_MAJOR_VERSION < 3
21883         py_funcname = PyString_FromString(funcname);
21884         #else
21885         py_funcname = PyUnicode_FromString(funcname);
21886         #endif
21887     }
21888     if (!py_funcname) goto bad;
21889     py_code = __Pyx_PyCode_New(
21890         0,
21891         0,
21892         0,
21893         0,
21894         0,
21895         __pyx_empty_bytes, /*PyObject *code,*/
21896         __pyx_empty_tuple, /*PyObject *consts,*/
21897         __pyx_empty_tuple, /*PyObject *names,*/
21898         __pyx_empty_tuple, /*PyObject *varnames,*/
21899         __pyx_empty_tuple, /*PyObject *freevars,*/
21900         __pyx_empty_tuple, /*PyObject *cellvars,*/
21901         py_srcfile,   /*PyObject *filename,*/
21902         py_funcname,  /*PyObject *name,*/
21903         py_line,
21904         __pyx_empty_bytes  /*PyObject *lnotab*/
21905     );
21906     Py_DECREF(py_srcfile);
21907     Py_DECREF(py_funcname);
21908     return py_code;
21909 bad:
21910     Py_XDECREF(py_srcfile);
21911     Py_XDECREF(py_funcname);
21912     return NULL;
21913 }
__Pyx_AddTraceback(const char * funcname,int c_line,int py_line,const char * filename)21914 static void __Pyx_AddTraceback(const char *funcname, int c_line,
21915                                int py_line, const char *filename) {
21916     PyCodeObject *py_code = 0;
21917     PyFrameObject *py_frame = 0;
21918     PyThreadState *tstate = __Pyx_PyThreadState_Current;
21919     if (c_line) {
21920         c_line = __Pyx_CLineForTraceback(tstate, c_line);
21921     }
21922     py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
21923     if (!py_code) {
21924         py_code = __Pyx_CreateCodeObjectForTraceback(
21925             funcname, c_line, py_line, filename);
21926         if (!py_code) goto bad;
21927         __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
21928     }
21929     py_frame = PyFrame_New(
21930         tstate,            /*PyThreadState *tstate,*/
21931         py_code,           /*PyCodeObject *code,*/
21932         __pyx_d,    /*PyObject *globals,*/
21933         0                  /*PyObject *locals*/
21934     );
21935     if (!py_frame) goto bad;
21936     __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
21937     PyTraceBack_Here(py_frame);
21938 bad:
21939     Py_XDECREF(py_code);
21940     Py_XDECREF(py_frame);
21941 }
21942 
21943 /* CIntFromPyVerify */
21944 #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
21945     __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
21946 #define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
21947     __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
21948 #define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
21949     {\
21950         func_type value = func_value;\
21951         if (sizeof(target_type) < sizeof(func_type)) {\
21952             if (unlikely(value != (func_type) (target_type) value)) {\
21953                 func_type zero = 0;\
21954                 if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
21955                     return (target_type) -1;\
21956                 if (is_unsigned && unlikely(value < zero))\
21957                     goto raise_neg_overflow;\
21958                 else\
21959                     goto raise_overflow;\
21960             }\
21961         }\
21962         return (target_type) value;\
21963     }
21964 
21965 /* CIntToPy */
__Pyx_PyInt_From_long(long value)21966 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
21967 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
21968 #pragma GCC diagnostic push
21969 #pragma GCC diagnostic ignored "-Wconversion"
21970 #endif
21971     const long neg_one = (long) -1, const_zero = (long) 0;
21972 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
21973 #pragma GCC diagnostic pop
21974 #endif
21975     const int is_unsigned = neg_one > const_zero;
21976     if (is_unsigned) {
21977         if (sizeof(long) < sizeof(long)) {
21978             return PyInt_FromLong((long) value);
21979         } else if (sizeof(long) <= sizeof(unsigned long)) {
21980             return PyLong_FromUnsignedLong((unsigned long) value);
21981 #ifdef HAVE_LONG_LONG
21982         } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
21983             return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
21984 #endif
21985         }
21986     } else {
21987         if (sizeof(long) <= sizeof(long)) {
21988             return PyInt_FromLong((long) value);
21989 #ifdef HAVE_LONG_LONG
21990         } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
21991             return PyLong_FromLongLong((PY_LONG_LONG) value);
21992 #endif
21993         }
21994     }
21995     {
21996         int one = 1; int little = (int)*(unsigned char *)&one;
21997         unsigned char *bytes = (unsigned char *)&value;
21998         return _PyLong_FromByteArray(bytes, sizeof(long),
21999                                      little, !is_unsigned);
22000     }
22001 }
22002 
22003 /* CIntFromPy */
__Pyx_PyInt_As_long(PyObject * x)22004 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
22005 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
22006 #pragma GCC diagnostic push
22007 #pragma GCC diagnostic ignored "-Wconversion"
22008 #endif
22009     const long neg_one = (long) -1, const_zero = (long) 0;
22010 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
22011 #pragma GCC diagnostic pop
22012 #endif
22013     const int is_unsigned = neg_one > const_zero;
22014 #if PY_MAJOR_VERSION < 3
22015     if (likely(PyInt_Check(x))) {
22016         if (sizeof(long) < sizeof(long)) {
22017             __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
22018         } else {
22019             long val = PyInt_AS_LONG(x);
22020             if (is_unsigned && unlikely(val < 0)) {
22021                 goto raise_neg_overflow;
22022             }
22023             return (long) val;
22024         }
22025     } else
22026 #endif
22027     if (likely(PyLong_Check(x))) {
22028         if (is_unsigned) {
22029 #if CYTHON_USE_PYLONG_INTERNALS
22030             const digit* digits = ((PyLongObject*)x)->ob_digit;
22031             switch (Py_SIZE(x)) {
22032                 case  0: return (long) 0;
22033                 case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
22034                 case 2:
22035                     if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
22036                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
22037                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22038                         } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
22039                             return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
22040                         }
22041                     }
22042                     break;
22043                 case 3:
22044                     if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
22045                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
22046                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22047                         } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
22048                             return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
22049                         }
22050                     }
22051                     break;
22052                 case 4:
22053                     if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
22054                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
22055                             __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])))
22056                         } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
22057                             return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
22058                         }
22059                     }
22060                     break;
22061             }
22062 #endif
22063 #if CYTHON_COMPILING_IN_CPYTHON
22064             if (unlikely(Py_SIZE(x) < 0)) {
22065                 goto raise_neg_overflow;
22066             }
22067 #else
22068             {
22069                 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
22070                 if (unlikely(result < 0))
22071                     return (long) -1;
22072                 if (unlikely(result == 1))
22073                     goto raise_neg_overflow;
22074             }
22075 #endif
22076             if (sizeof(long) <= sizeof(unsigned long)) {
22077                 __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
22078 #ifdef HAVE_LONG_LONG
22079             } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
22080                 __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
22081 #endif
22082             }
22083         } else {
22084 #if CYTHON_USE_PYLONG_INTERNALS
22085             const digit* digits = ((PyLongObject*)x)->ob_digit;
22086             switch (Py_SIZE(x)) {
22087                 case  0: return (long) 0;
22088                 case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
22089                 case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
22090                 case -2:
22091                     if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
22092                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
22093                             __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22094                         } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
22095                             return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
22096                         }
22097                     }
22098                     break;
22099                 case 2:
22100                     if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
22101                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
22102                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22103                         } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
22104                             return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
22105                         }
22106                     }
22107                     break;
22108                 case -3:
22109                     if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
22110                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
22111                             __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22112                         } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
22113                             return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
22114                         }
22115                     }
22116                     break;
22117                 case 3:
22118                     if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
22119                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
22120                             __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22121                         } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
22122                             return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
22123                         }
22124                     }
22125                     break;
22126                 case -4:
22127                     if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
22128                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
22129                             __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])))
22130                         } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
22131                             return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
22132                         }
22133                     }
22134                     break;
22135                 case 4:
22136                     if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
22137                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
22138                             __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])))
22139                         } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
22140                             return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
22141                         }
22142                     }
22143                     break;
22144             }
22145 #endif
22146             if (sizeof(long) <= sizeof(long)) {
22147                 __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
22148 #ifdef HAVE_LONG_LONG
22149             } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
22150                 __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
22151 #endif
22152             }
22153         }
22154         {
22155 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
22156             PyErr_SetString(PyExc_RuntimeError,
22157                             "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
22158 #else
22159             long val;
22160             PyObject *v = __Pyx_PyNumber_IntOrLong(x);
22161  #if PY_MAJOR_VERSION < 3
22162             if (likely(v) && !PyLong_Check(v)) {
22163                 PyObject *tmp = v;
22164                 v = PyNumber_Long(tmp);
22165                 Py_DECREF(tmp);
22166             }
22167  #endif
22168             if (likely(v)) {
22169                 int one = 1; int is_little = (int)*(unsigned char *)&one;
22170                 unsigned char *bytes = (unsigned char *)&val;
22171                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
22172                                               bytes, sizeof(val),
22173                                               is_little, !is_unsigned);
22174                 Py_DECREF(v);
22175                 if (likely(!ret))
22176                     return val;
22177             }
22178 #endif
22179             return (long) -1;
22180         }
22181     } else {
22182         long val;
22183         PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
22184         if (!tmp) return (long) -1;
22185         val = __Pyx_PyInt_As_long(tmp);
22186         Py_DECREF(tmp);
22187         return val;
22188     }
22189 raise_overflow:
22190     PyErr_SetString(PyExc_OverflowError,
22191         "value too large to convert to long");
22192     return (long) -1;
22193 raise_neg_overflow:
22194     PyErr_SetString(PyExc_OverflowError,
22195         "can't convert negative value to long");
22196     return (long) -1;
22197 }
22198 
22199 /* CIntToPy */
__Pyx_PyInt_From_int(int value)22200 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
22201 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
22202 #pragma GCC diagnostic push
22203 #pragma GCC diagnostic ignored "-Wconversion"
22204 #endif
22205     const int neg_one = (int) -1, const_zero = (int) 0;
22206 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
22207 #pragma GCC diagnostic pop
22208 #endif
22209     const int is_unsigned = neg_one > const_zero;
22210     if (is_unsigned) {
22211         if (sizeof(int) < sizeof(long)) {
22212             return PyInt_FromLong((long) value);
22213         } else if (sizeof(int) <= sizeof(unsigned long)) {
22214             return PyLong_FromUnsignedLong((unsigned long) value);
22215 #ifdef HAVE_LONG_LONG
22216         } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
22217             return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
22218 #endif
22219         }
22220     } else {
22221         if (sizeof(int) <= sizeof(long)) {
22222             return PyInt_FromLong((long) value);
22223 #ifdef HAVE_LONG_LONG
22224         } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
22225             return PyLong_FromLongLong((PY_LONG_LONG) value);
22226 #endif
22227         }
22228     }
22229     {
22230         int one = 1; int little = (int)*(unsigned char *)&one;
22231         unsigned char *bytes = (unsigned char *)&value;
22232         return _PyLong_FromByteArray(bytes, sizeof(int),
22233                                      little, !is_unsigned);
22234     }
22235 }
22236 
22237 /* CIntFromPy */
__Pyx_PyInt_As_int(PyObject * x)22238 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
22239 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
22240 #pragma GCC diagnostic push
22241 #pragma GCC diagnostic ignored "-Wconversion"
22242 #endif
22243     const int neg_one = (int) -1, const_zero = (int) 0;
22244 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
22245 #pragma GCC diagnostic pop
22246 #endif
22247     const int is_unsigned = neg_one > const_zero;
22248 #if PY_MAJOR_VERSION < 3
22249     if (likely(PyInt_Check(x))) {
22250         if (sizeof(int) < sizeof(long)) {
22251             __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
22252         } else {
22253             long val = PyInt_AS_LONG(x);
22254             if (is_unsigned && unlikely(val < 0)) {
22255                 goto raise_neg_overflow;
22256             }
22257             return (int) val;
22258         }
22259     } else
22260 #endif
22261     if (likely(PyLong_Check(x))) {
22262         if (is_unsigned) {
22263 #if CYTHON_USE_PYLONG_INTERNALS
22264             const digit* digits = ((PyLongObject*)x)->ob_digit;
22265             switch (Py_SIZE(x)) {
22266                 case  0: return (int) 0;
22267                 case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
22268                 case 2:
22269                     if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
22270                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
22271                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22272                         } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
22273                             return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
22274                         }
22275                     }
22276                     break;
22277                 case 3:
22278                     if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
22279                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
22280                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22281                         } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
22282                             return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
22283                         }
22284                     }
22285                     break;
22286                 case 4:
22287                     if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
22288                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
22289                             __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])))
22290                         } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
22291                             return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
22292                         }
22293                     }
22294                     break;
22295             }
22296 #endif
22297 #if CYTHON_COMPILING_IN_CPYTHON
22298             if (unlikely(Py_SIZE(x) < 0)) {
22299                 goto raise_neg_overflow;
22300             }
22301 #else
22302             {
22303                 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
22304                 if (unlikely(result < 0))
22305                     return (int) -1;
22306                 if (unlikely(result == 1))
22307                     goto raise_neg_overflow;
22308             }
22309 #endif
22310             if (sizeof(int) <= sizeof(unsigned long)) {
22311                 __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
22312 #ifdef HAVE_LONG_LONG
22313             } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
22314                 __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
22315 #endif
22316             }
22317         } else {
22318 #if CYTHON_USE_PYLONG_INTERNALS
22319             const digit* digits = ((PyLongObject*)x)->ob_digit;
22320             switch (Py_SIZE(x)) {
22321                 case  0: return (int) 0;
22322                 case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
22323                 case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
22324                 case -2:
22325                     if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
22326                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
22327                             __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22328                         } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
22329                             return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
22330                         }
22331                     }
22332                     break;
22333                 case 2:
22334                     if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
22335                         if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
22336                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22337                         } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
22338                             return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
22339                         }
22340                     }
22341                     break;
22342                 case -3:
22343                     if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
22344                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
22345                             __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22346                         } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
22347                             return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
22348                         }
22349                     }
22350                     break;
22351                 case 3:
22352                     if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
22353                         if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
22354                             __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
22355                         } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
22356                             return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
22357                         }
22358                     }
22359                     break;
22360                 case -4:
22361                     if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
22362                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
22363                             __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])))
22364                         } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
22365                             return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
22366                         }
22367                     }
22368                     break;
22369                 case 4:
22370                     if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
22371                         if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
22372                             __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])))
22373                         } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
22374                             return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
22375                         }
22376                     }
22377                     break;
22378             }
22379 #endif
22380             if (sizeof(int) <= sizeof(long)) {
22381                 __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
22382 #ifdef HAVE_LONG_LONG
22383             } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
22384                 __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
22385 #endif
22386             }
22387         }
22388         {
22389 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
22390             PyErr_SetString(PyExc_RuntimeError,
22391                             "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
22392 #else
22393             int val;
22394             PyObject *v = __Pyx_PyNumber_IntOrLong(x);
22395  #if PY_MAJOR_VERSION < 3
22396             if (likely(v) && !PyLong_Check(v)) {
22397                 PyObject *tmp = v;
22398                 v = PyNumber_Long(tmp);
22399                 Py_DECREF(tmp);
22400             }
22401  #endif
22402             if (likely(v)) {
22403                 int one = 1; int is_little = (int)*(unsigned char *)&one;
22404                 unsigned char *bytes = (unsigned char *)&val;
22405                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
22406                                               bytes, sizeof(val),
22407                                               is_little, !is_unsigned);
22408                 Py_DECREF(v);
22409                 if (likely(!ret))
22410                     return val;
22411             }
22412 #endif
22413             return (int) -1;
22414         }
22415     } else {
22416         int val;
22417         PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
22418         if (!tmp) return (int) -1;
22419         val = __Pyx_PyInt_As_int(tmp);
22420         Py_DECREF(tmp);
22421         return val;
22422     }
22423 raise_overflow:
22424     PyErr_SetString(PyExc_OverflowError,
22425         "value too large to convert to int");
22426     return (int) -1;
22427 raise_neg_overflow:
22428     PyErr_SetString(PyExc_OverflowError,
22429         "can't convert negative value to int");
22430     return (int) -1;
22431 }
22432 
22433 /* CheckBinaryVersion */
__Pyx_check_binary_version(void)22434 static int __Pyx_check_binary_version(void) {
22435     char ctversion[4], rtversion[4];
22436     PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
22437     PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
22438     if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
22439         char message[200];
22440         PyOS_snprintf(message, sizeof(message),
22441                       "compiletime version %s of module '%.100s' "
22442                       "does not match runtime version %s",
22443                       ctversion, __Pyx_MODULE_NAME, rtversion);
22444         return PyErr_WarnEx(NULL, message, 1);
22445     }
22446     return 0;
22447 }
22448 
22449 /* VoidPtrExport */
__Pyx_ExportVoidPtr(PyObject * name,void * p,const char * sig)22450 static int __Pyx_ExportVoidPtr(PyObject *name, void *p, const char *sig) {
22451     PyObject *d;
22452     PyObject *cobj = 0;
22453     d = PyDict_GetItem(__pyx_d, __pyx_n_s_pyx_capi);
22454     Py_XINCREF(d);
22455     if (!d) {
22456         d = PyDict_New();
22457         if (!d)
22458             goto bad;
22459         if (__Pyx_PyObject_SetAttrStr(__pyx_m, __pyx_n_s_pyx_capi, d) < 0)
22460             goto bad;
22461     }
22462 #if PY_VERSION_HEX >= 0x02070000
22463     cobj = PyCapsule_New(p, sig, 0);
22464 #else
22465     cobj = PyCObject_FromVoidPtrAndDesc(p, (void *)sig, 0);
22466 #endif
22467     if (!cobj)
22468         goto bad;
22469     if (PyDict_SetItem(d, name, cobj) < 0)
22470         goto bad;
22471     Py_DECREF(cobj);
22472     Py_DECREF(d);
22473     return 0;
22474 bad:
22475     Py_XDECREF(cobj);
22476     Py_XDECREF(d);
22477     return -1;
22478 }
22479 
22480 /* FunctionExport */
__Pyx_ExportFunction(const char * name,void (* f)(void),const char * sig)22481 static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
22482     PyObject *d = 0;
22483     PyObject *cobj = 0;
22484     union {
22485         void (*fp)(void);
22486         void *p;
22487     } tmp;
22488     d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
22489     if (!d) {
22490         PyErr_Clear();
22491         d = PyDict_New();
22492         if (!d)
22493             goto bad;
22494         Py_INCREF(d);
22495         if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
22496             goto bad;
22497     }
22498     tmp.fp = f;
22499 #if PY_VERSION_HEX >= 0x02070000
22500     cobj = PyCapsule_New(tmp.p, sig, 0);
22501 #else
22502     cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
22503 #endif
22504     if (!cobj)
22505         goto bad;
22506     if (PyDict_SetItemString(d, name, cobj) < 0)
22507         goto bad;
22508     Py_DECREF(cobj);
22509     Py_DECREF(d);
22510     return 0;
22511 bad:
22512     Py_XDECREF(cobj);
22513     Py_XDECREF(d);
22514     return -1;
22515 }
22516 
22517 /* InitStrings */
__Pyx_InitStrings(__Pyx_StringTabEntry * t)22518 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
22519     while (t->p) {
22520         #if PY_MAJOR_VERSION < 3
22521         if (t->is_unicode) {
22522             *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
22523         } else if (t->intern) {
22524             *t->p = PyString_InternFromString(t->s);
22525         } else {
22526             *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
22527         }
22528         #else
22529         if (t->is_unicode | t->is_str) {
22530             if (t->intern) {
22531                 *t->p = PyUnicode_InternFromString(t->s);
22532             } else if (t->encoding) {
22533                 *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
22534             } else {
22535                 *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
22536             }
22537         } else {
22538             *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
22539         }
22540         #endif
22541         if (!*t->p)
22542             return -1;
22543         if (PyObject_Hash(*t->p) == -1)
22544             return -1;
22545         ++t;
22546     }
22547     return 0;
22548 }
22549 
__Pyx_PyUnicode_FromString(const char * c_str)22550 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
22551     return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
22552 }
__Pyx_PyObject_AsString(PyObject * o)22553 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
22554     Py_ssize_t ignore;
22555     return __Pyx_PyObject_AsStringAndSize(o, &ignore);
22556 }
22557 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
22558 #if !CYTHON_PEP393_ENABLED
__Pyx_PyUnicode_AsStringAndSize(PyObject * o,Py_ssize_t * length)22559 static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
22560     char* defenc_c;
22561     PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
22562     if (!defenc) return NULL;
22563     defenc_c = PyBytes_AS_STRING(defenc);
22564 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
22565     {
22566         char* end = defenc_c + PyBytes_GET_SIZE(defenc);
22567         char* c;
22568         for (c = defenc_c; c < end; c++) {
22569             if ((unsigned char) (*c) >= 128) {
22570                 PyUnicode_AsASCIIString(o);
22571                 return NULL;
22572             }
22573         }
22574     }
22575 #endif
22576     *length = PyBytes_GET_SIZE(defenc);
22577     return defenc_c;
22578 }
22579 #else
__Pyx_PyUnicode_AsStringAndSize(PyObject * o,Py_ssize_t * length)22580 static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
22581     if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
22582 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
22583     if (likely(PyUnicode_IS_ASCII(o))) {
22584         *length = PyUnicode_GET_LENGTH(o);
22585         return PyUnicode_AsUTF8(o);
22586     } else {
22587         PyUnicode_AsASCIIString(o);
22588         return NULL;
22589     }
22590 #else
22591     return PyUnicode_AsUTF8AndSize(o, length);
22592 #endif
22593 }
22594 #endif
22595 #endif
__Pyx_PyObject_AsStringAndSize(PyObject * o,Py_ssize_t * length)22596 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
22597 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
22598     if (
22599 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
22600             __Pyx_sys_getdefaultencoding_not_ascii &&
22601 #endif
22602             PyUnicode_Check(o)) {
22603         return __Pyx_PyUnicode_AsStringAndSize(o, length);
22604     } else
22605 #endif
22606 #if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
22607     if (PyByteArray_Check(o)) {
22608         *length = PyByteArray_GET_SIZE(o);
22609         return PyByteArray_AS_STRING(o);
22610     } else
22611 #endif
22612     {
22613         char* result;
22614         int r = PyBytes_AsStringAndSize(o, &result, length);
22615         if (unlikely(r < 0)) {
22616             return NULL;
22617         } else {
22618             return result;
22619         }
22620     }
22621 }
__Pyx_PyObject_IsTrue(PyObject * x)22622 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
22623    int is_true = x == Py_True;
22624    if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
22625    else return PyObject_IsTrue(x);
22626 }
__Pyx_PyObject_IsTrueAndDecref(PyObject * x)22627 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
22628     int retval;
22629     if (unlikely(!x)) return -1;
22630     retval = __Pyx_PyObject_IsTrue(x);
22631     Py_DECREF(x);
22632     return retval;
22633 }
__Pyx_PyNumber_IntOrLongWrongResultType(PyObject * result,const char * type_name)22634 static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
22635 #if PY_MAJOR_VERSION >= 3
22636     if (PyLong_Check(result)) {
22637         if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
22638                 "__int__ returned non-int (type %.200s).  "
22639                 "The ability to return an instance of a strict subclass of int "
22640                 "is deprecated, and may be removed in a future version of Python.",
22641                 Py_TYPE(result)->tp_name)) {
22642             Py_DECREF(result);
22643             return NULL;
22644         }
22645         return result;
22646     }
22647 #endif
22648     PyErr_Format(PyExc_TypeError,
22649                  "__%.4s__ returned non-%.4s (type %.200s)",
22650                  type_name, type_name, Py_TYPE(result)->tp_name);
22651     Py_DECREF(result);
22652     return NULL;
22653 }
__Pyx_PyNumber_IntOrLong(PyObject * x)22654 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
22655 #if CYTHON_USE_TYPE_SLOTS
22656   PyNumberMethods *m;
22657 #endif
22658   const char *name = NULL;
22659   PyObject *res = NULL;
22660 #if PY_MAJOR_VERSION < 3
22661   if (likely(PyInt_Check(x) || PyLong_Check(x)))
22662 #else
22663   if (likely(PyLong_Check(x)))
22664 #endif
22665     return __Pyx_NewRef(x);
22666 #if CYTHON_USE_TYPE_SLOTS
22667   m = Py_TYPE(x)->tp_as_number;
22668   #if PY_MAJOR_VERSION < 3
22669   if (m && m->nb_int) {
22670     name = "int";
22671     res = m->nb_int(x);
22672   }
22673   else if (m && m->nb_long) {
22674     name = "long";
22675     res = m->nb_long(x);
22676   }
22677   #else
22678   if (likely(m && m->nb_int)) {
22679     name = "int";
22680     res = m->nb_int(x);
22681   }
22682   #endif
22683 #else
22684   if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
22685     res = PyNumber_Int(x);
22686   }
22687 #endif
22688   if (likely(res)) {
22689 #if PY_MAJOR_VERSION < 3
22690     if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
22691 #else
22692     if (unlikely(!PyLong_CheckExact(res))) {
22693 #endif
22694         return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
22695     }
22696   }
22697   else if (!PyErr_Occurred()) {
22698     PyErr_SetString(PyExc_TypeError,
22699                     "an integer is required");
22700   }
22701   return res;
22702 }
22703 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
22704   Py_ssize_t ival;
22705   PyObject *x;
22706 #if PY_MAJOR_VERSION < 3
22707   if (likely(PyInt_CheckExact(b))) {
22708     if (sizeof(Py_ssize_t) >= sizeof(long))
22709         return PyInt_AS_LONG(b);
22710     else
22711         return PyInt_AsSsize_t(b);
22712   }
22713 #endif
22714   if (likely(PyLong_CheckExact(b))) {
22715     #if CYTHON_USE_PYLONG_INTERNALS
22716     const digit* digits = ((PyLongObject*)b)->ob_digit;
22717     const Py_ssize_t size = Py_SIZE(b);
22718     if (likely(__Pyx_sst_abs(size) <= 1)) {
22719         ival = likely(size) ? digits[0] : 0;
22720         if (size == -1) ival = -ival;
22721         return ival;
22722     } else {
22723       switch (size) {
22724          case 2:
22725            if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
22726              return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
22727            }
22728            break;
22729          case -2:
22730            if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
22731              return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
22732            }
22733            break;
22734          case 3:
22735            if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
22736              return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
22737            }
22738            break;
22739          case -3:
22740            if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
22741              return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
22742            }
22743            break;
22744          case 4:
22745            if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
22746              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]));
22747            }
22748            break;
22749          case -4:
22750            if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
22751              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]));
22752            }
22753            break;
22754       }
22755     }
22756     #endif
22757     return PyLong_AsSsize_t(b);
22758   }
22759   x = PyNumber_Index(b);
22760   if (!x) return -1;
22761   ival = PyInt_AsSsize_t(x);
22762   Py_DECREF(x);
22763   return ival;
22764 }
22765 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
22766   return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
22767 }
22768 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
22769     return PyInt_FromSize_t(ival);
22770 }
22771 
22772 
22773 #endif /* Py_PYTHON_H */
22774