
    ,h!$                    6   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S S	KJ
r
  S S
KJr  S SKJr  S SKJr  S SKJr  S SKrSSKJr  SSKJr  \(       a  SSKJr  SSKJr  \" S\S9r\" S\S9r " S S5      r " S S\5      rSS jrg)    )annotations)Any)cast)Dict)Iterable)Iterator)List)NoReturn)Optional)Set)Tuple)TYPE_CHECKING)TypeVarN   )util   )exc)_IdentityKeyType)InstanceState_T)bound_Oc                  *   \ rS rSr% S\S'   S\S'   S\S'   SS jrSS	 jrS S
 jrS!S jrS"S jr	S#S jr
S$S jr S%     S&S jjr    S'S jrS(S jrS)S jrS*S jrS!S jrS#S jr      S+S jrS#S jrS#S jrS,S jrS-S jrS"S jrS.S jrSrg)/IdentityMap%   zweakref.ref[IdentityMap]_wrz Dict[_IdentityKeyType[Any], Any]_dictSet[InstanceState[Any]]	_modifiedc                f    0 U l         [        5       U l        [        R                  " U 5      U l        g N)r   setr   weakrefrefr   selfs    O/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/orm/identity.py__init__IdentityMap.__init__+   s"    
;;t$    c                    [         U l        g r!   )_killed_add_unpresentr%   s    r'   _killIdentityMap._kill0   s
    %r*   c                    [        5       er!   NotImplementedErrorr%   s    r'   
all_statesIdentityMap.all_states3       !##r*   c                    [        5       er!   r1   r&   states     r'   contains_stateIdentityMap.contains_state6   r5   r*   c                    [        5       er!   r1   r&   keys     r'   __contains__IdentityMap.__contains__9   r5   r*   c                    [        5       er!   r1   r7   s     r'   safe_discardIdentityMap.safe_discard<   r5   r*   c                    [        5       er!   r1   r<   s     r'   __getitem__IdentityMap.__getitem__?   r5   r*   Nc                    [        5       er!   r1   )r&   r=   defaults      r'   getIdentityMap.getB        "##r*   c                    [        5       er!   r1   r<   s     r'   fast_get_stateIdentityMap.fast_get_stateG   rJ   r*   c                6    U R                   R                  5       $ r!   )r   keysr%   s    r'   rO   IdentityMap.keysL   s    zz  r*   c                    [        5       er!   r1   r%   s    r'   valuesIdentityMap.valuesO   r5   r*   c                    [        5       er!   r1   r7   s     r'   replaceIdentityMap.replaceR   r5   r*   c                    [        5       er!   r1   r7   s     r'   addIdentityMap.addU   r5   r*   c                    [        5       er!   r1   r7   s     r'   _fast_discardIdentityMap._fast_discardX   r5   r*   c                &    U R                  U5        g)zMoptional inlined form of add() which can assume item isn't present
in the mapN)rX   r&   r8   r=   s      r'   r-   IdentityMap._add_unpresent[   s    
 	r*   c                    U R                   Ul        UR                  (       a  U R                  R	                  U5        g g r!   )r   _instance_dictmodifiedr   rX   r7   s     r'   _manage_incoming_state"IdentityMap._manage_incoming_stateb   s,    #xx>>NNu% r*   c                b    U? UR                  (       a  U R                  R                  U5        g g r!   )ra   rb   r   discardr7   s     r'   _manage_removed_state!IdentityMap._manage_removed_stateh   s&     >>NN""5) r*   c                    U R                   $ r!   )r   r%   s    r'   _dirty_statesIdentityMap._dirty_statesm   s    ~~r*   c                ,    [        U R                  5      $ )zKreturn True if any InstanceStates present have been marked
as 'modified'.

)boolr   r%   s    r'   check_modifiedIdentityMap.check_modifiedp   s    
 DNN##r*   c                
    X;   $ r!    r<   s     r'   has_keyIdentityMap.has_keyw   s
    {r*   c                ,    [        U R                  5      $ r!   )lenr   r%   s    r'   __len__IdentityMap.__len__z   s    4::r*   )r-   r   r   r   )returnNonerx   zList[InstanceState[Any]]r8   InstanceState[Any]rx   rm   r=   _IdentityKeyType[Any]rx   rm   r8   r|   rx   ry   r=   _IdentityKeyType[_O]rx   r   r!   r=   r   rG   Optional[_O]rx   r   r=   r   rx   Optional[InstanceState[_O]])rx   zIterable[_IdentityKeyType[Any]])rx   zIterable[object])r8   InstanceState[_O]rx   r   r8   r|   r=   r~   rx   ry   )rx   r   )rx   rm   )rx   int)__name__
__module____qualname____firstlineno____annotations__r(   r.   r3   r9   r>   rA   rD   rH   rL   rO   rR   rU   rX   r[   r-   rc   rg   rj   rn   rr   rv   __static_attributes__rq   r*   r'   r   r   %   s    	!!++&&%
&$$$$$ BF$'$2>$	$
$'$	$$
!$$$$'.C	&*
$r*   r   c                      \ rS rSr% S\S'   SS jrSS jrSS jr    SS jrSS jr	      SS	 jr
    SS
 jr S     SS jjrSS jrSS jrSS jrS S jrS!S jrS!S jrS!S jrSrg)"WeakInstanceDict~   z/Dict[_IdentityKeyType[Any], InstanceState[Any]]r   c                t    [        SU R                  U   5      nUR                  5       nUc  [        U5      eU$ Nr   )r   r   objKeyErrorr&   r=   r8   os       r'   rD   WeakInstanceDict.__getitem__   s6    ($**S/:IIK93-r*   c                     XR                   ;   a   U R                   U   nUR                  5       nOg US L$ ! [         a     gf = fNF)r   r   r   r   s       r'   r>   WeakInstanceDict.__contains__   sQ    		!jj 

3IIK  D=   		s   /7 
AAc                    UR                   U R                  ;   a6  [        (       a  UR                   c   e U R                  UR                      UL $ g! [         a     gf = fr   )r=   r   r   r   r7   s     r'   r9   WeakInstanceDict.contains_state   s]    99

"}yy,,,zz%)),55   s   A 
AAc                6   UR                   c   eUR                   U R                  ;   a2   U R                  UR                      =p#X1La  U R                  U5        Og S nXR                  UR                   '   U R	                  U5        U$ ! [         a    S n N9f = fr!   )r=   r   rg   r   rc   )r&   r8   existingexisting_non_nones       r'   rU   WeakInstanceDict.replace   s     yy$$$99

"	 /3zz%))/DD
 %1../@AH %

599##E*    s   B	 	BBc                n   UR                   nUc   eX R                  ;   af   U R                  U   nX1LaQ  UR                  5       nUb=  [        R                  " S[
        R                  " U5      < SUR                   < S35      eOgXR                  U'   U R                  U5        g! [         a     N,f = f)NzCan't attach instance z; another instance with key z$ is already present in this session.FT)	r=   r   r   sa_excInvalidRequestErrororm_util	state_strr   rc   )r&   r8   r=   existing_stater   s        r'   rX   WeakInstanceDict.add   s    ii**!!%C
 ".&**,A}$88  (11%8%))E  % !

3##E*#  s   B' '
B43B4c                B    XR                   U'   U R                  Ul        g r!   )r   r   ra   r^   s      r'   r-   WeakInstanceDict._add_unpresent   s      

3#xxr*   c                8    U R                   R                  U5      $ r!   )r   rH   r<   s     r'   rL   WeakInstanceDict.fast_get_state   s     zz~~c""r*   Nc                    XR                   ;  a  U$  [        SU R                   U   5      nUR                  5       nUc  U$ U$ ! [         a    Us $ f = fr   )r   r   r   r   )r&   r=   rG   r8   r   s        r'   rH   WeakInstanceDict.get   s_     jj N		,djjo>E
 		AyH  	N	s   A AAc                    U R                  5       n/ nU H;  nUR                  5       nUR                  nUc   eUc  M)  UR                  XT45        M=     U$ r!   )r3   r   r=   append)r&   rR   resultr8   valuer=   s         r'   itemsWeakInstanceDict.items   sV    "EIIKE))C?"? sl+  r*   c                    U R                  5       n/ nU H)  nUR                  5       nUc  M  UR                  U5        M+     U$ r!   )r3   r   r   )r&   rR   r   r8   r   s        r'   rR   WeakInstanceDict.values   sA    "EIIKE e$ 
 r*   c                4    [        U R                  5       5      $ r!   )iterrO   r%   s    r'   __iter__WeakInstanceDict.__iter__   s    DIIK  r*   c                H    [        U R                  R                  5       5      $ r!   )listr   rR   r%   s    r'   r3   WeakInstanceDict.all_states  s    DJJ%%'((r*   c                    UR                   nUc   e U R                  U   nX1L a  U R                  R                  US 5        g g ! [         a     g f = fr!   )r=   r   popr   r&   r8   r=   sts       r'   r[   WeakInstanceDict._fast_discard  s[     ii	*CB
 {

sD) 	  		s   A 
AAc                &    U R                  U5        g r!   )rA   r7   s     r'   rf   WeakInstanceDict.discard  s    % r*   c                    UR                   nX R                  ;   aH  Uc   e U R                  U   nX1L a.  U R                  R                  US 5        U R                  U5        g g g ! [         a     g f = fr!   )r=   r   r   rg   r   r   s       r'   rA   WeakInstanceDict.safe_discard  sv    ii**?"?6ZZ_
 ;JJNN3-..u5    s   A% %
A21A2rq   r   r}   r{   )r8   r|   rx   zOptional[InstanceState[Any]]r   r   r!   r   )rx   z6List[Tuple[_IdentityKeyType[Any], InstanceState[Any]]])rx   zList[object])rx   zIterator[_IdentityKeyType[Any]]rz   r   )r   r   r   r   r   rD   r>   r9   rU   rX   r-   rL   rH   r   rR   r   r3   r[   rf   rA   r   rq   r*   r'   r   r   ~   s    ::
!	'	%,4('(.C(	(#'#	$# BF'2>	 	!)*!6r*   r   c                Z    [         R                  " S[        R                  " U 5      -  SS9e)NzObject %s cannot be converted to 'persistent' state, as this identity map is no longer valid.  Has the owning Session been closed?lkrp)code)r   r   r   r   )r8   r=   s     r'   r,   r,   &  s4     
$
$	!++E2	3 	 r*   )r8   r|   r=   r~   rx   r
   )
__future__r   typingr   r   r   r   r   r	   r
   r   r   r   r   r   r#    r   r   r   r   _typingr   r8   r   r   objectr   r   r   r,   rq   r*   r'   <module>r      s{    #                )$ TT V Vre6{ e6Pr*   