$+JhdZddlZddlZddlZddlZddlZddlZddlmZ dZ ddl Z ddl mZddlZddlZdZdZdZed k(reyy#e $rdZ Y/wxYw#e $r dZdZdZY1wxYw) z'Module containing bug report helper(s).N) __version__) pyopensslc&tj}|dk(rtj}n|dk(rdjtj j tj jtj j}tj jdk7rbdj|tj jg}n6|dk(rtj}n|dk(rtj}nd}||d S) aReturn 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. CPythonPyPyz{}.{}.{}finalJython IronPythonUnknown)nameversion) platformpython_implementationpython_versionformatsyspypy_version_infomajorminormicro releaseleveljoin)implementationimplementation_versions //usr/lib/python3/dist-packages/requests/help.py_implementationrs335N"!)!8!8!: 6 !!+!2!2  ! ! ' '  ! ! ' '  ! ! ' '"   - - 8%'WW')>)>)K)KL& " 8 #!)!8!8!: < '!)!8!8!:!*"/E FFc L tjtjd}t }dt j i}ddi}ddi}trdtj i}trdtj i}ddd}tr-tj tjjdd}dttddi}dttddi}tj}d||dndi} ||| t dud ||||||dt"id S#t$rddd}YwxYw) z&Generate information for a bug report.)systemreleaser rNr )ropenssl_versionxrF) rr system_sslusing_pyopensslusing_charset_normalizer pyOpenSSLurllib3chardetcharset_normalizer cryptographyidnarequests)rr!r"OSErrorrr)rr+r*OpenSSLSSLOPENSSL_VERSION_NUMBERgetattrr,r-sslrrequests_version) platform_infoimplementation_info urllib3_infocharset_normalizer_info chardet_infopyopenssl_infocryptography_info idna_infor%system_ssl_infos rinfor?Bs`  oo''') *+w223L($/t$L#,.@.L.L"M!7#6#67 N**")++"D"DQ!G  7<; 743I++J z7MZNSUVO"-%$D0$)#5) '  E     s)DD#"D#cVttjtddy)z)Pretty-print the bug information as JSON.T) sort_keysindentN)printjsondumpsr?rrmainrH}s $**TVtA 67r__main__)__doc__rErr4rr-r)r rr5r+r* ImportErrorurllib3.contribrr,r0rr?rH__name__rGrrrNs-  -)  GF8v8  zFcG IGLs"AAAA A)(A)