\(a F d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlmZ ddl mZ dd l mZ dd l mZ ddl mZ ddl mZ dd l mZ ddl mZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl!m"Z" ddl!m#Z# ddl!m$Z$ ddl!m%Z% dd l!m&Z& dd!l!m'Z' dd"l!m(Z( d# Z)d$ Z*ej+ ej, - d%d&' G d( d)e Z.d* Z/ G d+ d,e0 Z1 G d- d.e0 Z2dS )/a Heuristics related to join conditions as used in :func:`_orm.relationship`. Provides the :class:`.JoinCondition` object, which encapsulates SQL annotation and aliasing behavior focused on the `primaryjoin` and `secondaryjoin` aspects of :func:`_orm.relationship`. )absolute_importN ) attributes) dependency)mapper)_is_mapped_class) state_str) MANYTOMANY) MANYTOONE) ONETOMANY)PropComparator)StrategizedProperty) _orm_annotate)_orm_deannotate)CascadeOptions )exc)log)schema)sql)util)inspect) expression) operators)visitors)_deep_deannotate)_shallow_annotate)adapt_criterion_to_null) ClauseAdapter)join_condition)selectables_overlapvisit_binary_productc J t t j | ddi S )a Annotate a portion of a primaryjoin expression with a 'remote' annotation. See the section :ref:`relationship_custom_foreign` for a description of use. .. seealso:: :ref:`relationship_custom_foreign` :func:`.foreign` remoteT_annotate_columnsr _clause_element_as_exprexprs p/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/sqlalchemy/orm/relationships.pyr% r% 4 s+ *4008T2B c J t t j | ddi S )a Annotate a portion of a primaryjoin expression with a 'foreign' annotation. See the section :ref:`relationship_custom_foreign` for a description of use. .. seealso:: :ref:`relationship_custom_foreign` :func:`.remote` foreignTr&