
    `f>                        d Z ddlZddlZddlmZ ddlmZ ddlmZ dZ	e
Zd Zd(dZ G d	 d
          Z G d de          Zd ZdZh dZd Zd ZdddidddddddddddidiZ eed                                                   dhz  Z G d d           Zd! Z G d" d#e          Zddedfd$Zdddefd%Zd& Zd' ZdS ))zProxy/PromiseProxy implementation.

This module contains critical utilities that needs to be loaded as
soon as possible, and that shall not load any third party modules.

Parts of this module is Copyright by Werkzeug Team.
    N)reduce)import_module)
ModuleType)ProxyPromiseProxy
try_importmaybe_evaluatec                 D    fd}dd}t          | f||d          S )Nc                 B                         |           }||_        |S N)__new____getter)clsgetterinstance	cls_valuetype_s      >/var/www/html/env/lib/python3.11/site-packages/celery/local.pyr   z"_default_cls_attr.<locals>.__new__   s#    ==i00"    c                 4    ||                      |          n| S r   )r   )selfobjr   s      r   __get__z"_default_cls_attr.<locals>.__get__    s    %(_t}}S!!!$>r   )r   r   r   )type)namer   r   r   r   s    ``  r   _default_cls_attrr      s_         
? ? ? ? uhw! !   r   c                 F    	 t          |           S # t          $ r |cY S w xY w)zUTry to import and return module.

    Returns None if the module does not exist.
    )r   ImportError)moduledefaults     r   r   r   (   s9    
V$$$   s      c                   2   e Zd ZdZdZ	 dBdZ edee           d             Z  edee           d             Z ed	ee          d
             Z edee          d             Zd Ze	d             Z
d Ze	d             Zd Zd ZeZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd  Zd! Zd" Zd# Z d$ Z!d% Z"d& Z#d' Z$d( Z%d) Z&d* Z'd+ Z(d, Z)d- Z*d. Z+d/ Z,d0 Z-d1 Z.d2 Z/d3 Z0d4 Z1d5 Z2d6 Z3d7 Z4d8 Z5d9 Z6d: Z7d; Z8d< Z9d= Z:d> Z;d? Z<d@ Z=dA Z>dS )Cr   zProxy to another object.)__local__args__kwargs__dict__Nc                 2   t                               | d|           t                               | d|pd           t                               | d|pi            |t                               | d|           |t                               | d|           d S d S )N_Proxy__local_Proxy__args _Proxy__kwargs__custom_name____doc__)object__setattr__)r   localargskwargsr   r,   s         r   __init__zProxy.__init__9   s    4%8884<<<4!16<R@@@t%6===tY88888 r   r   c                 d    	 | j         S # t          $ r |                                 j        cY S w xY wr   )r+   AttributeError_get_current_object__name__r   s    r   r6   zProxy.__name__C   sF    	7'' 	7 	7 	7++--6666	7   	 #//qualnamec                 d    	 | j         S # t          $ r |                                 j        cY S w xY wr   )r+   r4   r5   __qualname__r7   s    r   r;   zProxy.__qualname__J   sF    	;'' 	; 	; 	;++--::::	;r8   r   c                 4    |                                  j        S r   )r5   
__module__r7   s    r   r=   zProxy.__module__Q   s    ''))44r   docc                 4    |                                  j        S r   )r5   r,   r7   s    r   r,   zProxy.__doc__U   s    ''))11r   c                 4    |                                  j        S r   )r5   	__class__r7   s    r   
_get_classzProxy._get_classY   s    ''))33r   c                 *    |                                  S r   )rB   r7   s    r   rA   zProxy.__class__\   s       r   c                     t                               | d          }t          |d          s || j        i | j        S 	 t          || j                  S # t          $ r t          d| j                   w xY w)zGet current object.

        This is useful if you want the real
        object behind the proxy at a time for performance reasons or because
        you want to pass the object into a different context.
        r'   __release_local__zno object bound to )	r-   __getattribute__hasattrr(   r*   getattrr6   r4   RuntimeError)r   locs     r   r5   zProxy._get_current_object`   s     %%dO<<s/00 	635t}555	F3... 	F 	F 	FDT]DDEEE	Fs   A "A6c                 p    	 |                                  j        S # t          $ r t          d          w xY w)Nr%   )r5   r%   rI   r4   r7   s    r   r%   zProxy.__dict__p   sE    	-++--66 	- 	- 	- ,,,	-s    5c                     	 |                                  }n # t          $ r d| j        j         dcY S w xY wt	          |          S )N<z	 unbound>)r5   rI   rA   r6   repr)r   r   s     r   __repr__zProxy.__repr__w   s]    	:**,,CC 	: 	: 	:9t~.999999	:Cyys    44c                 h    	 t          |                                           S # t          $ r Y dS w xY w)NF)boolr5   rI   r7   s    r   __bool__zProxy.__bool__~   sC    	0022333 	 	 	55	s    # 
11c                 j    	 t          |                                           S # t          $ r g cY S w xY wr   )dirr5   rI   r7   s    r   __dir__zProxy.__dir__   sE    	t//11222 	 	 	III	s    # 22c                     |dk    r!t          |                                           S t          |                                 |          S )N__members__)rT   r5   rH   r   r   s     r   __getattr__zProxy.__getattr__   sC    =  t//11222t//114888r   c                 4    ||                                  |<   d S r   r5   )r   keyvalues      r   __setitem__zProxy.__setitem__   s    */  ""3'''r   c                 0    |                                  |= d S r   r[   )r   r\   s     r   __delitem__zProxy.__delitem__   s    $$&&s+++r   c                 L    t          |                                 ||           d S r   )setattrr5   )r   r   r]   s      r   r.   zProxy.__setattr__   s&    ((**D%88888r   c                 J    t          |                                 |           d S r   )delattrr5   rX   s     r   __delattr__zProxy.__delattr__   s$    ((**D11111r   c                 D    t          |                                           S r   )strr5   r7   s    r   __str__zProxy.__str__       4++--...r   c                 2    |                                  |k     S r   r[   r   others     r   __lt__zProxy.__lt__       ''))E11r   c                 2    |                                  |k    S r   r[   rk   s     r   __le__zProxy.__le__       ''))U22r   c                 2    |                                  |k    S r   r[   rk   s     r   __eq__zProxy.__eq__   rq   r   c                 2    |                                  |k    S r   r[   rk   s     r   __ne__zProxy.__ne__   rq   r   c                 2    |                                  |k    S r   r[   rk   s     r   __gt__zProxy.__gt__   rn   r   c                 2    |                                  |k    S r   r[   rk   s     r   __ge__zProxy.__ge__   rq   r   c                 D    t          |                                           S r   )hashr5   r7   s    r   __hash__zProxy.__hash__       D,,..///r   c                 6     |                                  |i |S r   r[   r   akws      r   __call__zProxy.__call__   s#    )t''))13333r   c                 D    t          |                                           S r   )lenr5   r7   s    r   __len__zProxy.__len__   ri   r   c                 6    |                                  |         S r   r[   r   is     r   __getitem__zProxy.__getitem__   s    ''))!,,r   c                 D    t          |                                           S r   )iterr5   r7   s    r   __iter__zProxy.__iter__   r}   r   c                 .    ||                                  v S r   r[   r   s     r   __contains__zProxy.__contains__   s    D,,....r   c                 0    |                                  |z   S r   r[   rk   s     r   __add__zProxy.__add__       ''))E11r   c                 0    |                                  |z
  S r   r[   rk   s     r   __sub__zProxy.__sub__   r   r   c                 0    |                                  |z  S r   r[   rk   s     r   __mul__zProxy.__mul__   r   r   c                 0    |                                  |z  S r   r[   rk   s     r   __floordiv__zProxy.__floordiv__       ''))U22r   c                 0    |                                  |z  S r   r[   rk   s     r   __mod__zProxy.__mod__   r   r   c                 P    |                                                      |          S r   )r5   
__divmod__rk   s     r   r   zProxy.__divmod__   "    ''))44U;;;r   c                 0    |                                  |z  S r   r[   rk   s     r   __pow__zProxy.__pow__   r   r   c                 0    |                                  |z  S r   r[   rk   s     r   
__lshift__zProxy.__lshift__   r   r   c                 0    |                                  |z	  S r   r[   rk   s     r   
__rshift__zProxy.__rshift__   r   r   c                 0    |                                  |z  S r   r[   rk   s     r   __and__zProxy.__and__   r   r   c                 0    |                                  |z  S r   r[   rk   s     r   __xor__zProxy.__xor__   r   r   c                 0    |                                  |z  S r   r[   rk   s     r   __or__zProxy.__or__   r   r   c                 P    |                                                      |          S r   )r5   __div__rk   s     r   r   zProxy.__div__   s"    ''))11%888r   c                 P    |                                                      |          S r   )r5   __truediv__rk   s     r   r   zProxy.__truediv__   s"    ''))55e<<<r   c                 ,    |                                   S r   r[   r7   s    r   __neg__zProxy.__neg__       ))++,,r   c                 ,    |                                  
 S r   r[   r7   s    r   __pos__zProxy.__pos__   r   r   c                 D    t          |                                           S r   )absr5   r7   s    r   __abs__zProxy.__abs__   ri   r   c                 ,    |                                   S r   r[   r7   s    r   
__invert__zProxy.__invert__   r   r   c                 D    t          |                                           S r   )complexr5   r7   s    r   __complex__zProxy.__complex__   s    t//11222r   c                 D    t          |                                           S r   )intr5   r7   s    r   __int__zProxy.__int__   ri   r   c                 D    t          |                                           S r   )floatr5   r7   s    r   	__float__zProxy.__float__   s    T--//000r   c                 D    t          |                                           S r   )octr5   r7   s    r   __oct__zProxy.__oct__  ri   r   c                 D    t          |                                           S r   )hexr5   r7   s    r   __hex__zProxy.__hex__  ri   r   c                 N    |                                                                  S r   )r5   	__index__r7   s    r   r   zProxy.__index__	       ''))33555r   c                 P    |                                                      |          S r   )r5   
__coerce__rk   s     r   r   zProxy.__coerce__  r   r   c                 N    |                                                                  S r   )r5   	__enter__r7   s    r   r   zProxy.__enter__  r   r   c                 @     |                                  j        |i |S r   )r5   __exit__r   s      r   r   zProxy.__exit__  s&    2t''))2A<<<<r   c                 N    |                                                                  S r   )r5   
__reduce__r7   s    r   r   zProxy.__reduce__  s     ''))44666r   )NNNN)?r6   r=   r;   r,   	__slots__r2   r   rg   rB   propertyrA   r5   r%   rO   rR   __nonzero__rU   rY   r^   r`   r.   re   rh   rm   rp   rs   ru   rw   ry   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   r   r   r   r   3   s$       "" >I =A9 9 9 9 vsH--7 7 .-7 z311; ; 21; xj115 5 215 uc7++2 2 ,+24 4 4 ! ! X!F F F  - - X-     K  9 9 9
0 0 0, , ,9 9 92 2 2/ / /2 2 23 3 33 3 33 3 32 2 23 3 30 0 04 4 4/ / /- - -0 0 0/ / /2 2 22 2 22 2 23 3 32 2 2< < <3 3 33 3 33 3 32 2 22 2 22 2 29 9 9= = =- - -- - -/ / /- - -3 3 3/ / /1 1 1/ / // / /6 6 6< < <6 6 6= = =7 7 7 7 7r   r   c                   8    e Zd ZdZdZd Zd Zd Zd Z	 d
dZ	d	S )r   zProxy that evaluates object once.

    :class:`Proxy` will evaluate the object each time, while the
    promise will only evaluate it once.
    )__pending____weakref__c                     	 t                               | d          S # t          $ r |                                 cY S w xY w)N__thing)r-   rF   r4   __evaluate__r7   s    r   r5   z PromiseProxy._get_current_object"  sP    	'**4;;; 	' 	' 	'$$&&&&&	's    >>c                 (   |                                  r ||i |S ddlm} 	 t                              | d          }n# t
          $ r d }Y nw xY w|& |            }t                              | d|           |                    |||f           d S )Nr   )dequer   )__evaluated__collectionsr   r-   rF   r4   r.   append)r   funr0   r1   r   pendings         r   __then__zPromiseProxy.__then__(  s     	(3''''%%%%%%	--dMBBGG 	 	 	GGG	?eggGt]G<<<T6*+++++s   A   AAc                 b    	 t                               | d           n# t          $ r Y dS w xY wdS )Nr   FT)r-   rF   r4   r7   s    r   r   zPromiseProxy.__evaluated__5  sG    	##D)4444 	 	 	55	ts    
,,c                 *    |                                  S r   r[   r7   s    r   __maybe_evaluate__zPromiseProxy.__maybe_evaluate__<  s    '')))r   r'   r(   r*   c                 R   	 t                               |           }t                              | d|           |D ].}	 t                              | |           # t
          $ r Y +w xY w	 t                              | d          }	 |r"|                                \  }}} ||i | |"	 t                              | d           nQ# t
          $ r Y nEw xY w# 	 t                              | d           w # t
          $ r Y w w xY wxY w# t
          $ r Y nw xY w|S # t          $ r  w xY w)Nr   r   )	r   r5   r-   r.   re   r4   rF   popleft	Exception)r   _cleanthingattrr   r   r0   r1   s           r   r   zPromiseProxy.__evaluate__?  s   	--d33E tY666  &&tT2222%   D 11$FF! -,3OO,=,=)T6T,V,,, " -**4????)   **4????)    "    L1  	 	 		sp   D A
A&%A&*D $C +C 
CCDC54D5
D?DDD
DDD&N)r   )
r6   r=   r;   r,   r   r5   r   r   r   r   r)   r   r   r   r     sz          /I' ' ', , ,  * * */     r   r   c                 P    	 |                                  S # t          $ r | cY S w xY w)z:Attempt to evaluate promise, even if obj is not a promise.)r   r4   )r   s    r   r	   r	   `  s=    %%'''   


s    %%zF
The module %s is deprecated and will be removed in a future version.
>   __all__r,   __file____path__c                     | S r   r)   methods    r   fun_of_methodr   {  s    Mr   c                 8    ddl m} |                    |           S )ziGet attribute from current_app recursively.

    Example: ``getappattr('amqp.get_task_consumer')``.

    r   )current_app)celeryr   	_rgetattr)pathr   s     r   
getappattrr     s*     #"""""  &&&r   r   	send_taskzlog.get_default_loggerzlog.setup_loggerzlog.setup_logging_subsystemzlog.redirect_stdouts_to_logger)get_default_loggersetup_loggersetup_logging_subsystemredirect_stdouts_to_loggerzamqp.TaskConsumer
connection)TaskConsumerestablish_connectionget_consumer_settasks)executelog	messagingregistrysubtaskc                   *    e Zd ZddZddZd Zd ZdS )class_propertyNc                 6   |$t          |t                    st          |          }|$t          |t                    st          |          }|| _        || _        |                    t
                    }|j        | _        |j        | _        |j        | _        d S r   )	
isinstanceclassmethod_class_property__get_class_property__setr   r-   r,   r6   r=   )r   r   setterinfos       r   r2   zclass_property.__init__  s    j&E&E ((Fj&E&E ((F

~~f%%|/r   c                 ^    |r	||j         } | j                            ||                      S r   )rA   r  r   )r   r   r   s      r   r   zclass_property.__get__  s5     	!4<=D,tz!!#t,,...r   c                 P    || S  | j                             |          |          S r   )r  r   )r   r   r]   s      r   __set__zclass_property.__set__  s,    ;K&tz!!#&&u---r   c                 8    |                      | j        |          S r   )rA   r  )r   r  s     r   r  zclass_property.setter  s    ~~dj&111r   )NNr   )r6   r=   r;   r2   r   r  r  r)   r   r   r  r    sZ        * * * */ / / /
. . .
2 2 2 2 2r   r  c                 :    t          t          |                     S r   )r  r   r   s    r   reclassmethodr    s    }V,,---r   c                   0    e Zd ZdZi Zi Zi Zd Zd Zd Z	dS )
LazyModuler)   c           	      v   || j         v rbt          | j         |         d d |g          }| j        |j                 D ]!}t	          | |t          ||                     "t          ||          S || j        v r1t          | j        |         d d |g          }t	          | ||           |S t          j        | |          S r   )	_object_origins
__import___all_by_moduler6   rb   rH   _directr   rF   )r   r   r   items       r   rY   zLazyModule.__getattr__  s    4''' 4T :D$!%( (F+FO< ; ;dGFD$9$9::::64(((T\!!T 2D$GGFD$'''M*4666r   c                 N    d t          | j                  t          z  D             S )Nc                 $    g | ]}|t           v|S r)   )DEPRECATED_ATTRS).0r   s     r   
<listcomp>z&LazyModule.__dir__.<locals>.<listcomp>  s.     
 
 
+++ +++r   )setr   DEFAULT_ATTRSr7   s    r   rU   zLazyModule.__dir__  s2    
 
 ..>
 
 
 	
r   c                      t           | j        ffS r   )r   r6   r7   s    r   r   zLazyModule.__reduce__  s    t}...r   N)
r6   r=   r;   _compat_modulesr  r  r  rY   rU   r   r)   r   r   r  r    sU        ONGO7 7 7
 
 
/ / / / /r   r  c                 X   |rd                     |j        | g          n| }|i n|}|                     d          \  }}}||d<   fd|                                D             } t	          ||f|          |           x}	t
          j        |<   |	j                            |           |	S )N.r=   c                 6    i | ]\  }}|r |          n|S r)   r)   )r$  	attr_namer   prepare_attrs      r   
<dictcomp>z!create_module.<locals>.<dictcomp>  sC       It 	,@LL&&&D  r   )	joinr6   
rpartitionitemsr   sysmodulesr%   update)
r   attrs	cls_attrspkgbaser.  fqdn_modnamer   s
        `    r   create_moduler=    s    -0:388S\4()))dD'YIooc**OCG!Il   ${{}}  E"%$)"% "%%)"+ "+ +FS[
O5!!!Mr   c                   
 |pt                               | d          }|pi }|pi }t          j        |          }t	          |          }t          t          t          t          j	        d ||||fD                                           }|||||d}	t          | ||	|          

j                            
fd|D                        |j        
_        |
fS )Nr)   c                 ,    g | ]}t          |          S r)   )tuple)r$  vs     r   r%  z#recreate_module.<locals>.<listcomp>  s    DDDaqDDDr   )r)  r  r  r  r   )r7  r9  c                 2    i | ]}|t          |          S r)   )get_compat_module)r$  mod
new_modules     r   r/  z#recreate_module.<locals>.<dictcomp>  s3          47z3//     r   )COMPAT_MODULESgetr3  r4  get_originsr@  r&  r   operatoraddr=  r%   r5  __spec__)r   compat_modules	by_moduledirectr9  r6  
old_moduleorigins_allcattrsrE  s             @r   recreate_modulerS    s   #C~'9'9$'C'CNRI\rFT"J)$$GVDDNGVUCDDD     D
 *#"	 F tUf4HHHJ        ;I         %-Jz!!r   c                 >   d }t           | j                 |         }t          |t                    r<d                    | j        |g          }t          |          x}t          j        |<   |S t          |          |d<   t          |t          |          | |          S )Nc                 \    t          | t                    rt          t          | f          S | S r   )r  rg   r   r   )r   s    r   preparez"get_compat_module.<locals>.prepare  s+    dC   	.dW---r   r+  r   )r8  r.  )rF  r6   r  rg   r0  r   r3  r4  listr=  dict)r8  r   rV  r6  r:  r   s         r   rC  rC    s      
 3<(.E% xxt,--%25%9%99T"E{{E)tE{{'JJJJr   c                     i }|                                  D ]&\  }|                    fd|D                        '|S )Nc                     i | ]}|S r)   r)   )r$  r   r   s     r   r/  zget_origins.<locals>.<dictcomp>  s    777f777r   )r2  r5  )defsrP  r6  r   s      @r   rH  rH    sR    G 9 977777778888Nr   r   ) r,   rI  r3  	functoolsr   	importlibr   typesr   r   r6   r=   r   r   r   r   r	   MODULE_DEPRECATEDr'  r   r   rF  r&  keysr#  r  r  r  r=  rS  rC  rH  r)   r   r   <module>ra     s{     



       # # # # # #      
C
  (   c7 c7 c7 c7 c7 c7 c7 c7LD D D D D5 D D DN  $  ?>>
  ' ' ' 
 #;.'D*J	
 
 0$0 3
 
 W
 . 3~h/4466779+E 2 2 2 2 2 2 2 2:. . ./ / / / / / / /: *.4!   " *.d#" " " "4K K K    r   