o
    0فi                     @  sB   d dl mZ d dlmZ d dlZd dlmZ dddZd	d
 Z	dS )    )annotations)reduceN)
get_optionreturnstrc                 C  s"   t | tjtfr| td} | S )z3
    If we have bytes, decode them to unicode.
    zdisplay.encoding)
isinstancenpbytes_bytesdecoder   )s r   _/home/test-dt/pcm-url-check/venv/lib/python3.10/site-packages/pandas/core/computation/common.pyensure_decoded
   s   r   c                  G  s   zt j|  W S  ty   tt j|  Y S  tyl   ddlm} ddlm} t	| }g g }}|D ]}||r>|
| q2|
| q2|rfzt j| }W n ty\   tt j| }Y nw |||g  Y S || Y S w )zc
    Wrapper around numpy.result_type which overcomes the NPY_MAXARGS (32)
    argument limit.
    r   )find_common_type)is_extension_array_dtype)r   result_type
ValueErrorr   	TypeErrorpandas.core.dtypes.castr   pandas.core.dtypes.commonr   listappend)arrays_and_dtypesr   r   arr_and_dtypes	ea_dtypesnon_ea_dtypesarr_or_dtypenp_dtyper   r   r   result_type_many   s,   
r   )r   r   )

__future__r   	functoolsr   numpyr   pandas._configr   r   r   r   r   r   r   <module>   s    
	