o
    àý°j[  ã                   @   s  d dl mZ G dd„ dƒZdd„ Zd ZdZdZdZd	Zd
Z	dZ
dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd ZdZdZdZdZdZdZ dZ!d	Z"dZ#d
Z$d Z%dZ&d!Z'dZ(d"Z)dZ*d#Z+dZ,d$Z-dZ.d%Z/dZ0d&Z1dZ2d'Z3dZ4d(Z5dZ6d)Z7dZ8d*Z9dZ:d+Z;dZ<d,Z=dZ>d-Z?dZ@d.ZAdZBd/ZCd0ZDd1ZEd2ZFd3ZGd4ZHd5ZId6ZJd7ZKd8ZLd9ZMd:ZNd;ZOd<ZPd:ZQi d=e“d>e“d?e “d@e"“dAe$“dBe“dCe“dDe“dEe!“dFe#“dGe%“dHe&“dIe'“dJe(“dKeI“dLeJ“dMe“i dNe)“dOeK“dPeL“dQe*“dRe+“dSe,“dTe-“dUe.“dVe/“dWe0“dXe1“dYe2“dZe3“d[e4“d\e5“d]e6“d^e7“¥i d_e8“d`e9“dae:“dbe;“dce<“dde=“dee>“dfe?“dge@“dheA“dieB“djeC“dkeD“dleE“dmeF“dneG“doeH“¥ZRd ZSdZTdZUdZVd"ZWeXdpdq„ drD ƒƒZYi ZZe[e\ƒ  ]¡ ƒD ]\Z^Z_e^ `ds¡�r€eae_ebƒ�r€e^ddt… eZe_< �qhdtS )ué   )ÚVerificationErrorc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚCffiOpc                 C   s   || _ || _d S )N)ÚopÚarg)Úselfr   r   © r   úƒ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/cffi/cffi_opcode.pyÚ__init__   s   
zCffiOp.__init__c                 C   s>   | j d u rt| jtƒsJ ‚d| jf S t| j  }d|| jf S )Nz(_cffi_opcode_t)(%s)z_CFFI_OP(_CFFI_OP_%s, %s))r   Ú
isinstancer   ÚstrÚ
CLASS_NAME©r   Ú	classnamer   r   r   Ú	as_c_expr   s
   

zCffiOp.as_c_exprc                 C   sn   | j d u r| j ¡ rt| jƒ}|dkrtd| jf ƒ‚t|ƒS t| jtƒr-td| jf ƒ‚t| jd> | j B ƒS )Nl        z"cannot emit %r: limited to 2**31-1zcannot emit to Python: %ré   )	r   r   ÚisdigitÚintÚOverflowErrorÚformat_four_bytesr
   r   r   )r   Úvaluer   r   r   Úas_python_bytes   s   
ÿzCffiOp.as_python_bytesc                 C   s   t  | j| j¡}d|| jf S )Nz(%s %s))r   Úgetr   r   r   r   r   r   Ú__str__   s   zCffiOp.__str__N)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r   r   r   r      s
    r   c                 C   s,   d| d? d@ | d? d@ | d? d@ | d@ f S )Nz\x%02X\x%02X\x%02X\x%02Xé   éÿ   é   r   r   )Únumr   r   r   r      s   


ür   é   é   é   é	   é   é   é   é   é   é   é   é   é   é   é   é!   é#   é%   é'   é)   é    é   é   é   r   é
   é   é   r   é   é   é   r   é   é   é   é    é"   é$   é&   é(   é*   é+   é,   é-   é.   é/   é0   é1   é2   é3   é4   éÿÿÿÿéþÿÿÿéýÿÿÿÚcharÚshortr   Úlongz	long longzsigned charzunsigned charzunsigned shortzunsigned intzunsigned longzunsigned long longÚfloatÚdoublezlong doubleÚ_cffi_float_complex_tÚ_cffi_double_complex_tÚ_BoolÚwchar_tÚchar16_tÚchar32_tÚint8_tÚuint8_tÚint16_tÚuint16_tÚint32_tÚuint32_tÚint64_tÚuint64_tÚintptr_tÚ	uintptr_tÚ	ptrdiff_tÚsize_tÚssize_tÚint_least8_tÚuint_least8_tÚint_least16_tÚuint_least16_tÚint_least32_tÚuint_least32_tÚint_least64_tÚuint_least64_tÚint_fast8_tÚuint_fast8_tÚint_fast16_tÚuint_fast16_tÚint_fast32_tÚuint_fast32_tÚint_fast64_tÚuint_fast64_tÚintmax_tÚ	uintmax_tc                 C   s   g | ]}d | t ƒ | f‘qS )Ú_CFFI_)Úglobals)Ú.0Ú_keyr   r   r   Ú
<listcomp>´   s    ÿr‚   )ÚF_UNIONÚF_CHECK_FIELDSÚF_PACKEDÚ
F_EXTERNALÚF_OPAQUEÚOP_N)cÚerrorr   r   r   ÚOP_PRIMITIVEÚ
OP_POINTERÚOP_ARRAYÚOP_OPEN_ARRAYÚOP_STRUCT_UNIONÚOP_ENUMÚOP_FUNCTIONÚOP_FUNCTION_ENDÚOP_NOOPÚOP_BITFIELDÚOP_TYPENAMEÚOP_CPYTHON_BLTN_VÚOP_CPYTHON_BLTN_NÚOP_CPYTHON_BLTN_OÚOP_CONSTANTÚOP_CONSTANT_INTÚOP_GLOBAL_VARÚOP_DLOPEN_FUNCÚOP_DLOPEN_CONSTÚOP_GLOBAL_VAR_FÚOP_EXTERN_PYTHONÚ	PRIM_VOIDÚ	PRIM_BOOLÚ	PRIM_CHARÚ
PRIM_SCHARÚ
PRIM_UCHARÚ
PRIM_SHORTÚPRIM_USHORTÚPRIM_INTÚ	PRIM_UINTÚ	PRIM_LONGÚ
PRIM_ULONGÚPRIM_LONGLONGÚPRIM_ULONGLONGÚ
PRIM_FLOATÚPRIM_DOUBLEÚPRIM_LONGDOUBLEÚ
PRIM_WCHARÚ	PRIM_INT8Ú
PRIM_UINT8Ú
PRIM_INT16ÚPRIM_UINT16Ú
PRIM_INT32ÚPRIM_UINT32Ú
PRIM_INT64ÚPRIM_UINT64ÚPRIM_INTPTRÚPRIM_UINTPTRÚPRIM_PTRDIFFÚ	PRIM_SIZEÚ
PRIM_SSIZEÚPRIM_INT_LEAST8ÚPRIM_UINT_LEAST8ÚPRIM_INT_LEAST16ÚPRIM_UINT_LEAST16ÚPRIM_INT_LEAST32ÚPRIM_UINT_LEAST32ÚPRIM_INT_LEAST64ÚPRIM_UINT_LEAST64ÚPRIM_INT_FAST8ÚPRIM_UINT_FAST8ÚPRIM_INT_FAST16ÚPRIM_UINT_FAST16ÚPRIM_INT_FAST32ÚPRIM_UINT_FAST32ÚPRIM_INT_FAST64ÚPRIM_UINT_FAST64ÚPRIM_INTMAXÚPRIM_UINTMAXÚPRIM_FLOATCOMPLEXÚPRIM_DOUBLECOMPLEXÚPRIM_CHAR16ÚPRIM_CHAR32Ú	_NUM_PRIMÚ_UNKNOWN_PRIMÚ_UNKNOWN_FLOAT_PRIMÚ_UNKNOWN_LONG_DOUBLEÚ_IO_FILE_STRUCTÚPRIMITIVE_TO_INDEXrƒ   r„   r…   r†   r‡   ÚdictÚG_FLAGSr   Úlistr   ÚitemsÚ_nameÚ_valueÚ
startswithr
   r   r   r   r   r   Ú<module>   sŒ   ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í6ÿ€þ