Ë
    ÷Q(h”Y  ã                   ób  — d dl mZmZmZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlZddlmZmZmZmZ ddlmZ dd	lmZmZ d
dlmZmZ d
dlmZmZmZ  ej:                  d«      Z ej:                  d«      Zd dlm Z m!Z!m"Z" d dl#mZ d dl$m%Z%m&Z&m'Z'  ejP                  dd¬«      d„ «       Z)d„ Z*dId„Z+d„ Z,d„ Z-d„ Z.ej^                  ja                  dddg«      ej^                  ja                  deeg«      d„ «       «       Z1eej^                  ja                  dddg«      ej^                  ja                  dd d!g«      ej^                  ja                  deeg«      d"„ «       «       «       «       Z2eej^                  ja                  deeg«      d#„ «       «       Z3d$„ Z4d%„ Z5ej^                  ja                  d&dd'g«      d(„ «       Z6d)„ Z7 G d*„ d+e8«      Z9dJd,„Z:d-„ Z;d.„ Z<ej^                  ja                  d/ e= e>d«      «      «      d0„ «       Z?d1„ Z@d2„ ZAd3„ ZBd4„ ZCd5„ ZDd6„ ZEd7„ ZFd8„ ZGd9„ ZHd:„ ZId;„ ZJej^                  ja                  d<d=d>g«      ej^                  j—                  ej˜                  d?k  xr ej˜                  d@k\  dA¬B«      dC„ «       «       ZMdD„ ZNej^                  ja                  dEdFdGg«      dH„ «       ZOy)Ké    )Úabsolute_importÚdivisionÚprint_functionN©Úrandom)Úsleep)Úuuid4é   )ÚParallelÚdelayedÚparallel_backendÚparallel_config)ÚDaskDistributedBackend)ÚAutoBatchingMixinÚThreadingBackendé   )ÚnpÚ
with_numpy)Ú_recursive_backend_infoÚ_test_deadlock_with_generatorÚ8_test_parallel_unordered_generator_returns_fastest_firstÚdistributedÚdask)ÚClientÚLocalClusterÚ
get_client)Útime)ÚcleanupÚclusterÚincÚfunctionT)ÚscopeÚautousec              #   ó4  K  — ddl m} |j                  D �ci c]"  }|t        j                  j                  |«      “Œ$ }}d –— |j                  «       D ];  \  }}|€!t        j                  j                  |d «       Œ)|t        j                  |<   Œ= y c c}w ­w)Nr   )ÚParallelBackendBase)Újoblib._parallel_backendsr%   ÚMAX_NUM_THREADS_VARSÚosÚenvironÚgetÚitemsÚpop)Útmp_pathr%   ÚkÚ	old_valueÚvs        úS/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/joblib/test/test_dask.pyÚavoid_dask_env_leaksr2   !   s   è ø€ õ
 >à/B×/WÑ/WÖX¨!�”B—J‘J—N‘N 1Ó%Ñ%ÐX€IÐXÛ	ð —‘Ó!ò ‰ˆˆ1Øˆ9Ü�J‰J�N‰N˜1˜dÕ#àŒB�J‰J�qŠMñ	ùò	 Yùs   ‚B—'B¾ABc                   ó   — y ©N© )ÚargsÚkwargss     r1   Únoopr8   3   s   € Øó    c                 ó4   — t        |«       | rt        d«      ‚y )Nzcondition evaluated to True)r   Ú
ValueError)Ú	conditionÚdurations     r1   Úslow_raise_value_errorr>   7   s   € Ü	ˆ(„OÙÜÐ6Ó7Ð7ð r9   c                 óÄ   — |j                  d„ «      }i }|j                  «       D ]3  \  }}t        t        |«      D �cg c]  }|d   | k(  sŒ|‘Œ c}«      ||<   Œ5 |S c c}w )Nc                 ó   — | j                   S r4   )Úlog)Údask_workers    r1   ú<lambda>zcount_events.<locals>.<lambda>>   s
   € °;·?±?€ r9   r   )Úrunr+   ÚlenÚlist)Ú
event_nameÚclientÚworker_eventsÚevent_countsÚwÚeventsÚevents          r1   Úcount_eventsrN   =   sk   € Ø—J‘JÑBÓC€MØ€LØ"×(Ñ(Ó*ò 
‰	ˆˆ6ÜÜ $ V£ÖG�u°°a±¸JÓ0FŠUÒGó
ˆ�QŠð
ð Ðùò Hs   ½A
ÁA
c           
      ó¨  — t        «       5 \  }\  }}t        |d   | ¬«      5 }t        d¬«      5   t        «       d„ t	        d«      D «       «      }|t	        d«      D �cg c]  }t        |«      ‘Œ c}k(  sJ ‚t        j                  t        «      5   t        «       d„ t	        d«      D «       «       d d d «        t        «       d„ t	        d«      D «       «      }|t	        d«      D �cg c]  }t        |«      ‘Œ c}k(  sJ ‚	 d d d «       d d d «       d d d «       y c c}w # 1 sw Y   ŒoxY wc c}w # 1 sw Y   Œ0xY w# 1 sw Y   Œ4xY w# 1 sw Y   y xY w)	NÚaddress©Úloopr   ©Úbackendc              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   ©r   r    ©Ú.0Úis     r1   ú	<genexpr>ztest_simple.<locals>.<genexpr>K   ó   è ø€ Ò D°Q ¤¬£¨a§Ñ Dùó   ‚!é
   c              3   óL   K  — | ]  } t        t        «      |d k(  «      –— Œ y­w)é   N)r   r>   rW   s     r1   rZ   ztest_simple.<locals>.<genexpr>O   s'   è ø€ ò ØDEÐ7œÔ 6Ó7¸¸Q¹×?ñùs   ‚"$c              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   rV   rW   s     r1   rZ   ztest_simple.<locals>.<genexpr>S   r[   r\   )	r   r   r   r   Úranger    ÚpytestÚraisesr;   )rR   ÚsÚaÚbrH   ÚseqrY   s          r1   Útest_simplerh   G   s(  € Ü	‹ð :‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 	:°Ü ¨Ô0ñ 
:Ø ”h“jÑ D¼%À»)Ô DÓD�Ø¬u°R«yÖ9¨!œs 1�vÒ9Ò9Ð9Ð9ä—]‘]¤:Ó.ñ Ø”H“Jñ ÜINÈrËôô ÷ð
 !”h“jÑ D¼%À»)Ô DÓD�Ø¬u°R«yÖ9¨!œs 1�vÒ9Ò9Ð9Ñ9÷
:÷	:÷:ð :ùò :÷ð üò :÷
:ð 
:ú÷	:ð 	:ú÷:ð :úso   ‹E¢D<¯/D0ÁDÁ0 D0Â!D	Â16D0Ã'D+Ã9D0ÄD<Ä	EÄD0ÄD(Ä$D0Ä0D9Ä5D<Ä<E	ÅEÅEc                 ó@  — t         j                  t        j                  u sJ ‚t        «       5 \  }\  }}t	        |d   | ¬«      5 }t        d¬«      5  t        «       5 }|j                  }t        |t         «      sJ ‚|j                  |u sJ ‚|j                  dk(  sJ ‚ |d„ t        t        d«      «      D «       «       |j                  dkD  sJ ‚	 d d d «       d d d «       d d d «       d d d «       y # 1 sw Y   Œ"xY w# 1 sw Y   Œ&xY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)	NrP   rQ   r   rS   r   c              3   ó>   K  — | ]  } t        d „ «      «       –— Œ y­w)c                   ó   — y r4   r5   r5   r9   r1   rC   z?test_dask_backend_uses_autobatching.<locals>.<genexpr>.<lambda>j   s   � r9   N©r   ©rX   Ú_s     r1   rZ   z6test_dask_backend_uses_autobatching.<locals>.<genexpr>j   s   è ø€ ÒN¸Ð2œW¡\Ó2×4ÑNùs   ‚ç     ˆÃ@r]   )r   Úcompute_batch_sizer   r   r   r   r   Ú_backendÚ
isinstanceÚparallelÚ_effective_batch_sizera   Úint)rR   rd   re   rf   rH   rs   rT   s          r1   Ú#test_dask_backend_uses_autobatchingrv   W   s  € ä×1Ñ1Ü×/Ñ/ñ	0ðð	0ô 
‹ð >‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 	>°Ü ¨Ô0ñ >Ü“Zð > 8ð '×/Ñ/�GÜ% gÔ/EÔFÐFÐFØ"×+Ñ+¨xÑ7Ð7Ð7Ø"×8Ñ8¸AÒ=Ð=Ð=ñ ÑN¼eÄCÈÃH»oÔNÔNØ"×8Ñ8¸2Ò=Ð=Ñ=÷>÷>÷	>÷>ð >÷>ð >ú÷>ð >ú÷	>ð 	>ú÷>ð >úsT   ­DÁDÁC<ÁA2C0	ÃC<ÃDÃDÃ0C9Ã5C<Ã<DÄDÄD	ÄDÄDÚn_jobséÿÿÿÿÚcontextc                 ó®   — t         j                  dd¬«      5   |d«      5  t        d | «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w©Nr
   ©Ú	n_workersÚthreads_per_workerr   )r   r   r   )rw   ry   s     r1   ÚAtest_parallel_unordered_generator_returns_fastest_first_with_daskr   n   sY   € ô 
×	Ñ	 a¸AÐ	Ó	>ñ OÁÈÃñ OÜ@ÀÀvÔN÷O÷ O÷ Oñ Oú÷ Oð Oús   ˜	A¡?®A¿A	ÁAÁAÚ	return_asÚ	generatorÚgenerator_unorderedc                 ó°   — t         j                  dd¬«      5   | d«      5  t        d ||«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY wr{   )r   r   r   )ry   r€   rw   s      r1   Ú%test_deadlock_with_generator_and_daskr„   u   sS   € ô
 
×	Ñ	 a¸AÐ	Ó	>ñ ?ÁÈÃñ ?Ü% d¨I°vÔ>÷?÷ ?÷ ?ñ ?ú÷ ?ð ?ús!   ˜	A¡A ¯AÁ A		ÁAÁAc                 ó
  — t         j                  dd¬«      5  t        j                  t	        d«      t        j
                  ¬«      }t        d«      D ]C  } | d«      5  t        |¬«      }d d d «       t        «      dk(  sJ ‚t        d„ |D «       «      rŒCJ ‚  | d«      5  t        «       }d d d «       t        «      dk(  sJ ‚t        d	„ |D «       «      sJ ‚	 d d d «       y # 1 sw Y   ŒxxY w# 1 sw Y   ŒCxY w# 1 sw Y   y xY w)
Nr
   r|   g    ÐcA©Údtyper   ©Údataé   c              3   ó,   K  — | ]  \  }}|d k(  –— Œ y­w©r   Nr5   ©rX   Únamern   s      r1   rZ   z4test_nested_parallelism_with_dask.<locals>.<genexpr>ˆ   s   è ø€ ò Ù5<°T¸1�Ð0Õ0ñùó   ‚c              3   ó,   K  — | ]  \  }}|d k(  –— Œ y­wrŒ   r5   r�   s      r1   rZ   z4test_nested_parallelism_with_dask.<locals>.<genexpr>�   s   è ø€ ò 
Ù18°°qˆDÐ,Õ,ñ
ùr�   )
r   r   r   Úonesru   Úuint8ra   r   rE   Úall)ry   r‰   rY   Úbackend_types_and_levelss       r1   Ú!test_nested_parallelism_with_daskr•   ~   s  € ô 
×	Ñ	 a¸AÐ	Ó	>ñ 
ä�w‰w”s˜3“x¤r§x¡xÔ0ˆÜ�q“ò 	ˆAÙ˜“ñ NÜ+BÈÔ+MÐ(÷NäÐ/Ó0°AÒ5Ð5Ð5Üñ Ø@Xôõ ð ð ð		ñ �V‹_ñ 	AÜ'>Ó'@Ð$÷	AäÐ+Ó,°Ò1Ð1Ð1Üñ 
Ø<Tô
ô 
ð 	
ñ 
÷
ð 
÷Nð Nú÷	Að 	Aú÷
ð 
úsB   ˜AC9ÁC!Á**C9ÂC9Â C-Â+,C9Ã!C*Ã&C9Ã-C6	Ã2C9Ã9Dc                  ó   — t        «       S r4   r   r5   r9   r1   Úrandom2r—   •   s	   € Ü‹8€Or9   c           	      ó0  — t        «       5 \  }\  }}t        |d   | ¬«      5 }t        d¬«      5   t        «       d„ t	        d«      D «       «      \  }}||k7  sJ ‚	 d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrP   rQ   r   rS   c              3   óD   K  — | ]  } t        t        «      «       –— Œ y ­wr4   )r   r—   rW   s     r1   rZ   z3test_dont_assume_function_purity.<locals>.<genexpr>�   s   è ø€ Ò!G¸Ð"2¤'¬'Ó"2×"4Ñ!Gùó   ‚ r
   ©r   r   r   r   ra   )rR   rd   re   rf   rH   ÚxÚys          r1   Ú test_dont_assume_function_purityrž   ™   s”   € Ü	‹ð ‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 	°Ü ¨Ô0ñ Ø!”x“zÑ!G¼eÀA»hÔ!GÓG‘��1Ø˜A’v�‘v÷÷	÷ð ÷ð ú÷	ð 	ú÷ð ús9   ‹B¢B ¯+A4ÁB Á#BÁ4A=Á9B Â B		ÂBÂBÚmixedFc                 ó°  — ddl m} |s.t        d«      D �cg c]  } t        t        «      |«      ‘Œ }}d}nGt        d«      D �cg c]1  }|dz  r t        t
        «      |«      n t        t        «      |«      ‘Œ3 }}d}t         ||«      «      |k(  sJ ‚t        «       5 \  }\  }}t        |d   | ¬«      5 }	t        d	¬
«      5   t        dd¬«      |«      }
d d d «       d„ }|j                  dd«      }|	j                  |«      }t        d„ |D «       «      sJ ‚	 d d d «       d d d «       y c c}w c c}w # 1 sw Y   Œ_xY w# 1 sw Y   Œ(xY w# 1 sw Y   y xY w)Nr   )ÚBatchrŠ   Úbatch_of_inc_4_callsr
   Úmixed_batch_of_inc_4_callsrP   rQ   r   rS   r“   )Ú
batch_sizeÚpre_dispatchc                 ó,   — t        | j                  «      S r4   )rF   Útransition_log)Údask_schedulers    r1   Úfztest_dask_funcname.<locals>.f³   s   € Ü˜N×9Ñ9Ó:Ð:r9   Ú4Ú2c              3   ó*   K  — | ]  }d |d   v –— Œ y­w)Úbatch_of_incr   Nr5   )rX   Útups     r1   rZ   z%test_dask_funcname.<locals>.<genexpr>¸   s   è ø€ Ò?°C�~¨¨Q©Ô/Ñ?ùs   ‚)Újoblib._daskr¡   ra   r   r    ÚabsÚreprr   r   r   r   ÚreplaceÚrun_on_schedulerr“   )rR   rŸ   r¡   rY   ÚtasksÚ
batch_reprrd   re   rf   rH   rn   r©   rA   s                r1   Útest_dask_funcnamer¶   ¡   sS  € å"áÜ*/°«(Ö3 Q�”œ“˜a•Ð3ˆÐ3Ø+‰
äHMÈaËÖQÀ1 A¨¢E�”œ“˜a”¨|¬w´s«|¸A«Ñ>ÐQˆÐQØ1ˆ
ä‘�e“Ó Ò+Ð+Ð+ä	‹ð 
@‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 		@°Ü ¨Ô0ñ FØ>”H¨¸Ô>¸uÓE�÷Fò;ð $×+Ñ+¨C°Ó5ˆJØ×)Ñ)¨!Ó,ˆCÜÑ?¸3Ô?Ô?Ð?Ñ?÷		@÷
@ð 
@ùò 4ùò R÷Fð Fú÷		@ð 		@ú÷
@ð 
@úsH   –D*Á6D/ÂEÂ5E ÃD4ÃAE ÄEÄ4D=Ä9E Å E		ÅEÅEc                  ó  ‡‡‡	— t        d«      D � cg c]  } g ‘Œ }} t        j                  d«      Š	 ‰	j                  t	        d«      «      Šdˆˆ	fd„	Št        dd¬«      }t        |«      }	 t        d¬	«      5   t        «       ˆfd
„|D «       «      }d d d «       |t        d«      D � cg c]  } g ‘Œ c} k(  sJ ‚t        d|«      }t        |j                  «       «      dk(  sJ ‚t        D �cg c]  }t        |«      dk(  ‘Œ c}«      sJ ‚t        d¬	«      5   t        «       ˆˆfd„|D «       «      }d d d «       t        d|«      }t        |j                  «       «      dkD  sJ ‚t        |D �cg c]  }t        |«      dk(  ‘Œ c}«      sJ ‚	 |j                  d¬«        |j                  d¬«       y c c} w # 1 sw Y   �Œ%xY wc c} w c c}w # 1 sw Y   Œ�xY wc c}w # |j                  d¬«        |j                  d¬«       w xY w)Néd   Únumpyg    €„.Ac                 óŠ   •— |�‰j                   j                  |‰«       | j                  t        «       j                  «       | S r4   )ÚtestingÚassert_array_equalÚappendr	   Úhex)Úlist_r‰   ÚXr   s     €€r1   Úisolated_operationzCtest_no_undesired_distributed_cache_hit.<locals>.isolated_operationÊ   s4   ø€ ØÐØ�J‰J×)Ñ)¨$°Ô2Ø�‰”U“W—[‘[Ô!Øˆr9   r   r
   r|   r   rS   c              3   ó@   •K  — | ]  } t        ‰«      |«      –— Œ y ­wr4   rl   )rX   r¿   rÁ   s     €r1   rZ   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>Õ   s   øè ø€ ÒSÀEÐ8œWÐ%7Ó8¸×?ÑSùs   ƒúreceive-from-scatterr   c              3   óD   •K  — | ]  } t        ‰«      |‰¬ «      –— Œ y­w)rˆ   Nrl   )rX   r¿   rÀ   rÁ   s     €€r1   rZ   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>å   s)   øè ø€ ò Ø?DÐ+”Ð*Ó+¨E¸×:Ð:ñùs   ƒ é   ©Útimeoutr4   )ra   rb   ÚimportorskipÚarangeru   r   r   r   r   rN   ÚsumÚvaluesr“   rE   Úclose)
rn   Úlistsr   rH   ÚresÚcountsÚrrÀ   rÁ   r   s
          @@@r1   Ú'test_no_undesired_distributed_cache_hitrÑ   »   sÎ  ú€ ô ˜s›Ö$�AŠRÐ$€EÐ$Ü	×	Ñ	˜WÓ	%€BØˆ�	‰	”#�c“(Ó€Aöô  Q¸1Ô=€GÜ�G‹_€Fð"Ü VÔ,ñ 	Tà”(“*ÓSÈUÔSÓSˆC÷	Tð ¤U¨3£ZÖ0 šÒ0Ò0Ð0Ð0ô
 Ð4°fÓ=ˆÜ�6—=‘=“?Ó# qÒ(Ð(Ð(Ü¨Ö- A”C˜“F˜a“KÒ-Ô.Ð.Ð.ä VÔ,ñ 	ð ”(“*ô ØHMôó ˆC÷	ô Ð4°fÓ=ˆÜ�6—=‘=“?Ó# aÒ'Ð'Ð'Ü¨Ö- A”C˜“F˜a“KÒ-Ô.Ð.Ñ.à�‰˜RˆÔ Øˆ�‰˜bÖ!ùòS %÷	Tñ 	Tüò 1ùò .÷	ð 	üò .øà�‰˜RˆÔ Øˆ�‰˜bÖ!úse   ‘	F0Á,G Á8F5ÂG Â(	GÂ1:G Ã+GÄ G ÄGÄ0;G Å+GÆ 	G Æ5F?Æ:G ÇGÇG Ç'Hc                   ó"   — e Zd Zd„ Zd„ ZeZd„ Zy)ÚCountSerializedc                 ó    — || _         d| _        y )Nr   )rœ   Úcount)Úselfrœ   s     r1   Ú__init__zCountSerialized.__init__ó   s   € ØˆŒØˆ�
r9   c                 ó6   — | j                   t        |d|«      z   S )Nrœ   )rœ   Úgetattr)rÖ   Úothers     r1   Ú__add__zCountSerialized.__add__÷   s   € Ø�v‰vœ  s¨EÓ2Ñ2Ð2r9   c                 óR   — | xj                   dz  c_         t        | j                  ffS )Nr   )rÕ   rÓ   rœ   )rÖ   s    r1   Ú
__reduce__zCountSerialized.__reduce__ü   s    € Ø�
Š
�a‰�
Ü $§&¡& Ð+Ð+r9   N)Ú__name__Ú
__module__Ú__qualname__r×   rÛ   Ú__radd__rÝ   r5   r9   r1   rÓ   rÓ   ò   s   „ òò3ð €Hó,r9   rÓ   c                 ó   — | |z   |z   |z   |z   S r4   r5   )re   rf   ÚcÚdÚes        r1   Úadd5ræ     s   € Øˆq‰5�1‰9�q‰=˜1ÑÐr9   c                 ó¬  ‡— d„ t        d«      D «       \  }}}}t        t        «      }t        d«      D �cg c]  } ||||dd¬«      ‘Œ }}| ||||dd¬«       |||||d¬«       ||||||¬«      gz  }|D ��	�
cg c]  \  }}	}
 ||	i |
¤Ž‘Œ }}	}}
t        «       5 \  }}t	        |d   | ¬«      5 }t        d|||g¬	«      5   t        d
¬«      |«      }||k(  sJ ‚	 d d d «       t        j                  t        «      5  t        d| d
¬«      5  	 d d d «       d d d «       d d d «       d d d «       |j                  }|j                  |k(  sJ ‚|j                  |k(  sJ ‚|j                  }||||fD ]	  }d|_
        Œ t        «       5 \  }}t	        |d   | ¬«      5 }t        «       Š|||fD ]!  }|j                  |d¬«      ‰t        |«      <   Œ# |D ��	�
cg c]h  \  }}	}
 |j                  |gˆfd„|	D «       ¢­i t        ˆfd„|
j                  «       D «       «      ¤dt!        t#        «       «      i¤Žj%                  «       ‘Œj }}	}}
||k(  sJ ‚	 d d d «       d d d «       |j                  }|j                  |k(  sJ ‚|j                  |k(  sJ ‚||k(  sJ ‚t'        d„ t(        j*                  j-                  d«      D «       «      }|dk  r|j                  |d
z   k(  sJ ‚y |j                  |k(  sJ ‚y c c}w c c}
}	}w # 1 sw Y   �ŒxY w# 1 sw Y   �ŒøxY w# 1 sw Y   �ŒýxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY wc c}
}	}w # 1 sw Y   ŒõxY w# 1 sw Y   ŒùxY w)Nc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr4   )rÓ   rW   s     r1   rZ   z&test_manual_scatter.<locals>.<genexpr>  s   è ø€ Ò7¨”/ !×$Ñ7ùó   ‚rŠ   r]   é   )rä   rå   rP   rQ   r   )rT   Úscatterr   )r¤   )rT   rR   rë   r   T)Ú	broadcastc              3   óT   •K  — | ]  }‰j                  t        |«      |«      –— Œ! y ­wr4   ©r*   Úid)rX   ÚargÚ	scattereds     €r1   rZ   z&test_manual_scatter.<locals>.<genexpr>:  s    øè ø€ ÒB°c�i—m‘m¤B s£G¨S×1ÑBùs   ƒ%(c              3   ó^   •K  — | ]$  \  }}|‰j                  t        |«      |«      f–— Œ& y ­wr4   rî   )rX   ÚkeyÚvaluerñ   s      €r1   rZ   z&test_manual_scatter.<locals>.<genexpr>;  s1   øè ø€ ò á(˜S %ð ˜iŸm™m¬B¨u«I°uÓ=Ô>ñùs   ƒ*-ró   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr4   )ru   )rX   r0   s     r1   rZ   z&test_manual_scatter.<locals>.<genexpr>M  s   è ø€ ÒS¨1¤ A§ÑSùré   ú.)iç  rŠ   )ra   r   ræ   r   r   r   r   rb   rc   Ú	TypeErrorrÕ   Údictrë   rï   Úsubmitr+   Ústrr	   ÚresultÚtupler   Ú__version__Úsplit)rR   rK   rœ   r�   Úzr©   rn   r´   Úfuncr6   r7   Úexpectedrd   rH   Úresults_parallelÚ%n_serialization_scatter_with_parallelÚn_serialization_with_parallelÚvarÚobjÚresults_nativeÚn_serialization_scatter_nativeÚdistributed_versionrñ   s                         @r1   Útest_manual_scatterr
    sž  ø€ ñ 8¬e°A«hÔ7�J€A€qˆ!ˆQä”‹€AÜ+0°«9Ö5 a‰Qˆq�!�Q˜!˜qÖ!Ð5€EÐ5Ø	Ù	ˆ!ˆQ��Q˜!ÔÙ	ˆ!ˆQ��Q˜!ÔÙ	ˆ!ˆQ��Q˜!Ôðñ €Eð
 AF×FÐFÑ*<¨$°°f‘�dÐ%˜fÓ%ÐF€HÒFä	‹ð 
‘f�q˜!Ü�A�i‘L tÔ,ð 		°Ü ¨¸!¸QÀ¸ÔCñ 4Ø#9¤8°qÔ#9¸%Ó#@Ð Ø'¨8Ò3Ð3Ñ3÷4ô —‘œyÓ)ñ Ü$¨V¸$ÈÔJñ Ø÷÷÷		÷
ð -.¯G©GÐ)Ø�7‰7Ð;Ò;Ð;Ð;Ø�7‰7Ð;Ò;Ð;Ð;Ø$%§G¡GÐ!ð �1�a˜ˆ|ò ˆØˆ�	ðô 
‹ð .‘f�q˜!Ü�A�i‘L tÔ,ð 	.°Ü›ˆIØ˜!˜Q�wò I�Ø%+§^¡^°CÀ4 ^Ó%H�	œ"˜S›'Ò"ðIð -2÷ð ñ )�T˜4 ð �—‘ØðãB¸TÔBòô ó à,2¯L©L«Nôó ñô œE›G›ò÷ ‘&“(ñðˆNò ð " XÒ-Ð-Ñ-÷!	.÷.ð* &'§W¡WÐ"Ø�7‰7Ð4Ò4Ð4Ð4Ø�7‰7Ð4Ò4Ð4Ð4à0Ð4RÒRÐRÐRäÑS´×0GÑ0G×0MÑ0MÈcÓ0RÔSÓSÐØ˜YÒ&ð
 �w‰wÐ7¸!Ñ;Ò;Ð;Ñ;à�w‰wÐ7Ò7Ð7Ñ7ùòG 6ùô G÷4ñ 4ú÷ñ ú÷ñ ú÷		ñ 		ú÷
ñ 
üô:÷		.ð 	.ú÷.ð .ús®   µK*Á:K/ÂL*Â/LÃ K6Ã!LÃ<LÄL	ÄLÄLÄL*ÆM
Æ:L>ÇA-L7È>L>É
M
Ë6L Ë;LÌLÌLÌLÌLÌL'	Ì"L*Ì*L4Ì7L>Ì>M	ÍM
Í
Mc           	      óª  ‡	— t        j                  d«      } |j                  t        d«      |j                  ¬«      Š	 |j                  t        d«      |j                  ¬«      }‰	gdz  |gdz  z   }t        «       5 \  }\  }}t        |d   | ¬«      5 }t        d¬«      5   t        «       d	„ t        |«      D «       «       d d d «       t        d
|«      }||d      ||d      z   dk(  sJ ‚	 d d d «       d d d «       t        «       5 \  }\  }}t        |d   | ¬«      5 }t        d¬«      5   t        «       ˆ	fd„t        d«      D «       «       d d d «       t        d
|«      }||d      dk(  sJ ‚||d      dk(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒÍxY w# 1 sw Y   Œ®xY w# 1 sw Y   Œ²xY w# 1 sw Y   ŒexY w# 1 sw Y   ŒBxY w# 1 sw Y   y xY w)Nr¹   ro   r†   r_   rP   rQ   r   rS   c              3   óT   K  — | ]   \  }} t        t        «      ||||¬ «      –— Œ" y­w))ÚoptN©r   r8   )rX   rY   r‰   s      r1   rZ   z$test_auto_scatter.<locals>.<genexpr>f  s0   è ø€ ò á˜˜4ð "”GœD“M $¨¨a°T×:Ð:ñùs   ‚&(rÃ   r
   c              3   óP   •K  — | ]  } t        t        «      ‰d d |«      –— Œ y ­w)Nr_   r  )rX   rY   Údata1s     €r1   rZ   z$test_auto_scatter.<locals>.<genexpr>s  s$   øè ø€ ÒI¸1˜=œ7¤4›=¨¨r°¨°A×6ÑIùs   ƒ#&rê   r   )rb   rÈ   r‘   ru   r’   r   r   r   r   Ú	enumeraterN   ra   )
Úloop_in_threadr   Údata2Údata_to_processrd   re   rf   rH   rÏ   r  s
            @r1   Útest_auto_scatterr  [  sã  ø€ Ü	×	Ñ	˜WÓ	%€BØˆB�G‰G”C˜“H B§H¡HÔ-€EØˆB�G‰G”C˜“H B§H¡HÔ-€EØ�w ‘{¨ w°¡{Ñ3€Oä	‹ð D‘k�q™&˜1˜aÜ�A�i‘L ~Ô6ð 	D¸&Ü ¨Ô0ñ ð ”“
ñ ä#,¨_Ó#=ôô ÷ô "Ð"8¸&ÓAˆFØ˜!˜I™,Ñ'¨&°°9±Ñ*>Ñ>À!ÒCÐCÑC÷	D÷Dô 
‹ð -‘k�q™&˜1˜aÜ�A�i‘L ~Ô6ð 	-¸&Ü ¨Ô0ñ JØ”“
ÓIÄÀaÃÔIÔI÷Jô "Ð"8¸&ÓAˆFØ˜!˜I™,Ñ'¨1Ò,Ð,Ð,Ø˜!˜I™,Ñ'¨1Ò,Ð,Ñ,÷	-÷-ð -÷ð ú÷	Dð 	Dú÷Dð Dú÷"Jð Jú÷	-ð 	-ú÷-ð -úsx   Á<F%ÂFÂ !FÃ*FÃ,F%ÄG	ÄF=Ä*#F1Å.F=Å<G	ÆFÆFÆF"	ÆF%Æ%F.Æ1F:Æ6F=Æ=G	ÇG	Ç	GÚretry_noc           	      ó–  ‡‡‡	‡
‡— t        j                  d«      Š
dŠd}ˆ
fd„Š	ˆˆ	fd„Št        «       5 \  }\  }}t        |d   | ¬«      5 }t	        d¬«      5   ‰
j
                  d	«      Š t        «       ˆˆfd
„t        |«      D «       «      }d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr¹   r]   c                 ó(   •—  ‰j                   | «      S r4   )rÊ   )rœ   rY   Újr   s      €r1   Úmy_sumz#test_nested_scatter.<locals>.my_sum‚  s   ø€ Øˆr�v‰v�a‹yÐr9   c                 óÐ   •‡ ‡— t        «       }t        d¬«      5   t        «       ˆ ˆˆfd„t        ‰«      D «       «      }d d d «       t	        |«      S # 1 sw Y   t	        «      S xY w)Nr   rS   c              3   óJ   •K  — | ]  } t        ‰«      ‰|d  ‰|«      –— Œ y ­wr4   rl   )rX   r  ÚarrayrY   r  s     €€€r1   rZ   zEtest_nested_scatter.<locals>.outer_function_joblib.<locals>.<genexpr>ˆ  s+   øè ø€ ò !Ø56�”˜“  a b 	¨1¨a×0ñ!ùs   ƒ #)r   r   r   ra   rÊ   )r  rY   rH   ÚresultsÚNUM_INNER_TASKSr  s   ``  €€r1   Úouter_function_joblibz2test_nested_scatter.<locals>.outer_function_joblib…  sZ   ú€ Ü“ˆÜ VÔ,ñ 	Ø ”h“jõ !Ü:?ÀÓ:Pô!ó ˆG÷	ô �7‹|Ð÷		ô �7‹|Ðús   š%AÁA%rP   rQ   r   rS   i'  c              3   óH   •K  — | ]  } t        ‰«      ‰|d  |«      –— Œ y ­wr4   rl   )rX   rY   Úmy_arrayr   s     €€r1   rZ   z&test_nested_scatter.<locals>.<genexpr>‘  s.   øè ø€ ò àð 3”GÐ1Ó2°8¸A¸B°<À×Cñùó   ƒ")rb   rÈ   r   r   r   r‘   r   ra   )rR   r  ÚNUM_OUTER_TASKSrd   re   rf   rn   r  r"  r  r   r   s          @@@@@r1   Útest_nested_scatterr%  {  sÃ   ü€ ä	×	Ñ	˜WÓ	%€Bà€OØ€Oôõô 
‹ð ‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 	°Ü ¨Ô0ñ Ø"˜2Ÿ7™7 5›>�Ø”H“Jô ä" ?Ó3ôó �÷÷	÷ð ÷ð ú÷	ð 	ú÷ð ús;   ´B?ÁB3Á6B'ÂB3ÂB?Â'B0Â,B3Â3B<	Â8B?Â?Cc           	      ó‚  ‡— d„ Št        «       5 \  }\  }}t        |d   | ¬«      5 }t        d¬«      5   t        d¬«      ˆfd„t	        d	«      D «       «      }|D ]  }t        t        |«      «      dk  rŒJ ‚ 	 d d d «       d d d «       t        |d   | ¬«      5 }t        d¬«      5   t        d¬«      ˆfd
„t	        d	«      D «       «      }|D ]  }t        t        |«      «      dk  rŒJ ‚ 	 d d d «       d d d «       d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   Œ‘xY w# 1 sw Y   Œ2xY w# 1 sw Y   Œ6xY w# 1 sw Y   y xY w)Nc            	      ó¸   — t         t        d¬«      d„ t        d«      D «       «      «      } | t         t        d¬«      d„ t        d«      D «       «      «      z  } | S )Nr
   ©rw   c              3   óX   K  — | ]"  } t        t        j                  «      «       –— Œ$ y ­wr4   ©r   r(   Úgetpidrm   s     r1   rZ   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>™  s   è ø€ Ò%M¸qÐ&8¤g¬b¯i©iÓ&8×&:Ñ%Mùó   ‚(*c              3   óX   K  — | ]"  } t        t        j                  «      «       –— Œ$ y ­wr4   r*  rm   s     r1   rZ   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>š  s   è ø€ Ò&NÀÐ'9¤w¬r¯y©yÓ'9×';Ñ&Nùr,  )Úsetr   ra   )Úpidss    r1   Úget_nested_pidsz<test_nested_backend_context_manager.<locals>.get_nested_pids˜  sN   € ÜÐ%”8 1Ô%Ñ%MÄEÈ!ÃHÔ%MÓMÓNˆØ”Ð&”H AÔ&Ñ&NÄUÈ1ÃXÔ&NÓNÓOÑOˆØˆr9   rP   rQ   r   rS   r
   r(  c              3   ó>   •K  — | ]  } t        ‰«      «       –— Œ y ­wr4   rl   ©rX   rn   r0  s     €r1   rZ   z6test_nested_backend_context_manager.<locals>.<genexpr>   ó!   øè ø€ ò 0Ø34Ð,”G˜OÓ,×.ñ0ùó   ƒr]   c              3   ó>   •K  — | ]  } t        ‰«      «       –— Œ y ­wr4   rl   r2  s     €r1   rZ   z6test_nested_backend_context_manager.<locals>.<genexpr>©  r3  r4  )r   r   r   r   ra   rE   r.  )r  rd   re   rf   rH   Ú
pid_groupsÚ	pid_groupr0  s          @r1   Ú#test_nested_backend_context_managerr8  —  sM  ø€ òô
 
‹ð 4‘k�q™&˜1˜aÜ�A�i‘L ~Ô6ð 	4¸&Ü ¨Ô0ñ 4Ø/œX¨QÔ/ó 0Ü8=¸b»	ô0ó �
ð ",ò 4�IÜœs 9›~Ó.°!Ó3Ð3Ð3ñ4÷	4÷	4ô �A�i‘L ~Ô6ð 	4¸&Ü ¨Ô0ñ 4Ø/œX¨QÔ/ó 0Ü8=¸b»	ô0ó �
ð ",ò 4�IÜœs 9›~Ó.°!Ó3Ð3Ð3ñ4÷	4÷	4÷4ð 4÷4ð 4ú÷	4ð 	4ú÷4ð 4ú÷	4ð 	4ú÷4ð 4úsw   �D5¦D³ADÁ5DÁ9DÂD5ÂD)Â&ADÃ(DÃ,D)Ã4D5ÄDÄ
DÄD	ÄD5ÄD&Ä"D)Ä)D2	Ä.D5Ä5D>c           
      óÎ  ‡	‡
— d„ Š	ˆ	fd„Š
t        «       5 \  }\  }}t        |d   | ¬«      5 }t        d¬«      5  t        «       5 } ‰	|«      dk(  sJ ‚|j                  dk(  sJ ‚ |ˆ
fd	„t        d
«      D «       «      }d d d «       D ]  \  }}|dk(  sJ ‚|dk(  rŒJ ‚ 	 d d d «       d d d «       d d d «       y # 1 sw Y   Œ;xY w# 1 sw Y   Œ&xY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)Nc                 óB   — | j                   j                  j                  S r4   )rq   Ú	__class__rÞ   )Úps    r1   Ú_backend_typezJtest_nested_backend_context_manager_implicit_n_jobs.<locals>._backend_type´  s   € Ø�z‰z×#Ñ#×,Ñ,Ð,r9   c                  ól   •— t        «       5 }  ‰| «      | j                  fcd d d «       S # 1 sw Y   y xY wr4   )r   rw   )r<  r=  s    €r1   Úget_nested_implicit_n_jobszWtest_nested_backend_context_manager_implicit_n_jobs.<locals>.get_nested_implicit_n_jobs·  s0   ø€ Ü‹Zð 	.˜1Ù  Ó# Q§X¡XÐ-÷	.÷ 	.ò 	.ús   Œ*ª3rP   rQ   r   rS   r   rx   c              3   ó>   •K  — | ]  } t        ‰«      «       –— Œ y ­wr4   rl   )rX   rn   r?  s     €r1   rZ   zFtest_nested_backend_context_manager_implicit_n_jobs.<locals>.<genexpr>Á  s"   øè ø€ ò *ØBCÐ;œÐ :Ó;×=ñ*ùr4  r
   )r   r   r   r   rw   ra   )rR   rd   re   rf   rH   r<  Úall_nested_n_jobsÚbackend_typeÚnested_n_jobsr=  r?  s            @@r1   Ú3test_nested_backend_context_manager_implicit_n_jobsrD  °  s
  ù€ ò-ô.ô 
‹ð /‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 
	/°Ü ¨Ô0ñ 	/Ü“Zð  1Ù(¨Ó+Ð/GÒGÐGÐGØŸ8™8 rš>Ð)˜>Ù()ó *ÜGLÈQÃxô*ó )Ð%÷ð 4Eò /Ñ/�L -Ø'Ð+CÒCÐCÐCØ(¨BÓ.Ð.Ð.ñ/÷	/÷
	/÷/ð /÷ð ú÷	/ð 	/ú÷
	/ð 
	/ú÷/ð /úsW   •C¬C¹CÁ9B7	Á=CÂCÂCÂ&CÂ7C Â<CÃCÃCÃC	ÃCÃC$c                 óò   — t        j                  t        «      5 }t        d¬«      5  	 d d d «       d d d «       dt	        j
                  «      j                  «       v sJ ‚y # 1 sw Y   Œ9xY w# 1 sw Y   Œ=xY w)Nr   rS   zcreate a dask client)rb   rc   r;   r   rú   rô   Úlower)rR   Úinfos     r1   Útest_errorsrH  É  sf   € Ü	�‰”zÓ	"ð  dÜ VÔ,ñ 	Ø÷	÷ð "¤S¨¯©£_×%:Ñ%:Ó%<Ñ<Ð<Ñ<÷	ð 	ú÷ð ús!   šA-§A!©A-Á!A*	Á&A-Á-A6c           	      ó  — t        «       5 \  }\  }}t        |d   | ¬«      5 }t        d¬«      5   t        d¬«      d„ t	        d«      D «       «      }t        |d	   d	   d	   t        «      sJ ‚	 d d d «       t        d¬«      5   t        d¬«      d
„ t	        d«      D «       «      }t        |d	   d	   d	   t        «      sJ ‚	 d d d «       d d d «       d d d «       y # 1 sw Y   ŒmxY w# 1 sw Y   Œ&xY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)NrP   rQ   r   rS   r
   r(  c              3   óH   K  — | ]  } t        t        «      d ¬«      –— Œ y ­w)N©Únested_require©r   Úouterrm   s     r1   rZ   z.test_correct_nested_backend.<locals>.<genexpr>Ö  s#   è ø€ ò ,Ø<=�N”GœE“N°$×7Ð7ñ,ùó   ‚ "r   r   c              3   óH   K  — | ]  } t        t        «      d ¬«      –— Œ y­w)Ú	sharedmemrK  NrM  rm   s     r1   rZ   z.test_correct_nested_backend.<locals>.<genexpr>Ý  s#   è ø€ ò ,ØCD�N”GœE“N°+×>Ð>ñ,ùrO  )r   r   r   r   ra   rr   r   r   )rR   rd   re   rf   rH   rû   s         r1   Útest_correct_nested_backendrR  Ñ  s  € Ü	‹ð E‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 	E°ä ¨Ô0ñ KØ+œ¨Ô+ñ ,ÜAFÀqÃô,ó �ô " &¨¡)¨A¡,¨q¡/Ô3IÔJÐJÑJ÷	Kô !¨Ô0ñ EØ+œ¨Ô+ñ ,ÜHMÈaËô,ó �ô " &¨¡)¨A¡,¨q¡/Ô3CÔDÐDÑD÷	E÷	E÷Eð E÷Kð Kú÷Eð Eú÷	Eð 	Eú÷Eð EúsQ   ‹C>¢C2¯>CÁ.C2Â>C&ÃC2Ã	C>ÃC#ÃC2Ã&C/Ã+C2Ã2C;	Ã7C>Ã>Dc                 óN   ‡ —  t        dd¬«      ˆ fd„t        d«      D «       «      S )Nr
   Úthreads)rw   Úpreferc              3   óH   •K  — | ]  } t        t        «      ‰«      –— Œ y ­wr4   )r   Úmiddle)rX   rn   rL  s     €r1   rZ   zouter.<locals>.<genexpr>ä  s!   øè ø€ ò 0Ø,-ˆŒ”‹˜×'ñ0ùr#  r   ©r   ra   rK  s   `r1   rN  rN  ã  s*   ø€ Ø/Œ8˜1 YÔ/ó 0Ü16°q³ô0ó ð r9   c                 óH   —  t        d| ¬«      d„ t        d«      D «       «      S )Nr
   )rw   Úrequirec              3   óD   K  — | ]  } t        t        «      «       –— Œ y ­wr4   )r   Úinnerrm   s     r1   rZ   zmiddle.<locals>.<genexpr>ê  s   è ø€ Ò.RÀA¨~¬w´u«~×/?Ñ.Rùrš   r   rX  )rZ  s    r1   rW  rW  é  s    € Ø.Œ8˜1 gÔ.Ñ.RÌÈqËÔ.RÓRÐRr9   c                  ó*   — t        «       j                  S r4   )r   rq   r5   r9   r1   r\  r\  í  s   € Ü‹:×ÑÐr9   c                 óÐ   — t        | dd¬«      5  t        d¬«      5   t        d¬«      d„ t        d	«      D «       «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)
NFT)rR   Ú	processesÚset_as_defaultr   rS   rŠ   r(  c              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   )r   rï   rW   s     r1   rZ   z0test_secede_with_no_processes.<locals>.<genexpr>õ  s   è ø€ Ò@°!˜{œw¤r›{¨1Ÿ~Ñ@ùr\   r
   )r   r   r   ra   rQ   s    r1   Útest_secede_with_no_processesrb  ñ  sg   € ä	�T U¸4Ô	@ñ AÜ VÔ,ñ 	AØŒH˜AÔÑ@´u¸Q³xÔ@Ô@÷	A÷Að A÷	Að 	Aú÷Að Aús!   �Aœ#A¿AÁA	ÁAÁA%c                 ó0   — ddl m}  |«       j                  S )Nr   )Ú
get_worker)r   rd  rP   )rn   rd  s     r1   Ú_worker_addressre  ø  s   € Ý&á‹<×ÑÐr9   c           	      óè  — t        «       5 \  }\  }}t        |d   | ¬«      5 }t        d|d   ¬«      5   t        «       d„ t	        d«      D «       «      }||d   gdz  k(  sJ ‚	 d d d «       t        d|d   ¬«      5   t        «       d„ t	        d«      D «       «      }||d   gdz  k(  sJ ‚	 d d d «       d d d «       d d d «       y # 1 sw Y   ŒbxY w# 1 sw Y   Œ&xY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)NrP   rQ   r   )rT   Úworkersc              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   ©r   re  rW   s     r1   rZ   z-test_dask_backend_keywords.<locals>.<genexpr>  ó   è ø€ Ò PÀÐ!9¤¬Ó!9¸!×!<Ñ Pùr\   r]   c              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   ri  rW   s     r1   rZ   z-test_dask_backend_keywords.<locals>.<genexpr>  rj  r\   r›   )rR   rd   re   rf   rH   rg   s         r1   Útest_dask_backend_keywordsrl  þ  sú   € Ü	‹ð 2‘k�q™&˜1˜aÜ�A�i‘L tÔ,ð 	2°Ü ¨¸¸9¹ÔFñ 2Ø ”h“jÑ PÄeÈBÃiÔ PÓP�Ø˜q ™|˜n¨rÑ1Ò1Ð1Ñ1÷2ô !¨¸¸9¹ÔFñ 2Ø ”h“jÑ PÄeÈBÃiÔ PÓP�Ø˜q ™|˜n¨rÑ1Ò1Ð1Ñ1÷2÷	2÷2ð 2÷2ð 2ú÷2ð 2ú÷	2ð 	2ú÷2ð 2úsQ   ‹C(¢C³/CÁ#CÁ;/CÂ+CÂ3C(ÃCÃ	CÃCÃCÃC%	Ã!C(Ã(C1c                 ó¸  — t        d| ¬«      5 }t        d¬«      5   t        «       d„ t        d«      D «       «       d d d «       t	        «       }|j
                  j                  j                  r>t        d«       t	        «       |dz   k  sJ ‚|j
                  j                  j                  rŒ>|j                  rJ ‚	 d d d «       y # 1 sw Y   Œ‰xY w# 1 sw Y   y xY w)	NF)r_  rR   r   rS   c              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   rV   rW   s     r1   rZ   z/test_scheduler_tasks_cleanup.<locals>.<genexpr>  ó   è ø€ Ò:¨1�|”wœs“| A—Ñ:ùr\   r]   g{®Gáz„?rê   )
r   r   r   ra   r   r   Ú	schedulerr´   r   Úfutures)rR   rH   Ústarts      r1   Útest_scheduler_tasks_cleanuprs  
  s¸   € Ü	˜% dÔ	+ð 	"¨vÜ VÔ,ñ 	;ØŒH‹JÑ:´°b³	Ô:Ô:÷	;ô “ˆØ�n‰n×&Ñ&×,Ò,Ü�$ŒKÜ“6˜E A™IÒ%Ð%Ð%ð �n‰n×&Ñ&×,Ó,ð —>’>Ð!Ð!�>÷	"ð 	"÷	;ð 	;ú÷	"ð 	"ús(   ŽC›!C¼A/CÂ,CÃC	Ã	CÃCÚcluster_strategyÚadaptiveÚlate_scalingz2.1.1z1.28.0z?distributed bug - https://github.com/dask/distributed/pull/2841)Úreasonc                 óª  — t        ddd¬«      }t        |«      }| dk(  r |j                  dd¬«       n| dk(  r |j                  d«       	 t	        d¬	«      5   t        «       d
„ t        d«      D «       «       d d d «       |j                  «         |j                  «        y # 1 sw Y   Œ+xY w# |j                  «         |j                  «        w xY w)Nr   Fr
   ©r}   r_  r~   ru  )ÚminimumÚmaximumrv  r   rS   c              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   rV   rW   s     r1   rZ   z(test_wait_for_workers.<locals>.<genexpr>+  ro  r\   r]   )r   r   ÚadaptÚscaler   r   ra   rÌ   )rt  r   rH   s      r1   Útest_wait_for_workersr    s²   € ô  Q°%ÈAÔN€GÜ�G‹_€FØ˜:Ò%Øˆ�‰˜a¨Ö+Ø	˜^Ò	+ð
 	ˆ�‰�aÔðÜ VÔ,ñ 	;ð ŒH‹JÑ:´°b³	Ô:Ô:÷	;ð
 	�‰ŒØˆ�‰�÷	;ð 	;ûð
 	�‰ŒØˆ�‰�ús$   ÁB/ Á!B#Á9B/ Â#B,Â(B/ Â/#Cc                  ó–  — t        ddd¬«      } t        | «      }	 t        dd¬«      5  d}t        j                  t
        |¬	«      5   t        «       d
„ t        d«      D «       «       d d d «       d d d «       t        dd¬«      5  d}t        j                  t        |¬	«      5   t        «       d„ t        d«      D «       «       d d d «       d d d «       |j                  «         | j                  «        y # 1 sw Y   Œ�xY w# 1 sw Y   Œ“xY w# 1 sw Y   ŒKxY w# 1 sw Y   ŒOxY w# |j                  «         | j                  «        w xY w)Nr   Fr
   ry  r   gš™™™™™¹?)rT   Úwait_for_workers_timeoutz7DaskDistributedBackend has no worker after 0.1 seconds.)Úmatchc              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   rV   rW   s     r1   rZ   z0test_wait_for_workers_timeout.<locals>.<genexpr>:  ó   è ø€ Ò>¨q˜<œ7¤3›<¨Ÿ?Ñ>ùr\   r]   z+DaskDistributedBackend has no active workerc              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   rV   rW   s     r1   rZ   z0test_wait_for_workers_timeout.<locals>.<genexpr>@  r„  r\   )
r   r   r   rb   rc   ÚTimeoutErrorr   ra   ÚRuntimeErrorrÌ   )r   rH   Úmsgs      r1   Útest_wait_for_workers_timeoutr‰  1  s  € ä Q°%ÈAÔN€GÜ�G‹_€FðÜ VÀcÔJñ 	?àKˆCÜ—‘œ|°3Ô7ñ ?Ø”“
Ñ>´E¸"³IÔ>Ô>÷?÷	?ô  VÀaÔHñ 	?à?ˆCÜ—‘œ|°3Ô7ñ ?Ø”“
Ñ>´E¸"³IÔ>Ô>÷?÷	?ð 	�‰ŒØˆ�‰�÷?ð ?ú÷	?ð 	?ú÷?ð ?ú÷	?ð 	?ûð 	�‰ŒØˆ�‰�úsj   ›D% ¨DÁ!C5Á'DÁ/D% ÂDÂ"!DÃDÃD% Ã5C>	Ã:DÄD
ÄD% ÄD	ÄDÄD"ÄD% Ä%#ErT   ÚlokyÚmultiprocessingc                 ó¢  ‡ — t        d¬«      }t        |«      }	 ˆ fd„}|j                  |«      }|j                  «       }t	        |«      dk(  sJ ‚|d   j
                  }t        |t        «      sJ ‚dt        |«      v sJ ‚	 |j                  d¬«        |j                  d¬«       y # |j                  d¬«        |j                  d¬«       w xY w)	Nr
   )r}   c                  ó¦   •— t        j                  d¬«      5 }  t        d‰¬«      d„ t        d«      D «       «       d d d «       | S # 1 sw Y    S xY w)NT)Úrecordr
   )rw   rT   c              3   óF   K  — | ]  } t        t        «      |«      –— Œ y ­wr4   rV   rW   s     r1   rZ   zftest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel.<locals>.<genexpr>R  s   è ø€ Ò3WÈ°L´G¼C³LÀ·OÑ3Wùr\   r]   )ÚwarningsÚcatch_warningsr   ra   )rŽ  rT   s    €r1   Úfunc_using_joblib_parallelzStest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallelL  sR   ø€ ô
 ×(Ñ(°Ô5ð X¸Ø3” ¨7Ô3Ñ3WÌUÐSUËYÔ3WÔW÷Xð ˆM÷Xð ˆMús   ˜$AÁAr   r   zdistributed.worker.daemonrÅ   rÆ   )
r   r   rù   rû   rE   Úmessagerr   ÚUserWarningrú   rÌ   )rT   r   rH   r’  ÚfutrŽ  Úwarnings   `      r1   Ú/test_joblib_warning_inside_dask_daemonic_workerr—  F  s»   ø€ ä QÔ'€GÜ�G‹_€Fð"ô	ð �m‰mÐ6Ó7ˆØ—‘“ˆä�6‹{˜aÒÐÐØ˜‘)×#Ñ#ˆÜ˜'¤;Ô/Ð/Ð/Ø*¬c°'«lÑ:Ð:Ñ:à�‰˜RˆÔ Øˆ�‰˜bÖ!øð 	�‰˜RˆÔ Øˆ�‰˜bÖ!ús   šA&B' Â''C)gš™™™™™©?)r   r   )PÚ
__future__r   r   r   r(   r�  r   r   r   Úuuidr	   rb   Ú r   r   r   r   Ú_daskr   rs   r   r   Úcommonr   r   Útest_parallelr   r   r   rÈ   r   r   r   r   r   Údistributed.metricsÚdistributed.utils_testr   r   r    Úfixturer2   r8   r>   rN   rh   rv   ÚmarkÚparametrizer   r„   r•   r—   rž   r¶   rÑ   ÚobjectrÓ   ræ   r
  r  rF   ra   r%  r8  rD  rH  rR  rN  rW  r\  rb  re  rl  rs  Úskipifrý   r  r‰  r—  r5   r9   r1   ú<module>r¥     só  ðß @Ñ @ã 	Û Ý Ý Ý ã ç CÓ CÝ *ß :ß "÷ñ ð "ˆf×!Ñ! -Ó0€Ø€v×Ñ˜6Ó"€÷ 9Ñ 8Ý $÷ 9Ñ 8ð €‡��j¨$Ô/ñó 0ðò"	ó8òò:ò >ð. ‡�×Ñ˜ A r 7Ó+Ø‡�×Ñ˜ _Ð6FÐ$GÓHñOó Ió ,ðOð
 Ø‡�×Ñ˜ A r 7Ó+Ø‡�×Ñ˜ {Ð4IÐ&JÓKØ‡�×Ñ˜ _Ð6FÐ$GÓHñ?ó Ió Ló ,ó ð?ð
 Ø‡�×Ñ˜ _Ð6FÐ$GÓHñ
ó Ió ð
ò*òð ‡�×Ñ˜ 4¨ -Ó0ñ@ó 1ð@ò24"ôn,�fô ,óòP8òl-ð@ ‡�×Ñ˜¡T©%°«(£^Ó4ñó 5ðò64ò2/ò2=òEò$òSòòAò ò	2ò
"ð ‡�×ÑÐ+¨j¸.Ð-IÓJØ‡�×ÑØ×Ñ˜wÑ&ÒN¨;×+BÑ+BÀhÑ+NØLð ó ñó	ó Kð
ò*ð* ‡�×Ñ˜ VÐ->Ð$?Ó@ñ"ó Añ"r9   