3 M •Z\ã4@s<ddlmZGdd„deƒZdd„ZdZdZdZdZd Z d Z d Z d Z d Z dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#dZ$d Z%d Z&d Z'd!Z(d Z)d"Z*d Z+d#Z,dZ-d$Z.dZ/d%Z0dZ1d&Z2dZ3d'Z4dZ5d(Z6dZ7d)Z8dZ9d*Z:dZ;d+ZdZ?d-Z@dZAd.ZBdZCd/ZDd0ZEd1ZFd2ZGd3ZHd4ZId5ZJd6ZKd7ZLd8ZMd9ZNdDZOdEZPdFZQdGZReee!e#e%eee e"e$e&e'e(e)eJeKee*eLeMe+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;ee?e@eAeBeCeDeEeFeGeHeId:œ3ZSdZTdZUdZVdZWd"ZXeYd;d<„dHDƒƒZZiZ[xDe\e]ƒj^ƒƒD]2\Z_Z`e_jadBƒrebe`ecƒre_ddC…e[e`<qWdCS)Ié)ÚVerificationErrorc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚCffiOpcCs||_||_dS)N)ÚopÚarg)Úselfrr©rú#/usr/lib64/python3.6/cffi_opcode.pyÚ__init__szCffiOp.__init__cCs>|jdkr&t|jtƒst‚d|jfSt|j}d||jfS)Nz(_cffi_opcode_t)(%s)z_CFFI_OP(_CFFI_OP_%s, %s))rÚ isinstancerÚstrÚAssertionErrorÚ CLASS_NAME)rÚ classnamerrrÚ as_c_exprs    zCffiOp.as_c_exprcCsn|jdkr>|jjƒr>t|jƒ}|dkr6td|jfƒ‚t|ƒSt|jtƒrZtd|jfƒ‚t|jd>|jBƒS)Nééz"cannot emit %r: limited to 2**31-1zcannot emit to Python: %rél) rrÚisdigitÚintÚ OverflowErrorÚformat_four_bytesr r r)rÚvaluerrrÚas_python_bytess   zCffiOp.as_python_bytescCstj|j|jƒ}d||jfS)Nz(%s %s))r Úgetrr)rrrrrÚ__str__szCffiOp.__str__N)Ú__name__Ú __module__Ú __qualname__r rrrrrrrrs rcCs,d|d?d@|d?d@|d?d@|d@fS)Nz\x%02X\x%02X\x%02X\x%02Xééÿérr)Znumrrrrs    réééé é é ééééééééré!é#é%é'é)érééré é ér éééréééé é"é$é&é(é*é+é,é-é.é/é0é1é2é3é4)3ÚcharZshortrZlongz long longz signed charz unsigned charzunsigned shortz unsigned intz unsigned longzunsigned long longÚfloatZdoublez long doublezfloat _Complexzdouble _ComplexZ_BoolZwchar_tZchar16_tZchar32_tZint8_tZuint8_tZint16_tZuint16_tZint32_tZuint32_tZint64_tZuint64_tZintptr_tZ uintptr_tZ ptrdiff_tZsize_tZssize_tZ int_least8_tZ uint_least8_tZ int_least16_tZuint_least16_tZ int_least32_tZuint_least32_tZ int_least64_tZuint_least64_tZ int_fast8_tZ uint_fast8_tZ int_fast16_tZ uint_fast16_tZ int_fast32_tZ uint_fast32_tZ int_fast64_tZ uint_fast64_tZintmax_tZ uintmax_tcCsg|]}d|tƒ|f‘qS)Z_CFFI_)Úglobals)Ú.0Z_keyrrrú ´srTÚF_UNIONÚF_CHECK_FIELDSÚF_PACKEDÚ F_EXTERNALÚF_OPAQUEZOP_NéÿÿÿÿéþÿÿÿéýÿÿÿrZ)rUrVrWrXrY)dÚerrorrÚobjectrrZ OP_PRIMITIVEZ OP_POINTERZOP_ARRAYZ OP_OPEN_ARRAYZOP_STRUCT_UNIONZOP_ENUMZ OP_FUNCTIONZOP_FUNCTION_ENDZOP_NOOPZ OP_BITFIELDZ OP_TYPENAMEZOP_CPYTHON_BLTN_VZOP_CPYTHON_BLTN_NZOP_CPYTHON_BLTN_OZ OP_CONSTANTZOP_CONSTANT_INTZ OP_GLOBAL_VARZOP_DLOPEN_FUNCZOP_DLOPEN_CONSTZOP_GLOBAL_VAR_FZOP_EXTERN_PYTHONZ PRIM_VOIDZ PRIM_BOOLZ PRIM_CHARZ PRIM_SCHARZ PRIM_UCHARZ PRIM_SHORTZ PRIM_USHORTZPRIM_INTZ PRIM_UINTZ PRIM_LONGZ PRIM_ULONGZ PRIM_LONGLONGZPRIM_ULONGLONGZ PRIM_FLOATZ PRIM_DOUBLEZPRIM_LONGDOUBLEZ PRIM_WCHARZ PRIM_INT8Z PRIM_UINT8Z PRIM_INT16Z PRIM_UINT16Z PRIM_INT32Z PRIM_UINT32Z PRIM_INT64Z PRIM_UINT64Z PRIM_INTPTRZ PRIM_UINTPTRZ PRIM_PTRDIFFZ PRIM_SIZEZ PRIM_SSIZEZPRIM_INT_LEAST8ZPRIM_UINT_LEAST8ZPRIM_INT_LEAST16ZPRIM_UINT_LEAST16ZPRIM_INT_LEAST32ZPRIM_UINT_LEAST32ZPRIM_INT_LEAST64ZPRIM_UINT_LEAST64ZPRIM_INT_FAST8ZPRIM_UINT_FAST8ZPRIM_INT_FAST16ZPRIM_UINT_FAST16ZPRIM_INT_FAST32ZPRIM_UINT_FAST32ZPRIM_INT_FAST64ZPRIM_UINT_FAST64Z PRIM_INTMAXZ PRIM_UINTMAXZPRIM_FLOATCOMPLEXZPRIM_DOUBLECOMPLEXZ PRIM_CHAR16Z PRIM_CHAR32Z _NUM_PRIMZ _UNKNOWN_PRIMZ_UNKNOWN_FLOAT_PRIMZ_UNKNOWN_LONG_DOUBLEZ_IO_FILE_STRUCTZPRIMITIVE_TO_INDEXrUrVrWrXrYÚdictZG_FLAGSr ÚlistrRÚitemsÚ_nameZ_valueÚ startswithr rrrrrÚs