§
    šŠtjÚË  ã            	      ó€  — d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z
mZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ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  d dl!m"Z"m#Z#m$Z$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ d dlKmLZL d dlMmNZNmOZO d dlPmQZQ d dlRmSZS d dlTmUZU d dlVmWZW d dlXmYZY d dlZm[Z[ d dl\m]Z]m^Z^ d dl_m`Z` d dlambZb d dlcmdZdmeZe d dlfmgZgmhZhmiZi d dljmkZkmlZlmmZmmnZnmoZompZpmqZqmrZr e
e&dz  dge&f         Zsejt        dk    Zu G d „ d!e¦  «        Zv G d"„ d#e¦  «        Zw G d$„ d%¦  «        Zxd³d.„Zy	 d´dµd<„Zzd¶dB„Z{d·dI„Z|eddddddJddKœd¸da„¦   «         Z}edddJddbœd¹di„¦   «         Z}ddddddJddKœdºdk„Z}eFfZ~ G dl„ dme¦  «        ZddddddJdnœd»dz„Z€d¼d~„Z�d½d€„Z‚d¾d„„Zƒd¿d…„Z„dddddJd†œdÀd‹„Z…dddddJd†œdÁdŽ„Z†dddddJd†œdÂd”„Z‡dÃd•„ZˆdÄdž„Z‰dÅd¤„ZŠdÆd¥„Z‹dÇd©„ZŒdÇdª„Z�dÈd­„ZŽ ej�        ¦   «         Z� G d®„ d¯¦  «        Z‘dÉd²„Z’dS )Êé    )ÚannotationsN)ÚdefaultdictÚdeque)ÚCallableÚIterableÚMappingÚSequence)Úcopy)Úpartial)Úsha1)ÚAnyÚLiteralÚ
NamedTupleÚProtocolÚcastÚoverload)Ú	Callbacks)ÚAsyncParentRunManagerÚParentRunManager)ÚRunnableConfig)ÚBaseCheckpointSaverÚChannelVersionsÚ
CheckpointÚPendingWriteÚV)Ú	BaseStore)Úxxh3_128_hexdigest)Úmerge_configsÚpatch_config)ÚCACHE_NS_WRITESÚCONFÚCONFIG_KEY_CHECKPOINT_IDÚCONFIG_KEY_CHECKPOINT_MAPÚCONFIG_KEY_CHECKPOINT_NSÚCONFIG_KEY_CHECKPOINTERÚCONFIG_KEY_NODE_ERRORÚCONFIG_KEY_READÚCONFIG_KEY_RESUME_MAPÚCONFIG_KEY_RUNTIMEÚCONFIG_KEY_SCRATCHPADÚCONFIG_KEY_SENDÚCONFIG_KEY_TASK_IDÚCONFIG_KEY_THREAD_IDÚERRORÚERROR_SOURCE_NODEÚ	INTERRUPTÚ	NO_WRITESÚNS_ENDÚNS_SEPÚNULL_TASK_IDÚPREVIOUSÚPULLÚPUSHÚRESERVEDÚRESUMEÚRETURNÚTASKS)ÚPregelScratchpad)Ú	EMPTY_SEQÚMISSING)ÚBaseChannel)ÚTopic)ÚUntrackedValue)Ú
TAG_HIDDEN)Ú	NodeError)ÚManagedValueMapping)Úget_runnable_for_taskÚ
identifier)Úread_channels)Úlogger)ÚINPUT_CACHE_KEY_TYPEÚ
PregelNode)ÚDEFAULT_RUNTIMEÚExecutionInfoÚRuntime)ÚAllÚCacheKeyÚCachePolicyÚPregelExecutableTaskÚ
PregelTaskÚRetryPolicyÚSendÚTimeoutPolicy)é   é   c                  ór   — e Zd ZdZedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd
„¦   «         ZdS )ÚWritesProtocolz�Protocol for objects containing writes to be applied to checkpoint.
    Implemented by PregelTaskWrites and PregelExecutableTask.Úreturnútuple[str | int | tuple, ...]c                ó   — d S ©N© ©Úselfs    úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langgraph/pregel/_algo.pyÚpathzWritesProtocol.patha   s   € Ø58°Só    Ústrc                ó   — d S r]   r^   r_   s    ra   ÚnamezWritesProtocol.named   s   € Ø˜3rc   úSequence[tuple[str, Any]]c                ó   — d S r]   r^   r_   s    ra   ÚwriteszWritesProtocol.writesg   s   € Ø36°3rc   úSequence[str]c                ó   — d S r]   r^   r_   s    ra   ÚtriggerszWritesProtocol.triggersj   s   € Ø),¨rc   N)rZ   r[   )rZ   rd   )rZ   rg   )rZ   rj   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyrb   rf   ri   rl   r^   rc   ra   rY   rY   ]   sv   € € € € € ðAð Að Ø8Ð8Ð8ñ „XØ8àØÐÐñ „XØàØ6Ð6Ð6ñ „XØ6àØ,Ð,Ð,ñ „XØ,Ð,Ð,rc   rY   c                  ó<   — e Zd ZU dZded<   ded<   ded<   ded	<   d
S )ÚPregelTaskWritesz“Simplest implementation of WritesProtocol, for usage with writes that
    don't originate from a runnable task, eg. graph input, update_state, etc.r[   rb   rd   rf   rg   ri   rj   rl   N)rm   rn   ro   rp   Ú__annotations__r^   rc   ra   rs   rs   n   sM   € € € € € € ðQð Qð (Ð'Ð'Ñ'Ø€I€I�IØ%Ð%Ð%Ñ%ØÐÐÑÐÐrc   rs   c                  ó^   — e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   ddœdd„ZdS )ÚCall©ÚfuncÚinputÚretry_policyÚcache_policyÚ	callbacksÚtimeoutr   rx   ú&tuple[tuple[Any, ...], dict[str, Any]]ry   úSequence[RetryPolicy] | Nonerz   úCachePolicy | Noner{   r   r|   úTimeoutPolicy | Noner}   N©r}   rZ   ÚNonec               óZ   — || _         || _        || _        || _        || _        || _        d S r]   rw   )r`   rx   ry   rz   r{   r|   r}   s          ra   Ú__init__zCall.__init__‰   s4   € ð ˆŒ	ØˆŒ
Ø(ˆÔØ(ˆÔØ"ˆŒØˆŒˆˆrc   )rx   r   ry   r~   rz   r   r{   r€   r|   r   r}   r�   rZ   rƒ   )rm   rn   ro   Ú	__slots__rt   r…   r^   rc   ra   rv   rv   x   s‡   € € € € € € ð€Ið €N€N�NØ1Ð1Ð1Ñ1Ø.Ð.Ð.Ñ.Ø$Ð$Ð$Ñ$ØÐÐÑØ!Ð!Ð!Ñ!ð )-ðð ð ð ð ð ð ð rc   rv   Ú
checkpointr   Úinterrupt_nodesúAll | Sequence[str]ÚtasksúIterable[PregelExecutableTask]rZ   úlist[PregelExecutableTask]c                ón  ‡‡‡— t          t          t          | d                              ¦   «         ¦  «        d¦  «        ¦  «        } |¦   «         Š| d                              t
          i ¦  «        Št          ˆˆfd„| d                              ¦   «         D ¦   «         ¦  «        }|rˆfd„|D ¦   «         ng S )z@Check if the graph should be interrupted based on current state.Úchannel_versionsNÚversions_seenc              3  óR   •K  — | ]!\  }}|‰                      |‰¦  «        k    V — Œ"d S r]   ©Úget)Ú.0ÚchanÚversionÚnull_versionÚseens      €€ra   ú	<genexpr>z#should_interrupt.<locals>.<genexpr>¥   sN   øè è € ð +ð +áˆD�'ð 	�$—(’(˜4 Ñ.Ô.Ò.ð+ð +ð +ð +ð +ð +rc   c                ó�   •— g | ]B}‰d k    r/|j         r't          |j                              dt          ¦  «        vrn	|j        ‰v ¯@|‘ŒCS )Ú*Útags)ÚconfigrB   r’   r=   rf   )r“   Útaskrˆ   s     €ra   ú
<listcomp>z$should_interrupt.<locals>.<listcomp>«   sk   ø€ ð 	
ð 	
ð 	
àð # cÒ)Ð)ð œð *õ "¨¬¯ª¸ÅÑ)KÔ)KÐKÐKøð ”Y /Ð1Ð1ð ð 2Ð1Ð1rc   )ÚtypeÚnextÚiterÚvaluesr’   r0   ÚanyÚitems)r‡   rˆ   rŠ   Úversion_typeÚ any_updates_since_prev_interruptr–   r—   s    `   @@ra   Úshould_interruptr§   ›   sé   øøø€ õ ��T *Ð-?Ô"@×"GÒ"GÑ"IÔ"IÑJÔJÈDÑQÔQÑRÔR€LØ�<‘>”>€LØ�oÔ&×*Ò*­9°bÑ9Ô9€Då'*ð +ð +ð +ð +ð +à'Ð(:Ô;×AÒAÑCÔCð+ñ +ô +ñ (ô (Ð$ð$ ,ð	ð 	
ð 	
ð 	
ð 	
àð	
ñ 	
ô 	
ð 	
ð ðrc   FÚ
scratchpadr<   ÚchannelsúMapping[str, BaseChannel]ÚmanagedrD   r�   Úselectúlist[str] | strÚfreshÚboolúdict[str, Any] | Anyc                ó^  ‡ ‡— t          t          ¦  «        }t          |t          ¦  «        r1g }|j        D ]&\  }}	||k    r||                              |	¦  «         Œ'nHˆfd„|D ¦   «         }ˆfd„|D ¦   «         }|j        D ]$\  }}	||v r||                              |	¦  «         Œ%|rRi }
|D ]<}||                              ¦   «         }|                     ||         ¦  «         ||
|<   Œ=t          |
|¦  «        }nt          ||¦  «        }|r"|                     ˆˆ fd„|D ¦   «         ¦  «         |S )z¼Function injected under CONFIG_KEY_READ in task config, to read current state.
    Used by conditional edges to read a copy of the state with reflecting the writes
    from that node only.c                ó   •— g | ]}|‰v ¯|‘Œ	S r^   r^   ©r“   Úkr«   s     €ra   rž   zlocal_read.<locals>.<listcomp>Î   s   ø€ Ð:Ð:Ð:˜a¨Q°'¨\¨\˜¨\¨\¨\rc   c                ó   •— g | ]}|‰v¯|‘Œ	S r^   r^   r³   s     €ra   rž   zlocal_read.<locals>.<listcomp>Ï   s#   ø€ Ð8Ð8Ð8˜ q°Ð'7Ð'7�!Ð'7Ð'7Ð'7rc   c                óH   •— i | ]}|‰|                               ‰¦  «        “ŒS r^   r‘   )r“   r´   r«   r¨   s     €€ra   ú
<dictcomp>zlocal_read.<locals>.<dictcomp>ß   s+   ø€ ÐKÐKÐK¸�q˜' !œ*Ÿ.š.¨Ñ4Ô4ÐKÐKÐKrc   )	r   ÚlistÚ
isinstancerd   ri   Úappendr
   ÚupdaterG   )r¨   r©   r«   r�   r¬   r®   ÚupdatedÚmanaged_keysÚcÚvÚlocal_channelsr´   Úccr¢   s   ` `           ra   Ú
local_readrÂ   ¼   s}  øø€ õ %0µÑ$5Ô$5€GÝ�&�#ÑÔð 
%ØˆØ”Kð 	%ð 	%‰DˆAˆqØ�FŠ{ˆ{Ø˜”
×!Ò! !Ñ$Ô$Ð$øð	%ð ;Ð:Ð:Ð: 6Ð:Ñ:Ô:ˆØ8Ð8Ð8Ð8˜VÐ8Ñ8Ô8ˆØ”Kð 	%ð 	%‰DˆAˆqØ�Fˆ{ˆ{Ø˜”
×!Ò! !Ñ$Ô$Ð$øØð 
1à13ˆØð 	#ð 	#ˆAØ˜!”×!Ò!Ñ#Ô#ˆBØ�IŠI�g˜a”jÑ!Ô!Ð!Ø "ˆN˜1ÑÐå˜~¨vÑ6Ô6ˆˆå˜x¨Ñ0Ô0ˆØð MØ�ŠÐKÐKÐKÐKÐK¸lÐKÑKÔKÑLÔLÐLØ€Mrc   Úcurrentú
int | NoneÚchannelrƒ   Úintc                ó   — | �| dz   ndS )zHDefault channel versioning function, increments the current int version.Né   r^   )rÃ   rÅ   s     ra   Ú	incrementrÉ   ã   s   € à!Ð-ˆ7�Q‰;ˆ;°1Ð4rc   úIterable[WritesProtocol]Úget_next_versionúGetNextVersion | NoneÚtrigger_to_nodesúMapping[str, Sequence[str]]úset[str]c                ó
  ‡ ‡— t          |d„ ¬¦  «        }t          d„ |D ¦   «         ¦  «        }|D ]G}‰ d                              |j        i ¦  «                             ˆ fd„|j        D ¦   «         ¦  «         ŒH|€d}n; |‰ d         r't          ‰ d                              ¦   «         ¦  «        ndd¦  «        }ˆfd„|D ¦   «         D ])}‰|                              ¦   «         r|�|‰ d         |<   Œ*t          t          ¦  «        }	|D ]†}|j        D ]|\  }}
|t          t          t          t          t           t"          t$          fv rŒ4|‰v r|	|                              |
¦  «         ŒTt)          j        d	|j        › d
|j        › d|› d�¦  «         Œ}Œ‡t/          ¦   «         }|	                     ¦   «         D ]`\  }}|‰v rW‰|                              |¦  «        r<|�:|‰ d         |<   ‰|                              ¦   «         r|                     |¦  «         Œa|r‰D ]|}‰|                              ¦   «         r`||vr\‰|                              t6          ¦  «        r<|�:|‰ d         |<   ‰|                              ¦   «         r|                     |¦  «         Œ}|rp|                     |¦  «        r[‰D ]X}‰|                              ¦   «         r<|�:|‰ d         |<   ‰|                              ¦   «         r|                     |¦  «         ŒY|S )aX  Apply writes from a set of tasks (usually the tasks from a Pregel step)
    to the checkpoint and channels, and return managed values writes to be applied
    externally.

    Args:
        checkpoint: The checkpoint to update.
        channels: The channels to update.
        tasks: The tasks to apply writes from.
        get_next_version: Optional function to determine the next version of a channel.
        trigger_to_nodes: Mapping of channel names to the set of nodes that can be triggered by updates to that channel.

    Returns:
        Set of channels that were updated in this step.
    c                ó:   — t          | j        d d…         ¦  «        S )NrV   )Útask_path_strrb   )Úts    ra   ú<lambda>zapply_writes.<locals>.<lambda>   s   € ­°a´f¸R¸a¸R´jÑ(AÔ(A€ rc   )Úkeyc              3  ó$   K  — | ]}|j         V — Œd S r]   )rl   ©r“   rÓ   s     ra   r˜   zapply_writes.<locals>.<genexpr>  s$   è è € Ð.Ð. 1�A”JÐ.Ð.Ð.Ð.Ð.Ð.rc   r�   c                óB   •— i | ]}|‰d          v ¯|‰d          |         “ŒS )rŽ   r^   )r“   r”   r‡   s     €ra   r·   z apply_writes.<locals>.<dictcomp>  sA   ø€ ð ð ð àØ˜:Ð&8Ô9Ð9Ð9ð �jÐ!3Ô4°TÔ:à9Ð9Ð9rc   NrŽ   c                óB   •— h | ]}|j         D ]}|t          v¯|‰v ¯|’ŒŒS r^   )rl   r8   )r“   r�   r”   r©   s      €ra   ú	<setcomp>zapply_writes.<locals>.<setcomp>  sQ   ø€ ð ð ð àØ”Mðð ð Ø•xÐÐ D¨HÐ$4Ð$4ð 	ð %5Ð$4Ð$4Ð$4rc   zTask z with path z wrote to unknown channel z, ignoring it.)Úsortedr£   Ú
setdefaultrf   r»   rl   Úmaxr¢   Úconsumer   r¸   ri   r1   r7   r9   r0   r:   r.   r/   rº   rH   Úwarningrb   Úsetr¤   Úis_availableÚaddr=   Ú
isdisjointÚfinish)r‡   r©   rŠ   rË   rÍ   Ú	bump_stepr�   Únext_versionr”   Úpending_writes_by_channelÚvalÚupdated_channelsÚvalss   ``           ra   Úapply_writesrë   è   sç  øø€ õ0 �5ÐAÐAÐBÑBÔB€Eõ Ð.Ð.¨Ð.Ñ.Ô.Ñ.Ô.€Ið ð 
ð 
ˆØ�?Ô#×.Ò.¨t¬y¸"Ñ=Ô=×DÒDðð ð ð à œMðñ ô ñ	
ô 	
ð 	
ð 	
ð ÐØˆˆà'Ð'ð Ð0Ô1ð•�JÐ1Ô2×9Ò9Ñ;Ô;Ñ<Ô<Ð<ààñ
ô 
ˆðð ð ð àðñ ô ð @ð @ˆð �DŒ>×!Ò!Ñ#Ô#ð 	@¨Ð(@Ø3?ˆJÐ)Ô*¨4Ñ0øõ 7BÅ$Ñ6GÔ6GÐØð ð ˆØœð 	ð 	‰IˆD�#ØÝÝÝÝÝÝÝ!ðð ð ð Ø˜Ð!Ð!Ø)¨$Ô/×6Ò6°sÑ;Ô;Ð;Ð;å”Øk˜DœIÐkÐk°$´)ÐkÐkÐW[ÐkÐkÐkñô ð ð ð	õ& "%¡¤ÐØ/×5Ò5Ñ7Ô7ð /ð /‰
ˆˆdØ�8ÐÐØ˜Œ~×$Ò$ TÑ*Ô*ð /¨|Ð/GØ7C�
Ð-Ô.¨tÑ4à˜D”>×.Ò.Ñ0Ô0ð /Ø$×(Ò(¨Ñ.Ô.Ð.øð ð 3Øð 	3ð 	3ˆDØ˜Œ~×*Ò*Ñ,Ô,ð 3°Ð=MÐ1MÐ1MØ˜D”>×(Ò(­Ñ3Ô3ð 3¸Ð8PØ;G�JÐ1Ô2°4Ñ8à ”~×2Ò2Ñ4Ô4ð 3Ø(×,Ò,¨TÑ2Ô2Ð2øð ð /Ð%×0Ò0Ð1AÑBÔBð /Øð 	/ð 	/ˆDØ˜Œ~×$Ò$Ñ&Ô&ð /¨<Ð+CØ7C�
Ð-Ô.¨tÑ4à˜D”>×.Ò.Ñ0Ô0ð /Ø$×(Ò(¨Ñ.Ô.Ð.øð Ðrc   r^   )ÚstoreÚcheckpointerÚmanagerrÍ   ré   rz   r{   Úpending_writesúlist[PendingWrite]Ú	processesúMapping[str, PregelNode]rœ   r   ÚstepÚstopÚfor_executionúLiteral[False]rì   úLiteral[None]rí   rî   ú"Mapping[str, Sequence[str]] | Noneré   úset[str] | Nonerz   úSequence[RetryPolicy]r{   údict[str, PregelTask]c               ó   — d S r]   r^   ©r‡   rï   rñ   r©   r«   rœ   ró   rô   rõ   rì   rí   rî   rÍ   ré   rz   r{   s                   ra   Úprepare_next_tasksrþ   \  s	   € ð&  ˜Crc   )rÍ   ré   rz   r{   úLiteral[True]úBaseStore | NoneúBaseCheckpointSaver | Noneú/None | ParentRunManager | AsyncParentRunManagerr€   údict[str, PregelExecutableTask]c               ó   — d S r]   r^   rý   s                   ra   rþ   rþ   r  s	   € ð& '* crc   ú7dict[str, PregelTask] | dict[str, PregelExecutableTask]c               óî  — i }t          j        | d                              dd¦  «        ¦  «        }t          | ¦  «        }g }t	          t
          t                   dz  |                     t          ¦  «        ¦  «        }|r˜| 	                    ¦   «         r„t          |                     ¦   «         ¦  «        D ]b\  }}t          t          |fdfi d| “d|“d|“d|“d	|“d
|“d|“d|“d|“d|“d|“d|	“d|
“d|“d|“d|“d|“Žx}r|                     |¦  «         Œc|rQ|rOt          ¦   «         }|D ].}|                     |¦  «        x}r|                     |¦  «         Œ/t!          |¦  «        }n| d         sd}n|                     ¦   «         }|D ]_}t          t$          |fdfi d| “d|“d|“d|“d	|“d
|“d|“d|“d|“d|“d|“d|	“d|
“d|“d|“d|“d|“Žx}r|                     |¦  «         Œ`d„ |D ¦   «         S )a{  Prepare the set of tasks that will make up the next Pregel step.

    Args:
        checkpoint: The current checkpoint.
        pending_writes: The list of pending writes.
        processes: The mapping of process names to PregelNode instances.
        channels: The mapping of channel names to BaseChannel instances.
        managed: The mapping of managed value names to functions.
        config: The `Runnable` configuration.
        step: The current step.
        for_execution: Whether the tasks are being prepared for execution.
        store: An instance of BaseStore to make it available for usage within tasks.
        checkpointer: `Checkpointer` instance used for saving checkpoints.
        manager: The parent run manager to use for the tasks.
        trigger_to_nodes: Optional: Mapping of channel names to the set of nodes
            that are can be triggered by that channel.
        updated_channels: Optional. Set of channel names that have been updated during
            the previous step. Using in conjunction with trigger_to_nodes to speed
            up the process of determining which nodes should be triggered in the next
            step.

    Returns:
        A dictionary of tasks to be executed. The keys are the task ids and the values
        are the tasks themselves. This is the union of all PUSH tasks (Sends)
        and PULL tasks (nodes triggered by edges).
    Úidú-Ú Nr‡   Úcheckpoint_id_bytesÚcheckpoint_null_versionrï   rñ   r©   r«   rœ   ró   rô   rõ   rì   rí   rî   Úinput_cacher{   rz   rŽ   r^   c                ó   — i | ]
}|j         |“ŒS r^   )r  r×   s     ra   r·   z&prepare_next_tasks.<locals>.<dictcomp>  s   € Ð#Ð#Ð#˜ˆAŒD�!Ð#Ð#Ð#rc   )ÚbinasciiÚ	unhexlifyÚreplacer  r   r@   rT   r’   r;   rá   Ú	enumerateÚprepare_single_taskr7   rº   rà   r»   rÛ   Úkeysr6   )r‡   rï   rñ   r©   r«   rœ   ró   rô   rõ   rì   rí   rî   rÍ   ré   rz   r{   r  r
  r–   rŠ   Útasks_channelÚidxÚ_r�   Útriggered_nodesrÅ   Únode_idsÚcandidate_nodesrf   s                                ra   rþ   rþ   ˆ  sn  € ðZ 46€KÝ"Ô,¨Z¸Ô-=×-EÒ-EÀcÈ2Ñ-NÔ-NÑOÔOÐÝ*¨:Ñ6Ô6€LØ57€Eå��tœ tÑ+¨X¯\ª\½%Ñ-@Ô-@ÑAÔA€MØð #˜×3Ò3Ñ5Ô5ð #Ý × 1Ò 1Ñ 3Ô 3Ñ4Ô4ð 	#ð 	#‰FˆC�Ý*Ý�s�Øðð ð ð &˜:ðð %8Ð$7ð	ð
 )5¨ðð  .˜~ðð $˜)ðð "˜ðð  ˜ðð �vðð �Tðð �Tðð ,˜mðð �eðð *˜\ðð   ˜ð!ð" (˜Kð#ð$ *˜\ð%ð& *˜\ð'ð ˆtð #ð* —’˜TÑ"Ô"Ð"øð ð +Ð,ð +Ý$'¡E¤Eˆà'ð 	1ð 	1ˆGØ+×/Ò/°Ñ8Ô8Ð8ˆxð 1Ø×&Ò& xÑ0Ô0Ð0øå)/°Ñ)@Ô)@ˆˆØÐ*Ô+ð +Øˆˆà#Ÿ.š.Ñ*Ô*ˆð  ð ð ˆÝ&Ý�4ˆLØð
ð 
ð 
ð "�zð
ð !4Ð 3ð	
ð
 %1 Lð
ð *˜>ð
ð  �ið
ð �Xð
ð �Gð
ð �6ð
ð �ð
ð �ð
ð (˜-ð
ð �%ð
ð &˜ð
ð  �Gð!
ð" $˜ð#
ð$ &˜ð%
ð& &˜ð'
ð 
ˆ4ð 	ð* �LŠL˜ÑÔÐøØ#Ð#˜UÐ#Ñ#Ô#Ð#rc   c                  ó   — e Zd Zd	d„ZdS )
Ú	_TaskIDFnÚ	namespaceÚbytesÚpartsústr | bytesrZ   rd   c                ó   — d S r]   r^   )r`   r  r  s      ra   Ú__call__z_TaskIDFn.__call__  s   € Øˆrc   N©r  r  r  r  rZ   rd   )rm   rn   ro   r!  r^   rc   ra   r  r    s(   € € € € € ðð ð ð ð ð rc   r  )rì   rí   rî   r  r{   rz   Ú	task_pathútuple[Any, ...]Útask_id_checksumú
str | Noner
  r  r  úV | Noner  ú&dict[INPUT_CACHE_KEY_TYPE, Any] | Noneú(None | PregelTask | PregelExecutableTaskc               ó0  — |	                      t          i ¦  «        }|                      t          d¦  «        }|d         dk    rt          nt          }| d         t
          k    rŽt          | d         t          ¦  «        rst          t          t          t          t          t          t          t          f         | ¦  «        |fi d|“d|“d|“d	|“d
|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“d|“ŽS | d         t
          k    rdt          t          t          t          t          f         | ¦  «        |fi d|“d|“d|“d	|“d
|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“ŽS | d         t          k    �r�t          t          | d         ¦  «        }||vrdS ||         }|€dS t          ||d         |d                               |¦  «        ||¦  «        �r?t          t!          |j        ¦  «        ¦  «        }|r|› t$          › |› �n|} |||t          |
¦  «        |t          g|¢R Ž }|› t&          › |› �}t)          |	t                                         t*          ¦  «        ||t-          |                     ¦   «         ¦  «        |	t                                         t0          ¦  «        |
|¦  «        }	 t3          ||||||¬¦  «        }|t4          u rdS n># t6          $ r1}t8          r$|                     d|› d| dd…         › d�¦  «         ‚ d}~ww xY w|
||| dd…         |dœ}|�||k    sJ |› d |› �¦   «         ‚|�rÂ|j        x} �r¶|j        r|                      |j        ¦  «         tC          ¦   «         }!|j"        p|}|ry| #                    |¦  «        }"tI          tJ          tM          |¦  «        pd!|ft-          t          |"t          ¦  «        r|"                     ¦   «         n|"¦  «        |j'        ¦  «        }#nd}#t          tP          |                      tR          tT          ¦  «        ¦  «        }$|$ +                    |d"                               tX          d¦  «        |t[          |d#         |||                      t\          ¦  «        |	                      d$¦  «        x}%rt          |%¦  «        nd¬%¦  «        ¬&¦  «        }$||j/        d'œ}&ta          ||| |!tc          te          |	t          tf          |&¦  «        ¦  «        ||r| 4                    d(|
› �¦  «        ndtj          |tl          |!j7        tp          ts          tt          |||tw          | dd…         ||!|¦  «        ¦  «        tx          |p|                      tx          ¦  «        tz          i |                      tz          i ¦  «        ¥||d#         i¥t|          dt          |t*          |tR          |$i	¬)¦  «        ||j?        p||#|| dd…         |j@        |jA        |jB        ¬*¦  «        S dS t‡          ||| dd…         ¦  «        S dS dS )+z‡Prepares a single task for the next Pregel step, given a task path, which
    uniquely identifies a PUSH or PULL task within the graph.r	  r¿   rÈ   r   éÿÿÿÿr‡   r
  rï   r©   r«   rœ   ró   rô   rõ   rì   rí   rî   r{   rz   Ú	parent_nsÚtask_id_funcrñ   NrŽ   r�   )rõ   r  r¨   zBefore task with name 'z' and path 'rV   ú'©Úlanggraph_stepÚlanggraph_nodeÚlanggraph_triggersÚlanggraph_pathÚlanggraph_checkpoint_nsú != Ú__dynamic__Úchannel_valuesr  Úrun_id©Úcheckpoint_idÚcheckpoint_nsÚtask_idÚ	thread_idr8  )Úpreviousrì   Úexecution_info©Úmetadatar›   úgraph:step:©Úrun_namer|   Úconfigurable©ÚwritersÚ	subgraphsr}   )Dr’   r!   r$   Ú_xxhash_strÚ
_uuid5_strr7   r¹   rv   Úprepare_push_task_functionalr   Útuplerd   rÆ   Úprepare_push_task_sendr6   Ú	_triggersrÛ   rl   r3   r2   Ú_scratchpadr*   r   Úencoder(   Ú_proc_inputr>   Ú	ExceptionÚSUPPORTS_EXC_NOTESÚadd_noteÚnoderA  r»   r   r{   Úkey_funcrO   r    rF   ÚttlrM   r)   rK   Úoverrider5   rL   r-   r›   rQ   r   r   r   Ú	get_childr,   r+   Úextendr'   r   rÂ   rs   r%   r#   r"   rz   Úflat_writersrH  r}   rR   )'r#  r%  r‡   r
  r  rï   rñ   r©   r«   rœ   ró   rô   rõ   rì   rí   rî   r  r{   rz   rE  r,  r-  rf   Úprocrl   r;  r<  Útask_checkpoint_nsr¨   rè   ÚexcrA  rU  ri   Úargs_keyÚ	cache_keyÚruntimeÚridÚadditional_configs'                                          ra   r  r    s  € ð0 —:’:�d BÑ'Ô'€LØ× Ò Õ!9¸2Ñ>Ô>€IØ",¨S¤/°AÒ"5Ð"5•;�;½:€Là�„|•tÒÐ¥
¨9°R¬=½$Ñ ?Ô ?ÐÝ+Ý••s�E¥3­­TÐ1Ô2°IÑ>Ô>Øð
ð 
ð 
ð "�zð
ð !4Ð 3ð	
ð
 *˜>ð
ð �Xð
ð �Gð
ð �6ð
ð �ð
ð �ð
ð (˜-ð
ð �%ð
ð &˜ð
ð �Gð
ð &˜ð
ð  &˜ð!
ð"  �ið#
ð$ &˜ð%
ð 	
ð* 
�1Œ�Ò	Ð	Ý%Ý••s�E�zÔ" IÑ.Ô.Øð
ð 
ð 
ð "�zð
ð !4Ð 3ð	
ð
 *˜>ð
ð �Xð
ð �Gð
ð �6ð
ð �ð
ð  �ið
ð �ð
ð (˜-ð
ð �%ð
ð &˜ð
ð �Gð
ð  &˜ð!
ð" &˜ð#
ð$  �ið%
ð& &˜ð'
ð 	
ð, 
�1Œ�Ò	Ñ	å•C˜ 1œÑ&Ô&ˆØ�yÐ Ð ØˆFØ˜ŒˆØ"Ð*ØˆFåØØÐ)Ô*Ø�Ô'×+Ò+¨DÑ1Ô1Ø#Øñ
ô 
ñ [	@õ �V D¤MÑ2Ô2Ñ3Ô3ˆHà<EÐO˜yÐ8­&Ð8°$Ð8Ð8Ð8È4ˆMØ"�lØ#ØÝ�D‘	”	ØÝðð ðð ð ˆGð %2Ð!Dµ6Ð!D¸7Ð!DÐ!DÐå$Ø•t”× Ò Õ!6Ñ7Ô7ØØÝ"Ð#5×#<Ò#<Ñ#>Ô#>Ñ?Ô?Ø•t”× Ò Õ!6Ñ7Ô7ØØñô ˆJðÝ!ØØØØ"/Ø +Ø)ðñ ô �ð �'�>�>Ø�Fð "øåð ð ð Ý%ð Ø—L’LØT°$ÐTÐTÀIÈbÈqÈbÄMÐTÐTÐTñô ð ð øøøøðøøøð #'Ø"&Ø&.Ø"+¨B¨Q¨B¤-Ø+=ðð ˆHð  Ð+ØÐ"2Ò2Ð2Ð2°wÐ4VÐ4VÐDTÐ4VÐ4VÑ2Ô2Ð2Øñ b@Øœ9Ð$�4ñ _Ø”}ð 7Ø Ÿš¨¬Ñ6Ô6Ð6Ý5:±W´W�FØ#'Ô#4Ð#D¸�LØ#ð )Ø#/×#8Ò#8¸Ñ#=Ô#=˜Ý$,å /Ý!+¨DÑ!1Ô!1Ð!B°]Ø $ðõ
 /õ (2°(½CÑ'@Ô'@ð%2 H§O¢OÑ$5Ô$5Ð$5à)1ñ	ô ð )Ô,ñ%ô %˜	˜	ð  %)˜	Ý"Ý ×!1Ò!1Õ2DÅoÑ!VÔ!Vñô �Gð &×.Ò.Ø!+Ð,<Ô!=×!AÒ!AÅ(ÈDÑ!QÔ!QØ#Ý'4Ø*4°TÔ*:Ø*<Ø$+Ø&2×&6Ò&6Õ7KÑ&LÔ&LØ7=·z²zÀ(Ñ7KÔ7KÐ0K°Ð#V¥3 s¡8¤8 8ÐRVð(ñ (ô (ð /ñ 
ô 
�Gð %-Ø $¤	ð)ð )Ð%õ 0ØØØØÝ$Ý)Ø &­­^Ð=NÑ(OÔ(Oñô ð &*ð $+ð!* × 1Ò 1Ð2FÀÐ2FÐ2FÑ GÔ GÐ Gà%)õ !3°Gå /°´Ý /µÝ$.Ø$.Ø$,Ø$+Ý$4Ø(1°"°1°"¬Ø(,Ø(.Ø(0ñ	%&ô %&ñ2"ô 2"õ !8Ø$0ð %QØ'3×'7Ò'7Õ8OÑ'PÔ'På 9ð <"Ø&2×&6Ò&6Õ7PÐRTÑ&UÔ&Uð<"à$-¨z¸$Ô/?ð<"ð <"õ !9¸$Ý 8Ð:LÝ 5°zÝ 2°Gð7*ð'ñ 'ô 'ðP !ØÔ)Ð9¨\Ø!ØØ! " 1 "œØ $Ô 1Ø"&¤.Ø $¤ði5ñ 5ô 5ð 5ðU_ð _õB " '¨4°¸2¸A¸2´Ñ?Ô?Ð?ðI 
Ð	ð[	@ð [	@s   Ê0K Ë
LË,LÌLÚvaluer   ÚBaseExceptionc                óh   — t          | t          ¦  «        r| S t          t          | ¦  «        ¦  «        S r]   )r¹   re  rR  rd   )rd  s    ra   Ú_coerce_pending_errorrg  ü  s-   € Ý�%�Ñ'Ô'ð ØˆÝ•S˜‘Z”ZÑ Ô Ð rc   úlist[BaseException]c                óv   — g }| D ]3\  }}}|t           k    r"|                     t          |¦  «        ¦  «         Œ4|S r]   )r.   rº   rg  )rï   Úerrorsr  rÅ   rd  s        ra   Ú _read_errors_from_pending_writesrk    sK   € ð #%€FØ+ð 8ð 8Ñˆˆ7�EØ•eÒÐØ�MŠMÕ/°Ñ6Ô6Ñ7Ô7Ð7øØ€Mrc   r<  rd   úBaseException | Nonec                óv   — t          | ¦  «        D ](\  }}}||k    r|t          k    rt          |¦  «        c S Œ)d S r]   )Úreversedr.   rg  ©rï   r<  Úpending_task_idrÅ   rd  s        ra   Ú+_read_error_for_task_id_from_pending_writesrq    sQ   € õ ,4°NÑ+CÔ+Cð 0ð 0Ñ'ˆ˜ %Ø˜gÒ%Ð%¨'µUÒ*:Ð*:Ý(¨Ñ/Ô/Ð/Ð/Ð/øØˆ4rc   c                ó¨   — t          | ¦  «        D ]A\  }}}||k    r5|t          k    r*t          |t          ¦  «        r|c S t          |¦  «        c S ŒBd S r]   )rn  r/   r¹   rd   ro  s        ra   Ú+_read_error_source_node_from_pending_writesrs    sk   € õ ,4°NÑ+CÔ+Cð ð Ñ'ˆ˜ %Ø˜gÒ%Ð%¨'Õ5FÒ*FÐ*FÝ˜%¥Ñ%Ô%ð Ø���Ý�u‘:”:ÐÐÐøØˆ4rc   )rì   rí   rî   r{   rz   ú!tuple[str, tuple, int, str, Call]r,  r-  ú!PregelTask | PregelExecutableTaskc               ót  — |                      t          i ¦  «        }| d         }t          |j        ¦  «        }|j        }|€t          d¦  «        ‚t          }|r|› t          › |› �n|} |||t          |¦  «        |t          t          | d         ¦  «        t          | d         ¦  «        ¦  «        }|› d|› �}g | dd…         ¢d‘R }|||||d	œ}|�||k    sJ |› d
|› �¦   «         ‚|
�rÀt          ¦   «         }|j        p|}|r‹ |j        |j        d         i |j        d         ¤Ž}t          t           t#          |j        ¦  «        pdft%          t'          |t          ¦  «        r|                     ¦   «         n|¦  «        |j        ¦  «        }nd}t-          |                      t.          ¦  «        ||t%          |                     ¦   «         ¦  «        |                      t0          ¦  «        ||	¦  «        }t3          t4          |                      t6          t8          ¦  «        ¦  «        } |                      |t=          |d         |||                      t>          ¦  «        |                      d¦  «        x}!rt          |!¦  «        nd¬¦  «        ¬¦  «        } tA          ||j        ||tC          tE          |d|i¦  «        ||j#        p|r| $                    d|› �¦  «        ndtJ          |tL          |j'        tP          tS          tT          |||tW          ||||¦  «        ¦  «        tX          |p|                      tX          ¦  «        tZ          i |                      tZ          i ¦  «        ¥||d         i¥t\          dt^          |t.          |t6          | i	¬¦  «        ||j0        p|||||j1        ¬¦  «        S te          |||¦  «        S )zIPrepare a push task with an attached caller. Used for the functional API.r+  Nz1`call` functions must have a `__name__` attributerÈ   é   ú:rV   Tr/  r5  r   r6  r  r8  r9  )rì   r?  rA  rB  rC  r‚   )3r’   r!   rE   rx   rf   Ú
ValueErrorÚPUSH_TRIGGERr3   rd   r7   rÒ   r   r{   rV  ry   rO   r    rF   r   r¹   rP  rW  rO  r*   r(   r   rM   r)   rK   rX  rL   r-   rQ   r   r   r|   rY  r,   r+   rZ  r'   r   rÂ   rs   r%   r#   r"   r$   rz   r}   rR   )"r#  r%  r‡   r
  rï   r©   r«   rœ   ró   rô   rõ   rì   rí   rî   r{   rz   r,  r-  rE  ÚcallÚproc_rf   rl   r;  r<  r]  Úin_progress_task_pathrA  ri   r_  r`  r¨   ra  rb  s"                                     ra   rK  rK     s)  € ð0 —:’:�d BÑ'Ô'€Là�RŒ=€DÝ! $¤)Ñ,Ô,€EØŒ:€DØ€|ÝÐLÑMÔMÐMå*€HØ4=ÐG�yÐ0¥&Ð0¨$Ð0Ð0Ð0À4€MØˆlØØÝˆD‰	Œ	ØÝÝ�i ”lÑ#Ô#ÝˆI�aŒLÑÔñô €Gð *Ð5Ð5¨GÐ5Ð5Ðð 3˜i¨¨¨œmÐ2¨TÐ2Ð2ÐàØØ&Ø/Ø#5ðð €Hð Ð#ØÐ*Ò*Ð*Ð*¨wÐ,NÐ,NÐ<LÐ,NÐ,NÑ*Ô*Ð*Øñ O@Ý).©¬ˆØÔ(Ð8¨LˆØð 	Ø,�|Ô,¨d¬j¸¬mÐM¸t¼zÈ!¼}ÐMÐMˆHÝ)1å#Ý ¤	Ñ*Ô*Ð;¨mðõ #Ý)3°H½cÑ)BÔ)BÐP�H—O’OÑ%Ô%Ð%Èñô ð Ô ñ	*ô 	*ˆIˆIð ˆIÝ Ø×ÒÕ2Ñ3Ô3ØØÝÐ1×8Ò8Ñ:Ô:Ñ;Ô;Ø×ÒÕ2Ñ3Ô3ØØñ
ô 
ˆ
õ •w × 0Ò 0Õ1CÅ_Ñ UÔ UÑVÔVˆØ×"Ò"ØÝ(Ø(¨Ô.Ø0ØØ&×*Ò*Õ+?Ñ@Ô@Ø+1¯:ª:°hÑ+?Ô+?Ð$? CÐJ•s˜3‘x”x�xÀdðñ ô ð #ñ 	
ô 	
ˆõ $ØØŒJØØÝÝ˜f z°8Ð&<Ñ=Ô=ØØœ.ð RØ?FÐP�G×%Ò%Ð&:°DÐ&:Ð&:Ñ;Ô;Ð;ÈDå&¨å# V¤]Ý#¥WÝ"Ø"Ø ØÝ(Ð)>ÀÀfÈhÑWÔWñ&ô &õ ,Ø$ÐQ¨×(8Ò(8Õ9PÑ(QÔ(Qå-ð 0Ø&×*Ò*Õ+DÀbÑIÔIð0à! :¨dÔ#3ð0ð 0õ -¨dÝ,Ð.@Ý)¨:Ý&¨ð+ðñ ô ð: ØÔÐ- ØØØ!Ø”LðO(
ñ (
ô (
ð (	
õT ˜' 4Ð)>Ñ?Ô?Ð?rc   útuple[str, tuple]ú(PregelTask | PregelExecutableTask | Nonec               óL
  — t          | ¦  «        dk    �rQt          t          | d         ¦  «        }|t                                        ¦   «         sd S |t                                        ¦   «         }|dk     s|t          |¦  «        k    rd S ||         }t          |t          ¦  «        s't          j	        dt          |¦  «        › d�¦  «         d S |j        |vrt          j	        d|j        › d�¦  «         d S ||j                 }|j        }|€d S t          }|r|› t          › |j        › �n|j        } |||t          |¦  «        |j        t          t          |¦  «        ¦  «        }nt          j	        d| › �¦  «         d S |                     t           i ¦  «        }|› d|› �}g | d d	…         ¢d
‘R }||j        |||dœ}|�||k    sJ |› d|› �¦   «         ‚|
�r9|j        r|                     |j        ¦  «         t'          ¦   «         }|j        p|}|rƒ|                     |j        ¦  «        } t/          t0          t3          |¦  «        pd|j        ft5          t          | t          ¦  «        r|                      ¦   «         n| ¦  «        |j        ¦  «        }!nd }!t;          |t                                         t<          ¦  «        ||t5          |                     ¦   «         ¦  «        |t                                         t>          ¦  «        ||	¦  «        }"t          t@          |                     tB          tD          ¦  «        ¦  «        }#|# #                    ||d                              tH          d ¦  «        tK          |d         |||                     tL          ¦  «        |                     d¦  «        x}$rt          |$¦  «        nd ¬¦  «        ¬¦  «        }#||j'        dœ}%tQ          |j        |j        ||tS          tU          ||%¦  «        |j        |r| +                    d|› �¦  «        nd tX          |tZ          |j.        t^          ta          tb          |"||te          ||j        ||¦  «        ¦  «        tf          |p|                     tf          ¦  «        th          i |                     th          i ¦  «        ¥||d         i¥tj          d tl          |t<          |"tB          |#i	¬¦  «        ||j7        p||!|||j8        |j9        |j:        �|j:        n|j:        ¬¦  «        S tw          ||j        |¦  «        S )Nrw  rÈ   r   zIgnoring invalid packet type z in pending sendszIgnoring unknown node name z Ignoring invalid PUSH task path rx  rV   Fr/  r5  r6  r7  r  r8  r9  )rì   r>  r?  r@  rB  rC  rF  )<Úlenr   rÆ   r;   rá   r’   r¹   rT   rH   rß   rŸ   rU  rz  r3   rd   r7   r!   rA  r»   r   r{   rV  ÚargrO   r    rF   r   rP  rW  rO  r*   r(   rM   r)   rK   rX  r5   rL   r-   r›   rQ   r   r   rY  r,   r+   rZ  r'   r   rÂ   rs   r%   r#   r"   r$   rz   r[  rH  r}   rR   )&r#  r%  r‡   r
  rï   r©   r«   rœ   ró   rô   rõ   rì   rí   rî   r{   rz   r,  r-  rñ   r  ÚsendsÚpacketr\  Ú	proc_noderl   r;  r<  rE  r]  Útranslated_task_pathrA  ri   r_  r`  r¨   ra  rb  rc  s&                                         ra   rM  rM  ª  s  € õ. ˆ9�~„~˜ÒÑõ •3˜	 !œÑ%Ô%ˆØ�Œ×+Ò+Ñ-Ô-ð 	ØˆFØ (­¤× 3Ò 3Ñ 5Ô 5ˆØ�Š7ˆ7�c�S ™ZœZÒ'Ð'ØˆFØ�s”ˆÝ˜&¥$Ñ'Ô'ð 	ÝŒNØOµ°V±´ÐOÐOÐOñô ð ð ˆFàŒ;˜iÐ'Ð'ÝŒNÐW¸¼ÐWÐWÐWÑXÔXÐXØˆFà˜œÔ%ˆØ”Iˆ	ØÐØˆFåˆà3<ÐMˆyÐ/�&Ð/ &¤+Ð/Ð/Ð/À&Ä+ð 	ð �,ØØÝ�‰IŒIØŒKÝÝ�‰HŒHñ
ô 
ˆˆõ 	ŒÐE¸)ÐEÐEÑFÔFÐFØˆØ—:’:�d BÑ'Ô'€LØ)Ð5Ð5¨GÐ5Ð5Ðð 3˜Y r¨ rœ]Ð2¨EÐ2Ð2ÐàØ œ+Ø&Ø.Ø#5ðð €Hð Ð#ØÐ*Ò*Ð*Ð*¨wÐ,NÐ,NÐ<LÐ,NÐ,NÑ*Ô*Ð*Øñ \FØŒ=ð 	+Ø�OŠO˜DœMÑ*Ô*Ð*Ý).©¬ˆØÔ(Ð8¨LˆØð 	Ø#×,Ò,¨V¬ZÑ8Ô8ˆHÝ å#Ý Ñ%Ô%Ð6¨Ø”Kðõ
 #Ý)3°H½cÑ)BÔ)BÐP�H—O’OÑ%Ô%Ð%Èñô ð Ô ñ
ô 
ˆIˆIð ˆIÝ Ø•4ŒL×ÒÕ2Ñ3Ô3ØØÝÐ1×8Ò8Ñ:Ô:Ñ;Ô;Ø•4ŒL×ÒÕ2Ñ3Ô3ØØñ
ô 
ˆ
õ •w × 0Ò 0Õ1CÅ_Ñ UÔ UÑVÔVˆØ×"Ò"ØØÐ 0Ô1×5Ò5µhÀÑEÔEÝ(Ø(¨Ô.Ø0ØØ&×*Ò*Õ+?Ñ@Ô@Ø+1¯:ª:°hÑ+?Ô+?Ð$? CÐJ•s˜3‘x”x�xÀdðñ ô ð #ñ 

ô 

ˆð !Ø”Ið-
ð -
Ðõ $ØŒKØŒJØØÝÝ˜fÐ&7Ñ8Ô8Øœà?FÐP�G×%Ò%Ð&:°DÐ&:Ð&:Ñ;Ô;Ð;ÈDõ '¨å# V¤]Ý#¥WÝ"Ø"Ø ØÝ(Ø0°&´+¸vÀxñô ñ&ô &õ ,Ø$ÐQ¨×(8Ò(8Õ9PÑ(QÔ(Qå-ð 0Ø&×*Ò*Õ+DÀbÑIÔIð0à! :¨dÔ#3ð0ð 0õ -¨dÝ,Ð.@Ý)¨:Ý&¨ð/ðñ ô ð@ ØÔÐ- ØØØ ØÔ%Ø”nØ&,¤nÐ&@�F”N�NÀdÄlðY-
ñ -
ô -
ð -	
õ^ ˜' 6¤;Ð0DÑEÔEÐErc   Úfailed_taskrQ   Úhandler_node_nameÚfailed_errorúPregelExecutableTask | Nonec          "     ó¸  — ||vrdS ||         }|j         }|€dS t          j        |d                              dd¦  «        ¦  «        }|d         dk    rt          nt
          }|                     t          i ¦  «        }|                     t          d¦  «        }|r|› t          › |› �n|} |||t          |	¦  «        |t          d| j        ¦  «        }|› d|› �}g | j        dd	…         ¢d‘d
‘R }|	|t          ||dœ}|j        r|                     |j        ¦  «         t#          ¦   «         }|j        p|}|j        p|}|r~|                     | j        ¦  «        }t-          t.          t1          |¦  «        pd|ft3          t5          |t          ¦  «        r|                     ¦   «         n|¦  «        |j        ¦  «        }nd}t;          |t                                        t<          ¦  «        ||t3          |                     ¦   «         ¦  «        |t                                        t>          ¦  «        |	|
¦  «        } tA          tB          |                     tD          tF          ¦  «        ¦  «        }!|! $                    ||d                              tJ          d¦  «        ¬¦  «        }!||j&        dœ}"tO          || j        ||tQ          tS          ||"¦  «        ||r| *                    d|	› �¦  «        ndtV          |tX          |j-        t\          t_          t`          | ||tc          |||t          ¦  «        ¦  «        td          |p|                     td          ¦  «        tf          i |                     tf          i ¦  «        ¥||d         i¥th          dt          |t<          | tD          |!tj          tm          | j7        |¬¦  «        i
¬¦  «        t          |||||j8        |j9        ¬¦  «        S )zEPrepare an immediate node-level error handler task for a failed task.Nr  r  r	  r¿   rÈ   Únode_error_handlerrx  rV   Fr/  r6  r7  )rì   r>  r@  rB  )rU  ÚerrorrC  )rG  rH  ):rU  r  r  r  rI  rJ  r’   r!   r$   r3   rd   r7   r  rb   rz  rA  r»   r   rz   r{   rV  ry   rO   r    rF   r   r¹   rP  rW  rO  r*   r(   r   rM   r)   rK   rX  r5   r›   rQ   r   r   rY  r,   r+   rZ  r'   r   rÂ   rs   r%   r#   r"   r&   rC   rf   r[  rH  )#r‡  rˆ  r‰  r‡   rï   rñ   r©   r«   rœ   ró   rô   rì   rí   rî   r{   rz   r\  r…  r
  r-  rE  r,  r;  r<  r]  r†  rA  ri   Úeffective_retry_policyÚeffective_cache_policyr_  r`  r¨   ra  rc  s#                                      ra   Úprepare_node_error_handler_taskr�  V  s2  € ð(  	Ð)Ð)ØˆtØÐ&Ô'€DØ”	€IØÐØˆtå"Ô,¨Z¸Ô-=×-EÒ-EÀcÈ2Ñ-NÔ-NÑOÔOÐØ",¨S¤/°AÒ"5Ð"5•;�;½:€LØ—:’:�d BÑ'Ô'€LØ× Ò Õ!9¸2Ñ>Ô>€Ià5>ÐUˆ9Ð1•fÐ1Ð/Ð1Ð1Ð1ÐDUð ð ˆlØØÝˆD‰	Œ	ØÝØØŒñô €Gð *Ð5Ð5¨GÐ5Ð5ÐØO˜[Ô-¨b¨q¨bÔ1ÐOÐ3GÐOÈÐOÐOÐàØ+Ý*Ø.Ø#5ðð €Hð „}ð 'Ø�Š˜œÑ&Ô&Ð&Ý%*¡W¤W€Fà!Ô.Ð>°,ÐØ!Ô.Ð>°,ÐØð Ø)×2Ò2°;Ô3DÑEÔEˆÝåÝ˜DÑ!Ô!Ð2 ]Ø!ðõ
 Ý%/°½#Ñ%>Ô%>ÐL�—’Ñ!Ô!Ð!ÀHñô ð #Ô&ñ

ô 

ˆ	ˆ	ð ˆ	åØ�tŒ×ÒÕ.Ñ/Ô/ØØÝÐ-×4Ò4Ñ6Ô6Ñ7Ô7Ø�tŒ×ÒÕ.Ñ/Ô/ØØñô €Jõ •7˜L×,Ò,Õ-?ÅÑQÔQÑRÔR€GØ×ÒØ˜jÐ)9Ô:×>Ò>½xÈÑNÔNð ñ ô €Gð Ø”	ð)ð )Ðõ  ØØÔØØÝÝ˜&Ð"3Ñ4Ô4Ø&ØAHÐR�g×'Ò'Ð(<°dÐ(<Ð(<Ñ=Ô=Ð=Èdå" GÝ ¤Ý¥ÝØØØÝ$Ø,Ø)ØÝ$ñ	ô ñ"ô "õ (Ø ÐM L×$4Ò$4Õ5LÑ$MÔ$Må)ð ,Ø"×&Ò&Õ'@À"ÑEÔEð,à˜z¨$Ô/ð,ð ,õ )¨$Ý(Ð*<Ý% zÝ" GÝ%¥yØ$Ô)°ð(ñ (ô (ð5ð	"	
ñ "	
ô "	
õF 	ØØØØØÔ!Ø”.ð]/ñ /ô /ð /rc   c                óp   — | d                               ¦   «         D ]} t          |¦  «        ¦   «         c S dS )z6Get the null version for the checkpoint, if available.rŽ   N)r¢   rŸ   )r‡   r•   s     ra   r  r  ã  sB   € ð Ð0Ô1×8Ò8Ñ:Ô:ð ð ˆØ�t�G‰}Œ}‰ŒÐÐÐØˆ4rc   Úversionsr   r—   úChannelVersions | Noner–   r   r\  rJ   c                ó  — |€(|j         D ]}| |                              ¦   «         r dS Œ nU|j         D ]M}| |                              ¦   «         r1|                     ||¦  «        |                     ||¦  «        k    r dS ŒNdS )NTF)rl   rá   r’   )r©   r’  r—   r–   r\  r”   s         ra   rN  rN  ì  s­   € ð €|Ø”Mð 	ð 	ˆDØ˜Œ~×*Ò*Ñ,Ô,ð Ø�t�tðð	ð ”Mð 	ð 	ˆDØ˜Œ~×*Ò*Ñ,Ô,ð °·²Ø�lñ2ô 2à—’˜˜|Ñ,Ô,ò2-ð 2-ð �t�tøØˆ5rc   Úparent_scratchpadúPregelScratchpad | NoneÚnamespace_hashÚ
resume_mapúdict[str, Any] | Nonec           
     óì  ‡ ‡‡— t          ‰¦  «        dk    r˜‰D ](}|d         t          k    r|d         t          k    r|Š nŒ)d Š‰D ]A}|d         |k    r3|d         t          k    r"|d         }t          |t          ¦  «        s|g} nŒBg }~|r!||v r||         }	|                     |	¦  «         nd Šg }ddˆˆ ˆfd	„}
t          ||t          ¦   «         t          ¦   «         ||
t          ¦   «         ¬
¦  «        S )Nr   rÈ   rw  FrÞ   r¯   rZ   r   c                ó¬   •— ‰€‰�‰                      | ¦  «        S d S | r/	 ‰                     ‰¦  «         ‰d         S # t          $ r Y d S w xY w‰d         S )Nrw  )Úget_null_resumeÚremovery  )rÞ   Únull_resume_writer•  rï   s    €€€ra   rœ  z$_scratchpad.<locals>.get_null_resume(  s‚   ø€ ØÐ$Ø Ð,Ø(×8Ò8¸ÑAÔAÐAØ�4Øð 	ðØ×%Ò%Ð&7Ñ8Ô8Ð8Ø(¨Ô+Ð+øÝð ð ð Ø�t�tðøøøà  Ô#Ð#s    = ½
AÁ
A)ró   rô   Úcall_counterÚinterrupt_counterÚresumerœ  Úsubgraph_counter©F)rÞ   r¯   rZ   r   )r�  r4   r9   r¹   r¸   rº   r<   ÚLazyAtomicCounter)r•  rï   r<  r—  r˜  ró   rô   ÚwÚtask_resume_writeÚmapped_resume_writerœ  rž  s   ``         @ra   rO  rO     sg  øøø€ õ ˆ>ÑÔ˜QÒÐàð 	%ð 	%ˆAØ�Œt•|Ò#Ð#¨¨!¬µª¨Ø$%Ð!Ø�øð !%Ðð  ð 	#ð 	#ˆAØ�Œt�wŠˆ 1 Q¤4­6¢> >Ø$% a¤DÐ!Ý!Ð"3µTÑ:Ô:ð <Ø):Ð(;Ð%Ø�øà "ÐØð ð 	:˜.¨JÐ6Ð6Ø",¨^Ô"<ÐØ×$Ò$Ð%8Ñ9Ô9Ð9øð !ÐØÐð$ð $ð $ð $ð $ð $ð $ð $ð $õ ØØå&Ñ(Ô(å+Ñ-Ô-Ø Ø'å*Ñ,Ô,ðñ ô ð rc   c               ó´  — |�#| j         |v rt          || j                  ¦  «        S t          | j        t          ¦  «        rgi }| j        D ]\}||v r8||                              ¦   «         r||                              ¦   «         ||<   Œ>||                              |¦  «        ||<   Œ]n‡t          | j        t          ¦  «        rV| j        |v rF|| j                                      ¦   «         r || j                                      ¦   «         }n%t          S t          S t          d| j        › �¦  «        ‚|r| j
        �|  
                    |¦  «        }|�
||| j         <   |S )zLPrepare input for a PULL task, based on the process's channels and triggers.Nz2Invalid channels type, expected list or dict, got )Úinput_cache_keyr
   r¹   r©   r¸   rá   r’   rd   r>   ÚRuntimeErrorÚmapper)r\  r«   r©   rõ   r¨   r  rè   r”   s           ra   rQ  rQ  D  su  € ð Ð 4Ô#7¸;Ð#FÐ#FÝ�K Ô 4Ô5Ñ6Ô6Ð6õ �$”-¥Ñ&Ô&ð 
Ø ˆØ”Mð 	:ð 	:ˆDØ�xÐÐØ˜D”>×.Ò.Ñ0Ô0ð 5Ø (¨¤× 2Ò 2Ñ 4Ô 4�C˜‘Iøà# DœM×-Ò-¨jÑ9Ô9��D‘	�	ð	:õ 
�D”M¥3Ñ	'Ô	'ð 
ØŒ=˜HÐ$Ð$Ø˜œÔ&×3Ò3Ñ5Ô5ð Ø˜tœ}Ô-×1Ò1Ñ3Ô3��å�åˆNåØPÀÄÐPÐPñ
ô 
ð 	
ð
 ð ˜œÐ0Ø�kŠk˜#ÑÔˆð ÐØ,/ˆ�DÔ(Ñ)à€Jrc   r  r  r  c                ó   — t          | d¬¦  «        }|                     d                     d„ |D ¦   «         ¦  «        ¦  «         |                     ¦   «         }|dd…         › d|dd…         › d|dd	…         › d|d	d
…         › d|d
d…         › �	S )zAGenerate a UUID from the SHA-1 hash of a namespace and str parts.F)Úusedforsecurityrc   c              3  ól   K  — | ]/}t          |t          ¦  «        r|                     ¦   «         n|V — Œ0d S r]   ©r¹   rd   rP  ©r“   Úps     ra   r˜   z_uuid5_str.<locals>.<genexpr>w  s=   è è € ÐOÐOÀA¥j°µCÑ&8Ô&8Ð?˜Ÿš™
œ
˜
¸aÐOÐOÐOÐOÐOÐOrc   Né   r  é   é   é   é    )r   r»   ÚjoinÚ	hexdigest)r  r  ÚshaÚhexs       ra   rJ  rJ  s  s¤   € õ ˆy¨%Ð
0Ñ
0Ô
0€CØ‡J‚Jˆs�xŠxÐOÐOÈÐOÑOÔOÑOÔOÑPÔPÐPØ
�-Š-‰/Œ/€CØ�"�1�"ŒgÐJÐJ˜˜A˜b˜Dœ	ÐJÐJ C¨¨2¨¤JÐJÐJ°°R¸°U´ÐJÐJ¸cÀ"ÀRÀ%¼jÐJÐJÐJrc   c                óÐ   — t          | d                     d„ |D ¦   «         ¦  «        z   ¦  «        }|dd…         › d|dd…         › d|dd…         › d|dd…         › d|dd	…         › �	S )
z@Generate a UUID from the XXH3 hash of a namespace and str parts.rc   c              3  ól   K  — | ]/}t          |t          ¦  «        r|                     ¦   «         n|V — Œ0d S r]   r¯  r°  s     ra   r˜   z_xxhash_str.<locals>.<genexpr>  s=   è è € ÐTÐTÈ­:°a½Ñ+=Ô+=ÐD˜QŸXšX™ZœZ˜ZÀ1ÐTÐTÐTÐTÐTÐTrc   Nr²  r  r³  r´  rµ  r¶  )r   r·  )r  r  rº  s      ra   rI  rI  |  sŠ   € å
Ø�C—H’HÐTÐTÈeÐTÑTÔTÑTÔTÑTñô €Cð �"�1�"ŒgÐJÐJ˜˜A˜b˜Dœ	ÐJÐJ C¨¨2¨¤JÐJÐJ°°R¸°U´ÐJÐJ¸cÀ"ÀRÀ%¼jÐJÐJÐJrc   Útupústr | int | tuplec                óÎ   — t          | t          t          f¦  «        r"dd                     d„ | D ¦   «         ¦  «        › �n't          | t          ¦  «        r| d›nt          | ¦  «        S )z2Generate a string representation of the task path.ú~z, c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r]   )rÒ   )r“   Úxs     ra   r˜   z task_path_str.<locals>.<genexpr>‡  s*   è è € Ð4Ð4¨1•m AÑ&Ô&Ð4Ð4Ð4Ð4Ð4Ð4rc   Ú010d)r¹   rL  r¸   r·  rÆ   rd   )r½  s    ra   rÒ   rÒ   „  sm   € õ �c�E¥4˜=Ñ)Ô)ð	Ð6ˆD�IŠIÐ4Ð4°Ð4Ñ4Ô4Ñ4Ô4Ð6Ð6Ð6õ �c�3ÑÔð�ˆ]ˆ]ˆ]å�‰XŒXðrc   c                  ó.   — e Zd ZU dZded<   d
d„Zdd„Zd	S )r¤  ©Ú_counterzCallable[[], int] | NonerÆ  rZ   rƒ   c                ó   — d | _         d S r]   rÅ  r_   s    ra   r…   zLazyAtomicCounter.__init__—  s   € ØˆŒˆˆrc   rÆ   c                óÀ   — | j         €Dt          5  | j         €t          j        d¦  «        j        | _         d d d ¦  «         n# 1 swxY w Y   |                       ¦   «         S )Nr   )rÆ  ÚLAZY_ATOMIC_COUNTER_LOCKÚ	itertoolsÚcountÚ__next__r_   s    ra   r!  zLazyAtomicCounter.__call__š  s¢   € ØŒ=Ð Ý)ð @ð @Ø”=Ð(Ý$-¤O°AÑ$6Ô$6Ô$?�D”Mð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð �}Š}‰ŒÐs   �&AÁAÁAN)rZ   rƒ   )rZ   rÆ   )rm   rn   ro   r†   rt   r…   r!  r^   rc   ra   r¤  r¤  ’  sO   € € € € € € Ø€Ià&Ð&Ð&Ñ&ðð ð ð ðð ð ð ð ð rc   r¤  r„  rT   c                ó¾   ‡— t          | j        t          ¦  «        s| S ˆfd„| j                             ¦   «         D ¦   «         }t	          | j        || j        ¬¦  «        S )a  Pop any values belonging to UntrackedValue channels in Send.arg for safe checkpointing.

    Send is often called with state to be passed to the dest node, which may contain
    UntrackedValues at the top level. Send is not typed and arg may be a nested dict.c                ól   •— i | ]0\  }}t          ‰                     |¦  «        t          ¦  «        °-||“Œ1S r^   )r¹   r’   rA   )r“   r´   r¿   r©   s      €ra   r·   z5sanitize_untracked_values_in_send.<locals>.<dictcomp>¯  sI   ø€ ð ð ð áˆAˆqÝ˜(Ÿ,š, q™/œ/­>Ñ:Ô:ðØ	ˆ1ðð ð rc   )rU  r‚  r}   )r¹   r‚  Údictr¤   rT   rU  r}   )r„  r©   Úsanitized_args    ` ra   Ú!sanitize_untracked_values_in_sendrÑ  ¢  so   ø€ õ �f”j¥$Ñ'Ô'ð àˆðð ð ð à”J×$Ò$Ñ&Ô&ðñ ô €Mõ
 �V”[ m¸V¼^ÐLÑLÔLÐLrc   )r‡   r   rˆ   r‰   rŠ   r‹   rZ   rŒ   r£  )r¨   r<   r©   rª   r«   rD   r�   rY   r¬   r­   r®   r¯   rZ   r°   )rÃ   rÄ   rÅ   rƒ   rZ   rÆ   )r‡   r   r©   rª   rŠ   rÊ   rË   rÌ   rÍ   rÎ   rZ   rÏ   )"r‡   r   rï   rð   rñ   rò   r©   rª   r«   rD   rœ   r   ró   rÆ   rô   rÆ   rõ   rö   rì   r÷   rí   r÷   rî   r÷   rÍ   rø   ré   rù   rz   rú   r{   r÷   rZ   rû   )"r‡   r   rï   rð   rñ   rò   r©   rª   r«   rD   rœ   r   ró   rÆ   rô   rÆ   rõ   rÿ   rì   r   rí   r  rî   r  rÍ   rø   ré   rù   rz   rú   r{   r€   rZ   r  )"r‡   r   rï   rð   rñ   rò   r©   rª   r«   rD   rœ   r   ró   rÆ   rô   rÆ   rõ   r¯   rì   r   rí   r  rî   r  rÍ   rø   ré   rù   rz   rú   r{   r€   rZ   r  )(r#  r$  r%  r&  r‡   r   r
  r  r  r'  rï   rð   rñ   rò   r©   rª   r«   rD   rœ   r   ró   rÆ   rô   rÆ   rõ   r¯   rì   r   rí   r  rî   r  r  r(  r{   r€   rz   rú   rZ   r)  )rd  r   rZ   re  )rï   rð   rZ   rh  )rï   rð   r<  rd   rZ   rl  )rï   rð   r<  rd   rZ   r&  )&r#  rt  r%  r&  r‡   r   r
  r  rï   rð   r©   rª   r«   rD   rœ   r   ró   rÆ   rô   rÆ   rõ   r¯   rì   r   rí   r  rî   r  r{   r€   rz   rú   r,  rd   r-  r  rZ   ru  )(r#  r~  r%  r&  r‡   r   r
  r  rï   rð   r©   rª   r«   rD   rœ   r   ró   rÆ   rô   rÆ   rõ   r¯   rì   r   rí   r  rî   r  r{   r€   rz   rú   r,  rd   r-  r  rñ   rò   rZ   r  )"r‡  rQ   rˆ  rd   r‰  re  r‡   r   rï   rð   rñ   rò   r©   rª   r«   rD   rœ   r   ró   rÆ   rô   rÆ   rì   r   rí   r  rî   r  r{   r€   rz   rú   rZ   rŠ  )r‡   r   rZ   r'  )r©   rª   r’  r   r—   r“  r–   r   r\  rJ   rZ   r¯   )r•  r–  rï   rð   r<  rd   r—  rd   r˜  r™  ró   rÆ   rô   rÆ   rZ   r<   )r\  rJ   r«   rD   r©   rª   rõ   r¯   r¨   r<   r  r(  rZ   r   r"  )r½  r¾  rZ   rd   )r„  rT   r©   rª   rZ   rT   )“Ú
__future__r   r  rÊ  ÚsysÚ	threadingÚcollectionsr   r   Úcollections.abcr   r   r   r	   r
   Ú	functoolsr   Úhashlibr   Útypingr   r   r   r   r   r   Úlangchain_core.callbacksr   Ú langchain_core.callbacks.managerr   r   Úlangchain_core.runnables.configr   Úlanggraph.checkpoint.baser   r   r   r   r   Úlanggraph.store.baser   Úxxhashr   Úlanggraph._internal._configr   r   Úlanggraph._internal._constantsr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   Úlanggraph._internal._scratchpadr<   Úlanggraph._internal._typingr=   r>   Úlanggraph.channels.baser?   Úlanggraph.channels.topicr@   Ú"langgraph.channels.untracked_valuerA   Úlanggraph.constantsrB   Úlanggraph.errorsrC   Úlanggraph.managed.baserD   Úlanggraph.pregel._callrE   rF   Úlanggraph.pregel._iorG   Úlanggraph.pregel._logrH   Úlanggraph.pregel._readrI   rJ   Úlanggraph.runtimerK   rL   rM   Úlanggraph.typesrN   rO   rP   rQ   rR   rS   rT   rU   ÚGetNextVersionÚversion_inforS  rY   rs   rv   r§   rÂ   rÉ   rë   rþ   rz  r  r  rg  rk  rq  rs  rK  rM  r�  r  rN  rO  rQ  rJ  rI  rÒ   ÚLockrÉ  r¤  rÑ  r^   rc   ra   ú<module>ró     s„  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð /Ð .Ð .Ð .Ð .Ð .Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ :Ð :Ð :Ð :Ð :Ð :ðð ð ð ð ð ð ð ð ð ð ð ð ð ð +Ð *Ð *Ð *Ð *Ð *Ø %Ð %Ð %Ð %Ð %Ð %à CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð< =Ð <Ð <Ð <Ð <Ð <Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø /Ð /Ð /Ð /Ð /Ð /Ø *Ð *Ð *Ð *Ð *Ð *Ø =Ð =Ð =Ð =Ð =Ð =Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ .Ð .Ð .Ð .Ð .Ð .Ø (Ð (Ð (Ð (Ð (Ð (Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ˜1˜t™8 TÐ*¨AÐ-Ô.€ØÔ%¨Ò0Ð ð-ð -ð -ð -ð -�Xñ -ô -ð -ð"ð ð ð ð �zñ ô ð ð ð  ð  ð  ð  ñ  ô  ð  ðFð ð ð ðN ð$ð $ð $ð $ð $ðN5ð 5ð 5ð 5ð
qð qð qð qðh 
ð  Ø"&Ø!Ø;?Ø(,Ø*,Ø"&ð# ð  ð  ð  ð  ñ 
„ð ð* 
ð <@Ø(,Ø*,Ø'+ð#*ð *ð *ð *ð *ñ 
„ð*ð@ #Ø/3Ø?CØ;?Ø(,Ø*,Ø'+ð#y$ð y$ð y$ð y$ð y$ð y$ðx ˆw€ðð ð ð ð �ñ ô ð ð( #Ø/3Ø?CØ:>Ø'+Ø*,ð)m@ð m@ð m@ð m@ð m@ð m@ð`!ð !ð !ð !ðð ð ð ðð ð ð ðð ð ð ð2 #Ø/3Ø?CØ'+Ø*,ð%G@ð G@ð G@ð G@ð G@ð G@ðp #Ø/3Ø?CØ'+Ø*,ð%iFð iFð iFð iFð iFð iFðr #Ø/3Ø?CØ'+Ø*,ð#Jð Jð Jð Jð Jð JðZð ð ð ðð ð ð ð(Að Að Að AðH,ð ,ð ,ð ,ð^Kð Kð Kð KðKð Kð Kð Kðð ð ð ð *˜9œ>Ñ+Ô+Ð ðð ð ð ð ñ ô ð ð Mð Mð Mð Mð Mð Mrc   