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