ó
    Ñ]jz  ã            	      óì  • S 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  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(K0J1r1  S!S)K0J2r2  S!S*K3J4r4  S!S+K5J6r6  S!S,K5J7r7  S!S-K5J8r8  S!S.K5J9r9  S!S/K5J:r:  S!S0K5J;r;  S!S1K5J<r<  S!S2K5J=r=  \(       a`  SS3K>J?r?  SS4K>J@r@  SS5K>JArA  SS6K>JBrB  SS7KJCrC  SS8KDJErE  SS9KFJGrG  SS:KHJIrI  SS;KJJKrK  SS<KJJLrL  S!S=KMJNrN  S!S>KOJPrP  S!S?KOJQrQ  S!S@KRJSrS  S!SAK5JTrT  S!SBK5JUrU  \" SC\SD9rV\" SE\SD9rW\" SFSGSD9rX/ SHQrY\*R´                   " SI SJ\ \V   \#\V   \\*R¶                  5      5       r\ " SK SL\\\V   \\V   5      r] " SM SN\\ \V   \\V   5      r^gO)Pz|MapperProperty implementations.

This is a private module which defines the behavior of individual ORM-
mapped attributes.

é    )Úannotations)ÚAny)Úcast)ÚDict)ÚList)ÚOptional)ÚSequence)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Úexc)Ústrategy_options)Ú_DeclarativeMapped)Úclass_mapper)ÚCompositeProperty)ÚConcreteInheritedProperty)ÚSynonymProperty)Ú_AttributeOptions)Ú_DEFAULT_ATTRIBUTE_OPTIONS)Ú_IntrospectsAnnotations)Ú_MapsColumns)ÚMapperProperty)ÚPropComparator)ÚStrategizedProperty)ÚRelationshipProperty)Úde_stringify_annotationé   )Ú
ForeignKey)Úlog)Úutil)Ú	coercions)Úroles)Ú_NoArg)ÚColumn)ÚSchemaConst)Ú
TypeEngine)Úde_optionalize_union_types)Úget_args)Úincludes_none)Ú	is_a_type)Ú
is_fwd_ref)Ú	is_pep593)Ú	is_pep695)ÚSelf)Ú_IdentityKeyType)Ú_InstanceDict)Ú_ORMColumnExprArgument)Ú_RegistryType)ÚMapped)Ú_ClassScanMapperConfig)ÚMapper)ÚSession)Ú_InstallLoaderCallableProto)ÚInstanceState)Ú	_InfoType)ÚColumnElement)ÚNamedColumn)ÚOperatorType)Ú_AnnotationScanType)ÚRODescriptorReferenceÚ_T)ÚboundÚ_PTÚ_NCzNamedColumn[Any])ÚColumnPropertyr   r   r    r   c                  óR  ^ • \ rS rSr% Sr\R                  rSr Sr	S\
S'   S\
S'   S	\
S
'   S\
S'   SrSSSSSSSSSSSS.                         S#U 4S jjjr                    S$S jr\S%S j5       r\S&S j5       rS'S jr\R&                  " SS5        S(S j5       r\R&                  " SS5        S(S j5       rS)S jr\S)S j5       rS*S jrS+U 4S jjrS,S jr                  S-S jr " S S \R8                  \\   5      rS.S! jr S"r!U =r"$ )/rH   éa   z Describes an object attribute that corresponds to a table column
or other column expression.

Public constructor is the :func:`_orm.column_property` function.

TFzList[NamedColumn[Any]]ÚcolumnsÚboolÚ_is_polymorphic_discriminatorúOptional[str]Ú_mapped_by_synonymzType[PropComparator[_T]]Úcomparator_factory)rK   ÚgroupÚdeferredÚ
instrumentrP   Úactive_historyÚexpire_on_flushÚ_creation_orderrM   rO   Ú_deferred_column_loaderÚ_raise_column_loaderÚ_renders_in_subqueriesÚ	raiseloadN)Úattribute_optionsrQ   rR   rZ   rP   rT   rU   ÚinfoÚdocÚ_instrumentÚ_assume_readonly_dc_attributesc               ó¸  >• [         TU ]  UUS9  U4U-   nU Vs/ s H(  n[        R                  " [        R
                  U5      PM*     snU l        X0l        X@l        XPl	        X°l
        Ub  UOU R                  R                  U l        Xpl        X€l        U	b  U R                   R#                  U	5        U
b  X l        O;['        U R                  5       H  n[)        USS 5      n
U
c  M  X l          O	   S U l        [*        R,                  " U 5        SU R                  4SU R                  44U l        U R                  (       a  U =R.                  S-  sl        g g s  snf )N)r[   r_   r]   rR   rS   ))rZ   T)ÚsuperÚ__init__r&   Úexpectr'   ÚLabeledColumnExprRolerK   rQ   rR   rZ   rS   Ú	__class__Ú
ComparatorrP   rT   rU   r\   Úupdater]   ÚreversedÚgetattrr%   Úset_creation_orderÚstrategy_key)ÚselfÚcolumnr[   rQ   rR   rZ   rP   rT   rU   r\   r]   r^   r_   Úadditional_columnsrK   ÚcÚcolre   s                    €ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/orm/properties.pyrb   ÚColumnProperty.__init__Ž   sQ  ø€ ô  	‰ÑØ/Ø+Ið 	ñ 	
ð �)Ð0Ñ0ˆáFMó
ÚFMÀŒI×ÒœU×8Ñ8¸!Ö<Ágñ
ˆŒð Œ
Ø ŒØ"ŒØ%Œð "Ñ-ñ à—‘×*Ñ*ð 	Ôð
 -ÔØ.ÔàÑØ�I‰I×Ñ˜TÔ"à‰?Ø�Hä §¡Ö-�Ü˜c 5¨$Ó/�Ø“?Ø"”HÙñ	 .ð  �”ä×Ò Ô%ð ˜Ÿ™Ð'Ø˜4Ÿ?™?Ð+ð
ˆÔð �>�>Ø×ÒÐ!7Ñ7Öð ùòG
s   š/Ec
                óp   • U R                   S   n
U
R                  c  XZl        U
R                  c  XZl        g g ©Nr   )rK   ÚkeyÚname)rl   Ú	decl_scanÚregistryÚclsÚoriginating_moduleru   Úmapped_containerÚ
annotationÚextracted_mapped_annotationÚis_dataclass_fieldrm   s              rq   Údeclarative_scanÚColumnProperty.declarative_scanÉ   s4   € ð —‘˜a‘ˆØ�:‰:ÑØŒJØ�;‰;ÑØ�Kð ó    c                ó   • U $ ©N© ©rl   s    rq   Úmapper_property_to_assignÚ(ColumnProperty.mapper_property_to_assignÛ   s   € àˆr�   c                ó–   • U R                    Vs/ s H-  n[        U[        5      (       d  M  UR                  b  M)  US4PM/     sn$ s  snf rt   )rK   Ú
isinstancer)   Útable)rl   ro   s     rq   Úcolumns_to_assignÚ ColumnProperty.columns_to_assignß   sI   € ð
 —\’\ó
â!�Ü˜!œV×$ó à)*¯©ó ˆQ�‹FÙ!ñ
ð 	
ùò 
s   �A¬A»Ac                óª   • SU R                   ;   a  U R                  R                  $ SU R                   ;  =(       d    X R                  R                  ;  $ )N)Úquery_expressionT)rR   T)rk   ÚstrategyÚ_have_default_expressionÚparentÚ_readonly_propsr…   s    rq   Ú%_memoized_attr__renders_in_subqueriesÚ4ColumnProperty._memoized_attr__renders_in_subqueriesè   sH   € Ø%¨×):Ñ):Ó:Ø—=‘=×9Ñ9Ð9à!¨×):Ñ):Ñ:÷ 
ØŸ™×3Ñ3Ñ3ð	
r�   zsqlalchemy.orm.statezsqlalchemy.orm.strategiesc                ó  • [         R                  R                  n[         R                  R                  nUR                  R                  U R                  R                  UR                  U R                  5      U R                  5      $ rƒ   ©
r%   Ú	preloadedÚ	orm_stateÚorm_strategiesr=   Ú"_instance_level_callable_processorr‘   Úclass_managerÚLoadDeferredColumnsru   ©rl   ÚstateÚ
strategiess      rq   Ú&_memoized_attr__deferred_column_loaderÚ5ColumnProperty._memoized_attr__deferred_column_loaderð   sa   € ô —‘×(Ñ(ˆÜ—^‘^×2Ñ2ˆ
Ø×"Ñ"×EÑEØ�K‰K×%Ñ%Ø×*Ñ*¨4¯8©8Ó4Ø�H‰Hó
ð 	
r�   c                ó  • [         R                  R                  n[         R                  R                  nUR                  R                  U R                  R                  UR                  U R                  S5      U R                  5      $ )NTr–   r�   s      rq   Ú#_memoized_attr__raise_column_loaderÚ2ColumnProperty._memoized_attr__raise_column_loaderü   sc   € ô —‘×(Ñ(ˆÜ—^‘^×2Ñ2ˆ
Ø×"Ñ"×EÑEØ�K‰K×%Ñ%Ø×*Ñ*¨4¯8©8°TÓ:Ø�H‰Hó
ð 	
r�   c                ó   • U R                   $ )zcAllow the ColumnProperty to work in expression before it is turned
into an instrumented attribute.
)Ú
expressionr…   s    rq   Ú__clause_element__Ú!ColumnProperty.__clause_element__  s   € ð
 �‰Ðr�   c                ó    • U R                   S   $ )az  Return the primary column or expression for this ColumnProperty.

E.g.::


    class File(Base):
        # ...

        name = Column(String(64))
        extension = Column(String(8))
        filename = column_property(name + "." + extension)
        path = column_property("C:/" + filename.expression)

.. seealso::

    :ref:`mapper_column_property_sql_expressions_composed`

r   )rK   r…   s    rq   r¦   ÚColumnProperty.expression  s   € ð( �|‰|˜A‰Ðr�   c                ó²   • U R                   (       d  g [        R                  " UR                  U R                  U R                  X5      UU R                  S9  g )N)Ú
comparatorÚparententityr]   )rS   r   Úregister_descriptorÚclass_ru   rP   r]   )rl   Úmappers     rq   Úinstrument_classÚColumnProperty.instrument_class%  s@   € Ø��Øä×&Ò&Ø�M‰MØ�H‰HØ×.Ñ.¨tÓ<ØØ—‘ó	
r�   c                ó|  >• [         TU ]  5         [        U R                  5      S:”  a”  [	        U R
                  R                  5      R                  U R                  5      (       aV  [        R                  " SU R
                  < SU R                  S   < SU R                  S   < SU R                  < S3	5        g g g )Nr   z
On mapper z, primary key column 'z6' is being combined with distinct primary key column 'r   z' in attribute 'zM'. Use explicit properties to give each column its own mapped attribute name.)ra   Údo_initÚlenrK   Úsetr‘   Úprimary_keyÚ
issupersetr%   Úwarnru   )rl   re   s    €rq   r´   ÚColumnProperty.do_init1  s…   ø€ Ü‰‰Ôäˆt�|‰|Ó˜qÓ ¤S¨¯©×)@Ñ)@Ó%A×%LÑ%LØ�L‰L÷&
ñ &
ô �I‹Ið —;”; §¡¨Q¤°·±¸a´À$Ç(Ä(ðLõð&
Ð r�   c                ól   • [        U R                  U R                  U R                  U R                  S.6$ )N)rR   rQ   rT   )rH   rK   rR   rQ   rT   r…   s    rq   ÚcopyÚColumnProperty.copyA  s-   € ÜØ�\‰\Ø—]‘]Ø—*‘*Ø×.Ñ.ò	
ð 	
r�   c	                ój  • U R                   (       d  g U R                  U;   aS  X0R                     n	U(       d  X•U R                  '   g UR                  U R                  5      n
U
R                  XEU	S 5        g UR                  (       a-  U R                  U;  a  UR                  XPR                  /SS9  g g g )NT)Ú	no_loader)rS   ru   Úget_implr¶   Úhas_identityÚ_expire_attributes)rl   ÚsessionÚsource_stateÚsource_dictÚ
dest_stateÚ	dest_dictÚloadÚ
_recursiveÚ_resolve_conflict_mapÚvalueÚimpls              rq   ÚmergeÚColumnProperty.mergeI  s”   € ð ��ØØ�X‰X˜Ó$Ø§¡Ñ)ˆEæØ&+˜$Ÿ(™(Ò#à!×*Ñ*¨4¯8©8Ó4�Ø—‘˜°°tÕ<Ø×$×$¨¯©¸Ó)BØ×)Ñ)ØŸH™H˜:°ð *ò ð *CÐ$r�   c                  óÄ   • \ rS rSr% Sr\(       d  SrS\S'   S\S'    SS jr\(       a  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)ÚColumnProperty.Comparatoric  a8  Produce boolean, comparison, and other operators for
:class:`.ColumnProperty` attributes.

See the documentation for :class:`.PropComparator` for a brief
overview.

.. seealso::

    :class:`.PropComparator`

    :class:`.ColumnOperators`

    :ref:`types_operators`

    :attr:`.TypeEngine.comparator_factory`

)r§   r\   Úexpressionsz*RODescriptorReference[ColumnProperty[_PT]]ÚpropúSequence[NamedColumn[Any]]rÑ   c                ó&  • U R                   nUUUU R                  R                  S.nUnU R                  R                  (       a+  UnU R                  R                  R                  U5      nXSS'   UR                  U5      R                  SUS.5      $ )a�  annotate and possibly adapt a column to be returned
as the mapped-attribute exposed version of the column.

The column in this context needs to act as much like the
column in an ORM mapped context as possible, so includes
annotations to give hints to various ORM functions as to
the source entity of this column.   It also adapts it
to the mapper's with_polymorphic selectable if one is
present.

)Úentity_namespacer­   ÚparentmapperÚ	proxy_keyÚadapt_columnÚorm)Úcompile_state_pluginÚplugin_subject)Ú_parententityrÒ   ru   Ú_parentmapperÚ_polymorphic_adapterÚtraverseÚ	_annotateÚ_set_propagate_attrs)rl   rm   Úper   rp   Úmapper_local_cols         rq   Ú_orm_annotate_columnÚ.ColumnProperty.Comparator._orm_annotate_column‡  s’   € ð ×#Ñ#ˆBà$&Ø "Ø "Ø!ŸY™YŸ]™]ñ	+ˆKð ˆCð ×!Ñ!×6×6Ø#&Ð Ø×(Ñ(×=Ñ=×FÑFÀsÓK�ð
 /?˜NÑ+à—=‘= Ó-×BÑBØ).À"ÑEóð r�   c                ó   • g rƒ   r„   r…   s    rq   r§   Ú,ColumnProperty.Comparator.__clause_element__±  s   € ¸cr�   c                óî   • U R                   (       a=  U R                  U R                  R                  S   U R                  R                  5      $ U R	                  U R                  R                  S   5      $ rt   ©ÚadapterrÒ   rK   ru   rä   r…   s    rq   Ú#_memoized_method___clause_element__Ú=ColumnProperty.Comparator._memoized_method___clause_element__³  sS   € ð �|�|Ø—|‘| D§I¡I×$5Ñ$5°aÑ$8¸$¿)¹)¿-¹-ÓHÐHà×0Ñ0°·±×1BÑ1BÀ1Ñ1EÓFÐFr�   c                óˆ   • U R                  5       n UR                  $ ! [         a    U R                  R                  s $ f = f)z(The .info dictionary for this attribute.)r§   r\   ÚAttributeErrorrÒ   )rl   Úces     rq   Ú_memoized_attr_infoÚ-ColumnProperty.Comparator._memoized_attr_info»  s=   € ð ×(Ñ(Ó*ˆBð&Ø—w‘w�øÜ!ó &Ø—y‘y—~‘~Ò%ð&ús   ’ ž AÁ Ac                ó6  • U R                   (       aJ  U R                  R                   Vs/ s H(  nU R                  XR                  R                  5      PM*     sn$ U R                  R                   Vs/ s H  oR	                  U5      PM     sn$ s  snf s  snf )z}The full sequence of columns referenced by this
attribute, adjusted for any aliasing in progress.

.. versionadded:: 1.3.17

ré   )rl   rp   s     rq   Ú_memoized_attr_expressionsÚ4ColumnProperty.Comparator._memoized_attr_expressionsÄ  s…   € ð �|�|ð  $Ÿy™y×0Ò0óâ0˜ð —L‘L §i¡i§m¡mÖ4Ù0ñð ð ?C¿i¹i×>OÒ>OóÚ>O°s×-Ñ-¨cÖ2Ñ>Oñð ùòùò
s   ª/BÁ4Bc                ó6   • [        U R                  5       U5      $ )zoproxy attribute access down to the mapped column.

this allows user-defined comparison methods to be accessed.
)ri   r§   )rl   ru   s     rq   Ú_fallback_getattrÚ+ColumnProperty.Comparator._fallback_getattrÕ  s   € ô
 ˜4×2Ñ2Ó4°cÓ:Ð:r�   c                ó6   • U" U R                  5       /UQ70 UD6$ rƒ   ©r§   ©rl   ÚopÚotherÚkwargss       rq   ÚoperateÚ!ColumnProperty.Comparator.operateÜ  s"   € ñ �d×-Ñ-Ó/ÐB°%ÒB¸6ÑBÐBr�   c                óT   • U R                  5       nU" UR                  X5      U40 UD6$ rƒ   ©r§   Ú_bind_param©rl   rû   rü   rý   rp   s        rq   Úreverse_operateÚ)ColumnProperty.Comparator.reverse_operateá  s-   € ð ×)Ñ)Ó+ˆCÙ�c—o‘o bÓ0°#Ñ@¸Ñ@Ð@r�   r„   N)rm   rG   ÚreturnrG   )r  zNamedColumn[_PT])r  r>   )r  rÓ   )ru   Ústrr  r   ©rû   rA   rü   r   rý   r   r  zColumnElement[Any])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú	__slots__Ú__annotations__rä   r§   rë   rð   ró   rö   rþ   r  Ú__static_attributes__r„   r�   rq   rf   rÐ   c  s¢   ‡ ñ	ö$ àCˆIà8Ó8à/Ó/ð	ô&	öP äAð	Gàô	Gô	&ô	ô"	;ð	CØ"ð	CØ,/ð	CØ;>ð	Càô	Cð
	AØ"ð	AØ+.ð	AØ:=ð	Aà÷	Ar�   rf   c                óâ   • U R                   (       a  U R                  (       d  [        R                  U 5      $ [	        U R                   R
                  R                  5      S-   U R                  -   $ )NÚ.)r‘   ru   ÚobjectÚ__repr__r  r¯   r	  r…   s    rq   Ú__str__ÚColumnProperty.__str__ç  sG   € Ø�{�{ $§(§(Ü—?‘? 4Ó(Ð(Ü�4—;‘;×%Ñ%×.Ñ.Ó/°#Ñ5¸¿¹Ñ@Ð@r�   )
rT   rK   rP   rR   r]   rU   rQ   rS   rZ   rk   )rm   z_ORMColumnExprArgument[_T]rn   z_ORMColumnExprArgument[Any]r[   zOptional[_AttributeOptions]rQ   rN   rR   rL   rZ   rL   rP   z"Optional[Type[PropComparator[_T]]]rT   rL   rU   rL   r\   zOptional[_InfoType]r]   rN   r^   rL   r_   rL   ©rw   r9   rx   r7   ry   ú	Type[Any]rz   rN   ru   r  r{   zOptional[Type[Mapped[Any]]]r|   úOptional[_AnnotationScanType]r}   r  r~   rL   r  ÚNone©r  zOptional[MapperProperty[_T]]©r  zList[Tuple[Column[Any], int]])r  rL   )r  z _InstallLoaderCallableProto[Any])r  zroles.ColumnsClauseRole)r°   zMapper[Any]r  r  )r  r  )r  zColumnProperty[_T])rÃ   r;   rÄ   úInstanceState[Any]rÅ   r5   rÆ   r  rÇ   r5   rÈ   rL   rÉ   zDict[Any, object]rÊ   z#Dict[_IdentityKeyType[Any], object]r  r  ©r  r  )#r	  r
  r  r  r  r   Ú_COLUMN_TOKENÚstrategy_wildcard_keyÚinherit_cacheÚ_links_to_entityr  r  rb   r   Úpropertyr†   r‹   r“   r%   Úpreload_moduler    r£   r§   r¦   r±   r´   r¼   rÍ   ÚMemoizedSlotsr   rF   rf   r  r  Ú__classcell__)re   s   @rq   rH   rH   a   sŽ  ø‡ ñð -×:Ñ:ÐØ€MØàÐà#Ó#à#'Ó'à%Ó%à0Ó0ð€Ið* :>Ø#ØØØAEØ$Ø $Ø$(Ø!Ø Ø/4ñ98à*ð98ð 9ð98ð 7ð	98ð
 ð98ð ð98ð ð98ð ?ð98ð ð98ð ð98ð "ð98ð ð98ð ð98ð )-÷98ð 98ðvà)ðð  ðð ð	ð
 *ðð ðð 6ðð 2ðð &Cðð !ðð 
ôð$ óó ðð ó
ó ð
ô
ð 
×ÒÐ/Ð1LÓMð	
à	)ó	
ó Nð	
ð 
×ÒÐ/Ð1LÓMð	
à	)ó	
ó Nð	
ôð óó ðô*

÷ô 
ðàðð )ðð #ð	ð
 'ðð !ðð ðð &ðð  Cðð 
ôô4BA�T×'Ñ'¨¸Ñ)<ô BA÷HAò Ar�   rH   c                  ó   • \ rS rSrSrSrSrg)ÚMappedSQLExpressionií  a6  Declarative front-end for the :class:`.ColumnProperty` class.

Public constructor is the :func:`_orm.column_property` function.

.. versionchanged:: 2.0 Added :class:`_orm.MappedSQLExpression` as
   a Declarative compatible subclass for :class:`_orm.ColumnProperty`.

.. seealso::

    :class:`.MappedColumn`

Tr„   N)r	  r
  r  r  r  r!  r  r„   r�   rq   r(  r(  í  s   † ñð €MÚr�   r(  c                  ó¸  • \ rS rSr% SrSrS\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S S jrS!S jr\	S"S j5       r
\	S#S j5       r\	S$S j5       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\R(                  " S5                      S*S j5       r              S+S jrSrg),ÚMappedColumniÿ  aC  Maps a single :class:`_schema.Column` on a class.

:class:`_orm.MappedColumn` is a specialization of the
:class:`_orm.ColumnProperty` class and is oriented towards declarative
configuration.

To construct :class:`_orm.MappedColumn` objects, use the
:func:`_orm.mapped_column` constructor function.

.. versionadded:: 2.0


)rm   rV   Ú_sort_orderÚforeign_keysÚ_has_nullableÚ_has_insert_defaultrR   Údeferred_groupÚdeferred_raiseloadrT   Ú_attribute_optionsÚ_has_dataclass_argumentsÚ_use_existing_columnzUnion[_NoArg, bool]rR   rL   r0  rN   r/  ú
Column[_T]rm   zOptional[Set[ForeignKey]]r,  r   r1  c                ó  ^• UR                  S[        5      =U l        mUR                  SS5      U l        TS L=(       a8    T[        :g  =(       a(    [	        U4S j[        TR                  5       5       5      U l        UR                  S[        R                  5      nU[        R                  LU l
        U R                  (       a  X2S'   O,TR                  [        R                  La  TR                  US'   UR                  SS 5      U l        UR                  SS 5      U l        UR                  S	[        R                  5      U l        UR                  S
S5      U l        UR                  S[        R                  5      U l        [#        S[%        U0 UD65      U l        U R&                  R(                  U l        SU;   =(       a$    UR+                  S5      S [,        R.                  4;  U l        [2        R4                  " U 5        g )Nr[   Úuse_existing_columnFc              3  ób   >#   • U  H$  u  pUS :w  d  M  TU   [         R                  Lv •  M&     g7f)Údataclasses_defaultN)r(   ÚNO_ARG)Ú.0ÚiÚattrÚ	attr_optss      €rq   Ú	<genexpr>Ú(MappedColumn.__init__.<locals>.<genexpr>4  s2   øé € ð â;‘G�AØÐ0Ñ0ó 2�	˜!‘¤F§M¡MÕ1Ú;ùs   ƒ/“/Úinsert_defaultÚdefaultr/  r0  rR   rT   Ú
sort_orderr4  Únullable)Úpopr   r1  r3  ÚanyÚ	enumerateÚ_fieldsr2  r(   r9  r.  r8  r/  r0  rR   rT   r+  r   r)   rm   r,  Úgetr*   ÚNULL_UNSPECIFIEDr-  r%   rj   )rl   ÚargÚkwr@  r=  s       @rq   rb   ÚMappedColumn.__init__*  s¬  ø€ Ø.0¯f©fØÔ!;ó/
ð 	
ˆÔ )ð %'§F¡FÐ+@À%Ó$HˆÔ!ð ˜TÐ!÷ ØÔ7Ñ7÷äô ä(¨×):Ñ):Ô;óó ð 	Ô%ð Ÿ™Ð 0´&·-±-Ó@ˆØ#1¼¿¹Ð#FˆÔ à×#×#Ø*ˆyŠMØ×*Ñ*´&·-±-Ò?Ø%×9Ñ9ˆBˆy‰Mà Ÿf™fÐ%5°tÓ<ˆÔØ"$§&¡&Ð)=¸tÓ"DˆÔØŸ™˜z¬6¯=©=Ó9ˆŒØ Ÿf™fÐ%5°uÓ=ˆÔàŸ6™6 ,´·±Ó>ˆÔÜ˜<¬°Ð);¸Ñ);Ó<ˆŒØ ŸK™K×4Ñ4ˆÔØ'¨2Ñ-÷ 
°"·&±&¸Ó2DØÜ×(Ñ(ðM
ñ 3
ˆÔô 	×Ò Õ%r�   c                óH  • U R                   R                  U R                   5      nU R                  R                  " S0 UD6Ul        U R                  Ul        U R
                  Ul        U R                  Ul        UR                  R                  Ul        U R                  Ul        U R                  Ul	        U R                  Ul
        U R                  Ul        U R                  Ul        U R                  Ul        U R                  Ul        [        R                   " U5        U$ )Nr„   )re   Ú__new__rm   Ú_copyrR   r/  r0  r,  rT   r-  r1  r.  r2  r3  r+  r%   rj   )rl   rK  Únews      rq   rO  ÚMappedColumn._copyQ  sà   € Ø�n‰n×$Ñ$ T§^¡^Ó4ˆØ—[‘[×&Ò&Ñ,¨Ñ,ˆŒ
Ø—}‘}ˆŒØ!×0Ñ0ˆÔØ!%×!8Ñ!8ˆÔØŸ:™:×2Ñ2ˆÔØ!×0Ñ0ˆÔØ ×.Ñ.ˆÔØ!%×!8Ñ!8ˆÔØ"&×":Ñ":ˆÔØ'+×'DÑ'DˆÔ$Ø#'×#<Ñ#<ˆÔ Ø×*Ñ*ˆŒÜ×Ò Ô$Øˆ
r�   c                ó.   • U R                   R                  $ rƒ   )rm   rv   r…   s    rq   rv   ÚMappedColumn.nameb  s   € à�{‰{×ÑÐr�   c           	     óB  • U R                   nU[        R                  L a(  [        U R                  =(       d    U R
                  5      nU(       d  U R                  (       a@  [        U R                  UU R                  U R
                  U R                  U R                  S9$ g )N)rR   rQ   rZ   r[   rT   )
rR   r(   r9  rL   r/  r0  rT   rH   rm   r1  )rl   Úeffective_deferreds     rq   r†   Ú&MappedColumn.mapper_property_to_assignf  s„   € à!Ÿ]™]ÐØ¤§¡Ò.Ü!%Ø×#Ñ#×> t×'>Ñ'>ó"Ðö  ×!4×!4Ü!Ø—‘Ø+Ø×)Ñ)Ø×1Ñ1Ø"&×"9Ñ"9Ø#×2Ñ2ñð ð r�   c                óv   • U R                   U R                  [        R                  La  U R                  4/$ S4/$ rt   )rm   r+  r(   r9  r…   s    rq   r‹   ÚMappedColumn.columns_to_assignz  sM   € ð —‘ð ×'Ñ'¬v¯}©}Ò<ð ×$Ñ$ðð	
ð 		
ð ðð	
ð 		
r�   c                ó   • U R                   $ rƒ   )rm   r…   s    rq   r§   ÚMappedColumn.__clause_element__‡  s   € Ø�{‰{Ðr�   c                ó6   • U" U R                  5       /UQ70 UD6$ rƒ   rù   rú   s       rq   rþ   ÚMappedColumn.operateŠ  s"   € ñ �$×)Ñ)Ó+Ð>¨eÒ>°vÑ>Ð>r�   c                óT   • U R                  5       nU" UR                  X5      U40 UD6$ rƒ   r  r  s        rq   r  ÚMappedColumn.reverse_operate�  s-   € ð ×%Ñ%Ó'ˆÙ�#—/‘/ "Ó,¨cÑ<°VÑ<Ð<r�   c                ó   • [        5       $ rƒ   )r*  r…   s    rq   Úfound_in_pep593_annotatedÚ&MappedColumn.found_in_pep593_annotated•  s   € ô ‹~Ðr�   c                óf  • U R                   (       aŸ  UR                  (       aŽ  UR                  (       a}  UR                  (       a  [        R
                  " S5      e[        UR                  S5      nUR                  b  UR                  OUnUR                  R                  R                  XS5      nU$ )Nz3Can't use use_existing_column with deferred mappersF)r3  ÚinheritsÚsingleÚis_deferredÚsa_excÚArgumentErrorr   rv   Úlocal_tablero   rH  )rl   rw   ru   Úgiven_columnÚsupercls_mapperÚcolnames         rq   Ú_adjust_for_existing_columnÚ(MappedColumn._adjust_for_existing_columnš  s˜   € ð ×%×%Ø×"×"Ø× × à×$×$Ü×*Ò*ØIóð ô +¨9×+=Ñ+=¸uÓEˆOð &2×%6Ñ%6Ñ%B�×!Ò!Èð ð +×6Ñ6×8Ñ8×<Ñ<ØóˆLð Ðr�   c
                ót  • U R                   n
U R                  XU R                   5      =o l         U
R                  c  XZl        U
R                  c  XZl        U
R                  nUc?  UR
                  (       a-  U R                   R                  (       d  U R                  XS5        Og U R                  UUUUUU5        g rƒ   )	rm   rl  ru   rv   ÚtypeÚ_isnullr,  Ú_raise_for_requiredÚ_init_column_for_annotation)rl   rw   rx   ry   rz   ru   r{   r|   r}   r~   rm   Úsqltypes               rq   r   ÚMappedColumn.declarative_scan³  s    € ð —‘ˆà#×?Ñ?Ø˜DŸK™Kó 
ð 	
ˆ”ð �:‰:ÑØŒJØ�;‰;ÑØŒKà—+‘+ˆà&Ñ.Ø�� t§{¡{×'?×'?Ø×(Ñ(¨Õ2àà×(Ñ(ØØØØØ'Øõ	
r�   zsqlalchemy.orm.decl_basec                ó”   • [         R                  R                  nUR                  X`R                  5        U R                  X1XRXt5        g rƒ   )r%   r—   Úorm_decl_baseÚ_undefer_column_namerm   rr  )	rl   rw   rx   ry   rz   ru   Ú
param_nameÚparam_annotationÚ	decl_bases	            rq   Údeclarative_scan_for_compositeÚ+MappedColumn.declarative_scan_for_compositeÛ  s;   € ô —N‘N×0Ñ0ˆ	Ø×&Ñ& z·;±;Ô?Ø×(Ñ(Ø˜CÐ+;õ	
r�   c                óÒ
  • U R                   R                  n[        USSS9(       a  Uc   e[        XUSS9n[	        U5      nU R
                  (       d  X€R                   l        Sn	Sn
S nS n[        U5      n[        U5      (       a-  Un[        UR                  5      n[        U5      nU(       a  XÞ   n[        U5      (       a)  Sn
[        U5      nUS   nU(       a  [        U5      nUSS  n	U	 H  n[        U[        5      (       d  M  Un  O   S nUGbŠ  UR                  X#U R                   5      U l         U R                  (       d(  UR                   R                   b  S U R                   l        UR                   R#                  U R                   5        U R                   R                  nUR$                  [&        R(                  La.  U R$                  [&        R(                  L a  UR$                  U l        UR*                  b  U R*                  c  UR*                  U l        UR,                  b  U R,                  c  UR,                  U l        UR.                  (       a  U R.                  (       d  SU l        UR0                  (       a  UR0                  U l        UR2                  b.  U R2                  [&        R(                  L a  UR2                  U l        UR                   R4                  c  UR                   R6                  b  [8        R:                  " SS	5        UR<                  (       ax  [?        UR@                  RB                  5       HU  u  nnUR@                  U   [&        R(                  Ld  M(  URE                  S
S5      n[8        R:                  " SU S3S	5        MW     URF                  (       Ga¸  U R                   RH                  (       Gd›  U
(       a  XÛ/nOU/nUb  URK                  SU5        U H  nURM                  UUUL S9nUc  M    GO=   [        U[N        5      (       d*  [        U[        5      (       aG  [Q        U[N        5      (       a2  [R        RT                  " SU R                   R4                  < SU S35      e[W        US   5      (       a„  [Y        U5      S:X  a  SnO;[Y        U5      S:X  a  SUS    SUS    S3nOSSR[                  S U 5       5       S3n[R        RT                  " SUS    SU R                   R4                  < SU 35      e[R        RT                  " SU R                   R4                  < SU< S 35      eU R                   R]                  U5        g g g )!NT)Úcheck_genericÚcheck_for_plain_string)Úinclude_genericr„   Fr   r   z_Can't use the 'key' or 'name' arguments in Annotated with mapped_column(); this will be ignoredz2.0.22Údataclasses_Ú z
Argument 'zp' is a dataclass argument and cannot be specified within a mapped_column() bundled inside of an Annotated object)Ú_do_fallbackszThe type provided inside the z4 attribute Mapped annotation is the SQLAlchemy type z . Expected a Python type insteadz1the type object is not resolvable by the registryr"   z	neither 'z' nor 'z ' are resolvable by the registryznone of z, c              3  ó.   #   • U  H  nS U S 3v •  M     g7f)Ú'Nr„   )r:  Úts     rq   r>  Ú;MappedColumn._init_column_for_annotation.<locals>.<genexpr>”  s   é € Ð)CºF°q¨A¨a¨S°­(ºFùs   ‚z are resolvable by the registryzSCould not locate SQLAlchemy Core type when resolving for Python type indicated by 'z)' inside the Mapped[] annotation for the z attribute; zThe object provided inside the zC attribute Mapped annotation is not a Python type, it's the object z. Expected a Python type.)/rm   ro  r0   r!   r.   r-  rC  r,   r2   Ú	__value__r-   r1   r‰   r*  rl  r.  rA  Ú_mergerR   r(   r9  r/  r0  r3  rT   r+  ru   rv   r%   Úwarn_deprecatedr2  rF  r1  rG  Úreplacerp  r,  ÚinsertÚ_resolve_typer+   Ú
issubclassÚorm_excÚMappedAnnotationErrorr/   rµ   ÚjoinÚ	_set_type)rl   ry   rw   ru   rx   Úargumentrz   rs  rC  Úfind_mapped_inÚour_type_is_pep593Úraw_pep_593_typeÚraw_pep_695_typeÚour_typeÚour_argsÚpep_593_componentsÚelemÚuse_args_fromÚidxrJ  ÚchecksÚ
check_typeÚnew_sqltypeÚdetails                           rq   rr  Ú(MappedColumn._init_column_for_annotationì  s+  € ð —+‘+×"Ñ"ˆäØ DÀ÷
ð &Ñ1Ð1Ð1Ü.ØÐ1À4ñˆHô ! Ó*ˆà×!×!Ø#+�K‰KÔ à*,ˆØ"ÐØÐØÐä2°8Ó<ˆä�X×ÑØ'ÐÜ1Ð2B×2LÑ2LÓMˆHÜÐ 0Ó1ˆHÞØ#Ñ-�ä�X×ÑØ!%Ðä!)¨(Ó!3ÐØ1°!Ñ4ÐÞÜ#=Ð>NÓ#OÐ Ø/°°Ð3ˆNó #ˆDÜ˜$¤×-Ó-Ø $�Ùñ #ð
 !ˆMàÒ$à'×CÑCØ §¡óˆDŒKð
 ×,×,Ø!×(Ñ(×0Ñ0Ñ<à&*�—‘Ô#à× Ñ ×'Ñ'¨¯©Ô4Ø—k‘k×&Ñ&ˆGð ×&Ñ&¬f¯m©mÒ;Ø—M‘M¤V§]¡]Ò2à -× 6Ñ 6�”ð ×,Ñ,Ñ8Ø×'Ñ'Ñ/à&3×&BÑ&B�Ô#ð ×0Ñ0Ñ<Ø×+Ñ+Ñ3à*7×*JÑ*J�Ô'ð ×2×2Ø×1×1à,0�Ô)à×+×+Ø&3×&BÑ&B�Ô#ð ×)Ñ)Ñ5Ø×$Ñ$¬¯©Ò5à#0×#<Ñ#<�Ô ð ×$Ñ$×(Ñ(Ñ4Ø ×'Ñ'×,Ñ,Ñ8ä×$Ò$ðKàôð ×5×5Ü )Ø!×4Ñ4×<Ñ<ö!‘H�C˜ð &×8Ñ8¸Ñ=Ü%Ÿ}™}ô-ð "Ÿk™k¨.¸"Ó=˜Ü×,Ò,Ø(¨¨ð .Dð Dð %ö	ñ!ð �?�?ˆ? 4§;¡;×#;×#;Ð#;æ!Ø"Ð5‘à"˜�àÑ+Ø—‘˜aÐ!1Ô2ã$�
Ø&×4Ñ4Ø¨j¸HÐ.Dð 5ð �ð Ó*Úñ %ô ˜h¬
×3Ñ3Ü˜x¬×.Ñ.Ü" 8¬Z×8Ñ8ä!×7Ò7Ø7¸¿¹¿¹Ñ7Jð KNà#˜*Ð$DðFóð ô
 ˜v a™y×)Ñ)Ü˜6“{ aÓ'àOñ ô ˜V›¨Ó)à'¨¨q©	 {°'¸&À¹)¸ð E=ð =ñ ð !)Ø $§	¡	Ñ)C¹FÓ)CÓ Cð)ð=ð=ð ô "×7Ò7ð9Ø9?À¹¸ð D7à7;·{±{·±Ñ6Ið J&Ø&, Xð	/óð ô "×7Ò7Ø9¸$¿+¹+¿/¹/Ñ9Lð M+à+3©,ð 7 ð óð ð �K‰K×!Ñ! +Õ.ðu $<ˆ?r�   )r1  r2  r.  r-  r+  r3  rT   rm   rR   r/  r0  r,  N)rJ  r   rK  r   )rK  r   r  r3   r  r  r  )r  r4  r  )r  r   )rw   r9   ru   r  ri  r4  r  r4  r  )rw   r9   rx   r7   ry   r  rz   rN   ru   r  rx  r  ry  rB   r  r  )ry   r  rw   r9   ru   r  rx   r7   r“  rB   rz   rN   r  r  )r	  r
  r  r  r  r  r  rb   rO  r#  rv   r†   r‹   r§   rþ   r  r`  rl  r   r%   r$  r{  rr  r  r„   r�   rq   r*  r*  ÿ  s"  ‡ ñ
ð€Ið  "Ó!ØÓØ!Ó!àÓØ+Ó+Ø)Ó)ô%&ôNð" ó ó ð ð óó ðð& ó

ó ð

ôð?Øð?Ø(+ð?Ø7:ð?à	ô?ð
=Øð=Ø'*ð=Ø69ð=à	ô=ôð
à)ðð ðð !ð	ð
 
ôð2&
à)ð&
ð  ð&
ð ð	&
ð
 *ð&
ð ð&
ð 6ð&
ð 2ð&
ð &Cð&
ð !ð&
ð 
ô&
ðP 
×ÒÐ3Ó4ð
à)ð
ð  ð
ð ð	
ð
 *ð
ð ð
ð ð
ð .ð
ð 
ó
ó 5ð
ð {/àð{/ð *ð{/ð ð	{/ð
  ð{/ð &ð{/ð *ð{/ð 
÷{/r�   r*  N)_r  Ú
__future__r   Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   r‚  r   r   r�  r   Úbaser   r   Údescriptor_propsr   r   r   Ú
interfacesr   r   r   r   r   r   r   Úrelationshipsr    r%   r!   rf  r#   r$   Úsqlr&   r'   Úsql.baser(   Ú
sql.schemar)   r*   Úsql.type_apir+   Úutil.typingr,   r-   r.   r/   r0   r1   r2   r3   Ú_typingr4   r5   r6   r7   r8   rz  r9   r°   r:   rÃ   r;   rž   r<   r=   Úsql._typingr>   Úsql.elementsr?   r@   Úsql.operatorsrA   rB   rC   rD   rF   rG   Ú__all__Úclass_loggerÚ
IdentifiedrH   r(  r*  r„   r�   rq   Ú<module>rµ     ss  ðñõ #å Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý Ý $Ý Ý /Ý 7Ý -Ý )Ý 2Ý /Ý $Ý &Ý &Ý +Ý /Ý )Ý Ý Ý Ý Ý Ý Ý Ý Ý $Ý %Ý 4Ý "Ý 'Ý #Ý $Ý #Ý #Ý æÝ)Ý&Ý/Ý&ÝÝ1ÝÝ Ý2Ý$Ý'Ý,Ý*Ý,Ý1Ý3áˆT˜Ñ€Ùˆe˜3Ñ€ÙˆeÐ-Ñ.€ò€ð ×ÑôHAØ�ÑØ˜ÑØØ‡N�Nó	HAó ðHAôV˜.¨Ñ,Ð.@ÀÑ.Dô ô$h/ØØ�ÑØ�rÑõh/r�   