
    vKg(                        S SK Jr  S SKrS SKJr  S SKJr  \R                  \R                  \
\
4   \\
4   r " S S5      rS\l         " S S5      rSS	 jr\\4r " S
 S\5      r S SS jjrSS jr " S S5      rg)    )annotationsN)ref)BoundMethodWeakrefc                  &    \ rS rSrS rS rS rSrg)_symbol   c                     U=U l         U l        g)zConstruct a new named symbol.N__name__name)selfr   s     R/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/blinker/_utilities.py__init___symbol.__init__   s    $((	    c                (    [         U R                  44$ N)symbolr   r   s    r   
__reduce___symbol.__reduce__   s    		|##r   c                    U R                   $ r   )r   r   s    r   __repr___symbol.__repr__   s    yyr   r
   N)r   
__module____qualname____firstlineno__r   r   r   __static_attributes__ r   r   r   r      s    )$r   r   r   c                  "    \ rS rSrSr0 rS rSrg)r      a  A constant symbol.

>>> symbol('foo') is symbol('foo')
True
>>> symbol('foo')
foo

A slight refinement of the MAGICCOOKIE=object() pattern.  The primary
advantage of symbol() is its repr().  They are also singletons.

Repeated calls of symbol('name') will all return the same instance.

c                     U R                   U   $ ! [         a(    U R                   R                  U[        U5      5      s $ f = fr   )symbolsKeyError
setdefaultr   )clsr   s     r   __new__symbol.__new__+   s@    	?;;t$$ 	?;;))$>>	?s    /AAr   N)r   r   r   r   __doc__r#   r'   r   r   r   r   r   r      s     G?r   c                >   [        U S5      (       a*  [        U R                  5      [        U R                  5      4$ [        U S5      (       a*  [        U R                  5      [        U R
                  5      4$ [        U [        [        45      (       a  U $ [        U 5      $ )N__func__im_func)	hasattridr+   __self__r,   im_self
isinstanceintstr)objs    r   hashable_identityr5   2   ss    sJ3<< "S\\"233	i	 	 3;;CKK11	C#s	$	$
#wr   c                  .    \ rS rSr% SrS\S'   S\S'   Srg)annotatable_weakref@   z7A weakref.ref that supports custom instance attributes.zt.Optional[IdentityType]receiver_id	sender_idr   N)r   r   r   r   r)   __annotations__r   r   r   r   r7   r7   @   s    A))''r   r7   c                    [        U 5      (       a  [        X5      nO[        X5      nUR                  " 5        H  u  pE[	        X4U5        M     U$ )zReturn an annotated weak ref.)callablecallable_referencer7   itemssetattr)objectcallbackr   weakkeyvalues         r   	referencerF   G   sG     !&3"64!'')
5! *Kr   c                    [        U S5      (       a  U R                  b	  [        XS9$ [        U S5      (       a  U R                  b	  [        XS9$ [	        X5      $ )z@Return an annotated weak ref, supporting bound instance methods.r0   )target	on_deleter/   )r-   r0   r   r/   r7   )rA   rB   s     r   r>   r>   T   sO    vy!!fnn&@!DD		$	$)D!DDv00r   c                  $    \ rS rSrSrS rS rSrg)lazy_property]   z(A @property that is only evaluated once.c                2    Xl         UR                  U l        g r   )	_deferredr)   )r   deferreds     r   r   lazy_property.__init__`   s    !''r   c                r    Uc  U $ U R                  U5      n[        XR                   R                  U5        U$ r   )rN   r@   r   )r   r4   r&   rE   s       r   __get__lazy_property.__get__d   s3    ;Ks#^^,,e4r   )r)   rN   N)r   r   r   r   r)   r   rR   r   r   r   r   rK   rK   ]   s    2(r   rK   )r4   rA   returnIdentityTyper   )rT   r7   )
__future__r   typingtweakrefr   blinker._saferefr   UnionTupler2   r3   rU   r   r   r   r5   	WeakTypesr7   rF   r>   rK   r   r   r   <module>r^      s    "   /wwqwwsCx(#s23	 	  ? ?0 $%	(# ( 

1 r   