OwlCyberSecurity - MANAGER
Edit File: instrumentation.cpython-312.pyc
� E��g_ � �Z � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm Z dd lmZ ddlmZ ddlm Z dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddl"m#Z# dd l"m$Z$ er<dd!lm%Z% dd"lm&Z& dd#lm'Z' dd$lm(Z( dd%lm)Z) dd&l*m+Z+ dd'l,m-Z- dd(l.m/Z/ dd)lm0Z0 dd*lm1Z1 ed+e�,� Z2 ejf d-� Z4 G d.� d/e$� Z5 G d0� d1e$� Z6 G d2� d3e!ee7d4f e e e � Z8 G d5� d6� Z9 G d7� d8e � Z: e:� Z;ejx xZ<Z=ej| xZ>Z?ej� xZ@ZAej� xZBZC d= d>d9�ZDd:� ZEd;� ZFd<� ZGy)?a� Defines SQLAlchemy's system of class instrumentation. This module is usually not directly visible to user applications, but defines a large part of the ORM's interactivity. instrumentation.py deals with registration of end-user classes for state tracking. It interacts closely with state.py and attributes.py which establish per-instance and per-class-attribute instrumentation, respectively. The class instrumentation system can be customized on a per-class or global basis using the :mod:`sqlalchemy.ext.instrumentation` module, which provides the means to build and specify alternate instrumentation forms. .. versionchanged: 0.8 The instrumentation extension system was moved out of the ORM and into the external :mod:`sqlalchemy.ext.instrumentation` package. When that package is imported, it installs itself within sqlalchemy.orm so that its more comprehensive resolution mechanics take effect. � )�annotations)�Any)�Callable)�cast)� Collection)�Dict)�Generic)�Iterable)�List)�Optional)�Set)�Tuple)�Type)� TYPE_CHECKING)�TypeVar)�UnionN� )�base)�collections)�exc)� interfaces)�state)�_O)�_is_collection_attribute_impl� )�util)�EventTarget)�HasMemoized)�Literal)�Protocol)� _RegistryType)� AttributeImpl)�QueryableAttribute)�_AdaptedCollectionProtocol)�_CollectionFactoryType)� _MapperConfig)�InstanceEvents)�Mapper)� InstanceState)� dispatcher�_T)�bound�DEL_ATTRc �$ � e Zd Z dd�Zy)�_ExpiredAttributeLoaderProtoc � � y �N� )�selfr �toload�passives �O/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/instrumentation.py�__call__z%_ExpiredAttributeLoaderProto.__call__S s � � � N)r �state.InstanceState[Any]r4 zSet[str]r5 zbase.PassiveFlag�return�None��__name__� __module__�__qualname__r7 r2 r8 r6 r/ r/ R s- � ��'�� �� "� � �r8 r/ c � � e Zd Zdd�Zy)�_ManagerFactoryc � � y r1 r2 �r3 �class_s r6 r7 z_ManagerFactory.__call__\ s � �cr8 N�rD �Type[_O]r: �ClassManager[_O]r<