FST  openfst-1.7.1
OpenFst Library
pywrapfst.cc
Go to the documentation of this file.
1 /* Generated by Cython 0.29.2 */
2 
3 #define PY_SSIZE_T_CLEAN
4 #include "Python.h"
5 #ifndef Py_PYTHON_H
6  #error Python headers needed to compile C extensions, please install development version of Python.
7 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
8  #error Cython requires Python 2.6+ or Python 3.3+.
9 #else
10 #define CYTHON_ABI "0_29_2"
11 #define CYTHON_HEX_VERSION 0x001D02F0
12 #define CYTHON_FUTURE_DIVISION 1
13 #include <stddef.h>
14 #ifndef offsetof
15  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
16 #endif
17 #if !defined(WIN32) && !defined(MS_WINDOWS)
18  #ifndef __stdcall
19  #define __stdcall
20  #endif
21  #ifndef __cdecl
22  #define __cdecl
23  #endif
24  #ifndef __fastcall
25  #define __fastcall
26  #endif
27 #endif
28 #ifndef DL_IMPORT
29  #define DL_IMPORT(t) t
30 #endif
31 #ifndef DL_EXPORT
32  #define DL_EXPORT(t) t
33 #endif
34 #define __PYX_COMMA ,
35 #ifndef HAVE_LONG_LONG
36  #if PY_VERSION_HEX >= 0x02070000
37  #define HAVE_LONG_LONG
38  #endif
39 #endif
40 #ifndef PY_LONG_LONG
41  #define PY_LONG_LONG LONG_LONG
42 #endif
43 #ifndef Py_HUGE_VAL
44  #define Py_HUGE_VAL HUGE_VAL
45 #endif
46 #ifdef PYPY_VERSION
47  #define CYTHON_COMPILING_IN_PYPY 1
48  #define CYTHON_COMPILING_IN_PYSTON 0
49  #define CYTHON_COMPILING_IN_CPYTHON 0
50  #undef CYTHON_USE_TYPE_SLOTS
51  #define CYTHON_USE_TYPE_SLOTS 0
52  #undef CYTHON_USE_PYTYPE_LOOKUP
53  #define CYTHON_USE_PYTYPE_LOOKUP 0
54  #if PY_VERSION_HEX < 0x03050000
55  #undef CYTHON_USE_ASYNC_SLOTS
56  #define CYTHON_USE_ASYNC_SLOTS 0
57  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
58  #define CYTHON_USE_ASYNC_SLOTS 1
59  #endif
60  #undef CYTHON_USE_PYLIST_INTERNALS
61  #define CYTHON_USE_PYLIST_INTERNALS 0
62  #undef CYTHON_USE_UNICODE_INTERNALS
63  #define CYTHON_USE_UNICODE_INTERNALS 0
64  #undef CYTHON_USE_UNICODE_WRITER
65  #define CYTHON_USE_UNICODE_WRITER 0
66  #undef CYTHON_USE_PYLONG_INTERNALS
67  #define CYTHON_USE_PYLONG_INTERNALS 0
68  #undef CYTHON_AVOID_BORROWED_REFS
69  #define CYTHON_AVOID_BORROWED_REFS 1
70  #undef CYTHON_ASSUME_SAFE_MACROS
71  #define CYTHON_ASSUME_SAFE_MACROS 0
72  #undef CYTHON_UNPACK_METHODS
73  #define CYTHON_UNPACK_METHODS 0
74  #undef CYTHON_FAST_THREAD_STATE
75  #define CYTHON_FAST_THREAD_STATE 0
76  #undef CYTHON_FAST_PYCALL
77  #define CYTHON_FAST_PYCALL 0
78  #undef CYTHON_PEP489_MULTI_PHASE_INIT
79  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
80  #undef CYTHON_USE_TP_FINALIZE
81  #define CYTHON_USE_TP_FINALIZE 0
82  #undef CYTHON_USE_DICT_VERSIONS
83  #define CYTHON_USE_DICT_VERSIONS 0
84  #undef CYTHON_USE_EXC_INFO_STACK
85  #define CYTHON_USE_EXC_INFO_STACK 0
86 #elif defined(PYSTON_VERSION)
87  #define CYTHON_COMPILING_IN_PYPY 0
88  #define CYTHON_COMPILING_IN_PYSTON 1
89  #define CYTHON_COMPILING_IN_CPYTHON 0
90  #ifndef CYTHON_USE_TYPE_SLOTS
91  #define CYTHON_USE_TYPE_SLOTS 1
92  #endif
93  #undef CYTHON_USE_PYTYPE_LOOKUP
94  #define CYTHON_USE_PYTYPE_LOOKUP 0
95  #undef CYTHON_USE_ASYNC_SLOTS
96  #define CYTHON_USE_ASYNC_SLOTS 0
97  #undef CYTHON_USE_PYLIST_INTERNALS
98  #define CYTHON_USE_PYLIST_INTERNALS 0
99  #ifndef CYTHON_USE_UNICODE_INTERNALS
100  #define CYTHON_USE_UNICODE_INTERNALS 1
101  #endif
102  #undef CYTHON_USE_UNICODE_WRITER
103  #define CYTHON_USE_UNICODE_WRITER 0
104  #undef CYTHON_USE_PYLONG_INTERNALS
105  #define CYTHON_USE_PYLONG_INTERNALS 0
106  #ifndef CYTHON_AVOID_BORROWED_REFS
107  #define CYTHON_AVOID_BORROWED_REFS 0
108  #endif
109  #ifndef CYTHON_ASSUME_SAFE_MACROS
110  #define CYTHON_ASSUME_SAFE_MACROS 1
111  #endif
112  #ifndef CYTHON_UNPACK_METHODS
113  #define CYTHON_UNPACK_METHODS 1
114  #endif
115  #undef CYTHON_FAST_THREAD_STATE
116  #define CYTHON_FAST_THREAD_STATE 0
117  #undef CYTHON_FAST_PYCALL
118  #define CYTHON_FAST_PYCALL 0
119  #undef CYTHON_PEP489_MULTI_PHASE_INIT
120  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
121  #undef CYTHON_USE_TP_FINALIZE
122  #define CYTHON_USE_TP_FINALIZE 0
123  #undef CYTHON_USE_DICT_VERSIONS
124  #define CYTHON_USE_DICT_VERSIONS 0
125  #undef CYTHON_USE_EXC_INFO_STACK
126  #define CYTHON_USE_EXC_INFO_STACK 0
127 #else
128  #define CYTHON_COMPILING_IN_PYPY 0
129  #define CYTHON_COMPILING_IN_PYSTON 0
130  #define CYTHON_COMPILING_IN_CPYTHON 1
131  #ifndef CYTHON_USE_TYPE_SLOTS
132  #define CYTHON_USE_TYPE_SLOTS 1
133  #endif
134  #if PY_VERSION_HEX < 0x02070000
135  #undef CYTHON_USE_PYTYPE_LOOKUP
136  #define CYTHON_USE_PYTYPE_LOOKUP 0
137  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
138  #define CYTHON_USE_PYTYPE_LOOKUP 1
139  #endif
140  #if PY_MAJOR_VERSION < 3
141  #undef CYTHON_USE_ASYNC_SLOTS
142  #define CYTHON_USE_ASYNC_SLOTS 0
143  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
144  #define CYTHON_USE_ASYNC_SLOTS 1
145  #endif
146  #if PY_VERSION_HEX < 0x02070000
147  #undef CYTHON_USE_PYLONG_INTERNALS
148  #define CYTHON_USE_PYLONG_INTERNALS 0
149  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
150  #define CYTHON_USE_PYLONG_INTERNALS 1
151  #endif
152  #ifndef CYTHON_USE_PYLIST_INTERNALS
153  #define CYTHON_USE_PYLIST_INTERNALS 1
154  #endif
155  #ifndef CYTHON_USE_UNICODE_INTERNALS
156  #define CYTHON_USE_UNICODE_INTERNALS 1
157  #endif
158  #if PY_VERSION_HEX < 0x030300F0
159  #undef CYTHON_USE_UNICODE_WRITER
160  #define CYTHON_USE_UNICODE_WRITER 0
161  #elif !defined(CYTHON_USE_UNICODE_WRITER)
162  #define CYTHON_USE_UNICODE_WRITER 1
163  #endif
164  #ifndef CYTHON_AVOID_BORROWED_REFS
165  #define CYTHON_AVOID_BORROWED_REFS 0
166  #endif
167  #ifndef CYTHON_ASSUME_SAFE_MACROS
168  #define CYTHON_ASSUME_SAFE_MACROS 1
169  #endif
170  #ifndef CYTHON_UNPACK_METHODS
171  #define CYTHON_UNPACK_METHODS 1
172  #endif
173  #ifndef CYTHON_FAST_THREAD_STATE
174  #define CYTHON_FAST_THREAD_STATE 1
175  #endif
176  #ifndef CYTHON_FAST_PYCALL
177  #define CYTHON_FAST_PYCALL 1
178  #endif
179  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
180  #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
181  #endif
182  #ifndef CYTHON_USE_TP_FINALIZE
183  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
184  #endif
185  #ifndef CYTHON_USE_DICT_VERSIONS
186  #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
187  #endif
188  #ifndef CYTHON_USE_EXC_INFO_STACK
189  #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
190  #endif
191 #endif
192 #if !defined(CYTHON_FAST_PYCCALL)
193 #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
194 #endif
195 #if CYTHON_USE_PYLONG_INTERNALS
196  #include "longintrepr.h"
197  #undef SHIFT
198  #undef BASE
199  #undef MASK
200  #ifdef SIZEOF_VOID_P
201  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
202  #endif
203 #endif
204 #ifndef __has_attribute
205  #define __has_attribute(x) 0
206 #endif
207 #ifndef __has_cpp_attribute
208  #define __has_cpp_attribute(x) 0
209 #endif
210 #ifndef CYTHON_RESTRICT
211  #if defined(__GNUC__)
212  #define CYTHON_RESTRICT __restrict__
213  #elif defined(_MSC_VER) && _MSC_VER >= 1400
214  #define CYTHON_RESTRICT __restrict
215  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
216  #define CYTHON_RESTRICT restrict
217  #else
218  #define CYTHON_RESTRICT
219  #endif
220 #endif
221 #ifndef CYTHON_UNUSED
222 # if defined(__GNUC__)
223 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
224 # define CYTHON_UNUSED __attribute__ ((__unused__))
225 # else
226 # define CYTHON_UNUSED
227 # endif
228 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
229 # define CYTHON_UNUSED __attribute__ ((__unused__))
230 # else
231 # define CYTHON_UNUSED
232 # endif
233 #endif
234 #ifndef CYTHON_MAYBE_UNUSED_VAR
235 # if defined(__cplusplus)
236  template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
237 # else
238 # define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
239 # endif
240 #endif
241 #ifndef CYTHON_NCP_UNUSED
242 # if CYTHON_COMPILING_IN_CPYTHON
243 # define CYTHON_NCP_UNUSED
244 # else
245 # define CYTHON_NCP_UNUSED CYTHON_UNUSED
246 # endif
247 #endif
248 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
249 #ifdef _MSC_VER
250  #ifndef _MSC_STDINT_H_
251  #if _MSC_VER < 1300
252  typedef unsigned char uint8_t;
253  typedef unsigned int uint32_t;
254  #else
255  typedef unsigned __int8 uint8_t;
256  typedef unsigned __int32 uint32_t;
257  #endif
258  #endif
259 #else
260  #include <stdint.h>
261 #endif
262 #ifndef CYTHON_FALLTHROUGH
263  #if defined(__cplusplus) && __cplusplus >= 201103L
264  #if __has_cpp_attribute(fallthrough)
265  #define CYTHON_FALLTHROUGH [[fallthrough]]
266  #elif __has_cpp_attribute(clang::fallthrough)
267  #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
268  #elif __has_cpp_attribute(gnu::fallthrough)
269  #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
270  #endif
271  #endif
272  #ifndef CYTHON_FALLTHROUGH
273  #if __has_attribute(fallthrough)
274  #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
275  #else
276  #define CYTHON_FALLTHROUGH
277  #endif
278  #endif
279  #if defined(__clang__ ) && defined(__apple_build_version__)
280  #if __apple_build_version__ < 7000000
281  #undef CYTHON_FALLTHROUGH
282  #define CYTHON_FALLTHROUGH
283  #endif
284  #endif
285 #endif
286 
287 #ifndef __cplusplus
288  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
289 #endif
290 #ifndef CYTHON_INLINE
291  #if defined(__clang__)
292  #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
293  #else
294  #define CYTHON_INLINE inline
295  #endif
296 #endif
297 template<typename T>
298 void __Pyx_call_destructor(T& x) {
299  x.~T();
300 }
301 template<typename T>
302 class __Pyx_FakeReference {
303  public:
304  __Pyx_FakeReference() : ptr(NULL) { }
305  __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
306  T *operator->() { return ptr; }
307  T *operator&() { return ptr; }
308  operator T&() { return *ptr; }
309  template<typename U> bool operator ==(U other) { return *ptr == other; }
310  template<typename U> bool operator !=(U other) { return *ptr != other; }
311  private:
312  T *ptr;
313 };
314 
315 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
316  #define Py_OptimizeFlag 0
317 #endif
318 #define __PYX_BUILD_PY_SSIZE_T "n"
319 #define CYTHON_FORMAT_SSIZE_T "z"
320 #if PY_MAJOR_VERSION < 3
321  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
322  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
323  PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
324  #define __Pyx_DefaultClassType PyClass_Type
325 #else
326  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
327  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
328  PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
329  #define __Pyx_DefaultClassType PyType_Type
330 #endif
331 #ifndef Py_TPFLAGS_CHECKTYPES
332  #define Py_TPFLAGS_CHECKTYPES 0
333 #endif
334 #ifndef Py_TPFLAGS_HAVE_INDEX
335  #define Py_TPFLAGS_HAVE_INDEX 0
336 #endif
337 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
338  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
339 #endif
340 #ifndef Py_TPFLAGS_HAVE_FINALIZE
341  #define Py_TPFLAGS_HAVE_FINALIZE 0
342 #endif
343 #ifndef METH_STACKLESS
344  #define METH_STACKLESS 0
345 #endif
346 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
347  #ifndef METH_FASTCALL
348  #define METH_FASTCALL 0x80
349  #endif
350  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
351  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
352  Py_ssize_t nargs, PyObject *kwnames);
353 #else
354  #define __Pyx_PyCFunctionFast _PyCFunctionFast
355  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
356 #endif
357 #if CYTHON_FAST_PYCCALL
358 #define __Pyx_PyFastCFunction_Check(func)\
359  ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
360 #else
361 #define __Pyx_PyFastCFunction_Check(func) 0
362 #endif
363 #if CYTHON_USE_DICT_VERSIONS
364 #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
365 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
366  (version_var) = __PYX_GET_DICT_VERSION(dict);\
367  (cache_var) = (value);
368 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
369  static PY_UINT64_T __pyx_dict_version = 0;\
370  static PyObject *__pyx_dict_cached_value = NULL;\
371  if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
372  (VAR) = __pyx_dict_cached_value;\
373  } else {\
374  (VAR) = __pyx_dict_cached_value = (LOOKUP);\
375  __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
376  }\
377  }
378 #else
379 #define __PYX_GET_DICT_VERSION(dict) (0)
380 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
381 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
382 #endif
383 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
384  #define PyObject_Malloc(s) PyMem_Malloc(s)
385  #define PyObject_Free(p) PyMem_Free(p)
386  #define PyObject_Realloc(p) PyMem_Realloc(p)
387 #endif
388 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
389  #define PyMem_RawMalloc(n) PyMem_Malloc(n)
390  #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n)
391  #define PyMem_RawFree(p) PyMem_Free(p)
392 #endif
393 #if CYTHON_COMPILING_IN_PYSTON
394  #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co)
395  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
396 #else
397  #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
398  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
399 #endif
400 #if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
401  #define __Pyx_PyThreadState_Current PyThreadState_GET()
402 #elif PY_VERSION_HEX >= 0x03060000
403  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
404 #elif PY_VERSION_HEX >= 0x03000000
405  #define __Pyx_PyThreadState_Current PyThreadState_GET()
406 #else
407  #define __Pyx_PyThreadState_Current _PyThreadState_Current
408 #endif
409 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
410 #include "pythread.h"
411 #define Py_tss_NEEDS_INIT 0
412 typedef int Py_tss_t;
413 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
414  *key = PyThread_create_key();
415  return 0; // PyThread_create_key reports success always
416 }
417 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
418  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
419  *key = Py_tss_NEEDS_INIT;
420  return key;
421 }
422 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
423  PyObject_Free(key);
424 }
425 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
426  return *key != Py_tss_NEEDS_INIT;
427 }
428 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
429  PyThread_delete_key(*key);
430  *key = Py_tss_NEEDS_INIT;
431 }
432 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
433  return PyThread_set_key_value(*key, value);
434 }
435 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
436  return PyThread_get_key_value(*key);
437 }
438 #endif // TSS (Thread Specific Storage) API
439 #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
440 #define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
441 #else
442 #define __Pyx_PyDict_NewPresized(n) PyDict_New()
443 #endif
444 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
445  #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
446  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
447 #else
448  #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
449  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
450 #endif
451 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
452 #define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
453 #else
454 #define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name)
455 #endif
456 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
457  #define CYTHON_PEP393_ENABLED 1
458  #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
459  0 : _PyUnicode_Ready((PyObject *)(op)))
460  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
461  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
462  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
463  #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)
464  #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
465  #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
466  #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
467  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
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  #define PyObject_Unicode PyObject_Str
517 #endif
518 #if PY_MAJOR_VERSION >= 3
519  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
520  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
521 #else
522  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
523  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
524 #endif
525 #ifndef PySet_CheckExact
526  #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
527 #endif
528 #if CYTHON_ASSUME_SAFE_MACROS
529  #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
530 #else
531  #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
532 #endif
533 #if PY_MAJOR_VERSION >= 3
534  #define PyIntObject PyLongObject
535  #define PyInt_Type PyLong_Type
536  #define PyInt_Check(op) PyLong_Check(op)
537  #define PyInt_CheckExact(op) PyLong_CheckExact(op)
538  #define PyInt_FromString PyLong_FromString
539  #define PyInt_FromUnicode PyLong_FromUnicode
540  #define PyInt_FromLong PyLong_FromLong
541  #define PyInt_FromSize_t PyLong_FromSize_t
542  #define PyInt_FromSsize_t PyLong_FromSsize_t
543  #define PyInt_AsLong PyLong_AsLong
544  #define PyInt_AS_LONG PyLong_AS_LONG
545  #define PyInt_AsSsize_t PyLong_AsSsize_t
546  #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
547  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
548  #define PyNumber_Int PyNumber_Long
549 #endif
550 #if PY_MAJOR_VERSION >= 3
551  #define PyBoolObject PyLongObject
552 #endif
553 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
554  #ifndef PyUnicode_InternFromString
555  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
556  #endif
557 #endif
558 #if PY_VERSION_HEX < 0x030200A4
559  typedef long Py_hash_t;
560  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
561  #define __Pyx_PyInt_AsHash_t PyInt_AsLong
562 #else
563  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
564  #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
565 #endif
566 #if PY_MAJOR_VERSION >= 3
567  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func))
568 #else
569  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
570 #endif
571 #if CYTHON_USE_ASYNC_SLOTS
572  #if PY_VERSION_HEX >= 0x030500B1
573  #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
574  #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
575  #else
576  #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
577  #endif
578 #else
579  #define __Pyx_PyType_AsAsync(obj) NULL
580 #endif
581 #ifndef __Pyx_PyAsyncMethodsStruct
582  typedef struct {
583  unaryfunc am_await;
584  unaryfunc am_aiter;
585  unaryfunc am_anext;
586  } __Pyx_PyAsyncMethodsStruct;
587 #endif
588 
589 #if defined(WIN32) || defined(MS_WINDOWS)
590  #define _USE_MATH_DEFINES
591 #endif
592 #include <math.h>
593 #ifdef NAN
594 #define __PYX_NAN() ((float) NAN)
595 #else
596 static CYTHON_INLINE float __PYX_NAN() {
597  float value;
598  memset(&value, 0xFF, sizeof(value));
599  return value;
600 }
601 #endif
602 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
603 #define __Pyx_truncl trunc
604 #else
605 #define __Pyx_truncl truncl
606 #endif
607 
608 
609 #define __PYX_ERR(f_index, lineno, Ln_error) \
610 { \
611  __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
612 }
613 
614 #ifndef __PYX_EXTERN_C
615  #ifdef __cplusplus
616  #define __PYX_EXTERN_C extern "C"
617  #else
618  #define __PYX_EXTERN_C extern
619  #endif
620 #endif
621 
622 #define __PYX_HAVE__pywrapfst
623 #define __PYX_HAVE_API__pywrapfst
624 /* Early includes */
625 #include <stddef.h>
626 #include <time.h>
627 #include "ios"
628 #include "new"
629 #include "stdexcept"
630 #include "typeinfo"
631 #include <memory>
632 #include <utility>
633 #include <vector>
634 #include <string.h>
635 #include <string>
636 #include <stdint.h>
637 #include <iostream>
638 #include <fstream>
639 #include <sstream>
640 #include <fst/util.h>
641 #include <fst/fstlib.h>
642 #include <fst/script/fstscript.h>
643 #include <fst/script/getters.h>
644 #include <fst/extensions/far/far.h>
647 #include <sys/types.h>
648 #include <unistd.h>
649 #ifdef _OPENMP
650 #include <omp.h>
651 #endif /* _OPENMP */
652 
653 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
654 #define CYTHON_WITHOUT_ASSERTIONS
655 #endif
656 
657 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
658  const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
659 
660 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
661 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0
662 #define __PYX_DEFAULT_STRING_ENCODING "utf8"
663 #define __Pyx_PyObject_FromString __Pyx_PyUnicode_FromString
664 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
665 #define __Pyx_uchar_cast(c) ((unsigned char)c)
666 #define __Pyx_long_cast(x) ((long)x)
667 #define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
668  (sizeof(type) < sizeof(Py_ssize_t)) ||\
669  (sizeof(type) > sizeof(Py_ssize_t) &&\
670  likely(v < (type)PY_SSIZE_T_MAX ||\
671  v == (type)PY_SSIZE_T_MAX) &&\
672  (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
673  v == (type)PY_SSIZE_T_MIN))) ||\
674  (sizeof(type) == sizeof(Py_ssize_t) &&\
675  (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
676  v == (type)PY_SSIZE_T_MAX))) )
677 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
678  return (size_t) i < (size_t) limit;
679 }
680 #if defined (__cplusplus) && __cplusplus >= 201103L
681  #include <cstdlib>
682  #define __Pyx_sst_abs(value) std::abs(value)
683 #elif SIZEOF_INT >= SIZEOF_SIZE_T
684  #define __Pyx_sst_abs(value) abs(value)
685 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
686  #define __Pyx_sst_abs(value) labs(value)
687 #elif defined (_MSC_VER)
688  #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
689 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
690  #define __Pyx_sst_abs(value) llabs(value)
691 #elif defined (__GNUC__)
692  #define __Pyx_sst_abs(value) __builtin_llabs(value)
693 #else
694  #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
695 #endif
696 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
697 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
698 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
699 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
700 #define __Pyx_PyBytes_FromString PyBytes_FromString
701 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
702 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
703 #if PY_MAJOR_VERSION < 3
704  #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
705  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
706 #else
707  #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
708  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
709 #endif
710 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
711 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
712 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
713 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
714 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
715 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
716 #define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s))
717 #define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
718 #define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
719 #define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
720 #define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
721 #define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
722 #define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
723 #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
724 #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
725 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
726 static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
727  const Py_UNICODE *u_end = u;
728  while (*u_end++) ;
729  return (size_t)(u_end - u - 1);
730 }
731 #define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
732 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
733 #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
734 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
735 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
736 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
737 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
738 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
739 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
740 #define __Pyx_PySequence_Tuple(obj)\
741  (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
742 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
743 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
744 #if CYTHON_ASSUME_SAFE_MACROS
745 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
746 #else
747 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
748 #endif
749 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
750 #if PY_MAJOR_VERSION >= 3
751 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
752 #else
753 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
754 #endif
755 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
756 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
757 static int __Pyx_sys_getdefaultencoding_not_ascii;
758 static int __Pyx_init_sys_getdefaultencoding_params(void) {
759  PyObject* sys;
760  PyObject* default_encoding = NULL;
761  PyObject* ascii_chars_u = NULL;
762  PyObject* ascii_chars_b = NULL;
763  const char* default_encoding_c;
764  sys = PyImport_ImportModule("sys");
765  if (!sys) goto bad;
766  default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
767  Py_DECREF(sys);
768  if (!default_encoding) goto bad;
769  default_encoding_c = PyBytes_AsString(default_encoding);
770  if (!default_encoding_c) goto bad;
771  if (strcmp(default_encoding_c, "ascii") == 0) {
772  __Pyx_sys_getdefaultencoding_not_ascii = 0;
773  } else {
774  char ascii_chars[128];
775  int c;
776  for (c = 0; c < 128; c++) {
777  ascii_chars[c] = c;
778  }
779  __Pyx_sys_getdefaultencoding_not_ascii = 1;
780  ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
781  if (!ascii_chars_u) goto bad;
782  ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
783  if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
784  PyErr_Format(
785  PyExc_ValueError,
786  "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
787  default_encoding_c);
788  goto bad;
789  }
790  Py_DECREF(ascii_chars_u);
791  Py_DECREF(ascii_chars_b);
792  }
793  Py_DECREF(default_encoding);
794  return 0;
795 bad:
796  Py_XDECREF(default_encoding);
797  Py_XDECREF(ascii_chars_u);
798  Py_XDECREF(ascii_chars_b);
799  return -1;
800 }
801 #endif
802 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
803 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
804 #else
805 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
806 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
807 static char* __PYX_DEFAULT_STRING_ENCODING;
808 static int __Pyx_init_sys_getdefaultencoding_params(void) {
809  PyObject* sys;
810  PyObject* default_encoding = NULL;
811  char* default_encoding_c;
812  sys = PyImport_ImportModule("sys");
813  if (!sys) goto bad;
814  default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
815  Py_DECREF(sys);
816  if (!default_encoding) goto bad;
817  default_encoding_c = PyBytes_AsString(default_encoding);
818  if (!default_encoding_c) goto bad;
819  __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
820  if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
821  strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
822  Py_DECREF(default_encoding);
823  return 0;
824 bad:
825  Py_XDECREF(default_encoding);
826  return -1;
827 }
828 #endif
829 #endif
830 
831 
832 /* Test for GCC > 2.95 */
833 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
834  #define likely(x) __builtin_expect(!!(x), 1)
835  #define unlikely(x) __builtin_expect(!!(x), 0)
836 #else /* !__GNUC__ or GCC < 2.95 */
837  #define likely(x) (x)
838  #define unlikely(x) (x)
839 #endif /* __GNUC__ */
840 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
841 
842 static PyObject *__pyx_m = NULL;
843 static PyObject *__pyx_d;
844 static PyObject *__pyx_b;
845 static PyObject *__pyx_cython_runtime = NULL;
846 static PyObject *__pyx_empty_tuple;
847 static PyObject *__pyx_empty_bytes;
848 static PyObject *__pyx_empty_unicode;
849 static int __pyx_lineno;
850 static int __pyx_clineno = 0;
851 static const char * __pyx_cfilenm= __FILE__;
852 static const char *__pyx_filename;
853 
854 
855 static const char *__pyx_f[] = {
856  "pywrapfst.pyx",
857  "stringsource",
858 };
859 
860 /* "basictypes.pxd":22
861  *
862  *
863  * ctypedef int8_t int8 # <<<<<<<<<<<<<<
864  * ctypedef int16_t int16
865  * ctypedef int32_t int32
866  */
867 typedef int8_t __pyx_t_10basictypes_int8;
868 
869 /* "basictypes.pxd":23
870  *
871  * ctypedef int8_t int8
872  * ctypedef int16_t int16 # <<<<<<<<<<<<<<
873  * ctypedef int32_t int32
874  * ctypedef int64_t int64
875  */
876 typedef int16_t __pyx_t_10basictypes_int16;
877 
878 /* "basictypes.pxd":24
879  * ctypedef int8_t int8
880  * ctypedef int16_t int16
881  * ctypedef int32_t int32 # <<<<<<<<<<<<<<
882  * ctypedef int64_t int64
883  * ctypedef uint8_t uint8
884  */
885 typedef int32_t __pyx_t_10basictypes_int32;
886 
887 /* "basictypes.pxd":25
888  * ctypedef int16_t int16
889  * ctypedef int32_t int32
890  * ctypedef int64_t int64 # <<<<<<<<<<<<<<
891  * ctypedef uint8_t uint8
892  * ctypedef uint16_t uint16
893  */
894 typedef int64_t __pyx_t_10basictypes_int64;
895 
896 /* "basictypes.pxd":26
897  * ctypedef int32_t int32
898  * ctypedef int64_t int64
899  * ctypedef uint8_t uint8 # <<<<<<<<<<<<<<
900  * ctypedef uint16_t uint16
901  * ctypedef uint32_t uint32
902  */
903 typedef uint8_t __pyx_t_10basictypes_uint8;
904 
905 /* "basictypes.pxd":27
906  * ctypedef int64_t int64
907  * ctypedef uint8_t uint8
908  * ctypedef uint16_t uint16 # <<<<<<<<<<<<<<
909  * ctypedef uint32_t uint32
910  * ctypedef uint64_t uint64
911  */
912 typedef uint16_t __pyx_t_10basictypes_uint16;
913 
914 /* "basictypes.pxd":28
915  * ctypedef uint8_t uint8
916  * ctypedef uint16_t uint16
917  * ctypedef uint32_t uint32 # <<<<<<<<<<<<<<
918  * ctypedef uint64_t uint64
919  */
920 typedef uint32_t __pyx_t_10basictypes_uint32;
921 
922 /* "basictypes.pxd":29
923  * ctypedef uint16_t uint16
924  * ctypedef uint32_t uint32
925  * ctypedef uint64_t uint64 # <<<<<<<<<<<<<<
926  */
927 typedef uint64_t __pyx_t_10basictypes_uint64;
928 
929 /*--- Type declarations ---*/
930 struct __pyx_obj_9pywrapfst_Weight;
931 struct __pyx_obj_9pywrapfst__SymbolTable;
932 struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable;
933 struct __pyx_obj_9pywrapfst__FstSymbolTable;
934 struct __pyx_obj_9pywrapfst__MutableSymbolTable;
935 struct __pyx_obj_9pywrapfst__MutableFstSymbolTable;
936 struct __pyx_obj_9pywrapfst_SymbolTable;
937 struct __pyx_obj_9pywrapfst_SymbolTableIterator;
938 struct __pyx_obj_9pywrapfst_EncodeMapper;
939 struct __pyx_obj_9pywrapfst__Fst;
940 struct __pyx_obj_9pywrapfst__MutableFst;
941 struct __pyx_obj_9pywrapfst_Arc;
942 struct __pyx_obj_9pywrapfst_ArcIterator;
943 struct __pyx_obj_9pywrapfst_MutableArcIterator;
944 struct __pyx_obj_9pywrapfst_StateIterator;
945 struct __pyx_obj_9pywrapfst_Compiler;
946 struct __pyx_obj_9pywrapfst_FarReader;
947 struct __pyx_obj_9pywrapfst_FarWriter;
948 struct __pyx_obj_9pywrapfst___pyx_scope_struct____iter__;
949 
950 /* "fst.pxd":514
951  *
952  *
953  * ctypedef pair[int64, const FstClass *] LabelFstClassPair # <<<<<<<<<<<<<<
954  *
955  * ctypedef pair[int64, int64] LabelPair
956  */
957 typedef std::pair<__pyx_t_10basictypes_int64,fst::script::FstClass const *> __pyx_t_3fst_LabelFstClassPair;
958 
959 /* "fst.pxd":516
960  * ctypedef pair[int64, const FstClass *] LabelFstClassPair
961  *
962  * ctypedef pair[int64, int64] LabelPair # <<<<<<<<<<<<<<
963  *
964  *
965  */
966 typedef std::pair<__pyx_t_10basictypes_int64,__pyx_t_10basictypes_int64> __pyx_t_3fst_LabelPair;
967 struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol;
968 struct __pyx_opt_args_9pywrapfst_4_Fst_draw;
969 struct __pyx_opt_args_9pywrapfst_4_Fst_text;
970 struct __pyx_opt_args_9pywrapfst_11_MutableFst__arcsort;
971 struct __pyx_opt_args_9pywrapfst_11_MutableFst__closure;
972 struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_arcs;
973 struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_states;
974 struct __pyx_opt_args_9pywrapfst_11_MutableFst__minimize;
975 struct __pyx_opt_args_9pywrapfst_11_MutableFst__project;
976 struct __pyx_opt_args_9pywrapfst_11_MutableFst__prune;
977 struct __pyx_opt_args_9pywrapfst_11_MutableFst__push;
978 struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_pairs;
979 struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_tables;
980 struct __pyx_opt_args_9pywrapfst_11_MutableFst__reweight;
981 struct __pyx_opt_args_9pywrapfst_11_MutableFst__rmepsilon;
982 struct __pyx_opt_args_9pywrapfst_11_MutableFst__set_final;
983 struct __pyx_opt_args_9pywrapfst__create_Fst;
984 struct __pyx_opt_args_9pywrapfst__map;
985 struct __pyx_opt_args_9pywrapfst_arcmap;
986 struct __pyx_opt_args_9pywrapfst_compose;
987 struct __pyx_opt_args_9pywrapfst_convert;
988 struct __pyx_opt_args_9pywrapfst_determinize;
989 struct __pyx_opt_args_9pywrapfst_difference;
990 struct __pyx_opt_args_9pywrapfst_disambiguate;
991 struct __pyx_opt_args_9pywrapfst_epsnormalize;
992 struct __pyx_opt_args_9pywrapfst_equal;
993 struct __pyx_opt_args_9pywrapfst_equivalent;
994 struct __pyx_opt_args_9pywrapfst_intersect;
995 struct __pyx_opt_args_9pywrapfst_isomorphic;
996 struct __pyx_opt_args_9pywrapfst_prune;
997 struct __pyx_opt_args_9pywrapfst_push;
998 struct __pyx_opt_args_9pywrapfst_randequivalent;
999 struct __pyx_opt_args_9pywrapfst_randgen;
1000 struct __pyx_opt_args_9pywrapfst_replace;
1001 struct __pyx_opt_args_9pywrapfst_reverse;
1002 struct __pyx_opt_args_9pywrapfst__shortestdistance;
1003 struct __pyx_opt_args_9pywrapfst_shortestpath;
1004 
1005 /* "pywrapfst.pxd":100
1006  * # SymbolTable.
1007  *
1008  * ctypedef fst.SymbolTable * SymbolTable_ptr # <<<<<<<<<<<<<<
1009  *
1010  *
1011  */
1012 typedef fst::SymbolTable *__pyx_t_9pywrapfst_SymbolTable_ptr;
1013 
1014 /* "pywrapfst.pxd":142
1015  * cdef class _MutableSymbolTable(_SymbolTable):
1016  *
1017  * cpdef int64 add_symbol(self, symbol, int64 key=?) # <<<<<<<<<<<<<<
1018  *
1019  * cpdef void add_table(self, _SymbolTable syms)
1020  */
1021 struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol {
1022  int __pyx_n;
1023  __pyx_t_10basictypes_int64 key;
1024 };
1025 
1026 /* "pywrapfst.pxd":220
1027  *
1028  *
1029  * ctypedef fst.FstClass * FstClass_ptr # <<<<<<<<<<<<<<
1030  * ctypedef fst.MutableFstClass * MutableFstClass_ptr
1031  * ctypedef fst.VectorFstClass * VectorFstClass_ptr
1032  */
1033 typedef fst::script::FstClass *__pyx_t_9pywrapfst_FstClass_ptr;
1034 
1035 /* "pywrapfst.pxd":221
1036  *
1037  * ctypedef fst.FstClass * FstClass_ptr
1038  * ctypedef fst.MutableFstClass * MutableFstClass_ptr # <<<<<<<<<<<<<<
1039  * ctypedef fst.VectorFstClass * VectorFstClass_ptr
1040  *
1041  */
1042 typedef fst::script::MutableFstClass *__pyx_t_9pywrapfst_MutableFstClass_ptr;
1043 
1044 /* "pywrapfst.pxd":222
1045  * ctypedef fst.FstClass * FstClass_ptr
1046  * ctypedef fst.MutableFstClass * MutableFstClass_ptr
1047  * ctypedef fst.VectorFstClass * VectorFstClass_ptr # <<<<<<<<<<<<<<
1048  *
1049  *
1050  */
1051 typedef fst::script::VectorFstClass *__pyx_t_9pywrapfst_VectorFstClass_ptr;
1052 
1053 /* "pywrapfst.pxd":238
1054  * cpdef _Fst copy(self)
1055  *
1056  * cpdef void draw(self, filename, _SymbolTable isymbols=?, # <<<<<<<<<<<<<<
1057  * _SymbolTable osymbols=?, SymbolTable ssymbols=?,
1058  * bool acceptor=?, title=?, double width=?,
1059  */
1060 struct __pyx_opt_args_9pywrapfst_4_Fst_draw {
1061  int __pyx_n;
1062  struct __pyx_obj_9pywrapfst__SymbolTable *isymbols;
1063  struct __pyx_obj_9pywrapfst__SymbolTable *osymbols;
1064  struct __pyx_obj_9pywrapfst_SymbolTable *ssymbols;
1065  bool acceptor;
1066  PyObject *title;
1067  double width;
1068  double height;
1069  bool portrait;
1070  bool vertical;
1071  double ranksep;
1072  double nodesep;
1073  __pyx_t_10basictypes_int32 fontsize;
1074  __pyx_t_10basictypes_int32 precision;
1075  PyObject *float_format;
1076  bool show_weight_one;
1077 };
1078 
1079 /* "pywrapfst.pxd":266
1080  * cpdef StateIterator states(self)
1081  *
1082  * cpdef string text(self, _SymbolTable isymbols=?, _SymbolTable osymbols=?, # <<<<<<<<<<<<<<
1083  * _SymbolTable ssymbols=?, bool acceptor=?,
1084  * bool show_weight_one=?, missing_sym=?)
1085  */
1086 struct __pyx_opt_args_9pywrapfst_4_Fst_text {
1087  int __pyx_n;
1088  struct __pyx_obj_9pywrapfst__SymbolTable *isymbols;
1089  struct __pyx_obj_9pywrapfst__SymbolTable *osymbols;
1090  struct __pyx_obj_9pywrapfst__SymbolTable *ssymbols;
1091  bool acceptor;
1092  bool show_weight_one;
1093  PyObject *missing_sym;
1094 };
1095 
1096 /* "pywrapfst.pxd":289
1097  * cpdef int64 add_state(self) except *
1098  *
1099  * cdef void _arcsort(self, sort_type=?) except * # <<<<<<<<<<<<<<
1100  *
1101  * cdef void _closure(self, bool closure_plus=?) except *
1102  */
1103 struct __pyx_opt_args_9pywrapfst_11_MutableFst__arcsort {
1104  int __pyx_n;
1105  PyObject *sort_type;
1106 };
1107 
1108 /* "pywrapfst.pxd":291
1109  * cdef void _arcsort(self, sort_type=?) except *
1110  *
1111  * cdef void _closure(self, bool closure_plus=?) except * # <<<<<<<<<<<<<<
1112  *
1113  * cdef void _concat(self, _Fst ifst) except *
1114  */
1115 struct __pyx_opt_args_9pywrapfst_11_MutableFst__closure {
1116  int __pyx_n;
1117  bool closure_plus;
1118 };
1119 
1120 /* "pywrapfst.pxd":299
1121  * cdef void _decode(self, EncodeMapper) except *
1122  *
1123  * cdef void _delete_arcs(self, int64 state, size_t n=?) except * # <<<<<<<<<<<<<<
1124  *
1125  * cdef void _delete_states(self, states=?) except *
1126  */
1127 struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_arcs {
1128  int __pyx_n;
1129  size_t n;
1130 };
1131 
1132 /* "pywrapfst.pxd":301
1133  * cdef void _delete_arcs(self, int64 state, size_t n=?) except *
1134  *
1135  * cdef void _delete_states(self, states=?) except * # <<<<<<<<<<<<<<
1136  *
1137  * cdef void _encode(self, EncodeMapper) except *
1138  */
1139 struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_states {
1140  int __pyx_n;
1141  PyObject *states;
1142 };
1143 
1144 /* "pywrapfst.pxd":307
1145  * cdef void _invert(self) except *
1146  *
1147  * cdef void _minimize(self, float delta=?, bool allow_nondet=?) except * # <<<<<<<<<<<<<<
1148  *
1149  * cpdef MutableArcIterator mutable_arcs(self, int64 state)
1150  */
1151 struct __pyx_opt_args_9pywrapfst_11_MutableFst__minimize {
1152  int __pyx_n;
1153  float delta;
1154  bool allow_nondet;
1155 };
1156 
1157 /* "pywrapfst.pxd":313
1158  * cpdef int64 num_states(self)
1159  *
1160  * cdef void _project(self, bool project_output=?) except * # <<<<<<<<<<<<<<
1161  *
1162  * cdef void _prune(self, float delta=?, int64 nstate=?, weight=?) except *
1163  */
1164 struct __pyx_opt_args_9pywrapfst_11_MutableFst__project {
1165  int __pyx_n;
1166  bool project_output;
1167 };
1168 
1169 /* "pywrapfst.pxd":315
1170  * cdef void _project(self, bool project_output=?) except *
1171  *
1172  * cdef void _prune(self, float delta=?, int64 nstate=?, weight=?) except * # <<<<<<<<<<<<<<
1173  *
1174  * cdef void _push(self, float delta=?, bool remove_total_weight=?,
1175  */
1176 struct __pyx_opt_args_9pywrapfst_11_MutableFst__prune {
1177  int __pyx_n;
1178  float delta;
1179  __pyx_t_10basictypes_int64 nstate;
1180  PyObject *weight;
1181 };
1182 
1183 /* "pywrapfst.pxd":317
1184  * cdef void _prune(self, float delta=?, int64 nstate=?, weight=?) except *
1185  *
1186  * cdef void _push(self, float delta=?, bool remove_total_weight=?, # <<<<<<<<<<<<<<
1187  * bool to_final=?) except *
1188  *
1189  */
1190 struct __pyx_opt_args_9pywrapfst_11_MutableFst__push {
1191  int __pyx_n;
1192  float delta;
1193  bool remove_total_weight;
1194  bool to_final;
1195 };
1196 
1197 /* "pywrapfst.pxd":320
1198  * bool to_final=?) except *
1199  *
1200  * cdef void _relabel_pairs(self, ipairs=?, opairs=?) except * # <<<<<<<<<<<<<<
1201  *
1202  * cdef void _relabel_tables(self, _SymbolTable old_isymbols=?,
1203  */
1204 struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_pairs {
1205  int __pyx_n;
1206  PyObject *ipairs;
1207  PyObject *opairs;
1208 };
1209 
1210 /* "pywrapfst.pxd":322
1211  * cdef void _relabel_pairs(self, ipairs=?, opairs=?) except *
1212  *
1213  * cdef void _relabel_tables(self, _SymbolTable old_isymbols=?, # <<<<<<<<<<<<<<
1214  * _SymbolTable new_isymbols=?, unknown_isymbol=?,
1215  * bool attach_new_isymbols=?,
1216  */
1217 struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_tables {
1218  int __pyx_n;
1219  struct __pyx_obj_9pywrapfst__SymbolTable *old_isymbols;
1220  struct __pyx_obj_9pywrapfst__SymbolTable *new_isymbols;
1221  PyObject *unknown_isymbol;
1222  bool attach_new_isymbols;
1223  struct __pyx_obj_9pywrapfst__SymbolTable *old_osymbols;
1224  struct __pyx_obj_9pywrapfst__SymbolTable *new_osymbols;
1225  PyObject *unknown_osymbol;
1226  bool attach_new_osymbols;
1227 };
1228 
1229 /* "pywrapfst.pxd":332
1230  * cdef void _reserve_states(self, int64 n) except *
1231  *
1232  * cdef void _reweight(self, potentials, bool to_final=?) except * # <<<<<<<<<<<<<<
1233  *
1234  * cdef void _rmepsilon(self, queue_type=?, bool connect=?, weight=?,
1235  */
1236 struct __pyx_opt_args_9pywrapfst_11_MutableFst__reweight {
1237  int __pyx_n;
1238  bool to_final;
1239 };
1240 
1241 /* "pywrapfst.pxd":334
1242  * cdef void _reweight(self, potentials, bool to_final=?) except *
1243  *
1244  * cdef void _rmepsilon(self, queue_type=?, bool connect=?, weight=?, # <<<<<<<<<<<<<<
1245  * int64 nstate=?, float delta=?) except *
1246  *
1247  */
1248 struct __pyx_opt_args_9pywrapfst_11_MutableFst__rmepsilon {
1249  int __pyx_n;
1250  PyObject *queue_type;
1251  bool connect;
1252  PyObject *weight;
1253  __pyx_t_10basictypes_int64 nstate;
1254  float delta;
1255 };
1256 
1257 /* "pywrapfst.pxd":337
1258  * int64 nstate=?, float delta=?) except *
1259  *
1260  * cdef void _set_final(self, int64 state, weight=?) except * # <<<<<<<<<<<<<<
1261  *
1262  * cdef void _set_properties(self, uint64 props, uint64 mask)
1263  */
1264 struct __pyx_opt_args_9pywrapfst_11_MutableFst__set_final {
1265  int __pyx_n;
1266  PyObject *weight;
1267 };
1268 
1269 /* "pywrapfst.pxd":361
1270  * cdef _Fst _init_XFst(FstClass_ptr tfst)
1271  *
1272  * cdef _MutableFst _create_Fst(arc_type=?) # <<<<<<<<<<<<<<
1273  *
1274  * cpdef _Fst _read(filename)
1275  */
1276 struct __pyx_opt_args_9pywrapfst__create_Fst {
1277  int __pyx_n;
1278  PyObject *arc_type;
1279 };
1280 
1281 /* "pywrapfst.pxd":444
1282  *
1283  *
1284  * cdef _Fst _map(_Fst ifst, float delta=?, map_type=?, double power=?, weight=?) # <<<<<<<<<<<<<<
1285  *
1286  * cpdef _Fst arcmap(_Fst ifst, float delta=?, map_type=?, double power=?,
1287  */
1288 struct __pyx_opt_args_9pywrapfst__map {
1289  int __pyx_n;
1290  float delta;
1291  PyObject *map_type;
1292  double power;
1293  PyObject *weight;
1294 };
1295 
1296 /* "pywrapfst.pxd":446
1297  * cdef _Fst _map(_Fst ifst, float delta=?, map_type=?, double power=?, weight=?)
1298  *
1299  * cpdef _Fst arcmap(_Fst ifst, float delta=?, map_type=?, double power=?, # <<<<<<<<<<<<<<
1300  * weight=?)
1301  *
1302  */
1303 struct __pyx_opt_args_9pywrapfst_arcmap {
1304  int __pyx_n;
1305  float delta;
1306  PyObject *map_type;
1307  double power;
1308  PyObject *weight;
1309 };
1310 
1311 /* "pywrapfst.pxd":449
1312  * weight=?)
1313  *
1314  * cpdef _MutableFst compose(_Fst ifst1, _Fst ifst2, compose_filter=?, # <<<<<<<<<<<<<<
1315  * bool connect=?)
1316  *
1317  */
1318 struct __pyx_opt_args_9pywrapfst_compose {
1319  int __pyx_n;
1320  PyObject *compose_filter;
1321  bool connect;
1322 };
1323 
1324 /* "pywrapfst.pxd":452
1325  * bool connect=?)
1326  *
1327  * cpdef _Fst convert(_Fst ifst, fst_type=?) # <<<<<<<<<<<<<<
1328  *
1329  * cpdef _MutableFst determinize(_Fst ifst, float delta=?, det_type=?,
1330  */
1331 struct __pyx_opt_args_9pywrapfst_convert {
1332  int __pyx_n;
1333  PyObject *fst_type;
1334 };
1335 
1336 /* "pywrapfst.pxd":454
1337  * cpdef _Fst convert(_Fst ifst, fst_type=?)
1338  *
1339  * cpdef _MutableFst determinize(_Fst ifst, float delta=?, det_type=?, # <<<<<<<<<<<<<<
1340  * int64 nstate=?, int64 subsequential_label=?,
1341  * weight=?, bool increment_subsequential_label=?)
1342  */
1343 struct __pyx_opt_args_9pywrapfst_determinize {
1344  int __pyx_n;
1345  float delta;
1346  PyObject *det_type;
1347  __pyx_t_10basictypes_int64 nstate;
1348  __pyx_t_10basictypes_int64 subsequential_label;
1349  PyObject *weight;
1350  bool increment_subsequential_label;
1351 };
1352 
1353 /* "pywrapfst.pxd":458
1354  * weight=?, bool increment_subsequential_label=?)
1355  *
1356  * cpdef _MutableFst difference(_Fst ifst1, _Fst ifst2, compose_filter=?, # <<<<<<<<<<<<<<
1357  * bool connect=?)
1358  *
1359  */
1360 struct __pyx_opt_args_9pywrapfst_difference {
1361  int __pyx_n;
1362  PyObject *compose_filter;
1363  bool connect;
1364 };
1365 
1366 /* "pywrapfst.pxd":461
1367  * bool connect=?)
1368  *
1369  * cpdef _MutableFst disambiguate(_Fst ifst, float delta=?, int64 nstate=?, # <<<<<<<<<<<<<<
1370  * int64 subsequential_label=?, weight=?)
1371  *
1372  */
1373 struct __pyx_opt_args_9pywrapfst_disambiguate {
1374  int __pyx_n;
1375  float delta;
1376  __pyx_t_10basictypes_int64 nstate;
1377  __pyx_t_10basictypes_int64 subsequential_label;
1378  PyObject *weight;
1379 };
1380 
1381 /* "pywrapfst.pxd":464
1382  * int64 subsequential_label=?, weight=?)
1383  *
1384  * cpdef _MutableFst epsnormalize(_Fst ifst, bool eps_norm_output=?) # <<<<<<<<<<<<<<
1385  *
1386  * cpdef bool equal(_Fst ifst1, _Fst ifst2, float delta=?)
1387  */
1388 struct __pyx_opt_args_9pywrapfst_epsnormalize {
1389  int __pyx_n;
1390  bool eps_norm_output;
1391 };
1392 
1393 /* "pywrapfst.pxd":466
1394  * cpdef _MutableFst epsnormalize(_Fst ifst, bool eps_norm_output=?)
1395  *
1396  * cpdef bool equal(_Fst ifst1, _Fst ifst2, float delta=?) # <<<<<<<<<<<<<<
1397  *
1398  * cpdef bool equivalent(_Fst ifst1, _Fst ifst2, float delta=?) except *
1399  */
1400 struct __pyx_opt_args_9pywrapfst_equal {
1401  int __pyx_n;
1402  float delta;
1403 };
1404 
1405 /* "pywrapfst.pxd":468
1406  * cpdef bool equal(_Fst ifst1, _Fst ifst2, float delta=?)
1407  *
1408  * cpdef bool equivalent(_Fst ifst1, _Fst ifst2, float delta=?) except * # <<<<<<<<<<<<<<
1409  *
1410  * cpdef _MutableFst intersect(_Fst ifst1, _Fst ifst2, compose_filter=?,
1411  */
1412 struct __pyx_opt_args_9pywrapfst_equivalent {
1413  int __pyx_n;
1414  float delta;
1415 };
1416 
1417 /* "pywrapfst.pxd":470
1418  * cpdef bool equivalent(_Fst ifst1, _Fst ifst2, float delta=?) except *
1419  *
1420  * cpdef _MutableFst intersect(_Fst ifst1, _Fst ifst2, compose_filter=?, # <<<<<<<<<<<<<<
1421  * bool connect=?)
1422  *
1423  */
1424 struct __pyx_opt_args_9pywrapfst_intersect {
1425  int __pyx_n;
1426  PyObject *compose_filter;
1427  bool connect;
1428 };
1429 
1430 /* "pywrapfst.pxd":473
1431  * bool connect=?)
1432  *
1433  * cpdef bool isomorphic(_Fst ifst1, _Fst ifst2, float delta=?) # <<<<<<<<<<<<<<
1434  *
1435  * cpdef _MutableFst prune(_Fst ifst, float delta=?, int64 nstate=?,
1436  */
1437 struct __pyx_opt_args_9pywrapfst_isomorphic {
1438  int __pyx_n;
1439  float delta;
1440 };
1441 
1442 /* "pywrapfst.pxd":475
1443  * cpdef bool isomorphic(_Fst ifst1, _Fst ifst2, float delta=?)
1444  *
1445  * cpdef _MutableFst prune(_Fst ifst, float delta=?, int64 nstate=?, # <<<<<<<<<<<<<<
1446  * weight=?)
1447  *
1448  */
1449 struct __pyx_opt_args_9pywrapfst_prune {
1450  int __pyx_n;
1451  float delta;
1452  __pyx_t_10basictypes_int64 nstate;
1453  PyObject *weight;
1454 };
1455 
1456 /* "pywrapfst.pxd":478
1457  * weight=?)
1458  *
1459  * cpdef _MutableFst push(_Fst ifst, float delta=?, bool push_weights=?, # <<<<<<<<<<<<<<
1460  * bool push_labels=?, bool remove_common_affix=?,
1461  * bool remove_total_weight=?, bool to_final=?)
1462  */
1463 struct __pyx_opt_args_9pywrapfst_push {
1464  int __pyx_n;
1465  float delta;
1466  bool push_weights;
1467  bool push_labels;
1468  bool remove_common_affix;
1469  bool remove_total_weight;
1470  bool to_final;
1471 };
1472 
1473 /* "pywrapfst.pxd":482
1474  * bool remove_total_weight=?, bool to_final=?)
1475  *
1476  * cpdef bool randequivalent(_Fst ifst1, _Fst ifst2, int32 npath=?, # <<<<<<<<<<<<<<
1477  * float delta=?, time_t seed=?, select=?,
1478  * int32 max_length=?) except *
1479  */
1480 struct __pyx_opt_args_9pywrapfst_randequivalent {
1481  int __pyx_n;
1482  __pyx_t_10basictypes_int32 npath;
1483  float delta;
1484  time_t seed;
1485  PyObject *select;
1486  __pyx_t_10basictypes_int32 max_length;
1487 };
1488 
1489 /* "pywrapfst.pxd":486
1490  * int32 max_length=?) except *
1491  *
1492  * cpdef _MutableFst randgen(_Fst ifst, int32 npath=?, time_t seed=?, # <<<<<<<<<<<<<<
1493  * select=?, int32 max_length=?,
1494  * bool remove_total_weight=?, bool weighted=?)
1495  */
1496 struct __pyx_opt_args_9pywrapfst_randgen {
1497  int __pyx_n;
1498  __pyx_t_10basictypes_int32 npath;
1499  time_t seed;
1500  PyObject *select;
1501  __pyx_t_10basictypes_int32 max_length;
1502  bool remove_total_weight;
1503  bool weighted;
1504 };
1505 
1506 /* "pywrapfst.pxd":493
1507  * bool epsilon_on_replace) except *
1508  *
1509  * cpdef _MutableFst replace(pairs, call_arc_labeling=?, return_arc_labeling=?, # <<<<<<<<<<<<<<
1510  * bool epsilon_on_replace=?, int64 return_label=?)
1511  *
1512  */
1513 struct __pyx_opt_args_9pywrapfst_replace {
1514  int __pyx_n;
1515  PyObject *call_arc_labeling;
1516  PyObject *return_arc_labeling;
1517  bool epsilon_on_replace;
1518  __pyx_t_10basictypes_int64 return_label;
1519 };
1520 
1521 /* "pywrapfst.pxd":496
1522  * bool epsilon_on_replace=?, int64 return_label=?)
1523  *
1524  * cpdef _MutableFst reverse(_Fst ifst, bool require_superinitial=?) # <<<<<<<<<<<<<<
1525  *
1526  * cdef vector[fst.WeightClass] *_shortestdistance(_Fst ifst, float delta=?,
1527  */
1528 struct __pyx_opt_args_9pywrapfst_reverse {
1529  int __pyx_n;
1530  bool require_superinitial;
1531 };
1532 
1533 /* "pywrapfst.pxd":498
1534  * cpdef _MutableFst reverse(_Fst ifst, bool require_superinitial=?)
1535  *
1536  * cdef vector[fst.WeightClass] *_shortestdistance(_Fst ifst, float delta=?, # <<<<<<<<<<<<<<
1537  * int64 nstate=?, queue_type=?,
1538  * bool reverse=?) except *
1539  */
1540 struct __pyx_opt_args_9pywrapfst__shortestdistance {
1541  int __pyx_n;
1542  float delta;
1543  __pyx_t_10basictypes_int64 nstate;
1544  PyObject *queue_type;
1545  bool reverse;
1546 };
1547 
1548 /* "pywrapfst.pxd":502
1549  * bool reverse=?) except *
1550  *
1551  * cpdef _MutableFst shortestpath(_Fst ifst, float delta=?, int32 nshortest=?, # <<<<<<<<<<<<<<
1552  * int64 nstate=?, queue_type=?, bool unique=?,
1553  * weight=?)
1554  */
1555 struct __pyx_opt_args_9pywrapfst_shortestpath {
1556  int __pyx_n;
1557  float delta;
1558  __pyx_t_10basictypes_int32 nshortest;
1559  __pyx_t_10basictypes_int64 nstate;
1560  PyObject *queue_type;
1561  bool unique;
1562  PyObject *weight;
1563 };
1564 
1565 /* "pywrapfst.pxd":68
1566  *
1567  *
1568  * cdef class Weight(object): # <<<<<<<<<<<<<<
1569  *
1570  * cdef unique_ptr[fst.WeightClass] _weight
1571  */
1572 struct __pyx_obj_9pywrapfst_Weight {
1573  PyObject_HEAD
1574  struct __pyx_vtabstruct_9pywrapfst_Weight *__pyx_vtab;
1575  std::unique_ptr<fst::script::WeightClass> _weight;
1576 };
1577 
1578 
1579 /* "pywrapfst.pxd":103
1580  *
1581  *
1582  * cdef class _SymbolTable(object): # <<<<<<<<<<<<<<
1583  *
1584  * cdef fst.SymbolTable *_table
1585  */
1586 struct __pyx_obj_9pywrapfst__SymbolTable {
1587  PyObject_HEAD
1588  struct __pyx_vtabstruct_9pywrapfst__SymbolTable *__pyx_vtab;
1589  fst::SymbolTable *_table;
1590 };
1591 
1592 
1593 /* "pywrapfst.pxd":130
1594  *
1595  *
1596  * cdef class _EncodeMapperSymbolTable(_SymbolTable): # <<<<<<<<<<<<<<
1597  *
1598  * cdef shared_ptr[fst.EncodeMapperClass] _encoder
1599  */
1600 struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable {
1601  struct __pyx_obj_9pywrapfst__SymbolTable __pyx_base;
1602  std::shared_ptr<fst::script::EncodeMapperClass> _encoder;
1603 };
1604 
1605 
1606 /* "pywrapfst.pxd":135
1607  *
1608  *
1609  * cdef class _FstSymbolTable(_SymbolTable): # <<<<<<<<<<<<<<
1610  *
1611  * cdef shared_ptr[fst.FstClass] _fst
1612  */
1613 struct __pyx_obj_9pywrapfst__FstSymbolTable {
1614  struct __pyx_obj_9pywrapfst__SymbolTable __pyx_base;
1615  std::shared_ptr<fst::script::FstClass> _fst;
1616 };
1617 
1618 
1619 /* "pywrapfst.pxd":140
1620  *
1621  *
1622  * cdef class _MutableSymbolTable(_SymbolTable): # <<<<<<<<<<<<<<
1623  *
1624  * cpdef int64 add_symbol(self, symbol, int64 key=?)
1625  */
1626 struct __pyx_obj_9pywrapfst__MutableSymbolTable {
1627  struct __pyx_obj_9pywrapfst__SymbolTable __pyx_base;
1628 };
1629 
1630 
1631 /* "pywrapfst.pxd":149
1632  *
1633  *
1634  * cdef class _MutableFstSymbolTable(_MutableSymbolTable): # <<<<<<<<<<<<<<
1635  *
1636  * cdef shared_ptr[fst.MutableFstClass] _mfst
1637  */
1638 struct __pyx_obj_9pywrapfst__MutableFstSymbolTable {
1639  struct __pyx_obj_9pywrapfst__MutableSymbolTable __pyx_base;
1640  std::shared_ptr<fst::script::MutableFstClass> _mfst;
1641 };
1642 
1643 
1644 /* "pywrapfst.pxd":154
1645  *
1646  *
1647  * cdef class SymbolTable(_MutableSymbolTable): # <<<<<<<<<<<<<<
1648  *
1649  * cdef unique_ptr[fst.SymbolTable] _smart_table
1650  */
1651 struct __pyx_obj_9pywrapfst_SymbolTable {
1652  struct __pyx_obj_9pywrapfst__MutableSymbolTable __pyx_base;
1653  std::unique_ptr<fst::SymbolTable> _smart_table;
1654 };
1655 
1656 
1657 /* "pywrapfst.pxd":177
1658  *
1659  *
1660  * cdef class SymbolTableIterator(object): # <<<<<<<<<<<<<<
1661  *
1662  * cdef shared_ptr[fst.SymbolTable] _table
1663  */
1664 struct __pyx_obj_9pywrapfst_SymbolTableIterator {
1665  PyObject_HEAD
1666  struct __pyx_vtabstruct_9pywrapfst_SymbolTableIterator *__pyx_vtab;
1667  std::shared_ptr<fst::SymbolTable> _table;
1668  std::unique_ptr<fst::SymbolTableIterator> _siter;
1669 };
1670 
1671 
1672 /* "pywrapfst.pxd":196
1673  *
1674  *
1675  * cdef class EncodeMapper(object): # <<<<<<<<<<<<<<
1676  *
1677  * cdef shared_ptr[fst.EncodeMapperClass] _encoder
1678  */
1679 struct __pyx_obj_9pywrapfst_EncodeMapper {
1680  PyObject_HEAD
1681  struct __pyx_vtabstruct_9pywrapfst_EncodeMapper *__pyx_vtab;
1682  std::shared_ptr<fst::script::EncodeMapperClass> _encoder;
1683 };
1684 
1685 
1686 /* "pywrapfst.pxd":225
1687  *
1688  *
1689  * cdef class _Fst(object): # <<<<<<<<<<<<<<
1690  *
1691  * cdef shared_ptr[fst.FstClass] _fst
1692  */
1693 struct __pyx_obj_9pywrapfst__Fst {
1694  PyObject_HEAD
1695  struct __pyx_vtabstruct_9pywrapfst__Fst *__pyx_vtab;
1696  std::shared_ptr<fst::script::FstClass> _fst;
1697 };
1698 
1699 
1700 /* "pywrapfst.pxd":279
1701  *
1702  *
1703  * cdef class _MutableFst(_Fst): # <<<<<<<<<<<<<<
1704  *
1705  * cdef shared_ptr[fst.MutableFstClass] _mfst
1706  */
1707 struct __pyx_obj_9pywrapfst__MutableFst {
1708  struct __pyx_obj_9pywrapfst__Fst __pyx_base;
1709  std::shared_ptr<fst::script::MutableFstClass> _mfst;
1710 };
1711 
1712 
1713 /* "pywrapfst.pxd":371
1714  *
1715  *
1716  * cdef class Arc(object): # <<<<<<<<<<<<<<
1717  *
1718  * cdef unique_ptr[fst.ArcClass] _arc
1719  */
1720 struct __pyx_obj_9pywrapfst_Arc {
1721  PyObject_HEAD
1722  struct __pyx_vtabstruct_9pywrapfst_Arc *__pyx_vtab;
1723  std::unique_ptr<fst::script::ArcClass> _arc;
1724 };
1725 
1726 
1727 /* "pywrapfst.pxd":381
1728  *
1729  *
1730  * cdef class ArcIterator(object): # <<<<<<<<<<<<<<
1731  *
1732  * cdef shared_ptr[fst.FstClass] _fst
1733  */
1734 struct __pyx_obj_9pywrapfst_ArcIterator {
1735  PyObject_HEAD
1736  struct __pyx_vtabstruct_9pywrapfst_ArcIterator *__pyx_vtab;
1737  std::shared_ptr<fst::script::FstClass> _fst;
1738  std::unique_ptr<fst::script::ArcIteratorClass> _aiter;
1739 };
1740 
1741 
1742 /* "pywrapfst.pxd":403
1743  *
1744  *
1745  * cdef class MutableArcIterator(object): # <<<<<<<<<<<<<<
1746  *
1747  * cdef shared_ptr[fst.MutableFstClass] _mfst
1748  */
1749 struct __pyx_obj_9pywrapfst_MutableArcIterator {
1750  PyObject_HEAD
1751  struct __pyx_vtabstruct_9pywrapfst_MutableArcIterator *__pyx_vtab;
1752  std::shared_ptr<fst::script::MutableFstClass> _mfst;
1753  std::unique_ptr<fst::script::MutableArcIteratorClass> _aiter;
1754 };
1755 
1756 
1757 /* "pywrapfst.pxd":427
1758  *
1759  *
1760  * cdef class StateIterator(object): # <<<<<<<<<<<<<<
1761  *
1762  * cdef shared_ptr[fst.FstClass] _fst
1763  */
1764 struct __pyx_obj_9pywrapfst_StateIterator {
1765  PyObject_HEAD
1766  struct __pyx_vtabstruct_9pywrapfst_StateIterator *__pyx_vtab;
1767  std::shared_ptr<fst::script::FstClass> _fst;
1768  std::unique_ptr<fst::script::StateIteratorClass> _siter;
1769 };
1770 
1771 
1772 /* "pywrapfst.pxd":514
1773  *
1774  *
1775  * cdef class Compiler(object): # <<<<<<<<<<<<<<
1776  *
1777  * cdef unique_ptr[stringstream] _sstrm
1778  */
1779 struct __pyx_obj_9pywrapfst_Compiler {
1780  PyObject_HEAD
1781  struct __pyx_vtabstruct_9pywrapfst_Compiler *__pyx_vtab;
1782  std::unique_ptr<std::stringstream> _sstrm;
1783  std::string _fst_type;
1784  std::string _arc_type;
1785  fst::SymbolTable const *_isymbols;
1786  fst::SymbolTable const *_osymbols;
1787  fst::SymbolTable const *_ssymbols;
1788  bool _acceptor;
1789  bool _keep_isymbols;
1790  bool _keep_osymbols;
1791  bool _keep_state_numbering;
1792  bool _allow_negative_labels;
1793 };
1794 
1795 
1796 /* "pywrapfst.pxd":535
1797  * # FarReader.
1798  *
1799  * cdef class FarReader(object): # <<<<<<<<<<<<<<
1800  *
1801  * cdef unique_ptr[fst.FarReaderClass] _reader
1802  */
1803 struct __pyx_obj_9pywrapfst_FarReader {
1804  PyObject_HEAD
1805  struct __pyx_vtabstruct_9pywrapfst_FarReader *__pyx_vtab;
1806  std::unique_ptr<fst::script::FarReaderClass> _reader;
1807 };
1808 
1809 
1810 /* "pywrapfst.pxd":560
1811  * # FarWriter.
1812  *
1813  * cdef class FarWriter(object): # <<<<<<<<<<<<<<
1814  *
1815  * cdef unique_ptr[fst.FarWriterClass] _writer
1816  */
1817 struct __pyx_obj_9pywrapfst_FarWriter {
1818  PyObject_HEAD
1819  struct __pyx_vtabstruct_9pywrapfst_FarWriter *__pyx_vtab;
1820  std::unique_ptr<fst::script::FarWriterClass> _writer;
1821 };
1822 
1823 
1824 /* "pywrapfst.pyx":3117
1825  *
1826  * # Magic method used to get a Pythonic Iterator API out of the C++ API
1827  * def __iter__(self): # <<<<<<<<<<<<<<
1828  * while not self.done():
1829  * yield self.value()
1830  */
1831 struct __pyx_obj_9pywrapfst___pyx_scope_struct____iter__ {
1832  PyObject_HEAD
1833  struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self;
1834 };
1835 
1836 
1837 
1838 /* "pywrapfst.pyx":333
1839  *
1840  *
1841  * cdef class Weight(object): # <<<<<<<<<<<<<<
1842  *
1843  * """
1844  */
1845 
1846 struct __pyx_vtabstruct_9pywrapfst_Weight {
1847  void (*_check_weight)(struct __pyx_obj_9pywrapfst_Weight *);
1848  struct __pyx_obj_9pywrapfst_Weight *(*copy)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
1849  std::string (*to_string)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
1850  std::string (*type)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
1851  bool (*member)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
1852 };
1853 static struct __pyx_vtabstruct_9pywrapfst_Weight *__pyx_vtabptr_9pywrapfst_Weight;
1854 
1855 
1856 /* "pywrapfst.pyx":663
1857  *
1858  *
1859  * cdef class _SymbolTable(object): # <<<<<<<<<<<<<<
1860  *
1861  * """
1862  */
1863 
1864 struct __pyx_vtabstruct_9pywrapfst__SymbolTable {
1865  __pyx_t_10basictypes_int64 (*available_key)(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1866  PyObject *(*checksum)(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1867  struct __pyx_obj_9pywrapfst_SymbolTable *(*copy)(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1868  __pyx_t_10basictypes_int64 (*get_nth_key)(struct __pyx_obj_9pywrapfst__SymbolTable *, Py_ssize_t, int __pyx_skip_dispatch);
1869  PyObject *(*labeled_checksum)(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1870  bool (*member)(struct __pyx_obj_9pywrapfst__SymbolTable *, PyObject *, int __pyx_skip_dispatch);
1871  std::string (*name)(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1872  size_t (*num_symbols)(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1873  void (*write)(struct __pyx_obj_9pywrapfst__SymbolTable *, PyObject *, int __pyx_skip_dispatch);
1874  void (*write_text)(struct __pyx_obj_9pywrapfst__SymbolTable *, PyObject *, int __pyx_skip_dispatch);
1875  PyObject *(*write_to_string)(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1876 };
1877 static struct __pyx_vtabstruct_9pywrapfst__SymbolTable *__pyx_vtabptr_9pywrapfst__SymbolTable;
1878 
1879 
1880 /* "pywrapfst.pyx":851
1881  *
1882  *
1883  * cdef class _EncodeMapperSymbolTable(_SymbolTable): # <<<<<<<<<<<<<<
1884  *
1885  * """
1886  */
1887 
1888 struct __pyx_vtabstruct_9pywrapfst__EncodeMapperSymbolTable {
1889  struct __pyx_vtabstruct_9pywrapfst__SymbolTable __pyx_base;
1890 };
1891 static struct __pyx_vtabstruct_9pywrapfst__EncodeMapperSymbolTable *__pyx_vtabptr_9pywrapfst__EncodeMapperSymbolTable;
1892 
1893 
1894 /* "pywrapfst.pyx":871
1895  *
1896  *
1897  * cdef class _FstSymbolTable(_SymbolTable): # <<<<<<<<<<<<<<
1898  *
1899  * """
1900  */
1901 
1902 struct __pyx_vtabstruct_9pywrapfst__FstSymbolTable {
1903  struct __pyx_vtabstruct_9pywrapfst__SymbolTable __pyx_base;
1904 };
1905 static struct __pyx_vtabstruct_9pywrapfst__FstSymbolTable *__pyx_vtabptr_9pywrapfst__FstSymbolTable;
1906 
1907 
1908 /* "pywrapfst.pyx":890
1909  *
1910  *
1911  * cdef class _MutableSymbolTable(_SymbolTable): # <<<<<<<<<<<<<<
1912  *
1913  * """
1914  */
1915 
1916 struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable {
1917  struct __pyx_vtabstruct_9pywrapfst__SymbolTable __pyx_base;
1918  __pyx_t_10basictypes_int64 (*add_symbol)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol *__pyx_optional_args);
1919  void (*add_table)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *, struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1920  void (*set_name)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *, PyObject *, int __pyx_skip_dispatch);
1921 };
1922 static struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable *__pyx_vtabptr_9pywrapfst__MutableSymbolTable;
1923 
1924 
1925 /* "pywrapfst.pyx":942
1926  *
1927  *
1928  * cdef class _MutableFstSymbolTable(_MutableSymbolTable): # <<<<<<<<<<<<<<
1929  * """
1930  * (No constructor.)
1931  */
1932 
1933 struct __pyx_vtabstruct_9pywrapfst__MutableFstSymbolTable {
1934  struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable __pyx_base;
1935 };
1936 static struct __pyx_vtabstruct_9pywrapfst__MutableFstSymbolTable *__pyx_vtabptr_9pywrapfst__MutableFstSymbolTable;
1937 
1938 
1939 /* "pywrapfst.pyx":953
1940  *
1941  *
1942  * cdef class SymbolTable(_MutableSymbolTable): # <<<<<<<<<<<<<<
1943  *
1944  * """
1945  */
1946 
1947 struct __pyx_vtabstruct_9pywrapfst_SymbolTable {
1948  struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable __pyx_base;
1949 };
1950 static struct __pyx_vtabstruct_9pywrapfst_SymbolTable *__pyx_vtabptr_9pywrapfst_SymbolTable;
1951 
1952 
1953 /* "pywrapfst.pyx":1148
1954  *
1955  *
1956  * cdef class SymbolTableIterator(object): # <<<<<<<<<<<<<<
1957  *
1958  * """
1959  */
1960 
1961 struct __pyx_vtabstruct_9pywrapfst_SymbolTableIterator {
1962  bool (*done)(struct __pyx_obj_9pywrapfst_SymbolTableIterator *, int __pyx_skip_dispatch);
1963  void (*next)(struct __pyx_obj_9pywrapfst_SymbolTableIterator *, int __pyx_skip_dispatch);
1964  void (*reset)(struct __pyx_obj_9pywrapfst_SymbolTableIterator *, int __pyx_skip_dispatch);
1965  std::string (*symbol)(struct __pyx_obj_9pywrapfst_SymbolTableIterator *, int __pyx_skip_dispatch);
1966  __pyx_t_10basictypes_int64 (*value)(struct __pyx_obj_9pywrapfst_SymbolTableIterator *, int __pyx_skip_dispatch);
1967 };
1968 static struct __pyx_vtabstruct_9pywrapfst_SymbolTableIterator *__pyx_vtabptr_9pywrapfst_SymbolTableIterator;
1969 
1970 
1971 /* "pywrapfst.pyx":1230
1972  *
1973  *
1974  * cdef class EncodeMapper(object): # <<<<<<<<<<<<<<
1975  *
1976  * """
1977  */
1978 
1979 struct __pyx_vtabstruct_9pywrapfst_EncodeMapper {
1980  std::string (*arc_type)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
1981  __pyx_t_10basictypes_uint32 (*flags)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
1982  struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable *(*input_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
1983  struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable *(*output_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
1984  __pyx_t_10basictypes_uint64 (*properties)(struct __pyx_obj_9pywrapfst_EncodeMapper *, __pyx_t_10basictypes_uint64, int __pyx_skip_dispatch);
1985  void (*set_input_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1986  void (*set_output_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch);
1987  std::string (*weight_type)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
1988 };
1989 static struct __pyx_vtabstruct_9pywrapfst_EncodeMapper *__pyx_vtabptr_9pywrapfst_EncodeMapper;
1990 
1991 
1992 /* "pywrapfst.pyx":1386
1993  *
1994  *
1995  * cdef class _Fst(object): # <<<<<<<<<<<<<<
1996  *
1997  * """
1998  */
1999 
2000 struct __pyx_vtabstruct_9pywrapfst__Fst {
2001  std::string (*_local_render_svg)(std::string const &);
2002  std::string (*arc_type)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2003  struct __pyx_obj_9pywrapfst_ArcIterator *(*arcs)(struct __pyx_obj_9pywrapfst__Fst *, __pyx_t_10basictypes_int64, int __pyx_skip_dispatch);
2004  struct __pyx_obj_9pywrapfst__Fst *(*copy)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2005  void (*draw)(struct __pyx_obj_9pywrapfst__Fst *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_4_Fst_draw *__pyx_optional_args);
2006  struct __pyx_obj_9pywrapfst_Weight *(*final)(struct __pyx_obj_9pywrapfst__Fst *, __pyx_t_10basictypes_int64, int __pyx_skip_dispatch);
2007  std::string (*fst_type)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2008  struct __pyx_obj_9pywrapfst__FstSymbolTable *(*input_symbols)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2009  size_t (*num_arcs)(struct __pyx_obj_9pywrapfst__Fst *, __pyx_t_10basictypes_int64, int __pyx_skip_dispatch);
2010  size_t (*num_input_epsilons)(struct __pyx_obj_9pywrapfst__Fst *, __pyx_t_10basictypes_int64, int __pyx_skip_dispatch);
2011  size_t (*num_output_epsilons)(struct __pyx_obj_9pywrapfst__Fst *, __pyx_t_10basictypes_int64, int __pyx_skip_dispatch);
2012  struct __pyx_obj_9pywrapfst__FstSymbolTable *(*output_symbols)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2013  __pyx_t_10basictypes_uint64 (*properties)(struct __pyx_obj_9pywrapfst__Fst *, __pyx_t_10basictypes_uint64, bool, int __pyx_skip_dispatch);
2014  __pyx_t_10basictypes_int64 (*start)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2015  struct __pyx_obj_9pywrapfst_StateIterator *(*states)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2016  std::string (*text)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_4_Fst_text *__pyx_optional_args);
2017  bool (*verify)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2018  std::string (*weight_type)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2019  void (*write)(struct __pyx_obj_9pywrapfst__Fst *, PyObject *, int __pyx_skip_dispatch);
2020  PyObject *(*write_to_string)(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2021 };
2022 static struct __pyx_vtabstruct_9pywrapfst__Fst *__pyx_vtabptr_9pywrapfst__Fst;
2023 
2024 
2025 /* "pywrapfst.pyx":1801
2026  *
2027  *
2028  * cdef class _MutableFst(_Fst): # <<<<<<<<<<<<<<
2029  *
2030  * """
2031  */
2032 
2033 struct __pyx_vtabstruct_9pywrapfst__MutableFst {
2034  struct __pyx_vtabstruct_9pywrapfst__Fst __pyx_base;
2035  void (*_check_mutating_imethod)(struct __pyx_obj_9pywrapfst__MutableFst *);
2036  void (*_add_arc)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_int64, struct __pyx_obj_9pywrapfst_Arc *);
2037  __pyx_t_10basictypes_int64 (*add_state)(struct __pyx_obj_9pywrapfst__MutableFst *, int __pyx_skip_dispatch);
2038  void (*_arcsort)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__arcsort *__pyx_optional_args);
2039  void (*_closure)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__closure *__pyx_optional_args);
2040  void (*_concat)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_obj_9pywrapfst__Fst *);
2041  void (*_connect)(struct __pyx_obj_9pywrapfst__MutableFst *);
2042  void (*_decode)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_obj_9pywrapfst_EncodeMapper *);
2043  void (*_delete_arcs)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_int64, struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_arcs *__pyx_optional_args);
2044  void (*_delete_states)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_states *__pyx_optional_args);
2045  void (*_encode)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_obj_9pywrapfst_EncodeMapper *);
2046  void (*_invert)(struct __pyx_obj_9pywrapfst__MutableFst *);
2047  void (*_minimize)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__minimize *__pyx_optional_args);
2048  struct __pyx_obj_9pywrapfst_MutableArcIterator *(*mutable_arcs)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_int64, int __pyx_skip_dispatch);
2049  __pyx_t_10basictypes_int64 (*num_states)(struct __pyx_obj_9pywrapfst__MutableFst *, int __pyx_skip_dispatch);
2050  void (*_project)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__project *__pyx_optional_args);
2051  void (*_prune)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__prune *__pyx_optional_args);
2052  void (*_push)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__push *__pyx_optional_args);
2053  void (*_relabel_pairs)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_pairs *__pyx_optional_args);
2054  void (*_relabel_tables)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_tables *__pyx_optional_args);
2055  void (*_reserve_arcs)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_int64, size_t);
2056  void (*_reserve_states)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_int64);
2057  void (*_reweight)(struct __pyx_obj_9pywrapfst__MutableFst *, PyObject *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__reweight *__pyx_optional_args);
2058  void (*_rmepsilon)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_opt_args_9pywrapfst_11_MutableFst__rmepsilon *__pyx_optional_args);
2059  void (*_set_final)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_int64, struct __pyx_opt_args_9pywrapfst_11_MutableFst__set_final *__pyx_optional_args);
2060  void (*_set_properties)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_uint64, __pyx_t_10basictypes_uint64);
2061  void (*_set_start)(struct __pyx_obj_9pywrapfst__MutableFst *, __pyx_t_10basictypes_int64);
2062  void (*_set_input_symbols)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_obj_9pywrapfst__SymbolTable *);
2063  void (*_set_output_symbols)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_obj_9pywrapfst__SymbolTable *);
2064  void (*_topsort)(struct __pyx_obj_9pywrapfst__MutableFst *);
2065  void (*_union)(struct __pyx_obj_9pywrapfst__MutableFst *, struct __pyx_obj_9pywrapfst__Fst *);
2066 };
2067 static struct __pyx_vtabstruct_9pywrapfst__MutableFst *__pyx_vtabptr_9pywrapfst__MutableFst;
2068 
2069 
2070 /* "pywrapfst.pyx":2919
2071  *
2072  *
2073  * cdef class Arc(object): # <<<<<<<<<<<<<<
2074  *
2075  * """
2076  */
2077 
2078 struct __pyx_vtabstruct_9pywrapfst_Arc {
2079  struct __pyx_obj_9pywrapfst_Arc *(*copy)(struct __pyx_obj_9pywrapfst_Arc *, int __pyx_skip_dispatch);
2080 };
2081 static struct __pyx_vtabstruct_9pywrapfst_Arc *__pyx_vtabptr_9pywrapfst_Arc;
2082 
2083 
2084 /* "pywrapfst.pyx":2986
2085  *
2086  *
2087  * cdef class ArcIterator(object): # <<<<<<<<<<<<<<
2088  *
2089  * """
2090  */
2091 
2092 struct __pyx_vtabstruct_9pywrapfst_ArcIterator {
2093  bool (*done)(struct __pyx_obj_9pywrapfst_ArcIterator *, int __pyx_skip_dispatch);
2094  __pyx_t_10basictypes_uint32 (*flags)(struct __pyx_obj_9pywrapfst_ArcIterator *, int __pyx_skip_dispatch);
2095  void (*next)(struct __pyx_obj_9pywrapfst_ArcIterator *, int __pyx_skip_dispatch);
2096  size_t (*position)(struct __pyx_obj_9pywrapfst_ArcIterator *, int __pyx_skip_dispatch);
2097  void (*reset)(struct __pyx_obj_9pywrapfst_ArcIterator *, int __pyx_skip_dispatch);
2098  void (*seek)(struct __pyx_obj_9pywrapfst_ArcIterator *, size_t, int __pyx_skip_dispatch);
2099  void (*set_flags)(struct __pyx_obj_9pywrapfst_ArcIterator *, __pyx_t_10basictypes_uint32, __pyx_t_10basictypes_uint32, int __pyx_skip_dispatch);
2100  PyObject *(*value)(struct __pyx_obj_9pywrapfst_ArcIterator *, int __pyx_skip_dispatch);
2101 };
2102 static struct __pyx_vtabstruct_9pywrapfst_ArcIterator *__pyx_vtabptr_9pywrapfst_ArcIterator;
2103 
2104 
2105 /* "pywrapfst.pyx":3097
2106  *
2107  *
2108  * cdef class MutableArcIterator(object): # <<<<<<<<<<<<<<
2109  *
2110  * """
2111  */
2112 
2113 struct __pyx_vtabstruct_9pywrapfst_MutableArcIterator {
2114  bool (*done)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, int __pyx_skip_dispatch);
2115  __pyx_t_10basictypes_uint32 (*flags)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, int __pyx_skip_dispatch);
2116  void (*next)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, int __pyx_skip_dispatch);
2117  size_t (*position)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, int __pyx_skip_dispatch);
2118  void (*reset)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, int __pyx_skip_dispatch);
2119  void (*seek)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, size_t, int __pyx_skip_dispatch);
2120  void (*set_flags)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, __pyx_t_10basictypes_uint32, __pyx_t_10basictypes_uint32, int __pyx_skip_dispatch);
2121  void (*set_value)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, struct __pyx_obj_9pywrapfst_Arc *, int __pyx_skip_dispatch);
2122  PyObject *(*value)(struct __pyx_obj_9pywrapfst_MutableArcIterator *, int __pyx_skip_dispatch);
2123 };
2124 static struct __pyx_vtabstruct_9pywrapfst_MutableArcIterator *__pyx_vtabptr_9pywrapfst_MutableArcIterator;
2125 
2126 
2127 /* "pywrapfst.pyx":3217
2128  *
2129  *
2130  * cdef class StateIterator(object): # <<<<<<<<<<<<<<
2131  *
2132  * """
2133  */
2134 
2135 struct __pyx_vtabstruct_9pywrapfst_StateIterator {
2136  bool (*done)(struct __pyx_obj_9pywrapfst_StateIterator *, int __pyx_skip_dispatch);
2137  void (*next)(struct __pyx_obj_9pywrapfst_StateIterator *, int __pyx_skip_dispatch);
2138  void (*reset)(struct __pyx_obj_9pywrapfst_StateIterator *, int __pyx_skip_dispatch);
2139  __pyx_t_10basictypes_int64 (*value)(struct __pyx_obj_9pywrapfst_StateIterator *, int __pyx_skip_dispatch);
2140 };
2141 static struct __pyx_vtabstruct_9pywrapfst_StateIterator *__pyx_vtabptr_9pywrapfst_StateIterator;
2142 
2143 
2144 /* "pywrapfst.pyx":4115
2145  *
2146  *
2147  * cdef class Compiler(object): # <<<<<<<<<<<<<<
2148  *
2149  * """
2150  */
2151 
2152 struct __pyx_vtabstruct_9pywrapfst_Compiler {
2153  struct __pyx_obj_9pywrapfst__Fst *(*compile)(struct __pyx_obj_9pywrapfst_Compiler *, int __pyx_skip_dispatch);
2154  void (*write)(struct __pyx_obj_9pywrapfst_Compiler *, PyObject *, int __pyx_skip_dispatch);
2155 };
2156 static struct __pyx_vtabstruct_9pywrapfst_Compiler *__pyx_vtabptr_9pywrapfst_Compiler;
2157 
2158 
2159 /* "pywrapfst.pyx":4245
2160  *
2161  *
2162  * cdef class FarReader(object): # <<<<<<<<<<<<<<
2163  *
2164  * """
2165  */
2166 
2167 struct __pyx_vtabstruct_9pywrapfst_FarReader {
2168  std::string (*arc_type)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2169  bool (*done)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2170  bool (*error)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2171  std::string (*far_type)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2172  bool (*find)(struct __pyx_obj_9pywrapfst_FarReader *, PyObject *, int __pyx_skip_dispatch);
2173  struct __pyx_obj_9pywrapfst__Fst *(*get_fst)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2174  std::string (*get_key)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2175  void (*next)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2176  void (*reset)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2177 };
2178 static struct __pyx_vtabstruct_9pywrapfst_FarReader *__pyx_vtabptr_9pywrapfst_FarReader;
2179 
2180 
2181 /* "pywrapfst.pyx":4392
2182  *
2183  *
2184  * cdef class FarWriter(object): # <<<<<<<<<<<<<<
2185  *
2186  * """
2187  */
2188 
2189 struct __pyx_vtabstruct_9pywrapfst_FarWriter {
2190  std::string (*arc_type)(struct __pyx_obj_9pywrapfst_FarWriter *, int __pyx_skip_dispatch);
2191  void (*close)(struct __pyx_obj_9pywrapfst_FarWriter *);
2192  void (*add)(struct __pyx_obj_9pywrapfst_FarWriter *, PyObject *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch);
2193  bool (*error)(struct __pyx_obj_9pywrapfst_FarWriter *, int __pyx_skip_dispatch);
2194  std::string (*far_type)(struct __pyx_obj_9pywrapfst_FarWriter *, int __pyx_skip_dispatch);
2195 };
2196 static struct __pyx_vtabstruct_9pywrapfst_FarWriter *__pyx_vtabptr_9pywrapfst_FarWriter;
2197 
2198 /* --- Runtime support code (head) --- */
2199 /* Refnanny.proto */
2200 #ifndef CYTHON_REFNANNY
2201  #define CYTHON_REFNANNY 0
2202 #endif
2203 #if CYTHON_REFNANNY
2204  typedef struct {
2205  void (*INCREF)(void*, PyObject*, int);
2206  void (*DECREF)(void*, PyObject*, int);
2207  void (*GOTREF)(void*, PyObject*, int);
2208  void (*GIVEREF)(void*, PyObject*, int);
2209  void* (*SetupContext)(const char*, int, const char*);
2210  void (*FinishContext)(void**);
2211  } __Pyx_RefNannyAPIStruct;
2212  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
2213  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
2214  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
2215 #ifdef WITH_THREAD
2216  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
2217  if (acquire_gil) {\
2218  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2219  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
2220  PyGILState_Release(__pyx_gilstate_save);\
2221  } else {\
2222  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
2223  }
2224 #else
2225  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
2226  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
2227 #endif
2228  #define __Pyx_RefNannyFinishContext()\
2229  __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
2230  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2231  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2232  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2233  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2234  #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
2235  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
2236  #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
2237  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
2238 #else
2239  #define __Pyx_RefNannyDeclarations
2240  #define __Pyx_RefNannySetupContext(name, acquire_gil)
2241  #define __Pyx_RefNannyFinishContext()
2242  #define __Pyx_INCREF(r) Py_INCREF(r)
2243  #define __Pyx_DECREF(r) Py_DECREF(r)
2244  #define __Pyx_GOTREF(r)
2245  #define __Pyx_GIVEREF(r)
2246  #define __Pyx_XINCREF(r) Py_XINCREF(r)
2247  #define __Pyx_XDECREF(r) Py_XDECREF(r)
2248  #define __Pyx_XGOTREF(r)
2249  #define __Pyx_XGIVEREF(r)
2250 #endif
2251 #define __Pyx_XDECREF_SET(r, v) do {\
2252  PyObject *tmp = (PyObject *) r;\
2253  r = v; __Pyx_XDECREF(tmp);\
2254  } while (0)
2255 #define __Pyx_DECREF_SET(r, v) do {\
2256  PyObject *tmp = (PyObject *) r;\
2257  r = v; __Pyx_DECREF(tmp);\
2258  } while (0)
2259 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
2260 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
2261 
2262 /* PyObjectGetAttrStr.proto */
2263 #if CYTHON_USE_TYPE_SLOTS
2264 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
2265 #else
2266 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
2267 #endif
2268 
2269 /* GetBuiltinName.proto */
2270 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
2271 
2272 /* PyCFunctionFastCall.proto */
2273 #if CYTHON_FAST_PYCCALL
2274 static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
2275 #else
2276 #define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)
2277 #endif
2278 
2279 /* PyFunctionFastCall.proto */
2280 #if CYTHON_FAST_PYCALL
2281 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
2282  __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
2283 #if 1 || PY_VERSION_HEX < 0x030600B1
2284 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs);
2285 #else
2286 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
2287 #endif
2288 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
2289  (sizeof(char [1 - 2*!(cond)]) - 1)
2290 #ifndef Py_MEMBER_SIZE
2291 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
2292 #endif
2293  static size_t __pyx_pyframe_localsplus_offset = 0;
2294  #include "frameobject.h"
2295  #define __Pxy_PyFrame_Initialize_Offsets()\
2296  ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
2297  (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
2298  #define __Pyx_PyFrame_GetLocalsplus(frame)\
2299  (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
2300 #endif
2301 
2302 /* PyObjectCall.proto */
2303 #if CYTHON_COMPILING_IN_CPYTHON
2304 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
2305 #else
2306 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
2307 #endif
2308 
2309 /* PyObjectCall2Args.proto */
2310 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
2311 
2312 /* PyObjectCallMethO.proto */
2313 #if CYTHON_COMPILING_IN_CPYTHON
2314 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
2315 #endif
2316 
2317 /* PyObjectCallOneArg.proto */
2318 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
2319 
2320 /* GetModuleGlobalName.proto */
2321 #if CYTHON_USE_DICT_VERSIONS
2322 #define __Pyx_GetModuleGlobalName(var, name) {\
2323  static PY_UINT64_T __pyx_dict_version = 0;\
2324  static PyObject *__pyx_dict_cached_value = NULL;\
2325  (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
2326  (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
2327  __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
2328 }
2329 #define __Pyx_GetModuleGlobalNameUncached(var, name) {\
2330  PY_UINT64_T __pyx_dict_version;\
2331  PyObject *__pyx_dict_cached_value;\
2332  (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
2333 }
2334 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
2335 #else
2336 #define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
2337 #define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
2338 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
2339 #endif
2340 
2341 /* PyThreadStateGet.proto */
2342 #if CYTHON_FAST_THREAD_STATE
2343 #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
2344 #define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
2345 #define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type
2346 #else
2347 #define __Pyx_PyThreadState_declare
2348 #define __Pyx_PyThreadState_assign
2349 #define __Pyx_PyErr_Occurred() PyErr_Occurred()
2350 #endif
2351 
2352 /* PyErrFetchRestore.proto */
2353 #if CYTHON_FAST_THREAD_STATE
2354 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
2355 #define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
2356 #define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
2357 #define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
2358 #define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
2359 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
2360 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2361 #if CYTHON_COMPILING_IN_CPYTHON
2362 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
2363 #else
2364 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2365 #endif
2366 #else
2367 #define __Pyx_PyErr_Clear() PyErr_Clear()
2368 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2369 #define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
2370 #define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
2371 #define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
2372 #define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
2373 #define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
2374 #define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
2375 #endif
2376 
2377 /* RaiseException.proto */
2378 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
2379 
2380 /* RaiseArgTupleInvalid.proto */
2381 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
2382  Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
2383 
2384 /* RaiseDoubleKeywords.proto */
2385 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
2386 
2387 /* ParseKeywords.proto */
2388 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
2389  PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
2390  const char* function_name);
2391 
2392 /* PyObjectCallNoArg.proto */
2393 #if CYTHON_COMPILING_IN_CPYTHON
2394 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
2395 #else
2396 #define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
2397 #endif
2398 
2399 /* ExtTypeTest.proto */
2400 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
2401 
2402 /* ArgTypeTest.proto */
2403 #define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
2404  ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
2405  __Pyx__ArgTypeTest(obj, type, name, exact))
2406 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
2407 
2408 /* WriteUnraisableException.proto */
2409 static void __Pyx_WriteUnraisable(const char *name, int clineno,
2410  int lineno, const char *filename,
2411  int full_traceback, int nogil);
2412 
2413 /* KeywordStringCheck.proto */
2414 static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);
2415 
2416 /* GetTopmostException.proto */
2417 #if CYTHON_USE_EXC_INFO_STACK
2418 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
2419 #endif
2420 
2421 /* SaveResetException.proto */
2422 #if CYTHON_FAST_THREAD_STATE
2423 #define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
2424 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2425 #define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
2426 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
2427 #else
2428 #define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
2429 #define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
2430 #endif
2431 
2432 /* FastTypeChecks.proto */
2433 #if CYTHON_COMPILING_IN_CPYTHON
2434 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
2435 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
2436 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
2437 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
2438 #else
2439 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
2440 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
2441 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
2442 #endif
2443 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
2444 
2445 /* GetException.proto */
2446 #if CYTHON_FAST_THREAD_STATE
2447 #define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
2448 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2449 #else
2450 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
2451 #endif
2452 
2453 /* GetItemInt.proto */
2454 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2455  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2456  __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
2457  (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
2458  __Pyx_GetItemInt_Generic(o, to_py_func(i))))
2459 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2460  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2461  __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2462  (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
2463 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
2464  int wraparound, int boundscheck);
2465 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2466  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2467  __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2468  (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
2469 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
2470  int wraparound, int boundscheck);
2471 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
2472 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
2473  int is_list, int wraparound, int boundscheck);
2474 
2475 /* PyErrExceptionMatches.proto */
2476 #if CYTHON_FAST_THREAD_STATE
2477 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
2478 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
2479 #else
2480 #define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
2481 #endif
2482 
2483 /* SwapException.proto */
2484 #if CYTHON_FAST_THREAD_STATE
2485 #define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
2486 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2487 #else
2488 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
2489 #endif
2490 
2491 /* RaiseTooManyValuesToUnpack.proto */
2492 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
2493 
2494 /* RaiseNeedMoreValuesToUnpack.proto */
2495 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
2496 
2497 /* IterFinish.proto */
2498 static CYTHON_INLINE int __Pyx_IterFinish(void);
2499 
2500 /* UnpackItemEndCheck.proto */
2501 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
2502 
2503 /* IterNext.proto */
2504 #define __Pyx_PyIter_Next(obj) __Pyx_PyIter_Next2(obj, NULL)
2505 static CYTHON_INLINE PyObject *__Pyx_PyIter_Next2(PyObject *, PyObject *);
2506 
2507 /* ListCompAppend.proto */
2508 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
2509 static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
2510  PyListObject* L = (PyListObject*) list;
2511  Py_ssize_t len = Py_SIZE(list);
2512  if (likely(L->allocated > len)) {
2513  Py_INCREF(x);
2514  PyList_SET_ITEM(list, len, x);
2515  Py_SIZE(list) = len+1;
2516  return 0;
2517  }
2518  return PyList_Append(list, x);
2519 }
2520 #else
2521 #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
2522 #endif
2523 
2524 /* IncludeStringH.proto */
2525 #include <string.h>
2526 
2527 /* PyObject_GenericGetAttrNoDict.proto */
2528 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2529 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
2530 #else
2531 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
2532 #endif
2533 
2534 /* PyObject_GenericGetAttr.proto */
2535 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2536 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
2537 #else
2538 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
2539 #endif
2540 
2541 /* SetVTable.proto */
2542 static int __Pyx_SetVtable(PyObject *dict, void *vtable);
2543 
2544 /* SetupReduce.proto */
2545 static int __Pyx_setup_reduce(PyObject* type_obj);
2546 
2547 /* Import.proto */
2548 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
2549 
2550 /* CalculateMetaclass.proto */
2551 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
2552 
2553 /* Py3ClassCreate.proto */
2554 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
2555  PyObject *mkw, PyObject *modname, PyObject *doc);
2556 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
2557  PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
2558 
2559 /* ClassMethod.proto */
2560 #include "descrobject.h"
2561 static PyObject* __Pyx_Method_ClassMethod(PyObject *method);
2562 
2563 /* GetNameInClass.proto */
2564 #define __Pyx_GetNameInClass(var, nmspace, name) (var) = __Pyx__GetNameInClass(nmspace, name)
2565 static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name);
2566 
2567 /* FetchCommonType.proto */
2568 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
2569 
2570 /* CythonFunction.proto */
2571 #define __Pyx_CyFunction_USED 1
2572 #define __Pyx_CYFUNCTION_STATICMETHOD 0x01
2573 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
2574 #define __Pyx_CYFUNCTION_CCLASS 0x04
2575 #define __Pyx_CyFunction_GetClosure(f)\
2576  (((__pyx_CyFunctionObject *) (f))->func_closure)
2577 #define __Pyx_CyFunction_GetClassObj(f)\
2578  (((__pyx_CyFunctionObject *) (f))->func_classobj)
2579 #define __Pyx_CyFunction_Defaults(type, f)\
2580  ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
2581 #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
2582  ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
2583 typedef struct {
2584  PyCFunctionObject func;
2585 #if PY_VERSION_HEX < 0x030500A0
2586  PyObject *func_weakreflist;
2587 #endif
2588  PyObject *func_dict;
2589  PyObject *func_name;
2590  PyObject *func_qualname;
2591  PyObject *func_doc;
2592  PyObject *func_globals;
2593  PyObject *func_code;
2594  PyObject *func_closure;
2595  PyObject *func_classobj;
2596  void *defaults;
2597  int defaults_pyobjects;
2598  int flags;
2599  PyObject *defaults_tuple;
2600  PyObject *defaults_kwdict;
2601  PyObject *(*defaults_getter)(PyObject *);
2602  PyObject *func_annotations;
2603 } __pyx_CyFunctionObject;
2604 static PyTypeObject *__pyx_CyFunctionType = 0;
2605 #define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType))
2606 #define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code)\
2607  __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code)
2608 static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml,
2609  int flags, PyObject* qualname,
2610  PyObject *self,
2611  PyObject *module, PyObject *globals,
2612  PyObject* code);
2613 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
2614  size_t size,
2615  int pyobjects);
2616 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
2617  PyObject *tuple);
2618 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
2619  PyObject *dict);
2620 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
2621  PyObject *dict);
2622 static int __pyx_CyFunction_init(void);
2623 
2624 /* SetNameInClass.proto */
2625 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
2626 #define __Pyx_SetNameInClass(ns, name, value)\
2627  (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
2628 #elif CYTHON_COMPILING_IN_CPYTHON
2629 #define __Pyx_SetNameInClass(ns, name, value)\
2630  (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
2631 #else
2632 #define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value)
2633 #endif
2634 
2635 /* CLineInTraceback.proto */
2636 #ifdef CYTHON_CLINE_IN_TRACEBACK
2637 #define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
2638 #else
2639 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
2640 #endif
2641 
2642 /* CodeObjectCache.proto */
2643 typedef struct {
2644  PyCodeObject* code_object;
2645  int code_line;
2646 } __Pyx_CodeObjectCacheEntry;
2647 struct __Pyx_CodeObjectCache {
2648  int count;
2649  int max_count;
2650  __Pyx_CodeObjectCacheEntry* entries;
2651 };
2652 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
2653 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
2654 static PyCodeObject *__pyx_find_code_object(int code_line);
2655 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
2656 
2657 /* AddTraceback.proto */
2658 static void __Pyx_AddTraceback(const char *funcname, int c_line,
2659  int py_line, const char *filename);
2660 
2661 /* None.proto */
2662 #include <new>
2663 
2664 /* CIntToPy.proto */
2665 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
2666 
2667 /* CIntToPy.proto */
2668 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value);
2669 
2670 /* CIntToPy.proto */
2671 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value);
2672 
2673 /* CIntToPy.proto */
2674 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value);
2675 
2676 /* CIntToPy.proto */
2677 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
2678 
2679 /* CIntToPy.proto */
2680 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int32_t(int32_t value);
2681 
2682 /* CppExceptionConversion.proto */
2683 #ifndef __Pyx_CppExn2PyErr
2684 #include <new>
2685 #include <typeinfo>
2686 #include <stdexcept>
2687 #include <ios>
2688 static void __Pyx_CppExn2PyErr() {
2689  try {
2690  if (PyErr_Occurred())
2691  ; // let the latest Python exn pass through and ignore the current one
2692  else
2693  throw;
2694  } catch (const std::bad_alloc& exn) {
2695  PyErr_SetString(PyExc_MemoryError, exn.what());
2696  } catch (const std::bad_cast& exn) {
2697  PyErr_SetString(PyExc_TypeError, exn.what());
2698  } catch (const std::bad_typeid& exn) {
2699  PyErr_SetString(PyExc_TypeError, exn.what());
2700  } catch (const std::domain_error& exn) {
2701  PyErr_SetString(PyExc_ValueError, exn.what());
2702  } catch (const std::invalid_argument& exn) {
2703  PyErr_SetString(PyExc_ValueError, exn.what());
2704  } catch (const std::ios_base::failure& exn) {
2705  PyErr_SetString(PyExc_IOError, exn.what());
2706  } catch (const std::out_of_range& exn) {
2707  PyErr_SetString(PyExc_IndexError, exn.what());
2708  } catch (const std::overflow_error& exn) {
2709  PyErr_SetString(PyExc_OverflowError, exn.what());
2710  } catch (const std::range_error& exn) {
2711  PyErr_SetString(PyExc_ArithmeticError, exn.what());
2712  } catch (const std::underflow_error& exn) {
2713  PyErr_SetString(PyExc_ArithmeticError, exn.what());
2714  } catch (const std::exception& exn) {
2715  PyErr_SetString(PyExc_RuntimeError, exn.what());
2716  }
2717  catch (...)
2718  {
2719  PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
2720  }
2721 }
2722 #endif
2723 
2724 /* CIntFromPy.proto */
2725 static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);
2726 
2727 /* CIntFromPy.proto */
2728 static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *);
2729 
2730 /* CIntFromPy.proto */
2731 static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *);
2732 
2733 /* CIntFromPy.proto */
2734 static CYTHON_INLINE int32_t __Pyx_PyInt_As_int32_t(PyObject *);
2735 
2736 /* CIntFromPy.proto */
2737 static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *);
2738 
2739 /* CIntFromPy.proto */
2740 static CYTHON_INLINE time_t __Pyx_PyInt_As_time_t(PyObject *);
2741 
2742 /* CIntFromPy.proto */
2743 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
2744 
2745 /* CIntFromPy.proto */
2746 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
2747 
2748 /* PyObjectGetMethod.proto */
2749 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
2750 
2751 /* PyObjectCallMethod1.proto */
2752 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
2753 
2754 /* CoroutineBase.proto */
2755 typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyThreadState *, PyObject *);
2756 #if CYTHON_USE_EXC_INFO_STACK
2757 #define __Pyx_ExcInfoStruct _PyErr_StackItem
2758 #else
2759 typedef struct {
2760  PyObject *exc_type;
2761  PyObject *exc_value;
2762  PyObject *exc_traceback;
2763 } __Pyx_ExcInfoStruct;
2764 #endif
2765 typedef struct {
2766  PyObject_HEAD
2767  __pyx_coroutine_body_t body;
2768  PyObject *closure;
2769  __Pyx_ExcInfoStruct gi_exc_state;
2770  PyObject *gi_weakreflist;
2771  PyObject *classobj;
2772  PyObject *yieldfrom;
2773  PyObject *gi_name;
2774  PyObject *gi_qualname;
2775  PyObject *gi_modulename;
2776  PyObject *gi_code;
2777  int resume_label;
2778  char is_running;
2779 } __pyx_CoroutineObject;
2780 static __pyx_CoroutineObject *__Pyx__Coroutine_New(
2781  PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
2782  PyObject *name, PyObject *qualname, PyObject *module_name);
2783 static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
2784  __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
2785  PyObject *name, PyObject *qualname, PyObject *module_name);
2786 static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
2787 static int __Pyx_Coroutine_clear(PyObject *self);
2788 static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
2789 static PyObject *__Pyx_Coroutine_Close(PyObject *self);
2790 static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
2791 #if CYTHON_USE_EXC_INFO_STACK
2792 #define __Pyx_Coroutine_SwapException(self)
2793 #define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
2794 #else
2795 #define __Pyx_Coroutine_SwapException(self) {\
2796  __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
2797  __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
2798  }
2799 #define __Pyx_Coroutine_ResetAndClearException(self) {\
2800  __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
2801  (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
2802  }
2803 #endif
2804 #if CYTHON_FAST_THREAD_STATE
2805 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
2806  __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
2807 #else
2808 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
2809  __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
2810 #endif
2811 static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
2812 static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
2813 
2814 /* PatchModuleWithCoroutine.proto */
2815 static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);
2816 
2817 /* PatchGeneratorABC.proto */
2818 static int __Pyx_patch_abc(void);
2819 
2820 /* Generator.proto */
2821 #define __Pyx_Generator_USED
2822 static PyTypeObject *__pyx_GeneratorType = 0;
2823 #define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType)
2824 #define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
2825  __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
2826 static PyObject *__Pyx_Generator_Next(PyObject *self);
2827 static int __pyx_Generator_init(void);
2828 
2829 /* CheckBinaryVersion.proto */
2830 static int __Pyx_check_binary_version(void);
2831 
2832 /* FunctionExport.proto */
2833 static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);
2834 
2835 /* InitStrings.proto */
2836 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
2837 
2838 static void __pyx_f_9pywrapfst_6Weight__check_weight(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto*/
2839 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst_6Weight_copy(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2840 static std::string __pyx_f_9pywrapfst_6Weight_to_string(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2841 static std::string __pyx_f_9pywrapfst_6Weight_type(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2842 static bool __pyx_f_9pywrapfst_6Weight_member(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2843 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_12_SymbolTable_available_key(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2844 static PyObject *__pyx_f_9pywrapfst_12_SymbolTable_checksum(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2845 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst_12_SymbolTable_copy(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2846 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_12_SymbolTable_get_nth_key(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, Py_ssize_t __pyx_v_pos, int __pyx_skip_dispatch); /* proto*/
2847 static PyObject *__pyx_f_9pywrapfst_12_SymbolTable_labeled_checksum(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2848 static bool __pyx_f_9pywrapfst_12_SymbolTable_member(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_key, int __pyx_skip_dispatch); /* proto*/
2849 static std::string __pyx_f_9pywrapfst_12_SymbolTable_name(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2850 static size_t __pyx_f_9pywrapfst_12_SymbolTable_num_symbols(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2851 static void __pyx_f_9pywrapfst_12_SymbolTable_write(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_filename, int __pyx_skip_dispatch); /* proto*/
2852 static void __pyx_f_9pywrapfst_12_SymbolTable_write_text(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_filename, int __pyx_skip_dispatch); /* proto*/
2853 static PyObject *__pyx_f_9pywrapfst_12_SymbolTable_write_to_string(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2854 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_19_MutableSymbolTable_add_symbol(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_symbol, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol *__pyx_optional_args); /* proto*/
2855 static void __pyx_f_9pywrapfst_19_MutableSymbolTable_add_table(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms, int __pyx_skip_dispatch); /* proto*/
2856 static void __pyx_f_9pywrapfst_19_MutableSymbolTable_set_name(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_new_name, int __pyx_skip_dispatch); /* proto*/
2857 static bool __pyx_f_9pywrapfst_19SymbolTableIterator_done(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2858 static void __pyx_f_9pywrapfst_19SymbolTableIterator_next(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2859 static void __pyx_f_9pywrapfst_19SymbolTableIterator_reset(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2860 static std::string __pyx_f_9pywrapfst_19SymbolTableIterator_symbol(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2861 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_19SymbolTableIterator_value(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2862 static std::string __pyx_f_9pywrapfst_12EncodeMapper_arc_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2863 static __pyx_t_10basictypes_uint32 __pyx_f_9pywrapfst_12EncodeMapper_flags(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2864 static struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable *__pyx_f_9pywrapfst_12EncodeMapper_input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2865 static struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable *__pyx_f_9pywrapfst_12EncodeMapper_output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2866 static __pyx_t_10basictypes_uint64 __pyx_f_9pywrapfst_12EncodeMapper_properties(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, __pyx_t_10basictypes_uint64 __pyx_v_mask, int __pyx_skip_dispatch); /* proto*/
2867 static void __pyx_f_9pywrapfst_12EncodeMapper_set_input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms, int __pyx_skip_dispatch); /* proto*/
2868 static void __pyx_f_9pywrapfst_12EncodeMapper_set_output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms, int __pyx_skip_dispatch); /* proto*/
2869 static std::string __pyx_f_9pywrapfst_12EncodeMapper_weight_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2870 static std::string __pyx_f_9pywrapfst_4_Fst__local_render_svg(std::string const &__pyx_v_dot); /* proto*/
2871 static std::string __pyx_f_9pywrapfst_4_Fst_arc_type(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2872 static struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_f_9pywrapfst_4_Fst_arcs(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
2873 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst_4_Fst_copy(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2874 static void __pyx_f_9pywrapfst_4_Fst_draw(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, PyObject *__pyx_v_filename, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_4_Fst_draw *__pyx_optional_args); /* proto*/
2875 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst_4_Fst_final(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
2876 static std::string __pyx_f_9pywrapfst_4_Fst_fst_type(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2877 static struct __pyx_obj_9pywrapfst__FstSymbolTable *__pyx_f_9pywrapfst_4_Fst_input_symbols(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2878 static size_t __pyx_f_9pywrapfst_4_Fst_num_arcs(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
2879 static size_t __pyx_f_9pywrapfst_4_Fst_num_input_epsilons(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
2880 static size_t __pyx_f_9pywrapfst_4_Fst_num_output_epsilons(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
2881 static struct __pyx_obj_9pywrapfst__FstSymbolTable *__pyx_f_9pywrapfst_4_Fst_output_symbols(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2882 static __pyx_t_10basictypes_uint64 __pyx_f_9pywrapfst_4_Fst_properties(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_uint64 __pyx_v_mask, bool __pyx_v_test, int __pyx_skip_dispatch); /* proto*/
2883 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_4_Fst_start(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2884 static struct __pyx_obj_9pywrapfst_StateIterator *__pyx_f_9pywrapfst_4_Fst_states(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2885 static std::string __pyx_f_9pywrapfst_4_Fst_text(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_4_Fst_text *__pyx_optional_args); /* proto*/
2886 static bool __pyx_f_9pywrapfst_4_Fst_verify(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2887 static std::string __pyx_f_9pywrapfst_4_Fst_weight_type(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2888 static void __pyx_f_9pywrapfst_4_Fst_write(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, PyObject *__pyx_v_filename, int __pyx_skip_dispatch); /* proto*/
2889 static PyObject *__pyx_f_9pywrapfst_4_Fst_write_to_string(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2890 static void __pyx_f_9pywrapfst_11_MutableFst__check_mutating_imethod(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto*/
2891 static void __pyx_f_9pywrapfst_11_MutableFst__add_arc(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto*/
2892 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_11_MutableFst_add_state(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2893 static void __pyx_f_9pywrapfst_11_MutableFst__arcsort(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__arcsort *__pyx_optional_args); /* proto*/
2894 static void __pyx_f_9pywrapfst_11_MutableFst__closure(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__closure *__pyx_optional_args); /* proto*/
2895 static void __pyx_f_9pywrapfst_11_MutableFst__concat(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst); /* proto*/
2896 static void __pyx_f_9pywrapfst_11_MutableFst__connect(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto*/
2897 static void __pyx_f_9pywrapfst_11_MutableFst__decode(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_encoder); /* proto*/
2898 static void __pyx_f_9pywrapfst_11_MutableFst__delete_arcs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_arcs *__pyx_optional_args); /* proto*/
2899 static void __pyx_f_9pywrapfst_11_MutableFst__delete_states(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__delete_states *__pyx_optional_args); /* proto*/
2900 static void __pyx_f_9pywrapfst_11_MutableFst__encode(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_encoder); /* proto*/
2901 static void __pyx_f_9pywrapfst_11_MutableFst__invert(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto*/
2902 static void __pyx_f_9pywrapfst_11_MutableFst__minimize(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__minimize *__pyx_optional_args); /* proto*/
2903 static struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_f_9pywrapfst_11_MutableFst_mutable_arcs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
2904 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_11_MutableFst_num_states(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2905 static void __pyx_f_9pywrapfst_11_MutableFst__project(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__project *__pyx_optional_args); /* proto*/
2906 static void __pyx_f_9pywrapfst_11_MutableFst__prune(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__prune *__pyx_optional_args); /* proto*/
2907 static void __pyx_f_9pywrapfst_11_MutableFst__push(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__push *__pyx_optional_args); /* proto*/
2908 static void __pyx_f_9pywrapfst_11_MutableFst__relabel_pairs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_pairs *__pyx_optional_args); /* proto*/
2909 static void __pyx_f_9pywrapfst_11_MutableFst__relabel_tables(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__relabel_tables *__pyx_optional_args); /* proto*/
2910 static void __pyx_f_9pywrapfst_11_MutableFst__reserve_arcs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, size_t __pyx_v_n); /* proto*/
2911 static void __pyx_f_9pywrapfst_11_MutableFst__reserve_states(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_n); /* proto*/
2912 static void __pyx_f_9pywrapfst_11_MutableFst__reweight(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, PyObject *__pyx_v_potentials, struct __pyx_opt_args_9pywrapfst_11_MutableFst__reweight *__pyx_optional_args); /* proto*/
2913 static void __pyx_f_9pywrapfst_11_MutableFst__rmepsilon(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_11_MutableFst__rmepsilon *__pyx_optional_args); /* proto*/
2914 static void __pyx_f_9pywrapfst_11_MutableFst__set_final(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, struct __pyx_opt_args_9pywrapfst_11_MutableFst__set_final *__pyx_optional_args); /* proto*/
2915 static void __pyx_f_9pywrapfst_11_MutableFst__set_input_symbols(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto*/
2916 static void __pyx_f_9pywrapfst_11_MutableFst__set_output_symbols(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto*/
2917 static void __pyx_f_9pywrapfst_11_MutableFst__set_properties(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_uint64 __pyx_v_props, __pyx_t_10basictypes_uint64 __pyx_v_mask); /* proto*/
2918 static void __pyx_f_9pywrapfst_11_MutableFst__set_start(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto*/
2919 static void __pyx_f_9pywrapfst_11_MutableFst__topsort(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto*/
2920 static void __pyx_f_9pywrapfst_11_MutableFst__union(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst); /* proto*/
2921 static struct __pyx_obj_9pywrapfst_Arc *__pyx_f_9pywrapfst_3Arc_copy(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2922 static bool __pyx_f_9pywrapfst_11ArcIterator_done(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2923 static __pyx_t_10basictypes_uint32 __pyx_f_9pywrapfst_11ArcIterator_flags(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2924 static void __pyx_f_9pywrapfst_11ArcIterator_next(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2925 static size_t __pyx_f_9pywrapfst_11ArcIterator_position(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2926 static void __pyx_f_9pywrapfst_11ArcIterator_reset(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2927 static void __pyx_f_9pywrapfst_11ArcIterator_seek(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, size_t __pyx_v_a, int __pyx_skip_dispatch); /* proto*/
2928 static void __pyx_f_9pywrapfst_11ArcIterator_set_flags(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, __pyx_t_10basictypes_uint32 __pyx_v_flags, __pyx_t_10basictypes_uint32 __pyx_v_mask, int __pyx_skip_dispatch); /* proto*/
2929 static PyObject *__pyx_f_9pywrapfst_11ArcIterator_value(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2930 static bool __pyx_f_9pywrapfst_18MutableArcIterator_done(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2931 static __pyx_t_10basictypes_uint32 __pyx_f_9pywrapfst_18MutableArcIterator_flags(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2932 static void __pyx_f_9pywrapfst_18MutableArcIterator_next(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2933 static size_t __pyx_f_9pywrapfst_18MutableArcIterator_position(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2934 static void __pyx_f_9pywrapfst_18MutableArcIterator_reset(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2935 static void __pyx_f_9pywrapfst_18MutableArcIterator_seek(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, size_t __pyx_v_a, int __pyx_skip_dispatch); /* proto*/
2936 static void __pyx_f_9pywrapfst_18MutableArcIterator_set_flags(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, __pyx_t_10basictypes_uint32 __pyx_v_flags, __pyx_t_10basictypes_uint32 __pyx_v_mask, int __pyx_skip_dispatch); /* proto*/
2937 static void __pyx_f_9pywrapfst_18MutableArcIterator_set_value(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc, int __pyx_skip_dispatch); /* proto*/
2938 static PyObject *__pyx_f_9pywrapfst_18MutableArcIterator_value(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2939 static bool __pyx_f_9pywrapfst_13StateIterator_done(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2940 static void __pyx_f_9pywrapfst_13StateIterator_next(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2941 static void __pyx_f_9pywrapfst_13StateIterator_reset(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2942 static __pyx_t_10basictypes_int64 __pyx_f_9pywrapfst_13StateIterator_value(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2943 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst_8Compiler_compile(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2944 static void __pyx_f_9pywrapfst_8Compiler_write(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, PyObject *__pyx_v_expression, int __pyx_skip_dispatch); /* proto*/
2945 static std::string __pyx_f_9pywrapfst_9FarReader_arc_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2946 static bool __pyx_f_9pywrapfst_9FarReader_done(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2947 static bool __pyx_f_9pywrapfst_9FarReader_error(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2948 static std::string __pyx_f_9pywrapfst_9FarReader_far_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2949 static bool __pyx_f_9pywrapfst_9FarReader_find(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, PyObject *__pyx_v_key, int __pyx_skip_dispatch); /* proto*/
2950 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst_9FarReader_get_fst(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2951 static std::string __pyx_f_9pywrapfst_9FarReader_get_key(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2952 static void __pyx_f_9pywrapfst_9FarReader_next(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2953 static void __pyx_f_9pywrapfst_9FarReader_reset(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2954 static void __pyx_f_9pywrapfst_9FarWriter_close(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto*/
2955 static void __pyx_f_9pywrapfst_9FarWriter_add(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, PyObject *__pyx_v_key, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, int __pyx_skip_dispatch); /* proto*/
2956 static std::string __pyx_f_9pywrapfst_9FarWriter_arc_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2957 static bool __pyx_f_9pywrapfst_9FarWriter_error(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2958 static std::string __pyx_f_9pywrapfst_9FarWriter_far_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
2959 
2960 /* Module declarations from 'libc.stddef' */
2961 
2962 /* Module declarations from 'libc.time' */
2963 
2964 /* Module declarations from 'libcpp' */
2965 
2966 /* Module declarations from 'libcpp.memory' */
2967 
2968 /* Module declarations from 'libcpp.utility' */
2969 
2970 /* Module declarations from 'libcpp.vector' */
2971 
2972 /* Module declarations from 'libc.string' */
2973 
2974 /* Module declarations from 'libcpp.string' */
2975 
2976 /* Module declarations from 'libc.stdint' */
2977 
2978 /* Module declarations from 'basictypes' */
2979 
2980 /* Module declarations from 'ios' */
2981 
2982 /* Module declarations from 'fst' */
2983 
2984 /* Module declarations from 'posix.types' */
2985 
2986 /* Module declarations from 'posix.unistd' */
2987 
2988 /* Module declarations from 'libcpp.cast' */
2989 
2990 /* Module declarations from 'memory' */
2991 
2992 /* Module declarations from 'pywrapfst' */
2993 static PyTypeObject *__pyx_ptype_9pywrapfst_Weight = 0;
2994 static PyTypeObject *__pyx_ptype_9pywrapfst__SymbolTable = 0;
2995 static PyTypeObject *__pyx_ptype_9pywrapfst__EncodeMapperSymbolTable = 0;
2996 static PyTypeObject *__pyx_ptype_9pywrapfst__FstSymbolTable = 0;
2997 static PyTypeObject *__pyx_ptype_9pywrapfst__MutableSymbolTable = 0;
2998 static PyTypeObject *__pyx_ptype_9pywrapfst__MutableFstSymbolTable = 0;
2999 static PyTypeObject *__pyx_ptype_9pywrapfst_SymbolTable = 0;
3000 static PyTypeObject *__pyx_ptype_9pywrapfst_SymbolTableIterator = 0;
3001 static PyTypeObject *__pyx_ptype_9pywrapfst_EncodeMapper = 0;
3002 static PyTypeObject *__pyx_ptype_9pywrapfst__Fst = 0;
3003 static PyTypeObject *__pyx_ptype_9pywrapfst__MutableFst = 0;
3004 static PyTypeObject *__pyx_ptype_9pywrapfst_Arc = 0;
3005 static PyTypeObject *__pyx_ptype_9pywrapfst_ArcIterator = 0;
3006 static PyTypeObject *__pyx_ptype_9pywrapfst_MutableArcIterator = 0;
3007 static PyTypeObject *__pyx_ptype_9pywrapfst_StateIterator = 0;
3008 static PyTypeObject *__pyx_ptype_9pywrapfst_Compiler = 0;
3009 static PyTypeObject *__pyx_ptype_9pywrapfst_FarReader = 0;
3010 static PyTypeObject *__pyx_ptype_9pywrapfst_FarWriter = 0;
3011 static PyTypeObject *__pyx_ptype_9pywrapfst___pyx_scope_struct____iter__ = 0;
3012 static std::string __pyx_f_9pywrapfst_tostring(PyObject *); /*proto*/
3013 static std::string __pyx_f_9pywrapfst_weight_tostring(PyObject *); /*proto*/
3014 static enum fst::ComposeFilter __pyx_f_9pywrapfst__get_compose_filter(std::string const &); /*proto*/
3015 static enum fst::QueueType __pyx_f_9pywrapfst__get_queue_type(std::string const &); /*proto*/
3016 static enum fst::script::RandArcSelection __pyx_f_9pywrapfst__get_rand_arc_selection(std::string const &); /*proto*/
3017 static enum fst::ReplaceLabelType __pyx_f_9pywrapfst__get_replace_label_type(std::string const &, bool); /*proto*/
3018 static fst::script::WeightClass __pyx_f_9pywrapfst__get_WeightClass_or_One(std::string const &, PyObject *); /*proto*/
3019 static fst::script::WeightClass __pyx_f_9pywrapfst__get_WeightClass_or_Zero(std::string const &, PyObject *); /*proto*/
3020 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__Zero(PyObject *); /*proto*/
3021 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__One(PyObject *); /*proto*/
3022 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__NoWeight(PyObject *); /*proto*/
3023 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__plus(struct __pyx_obj_9pywrapfst_Weight *, struct __pyx_obj_9pywrapfst_Weight *); /*proto*/
3024 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__times(struct __pyx_obj_9pywrapfst_Weight *, struct __pyx_obj_9pywrapfst_Weight *); /*proto*/
3025 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__divide(struct __pyx_obj_9pywrapfst_Weight *, struct __pyx_obj_9pywrapfst_Weight *); /*proto*/
3026 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__power(struct __pyx_obj_9pywrapfst_Weight *, size_t); /*proto*/
3027 static struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable *__pyx_f_9pywrapfst__init_EncodeMapperSymbolTable(fst::SymbolTable *, std::shared_ptr<fst::script::EncodeMapperClass> ); /*proto*/
3028 static struct __pyx_obj_9pywrapfst__FstSymbolTable *__pyx_f_9pywrapfst__init_FstSymbolTable(fst::SymbolTable *, std::shared_ptr<fst::script::FstClass> ); /*proto*/
3029 static struct __pyx_obj_9pywrapfst__MutableFstSymbolTable *__pyx_f_9pywrapfst__init_MutableFstSymbolTable(fst::SymbolTable *, std::shared_ptr<fst::script::MutableFstClass> ); /*proto*/
3030 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst__init_SymbolTable(fst::SymbolTable *); /*proto*/
3031 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst__read_SymbolTable_from_string(PyObject *, int __pyx_skip_dispatch); /*proto*/
3032 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst__init_Fst(__pyx_t_9pywrapfst_FstClass_ptr); /*proto*/
3033 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst__init_MutableFst(__pyx_t_9pywrapfst_MutableFstClass_ptr); /*proto*/
3034 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst__init_XFst(__pyx_t_9pywrapfst_FstClass_ptr); /*proto*/
3035 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst__create_Fst(struct __pyx_opt_args_9pywrapfst__create_Fst *__pyx_optional_args); /*proto*/
3036 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst__read(PyObject *, int __pyx_skip_dispatch); /*proto*/
3037 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst__read_Fst_from_string(PyObject *, int __pyx_skip_dispatch); /*proto*/
3038 static struct __pyx_obj_9pywrapfst_Arc *__pyx_f_9pywrapfst__init_Arc(fst::script::ArcClass const &); /*proto*/
3039 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst__map(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_opt_args_9pywrapfst__map *__pyx_optional_args); /*proto*/
3040 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst_arcmap(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_arcmap *__pyx_optional_args); /*proto*/
3041 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_compose(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_compose *__pyx_optional_args); /*proto*/
3042 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst_convert(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_convert *__pyx_optional_args); /*proto*/
3043 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_determinize(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_determinize *__pyx_optional_args); /*proto*/
3044 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_difference(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_difference *__pyx_optional_args); /*proto*/
3045 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_disambiguate(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_disambiguate *__pyx_optional_args); /*proto*/
3046 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_epsnormalize(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_epsnormalize *__pyx_optional_args); /*proto*/
3047 static bool __pyx_f_9pywrapfst_equal(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_equal *__pyx_optional_args); /*proto*/
3048 static bool __pyx_f_9pywrapfst_equivalent(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_equivalent *__pyx_optional_args); /*proto*/
3049 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_intersect(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_intersect *__pyx_optional_args); /*proto*/
3050 static bool __pyx_f_9pywrapfst_isomorphic(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_isomorphic *__pyx_optional_args); /*proto*/
3051 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_prune(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_prune *__pyx_optional_args); /*proto*/
3052 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_push(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_push *__pyx_optional_args); /*proto*/
3053 static bool __pyx_f_9pywrapfst_randequivalent(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_randequivalent *__pyx_optional_args); /*proto*/
3054 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_randgen(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_randgen *__pyx_optional_args); /*proto*/
3055 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_replace(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_replace *__pyx_optional_args); /*proto*/
3056 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_reverse(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_reverse *__pyx_optional_args); /*proto*/
3057 static std::vector<fst::script::WeightClass> *__pyx_f_9pywrapfst__shortestdistance(struct __pyx_obj_9pywrapfst__Fst *, struct __pyx_opt_args_9pywrapfst__shortestdistance *__pyx_optional_args); /*proto*/
3058 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_shortestpath(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_shortestpath *__pyx_optional_args); /*proto*/
3059 static struct __pyx_obj_9pywrapfst__Fst *__pyx_f_9pywrapfst_statemap(struct __pyx_obj_9pywrapfst__Fst *, PyObject *, int __pyx_skip_dispatch); /*proto*/
3060 static struct __pyx_obj_9pywrapfst__MutableFst *__pyx_f_9pywrapfst_synchronize(struct __pyx_obj_9pywrapfst__Fst *, int __pyx_skip_dispatch); /*proto*/
3061 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst_compact_symbol_table(struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch); /*proto*/
3062 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst_merge_symbol_table(struct __pyx_obj_9pywrapfst__SymbolTable *, struct __pyx_obj_9pywrapfst__SymbolTable *, int __pyx_skip_dispatch); /*proto*/
3063 static std::string __pyx_convert_string_from_py_std__in_string(PyObject *); /*proto*/
3064 static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &); /*proto*/
3065 static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &); /*proto*/
3066 static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &); /*proto*/
3067 static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string(std::string const &); /*proto*/
3068 static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &); /*proto*/
3069 static std::vector<__pyx_t_10basictypes_int64> __pyx_convert_vector_from_py___pyx_t_10basictypes_int64(PyObject *); /*proto*/
3070 #define __Pyx_MODULE_NAME "pywrapfst"
3071 extern int __pyx_module_is_main_pywrapfst;
3072 int __pyx_module_is_main_pywrapfst = 0;
3073 
3074 /* Implementation of 'pywrapfst' */
3075 static PyObject *__pyx_builtin_ValueError;
3076 static PyObject *__pyx_builtin_RuntimeError;
3077 static PyObject *__pyx_builtin_IndexError;
3078 static PyObject *__pyx_builtin_IOError;
3079 static PyObject *__pyx_builtin_object;
3080 static PyObject *__pyx_builtin_staticmethod;
3081 static PyObject *__pyx_builtin_id;
3082 static PyObject *__pyx_builtin_TypeError;
3083 static PyObject *__pyx_builtin_StopIteration;
3084 static PyObject *__pyx_builtin_KeyError;
3085 static const char __pyx_k_g[] = "g";
3086 static const char __pyx_k_n[] = "n";
3087 static const char __pyx_k_w[] = "w";
3088 static const char __pyx_k_id[] = "id";
3089 static const char __pyx_k_Arc[] = "Arc";
3090 static const char __pyx_k_Fst[] = "_Fst";
3091 static const char __pyx_k_One[] = "One";
3092 static const char __pyx_k__10[] = "";
3093 static const char __pyx_k_add[] = "add";
3094 static const char __pyx_k_arc[] = "arc";
3095 static const char __pyx_k_cls[] = "cls";
3096 static const char __pyx_k_doc[] = "__doc__";
3097 static const char __pyx_k_dot[] = "dot";
3098 static const char __pyx_k_key[] = "key";
3099 static const char __pyx_k_lhs[] = "lhs";
3100 static const char __pyx_k_new[] = "__new__";
3101 static const char __pyx_k_rhs[] = "rhs";
3102 static const char __pyx_k_PIPE[] = "PIPE";
3103 static const char __pyx_k_Tsvg[] = "-Tsvg";
3104 static const char __pyx_k_Zero[] = "Zero";
3105 static const char __pyx_k_arcs[] = "arcs";
3106 static const char __pyx_k_args[] = "args";
3107 static const char __pyx_k_auto[] = "auto";
3108 static const char __pyx_k_copy[] = "copy";
3109 static const char __pyx_k_done[] = "done";
3110 static const char __pyx_k_draw[] = "draw";
3111 static const char __pyx_k_find[] = "find";
3112 static const char __pyx_k_ifst[] = "ifst";
3113 static const char __pyx_k_iter[] = "__iter__";
3114 static const char __pyx_k_main[] = "__main__";
3115 static const char __pyx_k_mask[] = "mask";
3116 static const char __pyx_k_name[] = "__name__";
3117 static const char __pyx_k_next[] = "next";
3118 static const char __pyx_k_open[] = "open";
3119 static const char __pyx_k_plus[] = "plus";
3120 static const char __pyx_k_read[] = "read";
3121 static const char __pyx_k_seed[] = "seed";
3122 static const char __pyx_k_seek[] = "seek";
3123 static const char __pyx_k_send[] = "send";
3124 static const char __pyx_k_syms[] = "syms";
3125 static const char __pyx_k_test[] = "test";
3126 static const char __pyx_k_text[] = "text";
3127 static const char __pyx_k_type[] = "type";
3128 static const char __pyx_k_utf8[] = "utf8";
3129 static const char __pyx_k_ERROR[] = "ERROR";
3130 static const char __pyx_k_Fst_2[] = "Fst";
3131 static const char __pyx_k_Popen[] = "Popen";
3132 static const char __pyx_k_class[] = "__class__";
3133 static const char __pyx_k_close[] = "close";
3134 static const char __pyx_k_delta[] = "delta";
3135 static const char __pyx_k_error[] = "error";
3136 static const char __pyx_k_final[] = "final";
3137 static const char __pyx_k_flags[] = "flags";
3138 static const char __pyx_k_ifst1[] = "ifst1";
3139 static const char __pyx_k_ifst2[] = "ifst2";
3140 static const char __pyx_k_input[] = "input";
3141 static const char __pyx_k_npath[] = "npath";
3142 static const char __pyx_k_pairs[] = "pairs";
3143 static const char __pyx_k_power[] = "power";
3144 static const char __pyx_k_props[] = "props";
3145 static const char __pyx_k_reset[] = "reset";
3146 static const char __pyx_k_start[] = "start";
3147 static const char __pyx_k_state[] = "state";
3148 static const char __pyx_k_stdin[] = "stdin";
3149 static const char __pyx_k_throw[] = "throw";
3150 static const char __pyx_k_times[] = "times";
3151 static const char __pyx_k_title[] = "title";
3152 static const char __pyx_k_value[] = "value";
3153 static const char __pyx_k_width[] = "width";
3154 static const char __pyx_k_write[] = "write";
3155 static const char __pyx_k_CYCLIC[] = "CYCLIC";
3156 static const char __pyx_k_Number[] = "Number";
3157 static const char __pyx_k_STRING[] = "STRING";
3158 static const char __pyx_k_Weight[] = "Weight";
3159 static const char __pyx_k_create[] = "create";
3160 static const char __pyx_k_divide[] = "divide";
3161 static const char __pyx_k_encode[] = "encode";
3162 static const char __pyx_k_format[] = "format";
3163 static const char __pyx_k_height[] = "height";
3164 static const char __pyx_k_ilabel[] = "ilabel";
3165 static const char __pyx_k_import[] = "__import__";
3166 static const char __pyx_k_ipairs[] = "ipairs";
3167 static const char __pyx_k_member[] = "member";
3168 static const char __pyx_k_module[] = "__module__";
3169 static const char __pyx_k_name_2[] = "name";
3170 static const char __pyx_k_nstate[] = "nstate";
3171 static const char __pyx_k_object[] = "object";
3172 static const char __pyx_k_olabel[] = "olabel";
3173 static const char __pyx_k_opairs[] = "opairs";
3174 static const char __pyx_k_reduce[] = "__reduce__";
3175 static const char __pyx_k_result[] = "result";
3176 static const char __pyx_k_select[] = "select";
3177 static const char __pyx_k_states[] = "states";
3178 static const char __pyx_k_stdout[] = "stdout";
3179 static const char __pyx_k_symbol[] = "symbol";
3180 static const char __pyx_k_test_2[] = "__test__";
3181 static const char __pyx_k_unique[] = "unique";
3182 static const char __pyx_k_vector[] = "vector";
3183 static const char __pyx_k_verify[] = "verify";
3184 static const char __pyx_k_weight[] = "weight";
3185 static const char __pyx_k_ACYCLIC[] = "ACYCLIC";
3186 static const char __pyx_k_IOError[] = "IOError";
3187 static const char __pyx_k_MUTABLE[] = "MUTABLE";
3188 static const char __pyx_k_compile[] = "compile";
3189 static const char __pyx_k_connect[] = "connect";
3190 static const char __pyx_k_default[] = "default";
3191 static const char __pyx_k_get_fst[] = "get_fst";
3192 static const char __pyx_k_get_key[] = "get_key";
3193 static const char __pyx_k_logging[] = "logging";
3194 static const char __pyx_k_neither[] = "neither";
3195 static const char __pyx_k_nodesep[] = "nodesep";
3196 static const char __pyx_k_numbers[] = "numbers";
3197 static const char __pyx_k_prepare[] = "__prepare__";
3198 static const char __pyx_k_ranksep[] = "ranksep";
3199 static const char __pyx_k_reverse[] = "reverse";
3200 static const char __pyx_k_uniform[] = "uniform";
3201 static const char __pyx_k_warning[] = "warning";
3202 static const char __pyx_k_ACCEPTOR[] = "ACCEPTOR";
3203 static const char __pyx_k_Compiler[] = "Compiler";
3204 static const char __pyx_k_EPSILONS[] = "EPSILONS";
3205 static const char __pyx_k_EXPANDED[] = "EXPANDED";
3206 static const char __pyx_k_FstError[] = "FstError";
3207 static const char __pyx_k_Fst_read[] = "Fst.read";
3208 static const char __pyx_k_KeyError[] = "KeyError";
3209 static const char __pyx_k_NO_LABEL[] = "NO_LABEL";
3210 static const char __pyx_k_NoWeight[] = "NoWeight";
3211 static const char __pyx_k_WEIGHTED[] = "WEIGHTED";
3212 static const char __pyx_k_acceptor[] = "acceptor";
3213 static const char __pyx_k_arc_type[] = "arc_type";
3214 static const char __pyx_k_checksum[] = "checksum";
3215 static const char __pyx_k_det_type[] = "det_type";
3216 static const char __pyx_k_distance[] = "distance";
3217 static const char __pyx_k_far_type[] = "far_type";
3218 static const char __pyx_k_filename[] = "filename";
3219 static const char __pyx_k_fontsize[] = "fontsize";
3220 static const char __pyx_k_fst_type[] = "fst_type";
3221 static const char __pyx_k_getstate[] = "__getstate__";
3222 static const char __pyx_k_identity[] = "identity";
3223 static const char __pyx_k_isymbols[] = "isymbols";
3224 static const char __pyx_k_map_type[] = "map_type";
3225 static const char __pyx_k_num_arcs[] = "num_arcs";
3226 static const char __pyx_k_osymbols[] = "osymbols";
3227 static const char __pyx_k_portrait[] = "portrait";
3228 static const char __pyx_k_position[] = "position";
3229 static const char __pyx_k_qualname[] = "__qualname__";
3230 static const char __pyx_k_read_fst[] = "read_fst";
3231 static const char __pyx_k_set_name[] = "set_name";
3232 static const char __pyx_k_setstate[] = "__setstate__";
3233 static const char __pyx_k_ssymbols[] = "ssymbols";
3234 static const char __pyx_k_standard[] = "standard";
3235 static const char __pyx_k_to_final[] = "to_final";
3236 static const char __pyx_k_tropical[] = "tropical";
3237 static const char __pyx_k_vertical[] = "vertical";
3238 static const char __pyx_k_weighted[] = "weighted";
3239 static const char __pyx_k_ARC_FLAGS[] = "ARC_FLAGS";
3240 static const char __pyx_k_FarReader[] = "FarReader";
3241 static const char __pyx_k_FarWriter[] = "FarWriter";
3242 static const char __pyx_k_Fst___new[] = "Fst.__new__";
3243 static const char __pyx_k_NO_SYMBOL[] = "NO_SYMBOL";
3244 static const char __pyx_k_TypeError[] = "TypeError";
3245 static const char __pyx_k_add_state[] = "add_state";
3246 static const char __pyx_k_add_table[] = "add_table";
3247 static const char __pyx_k_metaclass[] = "__metaclass__";
3248 static const char __pyx_k_nextstate[] = "nextstate";
3249 static const char __pyx_k_nshortest[] = "nshortest";
3250 static const char __pyx_k_precision[] = "precision";
3251 static const char __pyx_k_pywrapfst[] = "<pywrapfst>";
3252 static const char __pyx_k_read_text[] = "read_text";
3253 static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
3254 static const char __pyx_k_set_flags[] = "set_flags";
3255 static const char __pyx_k_set_value[] = "set_value";
3256 static const char __pyx_k_sort_type[] = "sort_type";
3257 static const char __pyx_k_to_string[] = "to_string";
3258 static const char __pyx_k_ACCESSIBLE[] = "ACCESSIBLE";
3259 static const char __pyx_k_FstIOError[] = "FstIOError";
3260 static const char __pyx_k_FstOpError[] = "FstOpError";
3261 static const char __pyx_k_I_EPSILONS[] = "I_EPSILONS";
3262 static const char __pyx_k_IndexError[] = "IndexError";
3263 static const char __pyx_k_MutableFst[] = "_MutableFst";
3264 static const char __pyx_k_NOT_STRING[] = "NOT_STRING";
3265 static const char __pyx_k_O_EPSILONS[] = "O_EPSILONS";
3266 static const char __pyx_k_TOP_SORTED[] = "TOP_SORTED";
3267 static const char __pyx_k_UNWEIGHTED[] = "UNWEIGHTED";
3268 static const char __pyx_k_ValueError[] = "ValueError";
3269 static const char __pyx_k_add_symbol[] = "add_symbol";
3270 static const char __pyx_k_functional[] = "functional";
3271 static const char __pyx_k_max_length[] = "max_length";
3272 static const char __pyx_k_num_states[] = "num_states";
3273 static const char __pyx_k_potentials[] = "potentials";
3274 static const char __pyx_k_properties[] = "properties";
3275 static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
3276 static const char __pyx_k_queue_type[] = "queue_type";
3277 static const char __pyx_k_subprocess[] = "subprocess";
3278 static const char __pyx_k_write_text[] = "write_text";
3279 static const char __pyx_k_ArcIterator[] = "ArcIterator";
3280 static const char __pyx_k_Arc_at_0x_x[] = "<Arc at 0x{:x}>";
3281 static const char __pyx_k_FstArgError[] = "FstArgError";
3282 static const char __pyx_k_Fst_at_0x_x[] = "<{} Fst at 0x{:x}>";
3283 static const char __pyx_k_NO_EPSILONS[] = "NO_EPSILONS";
3284 static const char __pyx_k_NO_STATE_ID[] = "NO_STATE_ID";
3285 static const char __pyx_k_Read_failed[] = "Read failed";
3286 static const char __pyx_k_SymbolTable[] = "_SymbolTable";
3287 static const char __pyx_k_communicate[] = "communicate";
3288 static const char __pyx_k_get_nth_key[] = "get_nth_key";
3289 static const char __pyx_k_input_table[] = "input_table";
3290 static const char __pyx_k_missing_sym[] = "missing_sym";
3291 static const char __pyx_k_num_symbols[] = "num_symbols";
3292 static const char __pyx_k_push_labels[] = "push_labels";
3293 static const char __pyx_k_pywrapfst_2[] = "pywrapfst";
3294 static const char __pyx_k_unspecified[] = "<unspecified>";
3295 static const char __pyx_k_weight_type[] = "weight_type";
3296 static const char __pyx_k_ARC_NO_CACHE[] = "ARC_NO_CACHE";
3297 static const char __pyx_k_COACCESSIBLE[] = "COACCESSIBLE";
3298 static const char __pyx_k_ENCODE_FLAGS[] = "ENCODE_FLAGS";
3299 static const char __pyx_k_EncodeMapper[] = "EncodeMapper";
3300 static const char __pyx_k_NOT_ACCEPTOR[] = "NOT_ACCEPTOR";
3301 static const char __pyx_k_RuntimeError[] = "RuntimeError";
3302 static const char __pyx_k_allow_nondet[] = "allow_nondet";
3303 static const char __pyx_k_closure_plus[] = "closure_plus";
3304 static const char __pyx_k_float_format[] = "float_format";
3305 static const char __pyx_k_mutable_arcs[] = "mutable_arcs";
3306 static const char __pyx_k_new_isymbols[] = "new_isymbols";
3307 static const char __pyx_k_new_osymbols[] = "new_osymbols";
3308 static const char __pyx_k_old_isymbols[] = "old_isymbols";
3309 static const char __pyx_k_old_osymbols[] = "old_osymbols";
3310 static const char __pyx_k_push_weights[] = "push_weights";
3311 static const char __pyx_k_return_label[] = "return_label";
3312 static const char __pyx_k_staticmethod[] = "staticmethod";
3313 static const char __pyx_k_ENCODE_LABELS[] = "ENCODE_LABELS";
3314 static const char __pyx_k_FstIndexError[] = "FstIndexError";
3315 static const char __pyx_k_NO_I_EPSILONS[] = "NO_I_EPSILONS";
3316 static const char __pyx_k_NO_O_EPSILONS[] = "NO_O_EPSILONS";
3317 static const char __pyx_k_Open_failed_r[] = "Open failed: {!r}";
3318 static const char __pyx_k_Read_failed_r[] = "Read failed: {!r}";
3319 static const char __pyx_k_StateIterator[] = "StateIterator";
3320 static const char __pyx_k_StopIteration[] = "StopIteration";
3321 static const char __pyx_k_SymbolTable_2[] = "SymbolTable";
3322 static const char __pyx_k_available_key[] = "available_key";
3323 static const char __pyx_k_encode_labels[] = "encode_labels";
3324 static const char __pyx_k_input_symbols[] = "input_symbols";
3325 static const char __pyx_k_keep_isymbols[] = "keep_isymbols";
3326 static const char __pyx_k_keep_osymbols[] = "keep_osymbols";
3327 static const char __pyx_k_pywrapfst_pyx[] = "pywrapfst.pyx";
3328 static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
3329 static const char __pyx_k_ENCODE_WEIGHTS[] = "ENCODE_WEIGHTS";
3330 static const char __pyx_k_FST_PROPERTIES[] = "FST_PROPERTIES";
3331 static const char __pyx_k_FstSymbolTable[] = "_FstSymbolTable";
3332 static const char __pyx_k_INITIAL_CYCLIC[] = "INITIAL_CYCLIC";
3333 static const char __pyx_k_I_LABEL_SORTED[] = "I_LABEL_SORTED";
3334 static const char __pyx_k_Invalid_weight[] = "Invalid weight";
3335 static const char __pyx_k_NOT_ACCESSIBLE[] = "NOT_ACCESSIBLE";
3336 static const char __pyx_k_NOT_TOP_SORTED[] = "NOT_TOP_SORTED";
3337 static const char __pyx_k_O_LABEL_SORTED[] = "O_LABEL_SORTED";
3338 static const char __pyx_k_Weight_at_0x_x[] = "<{} Weight {} at 0x{:x}>";
3339 static const char __pyx_k_Write_failed_r[] = "Write failed: {!r}";
3340 static const char __pyx_k_compose_filter[] = "compose_filter";
3341 static const char __pyx_k_encode_weights[] = "encode_weights";
3342 static const char __pyx_k_output_symbols[] = "output_symbols";
3343 static const char __pyx_k_project_output[] = "project_output";
3344 static const char __pyx_k_ARC_VALUE_FLAGS[] = "ARC_VALUE_FLAGS";
3345 static const char __pyx_k_COPY_PROPERTIES[] = "COPY_PROPERTIES";
3346 static const char __pyx_k_INITIAL_ACYCLIC[] = "INITIAL_ACYCLIC";
3347 static const char __pyx_k_I_DETERMINISTIC[] = "I_DETERMINISTIC";
3348 static const char __pyx_k_NULL_PROPERTIES[] = "NULL_PROPERTIES";
3349 static const char __pyx_k_O_DETERMINISTIC[] = "O_DETERMINISTIC";
3350 static const char __pyx_k_WEIGHTED_CYCLES[] = "WEIGHTED_CYCLES";
3351 static const char __pyx_k_eps_norm_output[] = "eps_norm_output";
3352 static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
3353 static const char __pyx_k_show_weight_one[] = "show_weight_one";
3354 static const char __pyx_k_unknown_isymbol[] = "unknown_isymbol";
3355 static const char __pyx_k_unknown_osymbol[] = "unknown_osymbol";
3356 static const char __pyx_k_write_to_string[] = "write_to_string";
3357 static const char __pyx_k_ARC_WEIGHT_VALUE[] = "ARC_WEIGHT_VALUE";
3358 static const char __pyx_k_Cannot_construct[] = "Cannot construct {}";
3359 static const char __pyx_k_Key_out_of_order[] = "Key out of order";
3360 static const char __pyx_k_NOT_COACCESSIBLE[] = "NOT_COACCESSIBLE";
3361 static const char __pyx_k_Operation_failed[] = "Operation failed";
3362 static const char __pyx_k_labeled_checksum[] = "labeled_checksum";
3363 static const char __pyx_k_read_from_string[] = "read_from_string";
3364 static const char __pyx_k_shortestdistance[] = "shortestdistance";
3365 static const char __pyx_k_ARC_I_LABEL_VALUE[] = "ARC_I_LABEL_VALUE";
3366 static const char __pyx_k_ARC_O_LABEL_VALUE[] = "ARC_O_LABEL_VALUE";
3367 static const char __pyx_k_BINARY_PROPERTIES[] = "BINARY_PROPERTIES";
3368 static const char __pyx_k_FarReader_at_0x_x[] = "<{} FarReader at 0x{:x}>";
3369 static const char __pyx_k_FarWriter_at_0x_x[] = "<{} FarWriter at 0x{:x}>";
3370 static const char __pyx_k_FstBadWeightError[] = "FstBadWeightError";
3371 static const char __pyx_k_UNWEIGHTED_CYCLES[] = "UNWEIGHTED_CYCLES";
3372 static const char __pyx_k_call_arc_labeling[] = "call_arc_labeling";
3373 static const char __pyx_k_set_input_symbols[] = "set_input_symbols";
3374 static const char __pyx_k_ADD_ARC_PROPERTIES[] = "ADD_ARC_PROPERTIES";
3375 static const char __pyx_k_Compilation_failed[] = "Compilation failed";
3376 static const char __pyx_k_MutableArcIterator[] = "MutableArcIterator";
3377 static const char __pyx_k_MutableSymbolTable[] = "_MutableSymbolTable";
3378 static const char __pyx_k_NOT_I_LABEL_SORTED[] = "NOT_I_LABEL_SORTED";
3379 static const char __pyx_k_NOT_O_LABEL_SORTED[] = "NOT_O_LABEL_SORTED";
3380 static const char __pyx_k_SET_ARC_PROPERTIES[] = "SET_ARC_PROPERTIES";
3381 static const char __pyx_k_TRINARY_PROPERTIES[] = "TRINARY_PROPERTIES";
3382 static const char __pyx_k_Unknown_arc_type_r[] = "Unknown arc type: {!r}";
3383 static const char __pyx_k_Unknown_map_type_r[] = "Unknown map type: {!r}";
3384 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
3385 static const char __pyx_k_epsilon_on_replace[] = "epsilon_on_replace";
3386 static const char __pyx_k_num_input_epsilons[] = "num_input_epsilons";
3387 static const char __pyx_k_set_output_symbols[] = "set_output_symbols";
3388 static const char __pyx_k_ARC_SORT_PROPERTIES[] = "ARC_SORT_PROPERTIES";
3389 static const char __pyx_k_ArcIterator_at_0x_x[] = "<ArcIterator at 0x{:x}>";
3390 static const char __pyx_k_NON_I_DETERMINISTIC[] = "NON_I_DETERMINISTIC";
3391 static const char __pyx_k_NON_O_DETERMINISTIC[] = "NON_O_DETERMINISTIC";
3392 static const char __pyx_k_SymbolTableIterator[] = "SymbolTableIterator";
3393 static const char __pyx_k_Unknown_sort_type_r[] = "Unknown sort type {!r}";
3394 static const char __pyx_k_attach_new_isymbols[] = "attach_new_isymbols";
3395 static const char __pyx_k_attach_new_osymbols[] = "attach_new_osymbols";
3396 static const char __pyx_k_num_output_epsilons[] = "num_output_epsilons";
3397 static const char __pyx_k_remove_common_affix[] = "remove_common_affix";
3398 static const char __pyx_k_remove_total_weight[] = "remove_total_weight";
3399 static const char __pyx_k_return_arc_labeling[] = "return_arc_labeling";
3400 static const char __pyx_k_subsequential_label[] = "subsequential_label";
3401 static const char __pyx_k_ADD_STATE_PROPERTIES[] = "ADD_STATE_PROPERTIES";
3402 static const char __pyx_k_ARC_NEXT_STATE_VALUE[] = "ARC_NEXT_STATE_VALUE";
3403 static const char __pyx_k_EXTRINSIC_PROPERTIES[] = "EXTRINSIC_PROPERTIES";
3404 static const char __pyx_k_EncodeMapper_at_0x_x[] = "<EncodeMapper at 0x{:x}>";
3405 static const char __pyx_k_Fst_read_from_string[] = "Fst.read_from_string";
3406 static const char __pyx_k_INTRINSIC_PROPERTIES[] = "INTRINSIC_PROPERTIES";
3407 static const char __pyx_k_SET_FINAL_PROPERTIES[] = "SET_FINAL_PROPERTIES";
3408 static const char __pyx_k_SET_START_PROPERTIES[] = "SET_START_PROPERTIES";
3409 static const char __pyx_k_Unknown_queue_type_r[] = "Unknown queue type: {!r}";
3410 static const char __pyx_k_keep_state_numbering[] = "keep_state_numbering";
3411 static const char __pyx_k_read_Fst_from_string[] = "_read_Fst_from_string";
3412 static const char __pyx_k_require_superinitial[] = "require_superinitial";
3413 static const char __pyx_k_DELETE_ARC_PROPERTIES[] = "DELETE_ARC_PROPERTIES";
3414 static const char __pyx_k_MutableFstSymbolTable[] = "_MutableFstSymbolTable";
3415 static const char __pyx_k_STATE_SORT_PROPERTIES[] = "STATE_SORT_PROPERTIES";
3416 static const char __pyx_k_StateIterator_at_0x_x[] = "<StateIterator at 0x{:x}>";
3417 static const char __pyx_k_SymbolTable_r_at_0x_x[] = "<SymbolTable {!r} at 0x{:x}>";
3418 static const char __pyx_k_Weight_type_not_found[] = "Weight type not found";
3419 static const char __pyx_k_allow_negative_labels[] = "allow_negative_labels";
3420 static const char __pyx_k_Conversion_to_r_failed[] = "Conversion to {!r} failed";
3421 static const char __pyx_k_Dot_rendering_failed_s[] = "Dot rendering failed: %s";
3422 static const char __pyx_k_NEG_TRINARY_PROPERTIES[] = "NEG_TRINARY_PROPERTIES";
3423 static const char __pyx_k_POS_TRINARY_PROPERTIES[] = "POS_TRINARY_PROPERTIES";
3424 static const char __pyx_k_Write_to_string_failed[] = "Write to string failed";
3425 static const char __pyx_k_DELETE_STATE_PROPERTIES[] = "DELETE_STATE_PROPERTIES";
3426 static const char __pyx_k_EncodeMapperSymbolTable[] = "_EncodeMapperSymbolTable";
3427 static const char __pyx_k_RM_SUPERFINAL_PROPERTIES[] = "RM_SUPERFINAL_PROPERTIES";
3428 static const char __pyx_k_State_index_out_of_range[] = "State index out of range";
3429 static const char __pyx_k_ADD_SUPERFINAL_PROPERTIES[] = "ADD_SUPERFINAL_PROPERTIES";
3430 static const char __pyx_k_Cannot_encode_as_string_r[] = "Cannot encode as string: {!r}";
3431 static const char __pyx_k_Cannot_topsort_cyclic_FST[] = "Cannot topsort cyclic FST";
3432 static const char __pyx_k_Fst_SymbolTable_r_at_0x_x[] = "<Fst SymbolTable {!r} at 0x{:x}>";
3433 static const char __pyx_k_MutableArcIterator___iter[] = "MutableArcIterator.__iter__";
3434 static const char __pyx_k_FstDeletedConstructorError[] = "FstDeletedConstructorError";
3435 static const char __pyx_k_MutableArcIterator_at_0x_x[] = "<MutableArcIterator at 0x{:x}>";
3436 static const char __pyx_k_SymbolTableIterator_at_0x_x[] = "<SymbolTableIterator at 0x{:x}>";
3437 static const char __pyx_k_WEIGHT_INVARIANT_PROPERTIES[] = "WEIGHT_INVARIANT_PROPERTIES";
3438 static const char __pyx_k_I_LABEL_INVARIANT_PROPERTIES[] = "I_LABEL_INVARIANT_PROPERTIES";
3439 static const char __pyx_k_O_LABEL_INVARIANT_PROPERTIES[] = "O_LABEL_INVARIANT_PROPERTIES";
3440 static const char __pyx_k_Unknown_replace_label_type_r[] = "Unknown replace label type: {!r}";
3441 static const char __pyx_k_read_SymbolTable_from_string[] = "_read_SymbolTable_from_string";
3442 static const char __pyx_k_No_new_SymbolTables_specified[] = "No new SymbolTables specified";
3443 static const char __pyx_k_No_relabeling_pairs_specified[] = "No relabeling pairs specified.";
3444 static const char __pyx_k_Unknown_compose_filter_type_r[] = "Unknown compose filter type: {!r}";
3445 static const char __pyx_k_increment_subsequential_label[] = "increment_subsequential_label";
3446 static const char __pyx_k_Incompatible_or_invalid_weight[] = "Incompatible or invalid weight";
3447 static const char __pyx_k_Unknown_determinization_type_r[] = "Unknown determinization type: {!r}";
3448 static const char __pyx_k_const_EncodeMapper_SymbolTable[] = "<const EncodeMapper SymbolTable {!r} at 0x{:x}>";
3449 static const char __pyx_k_Fst_arc_type_standard_Construct[] = "\n Fst(arc_type=\"standard\")\n\n Constructs an empty FST.\n\n Args:\n arc_type: A string indicating the arc type.\n\n Raises:\n FstError: Unknown arc type.\n\n Raises:\n FstOpError: operation failed.\n ";
3450 static const char __pyx_k_const_Fst_SymbolTable_r_at_0x_x[] = "<const Fst SymbolTable {!r} at 0x{:x}>";
3451 static const char __pyx_k_self__aiter_self__fst_cannot_be[] = "self._aiter,self._fst cannot be converted to a Python object for pickling";
3452 static const char __pyx_k_self__fst_self__siter_cannot_be[] = "self._fst,self._siter cannot be converted to a Python object for pickling";
3453 static const char __pyx_k_Incompatible_or_invalid_arc_type[] = "Incompatible or invalid arc type";
3454 static const char __pyx_k_Incompatible_or_invalid_weight_t[] = "Incompatible or invalid weight type";
3455 static const char __pyx_k_Python_interface_to_the_FST_scri[] = "Python interface to the FST scripting API.\n\nOperations which construct new FSTs are implemented as traditional functions, as\nare two-argument boolean functions like `equal` and `equivalent`. Destructive\noperations---those that mutate an FST, in place---are instance methods, as is\n`write`. Operator overloading is not used. The following example, based on\nMohri et al. 2002, shows the construction of an ASR system given a pronunciation\nlexicon L, grammar G, a transducer from context-dependent phones to\ncontext-independent phones C, and an HMM set H:\n\n L = fst.Fst.read(\"L.fst\")\n G = fst.Fst.read(\"G.fst\")\n C = fst.Fst.read(\"C.fst\")\n H = fst.Fst.read(\"H.fst\")\n LG = fst.determinize(fst.compose(L, G))\n CLG = fst.determinize(fst.compose(C, LG))\n HCLG = fst.determinize(fst.compose(H, CLG))\n HCLG.minimize() # NB: works in-place.\n\nPython variables here use snake_case and constants are in all caps, minus the\nnormal `k` prefix.\n";
3456 static const char __pyx_k_Unknown_random_arc_selection_typ[] = "Unknown random arc selection type: {!r}";
3457 static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
3458 static const char __pyx_k_self__aiter_self__mfst_cannot_be[] = "self._aiter,self._mfst cannot be converted to a Python object for pickling";
3459 static const char __pyx_k_self__arc_cannot_be_converted_to[] = "self._arc cannot be converted to a Python object for pickling";
3460 static const char __pyx_k_self__encoder_cannot_be_converte[] = "self._encoder cannot be converted to a Python object for pickling";
3461 static const char __pyx_k_self__reader_cannot_be_converted[] = "self._reader cannot be converted to a Python object for pickling";
3462 static const char __pyx_k_self__siter_self__table_cannot_b[] = "self._siter,self._table cannot be converted to a Python object for pickling";
3463 static const char __pyx_k_self__weight_cannot_be_converted[] = "self._weight cannot be converted to a Python object for pickling";
3464 static const char __pyx_k_self__writer_cannot_be_converted[] = "self._writer cannot be converted to a Python object for pickling";
3465 static PyObject *__pyx_n_s_ACCEPTOR;
3466 static PyObject *__pyx_n_s_ACCESSIBLE;
3467 static PyObject *__pyx_n_s_ACYCLIC;
3468 static PyObject *__pyx_n_s_ADD_ARC_PROPERTIES;
3469 static PyObject *__pyx_n_s_ADD_STATE_PROPERTIES;
3470 static PyObject *__pyx_n_s_ADD_SUPERFINAL_PROPERTIES;
3471 static PyObject *__pyx_n_s_ARC_FLAGS;
3472 static PyObject *__pyx_n_s_ARC_I_LABEL_VALUE;
3473 static PyObject *__pyx_n_s_ARC_NEXT_STATE_VALUE;
3474 static PyObject *__pyx_n_s_ARC_NO_CACHE;
3475 static PyObject *__pyx_n_s_ARC_O_LABEL_VALUE;
3476 static PyObject *__pyx_n_s_ARC_SORT_PROPERTIES;
3477 static PyObject *__pyx_n_s_ARC_VALUE_FLAGS;
3478 static PyObject *__pyx_n_s_ARC_WEIGHT_VALUE;
3479 static PyObject *__pyx_n_s_Arc;
3480 static PyObject *__pyx_n_s_ArcIterator;
3481 static PyObject *__pyx_kp_u_ArcIterator_at_0x_x;
3482 static PyObject *__pyx_kp_u_Arc_at_0x_x;
3483 static PyObject *__pyx_n_s_BINARY_PROPERTIES;
3484 static PyObject *__pyx_n_s_COACCESSIBLE;
3485 static PyObject *__pyx_n_s_COPY_PROPERTIES;
3486 static PyObject *__pyx_n_s_CYCLIC;
3487 static PyObject *__pyx_kp_u_Cannot_construct;
3488 static PyObject *__pyx_kp_u_Cannot_encode_as_string_r;
3489 static PyObject *__pyx_kp_u_Cannot_topsort_cyclic_FST;
3490 static PyObject *__pyx_kp_u_Compilation_failed;
3491 static PyObject *__pyx_n_s_Compiler;
3492 static PyObject *__pyx_kp_u_Conversion_to_r_failed;
3493 static PyObject *__pyx_n_s_DELETE_ARC_PROPERTIES;
3494 static PyObject *__pyx_n_s_DELETE_STATE_PROPERTIES;
3495 static PyObject *__pyx_kp_u_Dot_rendering_failed_s;
3496 static PyObject *__pyx_n_s_ENCODE_FLAGS;
3497 static PyObject *__pyx_n_s_ENCODE_LABELS;
3498 static PyObject *__pyx_n_s_ENCODE_WEIGHTS;
3499 static PyObject *__pyx_n_s_EPSILONS;
3500 static PyObject *__pyx_n_s_ERROR;
3501 static PyObject *__pyx_n_s_EXPANDED;
3502 static PyObject *__pyx_n_s_EXTRINSIC_PROPERTIES;
3503 static PyObject *__pyx_n_s_EncodeMapper;
3504 static PyObject *__pyx_n_s_EncodeMapperSymbolTable;
3505 static PyObject *__pyx_kp_u_EncodeMapper_at_0x_x;
3506 static PyObject *__pyx_n_s_FST_PROPERTIES;
3507 static PyObject *__pyx_n_s_FarReader;
3508 static PyObject *__pyx_kp_u_FarReader_at_0x_x;
3509 static PyObject *__pyx_n_s_FarWriter;
3510 static PyObject *__pyx_kp_u_FarWriter_at_0x_x;
3511 static PyObject *__pyx_n_s_Fst;
3512 static PyObject *__pyx_n_s_FstArgError;
3513 static PyObject *__pyx_n_s_FstBadWeightError;
3514 static PyObject *__pyx_n_s_FstDeletedConstructorError;
3515 static PyObject *__pyx_n_s_FstError;
3516 static PyObject *__pyx_n_s_FstIOError;
3517 static PyObject *__pyx_n_s_FstIndexError;
3518 static PyObject *__pyx_n_s_FstOpError;
3519 static PyObject *__pyx_n_s_FstSymbolTable;
3520 static PyObject *__pyx_n_s_Fst_2;
3521 static PyObject *__pyx_kp_u_Fst_SymbolTable_r_at_0x_x;
3522 static PyObject *__pyx_n_s_Fst___new;
3523 static PyObject *__pyx_kp_s_Fst_arc_type_standard_Construct;
3524 static PyObject *__pyx_kp_u_Fst_at_0x_x;
3525 static PyObject *__pyx_n_s_Fst_read;
3526 static PyObject *__pyx_n_s_Fst_read_from_string;
3527 static PyObject *__pyx_n_s_INITIAL_ACYCLIC;
3528 static PyObject *__pyx_n_s_INITIAL_CYCLIC;
3529 static PyObject *__pyx_n_s_INTRINSIC_PROPERTIES;
3530 static PyObject *__pyx_n_s_IOError;
3531 static PyObject *__pyx_n_s_I_DETERMINISTIC;
3532 static PyObject *__pyx_n_s_I_EPSILONS;
3533 static PyObject *__pyx_n_s_I_LABEL_INVARIANT_PROPERTIES;
3534 static PyObject *__pyx_n_s_I_LABEL_SORTED;
3535 static PyObject *__pyx_kp_u_Incompatible_or_invalid_arc_type;
3536 static PyObject *__pyx_kp_u_Incompatible_or_invalid_weight;
3537 static PyObject *__pyx_kp_u_Incompatible_or_invalid_weight_t;
3538 static PyObject *__pyx_n_s_IndexError;
3539 static PyObject *__pyx_kp_u_Invalid_weight;
3540 static PyObject *__pyx_n_s_KeyError;
3541 static PyObject *__pyx_kp_u_Key_out_of_order;
3542 static PyObject *__pyx_n_s_MUTABLE;
3543 static PyObject *__pyx_n_s_MutableArcIterator;
3544 static PyObject *__pyx_n_s_MutableArcIterator___iter;
3545 static PyObject *__pyx_kp_u_MutableArcIterator_at_0x_x;
3546 static PyObject *__pyx_n_s_MutableFst;
3547 static PyObject *__pyx_n_s_MutableFstSymbolTable;
3548 static PyObject *__pyx_n_s_MutableSymbolTable;
3549 static PyObject *__pyx_n_s_NEG_TRINARY_PROPERTIES;
3550 static PyObject *__pyx_n_s_NON_I_DETERMINISTIC;
3551 static PyObject *__pyx_n_s_NON_O_DETERMINISTIC;
3552 static PyObject *__pyx_n_s_NOT_ACCEPTOR;
3553 static PyObject *__pyx_n_s_NOT_ACCESSIBLE;
3554 static PyObject *__pyx_n_s_NOT_COACCESSIBLE;
3555 static PyObject *__pyx_n_s_NOT_I_LABEL_SORTED;
3556 static PyObject *__pyx_n_s_NOT_O_LABEL_SORTED;
3557 static PyObject *__pyx_n_s_NOT_STRING;
3558 static PyObject *__pyx_n_s_NOT_TOP_SORTED;
3559 static PyObject *__pyx_n_s_NO_EPSILONS;
3560 static PyObject *__pyx_n_s_NO_I_EPSILONS;
3561 static PyObject *__pyx_n_s_NO_LABEL;
3562 static PyObject *__pyx_n_s_NO_O_EPSILONS;
3563 static PyObject *__pyx_n_s_NO_STATE_ID;
3564 static PyObject *__pyx_n_s_NO_SYMBOL;
3565 static PyObject *__pyx_n_s_NULL_PROPERTIES;
3566 static PyObject *__pyx_n_s_NoWeight;
3567 static PyObject *__pyx_kp_u_No_new_SymbolTables_specified;
3568 static PyObject *__pyx_kp_u_No_relabeling_pairs_specified;
3569 static PyObject *__pyx_n_s_Number;
3570 static PyObject *__pyx_n_s_O_DETERMINISTIC;
3571 static PyObject *__pyx_n_s_O_EPSILONS;
3572 static PyObject *__pyx_n_s_O_LABEL_INVARIANT_PROPERTIES;
3573 static PyObject *__pyx_n_s_O_LABEL_SORTED;
3574 static PyObject *__pyx_n_s_One;
3575 static PyObject *__pyx_kp_u_Open_failed_r;
3576 static PyObject *__pyx_kp_u_Operation_failed;
3577 static PyObject *__pyx_n_s_PIPE;
3578 static PyObject *__pyx_n_s_POS_TRINARY_PROPERTIES;
3579 static PyObject *__pyx_n_s_Popen;
3580 static PyObject *__pyx_n_s_RM_SUPERFINAL_PROPERTIES;
3581 static PyObject *__pyx_kp_u_Read_failed;
3582 static PyObject *__pyx_kp_u_Read_failed_r;
3583 static PyObject *__pyx_n_s_RuntimeError;
3584 static PyObject *__pyx_n_s_SET_ARC_PROPERTIES;
3585 static PyObject *__pyx_n_s_SET_FINAL_PROPERTIES;
3586 static PyObject *__pyx_n_s_SET_START_PROPERTIES;
3587 static PyObject *__pyx_n_s_STATE_SORT_PROPERTIES;
3588 static PyObject *__pyx_n_s_STRING;
3589 static PyObject *__pyx_n_s_StateIterator;
3590 static PyObject *__pyx_kp_u_StateIterator_at_0x_x;
3591 static PyObject *__pyx_kp_u_State_index_out_of_range;
3592 static PyObject *__pyx_n_s_StopIteration;
3593 static PyObject *__pyx_n_s_SymbolTable;
3594 static PyObject *__pyx_n_s_SymbolTableIterator;
3595 static PyObject *__pyx_kp_u_SymbolTableIterator_at_0x_x;
3596 static PyObject *__pyx_n_s_SymbolTable_2;
3597 static PyObject *__pyx_kp_u_SymbolTable_r_at_0x_x;
3598 static PyObject *__pyx_n_s_TOP_SORTED;
3599 static PyObject *__pyx_n_s_TRINARY_PROPERTIES;
3600 static PyObject *__pyx_kp_u_Tsvg;
3601 static PyObject *__pyx_n_s_TypeError;
3602 static PyObject *__pyx_n_s_UNWEIGHTED;
3603 static PyObject *__pyx_n_s_UNWEIGHTED_CYCLES;
3604 static PyObject *__pyx_kp_u_Unknown_arc_type_r;
3605 static PyObject *__pyx_kp_u_Unknown_compose_filter_type_r;
3606 static PyObject *__pyx_kp_u_Unknown_determinization_type_r;
3607 static PyObject *__pyx_kp_u_Unknown_map_type_r;
3608 static PyObject *__pyx_kp_u_Unknown_queue_type_r;
3609 static PyObject *__pyx_kp_u_Unknown_random_arc_selection_typ;
3610 static PyObject *__pyx_kp_u_Unknown_replace_label_type_r;
3611 static PyObject *__pyx_kp_u_Unknown_sort_type_r;
3612 static PyObject *__pyx_n_s_ValueError;
3613 static PyObject *__pyx_n_s_WEIGHTED;
3614 static PyObject *__pyx_n_s_WEIGHTED_CYCLES;
3615 static PyObject *__pyx_n_s_WEIGHT_INVARIANT_PROPERTIES;
3616 static PyObject *__pyx_n_s_Weight;
3617 static PyObject *__pyx_kp_u_Weight_at_0x_x;
3618 static PyObject *__pyx_kp_u_Weight_type_not_found;
3619 static PyObject *__pyx_kp_u_Write_failed_r;
3620 static PyObject *__pyx_kp_u_Write_to_string_failed;
3621 static PyObject *__pyx_n_s_Zero;
3622 static PyObject *__pyx_kp_b__10;
3623 static PyObject *__pyx_n_s_acceptor;
3624 static PyObject *__pyx_n_s_add;
3625 static PyObject *__pyx_n_s_add_state;
3626 static PyObject *__pyx_n_s_add_symbol;
3627 static PyObject *__pyx_n_s_add_table;
3628 static PyObject *__pyx_n_s_allow_negative_labels;
3629 static PyObject *__pyx_n_s_allow_nondet;
3630 static PyObject *__pyx_n_s_arc;
3631 static PyObject *__pyx_n_s_arc_type;
3632 static PyObject *__pyx_n_s_arcs;
3633 static PyObject *__pyx_n_s_args;
3634 static PyObject *__pyx_n_s_attach_new_isymbols;
3635 static PyObject *__pyx_n_s_attach_new_osymbols;
3636 static PyObject *__pyx_n_b_auto;
3637 static PyObject *__pyx_n_s_available_key;
3638 static PyObject *__pyx_n_s_call_arc_labeling;
3639 static PyObject *__pyx_n_s_checksum;
3640 static PyObject *__pyx_n_s_class;
3641 static PyObject *__pyx_n_s_cline_in_traceback;
3642 static PyObject *__pyx_n_s_close;
3643 static PyObject *__pyx_n_s_closure_plus;
3644 static PyObject *__pyx_n_s_cls;
3645 static PyObject *__pyx_n_s_communicate;
3646 static PyObject *__pyx_n_s_compile;
3647 static PyObject *__pyx_n_s_compose_filter;
3648 static PyObject *__pyx_n_s_connect;
3649 static PyObject *__pyx_kp_u_const_EncodeMapper_SymbolTable;
3650 static PyObject *__pyx_kp_u_const_Fst_SymbolTable_r_at_0x_x;
3651 static PyObject *__pyx_n_s_copy;
3652 static PyObject *__pyx_n_s_create;
3653 static PyObject *__pyx_n_b_default;
3654 static PyObject *__pyx_n_s_delta;
3655 static PyObject *__pyx_n_s_det_type;
3656 static PyObject *__pyx_n_s_distance;
3657 static PyObject *__pyx_n_s_divide;
3658 static PyObject *__pyx_n_s_doc;
3659 static PyObject *__pyx_n_s_done;
3660 static PyObject *__pyx_n_u_dot;
3661 static PyObject *__pyx_n_s_draw;
3662 static PyObject *__pyx_n_s_encode;
3663 static PyObject *__pyx_n_s_encode_labels;
3664 static PyObject *__pyx_n_s_encode_weights;
3665 static PyObject *__pyx_n_s_eps_norm_output;
3666 static PyObject *__pyx_n_s_epsilon_on_replace;
3667 static PyObject *__pyx_n_s_error;
3668 static PyObject *__pyx_n_s_far_type;
3669 static PyObject *__pyx_n_s_filename;
3670 static PyObject *__pyx_n_s_final;
3671 static PyObject *__pyx_n_s_find;
3672 static PyObject *__pyx_n_s_flags;
3673 static PyObject *__pyx_n_s_float_format;
3674 static PyObject *__pyx_n_s_fontsize;
3675 static PyObject *__pyx_n_s_format;
3676 static PyObject *__pyx_n_s_fst_type;
3677 static PyObject *__pyx_n_b_functional;
3678 static PyObject *__pyx_n_b_g;
3679 static PyObject *__pyx_n_s_get_fst;
3680 static PyObject *__pyx_n_s_get_key;
3681 static PyObject *__pyx_n_s_get_nth_key;
3682 static PyObject *__pyx_n_s_getstate;
3683 static PyObject *__pyx_n_s_height;
3684 static PyObject *__pyx_n_s_id;
3685 static PyObject *__pyx_n_b_identity;
3686 static PyObject *__pyx_n_s_ifst;
3687 static PyObject *__pyx_n_s_ifst1;
3688 static PyObject *__pyx_n_s_ifst2;
3689 static PyObject *__pyx_n_b_ilabel;
3690 static PyObject *__pyx_n_s_ilabel;
3691 static PyObject *__pyx_n_s_import;
3692 static PyObject *__pyx_n_s_increment_subsequential_label;
3693 static PyObject *__pyx_n_b_input;
3694 static PyObject *__pyx_n_s_input_symbols;
3695 static PyObject *__pyx_n_s_input_table;
3696 static PyObject *__pyx_n_s_ipairs;
3697 static PyObject *__pyx_n_s_isymbols;
3698 static PyObject *__pyx_n_s_iter;
3699 static PyObject *__pyx_n_s_keep_isymbols;
3700 static PyObject *__pyx_n_s_keep_osymbols;
3701 static PyObject *__pyx_n_s_keep_state_numbering;
3702 static PyObject *__pyx_n_s_key;
3703 static PyObject *__pyx_n_s_labeled_checksum;
3704 static PyObject *__pyx_n_s_lhs;
3705 static PyObject *__pyx_n_s_logging;
3706 static PyObject *__pyx_n_s_main;
3707 static PyObject *__pyx_n_s_map_type;
3708 static PyObject *__pyx_n_s_mask;
3709 static PyObject *__pyx_n_s_max_length;
3710 static PyObject *__pyx_n_s_member;
3711 static PyObject *__pyx_n_s_metaclass;
3712 static PyObject *__pyx_n_s_missing_sym;
3713 static PyObject *__pyx_n_s_module;
3714 static PyObject *__pyx_n_s_mutable_arcs;
3715 static PyObject *__pyx_n_s_n;
3716 static PyObject *__pyx_n_s_name;
3717 static PyObject *__pyx_n_s_name_2;
3718 static PyObject *__pyx_n_b_neither;
3719 static PyObject *__pyx_n_s_new;
3720 static PyObject *__pyx_n_s_new_isymbols;
3721 static PyObject *__pyx_n_s_new_osymbols;
3722 static PyObject *__pyx_n_s_next;
3723 static PyObject *__pyx_n_s_nextstate;
3724 static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
3725 static PyObject *__pyx_n_s_nodesep;
3726 static PyObject *__pyx_n_s_npath;
3727 static PyObject *__pyx_n_s_nshortest;
3728 static PyObject *__pyx_n_s_nstate;
3729 static PyObject *__pyx_n_s_num_arcs;
3730 static PyObject *__pyx_n_s_num_input_epsilons;
3731 static PyObject *__pyx_n_s_num_output_epsilons;
3732 static PyObject *__pyx_n_s_num_states;
3733 static PyObject *__pyx_n_s_num_symbols;
3734 static PyObject *__pyx_n_s_numbers;
3735 static PyObject *__pyx_n_s_object;
3736 static PyObject *__pyx_n_s_olabel;
3737 static PyObject *__pyx_n_s_old_isymbols;
3738 static PyObject *__pyx_n_s_old_osymbols;
3739 static PyObject *__pyx_n_s_opairs;
3740 static PyObject *__pyx_n_s_open;
3741 static PyObject *__pyx_n_s_osymbols;
3742 static PyObject *__pyx_n_s_output_symbols;
3743 static PyObject *__pyx_n_s_pairs;
3744 static PyObject *__pyx_n_s_plus;
3745 static PyObject *__pyx_n_s_portrait;
3746 static PyObject *__pyx_n_s_position;
3747 static PyObject *__pyx_n_s_potentials;
3748 static PyObject *__pyx_n_s_power;
3749 static PyObject *__pyx_n_s_precision;
3750 static PyObject *__pyx_n_s_prepare;
3751 static PyObject *__pyx_n_s_project_output;
3752 static PyObject *__pyx_n_s_properties;
3753 static PyObject *__pyx_n_s_props;
3754 static PyObject *__pyx_n_s_push_labels;
3755 static PyObject *__pyx_n_s_push_weights;
3756 static PyObject *__pyx_n_s_pywrapfst_2;
3757 static PyObject *__pyx_kp_s_pywrapfst_pyx;
3758 static PyObject *__pyx_n_s_pyx_vtable;
3759 static PyObject *__pyx_n_s_qualname;
3760 static PyObject *__pyx_n_s_queue_type;
3761 static PyObject *__pyx_n_s_ranksep;
3762 static PyObject *__pyx_n_s_read;
3763 static PyObject *__pyx_n_s_read_Fst_from_string;
3764 static PyObject *__pyx_n_s_read_SymbolTable_from_string;
3765 static PyObject *__pyx_n_s_read_from_string;
3766 static PyObject *__pyx_n_s_read_fst;
3767 static PyObject *__pyx_n_s_read_text;
3768 static PyObject *__pyx_n_s_reduce;
3769 static PyObject *__pyx_n_s_reduce_cython;
3770 static PyObject *__pyx_n_s_reduce_ex;
3771 static PyObject *__pyx_n_s_remove_common_affix;
3772 static PyObject *__pyx_n_s_remove_total_weight;
3773 static PyObject *__pyx_n_s_require_superinitial;
3774 static PyObject *__pyx_n_s_reset;
3775 static PyObject *__pyx_n_s_result;
3776 static PyObject *__pyx_n_s_return_arc_labeling;
3777 static PyObject *__pyx_n_s_return_label;
3778 static PyObject *__pyx_n_s_reverse;
3779 static PyObject *__pyx_n_s_rhs;
3780 static PyObject *__pyx_n_s_seed;
3781 static PyObject *__pyx_n_s_seek;
3782 static PyObject *__pyx_n_s_select;
3783 static PyObject *__pyx_kp_s_self__aiter_self__fst_cannot_be;
3784 static PyObject *__pyx_kp_s_self__aiter_self__mfst_cannot_be;
3785 static PyObject *__pyx_kp_s_self__arc_cannot_be_converted_to;
3786 static PyObject *__pyx_kp_s_self__encoder_cannot_be_converte;
3787 static PyObject *__pyx_kp_s_self__fst_self__siter_cannot_be;
3788 static PyObject *__pyx_kp_s_self__reader_cannot_be_converted;
3789 static PyObject *__pyx_kp_s_self__siter_self__table_cannot_b;
3790 static PyObject *__pyx_kp_s_self__weight_cannot_be_converted;
3791 static PyObject *__pyx_kp_s_self__writer_cannot_be_converted;
3792 static PyObject *__pyx_n_s_send;
3793 static PyObject *__pyx_n_s_set_flags;
3794 static PyObject *__pyx_n_s_set_input_symbols;
3795 static PyObject *__pyx_n_s_set_name;
3796 static PyObject *__pyx_n_s_set_output_symbols;
3797 static PyObject *__pyx_n_s_set_value;
3798 static PyObject *__pyx_n_s_setstate;
3799 static PyObject *__pyx_n_s_setstate_cython;
3800 static PyObject *__pyx_n_s_shortestdistance;
3801 static PyObject *__pyx_n_s_show_weight_one;
3802 static PyObject *__pyx_n_s_sort_type;
3803 static PyObject *__pyx_n_s_ssymbols;
3804 static PyObject *__pyx_n_b_standard;
3805 static PyObject *__pyx_n_s_start;
3806 static PyObject *__pyx_n_s_state;
3807 static PyObject *__pyx_n_s_states;
3808 static PyObject *__pyx_n_s_staticmethod;
3809 static PyObject *__pyx_n_s_stdin;
3810 static PyObject *__pyx_n_s_stdout;
3811 static PyObject *__pyx_n_s_subprocess;
3812 static PyObject *__pyx_n_s_subsequential_label;
3813 static PyObject *__pyx_n_s_symbol;
3814 static PyObject *__pyx_n_s_syms;
3815 static PyObject *__pyx_n_s_test;
3816 static PyObject *__pyx_n_s_test_2;
3817 static PyObject *__pyx_n_s_text;
3818 static PyObject *__pyx_n_s_throw;
3819 static PyObject *__pyx_n_s_times;
3820 static PyObject *__pyx_n_s_title;
3821 static PyObject *__pyx_n_s_to_final;
3822 static PyObject *__pyx_n_s_to_string;
3823 static PyObject *__pyx_n_s_type;
3824 static PyObject *__pyx_n_b_uniform;
3825 static PyObject *__pyx_n_s_unique;
3826 static PyObject *__pyx_n_s_unknown_isymbol;
3827 static PyObject *__pyx_n_s_unknown_osymbol;
3828 static PyObject *__pyx_kp_u_unspecified;
3829 static PyObject *__pyx_n_u_utf8;
3830 static PyObject *__pyx_n_s_value;
3831 static PyObject *__pyx_n_b_vector;
3832 static PyObject *__pyx_n_s_verify;
3833 static PyObject *__pyx_n_s_vertical;
3834 static PyObject *__pyx_n_s_w;
3835 static PyObject *__pyx_n_s_warning;
3836 static PyObject *__pyx_n_s_weight;
3837 static PyObject *__pyx_n_s_weight_type;
3838 static PyObject *__pyx_n_s_weighted;
3839 static PyObject *__pyx_n_s_width;
3840 static PyObject *__pyx_n_s_write;
3841 static PyObject *__pyx_n_s_write_text;
3842 static PyObject *__pyx_n_s_write_to_string;
3843 static PyObject *__pyx_pf_9pywrapfst_6Weight___repr__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3844 static PyObject *__pyx_pf_9pywrapfst_6Weight_2__str__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3845 static PyObject *__pyx_pf_9pywrapfst_6Weight_4__float__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3846 static int __pyx_pf_9pywrapfst_6Weight_6__init__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, PyObject *__pyx_v_weight_type, PyObject *__pyx_v_weight); /* proto */
3847 static PyObject *__pyx_pf_9pywrapfst_6Weight_8copy(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3848 static PyObject *__pyx_pf_9pywrapfst_6Weight_10Zero(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /* proto */
3849 static PyObject *__pyx_pf_9pywrapfst_6Weight_12One(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /* proto */
3850 static PyObject *__pyx_pf_9pywrapfst_6Weight_14NoWeight(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /* proto */
3851 static PyObject *__pyx_pf_9pywrapfst_6Weight_16__eq__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w1, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w2); /* proto */
3852 static PyObject *__pyx_pf_9pywrapfst_6Weight_18__ne__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w1, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w2); /* proto */
3853 static PyObject *__pyx_pf_9pywrapfst_6Weight_20to_string(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3854 static PyObject *__pyx_pf_9pywrapfst_6Weight_22type(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3855 static PyObject *__pyx_pf_9pywrapfst_6Weight_24member(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3856 static PyObject *__pyx_pf_9pywrapfst_6Weight_26__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
3857 static PyObject *__pyx_pf_9pywrapfst_6Weight_28__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
3858 static PyObject *__pyx_pf_9pywrapfst_plus(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_lhs, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_rhs); /* proto */
3859 static PyObject *__pyx_pf_9pywrapfst_2times(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_lhs, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_rhs); /* proto */
3860 static PyObject *__pyx_pf_9pywrapfst_4divide(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_lhs, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_rhs); /* proto */
3861 static PyObject *__pyx_pf_9pywrapfst_6power(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w, size_t __pyx_v_n); /* proto */
3862 static int __pyx_pf_9pywrapfst_12_SymbolTable___init__(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3863 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_2__iter__(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3864 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_4__reduce__(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3865 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_6available_key(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3866 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_8checksum(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3867 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_10copy(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3868 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_12find(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
3869 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_14get_nth_key(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, Py_ssize_t __pyx_v_pos); /* proto */
3870 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_16labeled_checksum(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3871 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_18member(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
3872 static int __pyx_pf_9pywrapfst_12_SymbolTable_20__contains__(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
3873 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_22name(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3874 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_24num_symbols(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3875 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_26write(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
3876 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_28write_text(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
3877 static PyObject *__pyx_pf_9pywrapfst_12_SymbolTable_30write_to_string(struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_self); /* proto */
3878 static PyObject *__pyx_pf_9pywrapfst_24_EncodeMapperSymbolTable___repr__(struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTable *__pyx_v_self); /* proto */
3879 static PyObject *__pyx_pf_9pywrapfst_15_FstSymbolTable___repr__(struct __pyx_obj_9pywrapfst__FstSymbolTable *__pyx_v_self); /* proto */
3880 static PyObject *__pyx_pf_9pywrapfst_19_MutableSymbolTable_add_symbol(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_symbol, __pyx_t_10basictypes_int64 __pyx_v_key); /* proto */
3881 static PyObject *__pyx_pf_9pywrapfst_19_MutableSymbolTable_2add_table(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto */
3882 static PyObject *__pyx_pf_9pywrapfst_19_MutableSymbolTable_4set_name(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_new_name); /* proto */
3883 static PyObject *__pyx_pf_9pywrapfst_22_MutableFstSymbolTable___repr__(struct __pyx_obj_9pywrapfst__MutableFstSymbolTable *__pyx_v_self); /* proto */
3884 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable___repr__(struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_self); /* proto */
3885 static int __pyx_pf_9pywrapfst_11SymbolTable_2__init__(struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
3886 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable_4read(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_filename); /* proto */
3887 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable_6read_text(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_filename, bool __pyx_v_allow_negative_labels); /* proto */
3888 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable_8read_fst(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_filename, bool __pyx_v_input_table); /* proto */
3889 static PyObject *__pyx_pf_9pywrapfst_8_read_SymbolTable_from_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */
3890 static PyObject *__pyx_pf_9pywrapfst_10compact_symbol_table(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto */
3891 static PyObject *__pyx_pf_9pywrapfst_12merge_symbol_table(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_lhs, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_rhs); /* proto */
3892 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator___repr__(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3893 static int __pyx_pf_9pywrapfst_19SymbolTableIterator_2__init__(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto */
3894 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_4__iter__(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3895 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_6__next__(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3896 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_8done(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3897 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_10next(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3898 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_12reset(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3899 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_14symbol(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3900 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_16value(struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3901 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self); /* proto */
3902 static PyObject *__pyx_pf_9pywrapfst_19SymbolTableIterator_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_SymbolTableIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
3903 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper___repr__(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
3904 static int __pyx_pf_9pywrapfst_12EncodeMapper_2__init__(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, PyObject *__pyx_v_arc_type, bool __pyx_v_encode_labels, bool __pyx_v_encode_weights); /* proto */
3905 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_4arc_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
3906 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_6__call__(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto */
3907 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_8flags(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
3908 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_10input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
3909 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_12output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
3910 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_14properties(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, __pyx_t_10basictypes_uint64 __pyx_v_mask); /* proto */
3911 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_16set_input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto */
3912 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_18set_output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto */
3913 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_20weight_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
3914 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
3915 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
3916 static PyObject *__pyx_pf_9pywrapfst_4_Fst__repr_svg_(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3917 static int __pyx_pf_9pywrapfst_4_Fst_2__init__(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3918 static PyObject *__pyx_pf_9pywrapfst_4_Fst_4__reduce__(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3919 static PyObject *__pyx_pf_9pywrapfst_4_Fst_6__repr__(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3920 static PyObject *__pyx_pf_9pywrapfst_4_Fst_8__str__(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3921 static PyObject *__pyx_pf_9pywrapfst_4_Fst_10arc_type(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3922 static PyObject *__pyx_pf_9pywrapfst_4_Fst_12arcs(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3923 static PyObject *__pyx_pf_9pywrapfst_4_Fst_14copy(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3924 static PyObject *__pyx_pf_9pywrapfst_4_Fst_16draw(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, PyObject *__pyx_v_filename, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_isymbols, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_osymbols, struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_ssymbols, bool __pyx_v_acceptor, PyObject *__pyx_v_title, double __pyx_v_width, double __pyx_v_height, bool __pyx_v_portrait, bool __pyx_v_vertical, double __pyx_v_ranksep, double __pyx_v_nodesep, __pyx_t_10basictypes_int32 __pyx_v_fontsize, __pyx_t_10basictypes_int32 __pyx_v_precision, PyObject *__pyx_v_float_format, bool __pyx_v_show_weight_one); /* proto */
3925 static PyObject *__pyx_pf_9pywrapfst_4_Fst_18final(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3926 static PyObject *__pyx_pf_9pywrapfst_4_Fst_20fst_type(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3927 static PyObject *__pyx_pf_9pywrapfst_4_Fst_22input_symbols(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3928 static PyObject *__pyx_pf_9pywrapfst_4_Fst_24num_arcs(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3929 static PyObject *__pyx_pf_9pywrapfst_4_Fst_26num_input_epsilons(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3930 static PyObject *__pyx_pf_9pywrapfst_4_Fst_28num_output_epsilons(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3931 static PyObject *__pyx_pf_9pywrapfst_4_Fst_30output_symbols(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3932 static PyObject *__pyx_pf_9pywrapfst_4_Fst_32properties(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, __pyx_t_10basictypes_uint64 __pyx_v_mask, bool __pyx_v_test); /* proto */
3933 static PyObject *__pyx_pf_9pywrapfst_4_Fst_34start(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3934 static PyObject *__pyx_pf_9pywrapfst_4_Fst_36states(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3935 static PyObject *__pyx_pf_9pywrapfst_4_Fst_38text(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_isymbols, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_osymbols, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_ssymbols, bool __pyx_v_acceptor, bool __pyx_v_show_weight_one, PyObject *__pyx_v_missing_sym); /* proto */
3936 static PyObject *__pyx_pf_9pywrapfst_4_Fst_40verify(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3937 static PyObject *__pyx_pf_9pywrapfst_4_Fst_42weight_type(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3938 static PyObject *__pyx_pf_9pywrapfst_4_Fst_44write(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
3939 static PyObject *__pyx_pf_9pywrapfst_4_Fst_46write_to_string(struct __pyx_obj_9pywrapfst__Fst *__pyx_v_self); /* proto */
3940 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_add_arc(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto */
3941 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_2add_state(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto */
3942 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_4arcsort(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, PyObject *__pyx_v_sort_type); /* proto */
3943 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_6closure(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, bool __pyx_v_closure_plus); /* proto */
3944 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_8concat(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst); /* proto */
3945 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_10connect(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto */
3946 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_12decode(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_encoder); /* proto */
3947 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_14delete_arcs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, size_t __pyx_v_n); /* proto */
3948 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_16delete_states(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, PyObject *__pyx_v_states); /* proto */
3949 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_18encode(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_encoder); /* proto */
3950 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_20invert(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto */
3951 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_22minimize(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, float __pyx_v_delta, bool __pyx_v_allow_nondet); /* proto */
3952 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_24mutable_arcs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3953 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_26mutable_input_symbols(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto */
3954 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_28mutable_output_symbols(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto */
3955 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_30num_states(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto */
3956 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_32project(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, bool __pyx_v_project_output); /* proto */
3957 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_34prune(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, float __pyx_v_delta, __pyx_t_10basictypes_int64 __pyx_v_nstate, PyObject *__pyx_v_weight); /* proto */
3958 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_36push(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, float __pyx_v_delta, bool __pyx_v_remove_total_weight, bool __pyx_v_to_final); /* proto */
3959 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_38relabel_pairs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, PyObject *__pyx_v_ipairs, PyObject *__pyx_v_opairs); /* proto */
3960 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_40relabel_tables(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_old_isymbols, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_new_isymbols, PyObject *__pyx_v_unknown_isymbol, bool __pyx_v_attach_new_isymbols, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_old_osymbols, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_new_osymbols, PyObject *__pyx_v_unknown_osymbol, bool __pyx_v_attach_new_osymbols); /* proto */
3961 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_42reserve_arcs(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, size_t __pyx_v_n); /* proto */
3962 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_44reserve_states(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_n); /* proto */
3963 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_46reweight(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, PyObject *__pyx_v_potentials, bool __pyx_v_to_final); /* proto */
3964 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_48rmepsilon(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, PyObject *__pyx_v_queue_type, bool __pyx_v_connect, PyObject *__pyx_v_weight, __pyx_t_10basictypes_int64 __pyx_v_nstate, float __pyx_v_delta); /* proto */
3965 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_50set_final(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state, PyObject *__pyx_v_weight); /* proto */
3966 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_52set_input_symbols(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto */
3967 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_54set_output_symbols(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__SymbolTable *__pyx_v_syms); /* proto */
3968 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_56set_properties(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_uint64 __pyx_v_props, __pyx_t_10basictypes_uint64 __pyx_v_mask); /* proto */
3969 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_58set_start(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3970 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_60topsort(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self); /* proto */
3971 static PyObject *__pyx_pf_9pywrapfst_11_MutableFst_62union(struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst); /* proto */
3972 static PyObject *__pyx_pf_9pywrapfst_14_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename); /* proto */
3973 static PyObject *__pyx_pf_9pywrapfst_16_read_Fst_from_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */
3974 static PyObject *__pyx_pf_9pywrapfst_3Fst___new__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_cls, PyObject *__pyx_v_arc_type); /* proto */
3975 static PyObject *__pyx_pf_9pywrapfst_3Fst_2read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename); /* proto */
3976 static PyObject *__pyx_pf_9pywrapfst_3Fst_4read_from_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */
3977 static PyObject *__pyx_pf_9pywrapfst_3Arc___repr__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
3978 static int __pyx_pf_9pywrapfst_3Arc_2__init__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_ilabel, __pyx_t_10basictypes_int64 __pyx_v_olabel, PyObject *__pyx_v_weight, __pyx_t_10basictypes_int64 __pyx_v_nextstate); /* proto */
3979 static PyObject *__pyx_pf_9pywrapfst_3Arc_4copy(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
3980 static PyObject *__pyx_pf_9pywrapfst_3Arc_6ilabel___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
3981 static int __pyx_pf_9pywrapfst_3Arc_6ilabel_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_value); /* proto */
3982 static PyObject *__pyx_pf_9pywrapfst_3Arc_6olabel___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
3983 static int __pyx_pf_9pywrapfst_3Arc_6olabel_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_value); /* proto */
3984 static PyObject *__pyx_pf_9pywrapfst_3Arc_6weight___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
3985 static int __pyx_pf_9pywrapfst_3Arc_6weight_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, PyObject *__pyx_v_weight); /* proto */
3986 static PyObject *__pyx_pf_9pywrapfst_3Arc_9nextstate___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
3987 static int __pyx_pf_9pywrapfst_3Arc_9nextstate_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, __pyx_t_10basictypes_int64 __pyx_v_value); /* proto */
3988 static PyObject *__pyx_pf_9pywrapfst_3Arc_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
3989 static PyObject *__pyx_pf_9pywrapfst_3Arc_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
3990 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator___repr__(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3991 static int __pyx_pf_9pywrapfst_11ArcIterator_2__init__(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
3992 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_4__iter__(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3993 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_6__next__(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3994 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_8done(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3995 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_10flags(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3996 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_12next(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3997 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_14position(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3998 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_16reset(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
3999 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_18seek(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, size_t __pyx_v_a); /* proto */
4000 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_20set_flags(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, __pyx_t_10basictypes_uint32 __pyx_v_flags, __pyx_t_10basictypes_uint32 __pyx_v_mask); /* proto */
4001 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_22value(struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
4002 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self); /* proto */
4003 static PyObject *__pyx_pf_9pywrapfst_11ArcIterator_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_ArcIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4004 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator___repr__(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4005 static int __pyx_pf_9pywrapfst_18MutableArcIterator_2__init__(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst__MutableFst *__pyx_v_ifst, __pyx_t_10basictypes_int64 __pyx_v_state); /* proto */
4006 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_4__iter__(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4007 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_7done(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4008 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_9flags(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4009 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_11next(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4010 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_13position(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4011 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_15reset(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4012 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_17seek(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, size_t __pyx_v_a); /* proto */
4013 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_19set_flags(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, __pyx_t_10basictypes_uint32 __pyx_v_flags, __pyx_t_10basictypes_uint32 __pyx_v_mask); /* proto */
4014 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_21set_value(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto */
4015 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_23value(struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4016 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_25__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self); /* proto */
4017 static PyObject *__pyx_pf_9pywrapfst_18MutableArcIterator_27__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_MutableArcIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4018 static PyObject *__pyx_pf_9pywrapfst_13StateIterator___repr__(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4019 static int __pyx_pf_9pywrapfst_13StateIterator_2__init__(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst); /* proto */
4020 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_4__iter__(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4021 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_6__next__(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4022 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_8done(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4023 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_10next(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4024 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_12reset(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4025 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_14value(struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4026 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self); /* proto */
4027 static PyObject *__pyx_pf_9pywrapfst_13StateIterator_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_StateIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4028 static PyObject *__pyx_pf_9pywrapfst_18arcmap(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, float __pyx_v_delta, PyObject *__pyx_v_map_type, double __pyx_v_power, PyObject *__pyx_v_weight); /* proto */
4029 static PyObject *__pyx_pf_9pywrapfst_20compose(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst2, PyObject *__pyx_v_compose_filter, bool __pyx_v_connect); /* proto */
4030 static PyObject *__pyx_pf_9pywrapfst_22convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, PyObject *__pyx_v_fst_type); /* proto */
4031 static PyObject *__pyx_pf_9pywrapfst_24determinize(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, float __pyx_v_delta, PyObject *__pyx_v_det_type, __pyx_t_10basictypes_int64 __pyx_v_nstate, __pyx_t_10basictypes_int64 __pyx_v_subsequential_label, PyObject *__pyx_v_weight, bool __pyx_v_increment_subsequential_label); /* proto */
4032 static PyObject *__pyx_pf_9pywrapfst_26difference(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst2, PyObject *__pyx_v_compose_filter, bool __pyx_v_connect); /* proto */
4033 static PyObject *__pyx_pf_9pywrapfst_28disambiguate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, float __pyx_v_delta, __pyx_t_10basictypes_int64 __pyx_v_nstate, __pyx_t_10basictypes_int64 __pyx_v_subsequential_label, PyObject *__pyx_v_weight); /* proto */
4034 static PyObject *__pyx_pf_9pywrapfst_30epsnormalize(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, bool __pyx_v_eps_norm_output); /* proto */
4035 static PyObject *__pyx_pf_9pywrapfst_32equal(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst2, float __pyx_v_delta); /* proto */
4036 static PyObject *__pyx_pf_9pywrapfst_34equivalent(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst2, float __pyx_v_delta); /* proto */
4037 static PyObject *__pyx_pf_9pywrapfst_36intersect(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst2, PyObject *__pyx_v_compose_filter, bool __pyx_v_connect); /* proto */
4038 static PyObject *__pyx_pf_9pywrapfst_38isomorphic(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst2, float __pyx_v_delta); /* proto */
4039 static PyObject *__pyx_pf_9pywrapfst_40prune(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, float __pyx_v_delta, __pyx_t_10basictypes_int64 __pyx_v_nstate, PyObject *__pyx_v_weight); /* proto */
4040 static PyObject *__pyx_pf_9pywrapfst_42push(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, float __pyx_v_delta, bool __pyx_v_push_weights, bool __pyx_v_push_labels, bool __pyx_v_remove_common_affix, bool __pyx_v_remove_total_weight, bool __pyx_v_to_final); /* proto */
4041 static PyObject *__pyx_pf_9pywrapfst_44randequivalent(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst2, __pyx_t_10basictypes_int32 __pyx_v_npath, float __pyx_v_delta, time_t __pyx_v_seed, PyObject *__pyx_v_select, __pyx_t_10basictypes_int32 __pyx_v_max_length); /* proto */
4042 static PyObject *__pyx_pf_9pywrapfst_46randgen(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, __pyx_t_10basictypes_int32 __pyx_v_npath, time_t __pyx_v_seed, PyObject *__pyx_v_select, __pyx_t_10basictypes_int32 __pyx_v_max_length, bool __pyx_v_weighted, bool __pyx_v_remove_total_weight); /* proto */
4043 static PyObject *__pyx_pf_9pywrapfst_48replace(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pairs, PyObject *__pyx_v_call_arc_labeling, PyObject *__pyx_v_return_arc_labeling, bool __pyx_v_epsilon_on_replace, __pyx_t_10basictypes_int64 __pyx_v_return_label); /* proto */
4044 static PyObject *__pyx_pf_9pywrapfst_50reverse(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, bool __pyx_v_require_superinitial); /* proto */
4045 static PyObject *__pyx_pf_9pywrapfst_52shortestdistance(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, float __pyx_v_delta, __pyx_t_10basictypes_int64 __pyx_v_nstate, PyObject *__pyx_v_queue_type, bool __pyx_v_reverse); /* proto */
4046 static PyObject *__pyx_pf_9pywrapfst_54shortestpath(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, float __pyx_v_delta, __pyx_t_10basictypes_int32 __pyx_v_nshortest, __pyx_t_10basictypes_int64 __pyx_v_nstate, PyObject *__pyx_v_queue_type, bool __pyx_v_unique, PyObject *__pyx_v_weight); /* proto */
4047 static PyObject *__pyx_pf_9pywrapfst_56statemap(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst, PyObject *__pyx_v_map_type); /* proto */
4048 static PyObject *__pyx_pf_9pywrapfst_58synchronize(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst); /* proto */
4049 static int __pyx_pf_9pywrapfst_8Compiler___cinit__(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, std::string __pyx_v_fst_type, std::string __pyx_v_arc_type, struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_isymbols, struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_osymbols, struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_ssymbols, bool __pyx_v_acceptor, bool __pyx_v_keep_isymbols, bool __pyx_v_keep_osymbols, bool __pyx_v_keep_state_numbering, bool __pyx_v_allow_negative_labels); /* proto */
4050 static PyObject *__pyx_pf_9pywrapfst_8Compiler_2compile(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self); /* proto */
4051 static PyObject *__pyx_pf_9pywrapfst_8Compiler_4write(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, PyObject *__pyx_v_expression); /* proto */
4052 static PyObject *__pyx_pf_9pywrapfst_8Compiler_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self); /* proto */
4053 static PyObject *__pyx_pf_9pywrapfst_8Compiler_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4054 static int __pyx_pf_9pywrapfst_9FarReader___init__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4055 static PyObject *__pyx_pf_9pywrapfst_9FarReader_2__repr__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4056 static PyObject *__pyx_pf_9pywrapfst_9FarReader_4open(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_filenames); /* proto */
4057 static PyObject *__pyx_pf_9pywrapfst_9FarReader_6arc_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4058 static PyObject *__pyx_pf_9pywrapfst_9FarReader_8done(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4059 static PyObject *__pyx_pf_9pywrapfst_9FarReader_10error(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4060 static PyObject *__pyx_pf_9pywrapfst_9FarReader_12far_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4061 static PyObject *__pyx_pf_9pywrapfst_9FarReader_14find(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
4062 static PyObject *__pyx_pf_9pywrapfst_9FarReader_16get_fst(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4063 static PyObject *__pyx_pf_9pywrapfst_9FarReader_18get_key(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4064 static PyObject *__pyx_pf_9pywrapfst_9FarReader_20next(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4065 static PyObject *__pyx_pf_9pywrapfst_9FarReader_22reset(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4066 static PyObject *__pyx_pf_9pywrapfst_9FarReader_24__getitem__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
4067 static PyObject *__pyx_pf_9pywrapfst_9FarReader_26__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
4068 static PyObject *__pyx_pf_9pywrapfst_9FarReader_28__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4069 static int __pyx_pf_9pywrapfst_9FarWriter___init__(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
4070 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_2__repr__(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
4071 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_4create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_filename, PyObject *__pyx_v_arc_type, PyObject *__pyx_v_far_type); /* proto */
4072 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_6add(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, PyObject *__pyx_v_key, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_ifst); /* proto */
4073 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_8arc_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
4074 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_10error(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
4075 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_12far_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
4076 static int __pyx_pf_9pywrapfst_9FarWriter_14__setitem__(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, PyObject *__pyx_v_key, struct __pyx_obj_9pywrapfst__Fst *__pyx_v_fst); /* proto */
4077 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
4078 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4079 static PyObject *__pyx_tp_new_9pywrapfst_Weight(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4080 static PyObject *__pyx_tp_new_9pywrapfst__SymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4081 static PyObject *__pyx_tp_new_9pywrapfst__EncodeMapperSymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4082 static PyObject *__pyx_tp_new_9pywrapfst__FstSymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4083 static PyObject *__pyx_tp_new_9pywrapfst__MutableSymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4084 static PyObject *__pyx_tp_new_9pywrapfst__MutableFstSymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4085 static PyObject *__pyx_tp_new_9pywrapfst_SymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4086 static PyObject *__pyx_tp_new_9pywrapfst_SymbolTableIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4087 static PyObject *__pyx_tp_new_9pywrapfst_EncodeMapper(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4088 static PyObject *__pyx_tp_new_9pywrapfst__Fst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4089 static PyObject *__pyx_tp_new_9pywrapfst__MutableFst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4090 static PyObject *__pyx_tp_new_9pywrapfst_Arc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4091 static PyObject *__pyx_tp_new_9pywrapfst_ArcIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4092 static PyObject *__pyx_tp_new_9pywrapfst_MutableArcIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4093 static PyObject *__pyx_tp_new_9pywrapfst_StateIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4094 static PyObject *__pyx_tp_new_9pywrapfst_Compiler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4095 static PyObject *__pyx_tp_new_9pywrapfst_FarReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4096 static PyObject *__pyx_tp_new_9pywrapfst_FarWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4097 static PyObject *__pyx_tp_new_9pywrapfst___pyx_scope_struct____iter__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4098 static __pyx_t_10basictypes_int64 __pyx_k__3;
4099 static float __pyx_k__11;
4100 static float __pyx_k__12;
4101 static float __pyx_k__13;
4102 static __pyx_t_10basictypes_int64 __pyx_k__14;
4103 static float __pyx_k__15;
4104 static __pyx_t_10basictypes_int64 __pyx_k__16;
4105 static float __pyx_k__17;
4106 static float __pyx_k__18;
4107 static __pyx_t_10basictypes_int64 __pyx_k__19;
4108 static float __pyx_k__20;
4109 static __pyx_t_10basictypes_int64 __pyx_k__21;
4110 static float __pyx_k__22;
4111 static float __pyx_k__31;
4112 static float __pyx_k__32;
4113 static float __pyx_k__33;
4114 static __pyx_t_10basictypes_int64 __pyx_k__34;
4115 static float __pyx_k__35;
4116 static __pyx_t_10basictypes_int64 __pyx_k__36;
4117 static float __pyx_k__37;
4118 static float __pyx_k__38;
4119 static float __pyx_k__39;
4120 static float __pyx_k__40;
4121 static __pyx_t_10basictypes_int64 __pyx_k__41;
4122 static float __pyx_k__42;
4123 static float __pyx_k__43;
4124 static __pyx_t_10basictypes_int32 __pyx_k__44;
4125 static __pyx_t_10basictypes_int32 __pyx_k__45;
4126 static float __pyx_k__46;
4127 static __pyx_t_10basictypes_int64 __pyx_k__47;
4128 static float __pyx_k__48;
4129 static __pyx_t_10basictypes_int64 __pyx_k__49;
4130 static float __pyx_k__50;
4131 static __pyx_t_10basictypes_int64 __pyx_k__51;
4132 static std::string __pyx_k__52;
4133 static std::string __pyx_k__53;
4134 static PyObject *__pyx_tuple_;
4135 static PyObject *__pyx_tuple__2;
4136 static PyObject *__pyx_tuple__4;
4137 static PyObject *__pyx_tuple__5;
4138 static PyObject *__pyx_tuple__6;
4139 static PyObject *__pyx_tuple__7;
4140 static PyObject *__pyx_tuple__8;
4141 static PyObject *__pyx_tuple__9;
4142 static PyObject *__pyx_tuple__23;
4143 static PyObject *__pyx_tuple__24;
4144 static PyObject *__pyx_tuple__25;
4145 static PyObject *__pyx_tuple__26;
4146 static PyObject *__pyx_tuple__27;
4147 static PyObject *__pyx_tuple__28;
4148 static PyObject *__pyx_tuple__29;
4149 static PyObject *__pyx_tuple__30;
4150 static PyObject *__pyx_tuple__54;
4151 static PyObject *__pyx_tuple__55;
4152 static PyObject *__pyx_tuple__56;
4153 static PyObject *__pyx_tuple__57;
4154 static PyObject *__pyx_tuple__58;
4155 static PyObject *__pyx_tuple__59;
4156 static PyObject *__pyx_tuple__60;
4157 static PyObject *__pyx_tuple__62;
4158 static PyObject *__pyx_tuple__64;
4159 static PyObject *__pyx_tuple__66;
4160 static PyObject *__pyx_tuple__68;
4161 static PyObject *__pyx_tuple__69;
4162 static PyObject *__pyx_tuple__71;
4163 static PyObject *__pyx_tuple__72;
4164 static PyObject *__pyx_tuple__74;
4165 static PyObject *__pyx_tuple__76;
4166 static PyObject *__pyx_codeobj__61;
4167 static PyObject *__pyx_codeobj__63;
4168 static PyObject *__pyx_codeobj__65;
4169 static PyObject *__pyx_codeobj__67;
4170 static PyObject *__pyx_codeobj__70;
4171 static PyObject *__pyx_codeobj__73;
4172 static PyObject *__pyx_codeobj__75;
4173 static PyObject *__pyx_codeobj__77;
4174 /* Late includes */
4175 
4176 /* "pywrapfst.pyx":145
4177  *
4178  *
4179  * cdef string tostring(data) except *: # <<<<<<<<<<<<<<
4180  * """Converts strings to bytestrings.
4181  *
4182  */
4183 
4184 static std::string __pyx_f_9pywrapfst_tostring(PyObject *__pyx_v_data) {
4185  std::string __pyx_r;
4186  __Pyx_RefNannyDeclarations
4187  int __pyx_t_1;
4188  int __pyx_t_2;
4189  std::string __pyx_t_3;
4190  PyObject *__pyx_t_4 = NULL;
4191  PyObject *__pyx_t_5 = NULL;
4192  PyObject *__pyx_t_6 = NULL;
4193  PyObject *__pyx_t_7 = NULL;
4194  PyObject *__pyx_t_8 = NULL;
4195  __Pyx_RefNannySetupContext("tostring", 0);
4196 
4197  /* "pywrapfst.pyx":165
4198  * """
4199  * # A Python bytestring can be implicitly cast to a C++ string.
4200  * if isinstance(data, bytes): # <<<<<<<<<<<<<<
4201  * return data
4202  * elif isinstance(data, unicode):
4203  */
4204  __pyx_t_1 = PyBytes_Check(__pyx_v_data);
4205  __pyx_t_2 = (__pyx_t_1 != 0);
4206  if (__pyx_t_2) {
4207 
4208  /* "pywrapfst.pyx":166
4209  * # A Python bytestring can be implicitly cast to a C++ string.
4210  * if isinstance(data, bytes):
4211  * return data # <<<<<<<<<<<<<<
4212  * elif isinstance(data, unicode):
4213  * return data.encode("utf8")
4214  */
4215  __pyx_t_3 = __pyx_convert_string_from_py_std__in_string(__pyx_v_data); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 166, __pyx_L1_error)
4216  __pyx_r = __pyx_t_3;
4217  goto __pyx_L0;
4218 
4219  /* "pywrapfst.pyx":165
4220  * """
4221  * # A Python bytestring can be implicitly cast to a C++ string.
4222  * if isinstance(data, bytes): # <<<<<<<<<<<<<<
4223  * return data
4224  * elif isinstance(data, unicode):
4225  */
4226  }
4227 
4228  /* "pywrapfst.pyx":167
4229  * if isinstance(data, bytes):
4230  * return data
4231  * elif isinstance(data, unicode): # <<<<<<<<<<<<<<
4232  * return data.encode("utf8")
4233  * raise FstArgError("Cannot encode as string: {!r}".format(data))
4234  */
4235  __pyx_t_2 = PyUnicode_Check(__pyx_v_data);
4236  __pyx_t_1 = (__pyx_t_2 != 0);
4237  if (__pyx_t_1) {
4238 
4239  /* "pywrapfst.pyx":168
4240  * return data
4241  * elif isinstance(data, unicode):
4242  * return data.encode("utf8") # <<<<<<<<<<<<<<
4243  * raise FstArgError("Cannot encode as string: {!r}".format(data))
4244  *
4245  */
4246  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 168, __pyx_L1_error)
4247  __Pyx_GOTREF(__pyx_t_5);
4248  __pyx_t_6 = NULL;
4249  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
4250  __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
4251  if (likely(__pyx_t_6)) {
4252  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4253  __Pyx_INCREF(__pyx_t_6);
4254  __Pyx_INCREF(function);
4255  __Pyx_DECREF_SET(__pyx_t_5, function);
4256  }
4257  }
4258  __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_n_u_utf8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_n_u_utf8);
4259  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
4260  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 168, __pyx_L1_error)
4261  __Pyx_GOTREF(__pyx_t_4);
4262  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4263  __pyx_t_3 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 168, __pyx_L1_error)
4264  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4265  __pyx_r = __pyx_t_3;
4266  goto __pyx_L0;
4267 
4268  /* "pywrapfst.pyx":167
4269  * if isinstance(data, bytes):
4270  * return data
4271  * elif isinstance(data, unicode): # <<<<<<<<<<<<<<
4272  * return data.encode("utf8")
4273  * raise FstArgError("Cannot encode as string: {!r}".format(data))
4274  */
4275  }
4276 
4277  /* "pywrapfst.pyx":169
4278  * elif isinstance(data, unicode):
4279  * return data.encode("utf8")
4280  * raise FstArgError("Cannot encode as string: {!r}".format(data)) # <<<<<<<<<<<<<<
4281  *
4282  *
4283  */
4284  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 169, __pyx_L1_error)
4285  __Pyx_GOTREF(__pyx_t_5);
4286  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Cannot_encode_as_string_r, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 169, __pyx_L1_error)
4287  __Pyx_GOTREF(__pyx_t_7);
4288  __pyx_t_8 = NULL;
4289  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
4290  __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
4291  if (likely(__pyx_t_8)) {
4292  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
4293  __Pyx_INCREF(__pyx_t_8);
4294  __Pyx_INCREF(function);
4295  __Pyx_DECREF_SET(__pyx_t_7, function);
4296  }
4297  }
4298  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_data);
4299  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
4300  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 169, __pyx_L1_error)
4301  __Pyx_GOTREF(__pyx_t_6);
4302  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4303  __pyx_t_7 = NULL;
4304  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
4305  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
4306  if (likely(__pyx_t_7)) {
4307  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4308  __Pyx_INCREF(__pyx_t_7);
4309  __Pyx_INCREF(function);
4310  __Pyx_DECREF_SET(__pyx_t_5, function);
4311  }
4312  }
4313  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
4314  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4315  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4316  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __pyx_L1_error)
4317  __Pyx_GOTREF(__pyx_t_4);
4318  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4319  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
4320  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4321  __PYX_ERR(0, 169, __pyx_L1_error)
4322 
4323  /* "pywrapfst.pyx":145
4324  *
4325  *
4326  * cdef string tostring(data) except *: # <<<<<<<<<<<<<<
4327  * """Converts strings to bytestrings.
4328  *
4329  */
4330 
4331  /* function exit code */
4332  __pyx_L1_error:;
4333  __Pyx_XDECREF(__pyx_t_4);
4334  __Pyx_XDECREF(__pyx_t_5);
4335  __Pyx_XDECREF(__pyx_t_6);
4336  __Pyx_XDECREF(__pyx_t_7);
4337  __Pyx_XDECREF(__pyx_t_8);
4338  __Pyx_AddTraceback("pywrapfst.tostring", __pyx_clineno, __pyx_lineno, __pyx_filename);
4339  __Pyx_pretend_to_initialize(&__pyx_r);
4340  __pyx_L0:;
4341  __Pyx_RefNannyFinishContext();
4342  return __pyx_r;
4343 }
4344 
4345 /* "pywrapfst.pyx":172
4346  *
4347  *
4348  * cdef string weight_tostring(data) except *: # <<<<<<<<<<<<<<
4349  * """Converts strings or numerics to bytestrings.
4350  *
4351  */
4352 
4353 static std::string __pyx_f_9pywrapfst_weight_tostring(PyObject *__pyx_v_data) {
4354  std::string __pyx_r;
4355  __Pyx_RefNannyDeclarations
4356  int __pyx_t_1;
4357  int __pyx_t_2;
4358  std::string __pyx_t_3;
4359  PyObject *__pyx_t_4 = NULL;
4360  PyObject *__pyx_t_5 = NULL;
4361  PyObject *__pyx_t_6 = NULL;
4362  PyObject *__pyx_t_7 = NULL;
4363  PyObject *__pyx_t_8 = NULL;
4364  __Pyx_RefNannySetupContext("weight_tostring", 0);
4365 
4366  /* "pywrapfst.pyx":196
4367  * """
4368  * # A Python bytestring can be implicitly cast to a C++ string.
4369  * if isinstance(data, bytes): # <<<<<<<<<<<<<<
4370  * return data
4371  * elif isinstance(data, unicode):
4372  */
4373  __pyx_t_1 = PyBytes_Check(__pyx_v_data);
4374  __pyx_t_2 = (__pyx_t_1 != 0);
4375  if (__pyx_t_2) {
4376 
4377  /* "pywrapfst.pyx":197
4378  * # A Python bytestring can be implicitly cast to a C++ string.
4379  * if isinstance(data, bytes):
4380  * return data # <<<<<<<<<<<<<<
4381  * elif isinstance(data, unicode):
4382  * return data.encode("utf8")
4383  */
4384  __pyx_t_3 = __pyx_convert_string_from_py_std__in_string(__pyx_v_data); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 197, __pyx_L1_error)
4385  __pyx_r = __pyx_t_3;
4386  goto __pyx_L0;
4387 
4388  /* "pywrapfst.pyx":196
4389  * """
4390  * # A Python bytestring can be implicitly cast to a C++ string.
4391  * if isinstance(data, bytes): # <<<<<<<<<<<<<<
4392  * return data
4393  * elif isinstance(data, unicode):
4394  */
4395  }
4396 
4397  /* "pywrapfst.pyx":198
4398  * if isinstance(data, bytes):
4399  * return data
4400  * elif isinstance(data, unicode): # <<<<<<<<<<<<<<
4401  * return data.encode("utf8")
4402  * elif isinstance(data, numbers.Number):
4403  */
4404  __pyx_t_2 = PyUnicode_Check(__pyx_v_data);
4405  __pyx_t_1 = (__pyx_t_2 != 0);
4406  if (__pyx_t_1) {
4407 
4408  /* "pywrapfst.pyx":199
4409  * return data
4410  * elif isinstance(data, unicode):
4411  * return data.encode("utf8") # <<<<<<<<<<<<<<
4412  * elif isinstance(data, numbers.Number):
4413  * return str(data).encode("utf8")
4414  */
4415  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 199, __pyx_L1_error)
4416  __Pyx_GOTREF(__pyx_t_5);
4417  __pyx_t_6 = NULL;
4418  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
4419  __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
4420  if (likely(__pyx_t_6)) {
4421  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4422  __Pyx_INCREF(__pyx_t_6);
4423  __Pyx_INCREF(function);
4424  __Pyx_DECREF_SET(__pyx_t_5, function);
4425  }
4426  }
4427  __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_n_u_utf8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_n_u_utf8);
4428  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
4429  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 199, __pyx_L1_error)
4430  __Pyx_GOTREF(__pyx_t_4);
4431  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4432  __pyx_t_3 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 199, __pyx_L1_error)
4433  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4434  __pyx_r = __pyx_t_3;
4435  goto __pyx_L0;
4436 
4437  /* "pywrapfst.pyx":198
4438  * if isinstance(data, bytes):
4439  * return data
4440  * elif isinstance(data, unicode): # <<<<<<<<<<<<<<
4441  * return data.encode("utf8")
4442  * elif isinstance(data, numbers.Number):
4443  */
4444  }
4445 
4446  /* "pywrapfst.pyx":200
4447  * elif isinstance(data, unicode):
4448  * return data.encode("utf8")
4449  * elif isinstance(data, numbers.Number): # <<<<<<<<<<<<<<
4450  * return str(data).encode("utf8")
4451  * raise FstArgError("Cannot encode as string: {!r}".format(data))
4452  */
4453  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_numbers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error)
4454  __Pyx_GOTREF(__pyx_t_4);
4455  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Number); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 200, __pyx_L1_error)
4456  __Pyx_GOTREF(__pyx_t_5);
4457  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4458  __pyx_t_1 = PyObject_IsInstance(__pyx_v_data, __pyx_t_5); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 200, __pyx_L1_error)
4459  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4460  __pyx_t_2 = (__pyx_t_1 != 0);
4461  if (__pyx_t_2) {
4462 
4463  /* "pywrapfst.pyx":201
4464  * return data.encode("utf8")
4465  * elif isinstance(data, numbers.Number):
4466  * return str(data).encode("utf8") # <<<<<<<<<<<<<<
4467  * raise FstArgError("Cannot encode as string: {!r}".format(data))
4468  *
4469  */
4470  __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 201, __pyx_L1_error)
4471  __Pyx_GOTREF(__pyx_t_5);
4472  __pyx_t_4 = PyUnicode_AsUTF8String(((PyObject*)__pyx_t_5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 201, __pyx_L1_error)
4473  __Pyx_GOTREF(__pyx_t_4);
4474  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4475  __pyx_t_3 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 201, __pyx_L1_error)
4476  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4477  __pyx_r = __pyx_t_3;
4478  goto __pyx_L0;
4479 
4480  /* "pywrapfst.pyx":200
4481  * elif isinstance(data, unicode):
4482  * return data.encode("utf8")
4483  * elif isinstance(data, numbers.Number): # <<<<<<<<<<<<<<
4484  * return str(data).encode("utf8")
4485  * raise FstArgError("Cannot encode as string: {!r}".format(data))
4486  */
4487  }
4488 
4489  /* "pywrapfst.pyx":202
4490  * elif isinstance(data, numbers.Number):
4491  * return str(data).encode("utf8")
4492  * raise FstArgError("Cannot encode as string: {!r}".format(data)) # <<<<<<<<<<<<<<
4493  *
4494  *
4495  */
4496  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error)
4497  __Pyx_GOTREF(__pyx_t_5);
4498  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Cannot_encode_as_string_r, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 202, __pyx_L1_error)
4499  __Pyx_GOTREF(__pyx_t_7);
4500  __pyx_t_8 = NULL;
4501  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
4502  __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
4503  if (likely(__pyx_t_8)) {
4504  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
4505  __Pyx_INCREF(__pyx_t_8);
4506  __Pyx_INCREF(function);
4507  __Pyx_DECREF_SET(__pyx_t_7, function);
4508  }
4509  }
4510  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_data);
4511  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
4512  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error)
4513  __Pyx_GOTREF(__pyx_t_6);
4514  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4515  __pyx_t_7 = NULL;
4516  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
4517  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
4518  if (likely(__pyx_t_7)) {
4519  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4520  __Pyx_INCREF(__pyx_t_7);
4521  __Pyx_INCREF(function);
4522  __Pyx_DECREF_SET(__pyx_t_5, function);
4523  }
4524  }
4525  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
4526  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4527  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4528  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 202, __pyx_L1_error)
4529  __Pyx_GOTREF(__pyx_t_4);
4530  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4531  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
4532  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4533  __PYX_ERR(0, 202, __pyx_L1_error)
4534 
4535  /* "pywrapfst.pyx":172
4536  *
4537  *
4538  * cdef string weight_tostring(data) except *: # <<<<<<<<<<<<<<
4539  * """Converts strings or numerics to bytestrings.
4540  *
4541  */
4542 
4543  /* function exit code */
4544  __pyx_L1_error:;
4545  __Pyx_XDECREF(__pyx_t_4);
4546  __Pyx_XDECREF(__pyx_t_5);
4547  __Pyx_XDECREF(__pyx_t_6);
4548  __Pyx_XDECREF(__pyx_t_7);
4549  __Pyx_XDECREF(__pyx_t_8);
4550  __Pyx_AddTraceback("pywrapfst.weight_tostring", __pyx_clineno, __pyx_lineno, __pyx_filename);
4551  __Pyx_pretend_to_initialize(&__pyx_r);
4552  __pyx_L0:;
4553  __Pyx_RefNannyFinishContext();
4554  return __pyx_r;
4555 }
4556 
4557 /* "pywrapfst.pyx":205
4558  *
4559  *
4560  * cdef fst.ComposeFilter _get_compose_filter( # <<<<<<<<<<<<<<
4561  * const string &compose_filter) except *:
4562  * """Matches string with the appropriate ComposeFilter enum value.
4563  */
4564 
4565 static enum fst::ComposeFilter __pyx_f_9pywrapfst__get_compose_filter(std::string const &__pyx_v_compose_filter) {
4566  enum fst::ComposeFilter __pyx_v_compose_filter_enum;
4567  enum fst::ComposeFilter __pyx_r;
4568  __Pyx_RefNannyDeclarations
4569  int __pyx_t_1;
4570  PyObject *__pyx_t_2 = NULL;
4571  PyObject *__pyx_t_3 = NULL;
4572  PyObject *__pyx_t_4 = NULL;
4573  PyObject *__pyx_t_5 = NULL;
4574  PyObject *__pyx_t_6 = NULL;
4575  PyObject *__pyx_t_7 = NULL;
4576  __Pyx_RefNannySetupContext("_get_compose_filter", 0);
4577 
4578  /* "pywrapfst.pyx":226
4579  * """
4580  * cdef fst.ComposeFilter compose_filter_enum
4581  * if not fst.GetComposeFilter(compose_filter, addr(compose_filter_enum)): # <<<<<<<<<<<<<<
4582  * raise FstArgError("Unknown compose filter type: {!r}".format(
4583  * compose_filter))
4584  */
4585  __pyx_t_1 = ((!(fst::script::GetComposeFilter(__pyx_v_compose_filter, (&__pyx_v_compose_filter_enum)) != 0)) != 0);
4586  if (unlikely(__pyx_t_1)) {
4587 
4588  /* "pywrapfst.pyx":227
4589  * cdef fst.ComposeFilter compose_filter_enum
4590  * if not fst.GetComposeFilter(compose_filter, addr(compose_filter_enum)):
4591  * raise FstArgError("Unknown compose filter type: {!r}".format( # <<<<<<<<<<<<<<
4592  * compose_filter))
4593  * return compose_filter_enum
4594  */
4595  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error)
4596  __Pyx_GOTREF(__pyx_t_3);
4597  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Unknown_compose_filter_type_r, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error)
4598  __Pyx_GOTREF(__pyx_t_5);
4599 
4600  /* "pywrapfst.pyx":228
4601  * if not fst.GetComposeFilter(compose_filter, addr(compose_filter_enum)):
4602  * raise FstArgError("Unknown compose filter type: {!r}".format(
4603  * compose_filter)) # <<<<<<<<<<<<<<
4604  * return compose_filter_enum
4605  *
4606  */
4607  __pyx_t_6 = __pyx_convert_PyUnicode_string_to_py_std__in_string(__pyx_v_compose_filter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 228, __pyx_L1_error)
4608  __Pyx_GOTREF(__pyx_t_6);
4609  __pyx_t_7 = NULL;
4610  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
4611  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
4612  if (likely(__pyx_t_7)) {
4613  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4614  __Pyx_INCREF(__pyx_t_7);
4615  __Pyx_INCREF(function);
4616  __Pyx_DECREF_SET(__pyx_t_5, function);
4617  }
4618  }
4619  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
4620  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4621  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4622  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 227, __pyx_L1_error)
4623  __Pyx_GOTREF(__pyx_t_4);
4624  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4625  __pyx_t_5 = NULL;
4626  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
4627  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
4628  if (likely(__pyx_t_5)) {
4629  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4630  __Pyx_INCREF(__pyx_t_5);
4631  __Pyx_INCREF(function);
4632  __Pyx_DECREF_SET(__pyx_t_3, function);
4633  }
4634  }
4635  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
4636  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
4637  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4638  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L1_error)
4639  __Pyx_GOTREF(__pyx_t_2);
4640  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4641  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
4642  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4643  __PYX_ERR(0, 227, __pyx_L1_error)
4644 
4645  /* "pywrapfst.pyx":226
4646  * """
4647  * cdef fst.ComposeFilter compose_filter_enum
4648  * if not fst.GetComposeFilter(compose_filter, addr(compose_filter_enum)): # <<<<<<<<<<<<<<
4649  * raise FstArgError("Unknown compose filter type: {!r}".format(
4650  * compose_filter))
4651  */
4652  }
4653 
4654  /* "pywrapfst.pyx":229
4655  * raise FstArgError("Unknown compose filter type: {!r}".format(
4656  * compose_filter))
4657  * return compose_filter_enum # <<<<<<<<<<<<<<
4658  *
4659  *
4660  */
4661  __pyx_r = __pyx_v_compose_filter_enum;
4662  goto __pyx_L0;
4663 
4664  /* "pywrapfst.pyx":205
4665  *
4666  *
4667  * cdef fst.ComposeFilter _get_compose_filter( # <<<<<<<<<<<<<<
4668  * const string &compose_filter) except *:
4669  * """Matches string with the appropriate ComposeFilter enum value.
4670  */
4671 
4672  /* function exit code */
4673  __pyx_L1_error:;
4674  __Pyx_XDECREF(__pyx_t_2);
4675  __Pyx_XDECREF(__pyx_t_3);
4676  __Pyx_XDECREF(__pyx_t_4);
4677  __Pyx_XDECREF(__pyx_t_5);
4678  __Pyx_XDECREF(__pyx_t_6);
4679  __Pyx_XDECREF(__pyx_t_7);
4680  __Pyx_AddTraceback("pywrapfst._get_compose_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
4681  __pyx_r = (enum fst::ComposeFilter) 0;
4682  __pyx_L0:;
4683  __Pyx_RefNannyFinishContext();
4684  return __pyx_r;
4685 }
4686 
4687 /* "pywrapfst.pyx":232
4688  *
4689  *
4690  * cdef fst.DeterminizeType _get_determinize_type(const string &det_type) except *: # <<<<<<<<<<<<<<
4691  * """Matches string with the appropriate DeterminizeType enum value.
4692  *
4693  */
4694 
4695 static enum fst::DeterminizeType __pyx_f_9pywrapfst__get_determinize_type(std::string const &__pyx_v_det_type) {
4696  enum fst::DeterminizeType __pyx_v_det_type_enum;
4697  enum fst::DeterminizeType __pyx_r;
4698  __Pyx_RefNannyDeclarations
4699  int __pyx_t_1;
4700  PyObject *__pyx_t_2 = NULL;
4701  PyObject *__pyx_t_3 = NULL;
4702  PyObject *__pyx_t_4 = NULL;
4703  PyObject *__pyx_t_5 = NULL;
4704  PyObject *__pyx_t_6 = NULL;
4705  PyObject *__pyx_t_7 = NULL;
4706  __Pyx_RefNannySetupContext("_get_determinize_type", 0);
4707 
4708  /* "pywrapfst.pyx":248
4709  * """
4710  * cdef fst.DeterminizeType det_type_enum
4711  * if not fst.GetDeterminizeType(det_type, addr(det_type_enum)): # <<<<<<<<<<<<<<
4712  * raise FstArgError("Unknown determinization type: {!r}".format(det_type))
4713  * return det_type_enum
4714  */
4715  __pyx_t_1 = ((!(fst::script::GetDeterminizeType(__pyx_v_det_type, (&__pyx_v_det_type_enum)) != 0)) != 0);
4716  if (unlikely(__pyx_t_1)) {
4717 
4718  /* "pywrapfst.pyx":249
4719  * cdef fst.DeterminizeType det_type_enum
4720  * if not fst.GetDeterminizeType(det_type, addr(det_type_enum)):
4721  * raise FstArgError("Unknown determinization type: {!r}".format(det_type)) # <<<<<<<<<<<<<<
4722  * return det_type_enum
4723  *
4724  */
4725  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error)
4726  __Pyx_GOTREF(__pyx_t_3);
4727  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Unknown_determinization_type_r, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 249, __pyx_L1_error)
4728  __Pyx_GOTREF(__pyx_t_5);
4729  __pyx_t_6 = __pyx_convert_PyUnicode_string_to_py_std__in_string(__pyx_v_det_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L1_error)
4730  __Pyx_GOTREF(__pyx_t_6);
4731  __pyx_t_7 = NULL;
4732  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
4733  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
4734  if (likely(__pyx_t_7)) {
4735  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4736  __Pyx_INCREF(__pyx_t_7);
4737  __Pyx_INCREF(function);
4738  __Pyx_DECREF_SET(__pyx_t_5, function);
4739  }
4740  }
4741  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
4742  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4743  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4744  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error)
4745  __Pyx_GOTREF(__pyx_t_4);
4746  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4747  __pyx_t_5 = NULL;
4748  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
4749  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
4750  if (likely(__pyx_t_5)) {
4751  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4752  __Pyx_INCREF(__pyx_t_5);
4753  __Pyx_INCREF(function);
4754  __Pyx_DECREF_SET(__pyx_t_3, function);
4755  }
4756  }
4757  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
4758  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
4759  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4760  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 249, __pyx_L1_error)
4761  __Pyx_GOTREF(__pyx_t_2);
4762  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4763  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
4764  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4765  __PYX_ERR(0, 249, __pyx_L1_error)
4766 
4767  /* "pywrapfst.pyx":248
4768  * """
4769  * cdef fst.DeterminizeType det_type_enum
4770  * if not fst.GetDeterminizeType(det_type, addr(det_type_enum)): # <<<<<<<<<<<<<<
4771  * raise FstArgError("Unknown determinization type: {!r}".format(det_type))
4772  * return det_type_enum
4773  */
4774  }
4775 
4776  /* "pywrapfst.pyx":250
4777  * if not fst.GetDeterminizeType(det_type, addr(det_type_enum)):
4778  * raise FstArgError("Unknown determinization type: {!r}".format(det_type))
4779  * return det_type_enum # <<<<<<<<<<<<<<
4780  *
4781  *
4782  */
4783  __pyx_r = __pyx_v_det_type_enum;
4784  goto __pyx_L0;
4785 
4786  /* "pywrapfst.pyx":232
4787  *
4788  *
4789  * cdef fst.DeterminizeType _get_determinize_type(const string &det_type) except *: # <<<<<<<<<<<<<<
4790  * """Matches string with the appropriate DeterminizeType enum value.
4791  *
4792  */
4793 
4794  /* function exit code */
4795  __pyx_L1_error:;
4796  __Pyx_XDECREF(__pyx_t_2);
4797  __Pyx_XDECREF(__pyx_t_3);
4798  __Pyx_XDECREF(__pyx_t_4);
4799  __Pyx_XDECREF(__pyx_t_5);
4800  __Pyx_XDECREF(__pyx_t_6);
4801  __Pyx_XDECREF(__pyx_t_7);
4802  __Pyx_AddTraceback("pywrapfst._get_determinize_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
4803  __pyx_r = (enum fst::DeterminizeType) 0;
4804  __pyx_L0:;
4805  __Pyx_RefNannyFinishContext();
4806  return __pyx_r;
4807 }
4808 
4809 /* "pywrapfst.pyx":253
4810  *
4811  *
4812  * cdef fst.QueueType _get_queue_type(const string &queue_type) except *: # <<<<<<<<<<<<<<
4813  * """Matches string with the appropriate QueueType enum value.
4814  *
4815  */
4816 
4817 static enum fst::QueueType __pyx_f_9pywrapfst__get_queue_type(std::string const &__pyx_v_queue_type) {
4818  enum fst::QueueType __pyx_v_queue_type_enum;
4819  enum fst::QueueType __pyx_r;
4820  __Pyx_RefNannyDeclarations
4821  int __pyx_t_1;
4822  PyObject *__pyx_t_2 = NULL;
4823  PyObject *__pyx_t_3 = NULL;
4824  PyObject *__pyx_t_4 = NULL;
4825  PyObject *__pyx_t_5 = NULL;
4826  PyObject *__pyx_t_6 = NULL;
4827  PyObject *__pyx_t_7 = NULL;
4828  __Pyx_RefNannySetupContext("_get_queue_type", 0);
4829 
4830  /* "pywrapfst.pyx":272
4831  * """
4832  * cdef fst.QueueType queue_type_enum
4833  * if not fst.GetQueueType(queue_type, addr(queue_type_enum)): # <<<<<<<<<<<<<<
4834  * raise FstArgError("Unknown queue type: {!r}".format(queue_type))
4835  * return queue_type_enum
4836  */
4837  __pyx_t_1 = ((!(fst::script::GetQueueType(__pyx_v_queue_type, (&__pyx_v_queue_type_enum)) != 0)) != 0);
4838  if (unlikely(__pyx_t_1)) {
4839 
4840  /* "pywrapfst.pyx":273
4841  * cdef fst.QueueType queue_type_enum
4842  * if not fst.GetQueueType(queue_type, addr(queue_type_enum)):
4843  * raise FstArgError("Unknown queue type: {!r}".format(queue_type)) # <<<<<<<<<<<<<<
4844  * return queue_type_enum
4845  *
4846  */
4847  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 273, __pyx_L1_error)
4848  __Pyx_GOTREF(__pyx_t_3);
4849  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Unknown_queue_type_r, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
4850  __Pyx_GOTREF(__pyx_t_5);
4851  __pyx_t_6 = __pyx_convert_PyUnicode_string_to_py_std__in_string(__pyx_v_queue_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 273, __pyx_L1_error)
4852  __Pyx_GOTREF(__pyx_t_6);
4853  __pyx_t_7 = NULL;
4854  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
4855  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
4856  if (likely(__pyx_t_7)) {
4857  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4858  __Pyx_INCREF(__pyx_t_7);
4859  __Pyx_INCREF(function);
4860  __Pyx_DECREF_SET(__pyx_t_5, function);
4861  }
4862  }
4863  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
4864  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4865  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4866  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error)
4867  __Pyx_GOTREF(__pyx_t_4);
4868  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4869  __pyx_t_5 = NULL;
4870  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
4871  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
4872  if (likely(__pyx_t_5)) {
4873  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4874  __Pyx_INCREF(__pyx_t_5);
4875  __Pyx_INCREF(function);
4876  __Pyx_DECREF_SET(__pyx_t_3, function);
4877  }
4878  }
4879  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
4880  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
4881  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4882  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error)
4883  __Pyx_GOTREF(__pyx_t_2);
4884  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4885  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
4886  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4887  __PYX_ERR(0, 273, __pyx_L1_error)
4888 
4889  /* "pywrapfst.pyx":272
4890  * """
4891  * cdef fst.QueueType queue_type_enum
4892  * if not fst.GetQueueType(queue_type, addr(queue_type_enum)): # <<<<<<<<<<<<<<
4893  * raise FstArgError("Unknown queue type: {!r}".format(queue_type))
4894  * return queue_type_enum
4895  */
4896  }
4897 
4898  /* "pywrapfst.pyx":274
4899  * if not fst.GetQueueType(queue_type, addr(queue_type_enum)):
4900  * raise FstArgError("Unknown queue type: {!r}".format(queue_type))
4901  * return queue_type_enum # <<<<<<<<<<<<<<
4902  *
4903  *
4904  */
4905  __pyx_r = __pyx_v_queue_type_enum;
4906  goto __pyx_L0;
4907 
4908  /* "pywrapfst.pyx":253
4909  *
4910  *
4911  * cdef fst.QueueType _get_queue_type(const string &queue_type) except *: # <<<<<<<<<<<<<<
4912  * """Matches string with the appropriate QueueType enum value.
4913  *
4914  */
4915 
4916  /* function exit code */
4917  __pyx_L1_error:;
4918  __Pyx_XDECREF(__pyx_t_2);
4919  __Pyx_XDECREF(__pyx_t_3);
4920  __Pyx_XDECREF(__pyx_t_4);
4921  __Pyx_XDECREF(__pyx_t_5);
4922  __Pyx_XDECREF(__pyx_t_6);
4923  __Pyx_XDECREF(__pyx_t_7);
4924  __Pyx_AddTraceback("pywrapfst._get_queue_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
4925  __pyx_r = (enum fst::QueueType) 0;
4926  __pyx_L0:;
4927  __Pyx_RefNannyFinishContext();
4928  return __pyx_r;
4929 }
4930 
4931 /* "pywrapfst.pyx":277
4932  *
4933  *
4934  * cdef fst.RandArcSelection _get_rand_arc_selection( # <<<<<<<<<<<<<<
4935  * const string &select) except *:
4936  * """Matches string with the appropriate RandArcSelection enum value.
4937  */
4938 
4939 static enum fst::script::RandArcSelection __pyx_f_9pywrapfst__get_rand_arc_selection(std::string const &__pyx_v_select) {
4940  enum fst::script::RandArcSelection __pyx_v_select_enum;
4941  enum fst::script::RandArcSelection __pyx_r;
4942  __Pyx_RefNannyDeclarations
4943  int __pyx_t_1;
4944  PyObject *__pyx_t_2 = NULL;
4945  PyObject *__pyx_t_3 = NULL;
4946  PyObject *__pyx_t_4 = NULL;
4947  PyObject *__pyx_t_5 = NULL;
4948  PyObject *__pyx_t_6 = NULL;
4949  PyObject *__pyx_t_7 = NULL;
4950  __Pyx_RefNannySetupContext("_get_rand_arc_selection", 0);
4951 
4952  /* "pywrapfst.pyx":297
4953  * """
4954  * cdef fst.RandArcSelection select_enum
4955  * if not fst.GetRandArcSelection(select, addr(select_enum)): # <<<<<<<<<<<<<<
4956  * raise FstArgError("Unknown random arc selection type: {!r}".format(select))
4957  * return select_enum
4958  */
4959  __pyx_t_1 = ((!(fst::script::GetRandArcSelection(__pyx_v_select, (&__pyx_v_select_enum)) != 0)) != 0);
4960  if (unlikely(__pyx_t_1)) {
4961 
4962  /* "pywrapfst.pyx":298
4963  * cdef fst.RandArcSelection select_enum
4964  * if not fst.GetRandArcSelection(select, addr(select_enum)):
4965  * raise FstArgError("Unknown random arc selection type: {!r}".format(select)) # <<<<<<<<<<<<<<
4966  * return select_enum
4967  *
4968  */
4969  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error)
4970  __Pyx_GOTREF(__pyx_t_3);
4971  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Unknown_random_arc_selection_typ, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L1_error)
4972  __Pyx_GOTREF(__pyx_t_5);
4973  __pyx_t_6 = __pyx_convert_PyUnicode_string_to_py_std__in_string(__pyx_v_select); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 298, __pyx_L1_error)
4974  __Pyx_GOTREF(__pyx_t_6);
4975  __pyx_t_7 = NULL;
4976  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
4977  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
4978  if (likely(__pyx_t_7)) {
4979  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
4980  __Pyx_INCREF(__pyx_t_7);
4981  __Pyx_INCREF(function);
4982  __Pyx_DECREF_SET(__pyx_t_5, function);
4983  }
4984  }
4985  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
4986  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4987  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4988  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
4989  __Pyx_GOTREF(__pyx_t_4);
4990  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4991  __pyx_t_5 = NULL;
4992  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
4993  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
4994  if (likely(__pyx_t_5)) {
4995  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4996  __Pyx_INCREF(__pyx_t_5);
4997  __Pyx_INCREF(function);
4998  __Pyx_DECREF_SET(__pyx_t_3, function);
4999  }
5000  }
5001  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
5002  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
5003  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5004  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error)
5005  __Pyx_GOTREF(__pyx_t_2);
5006  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5007  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
5008  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5009  __PYX_ERR(0, 298, __pyx_L1_error)
5010 
5011  /* "pywrapfst.pyx":297
5012  * """
5013  * cdef fst.RandArcSelection select_enum
5014  * if not fst.GetRandArcSelection(select, addr(select_enum)): # <<<<<<<<<<<<<<
5015  * raise FstArgError("Unknown random arc selection type: {!r}".format(select))
5016  * return select_enum
5017  */
5018  }
5019 
5020  /* "pywrapfst.pyx":299
5021  * if not fst.GetRandArcSelection(select, addr(select_enum)):
5022  * raise FstArgError("Unknown random arc selection type: {!r}".format(select))
5023  * return select_enum # <<<<<<<<<<<<<<
5024  *
5025  *
5026  */
5027  __pyx_r = __pyx_v_select_enum;
5028  goto __pyx_L0;
5029 
5030  /* "pywrapfst.pyx":277
5031  *
5032  *
5033  * cdef fst.RandArcSelection _get_rand_arc_selection( # <<<<<<<<<<<<<<
5034  * const string &select) except *:
5035  * """Matches string with the appropriate RandArcSelection enum value.
5036  */
5037 
5038  /* function exit code */
5039  __pyx_L1_error:;
5040  __Pyx_XDECREF(__pyx_t_2);
5041  __Pyx_XDECREF(__pyx_t_3);
5042  __Pyx_XDECREF(__pyx_t_4);
5043  __Pyx_XDECREF(__pyx_t_5);
5044  __Pyx_XDECREF(__pyx_t_6);
5045  __Pyx_XDECREF(__pyx_t_7);
5046  __Pyx_AddTraceback("pywrapfst._get_rand_arc_selection", __pyx_clineno, __pyx_lineno, __pyx_filename);
5047  __pyx_r = (enum fst::script::RandArcSelection) 0;
5048  __pyx_L0:;
5049  __Pyx_RefNannyFinishContext();
5050  return __pyx_r;
5051 }
5052 
5053 /* "pywrapfst.pyx":302
5054  *
5055  *
5056  * cdef fst.ReplaceLabelType _get_replace_label_type( # <<<<<<<<<<<<<<
5057  * const string &replace_label_type, bool epsilon_on_replace) except *:
5058  * """Matches string with the appropriate ReplaceLabelType enum value.
5059  */
5060 
5061 static enum fst::ReplaceLabelType __pyx_f_9pywrapfst__get_replace_label_type(std::string const &__pyx_v_replace_label_type, bool __pyx_v_epsilon_on_replace) {
5062  enum fst::ReplaceLabelType __pyx_v_replace_label_type_enum;
5063  enum fst::ReplaceLabelType __pyx_r;
5064  __Pyx_RefNannyDeclarations
5065  int __pyx_t_1;
5066  PyObject *__pyx_t_2 = NULL;
5067  PyObject *__pyx_t_3 = NULL;
5068  PyObject *__pyx_t_4 = NULL;
5069  PyObject *__pyx_t_5 = NULL;
5070  PyObject *__pyx_t_6 = NULL;
5071  PyObject *__pyx_t_7 = NULL;
5072  __Pyx_RefNannySetupContext("_get_replace_label_type", 0);
5073 
5074  /* "pywrapfst.pyx":323
5075  * """
5076  * cdef fst.ReplaceLabelType replace_label_type_enum
5077  * if not fst.GetReplaceLabelType(replace_label_type, epsilon_on_replace, # <<<<<<<<<<<<<<
5078  * addr(replace_label_type_enum)):
5079  * raise FstArgError("Unknown replace label type: {!r}".format(
5080  */
5081  __pyx_t_1 = ((!(fst::script::GetReplaceLabelType(__pyx_v_replace_label_type, __pyx_v_epsilon_on_replace, (&__pyx_v_replace_label_type_enum)) != 0)) != 0);
5082  if (unlikely(__pyx_t_1)) {
5083 
5084  /* "pywrapfst.pyx":325
5085  * if not fst.GetReplaceLabelType(replace_label_type, epsilon_on_replace,
5086  * addr(replace_label_type_enum)):
5087  * raise FstArgError("Unknown replace label type: {!r}".format( # <<<<<<<<<<<<<<
5088  * replace_label_type))
5089  * return replace_label_type_enum
5090  */
5091  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L1_error)
5092  __Pyx_GOTREF(__pyx_t_3);
5093  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Unknown_replace_label_type_r, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 325, __pyx_L1_error)
5094  __Pyx_GOTREF(__pyx_t_5);
5095 
5096  /* "pywrapfst.pyx":326
5097  * addr(replace_label_type_enum)):
5098  * raise FstArgError("Unknown replace label type: {!r}".format(
5099  * replace_label_type)) # <<<<<<<<<<<<<<
5100  * return replace_label_type_enum
5101  *
5102  */
5103  __pyx_t_6 = __pyx_convert_PyUnicode_string_to_py_std__in_string(__pyx_v_replace_label_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 326, __pyx_L1_error)
5104  __Pyx_GOTREF(__pyx_t_6);
5105  __pyx_t_7 = NULL;
5106  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
5107  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
5108  if (likely(__pyx_t_7)) {
5109  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
5110  __Pyx_INCREF(__pyx_t_7);
5111  __Pyx_INCREF(function);
5112  __Pyx_DECREF_SET(__pyx_t_5, function);
5113  }
5114  }
5115  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
5116  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
5117  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5118  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 325, __pyx_L1_error)
5119  __Pyx_GOTREF(__pyx_t_4);
5120  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5121  __pyx_t_5 = NULL;
5122  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
5123  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
5124  if (likely(__pyx_t_5)) {
5125  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
5126  __Pyx_INCREF(__pyx_t_5);
5127  __Pyx_INCREF(function);
5128  __Pyx_DECREF_SET(__pyx_t_3, function);
5129  }
5130  }
5131  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
5132  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
5133  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5134  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L1_error)
5135  __Pyx_GOTREF(__pyx_t_2);
5136  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5137  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
5138  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5139  __PYX_ERR(0, 325, __pyx_L1_error)
5140 
5141  /* "pywrapfst.pyx":323
5142  * """
5143  * cdef fst.ReplaceLabelType replace_label_type_enum
5144  * if not fst.GetReplaceLabelType(replace_label_type, epsilon_on_replace, # <<<<<<<<<<<<<<
5145  * addr(replace_label_type_enum)):
5146  * raise FstArgError("Unknown replace label type: {!r}".format(
5147  */
5148  }
5149 
5150  /* "pywrapfst.pyx":327
5151  * raise FstArgError("Unknown replace label type: {!r}".format(
5152  * replace_label_type))
5153  * return replace_label_type_enum # <<<<<<<<<<<<<<
5154  *
5155  *
5156  */
5157  __pyx_r = __pyx_v_replace_label_type_enum;
5158  goto __pyx_L0;
5159 
5160  /* "pywrapfst.pyx":302
5161  *
5162  *
5163  * cdef fst.ReplaceLabelType _get_replace_label_type( # <<<<<<<<<<<<<<
5164  * const string &replace_label_type, bool epsilon_on_replace) except *:
5165  * """Matches string with the appropriate ReplaceLabelType enum value.
5166  */
5167 
5168  /* function exit code */
5169  __pyx_L1_error:;
5170  __Pyx_XDECREF(__pyx_t_2);
5171  __Pyx_XDECREF(__pyx_t_3);
5172  __Pyx_XDECREF(__pyx_t_4);
5173  __Pyx_XDECREF(__pyx_t_5);
5174  __Pyx_XDECREF(__pyx_t_6);
5175  __Pyx_XDECREF(__pyx_t_7);
5176  __Pyx_AddTraceback("pywrapfst._get_replace_label_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
5177  __pyx_r = (enum fst::ReplaceLabelType) 0;
5178  __pyx_L0:;
5179  __Pyx_RefNannyFinishContext();
5180  return __pyx_r;
5181 }
5182 
5183 /* "pywrapfst.pyx":353
5184  * """
5185  *
5186  * def __repr__(self): # <<<<<<<<<<<<<<
5187  * return "<{} Weight {} at 0x{:x}>".format(self.type(), self.to_string(),
5188  * id(self))
5189  */
5190 
5191 /* Python wrapper */
5192 static PyObject *__pyx_pw_9pywrapfst_6Weight_1__repr__(PyObject *__pyx_v_self); /*proto*/
5193 static PyObject *__pyx_pw_9pywrapfst_6Weight_1__repr__(PyObject *__pyx_v_self) {
5194  PyObject *__pyx_r = 0;
5195  __Pyx_RefNannyDeclarations
5196  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
5197  __pyx_r = __pyx_pf_9pywrapfst_6Weight___repr__(((struct __pyx_obj_9pywrapfst_Weight *)__pyx_v_self));
5198 
5199  /* function exit code */
5200  __Pyx_RefNannyFinishContext();
5201  return __pyx_r;
5202 }
5203 
5204 static PyObject *__pyx_pf_9pywrapfst_6Weight___repr__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self) {
5205  PyObject *__pyx_r = NULL;
5206  __Pyx_RefNannyDeclarations
5207  PyObject *__pyx_t_1 = NULL;
5208  PyObject *__pyx_t_2 = NULL;
5209  PyObject *__pyx_t_3 = NULL;
5210  PyObject *__pyx_t_4 = NULL;
5211  PyObject *__pyx_t_5 = NULL;
5212  PyObject *__pyx_t_6 = NULL;
5213  int __pyx_t_7;
5214  PyObject *__pyx_t_8 = NULL;
5215  __Pyx_RefNannySetupContext("__repr__", 0);
5216 
5217  /* "pywrapfst.pyx":354
5218  *
5219  * def __repr__(self):
5220  * return "<{} Weight {} at 0x{:x}>".format(self.type(), self.to_string(), # <<<<<<<<<<<<<<
5221  * id(self))
5222  *
5223  */
5224  __Pyx_XDECREF(__pyx_r);
5225  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Weight_at_0x_x, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error)
5226  __Pyx_GOTREF(__pyx_t_2);
5227  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5228  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "type");
5229  __PYX_ERR(0, 354, __pyx_L1_error)
5230  }
5231  __pyx_t_3 = __pyx_convert_PyUnicode_string_to_py_std__in_string(((struct __pyx_vtabstruct_9pywrapfst_Weight *)__pyx_v_self->__pyx_vtab)->type(__pyx_v_self, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
5232  __Pyx_GOTREF(__pyx_t_3);
5233  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5234  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "to_string");
5235  __PYX_ERR(0, 354, __pyx_L1_error)
5236  }
5237  __pyx_t_4 = __pyx_convert_PyUnicode_string_to_py_std__in_string(((struct __pyx_vtabstruct_9pywrapfst_Weight *)__pyx_v_self->__pyx_vtab)->to_string(__pyx_v_self, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 354, __pyx_L1_error)
5238  __Pyx_GOTREF(__pyx_t_4);
5239 
5240  /* "pywrapfst.pyx":355
5241  * def __repr__(self):
5242  * return "<{} Weight {} at 0x{:x}>".format(self.type(), self.to_string(),
5243  * id(self)) # <<<<<<<<<<<<<<
5244  *
5245  * def __str__(self):
5246  */
5247  __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 355, __pyx_L1_error)
5248  __Pyx_GOTREF(__pyx_t_5);
5249  __pyx_t_6 = NULL;
5250  __pyx_t_7 = 0;
5251  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
5252  __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
5253  if (likely(__pyx_t_6)) {
5254  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
5255  __Pyx_INCREF(__pyx_t_6);
5256  __Pyx_INCREF(function);
5257  __Pyx_DECREF_SET(__pyx_t_2, function);
5258  __pyx_t_7 = 1;
5259  }
5260  }
5261  #if CYTHON_FAST_PYCALL
5262  if (PyFunction_Check(__pyx_t_2)) {
5263  PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_t_4, __pyx_t_5};
5264  __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
5265  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
5266  __Pyx_GOTREF(__pyx_t_1);
5267  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5268  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5269  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5270  } else
5271  #endif
5272  #if CYTHON_FAST_PYCCALL
5273  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
5274  PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_t_4, __pyx_t_5};
5275  __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
5276  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
5277  __Pyx_GOTREF(__pyx_t_1);
5278  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5279  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5280  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5281  } else
5282  #endif
5283  {
5284  __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 354, __pyx_L1_error)
5285  __Pyx_GOTREF(__pyx_t_8);
5286  if (__pyx_t_6) {
5287  __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
5288  }
5289  __Pyx_GIVEREF(__pyx_t_3);
5290  PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
5291  __Pyx_GIVEREF(__pyx_t_4);
5292  PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
5293  __Pyx_GIVEREF(__pyx_t_5);
5294  PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_t_5);
5295  __pyx_t_3 = 0;
5296  __pyx_t_4 = 0;
5297  __pyx_t_5 = 0;
5298  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
5299  __Pyx_GOTREF(__pyx_t_1);
5300  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
5301  }
5302  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5303  __pyx_r = __pyx_t_1;
5304  __pyx_t_1 = 0;
5305  goto __pyx_L0;
5306 
5307  /* "pywrapfst.pyx":353
5308  * """
5309  *
5310  * def __repr__(self): # <<<<<<<<<<<<<<
5311  * return "<{} Weight {} at 0x{:x}>".format(self.type(), self.to_string(),
5312  * id(self))
5313  */
5314 
5315  /* function exit code */
5316  __pyx_L1_error:;
5317  __Pyx_XDECREF(__pyx_t_1);
5318  __Pyx_XDECREF(__pyx_t_2);
5319  __Pyx_XDECREF(__pyx_t_3);
5320  __Pyx_XDECREF(__pyx_t_4);
5321  __Pyx_XDECREF(__pyx_t_5);
5322  __Pyx_XDECREF(__pyx_t_6);
5323  __Pyx_XDECREF(__pyx_t_8);
5324  __Pyx_AddTraceback("pywrapfst.Weight.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5325  __pyx_r = NULL;
5326  __pyx_L0:;
5327  __Pyx_XGIVEREF(__pyx_r);
5328  __Pyx_RefNannyFinishContext();
5329  return __pyx_r;
5330 }
5331 
5332 /* "pywrapfst.pyx":357
5333  * id(self))
5334  *
5335  * def __str__(self): # <<<<<<<<<<<<<<
5336  * return self.to_string()
5337  *
5338  */
5339 
5340 /* Python wrapper */
5341 static PyObject *__pyx_pw_9pywrapfst_6Weight_3__str__(PyObject *__pyx_v_self); /*proto*/
5342 static PyObject *__pyx_pw_9pywrapfst_6Weight_3__str__(PyObject *__pyx_v_self) {
5343  PyObject *__pyx_r = 0;
5344  __Pyx_RefNannyDeclarations
5345  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
5346  __pyx_r = __pyx_pf_9pywrapfst_6Weight_2__str__(((struct __pyx_obj_9pywrapfst_Weight *)__pyx_v_self));
5347 
5348  /* function exit code */
5349  __Pyx_RefNannyFinishContext();
5350  return __pyx_r;
5351 }
5352 
5353 static PyObject *__pyx_pf_9pywrapfst_6Weight_2__str__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self) {
5354  PyObject *__pyx_r = NULL;
5355  __Pyx_RefNannyDeclarations
5356  PyObject *__pyx_t_1 = NULL;
5357  __Pyx_RefNannySetupContext("__str__", 0);
5358 
5359  /* "pywrapfst.pyx":358
5360  *
5361  * def __str__(self):
5362  * return self.to_string() # <<<<<<<<<<<<<<
5363  *
5364  * # This attempts to convert the string form into a float, raising
5365  */
5366  __Pyx_XDECREF(__pyx_r);
5367  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5368  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "to_string");
5369  __PYX_ERR(0, 358, __pyx_L1_error)
5370  }
5371  __pyx_t_1 = __pyx_convert_PyUnicode_string_to_py_std__in_string(((struct __pyx_vtabstruct_9pywrapfst_Weight *)__pyx_v_self->__pyx_vtab)->to_string(__pyx_v_self, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
5372  __Pyx_GOTREF(__pyx_t_1);
5373  __pyx_r = __pyx_t_1;
5374  __pyx_t_1 = 0;
5375  goto __pyx_L0;
5376 
5377  /* "pywrapfst.pyx":357
5378  * id(self))
5379  *
5380  * def __str__(self): # <<<<<<<<<<<<<<
5381  * return self.to_string()
5382  *
5383  */
5384 
5385  /* function exit code */
5386  __pyx_L1_error:;
5387  __Pyx_XDECREF(__pyx_t_1);
5388  __Pyx_AddTraceback("pywrapfst.Weight.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5389  __pyx_r = NULL;
5390  __pyx_L0:;
5391  __Pyx_XGIVEREF(__pyx_r);
5392  __Pyx_RefNannyFinishContext();
5393  return __pyx_r;
5394 }
5395 
5396 /* "pywrapfst.pyx":363
5397  * # ValueError when that is not appropriate.
5398  *
5399  * def __float__(self): # <<<<<<<<<<<<<<
5400  * return float(self.to_string())
5401  *
5402  */
5403 
5404 /* Python wrapper */
5405 static PyObject *__pyx_pw_9pywrapfst_6Weight_5__float__(PyObject *__pyx_v_self); /*proto*/
5406 static PyObject *__pyx_pw_9pywrapfst_6Weight_5__float__(PyObject *__pyx_v_self) {
5407  PyObject *__pyx_r = 0;
5408  __Pyx_RefNannyDeclarations
5409  __Pyx_RefNannySetupContext("__float__ (wrapper)", 0);
5410  __pyx_r = __pyx_pf_9pywrapfst_6Weight_4__float__(((struct __pyx_obj_9pywrapfst_Weight *)__pyx_v_self));
5411 
5412  /* function exit code */
5413  __Pyx_RefNannyFinishContext();
5414  return __pyx_r;
5415 }
5416 
5417 static PyObject *__pyx_pf_9pywrapfst_6Weight_4__float__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self) {
5418  PyObject *__pyx_r = NULL;
5419  __Pyx_RefNannyDeclarations
5420  PyObject *__pyx_t_1 = NULL;
5421  PyObject *__pyx_t_2 = NULL;
5422  __Pyx_RefNannySetupContext("__float__", 0);
5423 
5424  /* "pywrapfst.pyx":364
5425  *
5426  * def __float__(self):
5427  * return float(self.to_string()) # <<<<<<<<<<<<<<
5428  *
5429  * def __init__(self, weight_type, weight):
5430  */
5431  __Pyx_XDECREF(__pyx_r);
5432  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5433  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "to_string");
5434  __PYX_ERR(0, 364, __pyx_L1_error)
5435  }
5436  __pyx_t_1 = __pyx_convert_PyUnicode_string_to_py_std__in_string(((struct __pyx_vtabstruct_9pywrapfst_Weight *)__pyx_v_self->__pyx_vtab)->to_string(__pyx_v_self, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
5437  __Pyx_GOTREF(__pyx_t_1);
5438  __pyx_t_2 = __Pyx_PyNumber_Float(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error)
5439  __Pyx_GOTREF(__pyx_t_2);
5440  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5441  __pyx_r = __pyx_t_2;
5442  __pyx_t_2 = 0;
5443  goto __pyx_L0;
5444 
5445  /* "pywrapfst.pyx":363
5446  * # ValueError when that is not appropriate.
5447  *
5448  * def __float__(self): # <<<<<<<<<<<<<<
5449  * return float(self.to_string())
5450  *
5451  */
5452 
5453  /* function exit code */
5454  __pyx_L1_error:;
5455  __Pyx_XDECREF(__pyx_t_1);
5456  __Pyx_XDECREF(__pyx_t_2);
5457  __Pyx_AddTraceback("pywrapfst.Weight.__float__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5458  __pyx_r = NULL;
5459  __pyx_L0:;
5460  __Pyx_XGIVEREF(__pyx_r);
5461  __Pyx_RefNannyFinishContext();
5462  return __pyx_r;
5463 }
5464 
5465 /* "pywrapfst.pyx":366
5466  * return float(self.to_string())
5467  *
5468  * def __init__(self, weight_type, weight): # <<<<<<<<<<<<<<
5469  * self._weight.reset(new fst.WeightClass(tostring(weight_type),
5470  * weight_tostring(weight)))
5471  */
5472 
5473 /* Python wrapper */
5474 static int __pyx_pw_9pywrapfst_6Weight_7__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5475 static int __pyx_pw_9pywrapfst_6Weight_7__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5476  PyObject *__pyx_v_weight_type = 0;
5477  PyObject *__pyx_v_weight = 0;
5478  int __pyx_r;
5479  __Pyx_RefNannyDeclarations
5480  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
5481  {
5482  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_weight_type,&__pyx_n_s_weight,0};
5483  PyObject* values[2] = {0,0};
5484  if (unlikely(__pyx_kwds)) {
5485  Py_ssize_t kw_args;
5486  const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
5487  switch (pos_args) {
5488  case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5489  CYTHON_FALLTHROUGH;
5490  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5491  CYTHON_FALLTHROUGH;
5492  case 0: break;
5493  default: goto __pyx_L5_argtuple_error;
5494  }
5495  kw_args = PyDict_Size(__pyx_kwds);
5496  switch (pos_args) {
5497  case 0:
5498  if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_weight_type)) != 0)) kw_args--;
5499  else goto __pyx_L5_argtuple_error;
5500  CYTHON_FALLTHROUGH;
5501  case 1:
5502  if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_weight)) != 0)) kw_args--;
5503  else {
5504  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 366, __pyx_L3_error)
5505  }
5506  }
5507  if (unlikely(kw_args > 0)) {
5508  if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 366, __pyx_L3_error)
5509  }
5510  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
5511  goto __pyx_L5_argtuple_error;
5512  } else {
5513  values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5514  values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5515  }
5516  __pyx_v_weight_type = values[0];
5517  __pyx_v_weight = values[1];
5518  }
5519  goto __pyx_L4_argument_unpacking_done;
5520  __pyx_L5_argtuple_error:;
5521  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 366, __pyx_L3_error)
5522  __pyx_L3_error:;
5523  __Pyx_AddTraceback("pywrapfst.Weight.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5524  __Pyx_RefNannyFinishContext();
5525  return -1;
5526  __pyx_L4_argument_unpacking_done:;
5527  __pyx_r = __pyx_pf_9pywrapfst_6Weight_6__init__(((struct __pyx_obj_9pywrapfst_Weight *)__pyx_v_self), __pyx_v_weight_type, __pyx_v_weight);
5528 
5529  /* function exit code */
5530  __Pyx_RefNannyFinishContext();
5531  return __pyx_r;
5532 }
5533 
5534 static int __pyx_pf_9pywrapfst_6Weight_6__init__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, PyObject *__pyx_v_weight_type, PyObject *__pyx_v_weight) {
5535  int __pyx_r;
5536  __Pyx_RefNannyDeclarations
5537  std::string __pyx_t_1;
5538  std::string __pyx_t_2;
5539  __Pyx_RefNannySetupContext("__init__", 0);
5540 
5541  /* "pywrapfst.pyx":367
5542  *
5543  * def __init__(self, weight_type, weight):
5544  * self._weight.reset(new fst.WeightClass(tostring(weight_type), # <<<<<<<<<<<<<<
5545  * weight_tostring(weight)))
5546  * self._check_weight()
5547  */
5548  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5549  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "_weight");
5550  __PYX_ERR(0, 367, __pyx_L1_error)
5551  }
5552  __pyx_t_1 = __pyx_f_9pywrapfst_tostring(__pyx_v_weight_type); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L1_error)
5553 
5554  /* "pywrapfst.pyx":368
5555  * def __init__(self, weight_type, weight):
5556  * self._weight.reset(new fst.WeightClass(tostring(weight_type),
5557  * weight_tostring(weight))) # <<<<<<<<<<<<<<
5558  * self._check_weight()
5559  *
5560  */
5561  __pyx_t_2 = __pyx_f_9pywrapfst_weight_tostring(__pyx_v_weight); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 368, __pyx_L1_error)
5562 
5563  /* "pywrapfst.pyx":367
5564  *
5565  * def __init__(self, weight_type, weight):
5566  * self._weight.reset(new fst.WeightClass(tostring(weight_type), # <<<<<<<<<<<<<<
5567  * weight_tostring(weight)))
5568  * self._check_weight()
5569  */
5570  __pyx_v_self->_weight.reset(new fst::script::WeightClass(__pyx_t_1, __pyx_t_2));
5571 
5572  /* "pywrapfst.pyx":369
5573  * self._weight.reset(new fst.WeightClass(tostring(weight_type),
5574  * weight_tostring(weight)))
5575  * self._check_weight() # <<<<<<<<<<<<<<
5576  *
5577  * cdef void _check_weight(self) except *:
5578  */
5579  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5580  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "_check_weight");
5581  __PYX_ERR(0, 369, __pyx_L1_error)
5582  }
5583  ((struct __pyx_vtabstruct_9pywrapfst_Weight *)__pyx_v_self->__pyx_vtab)->_check_weight(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 369, __pyx_L1_error)
5584 
5585  /* "pywrapfst.pyx":366
5586  * return float(self.to_string())
5587  *
5588  * def __init__(self, weight_type, weight): # <<<<<<<<<<<<<<
5589  * self._weight.reset(new fst.WeightClass(tostring(weight_type),
5590  * weight_tostring(weight)))
5591  */
5592 
5593  /* function exit code */
5594  __pyx_r = 0;
5595  goto __pyx_L0;
5596  __pyx_L1_error:;
5597  __Pyx_AddTraceback("pywrapfst.Weight.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5598  __pyx_r = -1;
5599  __pyx_L0:;
5600  __Pyx_RefNannyFinishContext();
5601  return __pyx_r;
5602 }
5603 
5604 /* "pywrapfst.pyx":371
5605  * self._check_weight()
5606  *
5607  * cdef void _check_weight(self) except *: # <<<<<<<<<<<<<<
5608  * if self.type() == b"none":
5609  * raise FstArgError("Weight type not found")
5610  */
5611 
5612 static void __pyx_f_9pywrapfst_6Weight__check_weight(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self) {
5613  __Pyx_RefNannyDeclarations
5614  int __pyx_t_1;
5615  PyObject *__pyx_t_2 = NULL;
5616  PyObject *__pyx_t_3 = NULL;
5617  PyObject *__pyx_t_4 = NULL;
5618  __Pyx_RefNannySetupContext("_check_weight", 0);
5619 
5620  /* "pywrapfst.pyx":372
5621  *
5622  * cdef void _check_weight(self) except *:
5623  * if self.type() == b"none": # <<<<<<<<<<<<<<
5624  * raise FstArgError("Weight type not found")
5625  * if not self.member():
5626  */
5627  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5628  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "type");
5629  __PYX_ERR(0, 372, __pyx_L1_error)
5630  }
5631  __pyx_t_1 = ((((struct __pyx_vtabstruct_9pywrapfst_Weight *)__pyx_v_self->__pyx_vtab)->type(__pyx_v_self, 0) == ((char const *)"none")) != 0);
5632  if (unlikely(__pyx_t_1)) {
5633 
5634  /* "pywrapfst.pyx":373
5635  * cdef void _check_weight(self) except *:
5636  * if self.type() == b"none":
5637  * raise FstArgError("Weight type not found") # <<<<<<<<<<<<<<
5638  * if not self.member():
5639  * raise FstBadWeightError("Invalid weight")
5640  */
5641  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FstArgError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 373, __pyx_L1_error)
5642  __Pyx_GOTREF(__pyx_t_3);
5643  __pyx_t_4 = NULL;
5644  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
5645  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
5646  if (likely(__pyx_t_4)) {
5647  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
5648  __Pyx_INCREF(__pyx_t_4);
5649  __Pyx_INCREF(function);
5650  __Pyx_DECREF_SET(__pyx_t_3, function);
5651  }
5652  }
5653  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_u_Weight_type_not_found) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_Weight_type_not_found);
5654  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
5655  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L1_error)
5656  __Pyx_GOTREF(__pyx_t_2);
5657  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5658  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
5659  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5660  __PYX_ERR(0, 373, __pyx_L1_error)
5661 
5662  /* "pywrapfst.pyx":372
5663  *
5664  * cdef void _check_weight(self) except *:
5665  * if self.type() == b"none": # <<<<<<<<<<<<<<
5666  * raise FstArgError("Weight type not found")
5667  * if not self.member():
5668  */
5669  }
5670 
5671  /* "pywrapfst.pyx":374
5672  * if self.type() == b"none":
5673  * raise FstArgError("Weight type not found")
5674  * if not self.member(): # <<<<<<<<<<<<<<
5675  * raise FstBadWeightError("Invalid weight")
5676  *
5677  */
5678  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5679  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "member");
5680  __PYX_ERR(0, 374, __pyx_L1_error)
5681  }
5682  __pyx_t_1 = ((!(((struct __pyx_vtabstruct_9pywrapfst_Weight *)__pyx_v_self->__pyx_vtab)->member(__pyx_v_self, 0) != 0)) != 0);
5683  if (unlikely(__pyx_t_1)) {
5684 
5685  /* "pywrapfst.pyx":375
5686  * raise FstArgError("Weight type not found")
5687  * if not self.member():
5688  * raise FstBadWeightError("Invalid weight") # <<<<<<<<<<<<<<
5689  *
5690  * cpdef Weight copy(self):
5691  */
5692  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FstBadWeightError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 375, __pyx_L1_error)
5693  __Pyx_GOTREF(__pyx_t_3);
5694  __pyx_t_4 = NULL;
5695  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
5696  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
5697  if (likely(__pyx_t_4)) {
5698  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
5699  __Pyx_INCREF(__pyx_t_4);
5700  __Pyx_INCREF(function);
5701  __Pyx_DECREF_SET(__pyx_t_3, function);
5702  }
5703  }
5704  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_u_Invalid_weight) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_Invalid_weight);
5705  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
5706  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L1_error)
5707  __Pyx_GOTREF(__pyx_t_2);
5708  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5709  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
5710  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5711  __PYX_ERR(0, 375, __pyx_L1_error)
5712 
5713  /* "pywrapfst.pyx":374
5714  * if self.type() == b"none":
5715  * raise FstArgError("Weight type not found")
5716  * if not self.member(): # <<<<<<<<<<<<<<
5717  * raise FstBadWeightError("Invalid weight")
5718  *
5719  */
5720  }
5721 
5722  /* "pywrapfst.pyx":371
5723  * self._check_weight()
5724  *
5725  * cdef void _check_weight(self) except *: # <<<<<<<<<<<<<<
5726  * if self.type() == b"none":
5727  * raise FstArgError("Weight type not found")
5728  */
5729 
5730  /* function exit code */
5731  goto __pyx_L0;
5732  __pyx_L1_error:;
5733  __Pyx_XDECREF(__pyx_t_2);
5734  __Pyx_XDECREF(__pyx_t_3);
5735  __Pyx_XDECREF(__pyx_t_4);
5736  __Pyx_AddTraceback("pywrapfst.Weight._check_weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
5737  __pyx_L0:;
5738  __Pyx_RefNannyFinishContext();
5739 }
5740 
5741 /* "pywrapfst.pyx":377
5742  * raise FstBadWeightError("Invalid weight")
5743  *
5744  * cpdef Weight copy(self): # <<<<<<<<<<<<<<
5745  * """
5746  * copy(self)
5747  */
5748 
5749 static PyObject *__pyx_pw_9pywrapfst_6Weight_9copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5750 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst_6Weight_copy(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch) {
5751  struct __pyx_obj_9pywrapfst_Weight *__pyx_v_result = 0;
5752  struct __pyx_obj_9pywrapfst_Weight *__pyx_r = NULL;
5753  __Pyx_RefNannyDeclarations
5754  PyObject *__pyx_t_1 = NULL;
5755  PyObject *__pyx_t_2 = NULL;
5756  PyObject *__pyx_t_3 = NULL;
5757  PyObject *__pyx_t_4 = NULL;
5758  __Pyx_RefNannySetupContext("copy", 0);
5759  /* Check if called by wrapper */
5760  if (unlikely(__pyx_skip_dispatch)) ;
5761  /* Check if overridden in Python */
5762  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
5763  #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP
5764  static PY_UINT64_T tp_dict_version = 0, obj_dict_version = 0;
5765  if (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict && tp_dict_version == __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) && (!Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset || obj_dict_version == __PYX_GET_DICT_VERSION(_PyObject_GetDictPtr(((PyObject *)__pyx_v_self))))));
5766  else {
5767  PY_UINT64_T type_dict_guard = (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict)) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0;
5768  #endif
5769  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
5770  __Pyx_GOTREF(__pyx_t_1);
5771  if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_9pywrapfst_6Weight_9copy)) {
5772  __Pyx_XDECREF(((PyObject *)__pyx_r));
5773  __Pyx_INCREF(__pyx_t_1);
5774  __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
5775  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
5776  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
5777  if (likely(__pyx_t_4)) {
5778  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
5779  __Pyx_INCREF(__pyx_t_4);
5780  __Pyx_INCREF(function);
5781  __Pyx_DECREF_SET(__pyx_t_3, function);
5782  }
5783  }
5784  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
5785  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
5786  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 377, __pyx_L1_error)
5787  __Pyx_GOTREF(__pyx_t_2);
5788  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5789  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_9pywrapfst_Weight))))) __PYX_ERR(0, 377, __pyx_L1_error)
5790  __pyx_r = ((struct __pyx_obj_9pywrapfst_Weight *)__pyx_t_2);
5791  __pyx_t_2 = 0;
5792  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5793  goto __pyx_L0;
5794  }
5795  #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP
5796  tp_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0;
5797  obj_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset) ? __PYX_GET_DICT_VERSION(_PyObject_GetDictPtr(((PyObject *)__pyx_v_self))) : 0;
5798  if (unlikely(type_dict_guard != tp_dict_version)) {
5799  tp_dict_version = obj_dict_version = 0;
5800  }
5801  #endif
5802  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5803  #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP
5804  }
5805  #endif
5806  }
5807 
5808  /* "pywrapfst.pyx":383
5809  * Returns a copy of the Weight.
5810  * """
5811  * cdef Weight result = Weight.__new__(Weight) # <<<<<<<<<<<<<<
5812  * result._weight.reset(new fst.WeightClass(deref(self._weight)))
5813  * return result
5814  */
5815  __pyx_t_1 = ((PyObject *)__pyx_tp_new_9pywrapfst_Weight(((PyTypeObject *)__pyx_ptype_9pywrapfst_Weight), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
5816  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
5817  __pyx_v_result = ((struct __pyx_obj_9pywrapfst_Weight *)__pyx_t_1);
5818  __pyx_t_1 = 0;
5819 
5820  /* "pywrapfst.pyx":384
5821  * """
5822  * cdef Weight result = Weight.__new__(Weight)
5823  * result._weight.reset(new fst.WeightClass(deref(self._weight))) # <<<<<<<<<<<<<<
5824  * return result
5825  *
5826  */
5827  if (unlikely(((PyObject *)__pyx_v_result) == Py_None)) {
5828  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "_weight");
5829  __PYX_ERR(0, 384, __pyx_L1_error)
5830  }
5831  if (unlikely(((PyObject *)__pyx_v_self) == Py_None)) {
5832  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "_weight");
5833  __PYX_ERR(0, 384, __pyx_L1_error)
5834  }
5835  __pyx_v_result->_weight.reset(new fst::script::WeightClass((*__pyx_v_self->_weight)));
5836 
5837  /* "pywrapfst.pyx":385
5838  * cdef Weight result = Weight.__new__(Weight)
5839  * result._weight.reset(new fst.WeightClass(deref(self._weight)))
5840  * return result # <<<<<<<<<<<<<<
5841  *
5842  * # To get around the inability to declare cdef class methods, we define the
5843  */
5844  __Pyx_XDECREF(((PyObject *)__pyx_r));
5845  __Pyx_INCREF(((PyObject *)__pyx_v_result));
5846  __pyx_r = __pyx_v_result;
5847  goto __pyx_L0;
5848 
5849  /* "pywrapfst.pyx":377
5850  * raise FstBadWeightError("Invalid weight")
5851  *
5852  * cpdef Weight copy(self): # <<<<<<<<<<<<<<
5853  * """
5854  * copy(self)
5855  */
5856 
5857  /* function exit code */
5858  __pyx_L1_error:;
5859  __Pyx_XDECREF(__pyx_t_1);
5860  __Pyx_XDECREF(__pyx_t_2);
5861  __Pyx_XDECREF(__pyx_t_3);
5862  __Pyx_XDECREF(__pyx_t_4);
5863  __Pyx_AddTraceback("pywrapfst.Weight.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
5864  __pyx_r = 0;
5865  __pyx_L0:;
5866  __Pyx_XDECREF((PyObject *)__pyx_v_result);
5867  __Pyx_XGIVEREF((PyObject *)__pyx_r);
5868  __Pyx_RefNannyFinishContext();
5869  return __pyx_r;
5870 }
5871 
5872 /* Python wrapper */
5873 static PyObject *__pyx_pw_9pywrapfst_6Weight_9copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5874 static char __pyx_doc_9pywrapfst_6Weight_8copy[] = "\n copy(self)\n\n Returns a copy of the Weight.\n ";
5875 static PyObject *__pyx_pw_9pywrapfst_6Weight_9copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5876  PyObject *__pyx_r = 0;
5877  __Pyx_RefNannyDeclarations
5878  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
5879  __pyx_r = __pyx_pf_9pywrapfst_6Weight_8copy(((struct __pyx_obj_9pywrapfst_Weight *)__pyx_v_self));
5880 
5881  /* function exit code */
5882  __Pyx_RefNannyFinishContext();
5883  return __pyx_r;
5884 }
5885 
5886 static PyObject *__pyx_pf_9pywrapfst_6Weight_8copy(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self) {
5887  PyObject *__pyx_r = NULL;
5888  __Pyx_RefNannyDeclarations
5889  PyObject *__pyx_t_1 = NULL;
5890  __Pyx_RefNannySetupContext("copy", 0);
5891  __Pyx_XDECREF(__pyx_r);
5892  __pyx_t_1 = ((PyObject *)__pyx_f_9pywrapfst_6Weight_copy(__pyx_v_self, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
5893  __Pyx_GOTREF(__pyx_t_1);
5894  __pyx_r = __pyx_t_1;
5895  __pyx_t_1 = 0;
5896  goto __pyx_L0;
5897 
5898  /* function exit code */
5899  __pyx_L1_error:;
5900  __Pyx_XDECREF(__pyx_t_1);
5901  __Pyx_AddTraceback("pywrapfst.Weight.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
5902  __pyx_r = NULL;
5903  __pyx_L0:;
5904  __Pyx_XGIVEREF(__pyx_r);
5905  __Pyx_RefNannyFinishContext();
5906  return __pyx_r;
5907 }
5908 
5909 /* "pywrapfst.pyx":391
5910  *
5911  * @classmethod
5912  * def Zero(cls, weight_type): # <<<<<<<<<<<<<<
5913  * """
5914  * Weight.Zero(weight_type)
5915  */
5916 
5917 /* Python wrapper */
5918 static PyObject *__pyx_pw_9pywrapfst_6Weight_11Zero(PyObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /*proto*/
5919 static char __pyx_doc_9pywrapfst_6Weight_10Zero[] = "\n Weight.Zero(weight_type)\n\n Constructs semiring zero.\n ";
5920 static PyObject *__pyx_pw_9pywrapfst_6Weight_11Zero(PyObject *__pyx_v_cls, PyObject *__pyx_v_weight_type) {
5921  PyObject *__pyx_r = 0;
5922  __Pyx_RefNannyDeclarations
5923  __Pyx_RefNannySetupContext("Zero (wrapper)", 0);
5924  __pyx_r = __pyx_pf_9pywrapfst_6Weight_10Zero(((PyTypeObject*)__pyx_v_cls), ((PyObject *)__pyx_v_weight_type));
5925 
5926  /* function exit code */
5927  __Pyx_RefNannyFinishContext();
5928  return __pyx_r;
5929 }
5930 
5931 static PyObject *__pyx_pf_9pywrapfst_6Weight_10Zero(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type) {
5932  PyObject *__pyx_r = NULL;
5933  __Pyx_RefNannyDeclarations
5934  PyObject *__pyx_t_1 = NULL;
5935  __Pyx_RefNannySetupContext("Zero", 0);
5936 
5937  /* "pywrapfst.pyx":397
5938  * Constructs semiring zero.
5939  * """
5940  * return _Zero(weight_type) # <<<<<<<<<<<<<<
5941  *
5942  * @classmethod
5943  */
5944  __Pyx_XDECREF(__pyx_r);
5945  __pyx_t_1 = ((PyObject *)__pyx_f_9pywrapfst__Zero(__pyx_v_weight_type)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
5946  __Pyx_GOTREF(__pyx_t_1);
5947  __pyx_r = __pyx_t_1;
5948  __pyx_t_1 = 0;
5949  goto __pyx_L0;
5950 
5951  /* "pywrapfst.pyx":391
5952  *
5953  * @classmethod
5954  * def Zero(cls, weight_type): # <<<<<<<<<<<<<<
5955  * """
5956  * Weight.Zero(weight_type)
5957  */
5958 
5959  /* function exit code */
5960  __pyx_L1_error:;
5961  __Pyx_XDECREF(__pyx_t_1);
5962  __Pyx_AddTraceback("pywrapfst.Weight.Zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
5963  __pyx_r = NULL;
5964  __pyx_L0:;
5965  __Pyx_XGIVEREF(__pyx_r);
5966  __Pyx_RefNannyFinishContext();
5967  return __pyx_r;
5968 }
5969 
5970 /* "pywrapfst.pyx":400
5971  *
5972  * @classmethod
5973  * def One(cls, weight_type): # <<<<<<<<<<<<<<
5974  * """
5975  * Weight.One(weight_type)
5976  */
5977 
5978 /* Python wrapper */
5979 static PyObject *__pyx_pw_9pywrapfst_6Weight_13One(PyObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /*proto*/
5980 static char __pyx_doc_9pywrapfst_6Weight_12One[] = "\n Weight.One(weight_type)\n\n Constructs semiring One.\n ";
5981 static PyObject *__pyx_pw_9pywrapfst_6Weight_13One(PyObject *__pyx_v_cls, PyObject *__pyx_v_weight_type) {
5982  PyObject *__pyx_r = 0;
5983  __Pyx_RefNannyDeclarations
5984  __Pyx_RefNannySetupContext("One (wrapper)", 0);
5985  __pyx_r = __pyx_pf_9pywrapfst_6Weight_12One(((PyTypeObject*)__pyx_v_cls), ((PyObject *)__pyx_v_weight_type));
5986 
5987  /* function exit code */
5988  __Pyx_RefNannyFinishContext();
5989  return __pyx_r;
5990 }
5991 
5992 static PyObject *__pyx_pf_9pywrapfst_6Weight_12One(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type) {
5993  PyObject *__pyx_r = NULL;
5994  __Pyx_RefNannyDeclarations