YL iiJddlZddlmZddlmZddlmZGddeZdZ y) N)modelVerificationError)_imp_emulationceZdZdZdZdZdZdZdZd7dZ dZ d Z d Z d8d Z d ZdZdZdZdZdZdZdZdZeZeZeZeZeZdZdZdZeZdZ eZ!dZ"dZ#dZ$dZ%eZ&dZ'dZ(d Z)d!Z*d"Z+d#Z,d$Z-d%Z.eZ/d&Z0d'Z1d(Z2d)Z3 d9d*Z4d+Z5d,Z6eZ7eZ8eZ9d7d-Z:d.Z;d:d/Zd0Z?d1Z@d2ZAeZBeZCeZDeZEd3ZFd4ZGeZHeZId5ZJd6ZKy );VCPythonEnginexTcP||_|j|_i|_i|_yN)verifierffi_struct_pending_verification_types_of_builtin_functions)selfr s V/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/cffi/vengine_cpy.py__init__zVCPythonEngine.__init__s$  <<,.)+-(cyr )rkwdss rpatch_extension_kwdsz#VCPythonEngine.patch_extension_kwds rc tj||\}}}||j|d|vry|S#t$rYywxYwNr)imp find_module ImportErrorclose)r module_namepath so_suffixesffilenamedescrs rrzVCPythonEngine.find_modulesX !$d!C Ax = GGI 8; &  s8 AAc4i|_|jdy)N collecttype) _typesdict _generate)rs r collect_typeszVCPythonEngine.collect_types%s }%rc@|jj|dzy)N )_fwrite)rwhats r_prntzVCPythonEngine._prnt)s  dTk"rc |j|Sr )r()rtypes r _gettypenumzVCPythonEngine._gettypenum,st$$rct|tjr|jdk(r4||jvr%t |j}||j|<yyy)N long double) isinstancer PrimitiveTypenamer(len)rtpnums r_do_collect_typezVCPythonEngine._do_collect_type0sPB 3 34=(doo-doo&C"%DOOB .)rc|jddg|_|j}|t|||jj ||j d|j||d|j d|d|d|d||jj}|jd}|d ||d |d |d |z|d |d|d|d|d||d|d|z|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d ||d!||d|d"|z|d|d|d#|z|d|d$|d|d%|d$|d&|d ||dy)'Nz ((void)lib,0)declz&static PyMethodDef _cffi_methods[] = {methodz3 {"_cffi_setup", _cffi_setup, METH_VARARGS, NULL},z) {NULL, NULL, 0, NULL} /* Sentinel */z};Fz#if PY_MAJOR_VERSION >= 3z.static struct PyModuleDef _cffi_module_def = {z PyModuleDef_HEAD_INIT,z "%s",z NULL,z -1,z _cffi_methods,z NULL, NULL, NULL, NULLPyMODINIT_FUNCzPyInit_%s(void){z PyObject *lib;z+ lib = PyModule_Create(&_cffi_module_def);z if (lib == NULL) return NULL; if (z < 0 || _cffi_init() < 0) {z Py_DECREF(lib); }z#if Py_GIL_DISABLEDz5 PyUnstable_Module_SetGIL(lib, Py_MOD_GIL_NOT_USED);z#endifz return lib;}z#elsez init%s(void)z+ lib = Py_InitModule("%s", _cffi_methods);z return;z < 0 || _cffi_init() < 0)z return;) r*_chained_list_constantsr0cffimod_headerr preambler)_generate_setup_customget_module_name)rprntmodname constantss rwrite_source_to_fz VCPythonEngine.write_source_to_f7s/ ")8'I$zz ^  T]] # #$  v ##%  56 x  BC 89 T  --//1007  ()  => '( Y ! Y W    '( T     () S    :; !"   i AB "#   U  "# DE X _ S   W    ^g %& S    :W DE !" ] I ?@ ] [ S   XrNc2 tj ttdrtj} ttdr|tj |tj jjjj ttdrtj  tjj dtjj!Dcgc] \}}||f c}}}t#t%|Dcgc]}|| } }t't)j*j,| } G fddt.  } j1| t| r0ddl} | j5d jjzj d | j* _j8 _| S#t$r,}djjd|}t|d}~wwxYw#ttdrtj wwxYw#tjwxYwcc}}wcc}w) Ngetdlopenflagssetdlopenflagsz importing z: loadingc<eZdZWZWjZgZfdZy)/VCPythonEngine.load_library..FFILibrarycHjt|jzSr ) _cffi_dirlist__dict__)r FFILibrarys r__dir__z7VCPythonEngine.load_library..FFILibrary.__dir__s!++d4==.AAArN)__name__ __module__ __qualname___cffi_python_moduler _cffi_ffirVrZ)rYmodulersrrYrTs"( II BrrYrz0reimporting %r might overwrite older definitionsloaded)library)r acquire_lockhasattrsysrPrQ load_dynamicr rJmodulefilenamerr release_lock_loaddictr(itemsranger9rWmapr_get_cached_btypeobject _cffi_setupwarningswarn_cffi_original_ffir_cffi_types_of_builtin_funcs)rflagsprevious_flagseerrorkeyvalue revmappingilstrbrqrYr`s` @@r load_libraryzVCPythonEngine.load_librarys  s,-!$!3!3!5 73 01e6G&&u-))$--*G*G*I*.--*F*FH 3 01&&~6     69%/3/D/D/FH+U"3<HI &+C O&<=z!}==3txx11378 B B B ,   c#4g >  MML!]]::<> ? 68W 5$(HH!.2.N.N+Y /.2mm.J.JAN'.. /3 01&&~62    H=sG$I5A)H(&I5J  J I'III (I22I55J c|jjjjDcgc] \}\}}||f}}}}|j |Scc}}}wr )r_parser _declarationsrksort)rryr:qualr}s r_get_declarationsz VCPythonEngine._get_declarationss^ $ 0 0 > > D D FHH.c:BRyHH   HsAc|jD]7\}}|jdd\}} t|d|d|} |||9y#t$rt d|zwxYw#t $r}t j||d}~wwxYw)N r_generate_cpy__znot implemented in verify(): %r)rsplitgetattrAttributeErrorr Exceptionrattach_exception_info)r step_namer8r:kindrealnamer?rws rr)zVCPythonEngine._generates..0 HD"!ZZQ/ND( > @I(KL  r8$  " >'5<>> >  ++At4 s#A  A' A$' B 0BB c |jD]8\}}|jdd\}}t|d|d|} ||||fi|:y#t$r} t j | |d} ~ wwxYw)Nrrr_cpy_)rrrrrr) rr`rrr8r:rrr?rws rrizVCPythonEngine._loads~..0 HD"!ZZQ/ND(T9d#CDF r8V4t4    ++At4 s A  A2A--A2cyr rrr:r8s r_generate_nothingz VCPythonEngine._generate_nothingrrc yr rrr:r8r`rs r _loaded_noopzVCPythonEngine._loaded_nooprrc d}t|tjr|jr!|jdk7rd}d|jz}nL|j r t dd|jdd|jjdd }d }nt|tjr|j||||yt|tjtjfr;|jd ||j||fz|jd |zyt|tjr+d |jdz}d|j|z}d}n t!||jd|d|d||d|jd|d|jdd|d|jd |zy)N_Bool_cffi_to_c_intz, %sz*not implemented in verify(): complex types(z )_cffi_to_c_rrz-1z6 if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)z %s;z(%s)_cffi_to_c_pointerz, _cffi_type(%d)NULL z = );rCz == ()z && PyErr_Occurred()))r6rr7is_integer_typer8is_complex_typer get_c_namereplace PointerType"_convert_funcarg_to_c_ptr_or_array StructOrUnionEnumTyper0r3FunctionPtrTypeNotImplementedError)rr:fromvartovarerrcodeextraarg convertererrvalues r_convert_funcarg_to_cz$VCPythonEngine._convert_funcarg_to_cs b%-- .!!#7(:, !BGG+##%'@BB&46==3D3577??33LN H E-- .  3 3B497 D  U00%..A B JJO 0 0 4g>? @ JJy7* +  E11 202==3DDI)D,<,A B #&*&6&6r&:GU%KL M AB ;() 5rcrt|tjrz|jr"|jdk7rd|d|jdS|jdk7r#d|jj ddd |dSd ||j |fzSt|tjtjfrd ||j |fzSt|tjr3d ||j tj|jfzSt|tjrB|j td |jd |dd||j |fzSt|tjrd ||j |fzSt!|)Nrz_cffi_from_c_int(, rr5 _cffi_from_c_rrrz/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))'z ' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d)))r6rr7rr8rr3rr ArrayTypeitemrfldnames TypeError _get_c_namerr)rr:varcontexts r_convert_expr_from_cz#VCPythonEngine._convert_expr_from_c1s b%-- .!!#7(:58"''BBM)02S0I3OOH))"-L/// U..0E0EF GET%%b)I++ + EOO ,ET%%e&7&7&@AICC C E// 0{{"NN$g!/00ET%%b)I++ + ENN +DT%%b)H++ +&b) )rct|tjsJ|jr|j |y|j D]}|j ||j |j yr )r6rrellipsisr<argsresult)rr:r8r2s r"_generate_cpy_function_collecttypez1VCPythonEngine._generate_cpy_function_collecttypeXsb"e33444 ;;  ! !" % ,%%d+ ,  ! !")) ,rct|tjsJ|jr|j d||y|j }t |j}|dk(rd}n |dk(rd}nd}|d|d|d |d |d d |z}t|jD]#\}}|d |jd|z|z%t} t} |jD]}|j|| | t| D]} |d| dt|jtjs5d} d|z}|d |jjd|z|dnd} t |jdkDrttt |j} | D] }|d|z||dd|zd|ddj!| Dcgc]}d|z c}d|d|t|jD]&\}}|j#|d|zd |zd!|(|d"|d#|d$| |d%dj!tt |jDcgc]}d |z c}d&|d'|d(||d)|dk(r|d*| rA|d+|j%|jd,d-z| D] }|d|z|d.n"| D] }|d|z|d/|d0|d1|ycc}wcc}w)2NFrnoargrarg0rstatic PyObject *_cffi_f_z(PyObject *self, PyObject *rrAzargument of %s %s;z x%dr;z result = z result of %sz resultz PyObject *pyresult;rz PyObject *arg%d;z if (!PyArg_ParseTuple(args, "O:", rz&arg%dz))rBzarg%dzx%dz return NULLz Py_BEGIN_ALLOW_THREADSz _cffi_restore_errno(); { rz); }z _cffi_save_errno();z Py_END_ALLOW_THREADS (void)self; /* unused */ (void)noarg; /* unused */z pyresult = %s;rz result typez return pyresult;z Py_INCREF(Py_None);z return Py_None;rE)r6rrr_generate_cpy_constr0r9r enumeratersetrsortedrVoidTyperljoinrr)rr:r8rKnumargsargnamerr|r2rrr> result_coderngfreelines r_generate_cpy_function_declz*VCPythonEngine._generate_cpy_function_declcsI"e33444 ;;  $ $UD" 5 zzbgg, a<G \GG ! 4 IJ S "T) ) AGAt 4??6A:w?? @ AE E GG DD  ' 'i C D9% $D D" # $"))U^^4%K$t+G 299// 7CC D ( )K rwwQuqy> ?A B $% %&  )* a< . /  #**299h NO P% &TH_% & % &% &TH_% & ( ) $ % S  C0K?s ( M  Mc |jryt|j}|dk(rd}n |dk(rd}nd}|jd|d|d|d y) Nr METH_NOARGSrMETH_O METH_VARARGS {"z ", _cffi_f_rz, NULL},)rr9rr0)rr:r8rmeths r_generate_cpy_function_methodz,VCPythonEngine._generate_cpy_function_methodsI ;; bgg, a< D \D!D dDIJrcn|jryt||}t|||||j|<yr )rrsetattrr)rr:r8r`rbfuncs r_loaded_cpy_functionz#VCPythonEngine._loaded_cpy_functions4 ;; vt$t$13((.rcL||jk(sJ|j|d|yNstructr8_generate_struct_or_union_declrs r_generate_cpy_struct_declz(VCPythonEngine._generate_cpy_struct_decls$rww ++B$?rc*|j|d|yr _generate_struct_or_union_methodrs r_generate_cpy_struct_methodz*VCPythonEngine._generate_cpy_struct_methods --b(DArc,|j|d||yr_loading_struct_or_unionrr:r8r`s r_loading_cpy_structz"VCPythonEngine._loading_cpy_structs %%b(D&Arc &|j|yr _loaded_struct_or_unionrs r_loaded_cpy_structz!VCPythonEngine._loaded_cpy_struct $$R(rcL||jk(sJ|j|d|yNunionrrs r_generate_cpy_union_declz'VCPythonEngine._generate_cpy_union_decls$rww ++B>rc*|j|d|yrrrs r_generate_cpy_union_methodz)VCPythonEngine._generate_cpy_union_methods --b'4@rc,|j|d||yrrrs r_loading_cpy_unionz!VCPythonEngine._loading_cpy_unions %%b'4@rc &|j|yr rrs r_loaded_cpy_unionz VCPythonEngine._loaded_cpy_unionrrc <|jyd|d|}d|d|}|d|j}|j}|d|d|d|d|d |d |jD]g\}} } } t | t j r| js| d k\r |d |zC |d | jdd|z| d|di|d|d||d|d|d|z|d|d|z|d|jD]k\}} } } | d k\r|d|d|dt | t jr&| j|d| jz]|d|d |dm|d!|d"|d#|d$|d%|d&|d'|d(|d|y#t$r} |dt| zYd} ~ d} ~ wwxYw))N _cffi_check_r _cffi_layout_rz static void rz *p)rAz8 /* only to generate compile-time warnings or errors */z (void)p;rz (void)((p->%s) << 1);rz*tmpzfield %r)qualsz = &p->z; (void)tmp; }z /* %s */rErz!(PyObject *self, PyObject *noarg)z, struct _cffi_aligncheck { char x; %s y; };z static Py_ssize_t nums[] = {z sizeof(%s),z) offsetof(struct _cffi_aligncheck, y),z offsetof(rz),z 0, /* %s */z sizeof(((z *)0)->z -1z };rrz' return _cffi_get_struct_layout(nums);z3 /* the next line is not executed, but compiled */rz(0);)rstripr0 enumfieldsr6rr7rrrstrrlengthr) rr:prefixr8 checkfuncnamelayoutfuncnamecnamerKfnameftypefbitsizefqualrws rrz-VCPythonEngine._generate_struct_or_union_decls ;;   /5t< 17>"D)002zz u => S  GH \-/]]_ 0 )E5(E5%"5"56))+A .670((E1A(O  0 S  ! n FG S  ;e CD -.  &' 89-/]]_ D )E5(E1} E59 :%1ell6J'%*;*;*==>UEBC D X V  )* *+ 67 BC = *+ S  5)0A.//0s:$G33 H<HHc^|jyd|d|}|jd|d|dy)Nrrrrz, METH_NOARGS, NULL},)rr0)rr:rr8rs rrz/VCPythonEngine._generate_struct_or_union_methods6 ;;   17> 9GI Jrc|jyd|d|}t||}|}t|tjrw|j rk|d}|d} |ddd} |ddd} |j t| t| cxk(rt|jk(sJJ| | || f|_y|d|j} || f|j|<y)Nrrrrr) rrr6rrpartial force_flattenr9 fixedlayoutrr) rr:rr8r`rfunctionlayout totalsizetotalalignmentfieldofs fieldsizers rrz'VCPythonEngine._loading_struct_or_unions ;;   17>6>2 b%-- .2::q I#AYNadd|Hqt!t I    x=C NFc"++6FF FF FF%y)^KBN &-446E4:EMD - -b 1rc|jy|jj|||jvr d}|j}|j|}|jj |\}}||d|j |d||d|j |dd}|jD]p\}} } } | dk\r||||j||d|||dzdk7r3|j| } |||dz|j | d||dz }r|t|k(sJyy) Nc0||k7rtd|||fzy)Nz'%s (we have %d, but C compiler says %d)r) realvalue expectedvaluemsgs rcheckz5VCPythonEngine._loaded_struct_or_union..check7s. -+A y9:;;.rrzwrong total sizerzwrong total alignmentrzwrong offset for field zwrong size for field ) rrrnrpopsizeofalignofroffsetofr9) rr:r.rBStructr$rr|rrrrBFields rrz&VCPythonEngine._loaded_struct_or_union0sQ ;;   ""2& 22 2 ; ((C++B/G ==AA"EMFE &)SZZ02D E &)S[[13J KA13 -uhq=fQigu!=5:<>!A#;!# 2259F&1+szz&'97<>@Q F # ##/ 3rct|tjr|j||dy|j |d|yNr)r6rr_generate_cpy_enum_declrrs r_generate_cpy_anonymous_declz+VCPythonEngine._generate_cpy_anonymous_declTs4 b%.. )  ( (T2 6  / /B =rc`t|tjs|j|d|yyr6)r6rrrrs r_generate_cpy_anonymous_methodz-VCPythonEngine._generate_cpy_anonymous_methodZs'"enn-  1 1"b$ ?.rct|tjr|j|||y|j |d||yr6)r6rr_loading_cpy_enumrrs r_loading_cpy_anonymousz%VCPythonEngine._loading_cpy_anonymous^s6 b%.. )  " "2tV 4  ) )"b$ ?rc t|tjr|j|||fi|y|j |yr )r6rr_loaded_cpy_enumrrs r_loaded_cpy_anonymousz$VCPythonEngine._loaded_cpy_anonymousds7 b%.. ) !D ! !"dF ;d ;  ( ( ,rc |j} d|d|} | d| z| d| d| d|s | d|xs|jd|zn|d k(sJ||j|||s:|d k(rd |z} n|} | d | d | d|j|ddd|s J| d|z| d| d|r<| d| d| d|d| d| d| d| d| d|z| d| d| d| d |j|z| d!z|j|<| d"| y)#N_cffi_rstatic int %s(PyObject *lib)rAz PyObject *o;z int res;rz iconstr&z i = (rz o = r|z variable typerz! o = _cffi_from_c_int_const(%s);z if (o == NULL) return -1;z {z PyObject *o1 = o;z3 o = Py_BuildValue("On", o1, (Py_ssize_t)sizeof(z));z Py_DECREF(o1);z if (o == NULL)z return -1;rDz- res = PyObject_SetAttrString(lib, "%s", o);z Py_DECREF(o);z if (res < 0) return %s;(lib)rE)r0r_check_int_constant_valuerrF) ris_intr8r:categoryvartpdelayedsize_too check_valuerKfuncnamerealexprs rrz"VCPythonEngine._generate_cpy_constmszz$,d3 +h 67 S   \ EKR33D$?? @w& &&  "  * *4 =5 : (, -  9 9"c:I!KM NN7 4t; <     K ( )   % & % & # $ K 0 || (long)(%s) != %dL) {z1 if ((%s) <= 0 || (unsigned long)(%s) != %dUL) {z char buf[64];z if ((%s) <= 0)z. snprintf(buf, 63, "%%ld", (long)(%s));z elsez7 snprintf(buf, 63, "%%lu", (unsigned long)(%s));z) PyErr_Format(_cffi_VerificationError,z6 "%s%s has the real value %s, not %s",z( "%s", "%s", buf, "%d");rFrD)r0)rr8rz err_prefixrKs rrIz(VCPythonEngine._check_int_constant_valueszz A: 9dE=## $ DdEH## $ ! !D () = DE Z F   89 EF 7 e;%% &  U rc6|jdd}d|d|S)N$___D__cffi_e_r)r)rrr8s r_enum_funcnamezVCPythonEngine._enum_funcnames||C)"($//rc|jr&|jD]}|jd|dy|j||}|j}|d|z|dt |j|j D]\}}|j||d|z|d|jdz|dz|jd<|d |y) NTF)rMrCrAz enum %s: rGrHrE) r  enumeratorsrr]r0zip enumvaluesrIrF)rr:r8r enumeratorrPrK enumvalues rr7z&VCPythonEngine._generate_cpy_enum_decls :: nn J ((z5(I J &&vt4zz +h 67 S %(%G ? !J  * *:y+6+= ? ? ^d::4@ @A-5-?$$T* S  rc|jr;|jDcgc]}t||}}t||_d|_yycc}w)NT)r r_rtuplerapartial_resolved)rr:r8r`rbras rr<z VCPythonEngine._loading_cpy_enumsO ::,.NN<("&*5.getter%s q6Mrc|d<yrr)rbrzrss rsetterz3VCPythonEngine._loaded_cpy_variable..setter's CFr)rr6rrrorerrnrdivmodr0rresolve_lengthrcastrdelattrr2propertyrVappend)rr:r8r`rbrzsize BItemTyperrestBArrayrtrvrss @r_loaded_cpy_variablez#VCPythonEngine._loaded_cpy_variable s8& b%// *##%!%/// %  HH66rww? %dDHHOOI,FG 19+rww())&&v.yy$33B7 fe4u-   W tXff%=> W &&t,rc||j}|d|d|d|jdz|dy)Nz,static int _cffi_setup_custom(PyObject *lib)rArGTrE)r0rF)rrKs rrIz%VCPythonEngine._generate_setup_custom.s:zz ;< S  ^d::4@ @A S r)rr )NrDNTFN)enum)Lr[r\r] _class_key_gen_python_modulerrrr*r0r3r<rNr~rr)rirrrrrr!_generate_cpy_typedef_collecttype_generate_cpy_typedef_decl_generate_cpy_typedef_method_loading_cpy_typedef_loaded_cpy_typedefrrr_loading_cpy_functionr _generate_cpy_struct_collecttyperrrr_generate_cpy_union_collecttyperrr r rrrr#_generate_cpy_anonymous_collecttyper8r:r=r@rrTrV_generate_cpy_constant_method_loading_cpy_constant_loaded_cpy_constantrIr]r7_generate_cpy_enum_collecttype_generate_cpy_enum_methodr<r?ri_generate_cpy_macro_collecttype_generate_cpy_macro_method_loading_cpy_macro_loaded_cpy_macrormrp_generate_cpy_variable_method_loading_cpy_variablerrIrrrr r sJ.   &#%&\|8t   %(NK *<):%#4#4 #/#/ -N` K)4(9$@BB)'8#?AA)1fJB*$D+<'> @@ -CJ?D(,.`& 3%6!(( *0 $&7" 1'4F'8#!2%% &J%6!(-Drr a) #include #include /* this block of #ifs should be kept exactly identical between c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py and cffi/_cffi_include.h */ #if defined(_MSC_VER) # include /* for alloca() */ # if _MSC_VER < 1600 /* MSVC < 2010 */ typedef __int8 int8_t; typedef __int16 int16_t; typedef __int32 int32_t; typedef __int64 int64_t; typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; typedef unsigned __int32 uint32_t; typedef unsigned __int64 uint64_t; typedef __int8 int_least8_t; typedef __int16 int_least16_t; typedef __int32 int_least32_t; typedef __int64 int_least64_t; typedef unsigned __int8 uint_least8_t; typedef unsigned __int16 uint_least16_t; typedef unsigned __int32 uint_least32_t; typedef unsigned __int64 uint_least64_t; typedef __int8 int_fast8_t; typedef __int16 int_fast16_t; typedef __int32 int_fast32_t; typedef __int64 int_fast64_t; typedef unsigned __int8 uint_fast8_t; typedef unsigned __int16 uint_fast16_t; typedef unsigned __int32 uint_fast32_t; typedef unsigned __int64 uint_fast64_t; typedef __int64 intmax_t; typedef unsigned __int64 uintmax_t; # else # include # endif # if _MSC_VER < 1800 /* MSVC < 2013 */ # ifndef __cplusplus typedef unsigned char _Bool; # endif # endif # define _cffi_float_complex_t _Fcomplex /* include for it */ # define _cffi_double_complex_t _Dcomplex /* include for it */ #else # include # if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux) # include # endif # define _cffi_float_complex_t float _Complex # define _cffi_double_complex_t double _Complex #endif #if PY_MAJOR_VERSION < 3 # undef PyCapsule_CheckExact # undef PyCapsule_GetPointer # define PyCapsule_CheckExact(capsule) (PyCObject_Check(capsule)) # define PyCapsule_GetPointer(capsule, name) \ (PyCObject_AsVoidPtr(capsule)) #endif #if PY_MAJOR_VERSION >= 3 # define PyInt_FromLong PyLong_FromLong #endif #define _cffi_from_c_double PyFloat_FromDouble #define _cffi_from_c_float PyFloat_FromDouble #define _cffi_from_c_long PyInt_FromLong #define _cffi_from_c_ulong PyLong_FromUnsignedLong #define _cffi_from_c_longlong PyLong_FromLongLong #define _cffi_from_c_ulonglong PyLong_FromUnsignedLongLong #define _cffi_from_c__Bool PyBool_FromLong #define _cffi_to_c_double PyFloat_AsDouble #define _cffi_to_c_float PyFloat_AsDouble #define _cffi_from_c_int_const(x) \ (((x) > 0) ? \ ((unsigned long long)(x) <= (unsigned long long)LONG_MAX) ? \ PyInt_FromLong((long)(x)) : \ PyLong_FromUnsignedLongLong((unsigned long long)(x)) : \ ((long long)(x) >= (long long)LONG_MIN) ? \ PyInt_FromLong((long)(x)) : \ PyLong_FromLongLong((long long)(x))) #define _cffi_from_c_int(x, type) \ (((type)-1) > 0 ? /* unsigned */ \ (sizeof(type) < sizeof(long) ? \ PyInt_FromLong((long)x) : \ sizeof(type) == sizeof(long) ? \ PyLong_FromUnsignedLong((unsigned long)x) : \ PyLong_FromUnsignedLongLong((unsigned long long)x)) : \ (sizeof(type) <= sizeof(long) ? \ PyInt_FromLong((long)x) : \ PyLong_FromLongLong((long long)x))) #define _cffi_to_c_int(o, type) \ ((type)( \ sizeof(type) == 1 ? (((type)-1) > 0 ? (type)_cffi_to_c_u8(o) \ : (type)_cffi_to_c_i8(o)) : \ sizeof(type) == 2 ? (((type)-1) > 0 ? (type)_cffi_to_c_u16(o) \ : (type)_cffi_to_c_i16(o)) : \ sizeof(type) == 4 ? (((type)-1) > 0 ? (type)_cffi_to_c_u32(o) \ : (type)_cffi_to_c_i32(o)) : \ sizeof(type) == 8 ? (((type)-1) > 0 ? (type)_cffi_to_c_u64(o) \ : (type)_cffi_to_c_i64(o)) : \ (Py_FatalError("unsupported size for type " #type), (type)0))) #define _cffi_to_c_i8 \ ((int(*)(PyObject *))_cffi_exports[1]) #define _cffi_to_c_u8 \ ((int(*)(PyObject *))_cffi_exports[2]) #define _cffi_to_c_i16 \ ((int(*)(PyObject *))_cffi_exports[3]) #define _cffi_to_c_u16 \ ((int(*)(PyObject *))_cffi_exports[4]) #define _cffi_to_c_i32 \ ((int(*)(PyObject *))_cffi_exports[5]) #define _cffi_to_c_u32 \ ((unsigned int(*)(PyObject *))_cffi_exports[6]) #define _cffi_to_c_i64 \ ((long long(*)(PyObject *))_cffi_exports[7]) #define _cffi_to_c_u64 \ ((unsigned long long(*)(PyObject *))_cffi_exports[8]) #define _cffi_to_c_char \ ((int(*)(PyObject *))_cffi_exports[9]) #define _cffi_from_c_pointer \ ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[10]) #define _cffi_to_c_pointer \ ((char *(*)(PyObject *, CTypeDescrObject *))_cffi_exports[11]) #define _cffi_get_struct_layout \ ((PyObject *(*)(Py_ssize_t[]))_cffi_exports[12]) #define _cffi_restore_errno \ ((void(*)(void))_cffi_exports[13]) #define _cffi_save_errno \ ((void(*)(void))_cffi_exports[14]) #define _cffi_from_c_char \ ((PyObject *(*)(char))_cffi_exports[15]) #define _cffi_from_c_deref \ ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[16]) #define _cffi_to_c \ ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[17]) #define _cffi_from_c_struct \ ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[18]) #define _cffi_to_c_wchar_t \ ((wchar_t(*)(PyObject *))_cffi_exports[19]) #define _cffi_from_c_wchar_t \ ((PyObject *(*)(wchar_t))_cffi_exports[20]) #define _cffi_to_c_long_double \ ((long double(*)(PyObject *))_cffi_exports[21]) #define _cffi_to_c__Bool \ ((_Bool(*)(PyObject *))_cffi_exports[22]) #define _cffi_prepare_pointer_call_argument \ ((Py_ssize_t(*)(CTypeDescrObject *, PyObject *, char **))_cffi_exports[23]) #define _cffi_convert_array_from_object \ ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[24]) #define _CFFI_NUM_EXPORTS 25 typedef struct _ctypedescr CTypeDescrObject; static void *_cffi_exports[_CFFI_NUM_EXPORTS]; static PyObject *_cffi_types, *_cffi_VerificationError; static int _cffi_setup_custom(PyObject *lib); /* forward */ static PyObject *_cffi_setup(PyObject *self, PyObject *args) { PyObject *library; int was_alive = (_cffi_types != NULL); (void)self; /* unused */ if (!PyArg_ParseTuple(args, "OOO", &_cffi_types, &_cffi_VerificationError, &library)) return NULL; Py_INCREF(_cffi_types); Py_INCREF(_cffi_VerificationError); if (_cffi_setup_custom(library) < 0) return NULL; return PyBool_FromLong(was_alive); } union _cffi_union_alignment_u { unsigned char m_char; unsigned short m_short; unsigned int m_int; unsigned long m_long; unsigned long long m_longlong; float m_float; double m_double; long double m_longdouble; }; struct _cffi_freeme_s { struct _cffi_freeme_s *next; union _cffi_union_alignment_u alignment; }; #ifdef __GNUC__ __attribute__((unused)) #endif static int _cffi_convert_array_argument(CTypeDescrObject *ctptr, PyObject *arg, char **output_data, Py_ssize_t datasize, struct _cffi_freeme_s **freeme) { char *p; if (datasize < 0) return -1; p = *output_data; if (p == NULL) { struct _cffi_freeme_s *fp = (struct _cffi_freeme_s *)PyObject_Malloc( offsetof(struct _cffi_freeme_s, alignment) + (size_t)datasize); if (fp == NULL) return -1; fp->next = *freeme; *freeme = fp; p = *output_data = (char *)&fp->alignment; } memset((void *)p, 0, (size_t)datasize); return _cffi_convert_array_from_object(p, ctptr, arg); } #ifdef __GNUC__ __attribute__((unused)) #endif static void _cffi_free_array_arguments(struct _cffi_freeme_s *freeme) { do { void *p = (void *)freeme; freeme = freeme->next; PyObject_Free(p); } while (freeme != NULL); } static int _cffi_init(void) { PyObject *module, *c_api_object = NULL; module = PyImport_ImportModule("_cffi_backend"); if (module == NULL) goto failure; c_api_object = PyObject_GetAttrString(module, "_C_API"); if (c_api_object == NULL) goto failure; if (!PyCapsule_CheckExact(c_api_object)) { PyErr_SetNone(PyExc_ImportError); goto failure; } memcpy(_cffi_exports, PyCapsule_GetPointer(c_api_object, "cffi"), _CFFI_NUM_EXPORTS * sizeof(void *)); Py_DECREF(module); Py_DECREF(c_api_object); return 0; failure: Py_XDECREF(module); Py_XDECREF(c_api_object); return -1; } #define _cffi_type(num) ((CTypeDescrObject *)PyList_GET_ITEM(_cffi_types, num)) /**********/ ) rerrrxrrrror rGrrrrs* $#i Vi VJr