
    ,hmk                       S r SSKJr  SSKJr  SSKrSSK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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#  \R                   (       aZ  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/J0r0  SS%K1J2r2  SS&KJ3r3  SS'K4J5r5  SS(K6J7r7  SS)K6J8r8  SS*KJ9r9  SS+K:J;r;  \" S,\S-9r<\" S.\S/S09r=\" S1\>S-9r? " S2 S3\5      r@\A" \@5      u  rBrCrDrErF\FrG " S4 S5\5      rH\HR                  R                  5       u  rKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\S6r]S7r^ " S8 S9\5      r_\A" \_5      u  r`rarbrc " S: S;\5      rd\A" \d5      u  rerfrg " S< S=\5      rh " S> S?\h5      ri\j" \G/5      rk\j" S\G\B/5      rl\j" S/5      rm\R                  " S@5      ro\R                  " SA5      rp\R                  " SB5      rq\" SC\SD\4   S-9rr\" SE5      rs    SxSF jrt\(       a1  SySG jru\SzSH j5       rv\    S{SI j5       rv    S{SJ jrvS|SK jrwS}SL jrxO*SM ruSN rv\R                  " \^5      rw\R                  " SO5      rxS~SP jrzSSQ jr{SSR jr|SSS jr}SST jr~SSU jrSSV jr\GR                  " \>5      SSW j5       r    SSX jr    SSY jrSSZ jrSS[ jr\SS\ j5       r\(       a  SS] jrO\GR                  " S^5      r S     SS_ jjrSS` jrSSSa jjr " Sb Sc5      r " Sd Se\5      r " Sf Sg\\=   \!5      r " Sh Si\
\=   \!5      r " Sj Sk\
\=   \!5      r " Sl Sm\\=   \\=   \!5      r " Sn So\\=   \\=   \\=   \GR&                  5      r " Sp Sq\
\=   \!5      r " Sr Ss\\=   \\=   5      r " St Su\\=   5      r " Sv Sw\\=   5      rg)z=Constants and rudimental functions used throughout the ORM.

    )annotations)EnumN)Any)Callable)Dict)Generic)no_type_check)Optional)overload)Tuple)Type)TYPE_CHECKING)TypeVar)Union   )exc)insp_is_mapper   )
inspection)util)roles)SQLColumnExpression)SQLCoreOperations)FastIntFlag)
TypingOnly)Literal)_EntityType)_ExternalEntityType)_InternalEntityType)InstrumentedAttribute)AppenderQuery)ClassManager)PropComparator)Mapper)InstanceState)AliasedClass)WriteOnlyCollection)_ColumnExpressionArgument)	_InfoType)ColumnElement)OperatorType_T)bound_T_coT)r-   	covariant_Oc                  6    \ rS rSrSr Sr Sr Sr Sr \r	Sr
g)	LoaderCallableStatusA   r   r   r          N)__name__
__module____qualname____firstlineno__PASSIVE_NO_RESULTPASSIVE_CLASS_MISMATCHATTR_WAS_SET
ATTR_EMPTYNO_VALUE	NEVER_SET__static_attributes__r6       K/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/orm/base.pyr2   r2   A   sG    
 D L
 JJH
 IrB   r2   c                      \ rS rSrSrSr Sr Sr Sr Sr	 Sr
 S	r S
r Sr Sr Sr\\
-  \	-  \-  \-  r \\	-  r \\-  r \\-  r \\-  r \\
-  r \\-  rSrg)PassiveFlagp   z;Bitflag interface that passes options onto loader callablesr   r   r   r5             @         i   r6   N)r7   r8   r9   r:   __doc__	NO_CHANGECALLABLES_OKSQL_OKRELATED_OBJECT_OKINIT_OKNON_PERSISTENT_OKLOAD_AGAINST_COMMITTEDNO_AUTOFLUSHNO_RAISEDEFERRED_HISTORY_LOADINCLUDE_PENDING_MUTATIONSPASSIVE_OFFPASSIVE_RETURN_NO_VALUEPASSIVE_NO_INITIALIZEPASSIVE_NO_FETCHPASSIVE_NO_FETCH_RELATEDPASSIVE_ONLY_PERSISTENTPASSIVE_MERGErA   r6   rB   rC   rE   rE   p   s    EI L FL G
 C L4H:F # 	--7,FO  -)G33lB,"V+*->>%),==%(*MrB   rE   _sa_class_manager_sa_instance_statec                  $    \ rS rSrSrSrSrSrSrg)EventConstants   r   r   r4   r5   r6   N)	r7   r8   r9   r:   EXT_CONTINUEEXT_STOPEXT_SKIPNO_KEYrA   r6   rB   rC   rc   rc      s    LHHFrB   rc   c                  (    \ rS rSrSrSr Sr SrSrg)RelationshipDirection   zenumeration which indicates the 'direction' of a
:class:`_orm.RelationshipProperty`.

:class:`.RelationshipDirection` is accessible from the
:attr:`_orm.Relationship.direction` attribute of
:class:`_orm.RelationshipProperty`.

r   r   r4   r6   N)	r7   r8   r9   r:   rM   	ONETOMANY	MANYTOONE
MANYTOMANYrA   r6   rB   rC   rj   rj      s+     I I JrB   rj   c                      \ rS rSrSrSrg)InspectionAttrExtensionTypei
  zTSymbols indicating the type of extension that a
:class:`.InspectionAttr` is part of.r6   N)r7   r8   r9   r:   rM   rA   r6   rB   rC   rp   rp   
  s    ,rB   rp   c                      \ rS rSrSrSrg)NotExtensioni  not_extensionr6   N)r7   r8   r9   r:   NOT_EXTENSIONrA   r6   rB   rC   rr   rr     s    #MrB   rr   SET_DEFERRED_EXPIREDDEFER_FOR_STATERAISE_FOR_STATE_F._Selfc                 >   ^  [         R                  SU 4S jj5       nU$ )Nc                V   > T H  nU" XR                   5        M     U " U/UQ70 UD6  U$ N)r7   )fnselfargskw	assertion
assertionss        rC   generate_assertions.<locals>.generate.  s0    #IdKK( $
4$"rB   )
r}   rx   r~   ry   r   r   r   r   returnry   )r   	decorator)r   r   s   ` rC   _assertionsr   +  s"     
^^  OrB   c                    g r|   r6   clss    rC   manager_of_classr   :  s    SrB   c                    g r|   r6   r   s    rC   opt_manager_of_classr   <  s    >ArB   c                    g r|   r6   r   s    rC   r   r   ?  s     &)rB   c                    g r|   r6   r   s    rC   r   r   D  s    %(rB   c                    g r|   r6   instances    rC   instance_stater   H      3rB   c                    g r|   r6   r   s    rC   instance_dictr   J  r   rB   c                     U R                   [           $ ! [         a   n[        R                  " U SU  35      UeS nAff = f)Nz2Can't locate an instrumentation manager for class )__dict__DEFAULT_MANAGER_ATTRKeyErrorr   UnmappedClassError)r   kes     rC   r   r   P  sJ    	<< 455 	((I#O	s    
?:?c                @    U R                   R                  [        5      $ r|   )r   getr   r   s    rC   r   r   X  s    || 455rB   r   c                *    [        [        U 5      5      $ )z'Return a string describing an instance.)	state_strr   r   s    rC   instance_strr   `  s     ^H-..rB   c                n    U c  gSU R                   R                  [        U R                  5       5      4-  $ )z=Return a string describing an instance via its InstanceState.Nonez<%s at 0x%x>)class_r7   idobjstates    rC   r   r   f  s0     }!6!6599; HHHrB   c                @    U c  gSU R                   R                  < S3$ )zFReturn a string describing an instance's class via its
InstanceState.
r   <>)r   r7   r   s    rC   state_class_strr   o  s&    
 }  ..00rB   c                $    [        U 5      S-   U-   $ N.)r   )r   	attributes     rC   attribute_strr   z  s    !C')33rB   c                $    [        U 5      S-   U-   $ r   )r   )r   r   s     rC   state_attribute_strr   ~  s    Uc!I--rB   c                ,    [        U 5      R                  $ )a  Given an object, return the primary Mapper associated with the object
instance.

Raises :class:`sqlalchemy.orm.exc.UnmappedInstanceError`
if no mapping is configured.

This function is available via the inspection system as::

    inspect(instance).mapper

Using the inspection system will raise
:class:`sqlalchemy.exc.NoInspectionAvailable` if the instance is
not part of a mapping.

)object_statemapperr   s    rC   object_mapperr     s      !(((rB   c                N    [        U 5      nUc  [        R                  " U 5      eU$ )a  Given an object, return the :class:`.InstanceState`
associated with the object.

Raises :class:`sqlalchemy.orm.exc.UnmappedInstanceError`
if no mapping is configured.

Equivalent functionality is available via the :func:`_sa.inspect`
function as::

    inspect(instance)

Using the inspection system will raise
:class:`sqlalchemy.exc.NoInspectionAvailable` if the instance is
not part of a mapping.

)_inspect_mapped_objectr   UnmappedInstanceError)r   r   s     rC   r   r     s)    " #8,E}''11rB   c                r     [        U 5      $ ! [        R                  4[        R                  -    a     g f = fr|   )r   r   r   NO_STATEr   s    rC   r   r     s6    h''""$s||3 s   
 &66c                    [         R                  " U S5      nUb  UR                  $ [        U [        5      (       d   e[
        R                  " U 5      e)NF)r   inspectr   
isinstancetyper   r   )class_or_mapperinsps     rC   _class_to_mapperr     sJ     ou5D{{/40000$$_55rB   c                P    [         R                  " U S5      nUb  UR                  $ g)zXReturn the :class:`_orm.Mapper` for the given class or None if the
class is not mapped.
FN)r   r   r   entityr   s     rC   _mapper_or_noner     s)     fe,D{{rB   c                    [         R                  " U S5      nUSL=(       a7    UR                  (       + =(       a    UR                  =(       d    UR                  $ )zdReturn True if the given object is a mapped class,
:class:`_orm.Mapper`, or :class:`.AliasedClass`.
FN)r   r   is_clause_element	is_mapperis_aliased_classr   s     rC   _is_mapped_classr     sK    
 fe,DD 	6&&&	6^^4t44rB   c                `    [         R                  " U S5      nUS L=(       a    [        USS5      $ )NFr   )r   r   getattrr   s     rC   _is_aliased_classr     s.    fe,DtH.@% HHrB   c                   [         R                  " U 5      nUR                  (       a  U nUR                  n OKUR                  (       a  UR
                  n U nO+[        US5      (       a  UR                  R                  =p0OU n [        X5      $ ! [         a%  n[        R                  " SU< SU< S35      UeSnAff = f)zReturn a class attribute given an entity and string name.

May return :class:`.InstrumentedAttribute` or user-defined
attribute.

r   zEntity 'z' has no property ''N)r   r   is_selectablecr   r   hasattrr   r   r   AttributeErrorsa_excInvalidRequestError)r   keyr   descriptionerrs        rC   _entity_descriptorr     s     f%D				x	 	 #{{111fv## ((2=sC
	s   
B 
B= B88B=c                    g r|   r6   r   s    rC   _state_mapperr      s    srB   zmanager.mapperc                     [        U 5      nUb  UR                  (       d  g UR                  nU(       a  UR                  5         U$ ! [        R
                   a     g f = fr|   )r   	is_mappedr   _check_configurer   r   )r   	configureclass_managerr   s       rC   _inspect_mapped_classr     s[    
,V4 (?(?%% ##% << s   A A AAc                    [         R                  " U SS9n[        U5      (       a  U$ [        R                  " SU < 35      e)NF)raiseerrz%Mapper or mapped class expected, got )r   r   r   r   ArgumentError)argr   s     rC   _parse_mapper_argumentr     s=    cE2Dd


!FsgN
OOrB   c                    [        XS9nUcF  [        U [        5      (       d  [        R                  " SU < S35      e[
        R                  " U 5      eU$ )a  Given a class, return the primary :class:`_orm.Mapper` associated
with the key.

Raises :exc:`.UnmappedClassError` if no mapping is configured
on the given class, or :exc:`.ArgumentError` if a non-class
object is passed.

Equivalent functionality is available via the :func:`_sa.inspect`
function as::

    inspect(some_mapped_class)

Using the inspection system will raise
:class:`sqlalchemy.exc.NoInspectionAvailable` if the class is not mapped.

)r   zClass object expected, got 'z'.)r   r   r   r   r   r   r   )r   r   r   s      rC   class_mapperr     sQ    " #6?F~&$''&&6<>  $$V,,rB   c                      \ rS rSr% SrSrS\S'   Sr Sr Sr	 Sr
 Sr Sr Sr Sr Sr \R"                  rS\S'   Srg	)
InspectionAttri:  a)  A base class applied to all ORM objects and attributes that are
related to things that can be returned by the :func:`_sa.inspect` function.

The attributes defined here allow the usage of simple boolean
checks to test basic facts about the object returned.

While the boolean checks here are basically the same as using
the Python isinstance() function, the flags here can be used without
the need to import all of these classes, and also such that
the SQLAlchemy class system can change while leaving the flags
here intact for forwards-compatibility.

r6   zTuple[str, ...]	__slots__Frp   extension_typeN)r7   r8   r9   r:   rM   r   __annotations__r   r   is_instancer   	is_bundleis_propertyis_attribute_is_internal_proxyr   rr   rt   r   rA   r6   rB   rC   r   r   :  s     "$I#M( GKHIEIAKIL  + 3?2L2LN/L	rB   r   c                  D    \ rS rSrSrSr\R                  SS j5       rSr	g)InspectionAttrInfoi  a  Adds the ``.info`` attribute to :class:`.InspectionAttr`.

The rationale for :class:`.InspectionAttr` vs. :class:`.InspectionAttrInfo`
is that the former is compatible as a mixin for classes that specify
``__slots__``; this is essentially an implementation artifact.

r6   c                    0 $ )a  Info dictionary associated with the object, allowing user-defined
data to be associated with this :class:`.InspectionAttr`.

The dictionary is generated when first accessed.  Alternatively,
it can be specified as a constructor argument to the
:func:`.column_property`, :func:`_orm.relationship`, or
:func:`.composite`
functions.

.. seealso::

    :attr:`.QueryableAttribute.info`

    :attr:`.SchemaItem.info`

r6   )r~   s    rC   infoInspectionAttrInfo.info  s	    $ 	rB   N)r   r)   )
r7   r8   r9   r:   rM   r   r   ro_memoized_propertyr   rA   r6   rB   rC   r   r     s&     I	 rB   r   c                      \ rS rSrSr\R                  (       a/      SS jr    S	S jr S
     SS jjr	 S
     SS jjr
SrgSrg)SQLORMOperationsi  r6   c                    g r|   r6   )r~   r   s     rC   of_typeSQLORMOperations.of_type  s    $'rB   c                    g r|   r6   )r~   criterias     rC   and_SQLORMOperations.and_  s    #&rB   Nc                    g r|   r6   r~   	criterionkwargss      rC   anySQLORMOperations.any       #&rB   c                    g r|   r6   r  s      rC   hasSQLORMOperations.has  r
  rB   )r   _EntityType[Any]r   zPropComparator[_T_co])r  z_ColumnExpressionArgument[bool]r   zPropComparator[bool]r|   )r  z)Optional[_ColumnExpressionArgument[bool]]r  r   r   zColumnElement[bool])r7   r8   r9   r:   r   typingr   r   r  r  r  rA   r6   rB   rC   r   r     s    I	(*	("	(	'<	'!	' DH	&@	& 	& !		& DH	&@	& 	& !		& 	&! rB   r   c                      \ rS rSrSrSr\R                  (       a8  \      S	S j5       r	\      S
S j5       r	\SS j5       r	      SS jr	Sr
gSr
g)ORMDescriptori  z\Represent any Python descriptor that provides a SQL expression
construct at the class level.r6   c                    g r|   r6   r~   r   owners      rC   __get__ORMDescriptor.__get__       $'rB   c                    g r|   r6   r  s      rC   r  r    s     (+rB   c                    g r|   r6   r  s      rC   r  r        BErB   c                    g r|   r6   r  s      rC   r  r    s    KNrB   N)r   r   r  Literal[None]r   zORMDescriptor[_T_co])r   r  r  r   r   zSQLCoreOperations[_T_co]r   objectr  r   r   r.   )r   r  r  r   r   z<Union[ORMDescriptor[_T_co], SQLCoreOperations[_T_co], _T_co])r7   r8   r9   r:   rM   r   r  r   r   r  rA   r6   rB   rC   r  r    s    % I		'	'(5	'!	' 
	' 
	+)	+25	+%	+ 
	+ 
E 
E	O"	O+.	OI	O rB   r  c                      \ rS rSrSrSrSrg)_MappedAnnotationBasei  zcommon class for Mapped and similar ORM container classes.

these are classes that can appear on the left side of an ORM declarative
mapping, containing a mapped class or in some cases a collection
surrounding a mapped class.

r6   Nr7   r8   r9   r:   rM   r   rA   r6   rB   rC   r   r     s     IrB   r   c                      \ rS rSrSrSrSrg)SQLORMExpressioni  a  A type that may be used to indicate any ORM-level attribute or
object that acts in place of one, in the context of SQL expression
construction.

:class:`.SQLORMExpression` extends from the Core
:class:`.SQLColumnExpression` to add additional SQL methods that are ORM
specific, such as :meth:`.PropComparator.of_type`, and is part of the bases
for :class:`.InstrumentedAttribute`. It may be used in :pep:`484` typing to
indicate arguments or return values that should behave as ORM-level
attribute expressions.

.. versionadded:: 2.0.0b4


r6   Nr!  r6   rB   rC   r#  r#    s      IrB   r#  c                      \ rS rSrSrSr\R                  (       aB  \      SS j5       r	\SS j5       r	      SS jr	\
SS j5       r      SS jrSS	 jrSrg
Srg
)Mappedi  a
  Represent an ORM mapped attribute on a mapped class.

This class represents the complete descriptor interface for any class
attribute that will have been :term:`instrumented` by the ORM
:class:`_orm.Mapper` class.   Provides appropriate information to type
checkers such as pylance and mypy so that ORM-mapped attributes
are correctly typed.

The most prominent use of :class:`_orm.Mapped` is in
the :ref:`Declarative Mapping <orm_explicit_declarative_base>` form
of :class:`_orm.Mapper` configuration, where used explicitly it drives
the configuration of ORM attributes such as :func:`_orm.mapped_class`
and :func:`_orm.relationship`.

.. seealso::

    :ref:`orm_explicit_declarative_base`

    :ref:`orm_declarative_table`

.. tip::

    The :class:`_orm.Mapped` class represents attributes that are handled
    directly by the :class:`_orm.Mapper` class. It does not include other
    Python descriptor classes that are provided as extensions, including
    :ref:`hybrids_toplevel` and the :ref:`associationproxy_toplevel`.
    While these systems still make use of ORM-specific superclasses
    and structures, they are not :term:`instrumented` by the
    :class:`_orm.Mapper` and instead provide their own functionality
    when they are accessed on a class.

.. versionadded:: 1.4


r6   c                    g r|   r6   r  s      rC   r  Mapped.__get__*       ,/rB   c                    g r|   r6   r  s      rC   r  r'  /  r  rB   c                    g r|   r6   r  s      rC   r  r'  2  s    9<rB   c                    g r|   r6   )r   arg1s     rC   _empty_constructorMapped._empty_constructor6  s    ADrB   c                    g r|   r6   r~   r   values      rC   __set__Mapped.__set__9      rB   c                    g r|   r6   )r~   r   s     rC   
__delete__Mapped.__delete__=  s    SrB   Nr   r   r  r   r   zInstrumentedAttribute[_T_co]r  )r   Optional[object]r  r   r   z*Union[InstrumentedAttribute[_T_co], _T_co])r,  r   r   zMapped[_T_co])r   r   r1  z&Union[SQLCoreOperations[_T_co], _T_co]r   r   )r   r   r   r   )r7   r8   r9   r:   rM   r   r  r   r   r  classmethodr-  r2  r6  rA   r6   rB   rC   r%  r%    s    "H I		/ 	/),	/)	/ 
	/ 
E 
E	=,	=58	=7	= 
D 
D		(N		 	9+ rB   r%  c                      \ rS rSrSrSrSrg)_MappedAttributei@  zNMixin for attributes which should be replaced by mapper-assigned
attributes.

r6   Nr!  r6   rB   rC   r<  r<  @  s    
 IrB   r<  c                  D    \ rS rSrSrSrSS jr\r        SS jrSr	g)_DeclarativeMappediI  zzMixin for :class:`.MapperProperty` subclasses that allows them to
be compatible with ORM-annotated declarative mappings.

r6   c                    [         $ r|   NotImplementedr~   opotherr  s       rC   operate_DeclarativeMapped.operateW  s    rB   c                    [         $ r|   r@  rB  s       rC   reverse_operate"_DeclarativeMapped.reverse_operate\  s
     rB   N)rC  r+   rD  r   r  r   r   r   )
r7   r8   r9   r:   rM   r   rE  __sa_operate__rH  rA   r6   rB   rC   r>  r>  I  s?    
 I N'*69	rB   r>  c                      \ rS rSrSrSr\(       a9  \      S	S j5       r\      S
S j5       r      SS jr      SS jr	Sr
gSr
g)DynamicMappedib  a  Represent the ORM mapped attribute type for a "dynamic" relationship.

The :class:`_orm.DynamicMapped` type annotation may be used in an
:ref:`Annotated Declarative Table <orm_declarative_mapped_column>` mapping
to indicate that the ``lazy="dynamic"`` loader strategy should be used
for a particular :func:`_orm.relationship`.

.. legacy::  The "dynamic" lazy loader strategy is the legacy form of what
   is now the "write_only" strategy described in the section
   :ref:`write_only_relationship`.

E.g.::

    class User(Base):
        __tablename__ = "user"
        id: Mapped[int] = mapped_column(primary_key=True)
        addresses: DynamicMapped[Address] = relationship(
            cascade="all,delete-orphan"
        )

See the section :ref:`dynamic_relationship` for background.

.. versionadded:: 2.0

.. seealso::

    :ref:`dynamic_relationship` - complete background

    :class:`.WriteOnlyMapped` - fully 2.0 style version

r6   c                    g r|   r6   r  s      rC   r  DynamicMapped.__get__  r(  rB   c                    g r|   r6   r  s      rC   r  rN    r  rB   c                    g r|   r6   r  s      rC   r  rN    s    HKrB   c                    g r|   r6   r0  s      rC   r2  DynamicMapped.__set__  r4  rB   Nr8  )r   r  r  r   r   zAppenderQuery[_T_co])r   r9  r  r   r   z9Union[InstrumentedAttribute[_T_co], AppenderQuery[_T_co]]r   r   r1  ztyping.Collection[_T_co]r   r   r7   r8   r9   r:   rM   r   r   r   r  r2  rA   r6   rB   rC   rL  rL  b  s    @ I		/ 	/),	/)	/ 
	/ 
	'"	'+.	'!	' 
	'	L,	L58	LF	L		(@		! rB   rL  c                      \ rS rSrSrSr\(       a9  \      S	S j5       r\      S
S j5       r      SS jr      SS jr	Sr
gSr
g)WriteOnlyMappedi  a   Represent the ORM mapped attribute type for a "write only" relationship.

The :class:`_orm.WriteOnlyMapped` type annotation may be used in an
:ref:`Annotated Declarative Table <orm_declarative_mapped_column>` mapping
to indicate that the ``lazy="write_only"`` loader strategy should be used
for a particular :func:`_orm.relationship`.

E.g.::

    class User(Base):
        __tablename__ = "user"
        id: Mapped[int] = mapped_column(primary_key=True)
        addresses: WriteOnlyMapped[Address] = relationship(
            cascade="all,delete-orphan"
        )

See the section :ref:`write_only_relationship` for background.

.. versionadded:: 2.0

.. seealso::

    :ref:`write_only_relationship` - complete background

    :class:`.DynamicMapped` - includes legacy :class:`_orm.Query` support

r6   c                    g r|   r6   r  s      rC   r  WriteOnlyMapped.__get__  r(  rB   c                    g r|   r6   r  s      rC   r  rX    s     *-rB   c                    g r|   r6   r  s      rC   r  rX    s     rB   c                    g r|   r6   r0  s      rC   r2  WriteOnlyMapped.__set__  r4  rB   Nr8  )r   r  r  r   r   zWriteOnlyCollection[_T_co])r   r9  r  r   r   z?Union[InstrumentedAttribute[_T_co], WriteOnlyCollection[_T_co]]rS  rT  r6   rB   rC   rV  rV    s    8 I		/ 	/),	/)	/ 
	/ 
	-"	-+.	-'	- 
	-	,	58	
			(@		% rB   rV  )r   r   r   zCallable[[_F], _F])r   Type[_O]r   zClassManager[_O])r   zAliasedClass[Any]r   r   )r   z_ExternalEntityType[_O]r   zOptional[ClassManager[_O]])r   r0   r   InstanceState[_O])r   r  r   zDict[str, Any])r   r  r   str)r   InstanceState[Any]r   r_  )r   r  r   r_  r   r_  )r   r`  r   r_  r   r_  )r   r,   r   
Mapper[_T])r   r,   r   zInstanceState[_T])r   r,   r   zOptional[InstanceState[_T]])r   zUnion[Mapper[_T], Type[_T]]r   ra  )r   z(Union[Type[_T], _InternalEntityType[_T]]r   zOptional[Mapper[_T]])r   r   r   bool)r   r  r   r_  r   r   )r   r^  r   
Mapper[_O])F)r   r]  r   rb  r   zOptional[Mapper[_O]])r   zUnion[Mapper[_O], Type[_O]]r   rc  )T)r   r]  r   rb  r   rc  )rM   
__future__r   enumr   operatorr  r   r   r   r   r	   r
   r   r   r   r   r   r    r   _typingr   r   r   r   sqlr   sql.elementsr   r   r   util.langhelpersr   util.typingr   r   r   r   
attributesr    dynamicr!   instrumentationr"   
interfacesr#   r   r$   r   r%   r&   	writeonlyr'   sql._typingr(   r)   r*   sql.operatorsr+   r,   r.   r  r0   r2   tupler;   r<   r=   r>   r?   r@   rE   __members__valuesrN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r   DEFAULT_STATE_ATTRrc   re   rf   rg   rh   rj   rl   rm   rn   rp   rr   	frozenset
_never_set	_none_set_none_only_setsymbol_SET_DEFERRED_EXPIRED_DEFER_FOR_STATE_RAISE_FOR_STATErx   ry   r   r   r   r   r   
attrgetterr   r   r   r   r   r   r   	_inspectsr   r   r   r   r   r   r   dottedgetterr   r   r   r   r   r   r  r   r#  DDLConstraintColumnRoler%  r<  r>  rL  rV  r6   rB   rC   <module>r     s   #                   #     . ,  ) !	$,,1&-*$".7',,Tsd3T !4 !T 

 	H+ H| ""$'
 + ) 
T 
 ,1+@ (h& D  F $))>#?  	9j,$ ,
.  	{#
tY(9:;	D6"$:; ;;01 ;;01  T#s(+,


 @A A)$)	#) ))$)	#) ?>6 (();<N''
3M/I14.)&0 f 	60	6	64
I
  6 B %%&67M ).!% P8I IX @&(/ &4OGENJ O4	GENJ 	U07,A9U%% 	!!	A9Hwu~z (8(? 25)%0 5p3+E2 3rB   