� ��^i� � � � d Z ddlmZ ddlZddlZddlZddlZddlmZ ddlm Z ddl mZ dZ ddlmZ n # e$ r dZY nw xY w dd lmZ ddlZddlZn# e$ r dZdZdZY nw xY wd � Zd� Zd� Zed k r e� � dS dS )z'Module containing bug report helper(s).� )�print_functionN)�idna)�urllib3� )�__version__)�chardet)� pyopensslc �� � t j � � } | dk rt j � � }n�| dk rst j j �dt j j �dt j j ��}t j j dk r&d� |t j j g� � }n6| dk rt j � � }n| dk rt j � � }nd}| |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 2.7.5 it will return {'name': 'CPython', 'version': '2.7.5'}. 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_versions ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/requests/help.py�_implementationr" s� � � �3�5�5�N���"�"�!)�!8�!:�!:��� �6� !� !�/2�/D�/J�/J�/J�/2�/D�/J�/J�/J�/2�/D�/J�/J�"L�� � �-��8�8�%'�W�W�&��(=�(J�.� &� &�"�� �8� #� #�!)�!8�!:�!:��� �<� '� '�!)�!8�!:�!:���!*��"�/E�F�F�F� c �J � t j � � t j � � d�} n# t $ r ddd�} Y nw xY wt � � }dt j i}ddi}ddi}t rdt j i}t rdt j i}ddd�}t r!t j dt j j z d�}dt t dd� � i}dt t dd� � i}t j }d|�d|z ndi} | || t dut du ||||||dt" id �S ) z&Generate information for a bug report.)�system�releaser r Nr )r �openssl_versionz%xr )r r � system_ssl�using_pyopenssl�using_charset_normalizer� pyOpenSSLr r �charset_normalizer�cryptographyr �requests)r r% r&