§
    
 @gü> ã                  ón  — d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" ddlm#Z# ddl$m%Z% ddl$m&Z& dd l'm(Z( dd!l'm)Z) dd"l*m+Z+ dd#l*m,Z, dd$l*m-Z- dd%l*m.Z. dd&l*m/Z/ dd'l*m0Z0 dd(l1m2Z2 dd)l3m4Z4 dd*l3m5Z5 dd+l6m7Z7 dd,l6m8Z8 dd-l6m9Z9 dd.l6m:Z: d/d0lm;Z; d/dlmZ d/d1lm6Z6 d/d2l<m=Z= d/d3l>m?Z? d/d4l@mAZA d/d5l@mBZB d/d6l6mCZC d/d7lDmEZE d/d8lDmFZF d/d9lDmGZG d/d:lDmHZH d/d;lDmIZI d/d<lDmJZJ er0dd=lmKZK dd>lmLZL dd?l$mMZM dd@lNmOZO ddAlmPZP d/dBlQmRZR d/dCl@mSZS d/dDlTmUZU  edEe¬F¦  «        ZVeeWef         ZXeeedGf         e
eWef         f         ZY G dH„ dIeHe          ¦  «        ZZ G dJ„ dKeZe          eH¦  «        Z[ G dL„ dMeI¦  «        Z\d�dR„Z]dŽdT„Z^d�dV„Z_	 d�d‘d\„Z`d’d_„Zad“de„Zbd”dk„Zc e6jd        dl¦  «        d•do„¦   «         Zed–dq„Zf G dr„ ds¦  «        Zg G dt„ dueg¦  «        Zh G dv„ dwe¦  «        Zi G dx„ dyeg¦  «        Zj e6jd        dl¦  «        d—d}„¦   «         Zk G d~„ dej¦  «        Zld˜d„„Zmd™d…„Zndšdˆ„Zod‰eo_p        d›dŒ„ZqdS )œz(Internal implementation for declarative.é    )ÚannotationsN)ÚAny)ÚCallable)Úcast)ÚDict)ÚIterable)ÚList)ÚMapping)Ú
NamedTuple)ÚNoReturn)ÚOptional)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Úclsregistry)Úexc)Úinstrumentation)Ú	mapperlib)Ú_O)Úattr_is_internal_proxy)ÚInstrumentedAttribute)ÚQueryableAttribute)Ú_is_mapped_class)ÚInspectionAttr)ÚCompositeProperty)ÚSynonymProperty)Ú_AttributeOptions)Ú_DCAttributeOptions)Ú_IntrospectsAnnotations)Ú_MappedAttribute)Ú_MapsColumns)ÚMapperProperty)ÚMapper)ÚColumnProperty)ÚMappedColumn)Ú_extract_mapped_subtype)Ú_is_mapped_annotation)Úclass_mapper)Úde_stringify_annotationé   )Úevent)Úutil)Ú
expression)Ú_NoArg)ÚColumn)ÚTable)Útopological)Ú_AnnotationScanType)Ú
is_fwd_ref)Ú
is_literal)ÚProtocol)Ú	TypedDict)Útyping_get_args)Ú
_ClassDict)Ú_RegistryType)ÚMapped)Údeclared_attr)ÚClassManager)ÚNamedColumn)ÚMetaData)Ú
FromClauseÚ_T)Úbound.c                  ó:   — e Zd ZU dZded<   ded<   ded<   dd„ZdS )ÚMappedClassProtocolzªA protocol representing a SQLAlchemy mapped class.

    The protocol is generic on the type of class, use
    ``MappedClassProtocol[Any]`` to allow any mapped class.
    ÚstrÚ__name__ú
Mapper[_O]Ú
__mapper__rD   Ú	__table__Úkwr   Úreturnr   c                ó   — d S ©N© )ÚselfrN   s     úL/var/www/piapp/venv/lib/python3.11/site-packages/sqlalchemy/orm/decl_base.pyÚ__call__zMappedClassProtocol.__call__e   ó   € Øˆó    N)rN   r   rO   r   )rJ   Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__rU   rR   rW   rT   rH   rH   Z   sW   € € € € € € ðð ð €M€M�MØÐÐÑØÐÐÑðð ð ð ð ð rW   rH   c                  óV   — e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   dd„Zdd„ZdS )Ú_DeclMappedClassProtocolz:Internal more detailed version of ``MappedClassProtocol``.rC   ÚmetadatarI   Ú__tablename__Ú_MapperKwArgsÚ__mapper_args__úOptional[_TableArgsType]Ú__table_args__úOptional[_DataclassArguments]Ú_sa_apply_dc_transformsrO   ÚNonec                ó   — d S rQ   rR   ©rS   s    rT   Ú__declare_first__z*_DeclMappedClassProtocol.__declare_first__r   rV   rW   c                ó   — d S rQ   rR   rh   s    rT   Ú__declare_last__z)_DeclMappedClassProtocol.__declare_last__u   rV   rW   N©rO   rf   )rJ   rX   rY   rZ   r[   ri   rk   rR   rW   rT   r]   r]   i   s€   € € € € € € Ø@Ð@ØÐÐÑØÐÐÑØ"Ð"Ð"Ñ"Ø,Ð,Ð,Ñ,à:Ð:Ð:Ñ:ðð ð ð ðð ð ð ð ð rW   r]   c                  ó`   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded<   d	ed
<   dS )Ú_DataclassArgumentszUnion[_NoArg, bool]ÚinitÚreprÚeqÚorderÚunsafe_hashÚ
match_argsÚkw_onlyz'Union[_NoArg, Callable[..., Type[Any]]]Údataclass_callableN©rJ   rX   rY   r[   rR   rW   rT   rn   rn   y   sr   € € € € € € ØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ$Ð$Ð$Ñ$Ø#Ð#Ð#Ñ#Ø Ð Ð Ñ Ø?Ð?Ð?Ñ?Ð?Ð?rW   rn   Úclsú	Type[Any]rO   ú3Optional[Union[_DeferredMapperConfig, Mapper[Any]]]c                ó®   — t                                | ¦  «        rt                                | ¦  «        S t          | ¦  «        rt	          | d¬¦  «        S d S )NF)Ú	configure)Ú_DeferredMapperConfigÚhas_clsÚconfig_for_clsr   r-   ©rx   s    rT   Ú_declared_mapping_infor�   „   sV   € õ ×$Ò$ SÑ)Ô)ð Ý$×3Ò3°CÑ8Ô8Ð8å	˜#Ñ	Ô	ð Ý˜C¨5Ð1Ñ1Ô1Ð1àˆtrW   Úboolc                ó‚   — t                                | ¦  «        rt          | dd¬¦  «         S t          | ¦  «        rdS dS )a‰  return True if this class will be used as a superclass to set in
    'inherits'.

    This includes deferred mapper configs that aren't mapped yet, however does
    not include classes with _sa_decl_prepare_nocascade (e.g.
    ``AbstractConcreteBase``); these concrete-only classes are not set up as
    "inherits" until after mappers are configured using
    mapper._set_concrete_base()

    Ú_sa_decl_prepare_nocascadeT©ÚstrictF)r}   r~   Ú_get_immediate_cls_attrr   r€   s    rT   Ú_is_supercls_for_inheritsrˆ   ‘   sZ   € õ ×$Ò$ SÑ)Ô)ð Ý*ØÐ-°dð
ñ 
ô 
ð 
ð 	
õ 
˜#Ñ	Ô	ð ØˆtàˆurW   úOptional[Type[Any]]c                óÄ   — | t           u rd S | j                             dd¦  «        r!| j        D ]}t	          |¦  «        }|�|c S Œd S t          | ¦  «        }|r|j        S | S )NÚ__abstract__F)ÚobjectÚ__dict__ÚgetÚ	__bases__Ú"_resolve_for_abstract_or_classicalÚ_dive_for_cls_managerÚclass_)rx   Úbase_ÚsupÚ
clsmanagers       rT   r�   r�   §   s‡   € Ø
�f€}€}Øˆtð „|×Ò˜¨Ñ.Ô.ð Ø”]ð 	ð 	ˆEÝ4°UÑ;Ô;ˆCØˆØ�
�
�
ð ð �4å*¨3Ñ/Ô/ˆ
àð 	ØÔ$Ð$àˆJrW   FÚattrnamerI   r†   úOptional[Any]c                ó  — |dk    sJ ‚t          | t          ¦  «        sdS || j        v rt          | |¦  «        S | j        dd…         D ]A}t          |¦  «        du}||j        v r%|| u s|r
|| j        v rn	 |st          ||¦  «        c S ŒBdS )a¯  return an attribute of the class that is either present directly
    on the class, e.g. not on a superclass, or is from a superclass but
    this superclass is a non-mapped mixin, that is, not a descendant of
    the declarative base and is also not classically mapped.

    This is used to detect attributes that indicate something about
    a mapped class independently from any mapped classes that it may
    inherit from.

    r‹   Nr   )Ú
issubclassrŒ   r�   ÚgetattrÚ__mro__r‘   r�   )rx   r–   r†   ÚbaseÚ_is_classical_inheritss        rT   r‡   r‡   ½   sÌ   € ð  �~Ò%Ð%Ð%Ð%å�c�6Ñ"Ô"ð Øˆtà�3”<ÐÐÝ�s˜HÑ%Ô%Ð%à”˜A˜B˜B”ð ð ˆÝ!6°tÑ!<Ô!<ÀDÐ!HÐà�t”}Ð$Ð$Ø�CˆKˆKà*0ð à˜œÐ&Ð&Ð&Ð&Ø.ð 'õ ˜4 Ñ*Ô*Ð*Ð*Ð*øàˆtrW   úType[_O]úOptional[ClassManager[_O]]c                óN   — | j         D ]}t          j        |¦  «        }|r|c S Œd S rQ   )r›   r   Úopt_manager_of_class)rx   rœ   Úmanagers      rT   r‘   r‘   ä   sG   € ð
 ”ð ð ˆÝ.8Ô.MØñ/
ô /
ˆð ð 	ØˆNˆNˆNð	àˆ4rW   Úregistryr>   Údict_r=   úOptional[_MapperConfig]c                ó>   — t                                | ||d i ¦  «        S rQ   )Ú_MapperConfigÚsetup_mapping)r£   rx   r¤   s      rT   Ú_as_declarativer©   ò   s    € õ
 ×&Ò& x°°e¸TÀ2ÑFÔFÐFrW   ÚtableúOptional[FromClause]Ú	mapper_kwr`   rK   c                óP   — t          | |||¦  «         t          d|¦  «        j        S )NzMappedClassProtocol[_O])Ú_ImperativeMapperConfigr   rL   )r£   rx   rª   r¬   s       rT   Ú_mapperr¯   ú   s,   € õ ˜H c¨5°)Ñ<Ô<Ð<ÝÐ)¨3Ñ/Ô/Ô:Ð:rW   zsqlalchemy.orm.decl_apiÚobjr   c                óf   — t           j        j        j        }t	          | |t           j        f¦  «        S rQ   )r1   Ú	preloadedÚorm_decl_apiÚ_declared_attr_commonÚ
isinstanceÚclassproperty)r°   r´   s     rT   Ú_is_declarative_propsr·     s)   € å œNÔ7ÔMÐå�cÐ1µ4Ô3EÐFÑGÔGÐGrW   Únamec                ó€   — t          | ¦  «        r.t          | dd¦  «        rt          j        d|›d|›d�¦  «         dS dS )NÚ
_cascadingFz1@declared_attr.cascading is not supported on the z attribute on class z5.  This attribute invokes for subclasses in any case.T)r·   rš   r1   Úwarn)r°   r¸   rx   s      rT   Ú_check_declared_props_nocascader¼     s^   € õ ˜SÑ!Ô!ð 	Ý�3˜ eÑ,Ô,ð 	ÝŒIˆIð .2¨T¨T°3°3°3ð8ñô ð ð
 ˆtàˆurW   c                  óv   — e Zd ZU dZded<   ded<   ded<   ded	<   ed"d„¦   «         Zd#d„Zd$d„Zd%d&d„Z	d'd „Z
d!S )(r§   )rx   Ú	classnameÚ
propertiesÚdeclared_attr_regÚ__weakref__ry   rx   rI   r¾   z_util.OrderedDict[str, Union[Sequence[NamedColumn[Any]], NamedColumn[Any], MapperProperty[Any]]]r¿   zDict[declared_attr[Any], Any]rÀ   r£   r>   Úcls_rž   r¤   r=   rª   r«   r¬   r`   rO   r¥   c                ó>  — t          j        | ¦  «        }|r!|j        |u rt          j        d| ›d�¦  «        ‚|j                             dd¦  «        rd S t          |dd¬¦  «        pt          |d¦  «        }|rt          |||||¦  «        S t          |||||¦  «        S )	NúClass z, already has been instrumented declarativelyr‹   Fr„   Tr…   Ú_sa_decl_prepare)r   r¡   r’   r   ÚInvalidRequestErrorr�   rŽ   r‡   Úhasattrr}   Ú_ClassScanMapperConfig)rx   r£   rÂ   r¤   rª   r¬   r¢   Ú	defer_maps           rT   r¨   z_MapperConfig.setup_mapping-  sä   € õ Ô1°#Ñ6Ô6ˆØð 	�w”~¨Ð-Ð-ÝÔ)ØL˜ÐLÐLÐLñô ð ð Œ=×Ò˜^¨UÑ3Ô3ð 	Ø�4å+ØÐ.°tð
ñ 
ô 
ð /å�TÐ-Ñ.Ô.ð 	ð ð 	Ý(Ø˜$  u¨iñô ð õ *Ø˜$  u¨iñô ð rW   c                óŽ  — t          j        |t          d¦  «        | _        |j        | _        t          j        ¦   «         | _        i | _        | 	                    dd¦  «        s%t          j        | j        d|| |j        ¬¦  «         d S t          j        | j        ¦  «        }|r|j        st!          j        d| j        z  ¦  «        ‚d S )NrÂ   Únon_primaryF)Úfinalizer£   Údeclarative_scanÚinit_methodztClass %s has no primary mapper configured.  Configure a primary mapper first before setting up a non primary Mapper.)r1   Úassert_arg_typeÚtyperx   rJ   r¾   ÚOrderedDictr¿   rÀ   rŽ   r   Úregister_classÚconstructorr   r¡   Ú	is_mappedr   rÆ   )rS   r£   rÂ   r¬   r¢   s        rT   Ú__init__z_MapperConfig.__init__L  sÝ   € õ Ô'¨­d°FÑ;Ô;ˆŒØœˆŒÝÔ*Ñ,Ô,ˆŒØ!#ˆÔà�}Š}˜]¨EÑ2Ô2ð 	ÝÔ*Ø”ØØ!Ø!%Ø$Ô0ðñ ô ð ð ð õ !Ô5°d´hÑ?Ô?ˆGØð  'Ô"3ð ÝÔ-ðà $¤ñ)ñô ð ðð rW   r–   ÚvaluerE   c                ód   — t          j        | j        ¦  «        }|                     ||¦  «         |S rQ   )r   Úmanager_of_classrx   Úinstall_member)rS   r–   rÖ   r¢   s       rT   Úset_cls_attributez_MapperConfig.set_cls_attributeh  s/   € Ý!Ô2°4´8Ñ<Ô<ˆØ×Ò˜x¨Ñ/Ô/Ð/ØˆrW   .úMapper[Any]c                ó   — t          ¦   «         ‚rQ   )ÚNotImplementedError©rS   r¬   s     rT   Úmapz_MapperConfig.mapm  s   € Ý!Ñ#Ô#Ð#rW   rf   c                ó0   — |                       |¦  «         d S rQ   )rß   rÞ   s     rT   Ú_early_mappingz_MapperConfig._early_mappingp  s   € Ø�Š�ÑÔÐÐÐrW   N)r£   r>   rÂ   rž   r¤   r=   rª   r«   r¬   r`   rO   r¥   )r£   r>   rÂ   ry   r¬   r`   )r–   rI   rÖ   rE   rO   rE   ).©r¬   r`   rO   rÛ   ©r¬   r`   rO   rf   )rJ   rX   rY   Ú	__slots__r[   Úclassmethodr¨   rÕ   rÚ   rß   rá   rR   rW   rT   r§   r§     sÆ   € € € € € € ð€Ið €N€N�NØ€N€N�Nðð ð ñ ð 5Ð4Ð4Ñ4àðð ð ñ „[ðð<ð ð ð ð8ð ð ð ð
$ð $ð $ð $ð $ðð ð ð ð ð rW   r§   c                  óB   ‡ — e Zd ZdZdˆ fd
„Zej        fdd„Zdd„Zˆ xZ	S )r®   )Úlocal_tableÚinheritsr£   r>   rÂ   rž   rª   r«   r¬   r`   c                ó˜  •— t          ¦   «                              |||¦  «         |                      d|¦  «        | _        t          j        5  |                     dd¦  «        s%t          j        | j	        | j
        |j        ¦  «         |                      |¦  «         |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrM   rË   F)ÚsuperrÕ   rÚ   rç   r   Ú_CONFIGURE_MUTEXrŽ   r   Ú	add_classr¾   rx   Ú_class_registryÚ_setup_inheritancerá   )rS   r£   rÂ   rª   r¬   Ú	__class__s        €rT   rÕ   z _ImperativeMapperConfig.__init__w  s	  ø€ õ 	‰Œ×Ò˜ 4¨Ñ3Ô3Ð3à×1Ò1°+¸uÑEÔEˆÔåÔ'ð 	+ð 	+Ø—=’= °Ñ6Ô6ð ÝÔ%Ø”N D¤H¨hÔ.Fñô ð ð ×#Ò# IÑ.Ô.Ð.à×Ò 	Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ÁA&B?Â?CÃCrO   rÛ   c                ó`   — t           }|                      d || j        | j        fi |¤Ž¦  «        S )NrL   )r(   rÚ   rx   rç   ©rS   r¬   Ú
mapper_clss      rT   rß   z_ImperativeMapperConfig.mapŒ  s>   € Ýˆ
à×%Ò%ØØˆJ�t”x Ô!1Ð?Ð?°YÐ?Ð?ñ
ô 
ð 	
rW   rf   c                ó†  — | j         }|                     dd ¦  «        }|€~g }|j        D ]<}t          |¦  «        }|€Œt	          |¦  «        r||vr|                     |¦  «         Œ=|r5t          |¦  «        dk    rt          j        d|›d|›�¦  «        ‚|d         }nt          |t          ¦  «        r|j        }|| _        d S )Nrè   r   rÄ   ú has multiple mapped bases: r   )rx   rŽ   r�   r�   rˆ   ÚappendÚlenr   rÆ   rµ   r(   r’   rè   )rS   r¬   rx   rè   Úinherits_searchr“   Úcs          rT   rî   z*_ImperativeMapperConfig._setup_inheritance”  sò   € ØŒhˆà—=’= ¨TÑ2Ô2ˆàÐð !ˆOØœð .ð .�Ý6°uÑ=Ô=�Ø�9Øå,¨QÑ/Ô/ð .°A¸_Ð4LÐ4LØ#×*Ò*¨1Ñ-Ô-Ð-øàð .Ý�Ñ'Ô'¨!Ò+Ð+ÝÔ1Ð1à˜3˜3  ð1ñô ð ð +¨1Ô-�øÝ˜¥&Ñ)Ô)ð 	'Ø”ˆHà ˆŒˆˆrW   )r£   r>   rÂ   rž   rª   r«   r¬   r`   râ   rã   )
rJ   rX   rY   rä   rÕ   r1   Ú
EMPTY_DICTrß   rî   Ú__classcell__©rï   s   @rT   r®   r®   t  sv   ø€ € € € € Ø+€Ið+ð +ð +ð +ð +ð +ð* .2¬_ð 
ð 
ð 
ð 
ð 
ð!ð !ð !ð !ð !ð !ð !ð !rW   r®   c                  óV   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   dS )Ú_CollectedAnnotationr7   Úraw_annotationzOptional[Type[Mapped[Any]]]Úmapped_containerzUnion[Type[Any], str]Úextracted_mapped_annotationr‚   Úis_dataclassr   Ú
attr_valuerI   Úoriginating_modulery   Úoriginating_classNrw   rR   rW   rT   rý   rý   ²  sc   € € € € € € Ø'Ð'Ð'Ñ'Ø1Ð1Ð1Ñ1Ø6Ð6Ð6Ñ6ØÐÐÑØ€O€O�OØÐÐÑØ Ð Ð Ñ Ð Ð rW   rý   c                  óì  ‡ — e Zd ZU dZdZded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded <   ded!<   d"ed#<   	 ded$<   	 daˆ fd+„Zdbd.„Zdcd1„Zh d2£Z	 e
j        d3¦  «        Zddd6„Zdbd7„Zdbd8„Zeded;„¦   «         Zedfd>„¦   «         Zedgd@„¦   «         ZdhdK„ZdidN„ZdjdS„ZdbdT„ZdbdU„ZdkdldW„Zdmd[„Zdnd\„Zdnd]„Zdnd^„Zej        fdod`„Z ˆ xZ!S )prÈ   )r£   Úclsdict_viewÚcollected_attributesÚcollected_annotationsrç   Úpersist_selectableÚdeclared_columnsÚcolumn_orderingÚcolumn_copiesÚ
table_argsÚ	tablenameÚmapper_argsÚmapper_args_fnrè   ÚsingleÚallow_dataclass_fieldsÚdataclass_setup_argumentsÚis_dataclass_prior_to_mappingÚallow_unmapped_annotationsFr>   r£   r=   r  zDict[str, _CollectedAnnotation]r  úDict[str, Any]r  r«   rç   r	  zutil.OrderedSet[Column[Any]]r
  zDict[Column[Any], int]r  zRDict[Union[MappedColumn[Any], Column[Any]], Union[MappedColumn[Any], Column[Any]]]r  zOptional[str]r  úMapping[str, Any]r  rb   r  z&Optional[Callable[[], Dict[str, Any]]]r  r‰   rè   r‚   r  r  r  rd   r  r  rÂ   rž   r¤   rª   r¬   r`   c                ó€  •— |rt          j        |¦  «        nt           j        | _        t	          ¦   «                              |||¦  «         || _        d | _        i | _        i | _	        t          j
        ¦   «         | _        i | _        i | _        d| _        t          | j        dd ¦  «        x| _        }t          | j        dd¦  «        pt%          | j        ¦  «        | _        t)          j        |¦  «        x| _        }t/          |d¦  «        }|r|r|rt1          j        d¦  «        ‚t%          |o|¦  «        | _        |                      ¦   «          |                      ¦   «          |                      ¦   «          t<          j        5  tA          j!        | j"        | j        |j#        ¦  «         |  $                    |¦  «         |  %                    ¦   «          |  &                    ¦   «          |  '                    |¦  «         |  (                    |¦  «         |  )                    |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NFre   Ú__allow_unmapped__Ú__sa_dataclass_metadata_key__z‘SQLAlchemy mapped dataclasses can't consume mapping information from dataclass.Field() objects if the immediate class is not already a dataclass.)*r1   Úimmutabledictrù   r  rê   rÕ   r£   r	  r  r  Ú
OrderedSetr
  r  r  r  rš   rx   r  r‚   r  Údataclassesr  r  r‡   r   rÆ   r  Ú_setup_declared_eventsÚ_scan_attributesÚ_setup_dataclasses_transformsr   rë   r   rì   r¾   rí   Ú_setup_inheriting_mapperÚ_extract_mappable_attributesÚ_extract_declared_columnsÚ_setup_tableÚ_setup_inheriting_columnsrá   )
rS   r£   rÂ   r¤   rª   r¬   ÚdcaÚcldÚsdkrï   s
            €rT   rÕ   z_ClassScanMapperConfig.__init__û  s™  ø€ ð */ÐC�DÔ˜uÑ%Ô%Ð%µD´Oð 	Ôõ 	‰Œ×Ò˜ 4¨Ñ3Ô3Ð3Ø ˆŒØ"&ˆÔà$&ˆÔ!Ø%'ˆÔ"Ý $¤Ñ 1Ô 1ˆÔØ!ˆÔØˆÔØˆŒÝ/6ØŒHÐ/°ñ0
ô 0
ð 	
ˆÔ&¨õ +2ØŒHÐ*¨Eñ+
ô +
ð +2å�$Ô0Ñ1Ô1ð 	Ô'õ 4?Ô3KØñ4
ô 4
ð 	
ˆÔ*¨Sõ & dÐ,KÑLÔLˆð ð 	�sð 	 ð 	ÝÔ)ð4ñô ð õ '+¨3¨;°3Ñ&7Ô&7ˆÔ#à×#Ò#Ñ%Ô%Ð%à×ÒÑÔÐà×*Ò*Ñ,Ô,Ð,åÔ'ð 	+ð 	+ÝÔ!Ø” ¤¨(Ô*Bñô ð ð ×)Ò)¨)Ñ4Ô4Ð4à×-Ò-Ñ/Ô/Ð/à×*Ò*Ñ,Ô,Ð,à×Ò˜eÑ$Ô$Ð$à×*Ò*¨9Ñ5Ô5Ð5à×Ò 	Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ÆB"H3È3H7È:H7rO   rf   c                óø   ‡ — t          ‰ j        d¦  «        r&t          j        t          d¦  «        d	ˆ fd„¦   «         }t          ‰ j        d¦  «        r(t          j        t          d¦  «        d	ˆ fd„¦   «         }d S d S )
Nrk   Úafter_configuredrO   rf   c                 óV   •— t          d‰ j        ¦  «                             ¦   «          d S ©Nú_DeclMappedClassProtocol[Any])r   rx   rk   rh   s   €rT   r*  zG_ClassScanMapperConfig._setup_declared_events.<locals>.after_configuredK  s,   ø€ åØ3°T´Xñô ç"Ò"Ñ$Ô$Ð$Ð$Ð$rW   ri   Úbefore_configuredc                 óV   •— t          d‰ j        ¦  «                             ¦   «          d S r,  )r   rx   ri   rh   s   €rT   r.  zH_ClassScanMapperConfig._setup_declared_events.<locals>.before_configuredS  s,   ø€ åØ3°T´Xñô ç#Ò#Ñ%Ô%Ð%Ð%Ð%rW   rl   )r‡   rx   r0   Úlistens_forr(   )rS   r*  r.  s   `  rT   r  z-_ClassScanMapperConfig._setup_declared_eventsH  s±   ø€ Ý" 4¤8Ð-?Ñ@Ô@ð 	%åÔ�vÐ'9Ñ:Ô:ð%ð %ð %ð %ð %ñ ;Ô:ð%õ
 # 4¤8Ð-@ÑAÔAð 	&åÔ�vÐ':Ñ;Ô;ð&ð &ð &ð &ð &ñ <Ô;ð&ð &ð &ð	&ð 	&rW   rx   úCallable[[str, Any], bool]c                ó  ‡‡‡‡‡— | j         rt          ‰d¦  «        ŠndŠ‰sdˆfd	„}nWˆfd
„t          j        ‰¦  «        D ¦   «         Šˆfd„t          j        ‰¦  «        D ¦   «         Št          ¦   «         Šdˆˆˆˆfd„}|S )z‘Produce a function that checks if a class has overridden an
        attribute, taking SQLAlchemy-enabled dataclass fields into account.

        r  NÚkeyrI   r°   r   rO   r‚   c                ó*   •— t          ‰| |¦  «        |uS rQ   )rš   )r3  r°   rx   s     €rT   Úattribute_is_overriddenzR_ClassScanMapperConfig._cls_attr_override_checker.<locals>.attribute_is_overriddenj  s   ø€ Ý˜s C¨Ñ-Ô-°SÐ8Ð8rW   c                óH   •— i | ]}‰|j         v ¯|j        |j         ‰         “ŒS rR   ©r^   r¸   ©Ú.0ÚfÚsa_dataclass_metadata_keys     €rT   ú
<dictcomp>zE_ClassScanMapperConfig._cls_attr_override_checker.<locals>.<dictcomp>n  s<   ø€ ð "ð "ð "àØ,°´
Ð:Ð:ð ”˜œ
Ð#<Ô=à:Ð:Ð:rW   c                óH   •— i | ]}‰|j         v ¯|j        |j         ‰         “ŒS rR   r7  r8  s     €rT   r<  zE_ClassScanMapperConfig._cls_attr_override_checker.<locals>.<dictcomp>s  s<   ø€ ð $ð $ð $àØ,°´
Ð:Ð:ð ”˜œ
Ð#<Ô=à:Ð:Ð:rW   c                óL  •— t          |¦  «        r|j        }‰                     | ‰¦  «        }t          |¦  «        r|j        }||u rdS |‰urdS ‰                     | ‰¦  «        }t          ‰| |¦  «        }||u rdS |‰urt	          |t
          ¦  «        rdS ||u rdS |‰urdS dS )NFT)r·   ÚfgetrŽ   rš   rµ   r   )r3  r°   ÚretÚ	all_fieldÚabsentÚall_datacls_fieldsrx   Úlocal_datacls_fieldss       €€€€rT   r5  zR_ClassScanMapperConfig._cls_attr_override_checker.<locals>.attribute_is_overridden{  sê   ø€ Ý(¨Ñ-Ô-ð #Øœ(�Cð +×.Ò.¨s°FÑ;Ô;�Ý(¨Ñ-Ô-ð #Øœ(�Cà˜#�:�:Ø ˜5Ø Ð&Ð&Ø˜4à.×2Ò2°3¸Ñ?Ô?�	å˜c 3¨Ñ,Ô,�à˜#�:�:Ø ˜5ð
 ˜fÐ$Ð$­ØÕ.ñ*ô *Ð$ð  ˜4à Ð#Ð#Ø ˜5Ø fÐ,Ð,Ø˜4ð �urW   )r3  rI   r°   r   rO   r‚   )r  r‡   r1   Údataclass_fieldsÚlocal_dataclass_fieldsrŒ   )rS   rx   r5  rB  rC  rD  r;  s    ` @@@@rT   Ú_cls_attr_override_checkerz1_ClassScanMapperConfig._cls_attr_override_checkerY  s	  øøøøø€ ð Ô&ð 	-Ý(?ØÐ4ñ)ô )Ð%Ð%ð )-Ð%à(ð 9	ð9ð 9ð 9ð 9ð 9ð 9ð 9ð"ð "ð "ð "åÔ.¨sÑ3Ô3ð"ñ "ô "Ðð
$ð $ð $ð $åÔ4°SÑ9Ô9ð$ñ $ô $Ð õ ‘X”XˆFð&ð &ð &ð &ð &ð &ð &ð &ð &ðP 'Ð&rW   >   rM   r_   rc   ra   z^(?:_sa_|__)ry   ú2Callable[[], Iterable[Tuple[str, Any, Any, bool]]]c                ó�  ‡‡‡‡‡‡‡	‡
— t          j        |¦  «        Št          |¦  «        Š| j        Š| j        Šˆˆfd„t          j        t          ‰¦  «        t          ‰¦  «        ¦  «        D ¦   «         Š	| j        rt          |d¦  «        Š
ndŠ
‰
s	d	ˆˆˆ	fd„}n+d„ t          j	        |¦  «        D ¦   «         Š‰
Šd	ˆˆˆˆˆ	ˆ
fd„}|S )
z¸produce a function to iterate the "attributes" of a class
        which we want to consider for mapping, adjusting for SQLAlchemy fields
        embedded in dataclass fields.

        c                óF   •— g | ]}‰                      |¦  «        r|‰v ¯|‘ŒS rR   )Úmatch)r9  ÚnÚ_include_dundersÚ_match_exclude_dunderss     €€rT   ú
<listcomp>z=_ClassScanMapperConfig._cls_attr_resolver.<locals>.<listcomp>½  sL   ø€ ð 
ð 
ð 
àð *×/Ò/°Ñ2Ô2ð
ð
 78Ð;KÐ6KÐ6Kð	 ð 7LÐ6KÐ6KrW   r  NrO   ú$Iterable[Tuple[str, Any, Any, bool]]c                 ó"   •— ˆ ˆfd„‰D ¦   «         S )Nc              3  óp   •K  — | ]0}|‰                      |¦  «        ‰                      |¦  «        d fV — Œ1dS )FN©rŽ   )r9  r¸   Úcls_annotationsÚcls_varss     €€rT   ú	<genexpr>z`_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_class.<locals>.<genexpr>Ñ  sa   øè è € ð ð ð ð Ø Ÿš TÑ*Ô*Ø'×+Ò+¨DÑ1Ô1Øð	ðð ð ð ð ð rW   rR   )rT  rU  Únamess   €€€rT   Úlocal_attributes_for_classzM_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_classÎ  s5   ø€ ðð ð ð ð ð !&ðñ ô ð rW   c                ó   — i | ]
}|j         |“ŒS rR   )r¸   )r9  Úfields     rT   r<  z=_ClassScanMapperConfig._cls_attr_resolver.<locals>.<dictcomp>Ü  s)   € ð  ð  ð  Ø&+�”
˜Eð ð  ð  rW   c               3  ó&  •K  — ‰D ]Š} ‰                      | d ¦  «        }|rB‰|j        v r9|j        t          |j        ‰¦  «        ‰                      |j        ¦  «        dfV — Œ\| ‰                      | ¦  «        ‰                      | ¦  «        dfV — Œ‹d S )NTF)rŽ   r^   r¸   Ú_as_dc_declaredattr)r¸   rZ  rT  rU  rE  Úfixed_sa_dataclass_metadata_keyrW  r;  s     €€€€€€rT   rX  zM_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_classâ  sÝ   øè è € ð "ð 	!ð 	!�DØ,×0Ò0°°tÑ<Ô<�EØð !Ð!:¸e¼nÐ!LÐ!LØ#œjÕ*=Ø!œNÐ,Kñ+ô +à*×.Ò.¨u¬zÑ:Ô:¸DðAð Að Að Að Að # H§L¢L°Ñ$6Ô$6¸×8KÒ8KØ ñ9ô 9à ð!ð !ð !ð !ð !ð	!ð 	!rW   )rO   rP  )
r1   Úget_annotationsÚvarsrM  rN  Úmerge_lists_w_orderingÚlistr  r‡   rF  )rS   rx   rX  rM  rN  rT  rU  rE  r]  rW  r;  s      @@@@@@@@rT   Ú_cls_attr_resolverz)_ClassScanMapperConfig._cls_attr_resolver®  s[  øøøøøøøø€ õ Ô.¨sÑ3Ô3ˆå˜‘9”9ˆàÔ0ÐØ!%Ô!<Ðð
ð 
ð 
ð 
ð 
åÔ0Ý�X‘”¥ _Ñ 5Ô 5ñô ð
ñ 
ô 
ˆð Ô&ð 	-Ý7NØÐ4ñ8ô 8Ð%Ð%ð )-Ð%à(ð "	!ðð ð ð ð ð ð ð ð ð ð  Ý/3Ô/JÈ3Ñ/OÔ/Oð ñ  ô  Ðð /HÐ+ð!ð !ð !ð !ð !ð !ð !ð !ð !ð !ð !ð *Ð)rW   c                óx	  ‡— | j         }t          d|¦  «        Š| j        }| j        }| j        }| j        }d }d x}}d }	d|v }
|                      | j         ¦  «        }g }|j        D ]d}||uot          |¦  «        }|  	                    |¦  «        }|s||ur|  
                    |||
|¦  «        }ni }|                     ||||f¦  «         Œe|D �]Ò\  }}}}|                     |¦  «          |¦   «         D �]©\  }}}}||v rµ|dk    r t          |||¦  «        }|s|r|rdˆfd„}|}Œ2|dk    rt          |||¦  «        }|	s|r|r‰j        }	ŒW|dk    rct          |||¦  «        }|sO|r|rK‰j        }t!          |t"          t$          t'          d ¦  «        f¦  «        st)          j        d	¦  «        ‚||urd
}ŒÀŒÁ|r>t-          |¦  «        r-|j        s&t1          j        d|j        ›d|›d|›d|›d�	¦  «         �Œ||u�rët!          |t6          t8          f¦  «        r�Œ$t!          |t:          ¦  «        rt)          j        d¦  «        ‚t-          |¦  «        �rT|€J ‚|j        rQ||v rt1          j        d|›d|›d�¦  «         |                      ||¦  «        x||<   x||<   }tC          |||¦  «         nœ|r;tE          ||d ¦  «        }t!          |tF          ¦  «        s| $                    ¦   «         }ntE          ||¦  «        }t!          |tF          ¦  «        r0tK          |¦  «        r!t!          |j&        t:          ¦  «        s|j'        }|x||<   ||<   t!          |t6          t:          f¦  «        r|j(        €|j)        |_(        |  *                    || +                    ¦   «         |d
|¦  «         �Œ±tY          |||¦  «        r|
s||v s ||d ¦  «        sJ ‚�ŒØ|  -                    |||¦  «         �Œñ|r_||vs
||         |urQ |||¦  «        rJ ‚t-          |¦  «        r| $                    ¦   «         }|||<   |  *                    |||d|¦  «         �ŒR|  *                    |||d |¦  «        }|d uo|j.        d u}|�|j/        n|}|€|
s|r|�|nt9          ¦   «         ||<   �Œ ||v r|||<   �Œ«�ŒÔ|r|	sd }|| _0        |	| _1        || _2        d S )Nr-  rM   ra   rO   r  c                 ó,   •— t          ‰ j        ¦  «        S rQ   )Údictra   )Úcls_as_Decls   €rT   Ú_mapper_args_fnz@_ClassScanMapperConfig._scan_attributes.<locals>._mapper_args_fnC  s   ø€ Ý'+¨KÔ,GÑ'HÔ'HÐ HrW   r_   rc   z3__table_args__ value must be a tuple, dict, or NoneTz*Regular (i.e. not __special__) attribute 'ú.z(' uses @declared_attr, but owning class z& is mapped - not applying to subclass zÂMapper properties (i.e. deferred,column_property(), relationship(), etc.) must be declared as @declared_attr callables on declarative mixin classes.  For dataclass field() objects, use a lambda:úAttribute 'ú' on class z> cannot be processed due to @declared_attr.cascading; skippingF)rO   r  )3rx   r   r  r  r  rM  rG  r›   rˆ   rb  Ú_produce_column_copiesrõ   Úupdater¼   r_   rc   rµ   Útuplere  rÐ   r   ÚArgumentErrorr·   Ú_quietr1   r»   rJ   r4   r*   r'   rÆ   rº   Ú__get__Úsetattrrš   r   r?  r   Úoriginal_propertyÚ
descriptorÚdocrZ   Ú_collect_annotationÚ_collect_return_annotationr,   Ú_warn_for_decl_attributesrÿ   r  r  r  r  )rS   rx   r  r  r  rM  r  r  Úinherited_table_argsr  Úfixed_tabler5  Úbasesrœ   Úclass_mappedrX  Úlocally_collected_columnsr¸   r°   Ú
annotationÚis_dataclass_fieldÚ
check_declrg  r@  Úcollected_annotationrÔ   Úgenerated_objrf  s                              @rT   r  z'_ClassScanMapperConfig._scan_attributesò  s  ø€ ØŒhˆåÐ:¸CÑ@Ô@ˆàÔ(ˆØ#Ô8ÐØÔ*ˆØÔ0ÐØˆØ,0Ð0ˆ
Ð)àˆ	Ø! \Ð1ˆà"&×"AÒ"AÀ$Ä(Ñ"KÔ"KÐàˆà”Kð 	ð 	ˆDð   s˜?ÐNÕ/HÈÑ/NÔ/NˆLà)-×)@Ò)@ÀÑ)FÔ)FÐ&àð / D° O OØ,0×,GÒ,GØ.Ø+ØØñ	-ô -Ð)Ð)ð -/Ð)à�LŠLàØ Ø.Ø-ð	ñô ð ð ð ð^	9ñ ^	9ñ 
ØØØ&Ø%ð !×'Ò'Ð(AÑBÔBÐBð ,Ð+Ñ-Ô-ðR9ñ R9ñ ØØØØ"àÐ+Ð+Ð+ØÐ0Ò0Ð0Ý%DØ  sñ&ô &˜
ð  .ð =Ø ,ð=Ø0:ð=ðIð Ið Ið Ið Ið Ið .=˜Nøà Ò0Ð0Ý%DØ  sñ&ô &˜
ð  )ð B°,ð BÀ*ð BØ(3Ô(A˜IøØÐ!1Ò1Ð1Ý%DØ  sñ&ô &˜
ð  *ð 
<°<ð 
<À:ð 
<Ø)4Ô)C˜JÝ#-Ø *­UµD½$¸t¹*¼*Ð,Eñ$ô $ð "õ '*Ô&7ð%4ñ'"ô '"ð !"ð  $¨3˜˜Ø7;Ð 4øð !Ø!ð `9Ý,¨SÑ1Ô1ð ¸#¼*ð Ýœ	˜	ð
  $œ}˜}˜}¨d¨d¨d°D°D°D¸#¸#¸#ð	?ñô ð ñ Ø �_‘_õ " #­µÐ'=Ñ>Ô>ð hHá Ý# C­Ñ8Ô8ð eHÝ!Ô5ð=ñô ð õ /¨sÑ3Ô3ñ ]Hð  #˜˜˜àœ>ð 8$Ø# |Ð3Ð3õ !%¤	 	ð 37°$°$¸¸¸ð%=ñ!"ô !"ð !"ð '*§k¢k°#°sÑ&;Ô&;ð<Ð0°Ñ6ð <¸Ø #ñ:à #Ý# C¨¨sÑ3Ô3Ð3Ð3à1ð 9õ
 '.¨c°4¸Ñ&>Ô&> õ
 (2°#µ~Ñ'FÔ'Fð !5Ø*-¯(ª(©*¬* Cøõ '.¨c°4Ñ&8Ô&8 õ !+¨3µÑ ?Ô ?ð5å$:¸3Ñ$?Ô$?ð5õ )3Ø$'Ô$9½>ñ)"ô )"ð5ð '*¤n ð !$ð$Ð0°Ñ6¸Ø #ñ:õ
 ' s­Vµ^Ð,DÑEÔEð2à #¤ à&)¤k˜CœGà×0Ò0Ø Ø×:Ò:Ñ<Ô<Ø Ø Øñô ð ñ õ /¨z¸3ÀÑEÔEð Hð  +ð à $Ð(<Ð <Ð <Ø#:Ð#:¸4ÀÑ#FÔ#Fð !=Ð <Ð <ñ !ð ×6Ò6°t¸TÀ3ÑGÔGÐGÑGØ'ð (9Ø Ð,Ð,°¸TÔ0BÈ#Ð0MÐ0Mð  7Ð6°t¸SÑAÔAÐAÐAÐAå,¨SÑ1Ô1ð )Ø!Ÿhšh™jœj˜à14Ð(¨Ñ.Ø×,Ò,Ø˜j¨$°°sñô ð ñ ð ,0×+CÒ+CØ˜j¨$°°cñ,ô ,Ð(ð -°DÐ8ð NØ0ÔAÈÐMð ð 0Ð;ð -Ô7Ð7à ð "ð
 �{¨;�{¸9�{ð  -Ð8ð *˜Må!-¡¤ð -¨TÑ2Ñ2ð
  Ð-Ð-Ø58Ð,¨TÑ2ùñeR9ðp  ð 	¨	ð 	ØˆJà$ˆŒØ"ˆŒØ,ˆÔÐÐrW   c           
     ó<  ‡ ‡‡— ‰ j         }|sd S d‰ j        j        v rt          j        d‰ j        › d�¦  «        ‚t          j        t          ¦  «        Šdˆ ˆfd
„Št          j	        ‰ j        ¦  «        }|€J ‚ˆ fd„ˆˆ fd„‰ j
                             ¦   «         D ¦   «         D ¦   «         }‰r]‰                     ¦   «         D ]H\  }}t          j        d‰ j        › dd                     d„ |D ¦   «         ¦  «        › d|› d�dd¬¦  «         ŒIi }i }|D ]A}t          |¦  «        dk    r|\  }	}
n!t          |¦  «        dk    r|\  }	}
}|||	<   nJ ‚|
||	<   ŒB|                     ¦   «         D ]\  }}t!          ‰ j        ||¦  «         Œ‰                      |‰ j        |¦  «         d S )NÚ__dataclass_fields__rÄ   zý is already a dataclass; ensure that base classes / decorator styles of establishing dataclasses are not being mixed. This can happen if a class that inherits from 'MappedAsDataclass', even indirectly, is been mapped with '@registry.mapped_as_dataclass'r3  rI   r  ry   rO   r‚   c                ób   •— |‰j         ur$d|j        vr‰|                              | ¦  «         dS )Nrƒ  T)rx   r�   rõ   )r3  r  rS   Úwarn_for_non_dc_attrss     €€rT   Ú_allow_dataclass_fieldzT_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>._allow_dataclass_field   s@   ø€ ð "¨¬Ð1Ð1Ø*Ð2CÔ2LÐLÐLà%Ð&7Ô8×?Ò?ÀÑDÔDÐDà�4rW   c                óŒ   •— g | ]@\  }}}t          j        |||‰j                             |t          j        ¦  «        ¦  «        ‘ŒAS rR   )r"   Ú!_get_arguments_for_make_dataclassr  rŽ   r3   ÚNO_ARG)r9  r3  Úannorÿ   rS   s       €rT   rO  zH_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<listcomp>.  s`   ø€ ð %
ð %
ð %
ñ ,��TÐ+õ Ô?ØØØ ØÔ)×-Ò-¨cµ6´=ÑAÔAñ	ô ð%
ð %
ð %
rW   c              3  óª   •K  — | ]M\  }\  }}}}}}} ‰	||¦  «        r4|‰
j         vs t          ‰
j         |         t          ¦  «        °B||r|n||fV — ŒNd S rQ   )r  rµ   r   )r9  r3  Úraw_annorÿ   Úmapped_annoÚis_dcr  r  r  r†  rS   s            €€rT   rV  zG_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<genexpr>5  s«   øè è € ð 0ð 0ñ�Cñ ØØ$ØØØØ&Ø%à)Ð)¨#Ð/@ÑAÔAð0ð" ˜tÔ8Ð8Ð8õ &ØÔ1°#Ô6Õ8Jñô ð 9ð Ø#.Ð<�K�K°HØ$ðð  9Ð8Ð8Ð8ð#0ð 0rW   zWhen transforming z to a dataclass, attribute(s) ú, c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rQ   ©rp   )r9  r3  s     rT   rV  zG_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<genexpr>]  s(   è è € Ð CÐ C¨s¥ c¡¤Ð CÐ CÐ CÐ CÐ CÐ CrW   z originates from superclass a  , which is not a dataclass.  This usage is deprecated and will raise an error in SQLAlchemy 2.1.  When declaring SQLAlchemy Declarative Dataclasses, ensure that all mixin classes and other superclasses which include attributes are also a subclass of MappedAsDataclass.z2.0Údcmx©Úcoder/   é   F)r3  rI   r  ry   rO   r‚   )r  rx   r�   r   rÆ   ÚcollectionsÚdefaultdictra  r   rØ   r  Úitemsr1   Úwarn_deprecatedÚjoinrö   rq  Ú_apply_dataclasses_to_any_class)rS   r  r¢   Ú
field_listr  Únon_dc_attrsr   ÚdefaultsÚitemr¸   ÚtpÚspecÚkÚvr†  r…  s   `             @@rT   r   z4_ClassScanMapperConfig._setup_dataclasses_transforms  sƒ  øøø€ Ø$(Ô$BÐ!Ø(ð 	ØˆFð " T¤XÔ%6Ð6Ð6ÝÔ)ð2˜œð 2ð 2ð 2ñô ð õ !,Ô 7½Ñ =Ô =Ðð		ð 		ð 		ð 		ð 		ð 		ð 		õ "Ô2°4´8Ñ<Ô<ˆØÐ"Ð"Ð"ð%
ð %
ð %
ð %
ð0ð 0ð 0ð 0ð 0ð Ô/×5Ò5Ñ7Ô7ð0ñ 0ô 0ð%
ñ %
ô %
ˆ
ðN !ð 	ð '×,Ò,Ñ.Ô.ðð ñ Ø!ØåÔ$ð	6¨¬ð 	6ð 	6à—y’yÐ CÐ C°lÐ CÑ CÔ CÑCÔCð	6ð 	6ð )ð		6ð 	6ð 	6ð Øðñ ô ð ð ð ˆØˆØð 	#ð 	#ˆDÝ�4‰yŒy˜AŠ~ˆ~Ø‘��b�bÝ�T‘”˜a’�Ø!%‘��b˜$Ø!%�˜‘�à�Ø "ˆK˜ÑÐà—N’NÑ$Ô$ð 	$ð 	$‰DˆAˆqÝ�D”H˜a Ñ#Ô#Ð#Ð#à×,Ò,Ø% t¤x°ñ	
ô 	
ð 	
ð 	
ð 	
rW   Úklassú!Mapping[str, _AnnotationScanType]c                óþ   — t          j        |¦  «        }i }|                     ¦   «         D ]Q\  }}t          |||¦  «        r6t	          |||j        |t          d ¦  «        ddd¬¦  «        }|r
|\  }}|||<   ŒL|||<   ŒR|S )NF©Úrequiredr~  Úexpect_mapped)r1   r^  r˜  r,   r+   rX   rÐ   )	rx   r¤  rT  Únew_annor¸   r}  Ú	extractedÚinnerÚ_s	            rT   Ú(_update_annotations_for_non_mapped_classz?_ClassScanMapperConfig._update_annotations_for_non_mapped_class|  s¯   € õ Ô.¨uÑ5Ô5ˆàˆØ /× 5Ò 5Ñ 7Ô 7ð 	,ð 	,ÑˆD�*Ý$ Z°¸Ñ>Ô>ð ,Ý3ØØØÔ$ØÝ˜‘J”JØ"Ø',Ø"'ð	ñ 	ô 	�	ð ð +Ø(‘H�E˜1Ø%*�H˜T‘Nøà!+�˜‘�ØˆrW   rn   Úuse_annotationsc                óÚ  — |                       |¦  «         |d         }|t          j        u rt          j        }|r't          |dd ¦  «        }t          d|¦  «        |_        nd }	  ||fi d„ |                     ¦   «         D ¦   «         ¤Ž n<# t          t          f$ r(}t          j        d|j        ›d|›d�d¬	¦  «        |‚d }~ww xY w	 |r|€|`d S ||_        d S d S # |r|€|`n||_        w xY w)
Nrv   r[   r  c                óB   — i | ]\  }}|t           j        u¯|d k    ¯||“ŒS )rv   )r3   r‰  )r9  r¢  r£  s      rT   r<  zJ_ClassScanMapperConfig._apply_dataclasses_to_any_class.<locals>.<dictcomp>²  s@   € ð ð ð á˜˜1Ø¥¤Ð-Ð-°!Ð7KÒ2KÐ2Kð �qà2KÐ2KÐ2KrW   zAPython dataclasses error encountered when creating dataclass for z: zN. Please refer to Python dataclasses documentation for additional information.Údcter“  )Ú_assert_dc_argumentsr3   r‰  r  Ú	dataclassrš   r   r[   r˜  Ú	TypeErrorÚ
ValueErrorr   rÆ   rJ   )rx   r  r¤  r¯  rv   ÚrestoredÚexs          rT   r›  z6_ClassScanMapperConfig._apply_dataclasses_to_any_class–  sœ  € ð 	× Ò Ð!:Ñ;Ô;Ð;à6Ð7KÔLÐØ¥¤Ð.Ð.Ý!,Ô!6Ðð ð 	õ
 ˜uÐ&7¸Ñ>Ô>ˆHÝ$(Ð)9¸?Ñ$KÔ$KˆEÔ!Ð!àˆHð	5ØÐØðð ðð à 9× ?Ò ?Ñ AÔ Aðñ ô ðð ð ð øõ �:Ð&ð 	ð 	ð 	ÝÔ)ð<Ø!&¤ð<ð <àð<ð <ð <ð ðñ ô ð ðøøøøð	øøøðð* ð 5ØÐ#ØÐ-Ð-Ð-à,4�EÔ)Ð)Ð)ð	5ð 5øˆð 5ØÐ#ØÐ-Ð-à,4�EÔ)Ð4Ð4Ð4Ð4s*   Á$%B
 Â	C Â
CÂ#B>Â>CÃC ÃC*Ú	argumentsc                óÞ   — h d£}t          |¦  «                             |¦  «        }|rDd                     d„ t          |¦  «        D ¦   «         ¦  «        }t	          j        d|› d�¦  «        ‚d S )N>   rq   ro   rp   rr   ru   rt   rs   rv   r�  c              3  ó   K  — | ]}|›V — Œd S rQ   rR   )r9  Úargs     rT   rV  z>_ClassScanMapperConfig._assert_dc_arguments.<locals>.<genexpr>Ù  s$   è è € ÐJÐJ¨3˜s˜JÐJÐJÐJÐJÐJÐJrW   zDataclass argument(s) z are not accepted)ÚsetÚ
differencerš  Úsortedr   rn  )rx   r¹  ÚallowedÚdisallowed_argsÚmsgs        rT   r³  z+_ClassScanMapperConfig._assert_dc_argumentsË  s‹   € ð	
ð 	
ð 	
ˆõ ˜i™.œ.×3Ò3°GÑ<Ô<ˆØð 	Ø—)’)ÐJÐJµ&¸Ñ2IÔ2IÐJÑJÔJÑJÔJˆCÝÔ#Ø?¨Ð?Ð?Ð?ñô ð ð	ð 	rW   r¸   rI   rþ   r7   r  r©  úOptional[bool]r  r   úOptional[_CollectedAnnotation]c           
     ó°  — || j         v r| j         |         S |€d S | j        }| j        }|€:t          |t          j        ¦  «        }| o| o|d u pt          |t          ¦  «        }nd}d}t          || j        |j	        |t          |¦  «        d||o| ¬¦  «        }	|	€d S |	\  }
}|€�t          |
¦  «        s~t          |
¦  «        D ]n}t          |t          ¦  «        st          |d¬¦  «        rt          | j        ||j	        d¬¦  «        }t          |t           ¦  «        r|                     ¦   «         }Œot%          |||
|||j	        |¦  «        x| j         |<   }|S )NFr§  T)Úcheck_generic)Úinclude_generic)r  r  r  rµ   r  ÚFieldr%   r+   rx   rX   rÐ   r9   r<   rI   r8   r.   r$   Úfound_in_pep593_annotatedrý   )rS   r¸   rþ   r  r©  r  r  Úallow_unmappedr~  r«  r   rÿ   ÚelemÚcas                 rT   ru  z*_ClassScanMapperConfig._collect_annotationÞ  sá  € ð �4Ô-Ð-Ð-ØÔ-¨dÔ3Ð3àÐ!Ø�4àÔ9ˆØÔ8ˆàÐ Ý!+¨J½Ô8IÑ!JÔ!JÐà&Ð&ð Ø&Ð&ðð  $Ð&ð @Ý! *Õ.>Ñ?Ô?ð ˆMð "'Ðà"ÐÝ+ØØŒHØÔ(ØÝ�ÑÔØØ1Ø'ð !Ø Ð ð

ñ 

ô 

ˆ	ð Ðà�4à8AÑ5Ð#Ð%5àÐ¥jÐ1LÑ&MÔ&MÐÝ'Ð(CÑDÔDð Bð B�Ý˜d¥CÑ(Ô(ð ­JØ¨ð-ñ -ô -ð õ 3ØœØØ)Ô4Ø(,ð	ñ ô �Dõ ˜dÕ$;Ñ<Ô<ð BØ!%×!?Ò!?Ñ!AÔ!A�Jøå0DØØØ'ØØØÔ(Øñ1
ô 1
ð 	
ˆÔ" 4Ñ(¨2ð ˆ	rW   r3  rø   c                ót   — t          |t          j        ¦  «        rt          j        d|› d|› d�¦  «         d S d S )Nri  rj  zë appears to be a non-schema SQLAlchemy expression object; this won't be part of the declarative mapping. To map arbitrary expressions, use ``column_property()`` or a similar function such as ``deferred()``, ``query_expression()`` etc. )rµ   r2   ÚColumnElementr1   r»   )rS   rx   r3  rø   s       rT   rw  z0_ClassScanMapperConfig._warn_for_decl_attributes*  sc   € õ �a�Ô1Ñ2Ô2ð 	ÝŒIð/˜cð /ð /¨cð /ð /ð /ñô ð ð ð ð	ð 	rW   Úattributes_for_classr5  ry  ú0Dict[str, Union[Column[Any], MappedColumn[Any]]]c                óî  — | j         }| j        }i }| j        } |¦   «         D �]Q\  }	}
}}|sk|
€it          |||¦  «        rX ||	|
¦  «        rŒ*|                      |	||d|
¦  «        }|�|j        n|
}
|
€t          ¦   «         }
|
||	<   t          ||	|
¦  «         Œut          |
t          t          f¦  «        rÀ ||	|
¦  «        rŒž|                      |	||d|
¦  «        }|�|j        n|
}
|	|vr‹d|v r t          |
dd ¦  «        p|	|d         j        v sg|
j        r1|
j        D ])}|j        � |j        j        €t          j        d¦  «        ‚Œ*|
                     ¦   «         x||
<   }|||	<   t          ||	|¦  «         �ŒS|S )NTrM   r¸   z®Columns with foreign keys to non-table-bound columns must be declared as @declared_attr callables on declarative mixin classes.  For dataclass field() objects, use a lambda:.)rx   r  r  r,   ru  r  r*   rq  rµ   r4   rš   rø   Úforeign_keysÚ_table_columnrª   r   rÆ   Ú_copy)rS   rÏ  r5  ry  r  rx   r¤   Úlocally_collected_attributesr  r¸   r°   r}  r  r€  ÚfkÚcopy_s                   rT   rk  z-_ClassScanMapperConfig._produce_column_copies7  s/  € ð ŒhˆØÔ!ˆØ')Ð$ØÔ*ˆð 4HÐ3GÑ3IÔ3Ið G	.ñ G	.Ñ/ˆD�#�z <àðF.à�KÝ)¨*°cÐ;LÑMÔMð  ð
 +Ð*¨4°Ñ5Ô5ð ð à'+×'?Ò'?Ø˜*Ð&7¸¸sñ(ô (Ð$ð
 ,Ð7ð )Ô3Ð3àð ð
 �;Ý&™.œ.�Cà58Ð,¨TÑ2Ý˜˜T 3Ñ'Ô'Ð'Ð'å˜C¥&­,Ð!7Ñ8Ô8ð ).Ø*Ð*¨4°Ñ5Ô5ð ð
 à'+×'?Ò'?Ø˜*Ð&7¸¸sñ(ô (Ð$ð
 ,Ð7ð )Ô3Ð3àð ð ˜uÐ$Ð$Ø 5Ð(Ð(Ý   f¨dÑ3Ô3Ð;°tØ˜[Ô)Ô+ð,ð ,ð Ô'ð "Ø"%Ô"2ð "ð "˜Bà "Ô 0Ð <Ø$&Ô$4Ô$:Ð$Bå&)Ô&=ð%Fñ'"ô '"ð !"øð 25·²±´Ð<�M #Ñ&¨à9>Ð0°Ñ6Ý˜C  uÑ-Ô-Ð-ùà+Ð+rW   c                ó\  ‡— | j         }| j        }| j        }| j        }t	          |dd¬¦  «        }| j        }|p| j        }t          | j        ¦  «        }t          |¦  «        D �]G}	|	|v rŒ||	         Št          ‰¦  «        r4‰j        rt          j        d| j         z  ¦  «         t          ||	¦  «        ŠnNt          ‰t           ¦  «        r9‰j        |ur0‰j        |	k    r%t'          ‰j        ¦  «        Št)          ||	‰¦  «         t          ‰t*          ¦  «        rNt-          ‰¦  «        dk    r;t          ‰d         t.          t0          f¦  «        rt          j        d|	z  ¦  «         �Œ|rt          ‰t2          j        ¦  «        r�Œ"t          ‰t.          t6          f¦  «        sA|                     |	¦  «         |                      ||	‰¦  «         |st)          ||	‰¦  «         �Œ|	dv rt=          j        d	|	› d
�¦  «        ‚t          ‰t.          ¦  «        r+tA          |	| j!         "                    ‰‰¦  «        ¦  «         �ngt          ‰tF          ¦  «        r|| j$         "                    |	d¦  «        \  }
}}}}}}|€|
�|rO	 ‰ %                    | | j&        |||	||
||¦	  «	         n/# tN          $ r}t=          j(        d|
› d�¦  «        |‚d }~ww xY w|sJ ‚t          ‰t6          ¦  «        rÁ‰j)        rv|stt          ‰tT          ¦  «        rg d¢}ng d¢}ˆfd„|D ¦   «         }t=          j(        d|	› d|› dd +                    tY          d„ |D ¦   «         ¦  «        ¦  «        › d�¦  «        ‚t          ‰tT          tZ          f¦  «        s(|                     |	¦  «         t)          ||	‰¦  «         �ŒB‰||	<   �ŒId S )Nr„   Tr…   z�Use of @declared_attr.cascading only applies to Declarative 'mixin' and 'abstract' classes.  Currently, this flag is ignored on mapped class %sr   r   z‘Ignoring declarative-like tuple value of attribute '%s': possibly a copy-and-paste error with a comma accidentally placed at the end of the line?)r^   zAttribute name 'z-' is reserved when using the Declarative API.)NNNFNNNz7Could not resolve all types within mapped annotation: "zU".  Ensure all types are written correctly and are imported within the module in use.)ro   Údefault_factoryrp   Údefault)ro   rÙ  rp   c                ó\   •— h | ](}t          ‰j        d |› �¦  «        t          j        u¯&|’Œ)S )Údataclasses_)rš   Ú_attribute_optionsr3   r‰  )r9  ÚarÖ   s     €rT   ú	<setcomp>zF_ClassScanMapperConfig._extract_mappable_attributes.<locals>.<setcomp>0  sX   ø€ ð  ð  ð  à !Ý&Ø %Ô 8Ð:LÈÐ:LÐ:Lñ ô  õ $*¤=ð 1ð  1ð ð 1ð  1ð  1rW   ri  rj  z# includes dataclasses argument(s): r�  c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rQ   r‘  )r9  rÞ  s     rT   rV  zF_ClassScanMapperConfig._extract_mappable_attributes.<locals>.<genexpr><  s(   è è € Ð/FÐ/F¸Aµ°Q±´Ð/FÐ/FÐ/FÐ/FÐ/FÐ/FrW   zF but class does not specify SQLAlchemy native dataclass configuration.).rx   r  r¿   rM  r‡   r  r  r‚   r  ra  r·   rº   r1   r»   rš   rµ   r   r’   r3  r!   rq  rm  rö   r4   r%   r  rÈ  r#   Úpoprw  r   rÆ   Ú_undefer_column_namer  rŽ   r$   r  rÍ   r£   Ú	NameErrorrn  Ú_has_dataclass_argumentsr'   rš  r¿  r&   )rS   rx   r  Ú	our_stuffrM  Úlate_mappedr  Úexpect_annotations_wo_mappedÚlook_for_dataclass_thingsr¢  r}  rÿ   r   r  r  r  r  ÚneÚargnamesÚargsrÖ   s                       @rT   r"  z3_ClassScanMapperConfig._extract_mappable_attributes‘  s  ø€ ØŒhˆØ#Ô8Ðà”Oˆ	àÔ0Ðå-ØÐ-°dð
ñ 
ô 
ˆð &*Ô%DÐ"à&ÐL¨$Ô*Lð 	%õ %)¨Ô)GÑ$HÔ$HÐ!åÐ*Ñ+Ô+ð p	!ñ p	!ˆAØÐ$Ð$Ð$Øà(¨Ô+ˆEå$ UÑ+Ô+ð 'ð Ô#ð Ý”Iðð  $œxñ(ñô ð õ    Q™œ��õ ˜5Õ"4Ñ5Ô5ð'à”L¨Ð+Ð+Ø”I ’N�Nõ (¨¬	Ñ2Ô2�Ý˜˜Q Ñ&Ô&Ð&õ ˜5¥%Ñ(Ô(ðP!å˜‘J”J !’O�OÝ˜u Qœx­&Õ2BÐ)CÑDÔDð $õ ”	ðBàDEñFñô ð ñ
 Ø*ð E!­zØ•{Ô(ñ0ô 0ð E!ñ
 Ý ­Õ0CÐ'DÑEÔEð !ð
 %×(Ò(¨Ñ+Ô+Ð+Ø×.Ò.¨s°A°uÑ=Ô=Ð=Ø"ð +Ý˜C  EÑ*Ô*Ð*Ùð �mÐ#Ð#ÝÔ-ð' qð 'ð 'ð 'ñô ð õ ˜E¥6Ñ*Ô*ð k!Ý$Ø�tÔ)×-Ò-¨e°UÑ;Ô;ñô ð ñ õ ˜eÕ%<Ñ=Ô=ð 3<ð Ô2×6Ò6ØÐFñô ñØ"Ø(Ø3Ø$Ø"Ø*Ø)ð )Ð4Ø%Ð-ð
 6ð .ð&Ø!×2Ò2Ø $Ø $¤Ø #Ø 2Ø !Ø 0Ø *Ø ;Ø ,ñ
ô 
ð 
ð 
øõ  )ð &ð &ð &Ý"%Ô"3ð!FØ0:ð!Fð !Fð !Fñ#ô #ð
 $&ð&øøøøð&øøøð  <Ð;Ð;Ð;å˜eÕ%8Ñ9Ô9ð 1!àÔ6ðà 9ðõ & e­^Ñ<Ô<ð Kð(ð (ð (˜H˜Hð (KÐ'JÐ'J˜Hð ð  ð  ð  à%-ð ñ  ô  ˜õ "Ô/ðI¨!ð Ið I¸ð Ið Ià#Ÿyšy­Ð/FÐ/FÀÐ/FÑ/FÔ/FÑ)FÔ)FÑGÔGðIð Ið Iñô ð õ & e­n½lÐ-KÑLÔLð !ð -×0Ò0°Ñ3Ô3Ð3õ    Q¨Ñ.Ô.Ð.Ù à ˆI�a‰L‰Lðap	!ð p	!s   É="J Ê 
KÊ*KËKc                ó~  — | j         }| j        }| j        }t          j        t
          ¦  «        }t          |                     ¦   «         ¦  «        D ]ü\  }}t          |t          ¦  «        r�|j
        }|r|||<   n||= |j        D ]f\  }}	t          |t          ¦  «        s ||j                                      |¦  «         |                     |¦  «         |	||<   |€||j        k    r|||<   ŒgŒ›t          |t           ¦  «        rL|j        €J ‚||j                                      |¦  «         |                     |¦  «         ||j        k    r||= Œý|                     ¦   «         D ][\  }
}t#          |¦  «        dk    rCt%          j        d| j        ›d|
›dd                     t-          |¦  «        ¦  «        ›d�¦  «         Œ\d S )Nr   z	On class z, Column object z7 named directly multiple times, only one will be used: r�  z$. Consider using orm.synonym instead)r¿   r
  r  r–  r—  r½  ra  r˜  rµ   r&   Úmapper_property_to_assignÚcolumns_to_assignr    r¸   Úaddr3  r4   rö   r1   r»   r¾   rš  r¿  )rS   rå  r
  r  Úname_to_prop_keyr3  rø   Úmp_to_assignÚcolÚ
sort_orderr¸   Úkeyss               rT   r#  z0_ClassScanMapperConfig._extract_declared_columnsV  sõ  € Ø”Oˆ	ð  Ô0ÐØÔ.ˆÝ&Ô2µ3Ñ7Ô7Ðå˜9Ÿ?š?Ñ,Ô,Ñ-Ô-ð '	'ð '	'‰FˆC�Ý˜!�\Ñ*Ô*ð &'Ø Ô:�Øð 'Ø%1�I˜c‘N�Nð " #˜à'(Ô':ð -ð -‘O�C˜Ý% aÕ):Ñ;Ô;ð <Ø(¨¬Ô2×6Ò6°sÑ;Ô;Ð;Ø$×(Ò(¨Ñ-Ô-Ð-ð ,6�O CÑ(ð $Ð+°°s´w²°Ø),˜	 #™øð!-õ" ˜A�vÑ&Ô&ð 'ð ”vÐ)Ð)Ð)Ø  ¤Ô(×,Ò,¨SÑ1Ô1Ð1Ø ×$Ò$ QÑ'Ô'Ð'ð ˜!œ%’<�<Ø! #˜øà*×0Ò0Ñ2Ô2ð 	ð 	‰JˆD�$Ý�4‰yŒy˜1Š}ˆ}Ý”	�	ð
 ”~�~�~ t t t¨d¯iªi½¸t¹¼Ñ.EÔ.EÐ.EÐ.Eð	Hñô ð øð	ð 	rW   Nc           	     ó¼  ‡— | j         }t          d|¦  «        }| j        }| j        }| j        }| j        }| j        Št          j        |¦  «        }d|v�r:|�€7t          |d¦  «        r8t          t          t                   t          j        |j        ¦  «        ¦  «        }	nt          }	|�åd}
i }|r]t          |t           ¦  «        r|}nEt          |t"          ¦  «        r0t          |d         t           ¦  «        r|dd…         |d         }}
n|}
|                     d¦  «        }|r||d<   |                     d	¦  «        }|rd
|d<   t'          |ˆfd„¬¦  «        }|                      d |	||                      |¦  «        g|¢|
¢R i |¤Ž¦  «        }nF|€|j        }|r;|D ]8}|j                             |¦  «        st3          j        d|j        z  ¦  «        ‚Œ9|| _        d S )NúMappedClassProtocol[Any]rM   Ú__table_cls__rR   éÿÿÿÿr   Ú__autoload_with__Úautoload_withÚ__autoload__TÚautoloadc                ó0   •— ‰                      | d¦  «        S )Nr   rS  )rø   r  s    €rT   ú<lambda>z5_ClassScanMapperConfig._setup_table.<locals>.<lambda>½  s   ø€  /×"5Ò"5°a¸Ñ";Ô";€ rW   ©r3  z8Can't add additional column %r when specifying __table__)rx   r   r  r  r  r
  r  r   rØ   rÇ   r   r5   r1   Úunbound_method_to_callabler÷  rµ   re  rm  rŽ   r¿  rÚ   Ú_metadata_for_clsrM   rø   Úcontains_columnr   rn  r3  rç   )rS   rª   rx   rf  r  r  r  r
  r¢   Ú	table_clsrë  Útable_kwrú  rü  Úsorted_columnsrø   r  s                   @rT   r$  z#_ClassScanMapperConfig._setup_table‘  sc  ø€ ØŒhˆÝÐ5°sÑ;Ô;ˆà”Nˆ	Ø”_ˆ
ØÔ(ˆØÔ0ÐØÔ.ˆåÔ-¨cÑ2Ô2ˆà˜lÐ*Ñ*¨u©}Ý�s˜OÑ,Ô,ð "Ý Ý�”KÝÔ3°CÔ4EÑFÔFñô �	�	õ
 "�	àÐ$Ø(*�Ø+-�àð .Ý! *­dÑ3Ô3ð .Ø#-˜˜Ý# JµÑ6Ô6ð .Ý% j°¤nµdÑ;Ô;ð .Ø-7¸¸"¸Ô-=¸zÈ"¼~ (˜D˜Dà#-˜Dà ,× 0Ò 0Ð1DÑ EÔ E�Ø ð >Ø0=�H˜_Ñ-à'×+Ò+¨NÑ;Ô;�Øð 0Ø+/�H˜ZÑ(å!'Ø$Ø;Ð;Ð;Ð;ð"ñ "ô "�ð ×.Ò.ØØ�IØ!Ø×.Ò.¨wÑ7Ô7ðð (ðð ð	ð ð ð
 #ðð ñ	ô 	�øð ˆ}Ø#Ô-�Øð Ø)ð ð �AØ œ7×2Ò2°1Ñ5Ô5ð Ý!Ô/ð3Ø56´Uñ;ñô ð ðð !ˆÔÐÐrW   r¢   úClassManager[Any]rC   c                óN   — t          | j        dd ¦  «        }|�|S |j        j        S )Nr^   )rš   rx   r£   r^   )rS   r¢   Úmetas      rT   r  z(_ClassScanMapperConfig._metadata_for_clsÖ  s,   € Ý#*¨4¬8°ZÀÑ#FÔ#FˆØÐØˆKàÔ#Ô,Ð,rW   c                óÀ  — | j         }|                     dd ¦  «        }|€~g }|j        D ]<}t          |¦  «        }|€Œt	          |¦  «        r||vr|                     |¦  «         Œ=|r5t          |¦  «        dk    rt          j        d|›d|›�¦  «        ‚|d         }nt          |t          ¦  «        r|j        }|| _        | j        }d|vr| j        €d| _        d S d S d S )Nrè   r   rÄ   rô   r   rM   T)rx   rŽ   r�   r�   rˆ   rõ   rö   r   rÆ   rµ   r(   r’   rè   r  r  r  )rS   r¬   rx   rè   r÷   r“   rø   r  s           rT   r!  z/_ClassScanMapperConfig._setup_inheriting_mapperÝ  s!  € ØŒhˆà—=’= ¨TÑ2Ô2ˆàÐð !ˆOØœð .ð .�Ý6°uÑ=Ô=�Ø�9Øå,¨QÑ/Ô/ð .°A¸_Ð4LÐ4LØ#×*Ò*¨1Ñ-Ô-Ð-øàð .Ý�Ñ'Ô'¨!Ò+Ð+ÝÔ1Ð1à˜3˜3  ð1ñô ð ð +¨1Ô-�øÝ˜¥&Ñ)Ô)ð 	'Ø”ˆHà ˆŒàÔ(ˆØ˜lÐ*Ð*¨t¬~Ð/EØˆDŒKˆKˆKð +Ð*Ð/EÐ/ErW   c           
     ó<  — | j         }| j        }| j        }| j        }|€.| j        €'t          |d¦  «        st          j        d|z  ¦  «        ‚| j        �rCt          | j        ¦  «        }|€J ‚|j         }|j	        }|�€|rt          j
        d¦  «        ‚|r:t          |t          ¦  «        s%t          j
        d| j        › d| j        › d�¦  «        ‚|D ]É}	|€J ‚|	j        |j        v rH|j        |	j                 |	u rŒ)t          j
        d|	› d|j        › d	|j        |	j                 › d
�¦  «        ‚|	j        rt          j
        d¦  «        ‚t"          rt          |t          ¦  «        sJ ‚|                     |	¦  «         |�||ur|                     |	¦  «         ŒÆd S d S d S )NÚ__no_table__zwClass %r does not have a __table__ or __tablename__ specified and does not inherit from an existing table-mapped class.z?Can't place __table_args__ on an inherited class with no table.z9Can't declare columns on single-table-inherited subclass z; superclass z is not mapped to a TablezColumn 'rj  z! conflicts with existing column 'zs'.  If using Declarative, consider using the use_existing_column parameter of mapped_column() to resolve conflicts.zDCan't place primary key columns on an inherited class with no table.)rç   rx   r  r
  rè   r‡   r   rÆ   r�   r	  rn  rµ   r5   r¸   rø   rJ   Úprimary_keyr   Úappend_columnÚ_refresh_for_new_column)
rS   r¬   rª   rx   r  r
  Úinherited_mapper_or_configÚinherited_tableÚinherited_persist_selectablerò  s
             rT   r%  z0_ClassScanMapperConfig._setup_inheriting_columnsþ  s]  € ØÔ ˆØŒhˆØ”_ˆ
ØÔ0Ðð ˆMØ”Ð%Ý+¨C°Ñ@Ô@ð &õ Ô)ð&à(+ñ,ñô ð ð
 Œ]ñ 6	Ý)?ÀÄÑ)NÔ)NÐ&Ø-Ð9Ð9Ð9Ø8ÔDˆOà*Ô=ð )ð ‰}ð ð ÝÔ+ð)ñô ð ð $ð ­J°ÍÑ,NÔ,Nð ÝÔ+ð3Ø$(¤Hð3ð 3Ø;?¼=ð3ð 3ð 3ñô ð ð ,ð ð �CØ*Ð6Ð6Ð6Ø”x ?Ô#4Ð4Ð4Ø*Ô,¨S¬XÔ6¸#Ð=Ð=Ø$Ý!Ô/ð4 sð 4ð 4°s´|ð 4ð 4à /Ô 1°#´(Ô ;ð4ð 4ð 4ñô ð ð ”ð Ý!Ô/ð3ñô ð õ
 %ð BÝ)¨/½5ÑAÔAÐAÐAÐAà#×1Ò1°#Ñ6Ô6Ð6à4Ð@Ø8ÀÐOÐOà4×LÒLØñô ð øði6	ð 6	ð ˆ}ð"ð rW   c                ó²  ‡ ‡— ‰ j         }‰ j        r‰                      ¦   «         }ni }|r|                     |¦  «         d|v r*t          |¦  «        }|                     |d         ¦  «         dD ],}||v r&||         }‰ j                             ||¦  «        ||<   Œ-d|v r)ˆ fd„t          j        |d         ¦  «        D ¦   «         |d<   d|v rJ|d         }t          |t          ¦  «        r|j
        }|‰ j        urt          j        d|d         z  ¦  «        ‚‰ j        r
‰ j        |d<   ‰ j        �r|                     dd¦  «        sñt          ‰ j        d¦  «        Š‰j        }d	|vrVˆfd
„|j        D ¦   «                              ‰j        pd¦  «        x|d	<   }|                     d„ ‰ j        D ¦   «         ¦  «         t+          |                     ¦   «         ¦  «        D ]Y\  }}	t          |	t.          j        ¦  «        sŒ |‰j        v r0‰j        |         }
t          |
t4          ¦  «        r|	g|
j        z   ||<   ŒZ|                     ¦   «         }||d<   |‰ _        d S )Nr¿   )Úversion_id_colÚpolymorphic_onr  c                óF   •— g | ]}‰j                              ||¦  «        ‘ŒS rR   )r  rŽ   )r9  r£  rS   s     €rT   rO  zD_ClassScanMapperConfig._prepare_mapper_arguments.<locals>.<listcomp>]  s<   ø€ ð *ð *ð *àð Ô"×&Ò& q¨!Ñ,Ô,ð*ð *ð *rW   rè   z:mapper inherits argument given for non-inheriting class %sÚconcreteFÚexclude_propertiesc                ó0   •— h | ]}|‰j         v¯|j        ’ŒS rR   )Ú_columntopropertyr3  )r9  rø   Úinherited_mappers     €rT   rß  zC_ClassScanMapperConfig._prepare_mapper_arguments.<locals>.<setcomp>{  s7   ø€ ð Jð Jð JàØÐ 0Ô BÐBÐBð ”EàBÐBÐBrW   rR   c                ó   — g | ]	}|j         ‘Œ
S rR   rÿ  )r9  rø   s     rT   rO  zD_ClassScanMapperConfig._prepare_mapper_arguments.<locals>.<listcomp>�  s   € Ð:Ð:Ð:˜q�Q”UÐ:Ð:Ð:rW   )r¿   r  rl  re  r  rŽ   r1   Úto_listrµ   r(   r’   rè   r   rÆ   r-   rç   rø   Úunionr  Údifference_updater
  ra  r˜  r2   rÎ  Ú_propsr)   ÚcolumnsÚcopyr  )rS   r¬   r¿   r  r¢  r£  Úinherits_argr  r  rò  ÚpÚresult_mapper_argsr  s   `           @rT   Ú_prepare_mapper_argumentsz0_ClassScanMapperConfig._prepare_mapper_argumentsF  sÿ  øø€ Ø”_ˆ
àÔð 	Ø×-Ò-Ñ/Ô/ˆKˆKàˆKàð 	*Ø×Ò˜yÑ)Ô)Ð)à˜;Ð&Ð&Ý˜jÑ)Ô)ˆJØ×Ò˜k¨,Ô7Ñ8Ô8Ð8ð 6ð 	>ð 	>ˆAØ�KÐÐØ ”N�Ø!%Ô!3×!7Ò!7¸¸1Ñ!=Ô!=�˜A‘øà˜KÐ'Ð'ð*ð *ð *ð *åœ k°-Ô&@ÑAÔAð*ñ *ô *ˆK˜Ñ&ð
 ˜Ð$Ð$Ø& zÔ2ˆLÝ˜,­Ñ/Ô/ð 3Ø+Ô2�à 4¤=Ð0Ð0ÝÔ-ðØ"-¨jÔ"9ñ;ñô ð ð
 Œ=ð 	4Ø&*¤mˆK˜
Ñ#àŒ=ñ "	: §¢°¸UÑ!CÔ!Cð "	:õ  ,¨D¬M¸5ÑAÔAÐØ.Ô:ˆOð $¨;Ð6Ð6ðJð Jð Jð Jà,Ô.ðJñ Jô J÷ ’%Ð(Ô;ÐA¸rÑBÔBð	C�Ð0Ñ1Ð4Fð
 #×4Ò4Ø:Ð: DÔ$9Ð:Ñ:Ô:ñô ð õ ˜z×/Ò/Ñ1Ô1Ñ2Ô2ð :ð :‘��3Ý! #¥zÔ'?Ñ@Ô@ð ØØÐ(Ô/Ð/Ð/Ø(Ô/°Ô2�AÝ! !¥^Ñ4Ô4ð :ð *-¨°´	Ñ(9˜
 1™øØ(×-Ò-Ñ/Ô/ÐØ+5Ð˜<Ñ(Ø-ˆÔÐÐrW   rÛ   c                ó  — |                       |¦  «         t          | j        d¦  «        r-t          dt	          j        | j        j        ¦  «        ¦  «        }nt          }|                      d || j        | j	        fi | j
        ¤Ž¦  «        S )NÚ__mapper_cls__zType[Mapper[Any]]rL   )r%  rÇ   rx   r   r1   r   r'  r(   rÚ   rç   r  rñ   s      rT   rß   z_ClassScanMapperConfig.map—  s˜   € Ø×&Ò& yÑ1Ô1Ð1Ý�4”8Ð-Ñ.Ô.ð 	 ÝØ#ÝÔ/Ø”HÔ+ñô ñô ˆJˆJõ  ˆJà×%Ò%ØØˆJ�t”x Ô!1ÐFÐF°TÔ5EÐFÐFñ
ô 
ð 	
rW   )
r£   r>   rÂ   rž   r¤   r=   rª   r«   r¬   r`   rl   )rx   rž   rO   r1  )rx   ry   rO   rH  )r¤  rž   rO   r¥  )r  rn   r¤  rž   r¯  r¥  rO   rf   )r¹  rn   rO   rf   )r¸   rI   rþ   r7   r  ry   r©  rÃ  r  r   rO   rÄ  )rx   ry   r3  rI   rø   r   rO   rf   )
rÏ  rH  r5  r1  ry  r‚   r  ry   rO   rÐ  rQ   )rª   r«   rO   rf   )r¢   r  rO   rC   rã   râ   )"rJ   rX   rY   rä   Úis_deferredr[   rÕ   r  rG  rM  ÚreÚcompilerN  rb  r  r   rå   r®  r›  r³  ru  rw  rk  r"  r#  r$  r  r!  r%  r%  r1   rù   rß   rú   rû   s   @rT   rÈ   rÈ   ¼  sX  ø€ € € € € € ð€Ið, €KØÐÐÑØÐÐÑØ:Ð:Ð:Ñ:Ø(Ð(Ð(Ñ(Ø%Ð%Ð%Ñ%Ø,Ð,Ð,Ñ,Ø2Ð2Ð2Ñ2Ø+Ð+Ð+Ñ+ðð ð ñ ð ÐÐÑØ"Ð"Ð"Ñ"Ø(Ð(Ð(Ñ(Ø:Ð:Ð:Ñ:Ø!Ð!Ð!Ñ!Ø€L€L�Là'Ð'Ð'Ñ'Ø$Ð$Ð$Ñ$à<Ð<Ð<Ñ<ðð !Ð Ð Ñ ððK+ð K+ð K+ð K+ð K+ð K+ðZ&ð &ð &ð &ð"J'ð J'ð J'ð J'ðXð ð Ðð (˜RœZ¨Ñ8Ô8ÐðB*ð B*ð B*ð B*ðHZ-ð Z-ð Z-ð Z-ðxl
ð l
ð l
ð l
ð\ ðð ð ñ „[ðð2 ð25ð 25ð 25ñ „[ð25ðh ðð ð ñ „[ðð$Jð Jð Jð JðXð ð ð ðX,ð X,ð X,ð X,ðtC!ð C!ð C!ð C!ðJ9ð 9ð 9ð 9ðvC!ð C!ð C!ð C!ð C!ðJ-ð -ð -ð -ðð ð ð ðBFð Fð Fð FðPO.ð O.ð O.ð O.ðb .2¬_ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
rW   rÈ   Úfield_metadatar  r;  c                óª   — t           j        j        }| |         }t          |¦  «        r*t	          ||j        ¦  «        s|                     |¦  «        S |S rQ   )r1   r²   r³   Úcallablerµ   r@   )r+  r;  Údecl_apir°   s       rT   r\  r\  ©  sT   € õ Œ~Ô*€HØ
Ð2Ô
3€CÝ��}„}ð �Z¨¨XÔ-CÑDÔDð Ø×%Ò% cÑ*Ô*Ð*àˆ
rW   c                  ó$  ‡ — e Zd ZU ded<   dZ ej        ¦   «         Zded<   dd
„Ze	dd„¦   «         Z
e
j        dd„¦   «         Z
edd„¦   «         Zed d„¦   «         Zed!d„¦   «         Zed"d„¦   «         Ze	 d#d$d„¦   «         Zej        fd%ˆ fd„Zˆ xZS )&r}   úweakref.ref[Type[Any]]Ú_clsTz?util.OrderedDict[weakref.ref[Type[Any]], _DeferredMapperConfig]Ú_configsr¬   r`   rO   rf   c                ó   — d S rQ   rR   rÞ   s     rT   rá   z$_DeferredMapperConfig._early_mappingÁ  s   € ØˆrW   ry   c                ó*   — |                       ¦   «         S rQ   )r1  rh   s    rT   rx   z_DeferredMapperConfig.clsÅ  s   € à�yŠy‰{Œ{ÐrW   r’   c                ób   — t          j        || j        ¦  «        | _        | | j        | j        <   d S rQ   )ÚweakrefÚrefÚ_remove_config_clsr1  r2  )rS   r’   s     rT   rx   z_DeferredMapperConfig.clsÉ  s,   € å”K ¨Ô(?Ñ@Ô@ˆŒ	Ø#'ˆŒ�d”iÑ Ð Ð rW   r7  c                ó<   — | j                              |d ¦  «         d S rQ   )r2  rá  )rx   r7  s     rT   r8  z(_DeferredMapperConfig._remove_config_clsÎ  s    € àŒ×Ò˜˜dÑ#Ô#Ð#Ð#Ð#rW   r‚   c                ób   — t          |t          ¦  «        ot          j        |¦  «        | j        v S rQ   )rµ   rÐ   r6  r7  r2  ©rx   r’   s     rT   r~   z_DeferredMapperConfig.has_clsÒ  s*   € õ ˜&¥$Ñ'Ô'ÐO­G¬K¸Ñ,?Ô,?À3Ä<Ð,OÐOrW   r   c                ó¢   — t          |d¦  «        r|                     ¦   «          t          j        |dt          j        |¦  «        › d�¬¦  «        ‚)NÚ_sa_raise_deferred_configrÄ   zG has a deferred mapping on it.  It is not yet usable as a mapped class.)rÂ  )rÇ   r=  Úorm_excÚUnmappedClassErrorÚ_safe_cls_namer;  s     rT   Úraise_unmapped_for_clsz,_DeferredMapperConfig.raise_unmapped_for_cls×  si   € å�6Ð6Ñ7Ô7ð 	/Ø×,Ò,Ñ.Ô.Ð.åÔ(ØðJ�Ô/°Ñ7Ô7ð Jð Jð Jð
ñ 
ô 
ð 	
rW   c                ó@   — | j         t          j        |¦  «                 S rQ   )r2  r6  r7  r;  s     rT   r   z$_DeferredMapperConfig.config_for_clsä  s   € àŒ|�GœK¨Ñ/Ô/Ô0Ð0rW   Úbase_clsÚsortúList[_DeferredMapperConfig]c                ó&  ‡‡‡— ˆfd„d„ | j                              ¦   «         D ¦   «         D ¦   «         }|s|S d„ |D ¦   «         Šg }‰D ])Š|                     ˆˆfd„‰j        D ¦   «         ¦  «         Œ*t	          t          j        ||¦  «        ¦  «        S )Nc                ó>   •— g | ]\  }}|®t          |‰¦  «        ¯|‘ŒS rQ   )r™   )r9  ÚmrÂ   rC  s      €rT   rO  z:_DeferredMapperConfig.classes_for_base.<locals>.<listcomp>ì  s<   ø€ ð 
ð 
ð 
á��4ØÐ¥J¨t°XÑ$>Ô$>Ðð àÐÐrW   c                ó    — g | ]}||j         f‘ŒS rR   r€   ©r9  rH  s     rT   rO  z:_DeferredMapperConfig.classes_for_base.<locals>.<listcomp>î  s   € ÐFÐFÐF¨1˜Q ¤˜JÐFÐFÐFrW   c                ó   — i | ]
}|j         |“ŒS rR   r€   rJ  s     rT   r<  z:_DeferredMapperConfig.classes_for_base.<locals>.<dictcomp>õ  s   € Ð;Ð;Ð; Q˜œ˜qÐ;Ð;Ð;rW   c              3  ó@   •K  — | ]}|‰v ¯‰|         ‰‰         fV — Œd S rQ   rR   )r9  rC  Úall_m_by_clsÚm_clss     €€rT   rV  z9_DeferredMapperConfig.classes_for_base.<locals>.<genexpr>ù  sI   øè è € ð ð àØ˜|Ð+Ð+ð ˜hÔ'¨°eÔ)<Ð=à+Ð+Ð+Ð+ðð rW   )r2  ÚvaluesÚextendr�   ra  r6   rD  )rx   rC  rD  Úclasses_for_baseÚtuplesrM  rN  s    `   @@rT   rQ  z&_DeferredMapperConfig.classes_for_baseè  sè   øøø€ ð
ð 
ð 
ð 
àFÐF°´×0CÒ0CÑ0EÔ0EÐFÑFÔFð
ñ 
ô 
Ðð ð 	$Ø#Ð#à;Ð;Ð*:Ð;Ñ;Ô;ˆàLNˆØ!ð 	ð 	ˆEØ�MŠMð ð ð ð ð à %¤ðñ ô ñ ô ð ð õ
 •KÔ$ VÐ-=Ñ>Ô>Ñ?Ô?Ð?rW   rÛ   c                ó†   •— | j                              | j        d ¦  «         t          ¦   «                              |¦  «        S rQ   )r2  rá  r1  rê   rß   )rS   r¬   rï   s     €rT   rß   z_DeferredMapperConfig.map   s3   ø€ ØŒ×Ò˜$œ) TÑ*Ô*Ð*Ý‰wŒw�{Š{˜9Ñ%Ô%Ð%rW   rã   )rO   ry   )r’   ry   rO   rf   )r7  r0  rO   rf   )r’   ry   rO   r‚   )r’   ry   rO   r   )r’   ry   rO   r}   )T)rC  ry   rD  r‚   rO   rE  râ   )rJ   rX   rY   r[   r(  r1   rÑ   r2  rá   Úpropertyrx   Úsetterrå   r8  r~   rA  r   rQ  rù   rß   rú   rû   s   @rT   r}   r}   ¸  sŒ  ø€ € € € € € Ø Ð Ð Ñ à€Kð 	ˆÔÑÔð ð ð ð ñ ðð ð ð ð ðð ð ñ „Xðð 	„Zð(ð (ð (ñ „Zð(ð ð$ð $ð $ñ „[ð$ð ðPð Pð Pñ „[ðPð ð

ð 

ð 

ñ „[ð

ð ð1ð 1ð 1ñ „[ð1ð à/3ð@ð @ð @ð @ñ „[ð@ð. .2¬_ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &rW   r}   r3  rÖ   úMapperProperty[Any]rf   c                óà  — d| j         v �rÇt          d| ¦  «        }d
d„}t          |t          ¦  «        rMt	          ||¦  «          ||¦  «                             |d¬¦  «         |j                             ||¦  «         d	S t          |t          ¦  «        r‚|j	        }|j
        D ]R\  }}t	          ||¦  «          ||¦  «                             |d¬¦  «         |s|j                             ||¦  «         ŒS|r|j                             ||¦  «         d	S d	S t          |t          ¦  «        r|j                             ||¦  «         d	S t          |t          ¦  «        r<|j        |k    r1t          |j        ¦  «        }|j                             ||¦  «         d	S t                               | ||¦  «         |j                             ¦   «          d	S t                               | ||¦  «         d	S )z¹add an attribute to an existing declarative class.

    This runs through the logic to determine MapperProperty,
    adds it to the Mapper, adds a column to the mapped Table, etc.

    rL   rö  ÚmcrO   r5   c                ó~   — t          | j        t          ¦  «        r| j        S t          j        d| j        ›d�¦  «        ‚)Nz+Cannot add a new attribute to mapped class z) because it's not mapped against a table.)rµ   rM   r5   r   rÆ   rJ   )rX  s    rT   Ú_table_or_raisez'_add_attribute.<locals>._table_or_raise  sK   € Ý˜"œ,­Ñ.Ô.ð $Ø”|Ð#ÝÔ)ð;¸b¼kð ;ð ;ð ;ñô ð rW   T)Úreplace_existingN)rX  rö  rO   r5   )r�   r   rµ   r4   râ  r  rL   Úadd_propertyr&   rí  rî  r'   r   r3  r!   rÐ   Ú__setattr__Ú_expire_memoizations)rx   r3  rÖ   Ú
mapped_clsrZ  Úmprò  r­  s           rT   Ú_add_attributera    s;  € ð �s”|Ð#Ñ#ÝÐ4°cÑ:Ô:ˆ
ð	ð 	ð 	ð 	õ �e�VÑ$Ô$ð 	9Ý   eÑ,Ô,Ð,ØˆO˜JÑ'Ô'×5Ò5Ø¨ð 6ñ ô ð ð Ô!×.Ò.¨s°EÑ:Ô:Ð:Ð:Ð:Ý˜�|Ñ,Ô,ð 	9ØÔ0ˆBØÔ1ð Að A‘��QÝ$ S¨#Ñ.Ô.Ð.Ø� 
Ñ+Ô+×9Ò9Ø¨$ð :ñ ô ð ð ð AØÔ)×6Ò6°s¸CÑ@Ô@Ð@øØð <ØÔ%×2Ò2°3¸Ñ;Ô;Ð;Ð;Ð;ð<ð <å˜�~Ñ.Ô.ð 		9ØÔ!×.Ò.¨s°EÑ:Ô:Ð:Ð:Ð:Ý˜Õ1Ñ2Ô2ð 	9°u´yÀCÒ7GÐ7Gõ $ E¤IÑ.Ô.ˆEØÔ!×.Ò.¨s°EÑ:Ô:Ð:Ð:Ð:å×Ò˜S # uÑ-Ô-Ð-ØÔ!×6Ò6Ñ8Ô8Ð8Ð8Ð8å×Ò˜˜c 5Ñ)Ô)Ð)Ð)Ð)rW   c                ó¤  — d| j         v r«|| j         v r¢t          d| ¦  «        j        j        sˆ| j         |         }t	          |t
          t          t          t          f¦  «        rt          d¦  «        ‚t                               | |¦  «         t          d| ¦  «        j                             ¦   «          d S t                               | |¦  «         d S )NrL   rö  z<Can't un-map individual mapped attributes on a mapped class.)r�   r   rL   Ú_dispose_calledrµ   r4   r&   r'   r   rÝ   rÐ   Ú__delattr__r^  )rx   r3  rÖ   s      rT   Ú_del_attributere  9  sÜ   € à˜œÐ$Ð$Ø�3”<ÐÐÝØ&¨ñ
ô 
ä
”_ð  ð
 ”˜SÔ!ˆÝØ•F�L­.Õ:LÐMñ
ô 
ð 
	0õ &ØNñô ð õ ×Ò˜S #Ñ&Ô&Ð&ÝØ*¨Cñô ä×-Ò-Ñ/Ô/Ð/Ð/Ð/å×Ò˜˜cÑ"Ô"Ð"Ð"Ð"rW   rS   Úkwargsc                ó®   — t          | ¦  «        }|D ]B}t          ||¦  «        st          |›d|j        ›�¦  «        ‚t	          | |||         ¦  «         ŒCdS )a=  A simple constructor that allows initialization from kwargs.

    Sets attributes on the constructed instance using the names and
    values in ``kwargs``.

    Only keys that are present as
    attributes of the instance's class are allowed. These could be,
    for example, any mapped columns or relationships.
    z$ is an invalid keyword argument for N)rÐ   rÇ   rµ  rJ   rq  )rS   rf  rÂ   r¢  s       rT   Ú_declarative_constructorrh  Q  sw   € õ �‰:Œ:€DØð $ð $ˆÝ�t˜QÑÔð 	ÝØ>?¸a¸aÀÄÀÐOñô ð õ 	��a˜ œÑ#Ô#Ð#Ð#ð$ð $rW   rÕ   ÚcolumnúColumn[Any]c                óB   — |j         €| |_         |j        €	| |_        d S d S rQ   )r3  r¸   )r3  ri  s     rT   râ  râ  g  s,   € Ø„zÐØˆŒ
Ø„{ÐØˆŒˆˆð ÐrW   )rx   ry   rO   rz   )rx   ry   rO   r‚   )rx   ry   rO   r‰   )F)rx   ry   r–   rI   r†   r‚   rO   r—   )rx   rž   rO   rŸ   )r£   r>   rx   ry   r¤   r=   rO   r¥   )
r£   r>   rx   rž   rª   r«   r¬   r`   rO   rK   )r°   r   rO   r‚   )r°   r   r¸   rI   rx   rž   rO   r‚   )r+  r  r;  rI   rO   r   )rx   ry   r3  rI   rÖ   rV  rO   rf   )rx   ry   r3  rI   rO   rf   )rS   r   rf  r   rO   rf   )r3  rI   ri  rj  rO   rf   )rrZ   Ú
__future__r   r–  r  r)  Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r6  Ú r   r   r   r>  r   r   Ú_typingr   r   r   r   rœ   r   r   Údescriptor_propsr    r!   Ú
interfacesr"   r#   r$   r%   r&   r'   Úmapperr(   r¿   r)   r*   r1   r+   r,   r-   r.   r0   Úsqlr2   Úsql.baser3   Ú
sql.schemar4   r5   r6   Úutil.typingr7   r8   r9   r:   r;   r<   r=   r>   r?   r.  r@   rA   Úsql.elementsrB   rC   Úsql.selectablerD   rE   rI   r`   Ú_TableArgsTyperH   r]   rn   r�   rˆ   r�   r‡   r‘   r©   r¯   Úpreload_moduler·   r¼   r§   r®   rý   rÈ   r\  r}   ra  re  rh  rJ   râ  rR   rW   rT   ú<module>r{     s  ðð /Ð .à "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø -Ð -Ð -Ð -Ð -Ð -Ø *Ð *Ð *Ð *Ð *Ð *Ø "Ð "Ð "Ð "Ð "Ð "Ø  Ð  Ð  Ð  Ð  Ð  Ø /Ð /Ð /Ð /Ð /Ð /Ø -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ø +Ð +Ð +Ð +Ð +Ð +Ø /Ð /Ð /Ð /Ð /Ð /Ø (Ð (Ð (Ð (Ð (Ð (Ø $Ð $Ð $Ð $Ð $Ð $Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø $Ð $Ð $Ð $Ð $Ð $Ø )Ð )Ð )Ð )Ð )Ð )Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ø $Ð $Ð $Ð $Ð $Ð $Ø $Ð $Ð $Ð $Ð $Ð $Ø "Ð "Ð "Ð "Ð "Ð "Ø #Ð #Ð #Ð #Ð #Ð #Ø )Ð )Ð )Ð )Ð )Ð )àð ,Ø#Ð#Ð#Ð#Ð#Ð#Ø&Ð&Ð&Ð&Ð&Ð&ØÐÐÐÐÐØ'Ð'Ð'Ð'Ð'Ð'Ø-Ð-Ð-Ð-Ð-Ð-Ø*Ð*Ð*Ð*Ð*Ð*Ø%Ð%Ð%Ð%Ð%Ð%Ø+Ð+Ð+Ð+Ð+Ð+à€WˆT˜ÐÑÔ€à˜˜S˜Ô!€Ø�u˜S #˜X”¨¨S°#¨X¬Ð6Ô7€ðð ð ð ð ˜( 2œ,ñ ô ð ðð ð ð ð Ð2°2Ô6¸ñ ô ð ð @ð @ð @ð @ð @˜)ñ @ô @ð @ð
ð 
ð 
ð 
ðð ð ð ð,ð ð ð ð. 38ð$ð $ð $ð $ð $ðNð ð ð ðGð Gð Gð Gð;ð ;ð ;ð ;ð €ÔÐ.Ñ/Ô/ðHð Hð Hñ 0Ô/ðHðð ð ð ðWð Wð Wð Wð Wñ Wô Wð Wðt;!ð ;!ð ;!ð ;!ð ;!˜mñ ;!ô ;!ð ;!ð|!ð !ð !ð !ð !˜:ñ !ô !ð !ðj
ð j
ð j
ð j
ð j
˜]ñ j
ô j
ð j
ðZ/ €ÔÐ.Ñ/Ô/ðð ð ñ 0Ô/ððJ&ð J&ð J&ð J&ð J&Ð2ñ J&ô J&ð J&ðZ1*ð 1*ð 1*ð 1*ðh#ð #ð #ð #ð0$ð $ð $ð $ð& %/Ð Ô !ðð ð ð ð ð rW   