+
    € ’eV'  ã                   óN   € Rt ^RIHt ^RIHt ^RIHt ^RIHt  ! R R 4      tR# )Ú	TaskGroup)Úevents)Ú
exceptions)Úfutures)Útasksc                   óf   a € ] tR t^t o RtR tR tR tR tR t	R t
V 3R lR	 ltR
 tR tRtV tR# )r   a  Asynchronous context manager for managing groups of tasks.

Example use:

    async with asyncio.TaskGroup() as group:
        task1 = group.create_task(some_coroutine(...))
        task2 = group.create_task(other_coroutine(...))
    print("Both tasks have completed now.")

All tasks are awaited when the context manager exits.

Any exceptions other than `asyncio.CancelledError` raised within
a task will cancel all remaining tasks and wait for them to exit.
The exceptions are then combined and raised as an `ExceptionGroup`.
c                ó¢   € R V n         R V n        R V n        RV n        RV n        R V n        \        4       V n        . V n        RV n	        RV n
        R# )FN)Ú_enteredÚ_exitingÚ	_abortingÚ_loopÚ_parent_taskÚ_parent_cancel_requestedÚsetÚ_tasksÚ_errorsÚ_base_errorÚ_on_completed_fut©Úselfs   &Ú`/home/ubuntu/.hermes/tools/python-3.14.9+20261021-linux-x64/lib/python3.14/asyncio/taskgroups.pyÚ__init__ÚTaskGroup.__init__   sN   € ØˆŒØˆŒØˆŒØˆŒ
Ø ˆÔØ(-ˆÔ%Ü“eˆŒØˆŒØˆÔØ!%ˆÖó    c                ó¨  € R .pV P                   '       d(   VP                  R\        V P                   4       24       V P                  '       d(   VP                  R\        V P                  4       24       V P                  '       d   VP                  R4       M#V P
                  '       d   VP                  R4       RP                  V4      pRV R2# )Ú ztasks=zerrors=Ú
cancellingÚenteredÚ z
<TaskGroupÚ>)r   ÚappendÚlenr   r   r	   Újoin)r   ÚinfoÚinfo_strs   &  r   Ú__repr__ÚTaskGroup.__repr__)   s›   € ØˆtˆØ�;�;ˆ;Ø�K‰K˜&¤ T§[¡[Ó!1Ð 2Ð3Ô4Ø�<�<ˆ<Ø�K‰K˜'¤# d§l¡lÓ"3Ð!4Ð5Ô6Ø�>�>ˆ>Ø�K‰K˜Õ%Ø�]�]ˆ]Ø�K‰K˜	Ô"à—8‘8˜D“>ˆØ˜H˜: QÐ'Ð'r   c              ƒ  ó6  "  € V P                   '       d   \        R V : R24      hV P                  f   \        P                  ! 4       V n        \
        P                  ! V P                  4      V n        V P                  f   \        R V : R24      hRV n         V # 5i)ú
TaskGroup z has already been enteredz! cannot determine the parent taskT)r	   ÚRuntimeErrorr   r   Úget_running_loopr   Úcurrent_taskr   r   s   &r   Ú
__aenter__ÚTaskGroup.__aenter__7   s�   é € Ø�=�=ˆ=ÜØ˜T™HÐ$=Ð>ó@ð @à�:‰:ÒÜ×0Ò0Ó2ˆDŒJÜ!×.Ò.¨t¯z©zÓ:ˆÔØ×ÑÒ$ÜØ˜T™HÐ$EÐFóHð HàˆŒàˆùs   ‚BBc              ƒ  ó¬   "  € R p V P                  W4      G R j  x€L
 R V n        R V n        R V n        R p#  L  R T n        R T n        R T n        R pi ; i5i©N)Ú_aexitr   r   r   )r   ÚetÚexcÚtbs   &&&&r   Ú	__aexit__ÚTaskGroup.__aexit__E   s`   é € Øˆð
	ØŸ™ RÓ-×-ð !%ˆDÔØˆDŒLØ#ˆDÔØ‰Cñ .øð !%ˆDÔØˆDŒLØ#ˆDÔØ‰Cüs%   ‚A†8 š6›8 žA¶8 ¸AÁAc              ƒ  ó  "  € R V n         Ve,   V P                  V4      '       d   V P                  f   W n        Ve$   \        V\        P
                  4      '       d   TpMRpVe#   V P                  '       g   V P                  4        V P                  '       dL   V P                  f    V P                  P                  4       V n	         V P                  G Rj  x€L
  RV n	        K]  V P                  '       d   Q hV P                  e    V P                  hV P                  '       d"   V P                  P                  4       ^ 8X  d   Rp Ve   V P                  '       g    VhRpVe<   \        V\        P
                  4      '       g   V P                  P!                  V4       V P                  '       dm   V P                  P#                  4       '       d5   V P                  P                  4        V P                  P%                  4         \'        RV P                  4      RhR#  ELK  \        P
                   d0   pT P                  '       g   TpT P                  4         Rp?ELˆRp?ii ; i  Rpi ; i  Rpi ; i  Rpi ; i  Rpi ; i5i)TNzunhandled errors in a TaskGroup)r
   Ú_is_base_errorr   Ú
issubclassr   ÚCancelledErrorr   Ú_abortr   r   r   Úcreate_futurer   r   Úuncancelr   r    r   ÚcancelÚBaseExceptionGroup)r   r1   r2   Úpropagate_cancellation_errorÚexs   &&&  r   r0   ÚTaskGroup._aexitS   s   é € ØˆŒàŠOØ×#Ñ# C×(Ò(Ø× Ñ Ò(Ø"ÔàŠ>œj¨¬Z×-FÑ-F×GÒGØ+.Ñ(à+/Ð(àŠ>Ø—>—>�>ð —‘”ð �k�kˆkØ×%Ñ%Ò-Ø)-¯©×)AÑ)AÓ)C�Ô&ð"Ø×,Ñ,×,Ð,ð &*ˆDÖ"à—;—;�;Ðˆà×ÑÒ'ðØ×&Ñ&Ð&ð ×(×(Ð(à× Ñ ×)Ñ)Ó+¨qÔ0ð 04Ð,ð	0Ø+Ò7ÀÇÇÀðØ6Ð6ð ,0Ð(àŠ>¤*¨R´×1JÑ1J×"KÒ"KØ�L‰L×Ñ Ô$à�<�<ˆ<ð × Ñ ×+Ñ+×-Ò-Ø×!Ñ!×*Ñ*Ô,Ø×!Ñ!×(Ñ(Ô*ðÜ(Ø5Ø—L‘Lóð ðñ ò[ -øÜ×,Ñ,ô "Ø—~—~�~ð 46Ð0Ø—K‘K”Mÿùð"ûð* ‘ûð  ‘Cûà+/Ñ(ûð$ ‘üsÆ   ‚"J¥AJÁ8!JÂ-JÃH% ÃH"ÃH% ÃJÃ7JÄI, ÄJÄ&!JÅI: ÅI3 Å!AJÆ4JÇ4JÈ	J È JÈ"H% È%I)È:$I$ÉJÉ$I)É)JÉ,I0É0JÉ3I7É7I: É:I>É>JÊJÊJc                óL  € V P                   '       g!   VP                  4        \        RV : R24      hV P                  '       d3   V P                  '       g!   VP                  4        \        RV : R24      hV P
                  '       d!   VP                  4        \        RV : R24      hV P                  P                  ! V3/ VB p\        P                  ! W0P                  4       V P                  P                  V4       VP                  V P                  4        T?#   ?i ; i)zRCreate a new task in this group and return it.

Similar to `asyncio.create_task`.
r(   z has not been enteredz is finishedz is shutting down)r	   Úcloser)   r
   r   r   r   Úcreate_taskr   Úfuture_add_to_awaited_byr   ÚaddÚadd_done_callbackÚ_on_task_done)r   ÚcoroÚkwargsÚtasks   &&, r   rD   ÚTaskGroup.create_task¶   sä   € ð
 �}�}ˆ}Ø�J‰JŒLÜ ¨D©8Ð3HÐIÓJÐJØ�=�=ˆ= §§ Ø�J‰JŒLÜ ¨D©8°<Ð@ÓAÐAØ�>�>ˆ>Ø�J‰JŒLÜ ¨D©8Ð3DÐEÓFÐFØ�z‰z×%Ò% dÑ5¨fÑ5ˆä×(Ò(¨×/@Ñ/@ÔAð 	�‰�‰˜ÔØ×Ñ˜t×1Ñ1Ô2ð	Øñ ø‘ús   ÄD  Ä D#c                ó&   <€ V ^8„  d   QhRS[ RS[/# )é   r2   Úreturn)ÚBaseExceptionÚbool)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚTaskGroup.__annotate__Ù   s   ø€ ÷ @ñ @¡-ð @±Dñ @r   c                ó^   € \        V\        4      '       g   Q h\        V\        \        34      # r/   )Ú
isinstancerP   Ú
SystemExitÚKeyboardInterrupt)r   r2   s   &&r   r7   ÚTaskGroup._is_base_errorÙ   s(   € Ü˜#œ}×-Ò-Ð-Ð-Ü˜#¤
Ô,=Ð>Ó?Ð?r   c                óŠ   € R V n         V P                   F+  pVP                  4       '       d   K  VP                  4        K-  	  R# )TN)r   r   Údoner=   )r   Úts   & r   r:   ÚTaskGroup._abortÝ   s+   € ØˆŒà—”ˆAØ—6‘6—8”8Ø—‘–
ó r   c                óv  € V P                   P                  V4       \        P                  ! WP                  4       V P
                  eN   V P                   '       g<   V P
                  P                  4       '       g   V P
                  P                  R4       VP                  4       '       d   R # VP                  4       pVf   R # V P                  P                  V4       V P                  V4      '       d   V P                  f   W n        V P                  P                  4       '       d6   V P                  P                  RRV: RV P                   R2RVRV/4       R # V P                   '       gH   V P"                  '       g4   V P%                  4        RV n        V P                  P'                  4        R # R # R # )NTÚmessagezTask z% has errored out but its parent task z is already completedÚ	exceptionrK   )r   Údiscardr   Úfuture_discard_from_awaited_byr   r   r\   Ú
set_resultÚ	cancelledra   r   r    r7   r   r   Úcall_exception_handlerr   r   r:   r=   )r   rK   r2   s   && r   rH   ÚTaskGroup._on_task_doneä   s^  € Ø�‰×Ñ˜DÔ!ä×.Ò.¨t×5FÑ5FÔGà×!Ñ!Ò-°d·k·k°kØ×)Ñ)×.Ñ.×0Ò0Ø×&Ñ&×1Ñ1°$Ô7à�>‰>×ÒÙà�n‰nÓˆØŠ;Ùà�‰×Ñ˜CÔ Ø×Ñ˜s×#Ò#¨×(8Ñ(8Ò(@Ø"Ôà×Ñ×!Ñ!×#Ò#ð �J‰J×-Ñ-Ø˜U 4¡(ð +#Ø#'×#4Ñ#4Ð"5Ð5JðLà˜SØ˜ð	/ô ñ à�~�~ˆ~ d×&C×&CÐ&Cð& �K‰KŒMØ,0ˆDÔ)Ø×Ñ×$Ñ$Ö&ñ+ 'D‰~r   )
r   r   r	   r   r
   r   r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r%   r,   r4   r0   rD   r7   r:   rH   Ú__static_attributes__Ú__classdictcell__)rS   s   @r   r   r      sF   ø‡ € ñò
&ò(òòò`òF÷F@ð @ò÷4'ð 4'r   N)r   )Ú__all__r   r   r   r   r   r   © r   r   Ú<module>rq      s$   ðð
 €å Ý Ý Ý ÷K'ó K'r   