
    hv              	         d 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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.m/Z/ d!d(l0m1Z1 d!d)l0m2Z2 d!d*l3m4Z4 d!d+l5m6Z6 d!d,l5m7Z7 d!d-l5m8Z8 d!d.l5m9Z9 d!d/l5m:Z: d!d0l5m;Z; d!d1l5m<Z< d!d2l5m=Z= er`dd3l>m?Z? dd4l>m@Z@ dd5l>mAZA dd6l>mBZB dd7lmCZC dd8lDmEZE dd9lFmGZG dd:lHmIZI dd;lJmKZK dd<lJmLZL d!d=lMmNZN d!d>lOmPZP d!d?lOmQZQ d!d@lRmSZS d!dAl5mTZT d!dBl5mUZU  edCeD      ZV edEeD      ZW edFdGD      ZXg dHZYe*j                   G dI dJe eV   e#eV   ee*j                               Z\ G dK dLe\eV   eeV         Z] G dM dNee eV   eeV         Z^yO)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                  (    e Zd ZU dZej
                  ZdZ	 dZde	d<   de	d<   de	d	<   d
e	d<   dZ
dddddddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d! fdZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d"dZed#d       Zed$d       Zd%dZ ej$                  dd      	 	 d&d       Z ej$                  dd      	 	 d&d       Zd'dZed'd       Zd(dZd) fdZd*dZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d+dZ G d dej6                  ee         Zd,d Z xZ S )-rH   zDescribes 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)rJ   groupdeferred
instrumentrO   active_historyexpire_on_flush_creation_orderrL   rN   _deferred_column_loader_raise_column_loader_renders_in_subqueries	raiseloadN)attribute_optionsrP   rQ   rY   rO   rS   rT   infodoc_instrument_assume_readonly_dc_attributesc                  t         |   ||       |f|z   }|D cg c]&  }t        j                  t        j
                  |      ( c}| _        || _        || _        || _	        || _
        ||n| j                  j                  | _        || _        || _        |	| j                   j#                  |	       |
|
| _        n9t'        | j                        D ]  }t)        |dd       }
|
|
| _         n d | _        t+        j,                  |        d| j                  fd| j                  ff| _        | j                  r| xj.                  dz  c_        y y c c}w )N)rZ   r^   r\   rQ   rR   ))rY   T)super__init__r&   expectr'   LabeledColumnExprRolerJ   rP   rQ   rY   rR   	__class__
ComparatorrO   rS   rT   r[   updater\   reversedgetattrr%   set_creation_orderstrategy_key)selfcolumnrZ   rP   rQ   rY   rO   rS   rT   r[   r\   r]   r^   additional_columnsrJ   ccolrd   s                    BD:\EasyAligner\venv\Lib\site-packages\sqlalchemy/orm/properties.pyra   zColumnProperty.__init__   sa     	/+I 	 	
 )00FM
FMIU88!<g
 
 "% "- ** 	
 -.IIT"?DH-c5$/?"DH	 .  % '4??+
 >>!77 G
s   +Ec
                p    | j                   d   }
|
j                  ||
_        |
j                  ||
_        y y Nr   )rJ   keyname)rk   	decl_scanregistryclsoriginating_modulers   mapped_container
annotationextracted_mapped_annotationis_dataclass_fieldrl   s              rp   declarative_scanzColumnProperty.declarative_scan   s8     a::FJ;;FK     c                    | S N rk   s    rp   mapper_property_to_assignz(ColumnProperty.mapper_property_to_assign   s    r~   c                |    | j                   D cg c]"  }t        |t              r|j                  |df$ c}S c c}w rr   )rJ   
isinstancer)   table)rk   rn   s     rp   columns_to_assignz ColumnProperty.columns_to_assign   sC    
 \\
!!V$ F!
 	
 
s   '9c                    d| j                   v r| j                  j                  S d| j                   vxs | | j                  j                  vS )N)query_expressionT)rQ   T)rj   strategy_have_default_expressionparent_readonly_propsr   s    rp   %_memoized_attr__renders_in_subqueriesz4ColumnProperty._memoized_attr__renders_in_subqueries   sJ    %):)::==999!):):: 
333	
r~   zsqlalchemy.orm.statezsqlalchemy.orm.strategiesc                   t         j                  j                  }t         j                  j                  }|j                  j                  | j                  j                  |j                  | j                        | j                        S r   
r%   	preloaded	orm_stateorm_strategiesr=   "_instance_level_callable_processorr   class_managerLoadDeferredColumnsrs   rk   state
strategiess      rp   &_memoized_attr__deferred_column_loaderz5ColumnProperty._memoized_attr__deferred_column_loader   sa     ((^^22
""EEKK%%**4884HH
 	
r~   c                   t         j                  j                  }t         j                  j                  }|j                  j                  | j                  j                  |j                  | j                  d      | j                        S )NTr   r   s      rp   #_memoized_attr__raise_column_loaderz2ColumnProperty._memoized_attr__raise_column_loader   sc     ((^^22
""EEKK%%**488T:HH
 	
r~   c                    | j                   S )zsAllow the ColumnProperty to work in expression before it is turned
        into an instrumented attribute.
        )
expressionr   s    rp   __clause_element__z!ColumnProperty.__clause_element__  s    
 r~   c                     | j                   d   S )a  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   )rJ   r   s    rp   r   zColumnProperty.expression  s    ( ||Ar~   c                    | j                   sy t        j                  |j                  | j                  | j                  | |      || j                         y )N)
comparatorparententityr\   )rR   r   register_descriptorclass_rs   rO   r\   )rk   mappers     rp   instrument_classzColumnProperty.instrument_class%  sB    &&MMHH..tV<	
r~   c                f   t         |           t        | j                        dkD  rt	        | j
                  j                        j                  | j                        rQt        j                  d| j
                  d| j                  d   d| j                  d   d| j                  d	       y y y )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.)r`   do_initlenrJ   setr   primary_key
issupersetr%   warnrs   )rk   rd   s    rp   r   zColumnProperty.do_init1  s    t||q S)@)@%A%L%LLL&
 II ;;Qa$((L&
 r~   c                l    t        | j                  | j                  | j                  | j                  dS )N)rQ   rP   rS   )rH   rJ   rQ   rP   rS   r   s    rp   copyzColumnProperty.copyA  s-    \\]]**..	
 	
r~   c	                R   | j                   sy | j                  |v rQ|| j                     }	|s|	|| j                  <   y |j                  | j                        }
|
j                  |||	d        y |j                  r/| j                  |vr |j                  || j                  gd       y y y )NT)	no_loader)rR   rs   get_implr   has_identity_expire_attributes)rk   sessionsource_statesource_dict
dest_state	dest_dictload
_recursive_resolve_conflict_mapvalueimpls              rp   mergezColumnProperty.mergeI  s     XX$)E&+	$((#!**4884Yt<$$)B))DHH: *  *C$r~   c                      e Zd ZU dZesdZded<   ded<   	 ddZerddZ	 	 dd	Z	dd
Z
ddZddZ	 	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 ddZy)ColumnProperty.Comparatora  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                   | j                   }|||| j                  j                  d}|}| j                  j                  r,|}| j                  j                  j                  |      }||d<   |j                  |      j                  d|d      S )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   rs   _parentmapper_polymorphic_adaptertraverse	_annotate_set_propagate_attrs)rk   rl   per   ro   mapper_local_cols         rp   _orm_annotate_columnz.ColumnProperty.Comparator._orm_annotate_column  s     ##B$& " "!YY]]	+K C !!66#& ((==FFsK
 /?N+==-BB)."E r~   c                     y r   r   r   s    rp   r   z,ColumnProperty.Comparator.__clause_element__  s    cr~   c                    | j                   r=| j                  | j                  j                  d   | j                  j                        S | j	                  | j                  j                  d         S rr   adapterr   rJ   rs   r   r   s    rp   #_memoized_method___clause_element__z=ColumnProperty.Comparator._memoized_method___clause_element__  sS     ||||DII$5$5a$8$))--HH001B1B11EFFr~   c                    | j                         }	 |j                  S # t        $ r | j                  j                  cY S w xY w)z(The .info dictionary for this attribute.)r   r[   AttributeErrorr   )rk   ces     rp   _memoized_attr_infoz-ColumnProperty.Comparator._memoized_attr_info  s=     ((*B&ww! &yy~~%&s    A A c                $   | j                   rH| j                  j                  D cg c](  }| j                  || j                  j                        * c}S | j                  j                  D cg c]  }| j	                  |       c}S c c}w c c}w )zThe full sequence of columns referenced by this
            attribute, adjusted for any aliasing in progress.

            .. versionadded:: 1.3.17

            r   )rk   ro   s     rp   _memoized_attr_expressionsz4ColumnProperty.Comparator._memoized_attr_expressions  s     ||  $yy000 LLdiimm40  ?Cii>O>O>OsD--c2>O 
s   -B-Bc                6    t        | j                         |      S )zproxy attribute access down to the mapped column.

            this allows user-defined comparison methods to be accessed.
            )rh   r   )rk   rs   s     rp   _fallback_getattrz+ColumnProperty.Comparator._fallback_getattr  s    
 4224c::r~   c                6     || j                         g|i |S r   r   rk   opotherkwargss       rp   operatez!ColumnProperty.Comparator.operate  s"     d--/B%B6BBr~   c                V    | j                         } ||j                  ||      |fi |S r   r   _bind_paramrk   r   r   r   ro   s        rp   reverse_operatez)ColumnProperty.Comparator.reverse_operate  s/     ))+Ccoob%0#@@@r~   N)rl   rG   returnrG   )r   zNamedColumn[_PT])r   r>   )r   r   )rs   strr   r   r   rA   r   r   r   r   r   zColumnElement[Any])__name__
__module____qualname____doc__r   	__slots____annotations__r   r   r   r   r   r   r   r   r   r~   rp   re   r   c  s    	$ CI88//	&	P A	G	G	&	"	;	C"	C,/	C;>	C	C
	A"	A+.	A:=	A	Ar~   re   c                    | j                   r| j                  st        j                  |       S t	        | j                   j
                  j                        dz   | j                  z   S )N.)r   rs   object__repr__r   r   r   r   s    rp   __str__zColumnProperty.__str__  sG    {{$((??4((4;;%%../#5@@r~   )rl   z_ORMColumnExprArgument[_T]rm   z_ORMColumnExprArgument[Any]rZ   zOptional[_AttributeOptions]rP   rM   rQ   rK   rY   rK   rO   z"Optional[Type[PropComparator[_T]]]rS   rK   rT   rK   r[   zOptional[_InfoType]r\   rM   r]   rK   r^   rK   ru   r9   rv   r7   rw   	Type[Any]rx   rM   rs   r   ry   zOptional[Type[Mapped[Any]]]rz   Optional[_AnnotationScanType]r{   r   r|   rK   r   Noner   zOptional[MapperProperty[_T]]r   zList[Tuple[Column[Any], int]])r   rK   )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   rK   r   zDict[Any, object]r   z#Dict[_IdentityKeyType[Any], object]r   r  r   r   )!r   r   r   r   r   _COLUMN_TOKENstrategy_wildcard_keyinherit_cache_links_to_entityr   r   ra   r}   propertyr   r   r   r%   preload_moduler   r   r   r   r   r   r   r   MemoizedSlotsr   rF   re   r   __classcell__)rd   s   @rp   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8v)   	
 *  6 2 &C ! 
$   
 

 T/1LM	
	)	
 N	
 T/1LM	
	)	
 N	
  *

 
 ) #	
 ' !  &  C 
4BAT'')< BAHAr~   rH   c                      e Zd ZdZdZy)MappedSQLExpressionaN  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`

    TN)r   r   r   r   r  r   r~   rp   r  r    s     Mr~   r  c                  r   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dZddZedd       Z	ed d       Z
ed!d       Zd"dZ	 	 	 	 	 	 	 	 d#dZ	 	 	 	 	 	 	 	 d#dZd$dZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%dZ ej$                  d      	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&d       Z	 	 	 	 	 	 	 	 	 	 d'dZy)(MappedColumna_  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


    )rl   rU   _sort_orderforeign_keys_has_nullable_has_insert_defaultrQ   deferred_groupdeferred_raiseloadrS   _attribute_options_has_dataclass_arguments_use_existing_columnzUnion[_NoArg, bool]rQ   rK   r  rM   r  
Column[_T]rl   zOptional[Set[ForeignKey]]r  r   r  c                   |j                  dt              x| _        |j                  dd      | _        d uxr2 t        k7  xr' t	        fdt        j                        D              | _        |j                  dt        j                        }|t        j                  u| _
        | j                  r||d<   n+j                  t        j                  urj                  |d<   |j                  dd       | _        |j                  dd       | _        |j                  d	t        j                        | _        |j                  d
d      | _        |j                  dt        j                        | _        t#        dt%        |i |      | _        | j&                  j(                  | _        d|v xr# |j+                  d      d t,        j.                  fv| _        t3        j4                  |        y )NrZ   use_existing_columnFc              3  X   K   | ]!  \  }}|d k7  r|   t         j                  u # yw)dataclasses_defaultN)r(   NO_ARG).0iattr	attr_optss      rp   	<genexpr>z(MappedColumn.__init__.<locals>.<genexpr>4  s3      ;GAt00 !FMM1;s   '*insert_defaultdefaultr  r  rQ   rS   
sort_orderr  nullable)popr   r  r  any	enumerate_fieldsr  r(   r   r  r  r  r  rQ   rS   r  r   r)   rl   r  getr*   NULL_UNSPECIFIEDr  r%   ri   )rk   argkwr&  r$  s       @rp   ra   zMappedColumn.__init__*  s   .0ff!;/
 	
) %'FF+@%$H! T! 77 ():):;  	%  0&--@#1#F ##*ByM**&--?%99ByM ff%5t<"$&&)=t"Dz6==9 ff%5u=66,><););< KK44'2- 
"&&2D((M
 3
 	%r~   c                F   | j                   j                  | j                         } | j                  j                  di ||_        | j                  |_        | j
                  |_        | j                  |_        |j                  j                  |_        | j                  |_        | j                  |_	        | j                  |_
        | j                  |_        | j                  |_        | j                  |_        | j                  |_        t        j                   |       |S )Nr   )rd   __new__rl   _copyrQ   r  r  r  rS   r  r  r  r  r  r  r%   ri   )rk   r1  news      rp   r4  zMappedColumn._copyQ  s    nn$$T^^4&T[[&&,,
}}!00!%!8!8::22!00 ..!%!8!8"&":":'+'D'D$#'#<#< **$
r~   c                .    | j                   j                  S r   )rl   rt   r   s    rp   rt   zMappedColumn.nameb  s    {{r~   c                (   | j                   }|t        j                  u r#t        | j                  xs | j
                        }|s| j                  rCt        | j                  || j                  | j
                  | j                  | j                        S y )N)rQ   rP   rY   rZ   rS   )
rQ   r(   r   rK   r  r  rS   rH   rl   r  )rk   effective_deferreds     rp   r   z&MappedColumn.mapper_property_to_assignf  s    !]].!%##>t'>'>" !4!4!+))11"&"9"9#22  r~   c                t    | j                   | j                  t        j                  ur| j                  fgS dfgS rr   )rl   r  r(   r   r   s    rp   r   zMappedColumn.columns_to_assignz  sM      ''v}}< $$	
 		
 	
 		
r~   c                    | j                   S r   )rl   r   s    rp   r   zMappedColumn.__clause_element__  s    {{r~   c                6     || j                         g|i |S r   r   r   s       rp   r   zMappedColumn.operate  s"     $))+>e>v>>r~   c                V    | j                         } ||j                  ||      |fi |S r   r   r   s        rp   r   zMappedColumn.reverse_operate  s/     %%'#//"e,c<V<<r~   c                    t               S r   )r  r   s    rp   found_in_pep593_annotatedz&MappedColumn.found_in_pep593_annotated  s     ~r~   c
                \   | j                   }
| j                  r|j                  r|j                  r~|j                  rt        j                  d      t        |j                  d      }|
j                  |
j                  n|}|j                  j                  j                  ||
      x}
| _         |
j                  ||
_        |
j                  ||
_        |
j                  }|6|j                  r)| j                   j                  s| j!                  ||       ny | j#                  ||||       y )Nz3Can't use use_existing_column with deferred mappersF)rl   r  inheritssingleis_deferredsa_excArgumentErrorr   rt   local_tablern   r.  rs   type_isnullr  _raise_for_required_init_column_for_annotation)rk   ru   rv   rw   rx   rs   ry   rz   r{   r|   rl   supercls_mappercolnamesqltypes                 rp   r}   zMappedColumn.declarative_scan  s     %%""  $$**I  +9+=+=uEO%+[[%<fkk#G#2#>#>#@#@#D#D$ FT[ ::FJ;;FK++&.t{{'?'?((c2(('		
r~   zsqlalchemy.orm.decl_basec                    t         j                  j                  }|j                  || j                         | j                  ||||       y r   )r%   r   orm_decl_base_undefer_column_namerl   rI  )rk   rv   rw   rx   rs   
param_nameparam_annotation	decl_bases           rp   declarative_scan_for_compositez+MappedColumn.declarative_scan_for_composite  s@     NN00	&&z4;;?((+-?	
r~   c                   | j                   j                  }t        |dd      r|J t        |||d      }t	        |      }| j
                  s|| j                   _        t        |      }d}d}	d }
t        |      r%d}	t        |      }|d   }
|rt        |
      }
|dd  }n8t        |      r-t        |j                        rt        |j                        dd  }|D ]  }t        |t              s|} n d }|?| j                  s'|j                   j                  d | j                   _        |j                   j!                  | j                          | j                   j                  }|j"                  t$        j&                  ur-| j"                  t$        j&                  u r|j"                  | _        |j(                  | j(                  |j(                  | _        |j*                  | j*                  |j*                  | _        |j,                  r| j,                  sd| _        |j.                  r|j.                  | _        |j0                  -| j0                  t$        j&                  u r|j0                  | _        |j                   j2                  |j                   j4                  t7        j8                  dd	       |j:                  rst=        |j>                  j@                        D ]Q  \  }}|j>                  |   t$        j&                  us&|jC                  d
d      }t7        j8                  d| dd	       S |jD                  r'| j                   jF                  sd }|	r||
g}n|g}|D ]  }|jI                  |      }| n t        |tJ              s t        |t              r@tM        |tJ              r0tO        jP                  d| j                   j2                  d| d      tS        |      r0tO        jP                  d| d| j                   j2                  d      tO        jP                  d| j                   j2                  d|d      | j                   jU                  |       y y y )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 objectzThe type provided inside the z4 attribute Mapped annotation is the SQLAlchemy type z . Expected a Python type insteadz6Could not locate SQLAlchemy Core type for Python type z inside the z attribute Mapped annotationzThe object provided inside the zC attribute Mapped annotation is not a Python type, it's the object z. Expected a Python type.)+rl   rF  r0   r!   r.   r  r)  r,   r1   r-   r2   	__value__r   r  r  r'  _mergerQ   r(   r   r  r  r  rS   r  rs   rt   r%   warn_deprecatedr  r,  r  r-  replacerG  r  _resolve_typer+   
issubclassorm_excMappedAnnotationErrorr/   	_set_type)rk   rw   rv   argumentrx   rL  r)  our_typefind_mapped_inour_type_is_pep593raw_pep_593_typepep_593_componentselemuse_args_fromidxr0  new_sqltypechecks
check_types                      rp   rI  z(MappedColumn._init_column_for_annotation  sG    ++""D
 &111.X14H !*!!#+DKK -h7*,"X!%!)(!31!4#=>N#O /3Nx Yx/A/A%B%h&8&89!"=N #D$- $ #
 !M$,,!((00<&*#  ''4kk&&G &&fmm;MMV]]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<<!HC &88=%}}- "kk."=,,( .D D %	! ??4;;#;#;K ""$45"$
&44Z@* %
 h
3x."8Z8!7777J KN#*$DF 
 x(!77  (zdkkoo5H I66  "779$++//9L M++3, 7    KK!!+.K $<?r~   N)r0  r   r1  r   )r1  r   r   r3   r  r  r  )r   r  r   )r   r   r   )rv   r7   rw   r   rx   rM   rs   r   rP  r   rQ  rB   r   r  )
rw   r   rv   r7   rc  rB   rx   rM   r   r  )r   r   r   r   r   r   ra   r4  r
  rt   r   r   r   r   r   r>  r}   r%   r  rS  rI  r   r~   rp   r  r    s   
I  "!!!++))%&N"      & 

 

??(+?7:?	?
=='*=69=	=
0
)0
  0
 	0

 *0
 0
 60
 20
 &C0
 !0
 
0
d T34

 
 *	

 
 
 .
 

 5
Z/Z/  Z/ &	Z/
 *Z/ 
Z/r~   r  N)_r   
__future__r   typingr   r   r   r   r   r	   r
   r   r   r   r   r   rY  r   r   r`  r   baser   r   descriptor_propsr   r   r   
interfacesr   r   r   r   r   r   r   relationshipsr    r%   r!   rC  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   rR  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~   rp   <module>r     ss   #                 $  / 7 - ) 2 / $ & & + / )         $ % 4 " ' # $ # # )&/&1 2$',*,13Te3e-. HANN	HA HAV.,.@.D $w/rw/r~   