Ë
    z�h´g  ã                  ó  — d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z  erid dl!m"c m#Z$ d dl%m&Z& d dl'm(Z( d dl'm)Z) d dl'm*Z* d dl+m,Z, d dl-m.Z. d dlmZ d dlm/Z/ d dl0m1Z1 d dl2m3Z3 d d l2m4Z4 d d!l2m5Z5 d d"l2m6Z6 d d#l2m7Z7 d d$lm8Z8 d d%lm9Z9  G d&„ d'e
d(   ed(   «      Z:y))é    )ÚannotationsN)ÚTYPE_CHECKING)ÚAny)ÚCallable)ÚLiteral)ÚSequence)ÚLazyExpr)ÚDepthTrackingExpr©ÚDaskExprDateTimeNamespace©ÚDaskExprStringNamespace)Úadd_row_index)Úmaybe_evaluate_expr)Únarwhals_to_native_dtype)ÚExprKind)Ú!evaluate_output_names_and_aliases)Únative_to_narwhals_dtype)ÚColumnNotFoundError©ÚInvalidOperationError)ÚImplementation)Úgenerate_temporary_column_name)Únot_implemented)ÚSelf)Ú
AliasNames)Ú	EvalNames)Ú
EvalSeries)ÚDaskLazyFrame©ÚDaskNamespace)ÚExprMetadata)ÚDType)ÚFillNullStrategy)ÚNonNestedLiteral)ÚNumericLiteral)ÚRollingInterpolationMethod)ÚTemporalLiteral)ÚVersion)Ú_FullContextc                  ó–  — e Zd ZU ej                  Zded<   ddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dQd„ZdRd„ZdSd„Z	dTd„Z
dUd	„Zed
dœ	 	 	 	 	 	 	 	 	 dVd„«       Ze	 	 	 	 	 	 	 	 dWd„«       Z	 	 dX	 	 	 	 	 	 	 	 	 dYd„ZdZd„Zd[d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd\d„Zd]d„Zd]d„Zd^d„Z d]d „Z!d]d!„Z"d]d"„Z#d^d#„Z$d]d$„Z%d_d%„Z&d_d&„Z'd_d'„Z(d_d(„Z)d_d)„Z*d`d*„Z+d`d+„Z,d_d,„Z-dad-„Z.dbd.„Z/dbd/„Z0dbd0„Z1dbd1„Z2dbd2„Z3dcd3„Z4dcd4„Z5	 	 	 	 	 	 	 	 	 	 ddd5„Z6	 	 	 	 	 	 	 	 	 	 ddd6„Z7d_d7„Z8d_d8„Z9ded9„Z:d_d:„Z;d_d;„Z<d_d<„Z=d_d=„Z>d_d>„Z?	 	 	 	 	 	 	 	 dfd?„Z@	 	 	 	 	 	 dgd@„ZAd_dA„ZBd_dB„ZCd_dC„ZDd_dD„ZEd_dE„ZF	 	 	 	 	 	 dhdF„ZGd_dG„ZHd_dH„ZId_dI„ZJd\dJ„ZKd_dK„ZL	 	 	 	 	 	 didL„ZMdjdM„ZNd_dN„ZOePdkdO„«       ZQePdldP„«       ZR eS«       ZT eS«       ZU eS«       ZVy)mÚDaskExprr   Ú_implementationN©Úcall_kwargsc               óŠ   — || _         || _        || _        || _        || _        || _        || _        |xs i | _        d | _        y ©N)	Ú_callÚ_depthÚ_function_nameÚ_evaluate_output_namesÚ_alias_output_namesÚ_backend_versionÚ_versionÚ_call_kwargsÚ	_metadata)	ÚselfÚcallÚdepthÚfunction_nameÚevaluate_output_namesÚalias_output_namesÚbackend_versionÚversionr/   s	            úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/narwhals/_dask/expr.pyÚ__init__zDaskExpr.__init__5   sM   € ð ˆŒ
ØˆŒØ+ˆÔØ&;ˆÔ#Ø#5ˆÔ Ø /ˆÔØˆŒØ'Ò-¨2ˆÔØ.2ˆ�ó    c                ó$   — | j                  |«      S r1   )r2   )r;   Údfs     rC   Ú__call__zDaskExpr.__call__M   s   € Ø�z‰z˜"‹~ÐrE   c                 ó   — y r1   © ©r;   s    rC   Ú__narwhals_expr__zDaskExpr.__narwhals_expr__P   s   � rE   c                óJ   — ddl m}  || j                  | j                  ¬«      S )Nr   r    )rA   rB   )Únarwhals._dask.namespacer!   r7   r8   )r;   r!   s     rC   Ú__narwhals_namespace__zDaskExpr.__narwhals_namespace__R   s   € å:á¨T×-BÑ-BÈDÏMÉMÔZÐZrE   c           
     óÎ   ‡ — dˆ fd„}‰ j                  |‰ j                  ‰ j                  ‰ j                  ‰ j                  ‰ j
                  ‰ j                  ‰ j                  ¬«      S )Nc                ó@   •—  ‰| «      D �cg c]  }|d   ‘Œ	 c}S c c}w )Nr   rJ   )rG   Úresultr;   s     €rC   Úfuncz DaskExpr.broadcast.<locals>.funcY   s   ø€ Ù,0°«HÖ5 &�F˜1“IÒ5Ð5ùÒ5s   Œ©r=   r>   r?   r@   rA   rB   r/   ©rG   r   Úreturnzlist[dx.Series])Ú	__class__r3   r4   r5   r6   r7   r8   r9   )r;   ÚkindrS   s   `  rC   Ú	broadcastzDaskExpr.broadcastX   s^   ø€ õ	6ð �~‰~ØØ—+‘+Ø×-Ñ-Ø"&×"=Ñ"=Ø#×7Ñ7Ø ×1Ñ1Ø—M‘MØ×)Ñ)ð ó 	
ð 		
rE   Ú )r>   c         	     óV   ‡— dˆfd„} | |d|‰d |j                   |j                  ¬«      S )Nc                ó  •— 	  ‰| «      D �cg c]  }| j                   |   ‘Œ c}S c c}w # t        $ rQ} ‰| «      D �cg c]  }|| j                  vsŒ|‘Œ nc c}w }}t        j                  || j                  ¬«      |‚d }~ww xY w)N)Úmissing_columnsÚavailable_columns)Ú_native_frameÚKeyErrorÚcolumnsr   Ú'from_missing_and_available_column_names)rG   Úcolumn_nameÚeÚxr]   Úevaluate_column_namess        €rC   rS   z(DaskExpr.from_column_names.<locals>.funcp   sŸ   ø€ ðñ (=¸RÓ'@öà#ð ×$Ñ$ [Ó1òð ùò øô ò á4°RÓ8ö#Ø¸AÀRÇZÁZÒ<O’Añ#ùò #�ð #ô *×QÑQØ$3Ø&(§j¡jôð ðûð	ús1   ƒ
+ �&£+ ¦+ «	B´
B ¾AÁAÁ*B Â Br   ©r=   r>   r?   r@   rA   rB   rU   ©r7   r8   )Úclsrf   Úcontextr>   rS   s    `   rC   Úfrom_column_nameszDaskExpr.from_column_namesg   s8   ø€ õ	ñ ØØØ'Ø"7Ø#Ø#×4Ñ4Ø×$Ñ$ô
ð 	
rE   c          	     ó\   ‡— dˆfd„} | |ddˆfd„d |j                   |j                  ¬«      S )Nc                ód   •— ‰D �cg c]  }| j                   j                  d d …|f   ‘Œ! c}S c c}w r1   )r_   Úiloc)rG   Úcolumn_indexÚcolumn_indicess     €rC   rS   z*DaskExpr.from_column_indices.<locals>.func�   s5   ø€ àKYöØ;G�× Ñ ×%Ñ%¢a¨ oÓ6òð ùò s   †$-r   Únthc                óH   •— ‰D �cg c]  }| j                   |   ‘Œ c}S c c}w r1   ©ra   )rG   Úirp   s     €rC   ú<lambda>z.DaskExpr.from_column_indices.<locals>.<lambda>–   s   ø€ À^Ö-TÀ¨b¯j©j¸«mÒ-T€ ùÒ-Ts   †rg   rU   rh   )ri   rj   rp   rS   s     ` rC   Úfrom_column_indiceszDaskExpr.from_column_indices‰   s8   ø€ õ	ñ
 ØØØÛ"TØ#Ø#×4Ñ4Ø×$Ñ$ô
ð 	
rE   c          
     óÒ   ‡ ‡‡— dˆˆˆ fd„}‰ j                  |‰ j                  dz   ‰ j                  › d|› �‰ j                  ‰ j                  ‰ j
                  ‰ j                  |¬«      S )Nc           	     óÖ   •— g }‰
j                  | «      }‰	j                  «       D ��ci c]  \  }}|t        | |«      “Œ }}}|D ]  } ‰|fi |¤Ž}|j                  |«       Œ |S c c}}w r1   )r2   Úitemsr   Úappend)rG   Únative_resultsÚnative_series_listÚkeyÚvalueÚother_native_seriesÚnative_seriesÚresult_nativer<   Úexpressifiable_argsr;   s           €€€rC   rS   z%DaskExpr._with_callable.<locals>.func¥   sŒ   ø€ Ø.0ˆNØ!%§¡¨B£Ðð #6×";Ñ";Ó"=÷#á�C˜ð Ô(¨¨UÓ3Ñ3ð#Ðñ #ð "4ò 5�Ù $ ]Ñ JÐ6IÑ J�Ø×%Ñ% mÕ4ð5ð "Ð!ùó#s   ¨A%é   z->rT   rU   )rW   r3   r4   r5   r6   r7   r8   )r;   r<   Ú	expr_namer/   r‚   rS   s   ``  ` rC   Ú_with_callablezDaskExpr._with_callableœ   sh   ú€ ÷
	"ð �~‰~ØØ—+‘+ ‘/Ø!×0Ñ0Ð1°°I°;Ð?Ø"&×"=Ñ"=Ø#×7Ñ7Ø ×1Ñ1Ø—M‘MØ#ð ó 	
ð 		
rE   c          
     óÀ   —  t        | «      | j                  | j                  | j                  | j                  || j
                  | j                  | j                  ¬«      S )N)r<   r=   r>   r?   r@   rA   rB   r/   )Útyper2   r3   r4   r5   r7   r8   r9   ©r;   rS   s     rC   Ú_with_alias_output_namesz!DaskExpr._with_alias_output_names¼   sQ   € ØŒt�D‹zØ—‘Ø—+‘+Ø×-Ñ-Ø"&×"=Ñ"=Ø#Ø ×1Ñ1Ø—M‘MØ×)Ñ)ô	
ð 		
rE   c           
     óÎ   ‡— dˆfd„}| j                  | j                  | j                  | j                  | j                  || j
                  | j                  | j                  ¬«      S )Nc                óF   •— t        | «      dk7  rd| › �}t        |«      ‚‰gS )Nrƒ   z:Expected function with single output, found output names: )ÚlenÚ
ValueError)ÚnamesÚmsgÚnames     €rC   r@   z*DaskExpr.alias.<locals>.alias_output_namesÉ   s-   ø€ Ü�5‹z˜QŠØRÐSXÐRYÐZ�Ü  “oÐ%Ø�6ˆMrE   rT   )rŽ   úSequence[str]rV   r‘   )rW   r2   r3   r4   r5   r7   r8   r9   )r;   r�   r@   s    ` rC   ÚaliaszDaskExpr.aliasÈ   s\   ø€ õ	ð �~‰~Ø�J‰JØ—+‘+Ø×-Ñ-Ø"&×"=Ñ"=Ø1Ø ×1Ñ1Ø—M‘MØ×)Ñ)ð ó 	
ð 		
rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__add__©Ú_inputÚothers     rC   ru   z"DaskExpr.__add__.<locals>.<lambda>Ü   ó   €  &§.¡.°Ó"7€ rE   r•   ©r˜   ©r…   ©r;   r˜   s     rC   r•   zDaskExpr.__add__Ú   ó!   € Ø×"Ñ"Ù7¸È%ð #ó 
ð 	
rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__sub__r–   s     rC   ru   z"DaskExpr.__sub__.<locals>.<lambda>á   r™   rE   r    rš   r›   rœ   s     rC   r    zDaskExpr.__sub__ß   r�   rE   c                óJ   — | j                  d„ d|¬«      j                  d«      S )Nc                ó   — || z
  S r1   rJ   r–   s     rC   ru   z#DaskExpr.__rsub__.<locals>.<lambda>æ   ó
   €  %¨&¡.€ rE   Ú__rsub__rš   Úliteral©r…   r’   rœ   s     rC   r¤   zDaskExpr.__rsub__ä   ó+   € Ø×"Ñ"Ù0°*ÀEð #ó 
ç
‰%�	Ó
ð	rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__mul__r–   s     rC   ru   z"DaskExpr.__mul__.<locals>.<lambda>ë   r™   rE   rª   rš   r›   rœ   s     rC   rª   zDaskExpr.__mul__é   r�   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__truediv__r–   s     rC   ru   z&DaskExpr.__truediv__.<locals>.<lambda>ð   s   €  &×"4Ñ"4°UÓ";€ rE   r­   rš   r›   rœ   s     rC   r­   zDaskExpr.__truediv__î   s"   € Ø×"Ñ"Ù;¸]ÐRWð #ó 
ð 	
rE   c                óJ   — | j                  d„ d|¬«      j                  d«      S )Nc                ó   — || z  S r1   rJ   r–   s     rC   ru   z'DaskExpr.__rtruediv__.<locals>.<lambda>õ   r£   rE   Ú__rtruediv__rš   r¥   r¦   rœ   s     rC   r°   zDaskExpr.__rtruediv__ó   s+   € Ø×"Ñ"Ù0°.Èð #ó 
ç
‰%�	Ó
ð	rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__floordiv__r–   s     rC   ru   z'DaskExpr.__floordiv__.<locals>.<lambda>ú   s   €  &×"5Ñ"5°eÓ"<€ rE   r³   rš   r›   rœ   s     rC   r³   zDaskExpr.__floordiv__ø   s"   € Ø×"Ñ"Ù<¸nÐTYð #ó 
ð 	
rE   c                óJ   — | j                  d„ d|¬«      j                  d«      S )Nc                ó   — || z  S r1   rJ   r–   s     rC   ru   z(DaskExpr.__rfloordiv__.<locals>.<lambda>ÿ   s
   €  %¨6¡/€ rE   Ú__rfloordiv__rš   r¥   r¦   rœ   s     rC   r¶   zDaskExpr.__rfloordiv__ý   s+   € Ø×"Ñ"Ù1°?È%ð #ó 
ç
‰%�	Ó
ð	rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__pow__r–   s     rC   ru   z"DaskExpr.__pow__.<locals>.<lambda>  r™   rE   r¹   rš   r›   rœ   s     rC   r¹   zDaskExpr.__pow__  r�   rE   c                óJ   — | j                  d„ d|¬«      j                  d«      S )Nc                ó   — || z  S r1   rJ   r–   s     rC   ru   z#DaskExpr.__rpow__.<locals>.<lambda>	  s
   €  %¨¡-€ rE   Ú__rpow__rš   r¥   r¦   rœ   s     rC   r¼   zDaskExpr.__rpow__  s+   € Ø×"Ñ"Ù/°À5ð #ó 
ç
‰%�	Ó
ð	rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__mod__r–   s     rC   ru   z"DaskExpr.__mod__.<locals>.<lambda>  r™   rE   r¿   rš   r›   rœ   s     rC   r¿   zDaskExpr.__mod__  r�   rE   c                óJ   — | j                  d„ d|¬«      j                  d«      S )Nc                ó   — || z  S r1   rJ   r–   s     rC   ru   z#DaskExpr.__rmod__.<locals>.<lambda>  r£   rE   Ú__rmod__rš   r¥   r¦   rœ   s     rC   rÂ   zDaskExpr.__rmod__  r§   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__eq__r–   s     rC   ru   z!DaskExpr.__eq__.<locals>.<lambda>  ó   €  &§-¡-°Ó"6€ rE   rÅ   rš   r›   rœ   s     rC   rÅ   zDaskExpr.__eq__  ó!   € Ø×"Ñ"Ù6¸Èð #ó 
ð 	
rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__ne__r–   s     rC   ru   z!DaskExpr.__ne__.<locals>.<lambda>  rÆ   rE   rÊ   rš   r›   rœ   s     rC   rÊ   zDaskExpr.__ne__  rÇ   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__ge__r–   s     rC   ru   z!DaskExpr.__ge__.<locals>.<lambda>"  rÆ   rE   rÍ   rš   r›   rœ   s     rC   rÍ   zDaskExpr.__ge__   rÇ   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__gt__r–   s     rC   ru   z!DaskExpr.__gt__.<locals>.<lambda>'  rÆ   rE   rÐ   rš   r›   rœ   s     rC   rÐ   zDaskExpr.__gt__%  rÇ   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__le__r–   s     rC   ru   z!DaskExpr.__le__.<locals>.<lambda>,  rÆ   rE   rÓ   rš   r›   rœ   s     rC   rÓ   zDaskExpr.__le__*  rÇ   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__lt__r–   s     rC   ru   z!DaskExpr.__lt__.<locals>.<lambda>1  rÆ   rE   rÖ   rš   r›   rœ   s     rC   rÖ   zDaskExpr.__lt__/  rÇ   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__and__r–   s     rC   ru   z"DaskExpr.__and__.<locals>.<lambda>6  r™   rE   rÙ   rš   r›   rœ   s     rC   rÙ   zDaskExpr.__and__4  r�   rE   c                ó,   — | j                  d„ d|¬«      S )Nc                ó$   — | j                  |«      S r1   )Ú__or__r–   s     rC   ru   z!DaskExpr.__or__.<locals>.<lambda>;  rÆ   rE   rÜ   rš   r›   rœ   s     rC   rÜ   zDaskExpr.__or__9  rÇ   rE   c                ó(   — | j                  d„ d«      S )Nc                ó"   — | j                  «       S r1   )Ú
__invert__©r—   s    rC   ru   z%DaskExpr.__invert__.<locals>.<lambda>?  s   € °&×2CÑ2CÓ2E€ rE   rß   r›   rK   s    rC   rß   zDaskExpr.__invert__>  s   € Ø×"Ñ"Ñ#EÀ|ÓTÐTrE   c                ó(   — | j                  d„ d«      S )Nc                ó>   — | j                  «       j                  «       S r1   )ÚmeanÚ	to_seriesrà   s    rC   ru   zDaskExpr.mean.<locals>.<lambda>B  ó   € °&·+±+³-×2IÑ2IÓ2K€ rE   rã   r›   rK   s    rC   rã   zDaskExpr.meanA  ó   € Ø×"Ñ"Ñ#KÈVÓTÐTrE   c                óD   ‡ ‡— ddl mŠ dˆˆ fd„}‰ j                  |d«      S )Nr   r   c                óÒ   •— t        | j                  ‰j                  t        j                  «      }|j                  «       s
d} ‰|«      ‚| j                  «       j                  «       S )Nz<`median` operation not supported for non-numeric input type.)r   Údtyper8   r   ÚDASKÚ
is_numericÚmedian_approximaterä   )Úsré   r�   r   r;   s      €€rC   rS   zDaskExpr.median.<locals>.funcG  sS   ø€ Ü,¨Q¯W©W°d·m±mÄ^×EXÑEXÓYˆEØ×#Ñ#Ô%ØT�Ù+¨CÓ0Ð0Ø×'Ñ'Ó)×3Ñ3Ó5Ð5rE   Úmedian)rí   ú	dx.SeriesrV   rï   )Únarwhals.exceptionsr   r…   )r;   rS   r   s   ` @rC   rî   zDaskExpr.medianD  s    ù€ Ý=ö	6ð ×"Ñ" 4¨Ó2Ð2rE   c                ó(   — | j                  d„ d«      S )Nc                ó>   — | j                  «       j                  «       S r1   )Úminrä   rà   s    rC   ru   zDaskExpr.min.<locals>.<lambda>Q  ó   € °&·*±*³,×2HÑ2HÓ2J€ rE   ró   r›   rK   s    rC   ró   zDaskExpr.minP  ó   € Ø×"Ñ"Ñ#JÈEÓRÐRrE   c                ó(   — | j                  d„ d«      S )Nc                ó>   — | j                  «       j                  «       S r1   )Úmaxrä   rà   s    rC   ru   zDaskExpr.max.<locals>.<lambda>T  rô   rE   rø   r›   rK   s    rC   rø   zDaskExpr.maxS  rõ   rE   c                ó6   ‡— | j                  ˆfd„dd‰i¬«      S )Nc                óD   •— | j                  ‰¬«      j                  «       S ©N)Úddof)Ústdrä   ©r—   rü   s    €rC   ru   zDaskExpr.std.<locals>.<lambda>X  ó   ø€ ˜6Ÿ:™:¨4˜:Ó0×:Ñ:Ó<€ rE   rý   rü   r.   r›   ©r;   rü   s    `rC   rý   zDaskExpr.stdV  ó(   ø€ Ø×"Ñ"Û<ØØ ˜ð #ó 
ð 	
rE   c                ó6   ‡— | j                  ˆfd„dd‰i¬«      S )Nc                óD   •— | j                  ‰¬«      j                  «       S rû   )Úvarrä   rþ   s    €rC   ru   zDaskExpr.var.<locals>.<lambda>_  rÿ   rE   r  rü   r.   r›   r   s    `rC   r  zDaskExpr.var]  r  rE   c                ó(   — | j                  d„ d«      S )Nc                ó>   — | j                  «       j                  «       S r1   )Úskewrä   rà   s    rC   ru   zDaskExpr.skew.<locals>.<lambda>e  rå   rE   r  r›   rK   s    rC   r  zDaskExpr.skewd  ræ   rE   c                ó.   ‡— | j                  ˆfd„d«      S )Nc                ó&   •— | j                  ‰«      S r1   )Úshift)r—   Úns    €rC   ru   z DaskExpr.shift.<locals>.<lambda>h  s   ø€ °&·,±,¸q³/€ rE   r
  r›   )r;   r  s    `rC   r
  zDaskExpr.shiftg  s   ø€ Ø×"Ñ"Ó#AÀ7ÓKÐKrE   c               óF   — |rd}t        |«      ‚| j                  d„ d«      S )Nz:`cum_sum(reverse=True)` is not supported with Dask backendc                ó"   — | j                  «       S r1   )Úcumsumrà   s    rC   ru   z"DaskExpr.cum_sum.<locals>.<lambda>p  ó   € °&·-±-³/€ rE   Úcum_sum©ÚNotImplementedErrorr…   ©r;   Úreverser�   s      rC   r  zDaskExpr.cum_sumj  s)   € ÙàNˆCÜ% cÓ*Ð*à×"Ñ"Ñ#AÀ9ÓMÐMrE   c               óF   — |rd}t        |«      ‚| j                  d„ d«      S )Nz<`cum_count(reverse=True)` is not supported with Dask backendc                óf   — | j                  «        j                  t        «      j                  «       S r1   )ÚisnaÚastypeÚintr  rà   s    rC   ru   z$DaskExpr.cum_count.<locals>.<lambda>x  s"   € ˜VŸ[™[›]˜N×2Ñ2´3Ó7×>Ñ>Ó@€ rE   Ú	cum_countr  r  s      rC   r  zDaskExpr.cum_countr  s-   € ÙØPˆCÜ% cÓ*Ð*à×"Ñ"Ù@À+ó
ð 	
rE   c               óF   — |rd}t        |«      ‚| j                  d„ d«      S )Nz:`cum_min(reverse=True)` is not supported with Dask backendc                ó"   — | j                  «       S r1   )Úcumminrà   s    rC   ru   z"DaskExpr.cum_min.<locals>.<lambda>€  r  rE   Úcum_minr  r  s      rC   r  zDaskExpr.cum_min{  ó)   € ÙØNˆCÜ% cÓ*Ð*à×"Ñ"Ñ#AÀ9ÓMÐMrE   c               óF   — |rd}t        |«      ‚| j                  d„ d«      S )Nz:`cum_max(reverse=True)` is not supported with Dask backendc                ó"   — | j                  «       S r1   )Úcummaxrà   s    rC   ru   z"DaskExpr.cum_max.<locals>.<lambda>‡  r  rE   Úcum_maxr  r  s      rC   r#  zDaskExpr.cum_max‚  r  rE   c               óF   — |rd}t        |«      ‚| j                  d„ d«      S )Nz;`cum_prod(reverse=True)` is not supported with Dask backendc                ó"   — | j                  «       S r1   )Úcumprodrà   s    rC   ru   z#DaskExpr.cum_prod.<locals>.<lambda>Ž  s   € °&·.±.Ó2B€ rE   Úcum_prodr  r  s      rC   r'  zDaskExpr.cum_prod‰  s)   € ÙØOˆCÜ% cÓ*Ð*à×"Ñ"Ñ#BÀJÓOÐOrE   c               ó6   ‡‡‡— | j                  ˆˆˆfd„d«      S )Nc                óH   •— | j                  ‰‰‰¬«      j                  «       S ©N)ÚwindowÚmin_periodsÚcenter)ÚrollingÚsum©r—   r-  Úmin_samplesÚwindow_sizes    €€€rC   ru   z&DaskExpr.rolling_sum.<locals>.<lambda>’  s&   ø€ ˜6Ÿ>™>Ø"°ÀFð *ó ç‰c‹eð rE   Úrolling_sumr›   ©r;   r2  r1  r-  s    ```rC   r3  zDaskExpr.rolling_sum�  s    ú€ Ø×"Ñ"õð ó	
ð 	
rE   c               ó6   ‡‡‡— | j                  ˆˆˆfd„d«      S )Nc                óH   •— | j                  ‰‰‰¬«      j                  «       S r*  )r.  rã   r0  s    €€€rC   ru   z'DaskExpr.rolling_mean.<locals>.<lambda>š  s&   ø€ ˜6Ÿ>™>Ø"°ÀFð *ó ç‰d‹fð rE   Úrolling_meanr›   r4  s    ```rC   r7  zDaskExpr.rolling_mean˜  s    ú€ Ø×"Ñ"õð ó	
ð 	
rE   c               óZ   ‡‡‡— |dk(  r| j                  ˆˆˆfd„d«      S d}t        |«      ‚)Nrƒ   c                óH   •— | j                  ‰‰‰¬«      j                  «       S r*  )r.  r  r0  s    €€€rC   ru   z&DaskExpr.rolling_var.<locals>.<lambda>¥  ó&   ø€ ˜vŸ~™~Ø&°KÈð  .ó  ç‘#“%ð rE   Úrolling_varz5Dask backend only supports `ddof=1` for `rolling_var`©r…   r  ©r;   r2  r1  r-  rü   r�   s    ```  rC   r;  zDaskExpr.rolling_var   ó<   ú€ ð �1Š9Ø×&Ñ&õð ó	ð ð JˆCÜ% cÓ*Ð*rE   c               óZ   ‡‡‡— |dk(  r| j                  ˆˆˆfd„d«      S d}t        |«      ‚)Nrƒ   c                óH   •— | j                  ‰‰‰¬«      j                  «       S r*  )r.  rý   r0  s    €€€rC   ru   z&DaskExpr.rolling_std.<locals>.<lambda>³  r:  rE   Úrolling_stdz5Dask backend only supports `ddof=1` for `rolling_std`r<  r=  s    ```  rC   rA  zDaskExpr.rolling_std®  r>  rE   c                ó(   — | j                  d„ d«      S )Nc                ó>   — | j                  «       j                  «       S r1   )r/  rä   rà   s    rC   ru   zDaskExpr.sum.<locals>.<lambda>½  rô   rE   r/  r›   rK   s    rC   r/  zDaskExpr.sum¼  rõ   rE   c                ó(   — | j                  d„ d«      S )Nc                ó>   — | j                  «       j                  «       S r1   )Úcounträ   rà   s    rC   ru   z DaskExpr.count.<locals>.<lambda>À  s   € °&·,±,³.×2JÑ2JÓ2L€ rE   rF  r›   rK   s    rC   rF  zDaskExpr.count¿  s   € Ø×"Ñ"Ñ#LÈgÓVÐVrE   c                ó.   ‡— | j                  ˆfd„d«      S )Nc                ó&   •— | j                  ‰«      S r1   )Úround)r—   Údecimalss    €rC   ru   z DaskExpr.round.<locals>.<lambda>Ã  s   ø€ °&·,±,¸xÓ2H€ rE   rI  r›   )r;   rJ  s    `rC   rI  zDaskExpr.roundÂ  s   ø€ Ø×"Ñ"Ó#HÈ'ÓRÐRrE   c                ó(   — | j                  d„ d«      S )Nc                ó"   — | j                  «       S r1   )Úuniquerà   s    rC   ru   z!DaskExpr.unique.<locals>.<lambda>Æ  r  rE   rM  r›   rK   s    rC   rM  zDaskExpr.uniqueÅ  s   € Ø×"Ñ"Ñ#AÀ8ÓLÐLrE   c                ó(   — | j                  d„ d«      S )Nc                ó"   — | j                  «       S r1   ©Údropnarà   s    rC   ru   z%DaskExpr.drop_nulls.<locals>.<lambda>É  r  rE   Ú
drop_nullsr›   rK   s    rC   rR  zDaskExpr.drop_nullsÈ  s   € Ø×"Ñ"Ñ#AÀ<ÓPÐPrE   c                ó(   — | j                  d„ d«      S )Nc                ó"   — | j                  «       S r1   )Úabsrà   s    rC   ru   zDaskExpr.abs.<locals>.<lambda>Ì  s   € °&·*±*³,€ rE   rU  r›   rK   s    rC   rU  zDaskExpr.absË  s   € Ø×"Ñ"Ñ#>ÀÓFÐFrE   c                ó(   — | j                  d„ d«      S )Nc                óH   — | j                  d ddd ¬«      j                  «       S )NTF)ÚaxisÚskipnaÚsplit_everyÚout)Úallrä   rà   s    rC   ru   zDaskExpr.all.<locals>.<lambda>Ð  s'   € ˜6Ÿ:™:Ø $°E¸tð &ó ç‰i‹kð rE   r\  r›   rK   s    rC   r\  zDaskExpr.allÎ  s   € Ø×"Ñ"ñð ó	
ð 	
rE   c                ó(   — | j                  d„ d«      S )Nc                óF   — | j                  ddd¬«      j                  «       S )Nr   TF)rX  rY  rZ  )Úanyrä   rà   s    rC   ru   zDaskExpr.any.<locals>.<lambda>Ø  s   € ˜6Ÿ:™:¨1°TÀu˜:ÓM×WÑWÓY€ rE   r_  r›   rK   s    rC   r_  zDaskExpr.anyÖ  s   € Ø×"Ñ"ÙYØó
ð 	
rE   c                ó<   ‡‡‡— dˆˆˆfd„}| j                  |d«      S )Nc                ó„   •— ‰�| j                  ‰«      }|S ‰dk(  r| j                  ‰¬«      n| j                  ‰¬«      }|S )NÚforward)Úlimit)ÚfillnaÚffillÚbfill)r—   Úres_serrc  Ústrategyr~   s     €€€rC   rS   z DaskExpr.fill_null.<locals>.funcâ  sR   ø€ ØÐ Ø Ÿ-™-¨Ó.�ð ˆNð   9Ò,ð —L‘L u�LÔ-àŸ™¨E˜Ó2ð ð
 ˆNrE   rd  ©r—   rï   rV   rï   r›   )r;   r~   rh  rc  rS   s    ``` rC   Ú	fill_nullzDaskExpr.fill_nullÜ  s   ú€ ÷		ð ×"Ñ" 4¨Ó2Ð2rE   c                ó.   — | j                  d„ d||¬«      S )Nc                ó(   — | j                  ||¬«      S )N)ÚlowerÚupper)Úclip)r—   Úlower_boundÚupper_bounds      rC   ru   zDaskExpr.clip.<locals>.<lambda>õ  s   € °V·[±[Ø!¨ð 6Aó 6€ rE   ro  )rp  rq  r›   )r;   rp  rq  s      rC   ro  zDaskExpr.clipï  s,   € ð
 ×"Ñ"ñð Ø#Ø#ð #ó 
ð 	
rE   c                ó(   — | j                  d„ d«      S )Nc                ó"   — | j                  «       S r1   )Údiffrà   s    rC   ru   zDaskExpr.diff.<locals>.<lambda>þ  ó   € °&·+±+³-€ rE   rt  r›   rK   s    rC   rt  zDaskExpr.diffý  s   € Ø×"Ñ"Ñ#?ÀÓHÐHrE   c                ó(   — | j                  d„ d«      S )Nc                óB   — | j                  d¬«      j                  «       S )NFrP  )Únuniquerä   rà   s    rC   ru   z#DaskExpr.n_unique.<locals>.<lambda>  s   € ˜6Ÿ>™>°˜>Ó7×AÑAÓC€ rE   Ún_uniquer›   rK   s    rC   ry  zDaskExpr.n_unique   s   € Ø×"Ñ"ÙCÀZó
ð 	
rE   c                ó(   — | j                  d„ d«      S )Nc                ó"   — | j                  «       S r1   )r  rà   s    rC   ru   z"DaskExpr.is_null.<locals>.<lambda>  ru  rE   Úis_nullr›   rK   s    rC   r|  zDaskExpr.is_null  s   € Ø×"Ñ"Ñ#?ÀÓKÐKrE   c                ó4   ‡ — dˆ fd„}‰ j                  |d«      S )Nc                ó¦   •— t        | j                  ‰j                  ‰j                  «      }|j	                  «       r| | k7  S d|› d�}t        |«      ‚)Nz4`.is_nan` only supported for numeric dtypes and not z, did you mean `.is_null`?)r   ré   r8   r-   rë   r   )r—   ré   r�   r;   s      €rC   rS   zDaskExpr.is_nan.<locals>.func	  sU   ø€ Ü,Ø—‘˜dŸm™m¨T×-AÑ-AóˆEð ×ÑÔ!Ø Ñ'Ð'ØHÈÈÐOiÐjˆCÜ'¨Ó,Ð,rE   r|  ri  r›   rˆ   s   ` rC   Úis_nanzDaskExpr.is_nan  s   ø€ õ	-ð ×"Ñ" 4¨Ó3Ð3rE   c                ó(   — | j                  d„ d«      S )Nc                ó6   — | j                   j                  «       S r1   )Úsizerä   rà   s    rC   ru   zDaskExpr.len.<locals>.<lambda>  s   € °&·+±+×2GÑ2GÓ2I€ rE   rŒ   r›   rK   s    rC   rŒ   zDaskExpr.len  s   € Ø×"Ñ"Ñ#IÈ5ÓQÐQrE   c                óV   — |dk(  rdd„}| j                  |d|¬«      S d}t        |«      ‚)NÚlinearÚquantilec                ó|   — | j                   dkD  rd}t        |«      ‚| j                  |d¬«      j                  «       S )Nrƒ   zK`Expr.quantile` is not supported for Dask backend with multiple partitions.Údask)ÚqÚmethod)Únpartitionsr  r…  rä   )r—   r…  r�   s      rC   rS   zDaskExpr.quantile.<locals>.func  sB   € Ø×%Ñ%¨Ò)Øg�CÜ-¨cÓ2Ð2Ø—‘Ø vð 'ó ç‘)“+ðrE   )r…  zx`higher`, `lower`, `midpoint`, `nearest` - interpolation methods are not supported by Dask. Please use `linear` instead.)r—   rï   r…  ÚfloatrV   rï   r<  )r;   r…  ÚinterpolationrS   r�   s        rC   r…  zDaskExpr.quantile  s>   € ð ˜HÒ$óð ×&Ñ& t¨ZÀ(Ð&ÓKÐKð MˆCÜ% cÓ*Ð*rE   c                ó4   ‡ — dˆ fd„}‰ j                  |d«      S )Nc                ó
  •— | j                   }t        d|g¬«      }t        | j                  «       |‰j                  ‰j
                  «      }|j                  |«      j                  |di«      |   }||   j                  |«      S )Né   ©Ún_bytesra   ró   ©	r�   r   r   Úto_framer7   r-   ÚgroupbyÚaggÚisin)r—   Ú_nameÚ	col_tokenÚframeÚfirst_distinct_indexr;   s        €rC   rS   z(DaskExpr.is_first_distinct.<locals>.func*  s~   ø€ Ø—K‘KˆEÜ6¸qÈ5È'ÔRˆIÜ!Ø—‘Ó! 9¨d×.CÑ.CÀT×EYÑEYóˆEð $)§=¡=°Ó#7×#;Ñ#;¸YÈÐ<NÓ#OÐPYÑ#ZÐ Ø˜Ñ#×(Ñ(Ð)=Ó>Ð>rE   Úis_first_distinctri  r›   rˆ   s   ` rC   r›  zDaskExpr.is_first_distinct)  s   ø€ õ	?ð ×"Ñ" 4Ð)<Ó=Ð=rE   c                ó4   ‡ — dˆ fd„}‰ j                  |d«      S )Nc                ó
  •— | j                   }t        d|g¬«      }t        | j                  «       |‰j                  ‰j
                  «      }|j                  |«      j                  |di«      |   }||   j                  |«      S )Nr�  r�  rø   r’  )r—   r—  r˜  r™  Úlast_distinct_indexr;   s        €rC   rS   z'DaskExpr.is_last_distinct.<locals>.func6  s}   ø€ Ø—K‘KˆEÜ6¸qÈ5È'ÔRˆIÜ!Ø—‘Ó! 9¨d×.CÑ.CÀT×EYÑEYóˆEð #(§-¡-°Ó"6×":Ñ":¸IÀuÐ;MÓ"NÈyÑ"YÐØ˜Ñ#×(Ñ(Ð)<Ó=Ð=rE   Úis_last_distinctri  r›   rˆ   s   ` rC   rŸ  zDaskExpr.is_last_distinct5  s   ø€ õ	>ð ×"Ñ" 4Ð);Ó<Ð<rE   c                ó.   — dd„}| j                  |d«      S )Nc                ó�   — | j                   }| j                  «       j                  |d¬«      j                  d|t        f¬«      dk(  S )NFrP  r‚  )Úmetarƒ   )r�   r“  r”  Ú	transformr  )r—   r—  s     rC   rS   z DaskExpr.is_unique.<locals>.funcB  sB   € Ø—K‘KˆEà—‘Ó!ß‘˜ u�Ó-ß‘˜6¨´¨�Ó5ØñðrE   Ú	is_uniqueri  r›   rˆ   s     rC   r¤  zDaskExpr.is_uniqueA  s   € ó	ð ×"Ñ" 4¨Ó5Ð5rE   c                ó.   ‡— | j                  ˆfd„d«      S )Nc                ó&   •— | j                  ‰«      S r1   )r–  r–   s    €rC   ru   z DaskExpr.is_in.<locals>.<lambda>N  s   ø€ °&·+±+¸eÓ2D€ rE   Úis_inr›   rœ   s    `rC   r§  zDaskExpr.is_inM  s   ø€ Ø×"Ñ"Ó#DÀgÓNÐNrE   c                ó(   — | j                  d„ d«      S )Nc                óZ   — | j                  «       j                  «       j                  «       S r1   )r  r/  rä   rà   s    rC   ru   z%DaskExpr.null_count.<locals>.<lambda>R  s   € ˜6Ÿ;™;›=×,Ñ,Ó.×8Ñ8Ó:€ rE   Ú
null_countr›   rK   s    rC   rª  zDaskExpr.null_countP  s   € Ø×"Ñ"Ù:¸Ló
ð 	
rE   c           	     ó  ‡ ‡‡‡— ddl m} ‰s‰€J ‚dˆˆ fd„}nU‰ j                  «       sd}t        |«      ‚‰rd}t        |«      ‚|j	                  ‰ «      }	 |j
                  |   Šdˆˆˆ fd
„}‰ j                  |‰ j                  dz   ‰ j                  dz   ‰ j                  ‰ j                  ‰ j                  ‰ j                  ¬«      S # t        $ r/ d|› ddj                  |j
                  «      › d	�}t        |«      d ‚w xY w)Nr   )ÚPandasLikeGroupByc                ó6   •—  ‰ | j                   ‰dddœŽ«      S )NF)Ú
descendingÚ
nulls_last)Úsort)rG   Úorder_byr;   s    €€rC   rS   zDaskExpr.over.<locals>.funcb  s   ø€ Ù˜G˜BŸG™G X¸%ÈEÒRÓSÐSrE   z¤Only elementary expressions are supported for `.over` in dask.

Please see: https://narwhals-dev.github.io/narwhals/pandas_like_concepts/improve_group_by_operation/z4`over` with `order_by` is not yet supported in Dask.zUnsupported function: z- in `over` context.

Supported functions are z, ú
c           
     ó‚  •— t        ‰
| g «      \  }}t        j                  «       5  t        j                  ddt        ¬«       | j
                  j                  ‰	«      }‰dk(  rKt        |«      dk7  rd}t        |«      ‚ |j                  ‰fi ‰
j                  ¤Žj                  |d   «      }n) |t        |«         j                  ‰fi ‰
j                  ¤Ž}d d d «       | j                  j                  t        t!        ||«      «      ¬«      «      j
                  }|D �cg c]  }||   ‘Œ	 c}S # 1 sw Y   ŒZxY wc c}w )	NÚignorez.*`meta` is not specified)ÚmessageÚcategoryr‚  rƒ   z)Safety check failed, please report a bug.r   rs   )r   ÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarningÚnativer”  rŒ   ÚAssertionErrorr£  r9   r“  ÚlistÚ_with_nativeÚrenameÚdictÚzip)rG   Úoutput_namesÚaliasesÚgroupedr�   Ú
res_nativeÚresult_framer�   Údask_function_nameÚpartition_byr;   s           €€€rC   rS   zDaskExpr.over.<locals>.func{  sA  ø€ Ü(IÈ$ÐPRÐTVÓ(WÑ%�˜gä×,Ñ,Ó.ñ ä×+Ñ+Ø Ø ;Ü!,õð
 !Ÿi™i×/Ñ/°Ó=�GØ)¨VÒ3Ü˜|Ó,°Ò1Ø"M˜CÜ"0°Ó"5Ð5Ø%6 W×%6Ñ%6Ø.ñ&Ø26×2CÑ2Cñ&ç"™( <°¡?Ó3ñ #ð &K W¬T°,Ó-?Ñ%@×%JÑ%JØ.ñ&Ø26×2CÑ2Cñ&˜
÷!ð&  "Ÿ™Ø×%Ñ%¬d´3°|ÀWÓ3MÓ.NÐ%ÓOó ç‘&ð ð 8?Ö?¨t˜ TÓ*Ò?Ð?÷-ð üò, @s   ¦B1D0Ä!D<Ä0D9rƒ   z->overrg   ©rG   r   rV   zSequence[dx.Series])Únarwhals._pandas_like.group_byr¬  Ú_is_elementaryr  Ú
_leaf_nameÚ_REMAP_AGGSr`   ÚjoinrW   r3   r4   r5   r6   r7   r8   )r;   rÈ  r±  r¬  rS   r�   r>   rÇ  s   ```    @rC   ÚoverzDaskExpr.overU  s*  û€ õ 	EáØÐ'Ð'Ð'÷Tà×$Ñ$Ô&ðkð ô
 & cÓ*Ð*ÙàHˆCÜ% cÓ*Ð*à-×8Ñ8¸Ó>ˆMð9Ø%6×%BÑ%BÀ=Ñ%QÐ"÷@ð6 �~‰~ØØ—+‘+ ‘/Ø×-Ñ-°Ñ8Ø"&×"=Ñ"=Ø#×7Ñ7Ø ×1Ñ1Ø—M‘Mð ó 
ð 	
øôG ò 9ð -¨]¨Oð </Ø/3¯y©yÐ9J×9VÑ9VÓ/WÐ.XÐXZð\ð ô *¨#Ó.°DÐ8ð9ús   ÁC Ã8D c                ó8   ‡ ‡— dˆˆ fd„}‰ j                  |d«      S )Nc                óR   •— t        ‰‰j                  «      }| j                  |«      S r1   )r   r8   r  )r—   Únative_dtyperé   r;   s     €€rC   rS   zDaskExpr.cast.<locals>.func¡  s"   ø€ Ü3°E¸4¿=¹=ÓIˆLØ—=‘= Ó.Ð.rE   Úcastri  r›   )r;   ré   rS   s   `` rC   rÓ  zDaskExpr.cast   s   ù€ ö	/ð ×"Ñ" 4¨Ó0Ð0rE   c                óF   — dd l m} | j                  |j                  d«      S )Nr   Ú	is_finite)Ú
dask.arrayÚarrayr…   Úisfinite)r;   Údas     rC   rÕ  zDaskExpr.is_finite§  s   € Ýà×"Ñ" 2§;¡;°Ó<Ð<rE   c                ó   — t        | «      S r1   r   rK   s    rC   ÚstrzDaskExpr.str¬  s   € ä& tÓ,Ð,rE   c                ó   — t        | «      S r1   r   rK   s    rC   ÚdtzDaskExpr.dt°  s   € ä(¨Ó.Ð.rE   )r<   z$EvalSeries[DaskLazyFrame, dx.Series]r=   r  r>   rÛ  r?   úEvalNames[DaskLazyFrame]r@   úAliasNames | NonerA   ztuple[int, ...]rB   r)   r/   údict[str, Any] | NonerV   ÚNonerÉ  )rV   rá  )rV   r!   )rX   z/Literal[ExprKind.AGGREGATION, ExprKind.LITERAL]rV   r   )
ri   ú
type[Self]rf   rÞ  rj   r*   r>   rÛ  rV   r   )ri   râ  rp   r  rj   r*   rV   r   )rZ   N)
r„   rÛ  r/   rà  r<   zCallable[..., dx.Series]r‚   z
Self | AnyrV   r   )rS   rß  rV   r   )r�   rÛ  rV   r   )r˜   r   rV   r   )r˜   r,   rV   r   )r˜   zDaskExpr | AnyrV   r   )rV   r   )rü   r  rV   r   )r  r  rV   r   )r  ÚboolrV   r   )r2  r  r1  r  r-  rã  rV   r   )
r2  r  r1  r  r-  rã  rü   r  rV   r   )rJ  r  rV   r   )r~   zSelf | NonNestedLiteralrh  zFillNullStrategy | Nonerc  z
int | NonerV   r   )rp  ú.Self | NumericLiteral | TemporalLiteral | Nonerq  rä  rV   r   )r…  r‹  rŒ  r'   rV   r   )rÈ  r‘   r±  zSequence[str] | NonerV   r   )ré   zDType | type[DType]rV   r   )rV   r   )rV   r   )WÚ__name__Ú
__module__Ú__qualname__r   rê   r-   Ú__annotations__rD   rH   rL   rO   rY   Úclassmethodrk   rv   r…   r‰   r’   r•   r    r¤   rª   r­   r°   r³   r¶   r¹   r¼   r¿   rÂ   rÅ   rÊ   rÍ   rÐ   rÓ   rÖ   rÙ   rÜ   rß   rã   rî   ró   rø   rý   r  r  r
  r  r  r  r#  r'  r3  r7  r;  rA  r/  rF  rI  rM  rR  rU  r\  r_  rj  ro  rt  ry  r|  r  rŒ   r…  r›  rŸ  r¤  r§  rª  rÏ  rÓ  rÕ  ÚpropertyrÛ  rÝ  r   r½  ÚstructÚrankrJ   rE   rC   r,   r,   /   s©  … ð '5×&9Ñ&9€O�^Ó9ð .2ñ3à2ð3ð ð	3ð
 ð3ð  8ð3ð .ð3ð )ð3ð ð3ð +ð3ð 
ó3ó0ó -ó[ó
ð ð  ñ
Øð
à7ð
ð
 ð
ð ð
ð 
ò
ó ð
ðB ð
Øð
Ø*-ð
Ø8Dð
à	ò
ó ð
ð. Ø-1ð
ð
 ð
ð +ð
ð 'ð
ð  *ð
ð 
ó
ó@

ó
ó$
ó

ó
ó

ó

ó
ó

ó
ó

ó
ó

ó
ó

ó

ó

ó

ó

ó

ó

ó

ó
UóUó
3óSóSó
ó
óUóLóNó
óNóNóPó
ó
ð+Øð+Ø03ð+Ø=Að+ØILð+à	ó+ð+Øð+Ø03ð+Ø=Að+ØILð+à	ó+óSóWóSóMóQóGó
ó
ð3à&ð3ð *ð3ð ð	3ð
 
ó3ð&
àCð
ð Dð
ð 
ó	
óIó
ó
Ló
4óRð+Øð+Ø.Hð+à	ó+ó$
>ó
=ó
6óOó
ð
I
à#ðI
ð 'ðI
ð 
ó	I
óV1ó=ð
 ò-ó ð-ð ò/ó ð/ñ Ó€DÙÓ€FÙÓ�DrE   r,   )r   rï   );Ú
__future__r   r·  Útypingr   r   r   r   r   Únarwhals._compliantr	   Únarwhals._compliant.exprr
   Únarwhals._dask.expr_dtr   Únarwhals._dask.expr_strr   Únarwhals._dask.utilsr   r   r   Únarwhals._expression_parsingr   r   Únarwhals._pandas_like.utilsr   rð   r   r   Únarwhals.utilsr   r   r   Údask.dataframe.dask_exprÚ	dataframeÚ	dask_exprÚdxÚtyping_extensionsr   Únarwhals._compliant.typingr   r   r   Únarwhals._dask.dataframer   rN   r!   r"   Únarwhals.dtypesr#   Únarwhals.typingr$   r%   r&   r'   r(   r)   r*   r,   rJ   rE   rC   ú<module>r      sž   ðÝ "ã Ý  Ý Ý Ý Ý å (Ý 6Ý <Ý ;Ý .Ý 4Ý 9Ý 1Ý JÝ @Ý 3Ý 5Ý )Ý 9Ý *áß)Ð)Ý&å5Ý4Ý5Ý6Ý6Ý5Ý9Ý%Ý0Ý0Ý.Ý:Ý/Ý&Ý+ôG
ØÐ)Ñ*ØÐ2Ñ3õG
rE   