o
    Ø­jr  ã                   @   s  d Z ddlZddlZddlZddlZddlmZ ddlZddlZddl	m
Z zddlZW n ey7   dZY nw zddlZW n eyI   dZY nw zddlmZ W n eya   dZdZdZY n	w ddlZddlZdd„ Zd	eeef fd
d„Zdd„ Zedkr†eƒ  dS dS )z'Module containing bug report helper(s).é    N)ÚAnyé   )Ú__version__)Ú	pyopensslc                  C   s”   t  ¡ } | dkrt  ¡ }n8| dkr1tj}|j› d|j› d|j› �}tjjdkr0d 	|tjjg¡}n| dkr:t  ¡ }n| dkrCt  ¡ }nd}| |d	œS )
aÙ  Return a dict with the Python implementation and version.

    Provide both the name and the version of the Python implementation
    currently running. For example, on CPython 3.10.3 it will return
    {'name': 'CPython', 'version': '3.10.3'}.

    This function works best on CPython and PyPy: in particular, it probably
    doesn't work for Jython or IronPython. Future investigation should be done
    to work out the correct shape of the code for those platforms.
    ÚCPythonÚPyPyÚ.ÚfinalÚ ÚJythonÚ
IronPythonÚUnknown)ÚnameÚversion)
ÚplatformÚpython_implementationÚpython_versionÚsysÚpypy_version_infoÚmajorÚminorÚmicroÚreleaselevelÚjoin)ÚimplementationÚimplementation_versionÚpypy© r   úJ/var/www/html/CropPilot/venv/lib/python3.10/site-packages/requests/help.pyÚ_implementation%   s"   

ÿ€


r   Úreturnc            
      C   sú   zt  ¡ t  ¡ dœ} W n ty   dddœ} Y nw tƒ }dtji}ddi}ddi}tr1dtji}tr8dtji}dddœ}t	rIt	jt	j
jd›dœ}dttddƒi}dttddƒi}tj}d|dure|d›ndi}	| ||	tdutdu ||||||dtid	œS )
z&Generate information for a bug report.)ÚsystemÚreleaser   r   Nr
   )r   Úopenssl_versionÚxr   )r   r   Ú
system_sslÚusing_pyopensslÚusing_charset_normalizerÚ	pyOpenSSLÚurllib3ÚchardetÚcharset_normalizerÚcryptographyÚidnaÚrequests)r   r!   r"   ÚOSErrorr   r)   r   r+   r*   ÚOpenSSLÚSSLÚOPENSSL_VERSION_NUMBERÚgetattrr,   r-   Ússlr   Úrequests_version)
Úplatform_infoÚimplementation_infoÚurllib3_infoÚcharset_normalizer_infoÚchardet_infoÚpyopenssl_infoÚcryptography_infoÚ	idna_infor%   Úsystem_ssl_infor   r   r   ÚinfoE   sX   
þ
þÿ


þ
þÿÿÿôr?   c                   C   s   t tjtƒ ddd�ƒ dS )z)Pretty-print the bug information as JSON.Té   )Ú	sort_keysÚindentN)ÚprintÚjsonÚdumpsr?   r   r   r   r   Úmain€   s   rF   Ú__main__)Ú__doc__rD   r   r4   r   Útypingr   r-   r)   r
   r   r5   r+   ÚImportErrorr*   Úurllib3.contribr   r0   r,   r   ÚdictÚstrr?   rF   Ú__name__r   r   r   r   Ú<module>   sD    ÿÿý ;
ÿ