ó
    Ñ]jT  ã                  óä   • % S SK Jr  S SKJrJrJrJr  S SKJrJrJ	r	  S SK
Jr  S SKJr  \(       a  S SKJrJr  S SKJrJrJrJrJr  \\-  \-  \-  \-  \-  \-  \-  rS\S	'    " S
 S\S   5      rg)é    )Úannotations)ÚdateÚdatetimeÚtimeÚ	timedelta)ÚTYPE_CHECKINGÚAnyÚ	TypeAlias)Úimport_optional_dependency)ÚBaseExcelReader)ÚCalamineSheetÚCalamineWorkbook)ÚFilePathÚNaTTypeÚ
ReadBufferÚScalarÚStorageOptionsr
   Ú
_CellValuec                  ó®   ^ • \ rS rSr  S
       SU 4S jjjr\SS j5       r      SS jr\SS j5       rSS jr	SS jr
 S     SS jjrS	rU =r$ )ÚCalamineReaderé$   c                ó:   >• [        S5        [        TU ]	  UUUS9  g)aJ  
Reader using calamine engine (xlsx/xls/xlsb/ods).

Parameters
----------
filepath_or_buffer : str, path to be parsed or
    an open readable stream.
storage_options : dict, optional
    Extra options that make sense for a particular storage connection, e.g.
    host, port, username, password, etc. For HTTP(S) URLs the key-value pairs
    are forwarded to ``urllib.request.Request`` as header options. For other
    URLs (e.g. starting with "s3://", and "gcs://") the key-value pairs are
    forwarded to ``fsspec.open``. Please see ``fsspec`` and ``urllib`` for more
    details, and for more examples on storage options refer `here
    <https://pandas.pydata.org/docs/user_guide/io.html?
    highlight=storage_options#reading-writing-remote-files>`_.
engine_kwargs : dict, optional
    Arbitrary keyword arguments passed to excel engine.
Úpython_calamine)Ústorage_optionsÚengine_kwargsN)r   ÚsuperÚ__init__)ÚselfÚfilepath_or_bufferr   r   Ú	__class__s       €ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/io/excel/_calamine.pyr   ÚCalamineReader.__init__%   s)   ø€ ô2 	#Ð#4Ô5Ü‰ÑØØ+Ø'ð 	ò 	
ó    c                ó   • SSK Jn  U$ )Nr   )r   )r   r   )r   r   s     r!   Ú_workbook_classÚCalamineReader._workbook_classE   s   € å4àÐr#   c                ó    • SSK Jn  U" U40 UD6$ )Nr   )Úload_workbook)r   r(   )r   r   r   r(   s       r!   r(   ÚCalamineReader.load_workbookK   s   € õ 	2áØñ
àñ
ð 	
r#   c                ó²   • SSK Jn  U R                  R                   Vs/ s H+  nUR                  UR
                  :X  d  M  UR                  PM-     sn$ s  snf )Nr   )ÚSheetTypeEnum)r   r+   ÚbookÚsheets_metadataÚtypÚ	WorkSheetÚname)r   r+   Úsheets      r!   Úsheet_namesÚCalamineReader.sheet_namesU   sN   € å1ð Ÿ™×2Ò2ó
â2�Ø�y‰y˜M×3Ñ3Ñ3ó ˆE�JŒJÙ2ñ
ð 	
ùò 
s   ŸAÁAc                óZ   • U R                  U5        U R                  R                  U5      $ ©N)Úraise_if_bad_sheet_by_namer,   Úget_sheet_by_name)r   r0   s     r!   r7   Ú CalamineReader.get_sheet_by_name_   s%   € Ø×'Ñ'¨Ô-Ø�y‰y×*Ñ*¨4Ó0Ð0r#   c                óZ   • U R                  U5        U R                  R                  U5      $ r5   )Úraise_if_bad_sheet_by_indexr,   Úget_sheet_by_index)r   Úindexs     r!   r;   Ú!CalamineReader.get_sheet_by_indexc   s%   € Ø×(Ñ(¨Ô/Ø�y‰y×+Ñ+¨EÓ2Ð2r#   c           
     ó˜   • SS jnUR                  SUS9nU VVs/ s H  oU Vs/ s H
  oc" U5      PM     snPM     nnnU$ s  snf s  snnf )Nc                ó@  • [        U [        5      (       a  [        U 5      nX:X  a  U$ U $ [        U [        [        45      (       a  U $ [        U [
        5      (       a+  [        U R                  U R                  U R                  5      $ [        U [        5      (       a  U $ U $ r5   )
Ú
isinstanceÚfloatÚintr   r   r   ÚyearÚmonthÚdayr   )ÚvalueÚvals     r!   Ú_convert_cellÚ4CalamineReader.get_sheet_data.<locals>._convert_cellj   s}   € Ü˜%¤×'Ñ'Ü˜%“j�Ø“<Ø�Jà �LÜ˜E¤H¬iÐ#8×9Ñ9à�Ü˜E¤4×(Ñ(ä §
¡
¨E¯K©K¸¿¹ÓCÐCÜ˜E¤4×(Ñ(Ø�àˆLr#   F)Úskip_empty_areaÚnrows)rF   r   ÚreturnzScalar | NaTType | time)Ú	to_python)r   r1   Úfile_rows_neededrH   ÚrowsÚrowÚcellÚdatas           r!   Úget_sheet_dataÚCalamineReader.get_sheet_datag   s[   € ô	ð$ (-§¡Ø!Ð)9ð (7ð (
ˆñ BFÔFÂ¸#°Ó5²¨�˜tÖ$±Ô5ÁˆÑFàˆùò 6ùÓFs   ›	A¤AµAÁA© )NN)r   úFilePath | ReadBuffer[bytes]r   zStorageOptions | Noner   zdict | NonerL   ÚNone)rL   ztype[CalamineWorkbook])r   rV   r   r	   rL   r   )rL   z	list[str])r0   ÚstrrL   r   )r<   rB   rL   r   r5   )r1   r   rN   z
int | NonerL   z#list[list[Scalar | NaTType | time]])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Úpropertyr%   r(   r2   r7   r;   rS   Ú__static_attributes__Ú__classcell__)r    s   @r!   r   r   $   s´   ø† ð 26Ø%)ð	
à8ð
ð /ð
ð #ð	
ð
 
÷
ð 
ð@ ó ó ð ð

Ø">ð
ØORð
à	ô
ð ó
ó ð
ô1ô3ð
 DHðØ"ðØ6@ðà	,÷ó r#   r   r   N)Ú
__future__r   r   r   r   r   Útypingr   r	   r
   Úpandas.compat._optionalr   Úpandas.io.excel._baser   r   r   r   Úpandas._typingr   r   r   r   r   rB   rA   rX   Úboolr   Ú__annotations__r   rU   r#   r!   Ú<module>rg      sx   ðÞ "÷ó ÷ñ õ ?å 1æ÷÷
õ ð ˜e™ cÑ)¨DÑ0°4Ñ7¸$Ñ>ÀÑIÈIÑU€
ˆIÓ Uô]�_Ð%7Ñ8õ ]r#   