+
    ˜h©j _  ã                  óT  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIH t  ^RIH!t! ^RI"H#t# ^RI"H$t$ ]'       d=   ^RIH%t% ^RIH&t& ^R IH't' ^R!IH(t( ^R"IH)t) ^R#I*H+t+ ^R$I,H-t- ^R%I.H/t/ ^R&IH0t0 ^R'IH1t1 ]! R(]R)7      t2]Pf                  ! R*4      t4 ! R+ R,]$4      t5 ! R- R.]$4      t6 ! R/ R0]!]]7R13,          ]	],          ] 4      t8 ! R2 R34      t9 ! R4 R5] 4      t:]:! 4       t;]Px                  ;t<t=]P|                  ;t>t?]P€                  ;t@tA]P„                  ;tBtCR;R6 R7 lltDR8 tER9 tFR: tGR# )<aœ  Defines SQLAlchemy's system of class instrumentation.

This module is usually not directly visible to user applications, but
defines a large part of the ORM's interactivity.

instrumentation.py deals with registration of end-user classes
for state tracking.   It interacts closely with state.py
and attributes.py which establish per-instance and per-class-attribute
instrumentation, respectively.

The class instrumentation system can be customized on a per-class
or global basis using the :mod:`sqlalchemy.ext.instrumentation`
module, which provides the means to build and specify
alternate instrumentation forms.

.. versionchanged: 0.8
   The instrumentation extension system was moved out of the
   ORM and into the external :mod:`sqlalchemy.ext.instrumentation`
   package.  When that package is imported, it installs
   itself within sqlalchemy.orm so that its more comprehensive
   resolution mechanics take effect.

)Úannotations)ÚAny)ÚCallable)Úcast)Ú
Collection)ÚDict)ÚGeneric)ÚIterable)ÚList)ÚOptional)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnionN)Úbase)Úcollections)Úexc)Ú
interfaces)Ústate)Ú_O)Ú_is_collection_attribute_impl)Úutil)ÚEventTarget)ÚHasMemoized)ÚLiteral)ÚProtocol)Ú_RegistryType)ÚAttributeImpl)ÚQueryableAttribute)Ú_AdaptedCollectionProtocol)Ú_CollectionFactoryType)Ú_MapperConfig)ÚInstanceEvents)ÚMapper)ÚInstanceState)Ú
dispatcherÚ_T)ÚboundÚDEL_ATTRc                  ó"   € ] tR t^QtR R ltRtR# )Ú_ExpiredAttributeLoaderProtoc               ó(   € V ^8„  d   QhRRRRRRRR/# )	é   r   ústate.InstanceState[Any]ÚtoloadzSet[str]Úpassivezbase.PassiveFlagÚreturnÚNone© )Úformats   "ÚY/var/www/html/bestweb/venv/lib/python3.14/site-packages/sqlalchemy/orm/instrumentation.pyÚ__annotate__Ú)_ExpiredAttributeLoaderProto.__annotate__R   s2   € ÷ ñ à'ðð ðð "ð	ð
 
ñó    c                	ó   € R # ©Nr4   )Úselfr   r0   r1   s   &&&&r6   Ú__call__Ú%_ExpiredAttributeLoaderProto.__call__R   s   € ñ
 r9   r4   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r=   Ú__static_attributes__r4   r9   r6   r,   r,   Q   s   † ÷ñ r9   r,   c                  ó"   € ] tR t^ZtR R ltRtR# )Ú_ManagerFactoryc               ó    € V ^8„  d   QhRRRR/# ©r.   Úclass_úType[_O]r2   úClassManager[_O]r4   )r5   s   "r6   r7   Ú_ManagerFactory.__annotate__[   s   € ×AÑA˜xÐAÐ,<ÑAr9   c                	ó   € R # r;   r4   ©r<   rI   s   &&r6   r=   Ú_ManagerFactory.__call__[   s   € ¹cr9   r4   Nr?   r4   r9   r6   rF   rF   Z   s   † ßAÑAr9   rF   c                  ó€  € ] tR t^^t$ RtR]R&   ]P                  t]P                  t
]! ]P                  ! ]
4      4      tR]R&    R]R&   RtR]R	&   R
]R&   RtR]R&   R]R&   ]'       g   RtR]R&   R]R&   ]]P(                  ! RRR7      R 4       4       t]P,                  ]P(                  ! RRR7      R 4       4       tR tRcR R lltR R ltR R ltR  R! lt]R" R# l4       t]P<                  R$ 4       t]P<                  R% 4       t ]P<                  R& 4       t!]P<                  R' 4       t"]PF                  R( R) l4       t$RdR* lt%RdR+ lt&R, R- lt'R. R/ lt(R0 t)]PF                  R1 R2 l4       t*R3 t+]PX                  R4 4       t-]PX                  R5 4       t.]PX                  R6 4       t/ReR7 R8 llt0R9 t1R: t2ReR; lt3R< R= lt4R> R? lt5R@ RA lt6RB RC lt7RD RE lt8RF RG lt9RH RI lt:ReRJ RK llt;RL RM lt<]RN RO l4       t=RdRP RQ llt>RdRR RS llt?RT RU lt@RV RW ltARX RY ltBRZ R[ ltCReR\ R] lltDR^ R_ ltER` Ra ltFRbtGR# )fÚClassManagerz,Tracks state information at the class level.zdispatcher[ClassManager[_O]]Údispatchr,   Úexpired_attribute_loaderúOptional[Callable[..., None]]Úinit_methodNÚoriginal_initzOptional[_ManagerFactory]Úfactoryz$Optional[weakref.ref[_MapperConfig]]Údeclarative_scanr   ÚregistryrJ   rI   zList[ClassManager[Any]]Ú_basesz1.4zWThe ClassManager.deferred_scalar_loader attribute is now named expired_attribute_loader)Úmessagec                	ó   € V P                   # r;   ©rS   ©r<   s   &r6   Údeferred_scalar_loaderÚ#ClassManager.deferred_scalar_loader�   s   € ð ×,Ñ,Ð,r9   c                	ó   € Wn         R # r;   r]   )r<   Úobjs   &&r6   r_   r`   Š   s
   € ð ),Ö%r9   c           
     	ó  € Wn         / V n        R V n        / V n        / V n        RV n        R V n        R V n        \        RV P                   P                   Uu. uF&  p\        V\        4      '       g   K  \        V4      NK(  	  up4       Uu. uF  pVf   K	  VNK  	  upV n        V P                   F  pV P                  V4       K  	  \        RV P                  P                   4      P#                  W4       VP$                   F9  p\        V4      pVf   K  V P                  P'                  VP                  4       K;  	  V P)                  4        RVP*                  9   d    \,        P.                  ! RV,          4       R # R # u upi u upi )NFz!List[Optional[ClassManager[Any]]]r$   Ú__del__z¦__del__() method on class %s will cause unreachable cycles and memory leaks, as SQLAlchemy instrumentation often creates reference cycles.  Please remove this method.)rI   ÚinfoÚnew_initÚlocal_attrsÚ	originalsÚ
_finalizedrW   rU   r   Ú	__bases__Ú
isinstanceÚtypeÚopt_manager_of_classrZ   ÚupdaterR   Ú_eventsÚ_new_classmanager_instanceÚ__mro__Ú_updateÚmanageÚ__dict__r   Úwarn)r<   rI   r   ÚmgrÚbase_Úbaseclss   &&    r6   Ú__init__ÚClassManager.__init__“   s_  € ØŒØˆŒ	ØˆŒØˆÔØˆŒØˆŒØˆŒØˆÔô Ø3ð !%§¡× 5Ò 5óá 5˜Ü! $¬×-ô /Ô(¨Ö.Ù 5ñôó
ñ�ð ÷ ˆCññ
ˆŒð —[”[ˆEØ�K‰K˜Öñ !ô 	Ø˜dŸm™m×3Ñ3ó	
ç
$Ñ
$ VÔ
2à—~”~ˆGÜ& wÓ/ˆCØŒØ—‘×%Ñ% c§l¡lÖ3ñ &ð
 	�‰Œà˜Ÿ™Ô'Ü�IŠIð@ð CIõIöñ (ùò/ùò	
s   ÁF
Á3F
ÂFÂFc               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r.   ÚfinalizeÚboolÚmapperúOptional[Mapper[_O]]rY   úOptional[_RegistryType]rX   úOptional[_MapperConfig]rS   ú&Optional[_ExpiredAttributeLoaderProto]rU   rT   r2   r3   r4   )r5   s   "r6   r7   ÚClassManager.__annotate__À   sP   € ÷ $ñ $àð$ð %ð$ð *ð	$ð
 2ð$ð#
ð$ð 3ð$ð 
ñ$r9   c                	óL  € V'       d   W n         V'       d   VP                  V 4       V'       d   \        P                  ! V4      V n        V'       d   WPn        V'       d'   V P                  '       d   Q R V,          4       hW`n        V P                  '       g^   V P                  e5   V P                  P                  \        P                  J d   V P                  MV P                  P                  V n        V'       d'   V P                  '       g   V P                  4        R# R# R# )z>class is already instrumented, init_method %s can't be appliedN)r~   Ú_add_managerÚweakrefÚrefrX   rS   ri   rU   rI   ry   ÚobjectrV   Ú	_finalize)r<   r|   r~   rY   rX   rS   rU   s   &&&&&&&r6   Ú_update_stateÚClassManager._update_stateÀ   s×   € ÷ Ø ŒKßØ×!Ñ! $Ô'ßÜ$+§K¢KÐ0@Ó$AˆDÔ!ß#Ø,DÔ)çØ——�ð ð2Ø4?õ@óÐ&ð  +Ôà��ˆð ×#Ñ#Ò/Ø—K‘K×(Ñ(¬F¯O©OÓ;ð × Ò ð —[‘[×)Ñ)ð	 Ô÷ ˜DŸOŸO˜OØ�N‰NÖñ ,‰8r9   c               ó   € V ^8„  d   QhRR/# ©r.   r2   r3   r4   )r5   s   "r6   r7   rƒ   æ   s   € ÷ Hñ H˜4ñ Hr9   c                	ó®   € V P                   '       d   R # RV n         V P                  4        \        P                  P	                  V P
                  4       R # ©NT)ri   Ú_instrument_initÚ_instrumentation_factoryrR   Úclass_instrumentrI   r^   s   &r6   r‰   ÚClassManager._finalizeæ   s9   € Ø�?�?ˆ?ÙØˆŒà×ÑÔä ×)Ñ)×:Ñ:¸4¿;¹;ÖGr9   c               ó   € V ^8„  d   QhRR/# )r.   r2   Úintr4   )r5   s   "r6   r7   rƒ   ï   s   € ÷ ñ ˜#ñ r9   c                	ó   € \        V 4      # r;   )Úidr^   s   &r6   Ú__hash__ÚClassManager.__hash__ï   s   € Ü�$‹xˆr9   c               ó    € V ^8„  d   QhRRRR/# )r.   Úotherr   r2   r}   r4   )r5   s   "r6   r7   rƒ   ò   s   € ÷ ñ ˜Cð  Dñ r9   c                	ó   € WJ # r;   r4   )r<   r›   s   &&r6   Ú__eq__ÚClassManager.__eq__ò   s
   € Øˆ}Ðr9   c               ó   € V ^8„  d   QhRR/# ©r.   r2   r}   r4   )r5   s   "r6   r7   rƒ   ö   s   € ÷ )ñ )˜4ñ )r9   c                	ó    € R V P                   9   # )r~   )rt   r^   s   &r6   Ú	is_mappedÚClassManager.is_mappedõ   s   € à˜4Ÿ=™=Ñ(Ð(r9   c                	ó   € \        V 4      # r;   )Ú	frozensetr^   s   &r6   Ú_all_key_setÚClassManager._all_key_setù   s   € ä˜‹Ðr9   c                	ó¬   € \        V P                  4        Uu. uF,  qP                  P                  '       g   K   VP                  NK.  	  up4      # u upi r;   )r¥   ÚvaluesÚimplÚ
collectionÚkey©r<   Úattrs   & r6   Ú_collection_impl_keysÚ"ClassManager._collection_impl_keysý   s:   € äØ"&§+¡+¤-ÓH¡-˜$·9±9×3GÕ3GŒXˆT�XŒX¡-ÑHó
ð 	
ùÚHs
   ˜AºAc                	ó®   € \        V P                  4        Uu. uF-  pVP                  P                  '       g   K!  VP                  NK/  	  up4      # u upi r;   )r¥   r©   rª   Úaccepts_scalar_loaderr­   s   & r6   Ú_scalar_loader_implsÚ!ClassManager._scalar_loader_impls  sJ   € äð !ŸK™KœMóá)�DØ—9‘9×2Õ2ô �—	”	Ù)ñó
ð 	
ùòs
   ˜A»Ac                	óp   € \        V P                  4        Uu. uF  qP                  NK  	  up4      # u upi r;   )r¥   r©   rª   r­   s   & r6   Ú_loader_implsÚClassManager._loader_impls  s'   € ä°·±´Ó>±¨Ÿ)œ)±Ñ>Ó?Ð?ùÒ>s   ˜3c               ó   € V ^8„  d   QhRR/# )r.   r2   z
Mapper[_O]r4   )r5   s   "r6   r7   rƒ     s   € ÷ 2ñ 2˜
ñ 2r9   c                	óB   € \         P                  ! V P                  4      hr;   )r   ÚUnmappedClassErrorrI   r^   s   &r6   r~   ÚClassManager.mapper  s   € ô ×$Ò$ T§[¡[Ó1Ð1r9   c              #  óŒ  "  € / pV P                   P                  ^ R  F   pVP                  ^,          pVP                   Fz  pVP                  WS4       WTP                  9   d   K&  W%,          P                  V,          p\	        V\
        P                  4      '       g   Ka  VP                  '       g   Ku  WV3x € K|  	  K¢  	  R# 5i)zçreturn an iterator of all classbound attributes that are
implement :class:`.InspectionAttr`.

This includes :class:`.QueryableAttribute` as well as extension
types such as :class:`.hybrid_property` and
:class:`.AssociationProxy`.

Néÿÿÿÿ)rI   rq   rt   Ú
setdefaultrk   r   ÚInspectionAttrÚis_attribute)r<   ÚexcludeÚfoundÚsuperclsÚinheritsr¬   Úvals   &&     r6   Ú_all_sqla_attributesÚ!ClassManager._all_sqla_attributes  sž   é € ð !#ˆð Ÿ™×+Ñ+¨A¨bÓ1ˆHØ×'Ñ'¨Õ*ˆHØ×(Ô(�Ø× Ñ  Ô/Ø×+Ñ+Ô+ÙØ•j×)Ñ)¨#Õ.�ä˜s¤J×$=Ñ$=×>Ô>Ø×(×(Ò(à˜(”Nó )ó 2ùs   ‚BCÂ!CÂ5Cc                óŠ   € V P                   P                   F(  pWP                  9   g   K  VP                  V,          u # 	  V# )z5return an attribute on the class without tripping it.)rI   rq   rt   )r<   r¬   ÚdefaultrÃ   s   &&& r6   Ú_get_class_attr_mroÚ ClassManager._get_class_attr_mro7  s<   € ð Ÿ™×+Ô+ˆHØ×'Ñ'Ö'Ø×(Ñ(¨Õ-Ò-ñ ,ð ˆNr9   c               ó    € V ^8„  d   QhRRRR/# )r.   r¬   Ústrr2   r}   r4   )r5   s   "r6   r7   rƒ   @  s   € ÷ :ñ : #ð :¨$ñ :r9   c                óB   € W9   ;'       d    W,          P                   RJ# )zLReturn True if the given attribute is fully initialized.

i.e. has an impl.
N©rª   ©r<   r¬   s   &&r6   Ú_attr_has_implÚClassManager._attr_has_impl@  s   € ð ‰{×9Ð9˜t�yŸ~™~°TÐ9Ð9r9   c               ó    € V ^8„  d   QhRRRR/# )r.   ÚclszType[_T]r2   zClassManager[_T]r4   )r5   s   "r6   r7   rƒ   H  s   € ÷ 3ñ 3 Xð 3Ð2Bñ 3r9   c                ó   € \        VRR7      # )a—  Create a new ClassManager for a subclass of this ClassManager's
class.

This is called automatically when attributes are instrumented so that
the attributes can be propagated to subclasses against their own
class-local manager, without the need for mappers etc. to have already
pre-configured managers for the full class hierarchy.   Mappers
can post-configure the auto-generated ClassManager when needed.

F)r|   )Úregister_class)r<   rÔ   s   &&r6   Ú_subclass_managerÚClassManager._subclass_managerH  s   € ô ˜c¨EÔ2Ð2r9   c                	óˆ   € \        V P                  W P                  4      V n        V P	                  R V P                  4       R# )ry   N)Ú_generate_initrI   rV   rf   Úinstall_memberr^   s   &r6   r�   ÚClassManager._instrument_initU  s.   € Ü& t§{¡{°D×:LÑ:LÓMˆŒØ×Ñ˜J¨¯©Ö6r9   c               ó   € V ^8„  d   QhRR/# )r.   r2   zType[state.InstanceState[_O]]r4   )r5   s   "r6   r7   rƒ   Z  s   € ÷ #ñ #Ð$Añ #r9   c                	ól   € V P                   P                  W P                  4       \        P                  # r;   )rR   Ú
first_initrI   r   r&   r^   s   &r6   Ú_state_constructorÚClassManager._state_constructorY  s$   € à�‰× Ñ  §{¡{Ô3Ü×"Ñ"Ð"r9   c                óH   € \        V P                  V P                  V 4       R# )z0Mark this instance as the manager for its class.N)ÚsetattrrI   ÚMANAGER_ATTRr^   s   &r6   rs   ÚClassManager.manage^  s   € ô 	�—‘˜T×.Ñ.°Ö5r9   c                	ó   € \         # r;   )Ú_default_manager_getterr^   s   &r6   Úmanager_getterÚClassManager.manager_getterc  s   € ä&Ð&r9   c                ó   € \         # )z­Return a (instance) -> InstanceState callable.

"state getter" callables should raise either KeyError or
AttributeError if no InstanceState could be found for the
instance.
)Ú_default_state_getterr^   s   &r6   Ústate_getterÚClassManager.state_getterg  s
   € ô %Ð$r9   c                	ó   € \         # r;   )Ú_default_dict_getterr^   s   &r6   Údict_getterÚClassManager.dict_getterr  s   € ä#Ð#r9   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r.   r¬   rÍ   ÚinstúQueryableAttribute[Any]Ú
propagatedr}   r2   r3   r4   )r5   s   "r6   r7   rƒ   v  s2   € ÷ :ñ :àð:ð &ð:ð ð	:ð
 
ñ:r9   c                	ó*  € V'       d   WP                   9   d   R # MW P                   V&   V P                  W4       V P                  4        W V&   V P                  P	                  4        F&  pV P                  V4      pVP                  WR4       K(  	  R # r�   )rg   Úinstall_descriptorÚ_reset_memoizationsrI   Ú__subclasses__r×   Úinstrument_attribute)r<   r¬   ró   rõ   rÔ   Úmanagers   &&&&  r6   rú   Ú!ClassManager.instrument_attributev  sƒ   € ÷ Ø×&Ñ&Ô&Ùð 'ð %)×Ñ˜SÑ!Ø×#Ñ# CÔ.Ø× Ñ Ô"ØˆS‰	à—;‘;×-Ñ-Ö/ˆCØ×,Ñ,¨SÓ1ˆGØ×(Ñ(¨°DÖ9ó 0r9   c              #  	óÒ   "  € V P                   P                  4        FB  p\        V4      pVf   K  W0Jg   K  Vx € V'       g   K)  VP                  R4       R j  x€L
  KD  	  R #  L
5ir�   )rI   rù   rm   Úsubclass_managers)r<   Ú	recursiverÔ   rv   s   &&  r6   rþ   ÚClassManager.subclass_managers‰  sR   é € Ø—;‘;×-Ñ-Ö/ˆCÜ& sÓ+ˆCØŒ 3¥?Ø’	ß‘9Ø"×4Ñ4°TÓ:×:Ò:ó 0ñ
 ;ùs!   ‚*A'±A'¸	A'ÁA'ÁA%ÁA'c                	óh   € \         P                  P                  V P                  WV,          4       R # r;   )r‘   rR   Úattribute_instrumentrI   rÐ   s   &&r6   Úpost_configure_attributeÚ%ClassManager.post_configure_attribute‘  s#   € Ü ×)Ñ)×>Ñ>Ø�K‰K˜ 3�iö	
r9   c                	ó<  € W9  d   R # V'       d   WP                   9   d   R # MV P                   V V P                  V4       V P                  4        W V P                  P	                  4        F*  p\        V4      pV'       g   K  VP                  VR4       K,  	  R # r�   )rg   Úuninstall_descriptorrø   rI   rù   rm   Úuninstrument_attribute)r<   r¬   rõ   rÔ   rû   s   &&&  r6   r  Ú#ClassManager.uninstrument_attribute–  s†   € ØŒ?ÙßØ×&Ñ&Ô&Ùð 'ð × Ñ  Ð%Ø×%Ñ% cÔ*Ø× Ñ Ô"ØˆIØ—;‘;×-Ñ-Ö/ˆCÜ*¨3Ó/ˆGß‰wØ×.Ñ.¨s°DÖ9ó 0r9   c               ó   € V ^8„  d   QhRR/# r�   r4   )r5   s   "r6   r7   rƒ   ¦  s   € ÷ 4ñ 4˜Dñ 4r9   c                ó¶  € \        V P                  4       F  pV P                  V4       K  	  RV n        RV n        RV n        V P                  P                  4        \        V 4       F&  pWP                  9   g   K  V P                  V4       K(  	  V P                  V P                  P                  9   d#   \        V P                  V P                  4       R# R# )z<remove all instrumentation established by this ClassManager.N)Úlistrh   Úuninstall_memberr~   rR   rf   re   Úclearrg   r  rä   rI   rt   ÚdelattrrÐ   s   & r6   Ú
unregisterÚClassManager.unregister¦  s¥   € ô ˜Ÿ™Ö'ˆCØ×!Ñ! #Ö&ñ (ð ˆŒØˆŒØˆŒØ�	‰	�‰Ôä˜–:ˆCØ×&Ñ&Ö&Ø×+Ñ+¨CÖ0ñ ð ×Ñ §¡× 4Ñ 4Ô4Ü�D—K‘K ×!2Ñ!2Ö3ñ 5r9   c               ó$   € V ^8„  d   QhRRRRRR/# )r.   r¬   rÍ   ró   rô   r2   r3   r4   )r5   s   "r6   r7   rƒ   ¸  s$   € ÷ (ñ (Øð(Ø5ð(à	ñ(r9   c                	óŽ   € WP                   V P                  39   d   \        R V,          4      h\        V P                  W4       R# ©zW%r: requested attribute name conflicts with instrumentation attribute of the same name.N)Ú
STATE_ATTRrä   ÚKeyErrorrã   rI   )r<   r¬   ró   s   &&&r6   r÷   ÚClassManager.install_descriptor¸  sD   € ð —?‘? D×$5Ñ$5Ð6Ô6Üð>Ø@CõDóð ô 	�—‘˜SÖ'r9   c               ó    € V ^8„  d   QhRRRR/# ©r.   r¬   rÍ   r2   r3   r4   )r5   s   "r6   r7   rƒ   Â  s   € ÷ "ñ "¨ð "°ñ "r9   c                	ó2   € \        V P                  V4       R # r;   )r  rI   rÐ   s   &&r6   r  Ú!ClassManager.uninstall_descriptorÂ  s   € Ü�—‘˜SÖ!r9   c               ó$   € V ^8„  d   QhRRRRRR/# )r.   r¬   rÍ   Úimplementationr   r2   r3   r4   )r5   s   "r6   r7   rƒ   Å  s!   € ÷ 2ñ 2 #ð 2°sð 2¸tñ 2r9   c                	ó  € WP                   V P                  39   d   \        R V,          4      hV P                  P	                  WP
                  P                  P                  V\        4      4       \        V P
                  W4       R# r  )
r  rä   r  rh   r¾   rI   rt   Úgetr*   rã   )r<   r¬   r  s   &&&r6   rÛ   ÚClassManager.install_memberÅ  sk   € Ø—?‘? D×$5Ñ$5Ð6Ô6Üð>Ø@CõDóð ð 	�‰×!Ñ! #§{¡{×';Ñ';×'?Ñ'?ÀÄXÓ'NÔOÜ�—‘˜SÖ1r9   c               ó    € V ^8„  d   QhRRRR/# r  r4   )r5   s   "r6   r7   rƒ   Î  s   € ÷ &ñ & Cð &¨Dñ &r9   c                	ó®   € V P                   P                  VR 4      pV\        Jd   \        V P                  W4       R # \        V P                  V4       R # r;   )rh   Úpopr*   rã   rI   r  )r<   r¬   Úoriginals   && r6   r  ÚClassManager.uninstall_memberÎ  s<   € Ø—>‘>×%Ñ% c¨4Ó0ˆØœ8Ó#Ü�D—K‘K Ö/ä�D—K‘K Ö%r9   c               ó$   € V ^8„  d   QhRRRRRR/# )r.   r¬   rÍ   Úcollection_classzType[Collection[Any]]r2   r"   r4   )r5   s   "r6   r7   rƒ   Õ  s)   € ÷ Eñ EØðEØ*?ðEà	ñEr9   c                	ó.   € \         P                  ! V4      # r;   )r   Úprepare_instrumentation)r<   r¬   r&  s   &&&r6   Úinstrument_collection_classÚ(ClassManager.instrument_collection_classÕ  s   € ô ×2Ò2Ð3CÓDÐDr9   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r.   r¬   rÍ   r   úInstanceState[_O]rW   r"   r2   z@Tuple[collections.CollectionAdapter, _AdaptedCollectionProtocol]r4   )r5   s   "r6   r7   rƒ   Ú  s3   € ÷ 
"ñ 
"àð
"ð !ð
"ð (ð	
"ð
 
Jñ
"r9   c                	óŒ   € V! 4       pV P                  V4      p\        V4      '       g   Q h\        P                  ! WRV4      pWd3# r;   )Úget_implr   r   ÚCollectionAdapter)r<   r¬   r   rW   Ú	user_datarª   Úadapters   &&&&   r6   Úinitialize_collectionÚ"ClassManager.initialize_collectionÚ  sE   € ñ “Iˆ	Ø�}‰}˜SÓ!ˆÜ,¨T×2Ò2Ð2Ð2Ü×/Ò/°¸YÓGˆØÐ!Ð!r9   c               ó$   € V ^8„  d   QhRRRRRR/# )r.   r¬   rÍ   Úsearchr}   r2   r4   )r5   s   "r6   r7   rƒ   æ  s!   € ÷ +ñ + 3ð +°ð +Àñ +r9   c                	ó6   € V'       d   W9   # WP                   9   # r;   )rg   )r<   r¬   r5  s   &&&r6   Úis_instrumentedÚClassManager.is_instrumentedæ  s   € ßØ‘;Ðà×*Ñ*Ñ*Ð*r9   c               ó    € V ^8„  d   QhRRRR/# )r.   r¬   rÍ   r2   r   r4   )r5   s   "r6   r7   rƒ   ì  s   € ÷ ñ ˜Cð  Mñ r9   c                	ó&   € W,          P                   # r;   rÏ   rÐ   s   &&r6   r.  ÚClassManager.get_implì  s   € Ø�y�~‰~Ðr9   c               ó   € V ^8„  d   QhRR/# )r.   r2   zIterable[Any]r4   )r5   s   "r6   r7   rƒ   ð  s   € ÷ #ñ #˜Mñ #r9   c                	ó4   € \        V P                  4       4      # r;   )Úiterr©   r^   s   &r6   Ú
attributesÚClassManager.attributesï  s   € ä�D—K‘K“MÓ"Ð"r9   c               ó    € V ^8„  d   QhRRRR/# )r.   r   úOptional[InstanceState[_O]]r2   r   r4   )r5   s   "r6   r7   rƒ   õ  s   € ÷ 	ñ 	Ð"=ð 	Èñ 	r9   c                	óœ   € V P                   P                  V P                   4      pVf   V P                  W 4      pV P                  W!4       V# r;   )rI   Ú__new__rà   Ú_state_setter)r<   r   Úinstances   && r6   Únew_instanceÚClassManager.new_instanceõ  sD   € ð
 —;‘;×&Ñ& t§{¡{Ó3ˆØŠ=Ø×+Ñ+¨HÓ;ˆEØ×Ñ˜8Ô+Øˆr9   c               ó$   € V ^8„  d   QhRRRRRR/# )r.   rF  r   r   rB  r2   r3   r4   )r5   s   "r6   r7   rƒ      s$   € ÷ ,ñ ,Øð,Ø#>ð,à	ñ,r9   c                	óR   € Vf   V P                  W4      pV P                  W4       R # r;   )rà   rE  ©r<   rF  r   s   &&&r6   Úsetup_instanceÚClassManager.setup_instance   s'   € ð Š=Ø×+Ñ+¨HÓ;ˆEØ×Ñ˜8Ö+r9   c               ó    € V ^8„  d   QhRRRR/# )r.   rF  r   r2   r3   r4   )r5   s   "r6   r7   rƒ     s   € ÷ +ñ +¨"ð +°ñ +r9   c                	ó0   € \        WP                  4       R # r;   )r  r  ©r<   rF  s   &&r6   Úteardown_instanceÚClassManager.teardown_instance  s   € Ü�Ÿ/™/Ö*r9   c               ó$   € V ^8„  d   QhRRRRRR/# )r.   r   r,  Ú
state_dictúDict[str, Any]r2   Ú_SerializeManagerr4   )r5   s   "r6   r7   rƒ   
  s$   € ÷ 4ñ 4Ø&ð4Ø4Bð4à	ñ4r9   c                	ó   € \        W4      # r;   )rV  )r<   r   rT  s   &&&r6   Ú
_serializeÚClassManager._serialize
  s   € ô ! Ó3Ð3r9   c               ó    € V ^8„  d   QhRRRR/# )r.   rF  r   r2   z(Union[Literal[False], InstanceState[_O]]r4   )r5   s   "r6   r7   rƒ     s   € ÷ ñ Øðà	1ñr9   c                ó0  € \        WP                  4      '       d   R# V P                  VP                  Jd=   V P                  '       d+   V P                  VP                  4      P                  V4      # V P                  W4      pV P                  W4       V# )zsInstall a default InstanceState if none is present.

A private convenience method used by the __init__ decorator.

F)	Úhasattrr  rI   Ú	__class__r¢   r×   Ú_new_state_if_nonerà   rE  rK  s   && r6   r^  ÚClassManager._new_state_if_none  s~   € ô �8Ÿ_™_×-Ò-ÙØ�[‰[ × 2Ñ 2Ó2°t·~·~°~ð ×)Ñ)Ø×"Ñ"óç Ñ  Ó*ð+ð ×+Ñ+¨HÓ;ˆEØ×Ñ˜xÔ/ØˆLr9   c               ó    € V ^8„  d   QhRRRR/# )r.   rF  r   r2   r}   r4   )r5   s   "r6   r7   rƒ   '  s   € ÷ 2ñ 2 "ð 2¨ñ 2r9   c                	ó,   € \        WP                  4      # r;   )r\  r  rP  s   &&r6   Ú	has_stateÚClassManager.has_state'  s   € Ü�x§¡Ó1Ð1r9   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r.   r   r,  r¬   rÍ   Ú
optimisticr}   r2   r4   )r5   s   "r6   r7   rƒ   *  s2   € ÷ Jñ JØ&ðJØ-0ðJØ>BðJà	ñJr9   c                óD   € V P                  V4      P                  WR7      # )ÚTODO)re  )r.  Ú	hasparent)r<   r   r¬   re  s   &&&&r6   Ú
has_parentÚClassManager.has_parent*  s!   € ð �}‰}˜SÓ!×+Ñ+¨EÐ+ÓIÐIr9   c               ó   € V ^8„  d   QhRR/# r    r4   )r5   s   "r6   r7   rƒ   0  s   € ÷ ñ ˜$ñ r9   c                ó   € R# )z=All ClassManagers are non-zero regardless of attribute state.Tr4   r^   s   &r6   Ú__bool__ÚClassManager.__bool__0  s   € ár9   c               ó   € V ^8„  d   QhRR/# )r.   r2   rÍ   r4   )r5   s   "r6   r7   rƒ   4  s   € ÷ 
ñ 
˜#ñ 
r9   c                	óh   € R V P                   P                  V P                  \        V 4      3,          # )z<%s of %r at %x>)r]  r@   rI   r—   r^   s   &r6   Ú__repr__ÚClassManager.__repr__4  s/   € Ø!Ø�N‰N×#Ñ#Ø�K‰KÜˆt‹Hð%
õ 
ð 	
r9   )rZ   ri   rI   rX   rR   rS   rW   re   rU   rg   r~   rf   rV   rh   )FNNNNNr;   )F)Hr@   rA   rB   rC   Ú__doc__Ú__annotations__r   ÚDEFAULT_MANAGER_ATTRrä   ÚDEFAULT_STATE_ATTRr  Ústaticmethodr   Ú
attrsetterrE  rV   rX   r   rY   ÚpropertyÚ
deprecatedr_   Úsetterry   rŠ   r‰   r˜   r�   r¢   r   Úmemoized_attributer¦   r¯   r³   r¶   Úmemoized_propertyr~   rÆ   rÊ   rÑ   r×   r�   rà   rs   Úhybridmethodrè   rì   rð   rú   rþ   r  r  r  r÷   r  rÛ   r  r)  r2  r7  r.  r?  rG  rL  rQ  rX  r^  rb  ri  rm  rq  rD   r4   r9   r6   rQ   rQ   ^   sž  ‡ ñ 7à*Ó*à×,Ñ,€LØ×(Ñ(€Já  §¢°Ó!<Ó=€Mà:Ó:Ø0à.Ó.Ø37€MÐ0Ó7à&Ó&à=AÐÐ:ÓAàÓçàˆàÓà#Ó#àØ	‡_‚_Øð)ôñ
-óó ð-ð ×"Ñ"Ø	‡_‚_Øð)ôñ
,óó #ð,ò+÷Z$õLHõõð ô)ó ð)ð ×#Ñ#ñó $ðð ×#Ñ#ñ
ó $ð
ð
 ×#Ñ#ñ
ó $ð
ð ×#Ñ#ñ@ó $ð@ð 
×Ñô2ó ð2ô#ôBõ:õ3ò7ð 
×Ñô#ó ð#ò6ð
 
×Ññ'ó ð'ð 
×Ññ%ó ð%ð 
×Ññ$ó ð$÷:ò&;ò
ô
:õ 4õ$(õ"õ2õ&õEõ

"÷+õð ô#ó ð#÷
	÷,õ+õ4õ
õ02÷Jõ÷
ñ 
r9   rQ   rô   c                  ó,   € ] tR tRtRtR R ltR tRtR# )rV  i<  z•Provide serialization of a :class:`.ClassManager`.

The :class:`.InstanceState` uses ``__init__()`` on serialize
and ``__call__()`` on deserialize.

c               ó    € V ^8„  d   QhRRRR/# )r.   r   r/   ÚdrU  r4   )r5   s   "r6   r7   Ú_SerializeManager.__annotate__D  s   € ÷ *ñ *Ð6ð *¸>ñ *r9   c                	óv   € VP                   V n         VP                  pVP                  P                  W4       R # r;   )rI   rû   rR   Úpickle)r<   r   r�  rû   s   &&& r6   ry   Ú_SerializeManager.__init__D  s*   € Ø—l‘lˆŒØ—-‘-ˆØ×Ñ×Ñ Ö)r9   c                	ó†  € \        V P                  4      ;Vn        pVf)   \        P                  ! VRV P                  ,          4      hVP
                  '       d7   VP                  P                  '       g   VP                  P                  4        Ve   VP                  W!4       VP                  P                  W4       R # )NzxCannot deserialize object of type %r - no mapper() has been configured for this class within the current Python process!)rm   rI   rû   r   ÚUnmappedInstanceErrorr¢   r~   Ú
configuredÚ_check_configurerL  rR   Úunpickle)r<   r   ró   rT  rû   s   &&&& r6   r=   Ú_SerializeManager.__call__I  sœ   € Ü"6°t·{±{Ó"CÐCˆŒ˜ØŠ?Ü×+Ò+Øð"ð %)§K¡Kõ0óð ð ××Ð w§~¡~×'@×'@Ð'@Ø�N‰N×+Ñ+Ô-ð
 ÒØ×"Ñ" 4Ô/Ø×Ñ×!Ñ! %Ö4r9   ©rI   N)r@   rA   rB   rC   rs  ry   r=   rD   r4   r9   r6   rV  rV  <  s   † ñõ*ö
5r9   rV  c                  óV   € ] tR tRt$ RtR]R&   R R ltR R ltR	 R
 ltR R lt	Rt
R# )ÚInstrumentationFactoryi^  z'Factory for new ClassManager instances.z"dispatcher[InstrumentationFactory]rR   c               ó    € V ^8„  d   QhRRRR/# rH   r4   )r5   s   "r6   r7   Ú#InstrumentationFactory.__annotate__c  s   € ÷ ñ ¨Xð Ð:Jñ r9   c                	ó¼   € Vf   Q h\        V4      e   Q hV P                  V4      w  r#Vf   \        p\        V4      pMVf   Q hV P                  W4       W2n        V# r;   )rm   Ú_locate_extended_factoryrQ   Ú_check_conflictsrW   )r<   rI   rû   rW   s   &&  r6   Úcreate_manager_for_clsÚ-InstrumentationFactory.create_manager_for_clsc  sl   € ØÒ!Ð!Ð!Ü# FÓ+Ò3Ð3Ð3ð  ×8Ñ8¸Ó@ÑˆàŠ?Ü"ˆGÜ" 6Ó*‰GàÒ&Ð&Ð&à×Ñ˜fÔ.à!Œàˆr9   c               ó    € V ^8„  d   QhRRRR/# )r.   rI   rJ   r2   z<Tuple[Optional[ClassManager[_O]], Optional[_ManagerFactory]]r4   )r5   s   "r6   r7   r�  w  s   € ÷ ñ Øðà	Eñr9   c                ó   € R# )z2Overridden by a subclass to do an extended lookup.)NNr4   rN   s   &&r6   r’  Ú/InstrumentationFactory._locate_extended_factoryw  s
   € ð Ðr9   c               ó$   € V ^8„  d   QhRRRRRR/# )r.   rI   rJ   rW   z&Callable[[Type[_O]], ClassManager[_O]]r2   r3   r4   )r5   s   "r6   r7   r�  }  s)   € ÷ Jñ JØðJØ)OðJà	ñJr9   c                ó   € R# )z;Overridden by a subclass to test for conflicting factories.Nr4   )r<   rI   rW   s   &&&r6   r“  Ú'InstrumentationFactory._check_conflicts}  s   ‚ r9   c               ó    € V ^8„  d   QhRRRR/# )r.   rI   rJ   r2   r3   r4   )r5   s   "r6   r7   r�  ‚  s   € ÷ 1ñ 1 ð 1¨dñ 1r9   c                	ór   € \        V4      pVP                  4        V P                  P                  V4       R # r;   )Úmanager_of_classr  rR   Úclass_uninstrument)r<   rI   rû   s   && r6   r  Ú!InstrumentationFactory.unregister‚  s*   € Ü" 6Ó*ˆØ×ÑÔØ�‰×(Ñ(¨Ö0r9   r4   N)r@   rA   rB   rC   rs  rt  r”  r’  r“  r  rD   r4   r9   r6   rŽ  rŽ  ^  s%   ‡ Ù1à0Ó0õõ(õJ÷
1ñ 1r9   rŽ  c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r.   rI   rJ   r|   r}   r~   r   rY   r€   rX   r�   rS   r‚   rU   rT   r2   rK   r4   )r5   s   "r6   r7   r7   —  sY   € ÷ ñ Øðàðð !ðð &ð	ð
 .ðð Eðð /ðð ñr9   c           	     ó|   € \        V 4      pVf   \        P                  V 4      pVP                  VVVVVVR7       V# )zWRegister class instrumentation.

Returns the existing or newly created class manager.

)r~   rY   rX   rS   rU   r|   )rm   r‘   r”  rŠ   )rI   r|   r~   rY   rX   rS   rU   rû   s   &&&&&&& r6   rÖ   rÖ   —  sO   € ô # 6Ó*€GØ‚Ü*×AÑAÀ&ÓIˆØ×ÑØØØ)Ø!9ØØð ô ð €Nr9   c                ó0   € \         P                  V 4       R# )z!Unregister class instrumentation.N)r‘   r  rŒ  s   &r6   Úunregister_classr¤  µ  s   € ô ×'Ñ'¨Ö/r9   c                óN   € \        V P                  4      P                  VRR7      # )zßReturn True if the given attribute on the given instance is
instrumented by the attributes package.

This function may be used regardless of instrumentation
applied directly to the class, i.e. no descriptors are required.

T)r5  )rž  r]  r7  )rF  r¬   s   &&r6   r7  r7  »  s-   € ô ˜H×.Ñ.Ó/×?Ñ?Ø�Dð @ó ð r9   c                ón  € Vf   V P                   pRp\        P                  ! VRR7      pW4,          p\        VRR4      p\        VRR4      p\	        4       P                  4       p\        VR&   \        WX4       VR,          p	VP                  V	n        W)n	        V'       d   Win
        V'       d   Wyn        V	# )	z>Build an __init__ decorator that triggers ClassManager events.Nzßdef __init__(%(apply_pos)s):
    new_state = class_manager._new_state_if_none(%(self_arg)s)
    if new_state:
        return new_state._initialize_instance(%(apply_kw)s)
    else:
        return original_init(%(apply_kw)s)
F)ÚgroupedÚ__defaults__Ú__kwdefaults__r@   ry   )ry   r   Úformat_argspec_initÚgetattrÚlocalsÚcopyr@   Úexecrs  Ú_sa_original_initr¨  r©  )
rI   Úclass_managerrV   Ú	func_bodyÚ	func_varsÚ	func_textÚfunc_defaultsÚfunc_kw_defaultsÚenvry   s
   &&&       r6   rÚ   rÚ   È  s¦   € ð ÒØŸ™ˆð€Iô ×(Ò(¨ÀÔF€IØÕ%€Iä˜M¨>¸4Ó@€MÜ˜}Ð.>ÀÓEÐä
‹(�-‰-‹/€CÜ€Cˆ
�OÜˆÔØ�:�€HØ$×,Ñ,€HÔØ!.ÔçØ -ÔßØ"2Ôà€Or9   )TNNNNN)Hrs  Ú
__future__r   Útypingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r†   Ú r   r   r   r   r   Ú_typingr   r?  r   r   Úeventr   r   Úutil.typingr   r   r   r   r    r!   r"   Ú	decl_baser#   Úeventsr$   r~   r%   r&   r'   r(   Úsymbolr*   r,   rF   rÍ   rQ   rV  rŽ  r‘   Úinstance_staterë   Úinstance_dictrï   rž  rç   rm   Ú_default_opt_manager_getterrÖ   r¤  r7  rÚ   r4   r9   r6   Ú<module>rÃ     s_  ðñõ0 #å Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý Û å Ý Ý Ý Ý Ý Ý 5Ý Ý Ý Ý !Ý "çÝ&Ý)Ý.Ý7Ý3Ý(Ý&ÝÝ$Ý"áˆT˜Ô€Ø�;Š;�zÓ"€ô 8ô ôB�hô Bô[
ØØˆÐ'Ð	'Õ(ØˆB…KØô	[
÷|5ñ 5ôD'1˜[ô '1ñX 2Ó3Ð ð
 *.×)<Ñ)<Ð <€Ð&à'+×'9Ñ'9Ð 9€Ð$à-1×-BÑ-BÐ BÐ Ð*Ø59×5NÑ5NÐ NÐ Ð2÷ò<0ò
ô)r9   