Ë
    —V.jŸk  ã            
       ó\  — d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	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 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% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1m2Z2m3Z3 dZ4ddl5m6Z6  e)e7«      Z8dZ9dZ:dZ;dZ<dZ=dZ>dZ? edd«      Z@ e@e>dej‚                  d d «      ZB e@e=d!ej†                  dd«      ZD e@e<d"ejŠ                  d d «      ZF e@e;d#ej†                  dd«      ZG e@e;d$ej�                  d d «      ZIej”                  j–                  ZLejš                  j–                  ZNejž                  j–                  ZPej¢                  ZQej¤                  ZRej¦                  ZSej¨                  ZTejª                  ZUej¬                  ZVej®                  ZW eXeSeUeTh«      ZYg ZZi Z[ ed%d&«      Z\d'„ Z]d(„ Z^d)„ Z_d*„ Z` G d+„ d,«      Zad9d-„Zbddd.ead/d/dejÆ                  e\eYf
d0„Zdd9d1„Zed2„ Zfedfd3„Zgeddfd4„Zhd5„ Zid9d6„Zjefd7„Zkd8„ Zly):z‚Trace task execution.

This module defines how the task execution is traced:
errors are recorded, handlers are applied and so on.
é    N)Ú
namedtuple)Úwarn)ÚExceptionInfoÚExceptionWithTraceback)ÚEncodeError)Úloads)Úprepare_accept_content)Ú	safe_reprÚsafe_str)Úcurrent_appÚgroupÚsignalsÚstates)Ú_task_stack)ÚContext)ÚTask)ÚBackendGetMetaErrorÚIgnoreÚInvalidTaskErrorÚRejectÚRetry)ÚAsyncResult)Ú
get_logger)Úgethostname)Ú
mro_lookup)Úsaferepr)Úget_pickleable_etypeÚget_pickleable_exceptionÚget_pickled_exception)Ú	TraceInfoÚbuild_tracerÚ
trace_taskÚsetup_worker_optimizationsÚreset_worker_optimizations)Úsuccessful_requestszTask %(name)s[%(id)s] receivedzATask %(name)s[%(id)s] succeeded in %(runtime)ss: %(return_value)sz.Task %(name)s[%(id)s] %(description)s: %(exc)sz%Task %(name)s[%(id)s] %(description)szTask %(name)s[%(id)s] %(exc)sz$Task %(name)s[%(id)s] retry: %(exc)sÚlog_policy_t)ÚformatÚdescriptionÚseverityÚ	tracebackÚmailÚrejectedé   ÚignoredzINTERNAL ERRORzraised expectedzraised unexpectedÚ
trace_ok_t)ÚretvalÚinfoÚruntimeÚretstrc                 ó8   — t         j                  | |d|i¬«       y)zzLog 'fmt % context' with severity 'INFO'.

    'context' is also passed in extra with key 'data' for custom handlers.
    Údata)ÚextraN)Úloggerr1   )ÚfmtÚcontexts     úRC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\celery/app/trace.pyr1   r1   {   s   € ô
 ‡K�K��W V¨WÐ$5€KÕ6ó    c                 óJ   — t        | j                  |t        t        hdg¬«      S )z+Return true if the task overrides ``attr``.zcelery.app.task)ÚstopÚmonkey_patched)r   Ú	__class__ÚBaseTaskÚobject)ÚtaskÚattrs     r:   Útask_has_customrD   ƒ   s$   € ä�d—n‘n d´(¼FÐ1CØ&7Ð%8ô:ð :r;   c                 óÚ   — t        |t        «      rt        S t        |t        «      rt        S |j
                  rt        S | j                  rt        || j                  «      rt        S t        S ©N)
Ú
isinstancer   Úlog_policy_rejectr   Úlog_policy_ignoreÚinternalÚlog_policy_internalÚthrowsÚlog_policy_expectedÚlog_policy_unexpected)rB   ÚeinfoÚexcs      r:   Úget_log_policyrQ   ‰   sO   € Ü�#”vÔÜ Ð Ü	�CœÔ	 Ü Ð Ø	�ŠÜ"Ð"à�;Š;œ: c¨4¯;©;Ô7Ü&Ð&Ü$Ð$r;   c                 ó$   — t        | dd«      xs |S )z8Use 'shadow' in request for the task name if applicable.ÚshadowN)Úgetattr)ÚrequestÚdefaults     r:   Úget_task_namerW   –   s   € ô �7˜H dÓ+Ò6¨wÐ6r;   c                   óH   — e Zd ZdZdZdd„Z	 dd„Zd„ Zd„ Zdd„Z	dd	„Z
d
„ Zy)r    z!Information about task execution.©Ústater0   Nc                 ó    — || _         || _        y rF   rY   )ÚselfrZ   r0   s      r:   Ú__init__zTraceInfo.__init__¢   s   € ØˆŒ
Øˆ�r;   c                 óÎ   — |j                   r|j                  }n|r|j                  rd}n| }	 t        | j                  t
        | j                  i| j                     ||||¬«      S )NT)Ústore_errorsÚcall_errbacks)Úignore_resultÚstore_errors_even_if_ignoredÚstore_eager_resultÚRETRYÚhandle_retryÚFAILUREÚhandle_failurerZ   )r\   rB   ÚreqÚeagerr`   r_   s         r:   Úhandle_error_statezTraceInfo.handle_error_state¦   sr   € à×ÒØ×<Ñ<‰LÙ�t×.Ò.Ø‰Là$˜9ˆLðÜ�4×$Ñ$Ü�T×(Ñ(ð
ð �*‰*ñð ˜CØ#/Ø$1ô3ð 	3r;   c                 ó:   — | j                  ||t        «       «       y rF   ©Ú
_log_errorr   ©r\   rB   rh   Úkwargss       r:   Úhandle_rejectzTraceInfo.handle_reject¶   ó   € Ø�‰˜˜c¤=£?Õ3r;   c                 ó:   — | j                  ||t        «       «       y rF   rl   rn   s       r:   Úhandle_ignorezTraceInfo.handle_ignore¹   rq   r;   c                 ó.  — t        j                  «       \  }}}	 | j                  }t        |||f«      }	|r=|j                  j                  |j                  |j                  |	j                  |¬«       |j                  |j                  |j                  |j                  |j                  |	«       t        j                  j                  ||||	¬«       t        t         |j                  t#        ||j$                  «      t'        |«      dœ«       |	~S # ~w xY w)zHandle retry exception.©rU   )ÚsenderrU   ÚreasonrO   )ÚidÚnamerP   )ÚsysÚexc_infor0   r   ÚbackendÚmark_as_retryrx   rP   r*   Úon_retryÚargsro   r   Ú
task_retryÚsendr1   Ú	LOG_RETRYrW   ry   Ústr)
r\   rB   rh   r_   ro   Útype_Ú_Útbrw   rO   s
             r:   re   zTraceInfo.handle_retry¼   sã   € ô —|‘|“~‰ˆˆq�"ð	Ø—[‘[ˆFÜ! 5¨&°"Ð"5Ó6ˆEÙØ—‘×*Ñ*Ø—F‘F˜FŸJ™J¨¯©Àð +ô ð �M‰M˜&Ÿ*™* c§f¡f¨c¯h©h¸¿
¹
ÀEÔJÜ×Ñ×#Ñ#¨4¸Ø+1¸ð $ô @ä”Ø—f‘fÜ% c¨4¯9©9Ó5Ü˜6“{ñô ð
 áø‘ús   šC5D ÄDc           	      ór  — | j                   }t        |«      }|j                  €t        j                  «       \  }}|_        t        t        |«      «      }t        |||j                  f¬«      }	|j                  j                  |j                  ||	j                  |||¬«       |j                  ||j                  |j                  |j                  |	«       t        j                   j#                  ||j                  ||j                  |j                  |j                  |	¬«       | j%                  |||	«       |	S )zHandle exception.©r{   )rU   Ústore_resultr`   )rv   Útask_idÚ	exceptionr   ro   r*   rO   )r0   r   Ú__traceback__rz   r{   r   Útyper   r|   Úmark_as_failurerx   r*   Ú
on_failurer   ro   r   Útask_failurer�   rm   )
r\   rB   rh   r_   r`   Úorig_excrP   r…   Úexc_typerO   s
             r:   rg   zTraceInfo.handle_failureÔ   s  € à—;‘;ˆä& xÓ0ˆØ×ÑÐ$ô '*§l¡l£nÑ#ˆAˆq�#Ô#ä'¬¨X«Ó7ˆô ¨°#°s×7HÑ7HÐ'IÔJˆà�‰×$Ñ$Ø�F‰F�C˜Ÿ™Ø lØ'ð 	%ô 	
ð 	�‰˜˜SŸV™V S§X¡X¨s¯z©z¸5ÔAÜ×Ñ×!Ñ!¨°s·v±vØ,/°c·h±hØ),¯©Ø,/×,=Ñ,=Ø(-ð	 	"ô 	/ð
 	�‰˜˜c 5Ô)Øˆr;   c           
      óÂ  — t        |j                  «      x}|_        t        |t        «      r|j                  x}|_        t        |«      t        |j                  «      |j                  |j                  d«      xs t        |j                  «      |j                  d«      xs t        |j                  «      f\  }}}}}	t        |||«      }
|j                  |j                  t        ||j                   «      ||||	|
j"                  |j$                  dœ	}t&        j)                  |
j*                  |
j,                  j/                  «       ||
j                  r|nd d|i¬«       y )NÚargsreprÚ
kwargsrepr)	Úhostnamerx   ry   rP   r*   r   ro   r(   rJ   r5   )r{   r6   )r   r‹   rG   r   rP   r
   r   r*   r{   Úgetr   ro   rQ   r–   rx   rW   ry   r(   rJ   r7   Úlogr)   r'   Ústrip)r\   rB   rh   rO   Úeobjr‹   r*   r{   ÚsargsÚskwargsÚpolicyr9   s               r:   rm   zTraceInfo._log_errorò   s"  € Ü!6°u·±Ó!GÐGˆˆuŒÜ�dÔ2Ô3Ø%)§X¡XÐ-ˆD�5”?ä�d‹OÜ�U—_‘_Ó%Ø�N‰NØ�G‰G�JÓÒ6¤9¨S¯X©XÓ#6Ø�G‰G�LÓ!Ò:¤Y¨s¯z©zÓ%:ð:
Ñ6ˆ	�9˜h¨¨wô    e¨TÓ2ˆð Ÿ™Ø—&‘&Ü! # t§y¡yÓ1ØØ"ØØØ!×-Ñ-ØŸ™ñ

ˆô 	�
‰
�6—?‘? F§M¡M×$7Ñ$7Ó$9¸7Ø(.×(8Ò(8™H¸dØ  'Ð*ð 	õ 	,r;   rF   )FT)T)TT)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r]   rj   rp   rs   re   rg   rm   © r;   r:   r    r    �   s2   „ Ù+à#€Ióð
 7;ó3ò 4ò4óó0ó<,r;   r    c                 óD  — d }| �2t        | d«      r| j                  }n1t        j                  «       \  }}}nt        j                  «       \  }}}|�A	 |j                  j                  «        |j                  j                   |j                  }|�Œ@y y # t        $ r Y Œw xY w)NrŒ   )	ÚhasattrrŒ   rz   r{   Útb_frameÚclearÚf_localsÚRuntimeErrorÚtb_next)rP   r†   r…   s      r:   Útraceback_clearr«     s’   € ð 
€BØ
€Ü�3˜Ô(Ø×"Ñ"‰Bä—|‘|“~‰HˆAˆq‘"ä—<‘<“>‰ˆˆ1ˆbà
ˆ.ð	Ø�K‰K×ÑÔØ�K‰K× Ò ð �Z‰Zˆð ‹.øô ò 	áð	ús   Á0B Â	BÂBTFc                  ó  ‡ ‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ ‡!‡"‡#‡$‡%— t        ‰d«      r‰n‰j                  Š|xs ‰j                  }‰j                  }‰j                  Š%‰ xr ‰j                  xr | Š%‰r|s‰j
                  rdŠn‰ xr | Š‰j                  j                  xs ‰j                  xr. ‰j                  j                  xr ‰j                  j                  Š‰xs
 t        «       Š‰j                  j                  Š|j                  Š|j                  ŠdŠ#dŠ$dŠ"t        ‰d«      r‰j                   Š#t        ‰d«      r‰j"                  Š$t        ‰d«      r‰j$                  Š"t'        j(                  «       Š‰j*                  }|j,                  Š|j.                  Št0        j,                  Št0        j.                  Št2        j5                  t6        j8                  «      Š‰j:                  Št<        j>                  j@                  Št<        jB                  j@                  Št<        jD                  j@                  Š!ddl#m$} |jJ                  Š tL        dfˆˆˆˆfd	„	Šdˆˆˆˆˆˆˆˆˆˆˆˆ	ˆ ˆˆˆˆˆˆˆˆˆˆˆ ˆ!ˆˆ"ˆ#ˆ$ˆ
ˆ%fd
„	}|S )a=  Return a function that traces task execution.

    Catches all exceptions and updates result backend with the
    state and result.

    If the call was successful, it saves the result to the task result
    backend, and sets the task status to `"SUCCESS"`.

    If the call raises :exc:`~@Retry`, it extracts
    the original exception, uses that as the result and sets the task state
    to `"RETRY"`.

    If the call results in an exception, it saves the exception as the task
    result, and sets the task state to `"FAILURE"`.

    Return a function that takes the following arguments:

        :param uuid: The id of the task.
        :param args: List of positional args to pass on to the function.
        :param kwargs: Keyword arguments mapping to pass on to the function.
        :keyword request: Request dict.

    Ú__call__TNÚbefore_startÚ
on_successÚafter_returnr   )Úcanvasc                 óz   •— ‰r‚  ‰||«      }|j                  ‰	| ‰|¬«      }|||j                  |j                  fS )N)ri   r`   )rj   rZ   r0   )
rU   rP   rZ   r`   ÚIÚRÚInfori   Ú	propagaterB   s
         €€€€r:   Úon_errorzbuild_tracer.<locals>.on_errory  sL   ø€ ÙØÙ�˜ÓˆØ× Ñ Ø�' °mð !ó 
ˆð �!�Q—W‘W˜aŸh™hÐ&Ð&r;   c                 ó„  •— d x}x}x}x}x}}	d }
 ‰$«       }	 	 |j                    t        |xs i |d|¬«      }
|
j                  xr |
j                  j                  dd«      }‰r|r}|
j                  t        v r ‰6||||«      S t        |
j                  ‰¬«      }	 |j                  }	|	t        k(  r3t        t        |
j                  t        |
‰%«      ddœ«        ‰6||||«      S  ‰.‰2«       |
j                  xs | }‰!r|
j                  j                  d«      nd } ‰-|
«       	 ‰+rt!        ‰2| ‰2||¬	«        ‰#| ‰2«       ‰7r&‰2j"                  j%                  | ‰'‰ d
œt&        |
¬«       	 ‰4r
 ‰4| ||«        ‰|i |¤Žx}}t        }		 ‰2j(                  j*                  }|rÌt-        ‰2j(                  j*                  «      dkD  r‰g g }}|D ]?  } ‰0|‰¬«      }t/        |t0        «      r|j3                  |«       Œ/|j3                  |«       ŒA |D ]  }|j5                  |f| ||¬«       Œ |rCt1        |‰¬«      j5                  |f| ||¬«       n! ‰0|d   ‰¬«      j5                  |f| ||¬«       |
j6                  }|r/ ‰0|j9                  «       ‰¬«      }|j5                  |f|| ||¬«       ‰2j"                  j;                  | ||
‰,«       t=        |‰/«      } ‰$«       |z
  }‰5r ‰5|| ||«       ‰1rt?        ‰2|¬«       ‰rZt        t@        | t        |
‰%«      |||
j                  d«      xs tC        |«      |
j                  d«      xs tC        |«      dœ«       	 |	‰vr‰3r ‰3|	|| ||d «       	 ‰*rta        ‰2| ‰2||||	¬«        ‰)«         ‰(«        ‰s"	 ‰2j"                  jc                  «         ‰"«         ‰6||||«      S # t        $ r t        d«      ‚w xY w# t        $ r Y �Œ÷w xY w# tD        $ r} ‰&|
|«      \  }}}	}Y d }~Œ©d }~ww xY w# tF        $ rY} ‰tH        |«      tK        d¬«      }}|j                  |jL                  }}	|jO                  ‰2|
«       tQ        |«       Y d }~�Œd }~wtR        $ rY} ‰tT        |«      tK        d¬«      }}|j                  |jL                  }}	|jW                  ‰2|
«       tQ        |«       Y d }~�Œnd }~wtX        $ r+} ‰&|
|tZ        d¬«      \  }}}	}tQ        |«       Y d }~�Œ d }~wt\        $ r$} ‰&|
|«      \  }}}	}tQ        |«       Y d }~�ŒËd }~wt^        $ r ‚ w xY w# td        tf        th        f$ r ‚ t\        $ r#}tj        jm                  d|d¬«       Y d }~�Œ½d }~ww xY w#  ‰)«         ‰(«        ‰se	 ‰2j"                  jc                  «         ‰"«        w # td        tf        th        f$ r ‚ t\        $ r"}tj        jm                  d|d¬«       Y d }~w d }~ww xY ww xY w# 	 ‰*rta        ‰2| ‰2||||	¬«        ‰)«         ‰(«        ‰se	 ‰2j"                  jc                  «         ‰"«        w # td        tf        th        f$ r ‚ t\        $ r"}tj        jm                  d|d¬«       Y d }~w d }~ww xY ww #  ‰)«         ‰(«        ‰se	 ‰2j"                  jc                  «         ‰"«        w # td        tf        th        f$ r ‚ t\        $ r"}tj        jm                  d|d¬«       Y d }~w d }~ww xY ww xY wxY w# th        $ r ‚ t\        $ r:}to        ‰2| ||||«       ‰r‚ tq        ‰2|«      }|
� ‰&|
|«      \  }}}}Y d }~�Œ�d }~ww xY w)Nz'Task keyword arguments is not a mappingF)r   Úcalled_directlyro   Úredelivered©Úappz$Task already completed successfully.)rx   ry   r(   Úpriority)rv   rŠ   rB   r   ro   )Úpidr–   ru   r-   )Ú	parent_idÚroot_idr½   r   )Úchainr¿   rÀ   r½   )rv   Úresultr”   r•   )rx   ry   Úreturn_valuer2   r   ro   T©rJ   )r`   )rv   rŠ   rB   r   ro   r0   rZ   zProcess cleanup failed: %rrˆ   )9ÚitemsÚAttributeErrorr   r   Údelivery_infor—   rx   r%   r   rZ   ÚSUCCESSr1   ÚLOG_IGNOREDrW   r   rÀ   Úsend_prerunr|   r‰   ÚSTARTEDrU   Ú	callbacksÚlenrG   r   ÚappendÚapply_asyncrÁ   ÚpopÚmark_as_doner   Úsend_successÚLOG_SUCCESSr
   r   r   ÚREJECTEDr   r0   rp   r«   r   ÚIGNOREDrs   r   rd   Ú	ExceptionÚBaseExceptionÚsend_postrunÚprocess_cleanupÚKeyboardInterruptÚ
SystemExitÚMemoryErrorr7   ÚerrorÚ_signal_internal_errorÚreport_internal_error)8Úuuidr   ro   rU   r´   r³   ÚTÚRstrr0   rZ   Útask_requestÚ
time_startrº   ÚrrÀ   Útask_priorityrÌ   ÚsigsÚgroupsÚsigÚgroup_rÁ   Ú_chsigrP   r…   ÚIGNORE_STATESrµ   Ú
_does_infor¼   Údeduplicate_successful_tasksri   Úfunr–   Úinherit_parent_priorityÚloader_cleanupÚloader_task_initÚ	monotonicry   r·   r¾   Úpop_requestÚpop_taskÚpostrun_receiversÚprerun_receiversÚpublish_resultÚpush_requestÚ	push_taskÚresultrepr_maxsizeÚ	signatureÚsuccess_receiversrB   Útask_after_returnÚtask_before_startÚtask_on_successr/   Útrack_starteds8                            €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€r:   r"   z build_tracer.<locals>.trace_task‚  s—  ø€ ð -1Ð0ˆÐ0ˆAÐ0�Ð0�DÐ0˜6 EØˆÙ“[ˆ
ðm	9ð?Ø—’ô
 # 7¢=¨b°tØ38ÀôIˆLð (×5Ñ5ò TØ+×9Ñ9×=Ñ=¸mÈUÓSð á+±Ø—?‘?Ô&9Ñ9Ù% a¨¨A¨tÓ4Ð4Ü §¡°SÔ9�ð9ØŸG™G�Eð ¤Ò'Üœ[Ø".§/¡/Ü$1°,ÀÓ$EØ+Qñ+ô ñ
  *¨!¨Q°°4Ó8Ð8á�dŒOØ"×*Ñ*Ò2¨dˆGá'ð )×6Ñ6×:Ñ:¸:ÔFØ-1ð á˜Ô&ðA8á#Ü t°TÀØ%)°&õ:á   tÔ,Ù Ø—L‘L×-Ñ-Ø c°xÑ@Ä'Ø ,ð .ô ð[Ù(Ù)¨$°°fÔ=á!$ dÐ!5¨fÑ!5Ð5�A˜Ü#�Eð*Að %)§L¡L×$:Ñ$:˜	Ù$Ü" 4§<¡<×#9Ñ#9Ó:¸QÒ>Ø/1°2 f Û+4 CÙ*3°C¸SÔ*A CÜ'1°#´uÔ'=Ø(.¯©°cÕ(:à(,¯©°CÕ(8ð ,5ó /5 FØ$*×$6Ñ$6Ø)/¨	Ø26ÀØ1>ð %7õ %&ð /5ñ $(Ü$)¨$°CÔ$8×$DÑ$DØ)/¨	Ø26ÀØ1>ð %Eõ %&ñ !*¨)°A©,¸CÔ @× LÑ LØ%+ I¸ÀwØ-:ð !Mô !"ð !-× 2Ñ 2˜Ù Ù%.¨u¯y©y«{ÀÔ%D˜FØ"×.Ñ.Ø!' 	°Ø*.¸Ø)6ð /ô ð
 Ÿ™×1Ñ1Ø  &¨,¸ôô  (¨Ð+=Ó>˜Ù%›K¨*Ñ4˜Ù*Ù+¨F°D¸$ÀÔGÙ,Ü(°¸VÕDÙ%Ü ¤Ø&*Ü(5°lÀDÓ(IØ04Ø+,Ø(4×(8Ñ(8¸Ó(DÒ(WÌ	ÐRVËØ*6×*:Ñ*:¸<Ó*HÒ*]ÌIÐV\ÓL]ñ/õ ð  Ñ-Ù(Ù)Ø! 6¨4°°v¸tôð8Ù(Ü$¨D¸$ÀTØ*.°vØ,2¸%õAñ ”JÙ”MÙ ð8Ø ŸL™L×8Ñ8Ô:Ù*Ô,ñ ˜!˜Q  4Ó(Ð(øôW "ò ?Ü&Ø=ó?ð ?ð?ûô  +ò ÚðûôN 'ò JÙ.6°|ÀSÓ.IÑ+˜˜1˜e¥VûðJûôI ò )Ù¤¨#Ó.´ÀtÔ0L�q�AØ$%§G¡G¨Q¯X©X˜6�EØ—O‘O D¨,Ô7Ü# C×(Ò(ûÜò )Ù¤¨Ó-¬}ÀdÔ/K�q�AØ$%§G¡G¨Q¯X©X˜6�EØ—O‘O D¨,Ô7Ü# C×(Ò(ûÜò )Ù*2Ø$ c¬5Àô+GÑ'�A�q˜% ä# C×(Ò(ûÜ ò )Ù*2°<ÀÓ*EÑ'�A�q˜% Ü# C×(Ò(ûÜ$ò Øðûôr !2´:¼{ÐKò "Ø!Ü(ò 8Ü"ŸL™LÐ)EÀsØ26ð )÷ 8ò 8ûð8ûñ ”JÙ”MÙ ð8Ø ŸL™L×8Ñ8Ô:Ù*Õ,øÜ 1´:¼{ÐKò "Ø!Ü(ò 8Ü"ŸL™LÐ)EÀsØ26ð )÷ 8ñ 8ûð8úð !ûð8Ù(Ü$¨D¸$ÀTØ*.°vØ,2¸%õAñ ”JÙ”MÙ ð8Ø ŸL™L×8Ñ8Ô:Ù*Õ,øÜ 1´:¼{ÐKò "Ø!Ü(ò 8Ü"ŸL™LÐ)EÀsØ26ð )÷ 8ñ 8ûð8úð !øñ ”JÙ”MÙ ð8Ø ŸL™L×8Ñ8Ô:Ù*Õ,øÜ 1´:¼{ÐKò "Ø!Ü(ò 8Ü"ŸL™LÐ)EÀsØ26ð )÷ 8ñ 8ûð8úð !þô ò 	ØÜò 	9Ü" 4¨¨t°V¸WÀcÔJÙØÜ% d¨CÓ0ˆAØÐ'Ù% l°CÓ8‘
��1�a˜ÿùð	9úsÆ  ™N6 ¥A[3 Â[3 ÂO Â';[3 Ã#?[3 Ä#AW* Å'P ÆD?O ËB!W* Í%U0 Í9[3 Î
!T- Î6OÏ[3 Ï	OÏ[3 ÏOÏ[3 Ï	O?Ï'O:Ï5W* Ï:O?Ï?W* Ð	T*ÐAQÑW* ÑT*Ñ+AR?Ò9W* Ò?T*Ó S1Ó+W* Ó1T*Ó=TÔW* ÔT*Ô*W* Ô-U-Õ
U(Õ"[3 Õ(U-Õ-[3 Õ0W'Ö!V$Ö#W'Ö$W#×W×W'×W#×#W'×'[3 ×*[0×,Y6Ø [0Ø!X3Ø2[0Ø3Y2ÙY-Ù([0Ù-Y2Ù2[0Ù6[-Ú!Z*Ú)[-Ú*[)Û[$Û[-Û$[)Û)[-Û-[0Û0[3 Û3\?Ü/\:Ü:\?rF   )'rD   ÚrunÚloaderra   r  rc   ÚconfÚtask_acks_lateÚ	acks_lateÚ#worker_deduplicate_successful_tasksr|   Ú
persistentr   Útask_inherit_parent_priorityÚon_task_initÚon_process_cleanupr®   r¯   r°   ÚosÚgetpidÚrequest_stackÚpushrÐ   r   r7   ÚisEnabledForÚloggingÚINFOrû   r   Útask_prerunÚ	receiversÚtask_postrunÚtask_successÚceleryr±   Úmaybe_signaturerf   )&ry   rB   r  r–   r_   rµ   ri   r¶   r¼   ró   r/   rì   ra   r  r±   r"   rí   rî   rï   rð   rñ   rò   r·   r¾   rô   rõ   rö   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  s&   `` ` ```````    @@@@@@@@@@@@@@@@@@@@@@r:   r!   r!   &  s  ÿÿÿÿ€ ôB " $¨
Ô3‰$¸¿¹€CàÒ!�s—z‘z€FØ×&Ñ&€MØ×&Ñ&€MØ�IÒL 4×#5Ñ#5Ò#K¸mÐ:K€Mñ ‘] t×'>Ò'>Ø‰à"˜Ò8¨=Ð'8ˆà%(§X¡X×%<Ñ%<Ò%NÀÇÁò %?Ø(+¯©×(TÑ(Tò%?à(+¯©×(>Ñ(>ð !ð Ò(œ;›=€HØ!Ÿh™h×CÑCÐà×*Ñ*ÐØ×.Ñ.€NàÐØ€OØÐÜ�t˜^Ô,Ø ×-Ñ-ÐÜ�t˜\Ô*ØŸ/™/ˆÜ�t˜^Ô,Ø ×-Ñ-Ðä
�)‰)‹+€Cà×&Ñ&€MØ ×%Ñ%€LØ×#Ñ#€KÜ× Ñ €IÜ�‰€HÜ×$Ñ$¤W§\¡\Ó2€JØ×0Ñ0Ðä×*Ñ*×4Ñ4ÐÜ×,Ñ,×6Ñ6ÐÜ×,Ñ,×6Ñ6ÐåØ×&Ñ&€Iä%,¸D÷ 'ð '÷})÷ })÷ })÷ })ó })ð~ Ðr;   c           	      ó   — |si n|}	 | j                   €t        | j                  | fi |¤Ž| _         | j                  ||||«      S # t        $ r@}t	        | |||||«       t        t        | |«      t        t        |«      dd«      cY d}~S d}~ww xY w)zTrace task execution.Ng        )	Ú	__trace__r!   ry   rÖ   rÞ   r/   rß   r    rf   )rB   rà   r   ro   rU   ÚoptsrP   s          r:   r"   r"   D  s�   € á‰b W€Gð`Ø�>‰>Ð!Ü)¨$¯)©)°TÑB¸TÑBˆDŒNØ�~‰~˜d D¨&°'Ó:Ð:øÜò `Ü˜t T¨4°¸À#ÔFÜÔ/°°cÓ:¼IÄgÈsÓ<SÐUXÐZ^Ó_Õ_ûð`ús   ˆ;A Á	BÁ5BÂBÂBc           
      ó  — 	 t        j                  «       \  }}}t        «       }t        |j                  «      |_        t        |j                  «      |_        t        j                  j                  | |||||||¬«       ~y# ~w xY w)zJSend a special `internal_error` signal to the app for outside body errors.)rv   rŠ   r   ro   rU   r‹   r*   rO   N)
rz   r{   r   r   r‹   r   r�   r   Útask_internal_errorr�   )	rB   rà   r   ro   rU   rP   r…   r†   rO   s	            r:   rÞ   rÞ   P  sy   € ðÜ—<‘<“>‰ˆˆ1ˆbÜ“ˆÜ2°5·?±?ÓCˆŒÜ)¨%¯*©*Ó5ˆŒ
Ü×#Ñ#×(Ñ(ØØØØØØØØð 	)ô 		
ñ ø‰Bús   ‚A=B ÂBc                 óP  — |xs t        j                  «       }d }	|r0t        |j                  j                  «      }
 |||||
¬«      \  }}}	n|\  }}}	t        «       } |j                  |||ddœfi |	xs i ¤Ž t        |j                  |    |||||¬«      \  }}}}|rd||fS d||fS )N©ÚacceptF©r   ro   r–   Úis_eagerr»   r-   r   )	r   Ú_get_current_objectr	   r  Úaccept_contentr   Úupdater"   Útasks)ry   rà   rU   ÚbodyÚcontent_typeÚcontent_encodingr   r¼   Úextra_requestÚembedr   r   ro   r–   r´   r³   rá   râ   s                     r:   Útrace_task_retr,  e  sÑ   € ð Ò
2”×0Ñ0Ó2€CØ€EÙÜ'¨¯©×(?Ñ(?Ó@ˆÙ#Ø�,Ð 0¸ô
Ñˆˆf‘eð #Ñˆˆf�eÜ‹}€HØ€G‡N�NØ Ø¨%ññ ð 
Š�"òô ˜sŸy™y¨™Ø# T¨6°7ÀôE�M€A€qˆ!ˆTáˆAˆq�!ˆ9Ð+  4¨˜|Ð+r;   c	                 óà   — |st         n|}d }
|\  }}}|r |||||¬«      \  }}}
n|\  }}}
 |j                  |||ddœfi |
xs i ¤Ž ||    j                  ||||«      \  }}}}|rd||fS d||fS )Nr  Fr!  r-   r   )Ú
_localizedr%  r  )rB   rà   rU   r'  r(  r)  r   Ú_locr–   r…   r+  r&  r   r   ro   r´   r³   rá   râ   s                      r:   Úfast_trace_taskr0  {  s·   € ñ "�: t€DØ€EØ"Ñ€Eˆ6�8ÙÙ#Ø�,Ð 0¸ô
Ñˆˆf‘eð #Ñˆˆf�eØ€G‡N�NØ Ø¨%ññ ð 
Š�"òð ˜$‘K×)Ñ)Øˆd�F˜Gó�M€A€qˆ!ˆTñ ˆAˆq�!ˆ9Ð+  4¨˜|Ð+r;   c                 óú   — t        j                  «       \  }}}	 | j                  j                  |d«      }t	        |||fd¬«      }t        t        dj                  ||j                  «      «      «       |~S # ~w xY w)NÚpickleTrÄ   z'Exception raised outside body: {!r}:
{})	rz   r{   r|   Úprepare_exceptionr   r   ÚRuntimeWarningr'   r*   )rB   rP   Ú_typeÚ_valueÚ_tbr{   s         r:   rß   rß   ‘  sv   € ÜŸ™›Ñ€Eˆ6�3ðØ—‘×/Ñ/°°XÓ>ˆÜ  %¨°Ð!5ÀÔEˆÜŒ^Ø6×=Ñ=Ø�X×'Ñ'ó)ó*ô 	+ð áø‰Cús   šAA7 Á7A:c                 ó  — |xs
 t        «       }t        «        | j                  «        | j                  «        | j	                  «        | j
                  t        | j                  j                  «      |gt        dd d| _
        y)z#Setup worker related optimizations.NT)r   Ú_install_stack_protectionÚset_currentÚset_defaultÚfinalizeÚ_tasksr	   r  r$  r.  Úuse_fast_trace_task)r¼   r–   s     r:   r#   r#   ž  sj   € àÒ(œ;›=€Hô Ôð ‡O�OÔØ‡O�OÔð ‡L�L„Nð 	�
‰
Ü˜sŸx™x×6Ñ6Ó7Øð„J‰q€Mð #€CÕr;   c                 ó¼   — 	 t        t        d«       	 t        j	                  d«      t        _        d| _        y# t        $ r Y Œ2w xY w# t        $ r
 Y d| _        yw xY w)z*Reset previously configured optimizations.Ú_stackprotectedúBaseTask.__call__FN)Údelattrr@   rÆ   Ú_patchedrÐ   r­   ÚKeyErrorr>  r»   s    r:   r$   r$   ¼  sb   € ðÜ”Ð+Ô,ðÜ$ŸL™LÐ)<Ó=ŒÔð $€CÕøô ò Ùðûô ò ØØ#€CÕðús    ‚9 “A ¹	AÁAÁ	AÁAc                  ó’   ‡— t        t        dd«      s5t        j                  xt        d<   Šˆfd„} | t        _        dt        _        y y )Nr@  FrA  c                 óÎ   •— | j                   }|j                  }|r?|j                  s3t        |«      dk(  r%|j                  sd|_         | j
                  |i |¤ŽS  ‰| g|¢­i |¤ŽS )Nr-   )r  ÚtopÚ
_protectedrÍ   r¹   r  )r\   r   ro   Ústackrh   Úorigs        €r:   Ú__protected_call__z5_install_stack_protection.<locals>.__protected_call__Ú  se   ø€ Ø×&Ñ&ˆEØ—)‘)ˆCÙ˜3Ÿ>š>Ü˜“J !’O¨C×,?Ò,?Ø!"�”Ø�t—x‘x Ð0¨Ñ0Ð0Ù˜Ð.˜tÒ. vÑ.Ð.r;   T)rT   r@   r­   rC  r@  )rK  rJ  s    @r:   r9  r9  É  sD   ø€ ô ”8Ð.°Ô6Ü/7×/@Ñ/@Ð@ŒÐ$Ñ%¨ô	/ð /ŒÔØ#'ŒÕ ð 7r;   rF   )mr¡   r  r  rz   ÚtimeÚcollectionsr   Úwarningsr   Úbilliard.einfor   r   Úkombu.exceptionsr   Úkombu.serializationr   Úloads_messager	   Úkombu.utils.encodingr
   r   r  r   r   r   r   Úcelery._stater   Úcelery.app.taskr   r   r@   Úcelery.exceptionsr   r   r   r   r   Úcelery.resultr   Úcelery.utils.logr   Úcelery.utils.nodenamesr   Úcelery.utils.objectsr   Úcelery.utils.safereprr   Úcelery.utils.serializationr   r   r   Ú__all__Úcelery.worker.stater%   rž   r7   ÚLOG_RECEIVEDrÓ   ÚLOG_FAILUREÚLOG_INTERNAL_ERRORrÉ   ÚLOG_REJECTEDr‚   r&   ÚWARNrH   r  rI   ÚCRITICALrK   rM   ÚERRORrN   r  r�   rÊ   r  rØ   r  rÒ   rË   rÈ   rÕ   rÔ   rd   rf   ÚEXCEPTION_STATESÚ	frozensetrì   r.  rC  r/   r1   rD   rQ   rW   r    r«   ró   r!   r"   rÞ   r,  r0  rß   r#   r$   r9  r£   r;   r:   Ú<module>rh     sc  ðñó
 Û 	Û 
Û Ý "Ý ç @Ý (Ý 6Ý 6ß 4ç 6Ó 6Ý %Ý #Ý ,ß ZÕ ZÝ %Ý 'Ý .Ý +Ý *ß lÑ lð€õ
 4á	�HÓ	€ð€ð
€ð
€ð
Ð ð
€ð
€ð
€	ñ ØØ>ó€ñ
 ! ¨z¸7¿<¹<ÈÈAÓNÐ Ù  ¨i¸¿¹ÀqÈ!ÓLÐ Ù"ØÐ(¨'×*:Ñ*:¸A¸qóÐ ñ #ØÐ" G§L¡L°!°QóÐ ñ %ØÐ$ g§m¡m°Q¸óÐ ð ×!Ñ!×&Ñ&€Ø×#Ñ#×(Ñ(€Ø×#Ñ#×(Ñ(€Ø
�.‰.€Ø
�.‰.€Ø
�.‰.€Ø�?‰?€Ø�‰€Ø
�.‰.€Ø×*Ñ*Ð Ù˜7 E¨8Ð4Ó5€ð €
Ø€á˜Ð&MÓN€
ò7ò:ò
%ò7÷p,ñ p,ófð, %)°4ÀdØ u¸À4ØŸ>™>°jØ,ó[ó|	`òð, ,9¸dó,ð. -:ÀØ!ó,ò,
ó#ð< $/ó 
$ó(r;   