U
    f                     @   s  d Z ddlZddlZddlZddlZdZdd ZdZzddlm	Z	 ee	j
ZW n ek
rb   Y nX dd Zedkred	rd
ZnedrdZndZedeZedkrededejkredkred dZdZedkr&z ddlmZ eejd< eZ[W n  ek
r$   ed Y nX ed
krlzddlmZ eZ[W n$ ek
rj   ed dZY nX zddlmZ dZW n ek
r   dZY nX dd Zdd Zdd ZdS )zLDetermine which implementation of the protobuf API is used in this process.
    NTc                 C   s,   | dkrdS | dkrt d| dkr(dS d S )N   cpp   z%api_version=1 is no longer supported.r   python)
ValueError)api_version r   O/tmp/pip-unpacked-wheel-avgmh5xq/google/protobuf/internal/api_implementation.py_ApiVersionToImplementationType   s    r
   )_api_implementationc                 C   s<   z t | }|st| d W dS  tk
r6   Y dS X d S )Nz import succeeded but was NoneTF)	importlibimport_moduleImportError)mod_namemodr   r   r	   
_CanImport)   s    
r   zgoogle._upb._messageupbzgoogle.protobuf.pyext._messager   r   Z&PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION)r   r   r   zdPROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION {0} is not supported. Please set to 'python', 'cpp' or 'upb'.PyPyz\PyPy does not work yet with cpp protocol buffers. Falling back to the python implementation.)_messagez/google3.net.proto2.python.internal.cpp._messagez-Selected implementation cpp is not available.zXSelected implementation upb is not available. Falling back to the python implementation.)(enable_deterministic_proto_serializationFc                   C   s   t S N)_implementation_typer   r   r   r	   Type   s    r   c                   C   s   dS )Nr   r   r   r   r   r	   Version   s    r   c                   C   s   t S r   ))_python_deterministic_proto_serializationr   r   r   r	   )IsPythonDefaultSerializationDeterministic   s    r   )__doc__r   ossyswarningsZ_GOOGLE3_PYTHON_UPB_DEFAULTr
   r   Zgoogle.protobuf.internalr   r   r   r   getenvr   formatversionwarnZ	_c_moduleZgoogle.protobuf.pyextr   modulesZgoogle._upbZgoogle.protobufr   r   r   r   r   r   r   r   r	   <module>   sx   






