a *Na@sdZddlmZddlZddlZddlZddlZddlZddlZddl m Z z ddl Z Wne yndZ Yn0z ddlZWne ydZYn0zddlmZWne ydZdZdZYn0ddlZddlZddZd d Zd d Zed kredS)z'Module containing bug report helper(s).)print_functionN) __version__) pyopensslcCst}|dkrt}nj|dkr\dtjjtjjtjjf}tjjdkrd |tjjg}n(|dkrnt}n|dkrt}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 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. CPythonPyPyz%s.%s.%sfinalJython IronPythonUnknown)nameversion) platformpython_implementationpython_versionsyspypy_version_infomajorminormicro releaseleveljoin)implementationimplementation_versionrh/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/requests/help.py_implementation#s$     rc Cszttd}Wnty2ddd}Yn0t}dtji}ddi}ddi}trbdtji}trpdtji}ddd}t rt jdt j j d}dt t ddi}dt tddi}tj }d|durd|ndi} ||| tdutdu||||||dtid S) z&Generate information for a bug report.)systemreleaser rNr )ropenssl_versionz%xr) rr system_sslZusing_pyopensslZusing_charset_normalizerZ pyOpenSSLurllib3chardetcharset_normalizer cryptographyidnarequests)rrrIOErrorrr"rr$r#OpenSSLZSSLOPENSSL_VERSION_NUMBERgetattrr%r&sslrrequests_version) Z platform_infoZimplementation_infoZ urllib3_infoZcharset_normalizer_infoZ chardet_infoZpyopenssl_infoZcryptography_infoZ idna_infor!Zsystem_ssl_inforrrinfoDsX         r.cCsttjtddddS)z)Pretty-print the bug information as JSON.T) sort_keysindentN)printjsondumpsr.rrrrmainsr5__main__)__doc__ __future__rr3rrr,r&r"r rr-r$ ImportErrorr#Zurllib3.contribrr)r%rr.r5__name__rrrrs:          !=