§
    tŠtj�€  ã                  ó,  — d dl mZ d dlmZ d dlmZ d dlZd dlmZ d dlZd dl	m
Z
mZmZmZmZ d dlZd dlZd dlmZmZ d dlmc mZ d dlmZ d d	lmZ d d
lmZmZ d dl m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7m8Z8 d dl9m:Z:m;Z;m<Z<m=Z= d dl>m?Z? d dl@mAZB d dlCmDZD e
rd dlEmFZFmGZGmHZHmIZI d dlJmKZKmLZLmMZMmNZNmOZOmPZP  G d„ d¦  «        ZQ	 	 	 dXdYd"„ZRi d#d“d$d“d%d&“d'ejS        “d(d“d)d“d*d“d+d,“d-d“d.d“d/d“d0d “d1d“d2d“d3d“d4d“d5d“i d6d“d7d“dd“d8d“d9d“d:d;“d<d“dd“d d“d=d“d>d“d?d“d@d“dAd“dBdC“dDeQjT        jU        “dEejV        “¥ZWdZdF„ZXd[dH„ZYd\dM„ZZdN„ Z[ed]dR„¦   «         Z\ed^dT„¦   «         Z\d_dW„Z\dS )`é    )Úannotations)Údefaultdict©ÚcopyN)ÚEnum)ÚTYPE_CHECKINGÚAnyÚcastÚfinalÚoverload)ÚlibÚparsers)ÚSTR_NA_VALUES)Úimport_optional_dependency)ÚParserErrorÚParserWarning)Úfind_stack_level)Úis_bool_dtypeÚis_dict_likeÚis_float_dtypeÚ
is_integerÚis_integer_dtypeÚis_list_likeÚis_object_dtypeÚis_string_dtype)Úisna)Ú	DataFrameÚDatetimeIndexÚStringDtype)Ú
algorithms)ÚArrowExtensionArrayÚBaseMaskedArrayÚBooleanArrayÚFloatingArrayÚIntegerArray)ÚIndexÚ
MultiIndexÚdefault_indexÚensure_index_from_sequences©ÚSeries)Ú	datetimes)Úis_potential_multi_index)ÚCallableÚIterableÚMappingÚSequence)Ú	ArrayLikeÚDtypeArgÚHashableÚ	HashableTÚScalarÚ	SequenceTc                  óò  — e Zd ZU  G d„ de¦  «        Zded<   ded<   ded<   ded<   ded<   d	ed
<   dCd„ZdCd„ZedDd„¦   «         Z	e	 dEdFd„¦   «         Z
e	 dGdHd„¦   «         Ze	 dGdId!„¦   «         Zed"„ ¦   «         ZedJd$„¦   «         ZedKd*„¦   «         Ze	 dLdMd.„¦   «         ZedNd1„¦   «         ZedOd3„¦   «         ZedPd6„¦   «         ZedQd8„¦   «         ZedRd;„¦   «         ZedSd=„¦   «         Ze	 dGdTdB„¦   «         ZdS )UÚ
ParserBasec                  ó   — e Zd ZdZdZdZdS )úParserBase.BadLineHandleMethodr   é   é   N)Ú__name__Ú
__module__Ú__qualname__ÚERRORÚWARNÚSKIP© ó    ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/io/parsers/base_parser.pyÚBadLineHandleMethodr;   W   s   € € € € € ØˆØˆØˆˆˆrE   rG   ÚboolÚ_implicit_indexÚ_first_chunkÚkeep_default_naÚdayfirstÚcache_datesz
str | NoneÚusecols_dtypeÚreturnÚNonec                ó$  — d| _         |                     d¦  «        | _        d | _        |                     dd ¦  «        | _        t          ¦   «         | _        d | _        d | _        | 	                    dd¦  «        }|�t          j        |¦  «        rt          |¦  «        }n$t          |t          ¦  «        st          d¦  «        ‚|| _        | 	                    dt          j        ¦  «        | _        | 	                    dd ¦  «        | _        | 	                    dd¦  «        | _        |                     d	¦  «        | _        |                     d
¦  «        | _        |                     dd¦  «        | _        |                     dd¦  «        | _        t3          |                     dd ¦  «        ¦  «        | _        |                     d¦  «        | _        |                     d¦  «        | _        |                     d¦  «        | _        |                     d¦  «        | _        | 	                    dd¦  «        | _        |                     d¦  «        | _         tC          | j         d¬¦  «        rÖ|                     d¦  «        rtE          d¦  «        ‚|                     d¦  «        rtE          d¦  «        ‚| j        �‡tG          | j        ¦  «        r| j        g| _        netC          | j        d¬¦  «        r'tI          tK          tF          | j        ¦  «        ¦  «        stE          d¦  «        ‚t          | j        ¦  «        | _        d| _&        tO          |d         ¦  «        \  | _(        | _)        |                     d| j*        j+        ¦  «        | _,        d S )NFÚnamesÚ	index_colÚparse_dateszDOnly booleans and lists are accepted for the 'parse_dates' parameterÚdate_parserÚdate_formatrL   Ú	na_valuesÚ
na_fvaluesÚ	na_filterrK   TÚdtypeÚ
convertersÚdtype_backendÚtrue_valuesÚfalse_valuesrM   Úheader)Ú
allow_setsÚusecolsz;cannot specify usecols when specifying a multi-index headerz9cannot specify names when specifying a multi-index headerz]index_col must only contain integers of column positions when specifying a multi-index headerÚon_bad_lines)-rI   ÚgetrR   Ú
orig_namesrS   ÚsetÚunnamed_colsÚindex_namesÚ	col_namesÚpopr   Úis_boolrH   Ú
isinstanceÚlistÚ	TypeErrorrT   Ú
no_defaultrU   rV   rL   rW   rX   rY   rK   r   rZ   r[   r\   r]   r^   rM   r_   r   Ú
ValueErrorr   ÚallÚmaprJ   Ú_validate_usecols_argra   rN   rG   rA   rb   )ÚselfÚkwdsrT   s      rF   Ú__init__zParserBase.__init__c   s#  € Ø$ˆÔà—X’X˜gÑ&Ô&ˆŒ
Ø59ˆŒàŸš +¨tÑ4Ô4ˆŒÝ!$¡¤ˆÔØ6:ˆÔØ48ˆŒà—h’h˜}¨eÑ4Ô4ˆØÐ¥#¤+¨kÑ":Ô":ÐÝ˜{Ñ+Ô+ˆKˆKÝ˜K­Ñ.Ô.ð 	ÝØVñô ð ð )4ˆÔØŸ8š8 Mµ3´>ÑBÔBˆÔØŸ8š8 M°4Ñ8Ô8ˆÔØŸš ¨UÑ3Ô3ˆŒàŸš +Ñ.Ô.ˆŒØŸ(š( <Ñ0Ô0ˆŒØŸš +¨uÑ5Ô5ˆŒØ#ŸxšxÐ(9¸4Ñ@Ô@ˆÔå˜$Ÿ(š( 7¨DÑ1Ô1Ñ2Ô2ˆŒ
ØŸ(š( <Ñ0Ô0ˆŒØ!ŸXšX oÑ6Ô6ˆÔàŸ8š8 MÑ2Ô2ˆÔØ ŸHšH ^Ñ4Ô4ˆÔØŸ8š8 M°4Ñ8Ô8ˆÔð —h’h˜xÑ(Ô(ˆŒÝ˜œ°Ð6Ñ6Ô6ð 	:Ø�xŠx˜	Ñ"Ô"ð Ý ØQñô ð ð �xŠx˜Ñ Ô ð Ý ØOñô ð ð
 Œ~Ð)å˜dœnÑ-Ô-ð :Ø&*¤nÐ%5�D”N�Nå  ¤¸EÐBÑBÔBð	:å�C¥
¨D¬NÑ;Ô;Ñ<Ô<ð	:õ %ð?ñô ð õ
 &*¨$¬.Ñ%9Ô%9�D”Nà ˆÔå+@ÀÀiÄÑ+QÔ+QÑ(ˆŒ�dÔ(ð !ŸHšH ^°TÔ5MÔ5SÑTÔTˆÔÐÐrE   c                ó   — d S ©NrD   )rs   s    rF   ÚclosezParserBase.close«   s   € ØˆrE   ÚiÚintc                óÊ   — t          | j        t          ¦  «        r| j        S | j        �| j        |         }nd }| j        €|n| j        |         }|| j        v p|d uo|| j        v S rw   )rk   rT   rH   rg   rS   )rs   ry   ÚnameÚjs       rF   Ú_should_parse_dateszParserBase._should_parse_dates®   s~   € å�dÔ&­Ñ-Ô-ð 	ØÔ#Ð#àÔÐ+ØÔ'¨Ô*��à�Ø”^Ð+��°´ÀÔ1BˆAà˜Ô)Ð)ð Ø˜DÐ Ð= T¨TÔ-=Ð%=ðrE   Frg   úSequence[Hashable] | NoneÚpassed_namesúUtuple[Sequence[Hashable], Sequence[Hashable] | None, Sequence[Hashable] | None, bool]c                óð  ‡ ‡	‡
‡‡— t          |¦  «        dk     r|d         |d|fS ‰ j        Š‰€g Št          ‰t          t          t
          j        f¦  «        s‰gŠt          ‰¦  «        Š|                     d¦  «        }‰  	                    |‰ j        ¦  «        \  }}}t          |d         ¦  «        Š
t          ˆ
fd„|dd…         D ¦   «         ¦  «        st          d¦  «        ‚ˆ
ˆfd„Š	t          t          ˆ	fd	„|D ¦   «         d
diŽ¦  «        }|                     ¦   «         }t          ‰¦  «        D ]}|                     ||¦  «         Œ‰rˆˆ fd„|D ¦   «         }ndgt          |¦  «        z  }d}||||fS )a‚  
        Extract and return the names, index_names, col_names if the column
        names are a MultiIndex.

        Parameters
        ----------
        header: list of lists
            The header rows
        index_names: list, optional
            The names of the future index
        passed_names: bool, default False
            A flag specifying if names where passed

        r=   r   Néÿÿÿÿc              3  ó>   •K  — | ]}t          |¦  «        ‰k    V — Œd S rw   )Úlen)Ú.0Úheader_iterÚfield_counts     €rF   ú	<genexpr>z<ParserBase._extract_multi_indexer_columns.<locals>.<genexpr>ê   s0   øè è € ÐQÐQ°{•3�{Ñ#Ô# {Ò2ÐQÐQÐQÐQÐQÐQrE   r<   z1Header rows must have an equal number of columns.c                óX   •‡ — t          ˆ ˆfd„t          ‰¦  «        D ¦   «         ¦  «        S )Nc              3  ó0   •K  — | ]}|‰v¯‰|         V — Œd S rw   rD   )r†   ry   ÚrÚsics     €€rF   r‰   zMParserBase._extract_multi_indexer_columns.<locals>.extract.<locals>.<genexpr>î   s+   øè è € ÐJÐJ !¸QÀc¸\¸\˜˜1œ¸\¸\¸\¸\ÐJÐJrE   )ÚtupleÚrange)rŒ   rˆ   r�   s   `€€rF   Úextractz:ParserBase._extract_multi_indexer_columns.<locals>.extractí   s2   øø€ ÝÐJÐJÐJÐJÐJ¥u¨[Ñ'9Ô'9ÐJÑJÔJÑJÔJÐJrE   c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S rw   rD   )r†   rŒ   r�   s     €rF   r‰   z<ParserBase._extract_multi_indexer_columns.<locals>.<genexpr>ð   s+   øè è € Ð8Ð8¨A˜W˜W Q™ZœZÐ8Ð8Ð8Ð8Ð8Ð8rE   ÚstrictTc                óv   •— g | ]5}|‰d                   �#|‰d                   ‰j         vr|‰d                   nd‘Œ6S )r   N)rf   )r†   rŒ   Úicrs   s     €€rF   ú
<listcomp>z=ParserBase._extract_multi_indexer_columns.<locals>.<listcomp>÷   s]   ø€ ð ð ð ð ð �r˜!”u”XÐ)¨q°°A´¬x¸tÔ?PÐ/PÐ/Pð �"�Q”%”�àðð ð rE   )r…   rS   rk   rl   rŽ   ÚnpÚndarrayre   ri   Ú_clean_index_namesrp   r   Úzipr   ÚsortedÚinsert)rs   r_   rg   r€   Ú_ÚcolumnsrR   Ú	single_icrh   r�   rˆ   r”   r�   s   `        @@@@rF   Ú_extract_multi_indexer_columnsz)ParserBase._extract_multi_indexer_columns½   sÛ  øøøøø€ õ. ˆv‰;Œ;˜Š?ˆ?Ø˜!”9˜k¨4°Ð=Ð=ð
 Œ^ˆØˆ:ØˆBå˜"�t¥U­B¬JÐ7Ñ8Ô8ð 	Ø�ˆBÝ�"‰gŒgˆð —j’j ‘n”nˆØ ×3Ò3°KÀÄÑPÔPÑˆ�Q˜õ ˜& œ)‘n”nˆõ ÐQÐQÐQÐQÀfÈQÈRÈRÄjÐQÑQÔQÑQÔQð 	SÝÐQÑRÔRÐRð	Kð 	Kð 	Kð 	Kð 	Kð 	Kõ •sÐ8Ð8Ð8Ð8°Ð8Ñ8Ô8ÐFÀÐFÐFÑGÔGˆØ—’‘”ˆÝ ™œð 	/ð 	/ˆIØ�LŠL˜ IÑ.Ô.Ð.Ð.ð ð 	-ðð ð ð ð ð  ð	ñ ô ˆIˆIð ˜¥ V¡¤Ñ,ˆIàˆà�k 9¨lÐ:Ð:rE   Nr�   r7   rh   úSequenceT | MultiIndexc                óp   — t          |¦  «        r&t          d|¦  «        }t          j        ||¬¦  «        S |S )NzSequence[tuple[Hashable, ...]])rR   )r-   r
   r'   Úfrom_tuples)rs   r�   rh   Ú
columns_mis       rF   Ú_maybe_make_multi_index_columnsz*ParserBase._maybe_make_multi_index_columns  s@   € õ $ GÑ,Ô,ð 	GÝÐ>ÀÑHÔHˆJÝÔ)¨*¸IÐFÑFÔFÐFØˆrE   Úindexnamerowúlist[Scalar] | Noneú4tuple[Index | None, Sequence[Hashable] | MultiIndex]c                ó   — t          | j        t          ¦  «        �rt          | j        ¦  «        rÿg }g }| j        D ]Z}t          |t          ¦  «        rt          d|› d�¦  «        ‚|                     |¦  «         |                     ||         ¦  «         Œ[t          |d¬¦  «        D ]3}|                     |¦  «         | j	        s|                     |¦  «         Œ4|  
                    |¦  «        }|r<t          |¦  «        t          |¦  «        z
  }	|                     |d |	…         ¦  «        }nd }|                      || j        ¦  «        }||fS )NzIndex z invalidT)Úreverse)rk   rS   rl   r…   Ústrro   Úappendrš   ri   rI   Ú
_agg_indexÚ	set_namesr¤   rh   )
rs   Úalldatar�   r¥   Ú	to_removeÚindexesÚidxry   ÚindexÚcoffsets
             rF   Ú_make_indexzParserBase._make_index  s\  € õ
 �d”n¥dÑ+Ô+ñ 	µ°D´NÑ0CÔ0Cð 	ØˆIØˆGØ”~ð -ð -�Ý˜c¥3Ñ'Ô'ð =Ý$Ð%;¨cÐ%;Ð%;Ð%;Ñ<Ô<Ð<Ø× Ò  Ñ%Ô%Ð%Ø—’˜w sœ|Ñ,Ô,Ð,Ð,õ ˜I¨tÐ4Ñ4Ô4ð #ð #�Ø—’˜A‘”�ØÔ+ð #Ø—K’K ‘N”N�NøØ—O’O GÑ,Ô,ˆEð ð @Ý˜lÑ+Ô+­c°'©l¬lÑ:�ØŸš¨°X°g°XÔ(>Ñ?Ô?�øàˆEð ×6Ò6°wÀÄÑOÔOˆà�gˆ~ÐrE   c                ó¸  ‡— t          ‰t          ¦  «        s‰S i }| j        €J ‚‰                     ¦   «         D ]5\  }}t          |t          ¦  «        r|| j        vr| j        |         }|||<   Œ6t          ‰t
          ¦  «        rWt          | j        ¦  «        t          |                     ¦   «         ¦  «        z
  }|                     ˆfd„|D ¦   «         ¦  «         |S )zconverts col numbers to namesNc                ó"   •— i | ]}|‰|         “ŒS rD   rD   )r†   ÚcolÚmappings     €rF   ú
<dictcomp>z-ParserBase._clean_mapping.<locals>.<dictcomp>@  s   ø€ ÐFÐFÐF°˜#˜w sœ|ÐFÐFÐFrE   )	rk   Údictrd   Úitemsrz   r   re   ÚkeysÚupdate)rs   r¸   Úcleanr·   ÚvÚremaining_colss    `    rF   Ú_clean_mappingzParserBase._clean_mapping1  sâ   ø€ õ ˜'¥4Ñ(Ô(ð 	ØˆNØˆàŒÐ*Ð*Ð*à—m’m‘o”oð 	ð 	‰FˆC�Ý˜#�sÑ#Ô#ð +¨°4´?Ð(BÐ(BØ”o cÔ*�ØˆE�#‰JˆJÝ�g�{Ñ+Ô+ð 	HÝ  ¤Ñ1Ô1µC¸¿
º
¹¼Ñ4EÔ4EÑEˆNØ�LŠLÐFÐFÐFÐF°~ÐFÑFÔFÑGÔGÐGØˆrE   r&   c                ó$  — g }|                       | j        ¦  «        }|                       | j        ¦  «        }| j        �
| j        }d}nt	          j        d g¦  «        }d}t          t          |||¬¦  «        ¦  «        D �]ã\  }\  }}	|                      |¦  «        r7t          || j        �| j        |         nd | j
        | j        | j        ¬¦  «        }| j        r| j        }
| j        }nt!          ¦   «         }
t!          ¦   «         }t#          | j        t$          ¦  «        rY| j        €J ‚| j        |         }|�%t'          || j        | j        | j        ¦  «        \  }
}nt!          ¦   «         t!          ¦   «         }}
d }d}| j        �mt#          |t$          ¦  «        r!|                     | j        |         d ¦  «        }t#          |t$          ¦  «        r"|                     | j        |         ¦  «        d u}|rt-          |¦  «        p| }|                      ||
|z  |d u |¦  «        \  }}|�t1          ||	|d¬¦  «        }nt3          |g|	g¦  «        }|                     |¦  «         �Œåt7          |¦  «        dk    r|d         S t9          j        |¦  «        S )NTF)r’   ©r·   rL   rM   rV   )r|   rZ   r   r<   r   )rÁ   r[   rZ   rg   Ú	itertoolsÚcycleÚ	enumerater™   r~   Údate_converterrL   rM   rV   rY   rW   rX   re   rk   rº   Úget_na_valuesrK   rc   r   Ú_infer_typesr&   r)   r«   r…   r'   Úfrom_arrays)rs   r²   Úarraysr[   Úclean_dtypesrR   Ú
zip_strictry   Úarrr|   Úcol_na_valuesÚcol_na_fvaluesÚcol_nameÚ	cast_typeÚindex_converterÚtry_num_boolrœ   r±   s                     rF   r¬   zParserBase._agg_indexC  s·  € àˆØ×(Ò(¨¬Ñ9Ô9ˆ
Ø×*Ò*¨4¬:Ñ6Ô6ˆàÔÐ'Ø"Ô.ˆEØˆJˆJå”O T FÑ+Ô+ˆEØˆJÝ'­¨E°5ÀÐ(LÑ(LÔ(LÑMÔMð 0	ñ 0	‰NˆA‰{��TØ×'Ò'¨Ñ*Ô*ð Ý$ØØ/3Ô/?Ð/K˜Ô(¨Ô+Ð+ÐQUØ!œ]Ø $Ô 0Ø $Ô 0ðñ ô �ð Œ~ð 'Ø $¤�Ø!%¤��å #¡¤�Ý!$¡¤�å˜$œ.­$Ñ/Ô/ð AØÔ'Ð3Ð3Ð3ØÔ+¨AÔ.�ØÐ'Ý4AØ  $¤.°$´/À4ÔCWñ5ô 5Ñ1�M > >õ 58±E´E½3¹5¼5 >�MàˆIØ#ˆOØÔÐ+Ý˜l­DÑ1Ô1ð LØ ,× 0Ò 0°Ô1AÀ!Ô1DÀdÑ KÔ K�Iå˜j­$Ñ/Ô/ð VØ&0§n¢n°TÔ5EÀaÔ5HÑ&IÔ&IÐQUÐ&U�Oð Ð9�¨yÑ9Ô9ÐM¸oðˆLð ×&Ò&Ø�] ^Ñ3°YÀ$Ð5FÈñô ‰FˆC�ð Ð$å˜C d°)À%ÐHÑHÔH��å1°3°%¸$¸Ñ@Ô@�Ø�MŠM˜#ÑÔÐÑåˆv‰;Œ;˜!ÒÐØ˜!”9ÐåÔ)¨&Ñ1Ô1Ð1rE   Úcol_indicesú	list[int]rR   úSequence[Hashable]úset[int]c                óT  ‡‡‡— t          ¦   «         }| j        dk    rt          | j        ¦  «        Šn"t	          | j        ¦  «        s	| j        dvr‰ŠndŠdˆˆˆfd„}t          | j        t          ¦  «        r>t          | j        ‰¦  «         | j        D ] }| 	                     ||¦  «        ¦  «         Œ!nt| j        rmt          | j
        t          ¦  «        r)| j
        D ] }| 	                     ||¦  «        ¦  «         Œ!n*| j
        �#| 	                     || j
        ¦  «        ¦  «         |S )a…  
        Set the columns that should not undergo dtype conversions.

        Currently, any column that is involved with date parsing will not
        undergo such conversions. If usecols is specified, the positions of the columns
        not to cast is relative to the usecols not to all columns.

        Parameters
        ----------
        col_indices: The indices specifying order and positions of the columns
        names: The column names which order is corresponding with the order
               of col_indices

        Returns
        -------
        A set of integers containing the positions of the columns not to convert.
        Úinteger)ÚemptyNNrO   rz   c                óŽ   •— ‰�t          | ¦  «        r‰|          } t          | ¦  «        s‰‰                     | ¦  «                 } | S rw   )r   r²   )ÚxrÕ   rR   ra   s    €€€rF   Ú_setz5ParserBase._set_noconvert_dtype_columns.<locals>._set©  sD   ø€ ØÐ"¥z°!¡}¤}Ð"Ø˜A”J�å˜a‘=”=ð 0Ø §¢¨A¡¤Ô/�àˆHrE   )rO   rz   )re   rN   rš   ra   Úcallablerk   rT   rl   Úvalidate_parse_dates_presenceÚaddrS   )rs   rÕ   rR   Únoconvert_columnsrÞ   ÚvalÚkra   s    ``    @rF   Ú_set_noconvert_dtype_columnsz'ParserBase._set_noconvert_dtype_columns†  sm  øøø€ õ,  ™EœEÐØÔ Ò*Ð*õ ˜Tœ\Ñ*Ô*ˆGˆGÝ�d”lÑ#Ô#ð 	 tÔ'9ÀÐ'PÐ'Pð "ˆGˆGð ˆGð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ �dÔ&­Ñ-Ô-ð 
	<Ý)¨$Ô*:¸EÑBÔBÐBØÔ'ð 1ð 1�Ø!×%Ò% d d¨3¡i¤iÑ0Ô0Ð0Ð0ð1ð Ôð 	<Ý˜$œ.­$Ñ/Ô/ð <Øœð 3ð 3�AØ%×)Ò)¨$¨$¨q©'¬'Ñ2Ô2Ð2Ð2ð3à”Ð+Ø!×%Ò% d d¨4¬>Ñ&:Ô&:Ñ;Ô;Ð;à Ð rE   TrÔ   útuple[ArrayLike, int]c                óÌ	  — d}t          |j        j        t          j        t          j        f¦  «        r´t          j        d„ |D ¦   «         ¦  «        }t          j        ||¦  «        }| 	                    dd¬¦  «         
                    ¦   «         }|dk    rNt          |¦  «        r| 	                    t          j        ¦  «        }t          j        ||t          j        ¦  «         ||fS | j        }|o|t           j        u}|�rft%          |j        ¦  «        �rQ	 t!          j        ||d|¬¦  «        \  }	}
|rã|
€%t          j        |	j        t          j        ¬¦  «        }
|
                     ¦   «         r4t/          t          j        |
j        t          j        ¬¦  «        |
¦  «        }	n_t          |	¦  «        rt/          |	|
¦  «        }	n?t5          |	¦  «        rt7          |	|
¦  «        }	nt9          |	¦  «        rt;          |	|
¦  «        }	|
 
                    ¦   «         }n|t=          |	¦  «         
                    ¦   «         }nZ# t>          t@          f$ r tC          j"        ||¦  «        }|}	Y n0w xY w|}	|j        t          j#        k    rtC          j"        ||¦  «        }|	j        t          j#        k    �r|�rtI          |	¦  «        dk    stK          |	d         tL          ¦  «        sìtO          j(        t          j)        |¦  «        | j*        | j+        |¬	¦  «        \  }	}|	j        t          j        k    r:|r8|€%t          j        |	j        t          j        ¬¦  «        }t7          |	|¦  «        }	nf|	j        t          j#        k    rQ|rOt!          j,        |	d
¬¦  «        s9t[          ¦   «         }| .                    ¦   «         }| /                    ||¬¦  «        }	|dk    �rta          d¦  «        }tK          |	t          j1        ¦  «        r%te          |                     |	d
¬¦  «        ¦  «        }	nÇtK          |	tf          ¦  «        r||	j4                             ¦   «         r4te          |                     dgtI          |	¦  «        z  ¦  «        ¦  «        }	nete          |                     |	j5        |	j4        ¬¦  «        ¦  «        }	n6te          |                     |	 6                    ¦   «         d
¬¦  «        ¦  «        }	|	|fS )a«  
        Infer types of values, possibly casting

        Parameters
        ----------
        values : ndarray
        na_values : set
        no_dtype_specified: Specifies if we want to cast explicitly
        try_num_bool : bool, default try
           try to cast values to numeric (first preference) or boolean

        Returns
        -------
        converted : ndarray or ExtensionArray
        na_count : int
        r   c                ó<   — g | ]}t          |t          ¦  «        °|‘ŒS rD   )rk   rª   )r†   rã   s     rF   r•   z+ParserBase._infer_types.<locals>.<listcomp>×  s(   € Ð!WÐ!WÐ!W¨#Å*ÈSÕRUÑBVÔBVÐ!W #Ð!WÐ!WÐ!WrE   Úuint8Fr   )Úconvert_to_masked_nullableN©rZ   )r]   r^   rê   T©ÚskipnaÚpyarrow)Úfrom_pandas)Úmask)7Ú
issubclassrZ   Útyper–   ÚnumberÚbool_Úarrayr    ÚisinÚastypeÚsumr   Úfloat64ÚputmaskÚnanr\   r   rn   r   Úmaybe_convert_numericÚzerosÚshaperp   r%   ÚonesÚint64r   r#   r   r$   r   ro   rm   r   Úsanitize_objectsÚobject_r…   rk   rz   ÚlibopsÚmaybe_convert_boolÚasarrayr]   r^   Úis_datetime_arrayr   Úconstruct_array_typeÚ_from_sequencer   r—   r!   r"   Ú_maskÚ_dataÚto_numpy)rs   ÚvaluesrW   Úno_dtype_specifiedrÔ   Úna_countrð   r\   Únon_default_dtype_backendÚresultÚresult_maskÚ	bool_maskrZ   ÚclsÚpas                  rF   rÉ   zParserBase._infer_typesÀ  s¡  € ð( ˆÝ�f”lÔ'­"¬)µR´XÐ)>Ñ?Ô?ð 		$åœÐ!WÐ!W°Ð!WÑ!WÔ!WÑXÔXˆIÝ”? 6¨9Ñ5Ô5ˆDØ—{’{ 7°�{Ñ7Ô7×;Ò;Ñ=Ô=ˆHØ˜!Š|ˆ|Ý# FÑ+Ô+ð 7Ø#Ÿ]š]­2¬:Ñ6Ô6�FÝ”
˜6 4­¬Ñ0Ô0Ð0Ø˜8Ð#Ð#àÔ*ˆàÐF =½¼Ð#Fð 	"ð
 ñ $	G�O¨F¬LÑ9Ô9ñ $	Gð2Ý&)Ô&?ØØØØ/Hð	'ñ 'ô 'Ñ#�˜ð -ð 2Ø"Ð*Ý&(¤h¨v¬|Å2Ä8Ð&LÑ&LÔ&L˜à"—’Ñ(Ô(ð 	DÝ!-ÝœG KÔ$5½R¼XÐFÑFÔFÈñ"ô "˜˜õ *¨&Ñ1Ô1ð DÝ!-¨f°kÑ!BÔ!B˜˜Ý& vÑ.Ô.ð DÝ!-¨f°kÑ!BÔ!B˜˜Ý'¨Ñ/Ô/ð DÝ!.¨v°{Ñ!CÔ!C˜à*ŸšÑ0Ô0�H�Hå# F™|œ|×/Ò/Ñ1Ô1�H�Høõ/ ¥	Ð*ð  ð  ð  õ #Ô3°F¸IÑFÔF�Ø���ð	 øøøð2 ˆFØŒ|�rœzÒ)Ð)Ý"Ô3°F¸IÑFÔF�ð ŒL�BœJÒ&Ñ&Øñ 'å�V‘” Ò!Ð!­°F¸1´I½sÑ)CÔ)CÐ!å &Ô 9Ý”
˜6Ñ"Ô"Ø Ô,Ø!Ô.Ø+Dð	!ñ !ô !ÑˆF�Ið Œ|�rœxÒ'Ð'Ð,EÐ'ØÐ$Ý "¤¨¬½R¼XÐ FÑ FÔ F�IÝ% f¨iÑ8Ô8��Ø”¥¤Ò+Ð+Ð0IÐ+åÔ,¨V¸DÐAÑAÔAð EÝ'™MœM�EØ×4Ò4Ñ6Ô6�CØ ×/Ò/°¸eÐ/ÑDÔD�Fà˜IÒ%Ñ%Ý+¨IÑ6Ô6ˆBÝ˜&¥"¤*Ñ-Ô-ð Ý,¨R¯XªX°fÈ$¨XÑ-OÔ-OÑPÔP��Ý˜F¥OÑ4Ô4ð Ø”<×#Ò#Ñ%Ô%ð å0°·²¸4¸&Å3ÀvÁ;Ä;Ñ:NÑ1OÔ1OÑPÔP�F�Få0ØŸš ¤°F´L˜ÑAÔAñô �F�Fõ -Ø—H’H˜VŸ_š_Ñ.Ô.¸D�HÑAÔAñô �ð �xÐÐs   ÄH9 È9(I$É#I$Údatar   c                ó   — d S rw   rD   ©rs   rR   r  s      rF   Ú_do_date_conversionszParserBase._do_date_conversions5  s	   € ð
 �CrE   úMapping[Hashable, ArrayLike]c                ó   — d S rw   rD   r  s      rF   r  zParserBase._do_date_conversions<  s	   € ð
 (+ srE   úSequence[Hashable] | Indexú(Mapping[Hashable, ArrayLike] | DataFramec                ó~  — t          | j        t          ¦  «        s|S | j        D ]˜}t          |t          ¦  «        r||vr||         }t          | j        t          ¦  «        r	|| j        v s#t          | j        t          ¦  «        r
|| j        v rŒjt          ||         || j        | j        | j	        ¬¦  «        }|||<   Œ™|S )NrÃ   )
rk   rT   rl   rz   rS   rg   rÇ   rL   rM   rV   )rs   rR   r  Úcolspecr  s        rF   r  zParserBase._do_date_conversionsC  sÝ   € õ ˜$Ô*­DÑ1Ô1ð 	ØˆKØÔ'ð 	#ð 	#ˆGÝ˜'¥3Ñ'Ô'ð )¨G¸4Ð,?Ð,?Ø œ.�Ý˜4œ>­4Ñ0Ô0ð °WÀÄÐ5NÐ5NÝ˜4Ô+­TÑ2Ô2ð 6OØ7>À$ÔBRÐ7RÐ7RàÝ#Ø�W”ØØœØ Ô,Ø Ô,ðñ ô ˆFð #ˆD�‰MˆMàˆrE   úSequence[ArrayLike]c                ó˜  — | j         s¾t          |¦  «        t          |¦  «        k    r |r t          |d         ¦  «        o|d         dk    }|t          |d         ¦  «        z  }t          |¦  «        t          |¦  «        dz
  k    rt	          j        |¦  «        rdS t          j        dt          t          ¦   «         ¬¦  «         dS dS dS dS )ae  Checks if length of data is equal to length of column names.

        One set of trailing commas is allowed. self.index_col not False
        results in a ParserError previously when lengths do not match.

        Parameters
        ----------
        columns: list of column names
        data: list of array-likes containing the data column-wise.
        rƒ   Ú r<   NzkLength of header or names does not match length of data. This leads to a loss of data with index_col=False.)Ú
stacklevel)
rS   r…   r   r   r–   rp   ÚwarningsÚwarnr   r   )rs   r�   r  Ú	empty_strÚempty_str_or_nas        rF   Ú_check_data_lengthzParserBase._check_data_length_  sÖ   € ð  Œ~ð 	¥# g¡,¤,µ#°d±)´)Ò";Ð";ÀÐ";Ý'¨¨R¬Ñ1Ô1ÐD°d¸2´hÀ"²nˆIð (­$¨t°B¬x©.¬.Ñ8ˆOÝ�7‰|Œ|�s 4™yœy¨1™}Ò,Ð,µ´¸Ñ1HÔ1HÐ,Ø�ÝŒMð:åÝ+Ñ-Ô-ð	ñ ô ð ð ð ð	ð 	Ð";Ð";Ð";Ð";rE   ra   r1   c                ón   ‡— ˆfd„|D ¦   «         }t          |¦  «        dk    rt          d|› �¦  «        ‚|S )ai  
        Validates that all usecols are present in a given
        list of names. If not, raise a ValueError that
        shows what usecols are missing.

        Parameters
        ----------
        usecols : iterable of usecols
            The columns to validate are present in names.
        names : iterable of names
            The column names to check against.

        Returns
        -------
        usecols : iterable of usecols
            The `usecols` parameter if the validation succeeds.

        Raises
        ------
        ValueError : Columns were missing. Error message will list them.
        c                ó   •— g | ]}|‰v¯|‘Œ	S rD   rD   )r†   ÚcrR   s     €rF   r•   z6ParserBase._validate_usecols_names.<locals>.<listcomp>”  s   ø€ Ð8Ð8Ð8˜¨°%¨¨�1¨¨¨rE   r   z>Usecols do not match columns, columns expected but not found: )r…   ro   )rs   ra   rR   Úmissings     ` rF   Ú_validate_usecols_namesz"ParserBase._validate_usecols_names}  sZ   ø€ ð. 9Ð8Ð8Ð8˜gÐ8Ñ8Ô8ˆÝˆw‰<Œ<˜!ÒÐÝðØðð ñô ð ð
 ˆrE   útuple[list | None, list, list]c                ó„  — t          |¦  «        sd ||fS t          |¦  «        }|sd gt          |¦  «        z  ||fS t          |¦  «        }g }t          |¦  «        }t          |¦  «        D ]™\  }}t	          |t
          ¦  «        rM|                     |¦  «         t          |¦  «        D ]'\  }}||k    r|||<   |                     |¦  «          nŒ(Œg||         }|                     |¦  «         |                     |¦  «         Œšt          |¦  «        D ](\  }}t	          |t
          ¦  «        r|| j        v rd ||<   Œ)|||fS rw   )	Úis_index_colrl   r…   rÆ   rk   rª   r«   Úremoverf   )	rs   r�   rS   Úcp_colsrg   ry   r*  r}   r|   s	            rF   r˜   zParserBase._clean_index_names�  s}  € å˜IÑ&Ô&ð 	,Ø˜ )Ð+Ð+å�w‘-”-ˆð ð 	?Ø�6�C 	™NœNÑ*¨G°YÐ>Ð>å�w‘-”-ˆØ.0ˆõ ˜‘O”Oˆ	å˜iÑ(Ô(ð 	)ð 	)‰DˆAˆqÝ˜!�SÑ!Ô!ð 
)Ø×"Ò" 1Ñ%Ô%Ð%Ý(¨Ñ1Ô1ð ð ‘G�A�tØ˜q’y�yØ'(˜	 !™ØŸš tÑ,Ô,Ð,Ø˜ð !øð
 ˜q”z�Ø—’˜tÑ$Ô$Ð$Ø×"Ò" 4Ñ(Ô(Ð(Ð(õ ! Ñ-Ô-ð 	&ð 	&‰GˆAˆtÝ˜$¥Ñ$Ô$ð &¨°Ô1BÐ)BÐ)BØ!%�˜A‘øà˜G YÐ.Ð.rE   úSequence[HashableT]rZ   úDtypeArg | Noneú6tuple[Index, list[HashableT], dict[HashableT, Series]]c                ób  ‡‡‡
— t          ‰¦  «        Š| j        }| j        }t          ‰¦  «        st	          ˆfd„¦  «        Š
nDt          t          ‰¦  «        Št	          d„ ˆfd„‰                     ¦   «         D ¦   «         ¦  «        Š
|�|du s|€t          d¦  «        }nˆ
fd„|D ¦   «         }t          |¦  «        dk    r	|d         }nt          j        |¦  «        }|                     ¦   «          t          |¦  «        D ]\  }}‰                     ||z
  ¦  «         Œˆ
fd„‰D ¦   «         }	|‰|	fS )	Nc                 ó   •— ‰ S rw   rD   rë   s   €rF   ú<lambda>z,ParserBase._get_empty_meta.<locals>.<lambda>Ò  s   ø€ ¨U€ rE   c                 ó   — d S rw   rD   rD   rE   rF   r7  z,ParserBase._get_empty_meta.<locals>.<lambda>Ö  s   € ˜€ rE   c                óJ   •— i | ]\  }}t          |¦  «        r‰|         n||“Œ S rD   )r   )r†   rä   r¿   r�   s      €rF   r¹   z.ParserBase._get_empty_meta.<locals>.<dictcomp>×  s2   ø€ ÐQÐQÐQ¹4¸1¸a�z¨!™}œ}Ð3�˜”�°!°QÐQÐQÐQrE   Fr   c                ó@   •— g | ]}t          g |‰|         ¬ ¦  «        ‘ŒS ))r|   rZ   )r&   )r†   r|   Ú
dtype_dicts     €rF   r•   z.ParserBase._get_empty_meta.<locals>.<listcomp>è  s:   ø€ ð ð ð ØAE•�b˜t¨:°dÔ+;Ð<Ñ<Ô<ðð ð rE   r<   c                ó@   •— i | ]}|t          g ‰|         ¬ ¦  «        “ŒS )rë   r*   )r†   rÑ   r;  s     €rF   r¹   z.ParserBase._get_empty_meta.<locals>.<dictcomp>ô  s:   ø€ ð 
ð 
ð 
ØAIˆH•f˜R z°(Ô';Ð<Ñ<Ô<ð
ð 
ð 
rE   )rl   rS   rg   r   r   r
   rº   r»   r(   r…   r'   rÊ   ÚsortrÆ   ri   )rs   r�   rZ   rS   rg   r²   r  ry   ÚnÚcol_dictr;  s    ``       @rF   Ú_get_empty_metazParserBase._get_empty_metaÃ  s  øøø€ õ �w‘-”-ˆà”Nˆ	ØÔ&ˆõ ˜EÑ"Ô"ð 	å$ ] ] ] ]Ñ3Ô3ˆJˆJå�˜uÑ%Ô%ˆEÝ$Ø�ØQÐQÐQÐQÀ5Ç;Â;Á=Ä=ÐQÑQÔQñô ˆJð Ð ¨eÐ!3Ð!3¸Ð8KÝ! !Ñ$Ô$ˆEˆEðð ð ð ØITðñ ô ˆDõ �4‰yŒy˜AŠ~ˆ~Ø˜Qœ��å"Ô.¨tÑ4Ô4�Ø�NŠNÑÔÐå! )Ñ,Ô,ð #ð #‘��1Ø—’˜A ™EÑ"Ô"Ð"Ð"ð
ð 
ð 
ð 
ØMTð
ñ 
ô 
ˆð �g˜xÐ'Ð'rE   )rO   rP   )ry   rz   rO   rH   )F)rg   r   r€   rH   rO   r�   rw   )r�   r7   rh   r   rO   r    )r¥   r¦   rO   r§   )rO   r&   )rÕ   rÖ   rR   r×   rO   rØ   )T)rÔ   rH   rO   ræ   )rR   r&   r  r   rO   r   )rR   r×   r  r  rO   r  )rR   r  r  r  rO   r  )r�   r×   r  r  rO   rP   )ra   r7   rR   r1   rO   r7   )rO   r-  )r�   r2  rZ   r3  rO   r4  )r>   r?   r@   r   rG   Ú__annotations__ru   rx   r   r~   rŸ   r¤   r´   rÁ   r¬   rå   rÉ   r   r  r'  r,  r˜   r@  rD   rE   rF   r9   r9   V   sÓ  € € € € € € ðð ð ð ð ˜dñ ô ð ð
 ÐÐÑØÐÐÑØÐÐÑØ€N€N�NØÐÐÑØÐÐÑðFUð FUð FUð FUðPð ð ð ð ðð ð ñ „Uðð ð
 #ð	D;ð D;ð D;ð D;ñ „UðD;ðL ð 04ð	ð 	ð 	ð 	ñ „Uð	ð àDHðð ð ð ñ „Uðð@ ðð ñ „Uðð" ð@2ð @2ð @2ñ „Uð@2ðD ð7!ð 7!ð 7!ñ „Uð7!ðr àJNðr ð r ð r ð r ñ „Uðr ðh ðð ð ñ „Xðð ð+ð +ð +ñ „Xð+ð ðð ð ñ „Uðð6 ðð ð ñ „Uðð: ðð ð ñ „Uðð> ð#/ð #/ð #/ñ „Uð#/ðJ àEIð4(ð 4(ð 4(ð 4(ñ „Uð4(ð 4(ð 4(rE   r9   FTr·   r4   rL   rH   rM   rV   ú dict[Hashable, str] | str | Nonec                óª  — | j         j        dv r| S t          |t          ¦  «        r|                     |¦  «        n|}t          j        t          j        | ¦  «        ¦  «        }	 t          j
        ||d||¬¦  «        }n# t          t          f$ r |cY S w xY wt          |t          ¦  «        r"|                     ¦   «         }d|j        _        |S |j        S )NÚMmF)ÚformatÚutcrL   ÚcacheT)rZ   Úkindrk   rº   rc   r   Úensure_string_arrayr–   r  ÚtoolsÚto_datetimero   rm   r   r  ÚflagsÚ	writeableÚ_values)	Údate_colr·   rL   rM   rV   Údate_fmtÚstr_objsr  rÎ   s	            rF   rÇ   rÇ   û  sì   € ð „~Ô˜dÐ"Ð"Øˆå'1°+½tÑ'DÔ'DÐUˆ{�Š˜sÑ#Ô#Ð#È+€HåÔ&¥r¤z°(Ñ';Ô';Ñ<Ô<€HðÝÔ"ØØØØØð
ñ 
ô 
ˆˆøõ �	Ð"ð ð ð ð ˆˆˆðøøøõ
 �&�-Ñ(Ô(ð Ø�oŠoÑÔˆØ"ˆŒ	ÔØˆ
ØŒ>Ðs   Á$A> Á>BÂBÚ	delimiterÚ
escapecharÚ	quotecharú"ÚquotingÚdoublequoteÚskipinitialspaceÚlineterminatorr_   ÚinferrS   rR   ÚskiprowsÚ
skipfooterÚnrowsrW   rK   r]   r^   r[   rZ   Ú	thousandsÚcommentÚdecimalú.rT   ra   Ú	chunksizeÚencodingÚcompressionÚskip_blank_linesÚencoding_errorsr’   rb   r\   c                óÂ   — t          |t          ¦  «        rG| |v r||          ||          fS |rt          t          ¦   «         fS t          ¦   «         t          ¦   «         fS ||fS )a   
    Get the NaN values for a given column.

    Parameters
    ----------
    col : str
        The name of the column.
    na_values : array-like, dict
        The object listing the NaN values as strings.
    na_fvalues : array-like, dict
        The object listing the NaN values as floats.
    keep_default_na : bool
        If `na_values` is a dict, and the column is not mapped in the
        dictionary, whether to return the default NaN values or the empty set.

    Returns
    -------
    nan_tuple : A length-two tuple composed of

        1) na_values : the string NaN values for that column.
        2) na_fvalues : the float NaN values for that column.
    )rk   rº   r   re   )r·   rW   rX   rK   s       rF   rÈ   rÈ   D  sh   € õ. �)�TÑ"Ô"ð 	%Ø�)ÐÐØ˜S”> :¨c¤?Ð2Ð2àð ,Ý$¥c¡e¤eÐ+Ð+å‘5”5�#™%œ%�<Ðà˜*Ð$Ð$rE   rO   c                ó   — | d uo| duS )NFrD   )r·   s    rF   r/  r/  g  s   € Ø�dˆ?Ð/˜s¨%Ð/Ð/rE   úbool | listr�   r×   re   c                óð  — t          | t          ¦  «        st          ¦   «         S t          ¦   «         }t          ¦   «         }| D ]|}t          |t          ¦  «        r0||vr|                     |¦  «         Œ1|                     |¦  «         ŒG||v r|                     |¦  «         Œa|                     ||         ¦  «         Œ}|r5d                     t          |¦  «        ¦  «        }t          d|› d�¦  «        ‚|S )aº  
    Check if parse_dates are in columns.

    If user has provided names for parse_dates, check if those columns
    are available.

    Parameters
    ----------
    columns : list
        List of names of the dataframe.

    Returns
    -------
    The names of the columns which will get parsed later if a list
    is given as specification.

    Raises
    ------
    ValueError
        If column to parse_date is not in dataframe.

    z, z+Missing column provided to 'parse_dates': 'ú')rk   rl   re   rª   rá   Újoinrš   ro   )rT   r�   r+  Úunique_colsr·   Úmissing_colss         rF   rà   rà   k  sþ   € õ2 �k¥4Ñ(Ô(ð Ý‰uŒuˆå‰eŒe€GÝ‘%”%€KØð 	*ð 	*ˆÝ�c�3ÑÔð 	*Ø˜'Ð!Ð!Ø—’˜CÑ Ô Ð Ð à—’ Ñ$Ô$Ð$Ð$Ø�Gˆ^ˆ^Ø�OŠO˜CÑ Ô Ð Ð à�OŠO˜G CœLÑ)Ô)Ð)Ð)Øð XØ—y’y¥¨¡¤Ñ1Ô1ˆÝÐVÀ|ÐVÐVÐVÑWÔWÐWØÐrE   c                óì   — d}| �mt          | ¦  «        r| dfS t          | ¦  «        st          |¦  «        ‚t          j        | d¬¦  «        }|dvrt          |¦  «        ‚t          | ¦  «        } | |fS | dfS )a+  
    Validate the 'usecols' parameter.

    Checks whether or not the 'usecols' parameter contains all integers
    (column selection by index), strings (column by name) or is a callable.
    Raises a ValueError if that is not the case.

    Parameters
    ----------
    usecols : list-like, callable, or None
        List of columns to use when parsing or a callable that can be used
        to filter a list of table columns.

    Returns
    -------
    usecols_tuple : tuple
        A tuple of (verified_usecols, usecols_dtype).

        'verified_usecols' is either a set if an array-like is passed in or
        'usecols' if a callable or None is passed in.

        'usecols_dtype` is the inferred dtype of 'usecols' if an array-like
        is passed in or None if a callable or None is passed in.
    z['usecols' must either be list-like of all strings, all unicode, all integers or a callable.NFrì   )rÛ   rÚ   Ústring)rß   r   ro   r   Úinfer_dtypere   )ra   ÚmsgrN   s      rF   rr   rr   ™  s˜   € ð4	&ð ð ÐÝ�GÑÔð 	!Ø˜D�=Ð å˜GÑ$Ô$ð 	"õ ˜S‘/”/Ð!åœ¨¸Ð>Ñ>Ô>ˆàÐ >Ð>Ð>Ý˜S‘/”/Ð!å�g‘,”,ˆà˜Ð%Ð%Ø�Dˆ=ÐrE   úCallable[[Hashable], object]úIterable[Hashable]rØ   c                ó   — d S rw   rD   ©ra   rR   s     rF   Úevaluate_callable_usecolsrw  Ë  s	   € ð ˆsrE   r7   c                ó   — d S rw   rD   rv  s     rF   rw  rw  Ò  s	   € ð �rE   ú(Callable[[Hashable], object] | SequenceTúSequenceT | set[int]c                ó\   ‡ — t          ‰ ¦  «        rˆ fd„t          |¦  «        D ¦   «         S ‰ S )zó
    Check whether or not the 'usecols' parameter
    is a callable.  If so, enumerates the 'names'
    parameter and returns a set of indices for
    each entry in 'names' that evaluates to True.
    If not a callable, returns 'usecols'.
    c                ó0   •— h | ]\  }} ‰|¦  «        ¯|’ŒS rD   rD   )r†   ry   r|   ra   s      €rF   ú	<setcomp>z,evaluate_callable_usecols.<locals>.<setcomp>ä  s*   ø€ ÐCÐCÐC‘g�a˜°W°W¸T±]´]ÐC�ÐCÐCÐCrE   )rß   rÆ   rv  s   ` rF   rw  rw  Ø  s=   ø€ õ �ÑÔð DØCÐCÐCÐC¥¨5Ñ!1Ô!1ÐCÑCÔCÐCØ€NrE   )FTN)r·   r4   rL   rH   rM   rH   rV   rB  )rK   rH   )rO   rH   )rT   ri  r�   r×   rO   re   )ra   rs  rR   rt  rO   rØ   )ra   r7   rR   rt  rO   r7   )ra   ry  rR   rt  rO   rz  )]Ú
__future__r   Úcollectionsr   r   ÚcsvÚenumr   rÄ   Útypingr   r	   r
   r   r   r#  Únumpyr–   Úpandas._libsr   r   Úpandas._libs.opsÚ_libsÚopsr  Úpandas._libs.parsersr   Úpandas.compat._optionalr   Úpandas.errorsr   r   Úpandas.util._exceptionsr   Úpandas.core.dtypes.commonr   r   r   r   r   r   r   r   Úpandas.core.dtypes.missingr   Úpandasr   r   r   Úpandas.corer    Úpandas.core.arraysr!   r"   r#   r$   r%   Úpandas.core.indexes.apir&   r'   r(   r)   Úpandas.core.seriesr+   Úpandas.core.toolsr,   rJ  Úpandas.io.commonr-   Úcollections.abcr.   r/   r0   r1   Úpandas._typingr2   r3   r4   r5   r6   r7   r9   rÇ   ÚQUOTE_MINIMALrG   rA   rn   Úparser_defaultsrÈ   r/  rà   rr   rw  rD   rE   rF   ú<module>r™     s-  ðØ "Ð "Ð "Ð "Ð "Ð "à #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€à Ð Ð Ð ðð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø .Ð .Ð .Ð .Ð .Ð .Ø >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ,Ð +Ð +Ð +Ð +Ð +ðð ð ð ð ð ð ð ð ð ð
 #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð &Ð %Ð %Ð %Ð %Ð %Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à 5Ð 5Ð 5Ð 5Ð 5Ð 5àð ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðb
(ð b
(ð b
(ð b
(ð b
(ñ b
(ô b
(ð b
(ðP ØØ48ðð ð ð ð ðB%Ø�ð%à�$ð%ð �ð%ð ˆsÔ ð	%ð
 �4ð%ð ˜ð%ð �dð%ð ˆgð%ð �ð%ð ˆTð%ð �ð%ð �!ð%ð ˆTð%ð �ð%ð �tð%ð  �4ð!%ð" �Dð#%ð %ð$ �$ð%%ð& ˆTð'%ð( �4ð)%ð* �ð+%ð, ˆtð-%ð. ˆsð/%ð2 �5ð3%ð4 �ð5%ð6 �4ð7%ð8 ˆtð9%ð< �ð=%ð> �ð?%ð@ �4ðA%ðB ˜ðC%ðD �xðE%ðF �JÔ2Ô8ðG%ðH �S”^ðI%ð %€ðP %ð  %ð  %ð  %ðF0ð 0ð 0ð 0ð+ð +ð +ð +ð\/ð /ð /ðd 
ðð ð ñ 
„ðð 
ðð ð ñ 
„ðð
ð ð ð ð ð rE   