PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /opt/hc_python/lib/python3.12/site-packages/sqlalchemy/orm/__pycache__/
Upload File :
Current File : //opt/hc_python/lib/python3.12/site-packages/sqlalchemy/orm/__pycache__/properties.cpython-312.pyc

�

���g�q�	���dZddlmZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	lm
Z
dd
lmZddlmZddlm
Z
dd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddl"m#Z#ddl$m%Z%d d!lm&Z'd d"lm(Z(d d#lm)Z)d d$lm$Z$d d%l*m+Z+d d&l*m,Z,d d'l-m.Z.d d(l/m0Z0d d)l/m1Z1d d*l2m3Z3d d+l4m5Z5d d,l4m6Z6d d-l4m7Z7d d.l4m8Z8d d/l4m9Z9d d0l4m:Z:d d1l4m;Z;e
r`dd2l<m=Z=dd3l<m>Z>dd4l<m?Z?dd5l<m@Z@dd6lmAZAdd7lBmCZCdd8lDmEZEdd9lFmGZGdd:lHmIZIdd;lHmJZJd d<lKmLZLd d=lMmNZNd d>lMmOZOd d?lPmQZQd d@l4mRZRd dAl4mSZSedBe�C�ZTedDe�C�ZUedEdF�C�ZVgdG�ZWe)j�GdH�dIeeTe!eTee)j���ZZGdJ�dKeZeTeeT�Z[GdL�dMeeeTeeT�Z\yN)Oz|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)�strategy_options)�_DeclarativeMapped)�class_mapper)�CompositeProperty)�ConcreteInheritedProperty)�SynonymProperty)�_AttributeOptions)�_DEFAULT_ATTRIBUTE_OPTIONS)�_IntrospectsAnnotations)�_MapsColumns)�MapperProperty)�PropComparator)�StrategizedProperty)�RelationshipProperty)�de_stringify_annotation�)�exc)�
ForeignKey)�log)�util)�	coercions)�roles)�_NoArg)�Column)�SchemaConst)�
TypeEngine)�de_optionalize_union_types)�get_args)�
includes_none)�
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�_NCzNamedColumn[Any])�ColumnPropertyrrrrc�(��eZdZUdZej
ZdZ	dZde	d<de	d<de	d	<d
e	d<dZ
d
d
ddd
ddd
d
ddd�																									d!�fd�Z																				d"d�Ze
d#d��Ze
d$d��Zd%d�Zej$dd�		d&d��Zej$dd�		d&d��Zd'd�Ze
d'd��Zd(d�Zd)�fd�Zd*d�Z																		d+d�ZGd�dej6ee�Zd,d �Z�xZ S)-rGz�Describes an object attribute that corresponds to a table column
    or other column expression.

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

    TFzList[NamedColumn[Any]]�columns�bool�_is_polymorphic_discriminator�
Optional[str]�_mapped_by_synonymzType[PropComparator[_T]]�comparator_factory)rI�group�deferred�
instrumentrN�active_history�expire_on_flush�_creation_orderrKrM�_deferred_column_loader�_raise_column_loader�_renders_in_subqueries�	raiseloadN)�attribute_optionsrOrPrXrNrRrS�info�doc�_instrument�_assume_readonly_dc_attributesc���t�|�||��|f|
z}|D�cgc]&}tjtj
|���(c}|_||_||_||_	||_
|�|n|jj|_
||_||_|	�|j j#|	�|
�|
|_n9t'|j�D]}t)|dd�}
|
��|
|_nd|_t+j,|�d|jfd|jff|_|jr|xj.dz
c_yycc}w)N)rYr]r[rPrQ))rXT)�super�__init__r&�expectr'�LabeledColumnExprRolerIrOrPrXrQ�	__class__�
ComparatorrNrRrSrZ�updater[�reversed�getattrr%�set_creation_order�strategy_key)�self�columnrYrOrPrXrNrRrSrZr[r\r]�additional_columnsrI�c�colrcs                 ��J/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/properties.pyr`zColumnProperty.__init__�sa��� 	���/�+I�	�	
��)�0�0��FM�
�FM��I���U�8�8�!�<�g�
�����
� ��
�"���%���"�-�
����*�*�	
��
-���.������I�I���T�"��?��D�H�����-���c�5�$�/���?�"�D�H��	.� �������%�����'�
�4�?�?�+�
����>�>����!7�7����G
s�+Ec
�p�|jd}
|
j�||
_|
j�||
_yy�Nr)rI�key�name)rj�	decl_scan�registry�cls�originating_modulerr�mapped_container�
annotation�extracted_mapped_annotation�is_dataclass_fieldrks           ro�declarative_scanzColumnProperty.declarative_scan�s8�����a����:�:���F�J��;�;���F�K��c��|S�N��rjs ro�mapper_property_to_assignz(ColumnProperty.mapper_property_to_assign�s���r}c�|�|jD�cgc]"}t|t�r|j�|df��$c}Scc}wrq)rI�
isinstancer)�table)rjrms  ro�columns_to_assignz ColumnProperty.columns_to_assign�sC��
�\�\�
�!���!�V�$�������F�!�
�	
��
s�'9c��d|jvr|jjSd|jvxs||jjvS)N)�query_expressionT)rPT)ri�strategy�_have_default_expression�parent�_readonly_propsr�s ro�%_memoized_attr__renders_in_subqueriesz4ColumnProperty._memoized_attr__renders_in_subqueries�sJ��%��):�):�:��=�=�9�9�9�!��):�):�:�
�����3�3�3�	
r}zsqlalchemy.orm.statezsqlalchemy.orm.strategiesc��tjj}tjj}|jj|jj|j|j�|j�Sr�
r%�	preloaded�	orm_state�orm_strategiesr<�"_instance_level_callable_processorr��
class_manager�LoadDeferredColumnsrr�rj�state�
strategiess   ro�&_memoized_attr__deferred_column_loaderz5ColumnProperty._memoized_attr__deferred_column_loader�sa�����(�(���^�^�2�2�
��"�"�E�E��K�K�%�%��*�*�4�8�8�4��H�H�
�	
r}c��tjj}tjj}|jj|jj|j|jd�|j�S)NTr�r�s   ro�#_memoized_attr__raise_column_loaderz2ColumnProperty._memoized_attr__raise_column_loader�sc�����(�(���^�^�2�2�
��"�"�E�E��K�K�%�%��*�*�4�8�8�T�:��H�H�
�	
r}c��|jS)zsAllow the ColumnProperty to work in expression before it is turned
        into an instrumented attribute.
        )�
expressionr�s ro�__clause_element__z!ColumnProperty.__clause_element__s��
���r}c� �|jdS)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)rIr�s ror�zColumnProperty.expression
s��(�|�|�A��r}c��|jsytj|j|j|j||�||j��y)N)�
comparator�parententityr[)rQr�register_descriptor�class_rrrNr[)rj�mappers  ro�instrument_classzColumnProperty.instrument_class#sB�������&�&��M�M��H�H��.�.�t�V�<�����	
r}c�f��t�|��t|j�dkDr�t	|j
j�j|j�rQtjd|j
�d|jd�d|jd�d|j�d�	�yyy)Nrz
On mapper z, primary key column 'z6' is being combined with distinct primary key column 'rz' in attribute 'zM'. Use explicit properties to give each column its own mapped attribute name.)r_�do_init�lenrI�setr��primary_key�
issupersetr%�warnrr)rjrcs �ror�zColumnProperty.do_init/s����
�����t�|�|��q� �S����)@�)@�%A�%L�%L��L�L�&
�
�I�I��;�;����Q�����a��$�(�(�
L�
�&
� r}c�l�t|j|j|j|jd��S)N)rPrOrR)rGrIrPrOrRr�s ro�copyzColumnProperty.copy?s-���
�\�\��]�]��*�*��.�.�	
�	
r}c	�R�|jsy|j|vrQ||j}	|s|	||j<y|j|j�}
|
j|||	d�y|jr/|j|vr |j||jgd��yyy)NT)�	no_loader)rQrr�get_implr��has_identity�_expire_attributes)rj�session�source_state�source_dict�
dest_state�	dest_dict�load�
_recursive�_resolve_conflict_map�value�impls           ro�mergezColumnProperty.mergeGs�������
�X�X��
$�����)�E��&+�	�$�(�(�#�!�*�*�4�8�8�4������Y��t�<�
�
$�
$�����)B��)�)��D�H�H�:��
*�
�*C�
$r}c��eZdZUdZesdZded<ded<	dd�Zerdd�Z		dd	�Z	dd
�Z
dd�Zdd�Z								dd
�Z
								dd�Zy)�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�rZ�expressionsz*RODescriptorReference[ColumnProperty[_PT]]�prop�Sequence[NamedColumn[Any]]r�c��|j}||||jjd�}|}|jjr,|}|jjj|�}||d<|j
|�jd|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�rr�
_parentmapper�_polymorphic_adapter�traverse�	_annotate�_set_propagate_attrs)rjrk�perrn�mapper_local_cols      ro�_orm_annotate_columnz.ColumnProperty.Comparator._orm_annotate_column�s����#�#�B�$&� "� "�!�Y�Y�]�]�	+�K��C��!�!�6�6�#&� ��(�(�=�=�F�F�s�K��
/?��N�+��=�=��-�B�B�).�"�E��
r}c��yrr�r�s ror�z,ColumnProperty.Comparator.__clause_element__�s��cr}c���|jr=|j|jjd|jj�S|j	|jjd�Srq��adapterr�rIrrr�r�s ro�#_memoized_method___clause_element__z=ColumnProperty.Comparator._memoized_method___clause_element__�sS���|�|��|�|�D�I�I�$5�$5�a�$8�$�)�)�-�-�H�H��0�0����1B�1B�1�1E�F�Fr}c��|j�}	|jS#t$r|jjcYSwxYw)z(The .info dictionary for this attribute.)r�rZ�AttributeErrorr�)rj�ces  ro�_memoized_attr_infoz-ColumnProperty.Comparator._memoized_attr_info�s=���(�(�*�B�
&��w�w���!�
&��y�y�~�~�%�
&�s��A�Ac�$�|jrH|jjD�cgc](}|j||jj���*c}S|jjD�cgc]}|j	|���c}Scc}wcc}w)z�The full sequence of columns referenced by this
            attribute, adjusted for any aliasing in progress.

            .. versionadded:: 1.3.17

            r�)rjrns  ro�_memoized_attr_expressionsz4ColumnProperty.Comparator._memoized_attr_expressions�s����|�|� $�y�y�0�0��0���L�L��d�i�i�m�m�4�0���?C�i�i�>O�>O��>O�s�D�-�-�c�2�>O������
s�-B�-B
c�6�t|j�|�S)z�proxy attribute access down to the mapped column.

            this allows user-defined comparison methods to be accessed.
            )rgr�)rjrrs  ro�_fallback_getattrz+ColumnProperty.Comparator._fallback_getattr�s��
�4�2�2�4�c�:�:r}c�6�||j�g|��i|��Sr�r��rj�op�other�kwargss    ro�operatez!ColumnProperty.Comparator.operate�s"���d�-�-�/�B�%�B�6�B�Br}c�V�|j�}||j||�|fi|��Sr�r��_bind_param�rjr�r�r�rns     ro�reverse_operatez)ColumnProperty.Comparator.reverse_operate�s/���)�)�+�C��c�o�o�b�%�0�#�@��@�@r}N)rkrF�returnrF)r�zNamedColumn[_PT])r�r=)r�r�)rr�strr�r�r�r@r�rr�rr�zColumnElement[Any])�__name__�
__module__�__qualname__�__doc__r
�	__slots__�__annotations__r�r�r�r�r�r�r�r�r�r}rordr�as���	�$�C�I�8�8�/�/�	�&	�P�A�	G�
�	G�	&�	�"	;�	C�"�	C�,/�	C�;>�	C�
�	C�
	A�"�	A�+.�	A�:=�	A�
�	Ar}rdc���|jr|jstj|�St	|jj
j�dz|jzS)N�.)r�rr�object�__repr__r�r�r�r�s ro�__str__zColumnProperty.__str__�sG���{�{�$�(�(��?�?�4�(�(��4�;�;�%�%�.�.�/�#�5����@�@r})rkz_ORMColumnExprArgument[_T]rlz_ORMColumnExprArgument[Any]rYzOptional[_AttributeOptions]rOrLrPrJrXrJrNz"Optional[Type[PropComparator[_T]]]rRrJrSrJrZzOptional[_InfoType]r[rLr\rJr]rJ�rtr8rur6rv�	Type[Any]rwrLrrr�rxzOptional[Type[Mapped[Any]]]ry�Optional[_AnnotationScanType]rzr�r{rJr��None�r�zOptional[MapperProperty[_T]]�r�zList[Tuple[Column[Any], int]])r�rJ)r�z _InstallLoaderCallableProto[Any])r�zroles.ColumnsClauseRole)r�zMapper[Any]r�r)r�r)r�zColumnProperty[_T])r�r:r��InstanceState[Any]r�r4r�rr�r4r�rJr�zDict[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�r`r|�propertyr�r�r�r%�preload_moduler�r�r�r�r�r�r�r��
MemoizedSlotsrrErdr��
__classcell__)rcs@rorGrG_s�����-�:�:���M����
#�#�#'�'�%�%�0�0��I�*:>�#���AE�$� $�$(�!� �/4�98�*�98�9�98�7�	98�
�98��
98��98�?�98��98��98�"�98��98��98�)-�98�v�)�� ���	�
*���
�6��2��&C��!��
��$�����
��
�
��T���/�1L�M�	
�	)�	
�N�	
��T���/�1L�M�	
�	)�	
�N�	
������*

�� 
����)��#�	�
'��!�
���&�� C��
��4BA�T�'�'���)<�BA�HAr}rGc��eZdZdZdZy)�MappedSQLExpressionaNDeclarative 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�rr�r}rorr�s����M�r}rc�r�eZdZUdZdZded<ded<ded<d	ed
<ded<d
ed<dd�Zdd�Zedd��Z	ed d��Z
ed!d��Zd"d�Z								d#d�Z
								d#d�Zd$d�Z																				d%d�Zej$d�														d&d��Z										d'd�Zy)(�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


    )
rkrT�_sort_order�foreign_keys�
_has_nullable�_has_insert_defaultrP�deferred_group�deferred_raiseloadrR�_attribute_options�_has_dataclass_arguments�_use_existing_columnzUnion[_NoArg, bool]rPrJrrLr�
Column[_T]rkzOptional[Set[ForeignKey]]rrrc����|jdt�x|_�|jdd�|_�duxr2�tk7xr't	�fd�t�j�D��|_|jdtj�}|tju|_
|jr||d<n+�jtjur�j|d<|jdd�|_|jdd�|_
|jd	tj�|_|jd
d�|_|jdtj�|_t#dt%|i|���|_|j&j(|_d
|vxr#|j+d
�dt,j.fv|_t3j4|�y)NrY�use_existing_columnFc3�X�K�|]!\}}|dk7r�|tju���#y�w)�dataclasses_defaultN)r(�NO_ARG)�.0�i�attr�	attr_optss   �ro�	<genexpr>z(MappedColumn.__init__.<locals>.<genexpr>2s3������;�G�A�t��0�0��!��F�M�M�1�;�s�'*�insert_default�defaultrrrPrR�
sort_orderr�nullable)�poprrr�any�	enumerate�_fieldsrr(rrrrrrPrRrrr)rkr�getr*�NULL_UNSPECIFIEDrr%rh)rj�arg�kwr%r#s    @ror`zMappedColumn.__init__(s����.0�f�f��!;�/
�	
���)�%'�F�F�+@�%�$H��!�
�T�!�
��7�7�
���(��):�):�;���	
�%���� 0�&�-�-�@��#1����#F�� ��#�#�*�B�y�M�
�
*�
*�&�-�-�
?�%�9�9�B�y�M� �f�f�%5�t�<���"$�&�&�)=�t�"D������z�6�=�=�9��
� �f�f�%5�u�=����6�6�,��
�
�>����<���);��);�<��� �K�K�4�4���'�2�-�
�"�&�&��2D���(�(�M
�3
���	
����%r}c�F�|jj|j�}|jjdi|��|_|j|_|j
|_|j|_|jj|_|j|_|j|_	|j|_
|j|_|j|_|j|_
|j|_tj |�|S)Nr�)rc�__new__rk�_copyrPrrrrRrrrrrrr%rh)rjr0�news   ror3zMappedColumn._copyOs����n�n�$�$�T�^�^�4��&�T�[�[�&�&�,��,��
��}�}���!�0�0���!%�!8�!8����:�:�2�2���!�0�0��� �.�.���!%�!8�!8���"&�":�":���'+�'D�'D��$�#'�#<�#<�� ��*�*�������$��
r}c�.�|jjSr)rkrsr�s rorszMappedColumn.name`s���{�{���r}c�(�|j}|tjur#t|jxs|j
�}|s|jrCt|j||j|j
|j|j��Sy)N)rPrOrXrYrR)
rPr(rrJrrrRrGrkr)rj�effective_deferreds  ror�z&MappedColumn.mapper_property_to_assignds���!�]�]������.�!%��#�#�>�t�'>�'>�"����!4�!4�!����+��)�)��1�1�"&�"9�"9�#�2�2�
�
�r}c�t�|j|jtjur|jfgSdfgSrq)rkrr(rr�s ror�zMappedColumn.columns_to_assignxsM������'�'�v�}�}�<��$�$�
�	
�		
��
�	
�		
r}c��|jSr)rkr�s ror�zMappedColumn.__clause_element__�s���{�{�r}c�6�||j�g|��i|��Srr�r�s    ror�zMappedColumn.operate�s"���$�)�)�+�>�e�>�v�>�>r}c�V�|j�}||j||�|fi|��Srr�r�s     ror�zMappedColumn.reverse_operate�s/���%�%�'���#�/�/�"�e�,�c�<�V�<�<r}c��t�Sr)rr�s ro�found_in_pep593_annotatedz&MappedColumn.found_in_pep593_annotated�s���~�r}c
�\�|j}
|jr�|jr�|jr~|jrtjd��t|jd�}|
j�|
jn|}|jjj||
�x}
|_|
j�||
_|
j�||
_|
j}
|�6|
jr)|jjs|j!||�ny|j#||||�y)Nz3Can't use use_existing_column with deferred mappersF)rkr�inherits�single�is_deferred�sa_exc�
ArgumentErrorrrs�local_tablermr-rr�type�_isnullr�_raise_for_required�_init_column_for_annotation)rjrtrurvrwrrrxryrzr{rk�supercls_mapper�colname�sqltypes              ror|zMappedColumn.declarative_scan�s������
�%�%��"�"�� � ��$�$��*�*�I���+�9�+=�+=�u�E�O�%+�[�[�%<�f�k�k�#�G�#2�#>�#>�#@�#@�#D�#D���$�
�F�T�[��:�:���F�J��;�;���F�K��+�+��&�.����t�{�{�'?�'?��(�(��c�2���(�(���'��		
r}zsqlalchemy.orm.decl_basec��tjj}|j||j�|j||||�yr)r%r��
orm_decl_base�_undefer_column_namerkrH)rjrurvrwrr�
param_name�param_annotation�	decl_bases        ro�declarative_scan_for_compositez+MappedColumn.declarative_scan_for_composite�s@���N�N�0�0�	��&�&�z�4�;�;�?��(�(���+�-?�	
r}c�`�|jj}t|dd��r|�J�t|||d��}t	|�}|j
s||j_t|�}d}d}	d}
t|�r%d}	t|�}|d}
|rt|
�}
|dd}n8t|�r-t|j�rt|j�dd}|D]}t|t�s�|}
nd}
|
��?|js'|
jj�d|j_|
jj!|j�|jj}|
j"t$j&ur-|j"t$j&ur|
j"|_|
j(�|j(�|
j(|_|
j*�|j*�|
j*|_|
j,r|j,sd|_|
j.r|
j.|_|
j0�-|j0t$j&ur|
j0|_|
jj2�|
jj4�t7j8dd	�|
j:rst=|
j>j@�D]Q\}}|
j>|t$j&us�&|jCd
d�}t7j8d|�d
�d	��S|jDr�|jjFs�d}|	r||
g}n|g}|D]}|jI|�}|��n�t|tJ�s t|t�r@tM|tJ�r0tOjPd|jj2�d|�d���tOjPd|�d|jj2�d���|jjS|�yyy)NT)�
check_generic�check_for_plain_string)�include_genericr�Frrz_Can't use the 'key' or 'name' arguments in Annotated with mapped_column(); this will be ignoredz2.0.22�dataclasses_�z
Argument 'zp' is a dataclass argument and cannot be specified within a mapped_column() bundled inside of an Annotated objectzThe 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 annotation)*rkrEr/r r.rr(r,r0r-r1�	__value__r�rrr&�_mergerPr(rrrrrRrrrrsr%�warn_deprecatedrr+rr,�replacerFr�
_resolve_typer+�
issubclassrBrC�	_set_type)rjrvru�argumentrwrKr(�our_type�find_mapped_in�our_type_is_pep593�raw_pep_593_type�pep_593_components�elem�
use_args_from�idxr/�new_sqltype�checks�
check_types                   rorHz(MappedColumn._init_column_for_annotation�s���+�+�"�"����D��
�&�1�1�1�.��X�1�4��H�!��*���!�!�#+�D�K�K� �-�h�7��*,��"�����X��!%��!)�(�!3��1�!�4���#=�>N�#O� �/���3�N�
�x�
 �Y�x�/A�/A�%B�%�h�&8�&8�9�!�"�=�N�#�D��$��-� $�
��#�
!�M��$��,�,�!�(�(�0�0�<�&*����#�� � �'�'����4��k�k�&�&�G��&�&�f�m�m�;��M�M�V�]�]�2� -� 6� 6��
��,�,�8��'�'�/�&3�&B�&B��#��0�0�<��+�+�3�*7�*J�*J��'��2�2��1�1�,0��)��+�+�&3�&B�&B��#��)�)�5��$�$��
�
�5�#0�#<�#<�� ��$�$�(�(�4� �'�'�,�,�8��$�$�K����5�5� )�!�4�4�<�<�!�H�C��&�8�8��=�%�}�}�-�"�k�k�.�"�=���,�,�(���.D�D�%�	�!��?�?�4�;�;�#;�#;��K�"�"�$4�5��"���$�
�&�4�4�Z�@���*��%�
�h�
�3��x��.�"�8�Z�8� �.�.�7������7J�KN�#�*�$D�F���!�.�.� � (�z��d�k�k�o�o�5H�I6�6���
�K�K�!�!�+�.�=$<�?r}N)r/rr0r)r0rr�r2rrr)r�rr�)r�rr�)rur6rvr�rwrLrrr�rOr�rPrAr�r)
rvr�rur6r`rArwrLr�r)r�r�r�r�r�r�r`r3r	rsr�r�r�r�r�r=r|r%r
rRrHr�r}rorr�s���
��I� "�!���!�!���+�+�)�)�%&�N�"� �� �����&�

��

��?��?�(+�?�7:�?�	�?�
=��=�'*�=�69�=�	�=��
0
�)�0
� �0
��	0
�
*�0
��
0
�6�0
�2�0
�&C�0
�!�0
�
�0
�d�T���3�4�

��

��

�*�	

�
�

��


�.�

�
�

�5�

�S/�
�S/� �S/�&�	S/�
*�S/�
�
S/r}rN)]r��
__future__r�typingrrrrrr	r
rrr
rrrXrr�baserr�descriptor_propsrrr�
interfacesrrrrrrr�
relationshipsrr%r r"rBr#r$�sqlr&r'�sql.baser(�
sql.schemar)r*�sql.type_apir+�util.typingr,r-r.r/r0r1r2�_typingr3r4r5r6r7rQr8r�r9r�r:r�r;r<�sql._typingr=�sql.elementsr>r?�
sql.operatorsr@rArBrCrErF�__all__�class_logger�
IdentifiedrGrrr�r}ro�<module>r~sm���#���������� �����$��/�7�-�)�2�/�$�&�&�+�/�)���������$�%�4�"�'�$�#�#���)�&�/�&��1�� �2�$�'�,�*�,�1�3��T����
�e�3���
�e�-�.�������HA���������N�N�	HA��HA�V�.��,�.@��.D��$p/������r��p/r}

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic