Ë
    ýÿæiK  ã                  óÎ  — d Z ddlmZ ddlZddlmZ ddlmZ dZ	 ddl	Z
 e ee
j                  «      j                  «      Ze ed«      k  Ze ed«      k  Ze ed	«      k  Ze ed
«      k  Ze ed«      k  Ze ed«      k  Ze ed«      k  Ze ed«      k  Ze ed«      k  Ze ed«      k  Ze ee«      k\  Z	 	 	 	 	 	 dd„Zy# e$ r dZdZdZdZdZdZdZdZdZdZdZY Œ(w xY w)z-support pyarrow compatibility across versionsé    )ÚannotationsN)ÚAny)ÚVersionz13.0.0z14.0.0z14.0.1z15.0.0z16.0.0z17.0.0z18.0.0z19.0.0z20.0.0z21.0.0z22.0.0TFc           
     óZ  ‡— ddl mŠ t        j                  dv }t        xr |xr t
         xr t        }|r*t        |t        j                  t        j                  f«      r‰j                  | |«      S t        j                  || j                  ¬«      }t        j                  j                  | j                  «      r]dˆfd„}t        | t        j                  «      r4t        j                   | j"                  D �cg c]  } |||«      ‘Œ c}«      S  || |«      S t        | t        j                  «      rMt        j                   | j"                  D �cg c]$  }‰j%                  ‰j'                  |«      ||«      ‘Œ& c}«      S ‰j%                  ‰j'                  | «      || «      S c c}w c c}w )ab  
    Safe wrapper for pyarrow.compute.fill_null with fallback for Windows + pyarrow 21.

    pyarrow 21.0.0 on Windows has a bug in fill_null that incorrectly fills null values.
    This function uses a fallback implementation for that specific case, otherwise uses
    the standard pyarrow.compute.fill_null.

    Parameters
    ----------
    arr : pyarrow.Array | pyarrow.ChunkedArray
        Input array with potential null values.
    fill_value : Any
        Value to fill nulls with.

    Returns
    -------
    pyarrow.Array | pyarrow.ChunkedArray
        Array with nulls filled with fill_value.
    r   N)Úwin32Úcygwin©Útypec                ó´   •— ‰j                  | «      }t        j                  d| j                  ¬«      }‰j	                  ||| «      }‰j	                  |||«      S )Nr   r	   )Úis_nullÚpaÚscalarr
   Úif_else)ÚarrÚfill_scalarÚmaskÚzero_durationÚ
arr_zeroedÚpcs        €új/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pandas/compat/pyarrow.pyÚfill_null_durationz+_safe_fill_null.<locals>.fill_null_durationK   sI   ø€ Ø—:‘:˜c“?ˆDÜŸI™I a¨c¯h©hÔ7ˆMØŸ™ D¨-¸Ó=ˆJØ—:‘:˜d K°Ó<Ð<ó    )r   úpa.Arrayr   z	pa.ScalarÚreturnr   )Úpyarrow.computeÚcomputeÚsysÚplatformÚHAS_PYARROWÚpa_version_under21p0Úpa_version_under22p0Ú
isinstancer   ÚArrayÚChunkedArrayÚ	fill_nullr   r
   ÚtypesÚis_durationÚchunked_arrayÚchunksr   r   )r   Ú
fill_valueÚ
is_windowsÚuse_fallbackr   r   Úchunkr   s          @r   Ú_safe_fill_nullr.   (   sT  ø€ õ, !ä—‘Ð!4Ð4€JäÒX˜
ÒXÔ+?Ð'?ÒXÔDXð ñ œ: j´2·8±8¼R¿_¹_Ð2MÔNØ�|‰|˜C Ó,Ð,ä—)‘)˜J¨S¯X©XÔ6€Kä	‡x�x×Ñ˜CŸH™HÔ%õ	=ô �cœ2Ÿ?™?Ô+Ü×#Ñ#ØEHÇZÂZÓPÁZ¸EÑ# E¨;Õ7ÀZÑPóð ñ " # {Ó3Ð3ä�#”r—‘Ô'Ü×ÑØLOÏJÊJÓWÉJÀ5ˆR�Z‰Z˜Ÿ
™
 5Ó)¨;¸Õ>ÈJÑWó
ð 	
ð �:‰:�b—j‘j “o {°CÓ8Ð8ùò Qùò Xs   Ã:F#Å)F()r   úpa.Array | pa.ChunkedArrayr*   r   r   r/   )Ú__doc__Ú
__future__r   r   Útypingr   Úpandas.util.versionr   ÚPYARROW_MIN_VERSIONÚpyarrowr   Ú__version__Úbase_versionÚ_palvÚpa_version_under14p0Úpa_version_under14p1Úpa_version_under15p0Úpa_version_under16p0Úpa_version_under17p0Úpa_version_under18p0Úpa_version_under19p0Úpa_version_under20p0r    r!   r   ÚImportErrorr.   © r   r   Ú<module>rC      sZ  ðÙ 3å "ã 
Ý å 'àÐ ðÛá‘G˜BŸN™NÓ+×8Ñ8Ó9€EØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ ¡7¨8Ó#4Ñ4ÐØ™7Ð#6Ó7Ñ7€Kð39Ø	#ð39Ø14ð39àô39øð ò ØÐØÐØÐØÐØÐØÐØÐØÐØÐØÐØ‚Kðús   œBC ÃC$Ã#C$