XylotrechusZ
�
Ȓ�g:� �
� � d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddlm
Z
dd lmZ d
dlm
Z
d
dlmZ d
d
lmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlm Z d
dl!m"Z" d
dl!m#Z# d
dl!m$Z$ d
dl!m%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%lm.Z. d
d&lm/Z/ d'd(lm0Z0 d'dlmZ1 d'd)lm2Z2 d'd*lm3Z3 d'd+lm4Z4 d'dlmZ d'dl4mZ5 d'd,l4m6Z6 d'd-l7m8Z8 d'd.l7m9Z9 d'd/l:m;Z; e
rd
d0l<m=Z= d
d1lm>Z> d'd2l?m@Z@ ddd4�ZAej� j� d3d3�5� G d6� d7e&� � ZDe3j� ej� j� d8d3�5� G d9� d:e&� � � ZFe3j� ej� j� d8�;� G d<� d=eF� � � ZGe3j� ej� j� d8d8�>� ej� j� d8d8d8�?� ej� j� d8�@� G dA� dBe&� � � � � ZH G dC� dD� ZI G dE� dFe&� ZJe3j� ej| j� d8�@� G dG� dHe&� � � ZKe3j� ej| j� dI�J� ej| j� d�J� G dK� dLeJ� � � � ZLe3j� ej| j� d8�J� ej| j� dM�J� ej| j� dN�J� ej| j� dO�J� ej| j� dP�J� G dQ� dReJej� e3j� � � � � � � � ZO G dS� dT� ZP G dU� dVeJ� ZQej| j� dW�J� G dX� dYeQ� � ZRe3j� ej| j� dZ�J� G d[� d\eQ� � � ZSe3j� ej| j� d]�J� ej| j� d3�J� G d^� d_eJ� � � � ZTe3j� ej| j� d`�J� G da� dbeQej� � � � ZUdc� ZVy)ezWsqlalchemy.orm.interfaces.LoaderStrategy
implementations, and related MapperOptions.� )�annotationsN)�Any)�Dict)�Optional)�Tuple)�
TYPE_CHECKING)�Union� )�
attributes)�exc)�
interfaces)�loading)�
path_registry)�
properties)�query)�
relationships)�
unitofwork)�util)�_DEFER_FOR_STATE)�_RAISE_FOR_STATE)�_SET_DEFERRED_EXPIRED)�ATTR_WAS_SET)�LoaderCallableStatus)�PASSIVE_OFF)�PassiveFlag)�_column_descriptions)�ORMCompileState)�ORMSelectCompileState)�QueryContext)�LoaderStrategy)�StrategizedProperty)�_state_session)�
InstanceState)�Load)�_none_only_set)�AliasedClass� )�event)�inspect)�log)�sql)�visitors)�LABEL_STYLE_TABLENAME_PLUS_COL)�Select)�Literal)�Mapper)�RelationshipProperty)�
ColumnElementFc � ����� g }
|xr | j �|r!| j r|
j t � | j | j
j v r;| j
j | j \ ��|
j ��fd�� |r|
j t j � |r/| j ��r!| j r|
j ��fd�� |j D ]� }| |j j | j � u s�+|j j | j � r�Qt! j"