+
    iv                      R t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIH t  ^RIH!t! ^RIH"t" ^R IH#t# ^R!I"H$t$ ^R"I"H%t% ^R#I"H&t& ^R$I"H't' ^R%I(H)t) ^R&I*H+t+ ^R'I*H,t, ^R(I*H-t- ^R)I.H/t/ ^R*I.H0t0 ^R+I1H2t2 ^R,I3H4t4 ^R-I3H5t5 ^R.I3H6t6 ^R/I3H7t7 ^R0I3H8t8 ]Pr                  '       d   ^R1I*H:t: ^R2I*H;t; ^R3I<H=t= ^R4I>H?t? ^R5I>H@t@ ]! R6]R77      tA]! R8]R9R:7      tB]! R;]R9R<7      tC]! R=]R77      tD]! R>]R77      tE]! R?]R77      tFR@RRARRBRRCRRDRRERFRGRFRH]2P                  RI]2P                  RJ]2P                  RK]2P                  RL]2P                  RM]2P                  RN]2P                  RO]2P                  /RP RQ lltH ! RR RS]%4      tI ! RT RU]5]B,          4      tJ ! RV RW]54      tK ! RX RY]K]5]C,          4      tL ! RZ R[]K]5]C,          4      tM ! R\ R]]54      tN ! R^ R_]N]5]C,          4      tO ! R` Ra]N]5]C,          4      tP ! Rb Rc]5]A,          4      tQ ! Rd Re]54      tR ! Rf Rg]54      tS ! Rh Ri]54      tT ! Rj Rk]5]A,          4      tU ! Rl Rm]&P                  ]']A,          ],]U]A,          4      tW]! RnRoR77      tX ! Rp Rq])]A,          4      tY ! Rr Rs]Y]A,          4      tZ ! Rt Ru]Y]A,          4      t[ ! Rv Rw]Y]A,          4      t\ ! Rx Ry]Q]A,          4      t]]! RzR{R77      t^  ! R| R}]]^,          4      t_ ! R~ R]_]A,          4      t` ! R R]`]A,          ]]A,          4      ta ! R R]_]F,          ]]E]F3,          4      tb ! R R]`]A,          ]]A,          4      tcR# )zContain the ``AssociationProxy`` class.

The ``AssociationProxy`` is a Python property object which provides
transparent proxied access to the endpoint of an association object.

See the example ``examples/association/proxied_association.py``.

)annotationsN)AbstractSet)Any)Callable)cast)
Collection)Dict)Generic	ItemsView)Iterable)Iterator)KeysView)List)Mapping)MutableMapping)MutableSequence)
MutableSet)NoReturn)Optional)overload)Set)Tuple)Type)TypeVar)Union
ValuesView)ColumnElement)exc)inspect)orm)util)collections)InspectionAttrExtensionType)
interfaces)ORMDescriptor)SQLORMOperations)_AttributeOptions)_DCAttributeOptions)_DEFAULT_ATTRIBUTE_OPTIONS)	operators)or_)_NoArg)Literal)Protocol)Self)SupportsIndex)SupportsKeysAndGetItem)MapperProperty)PropComparator)Mapper)_ColumnExpressionArgument)	_InfoType_T)bound_T_coT)r9   	covariant_T_con)r9   contravariant_S_KT_VTcreatorgetset_factoryproxy_factoryproxy_bulk_setinfocascade_scalar_deletesFcreate_on_none_assignmentinitreprdefaultdefault_factorycomparekw_onlyhashdataclass_metadatac          $     `    V ^8  d   QhRRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRRR/# )    target_collectionstrattrrA   Optional[_CreatorProtocol]rB    Optional[_GetSetFactoryProtocol]rC   Optional[_ProxyFactoryProtocol]rD   Optional[_ProxyBulkSetProtocol]rE   Optional[_InfoType]rF   boolrG   rH   zUnion[_NoArg, bool]rI   rJ   Optional[Any]rK   zUnion[_NoArg, Callable[[], _T]]rL   rM   rN   zUnion[_NoArg, bool, None]rO   z&Union[_NoArg, Mapping[Any, Any], None]returnzAssociationProxy[Any] )formats   "yC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy/ext/associationproxy.py__annotate__r`   T   s     t tt
t (	t
 5t 3t 4t t !t  $t t t t 5t !t  !!t" $#t$ ?%t& 't    c               L    \        V VVVVVVVV\        V	V
VVVVVV4      R7
      # )a:  Return a Python property implementing a view of a target
attribute which references an attribute on members of the
target.

The returned value is an instance of :class:`.AssociationProxy`.

Implements a Python property representing a relationship as a collection
of simpler values, or a scalar value.  The proxied property will mimic
the collection type of the target (list, dict or set), or, in the case of
a one to one relationship, a simple scalar value.

:param target_collection: Name of the attribute that is the immediate
  target.  This attribute is typically mapped by
  :func:`~sqlalchemy.orm.relationship` to link to a target collection, but
  can also be a many-to-one or non-scalar relationship.

:param attr: Attribute on the associated instance or instances that
  are available on instances of the target object.

:param creator: optional.

  Defines custom behavior when new items are added to the proxied
  collection.

  By default, adding new items to the collection will trigger a
  construction of an instance of the target object, passing the given
  item as a positional argument to the target constructor.  For cases
  where this isn't sufficient, :paramref:`.association_proxy.creator`
  can supply a callable that will construct the object in the
  appropriate way, given the item that was passed.

  For list- and set- oriented collections, a single argument is
  passed to the callable. For dictionary oriented collections, two
  arguments are passed, corresponding to the key and value.

  The :paramref:`.association_proxy.creator` callable is also invoked
  for scalar (i.e. many-to-one, one-to-one) relationships. If the
  current value of the target relationship attribute is ``None``, the
  callable is used to construct a new object.  If an object value already
  exists, the given attribute value is populated onto that object.

  .. seealso::

    :ref:`associationproxy_creator`

:param cascade_scalar_deletes: when True, indicates that setting
    the proxied value to ``None``, or deleting it via ``del``, should
    also remove the source object.  Only applies to scalar attributes.
    Normally, removing the proxied target will not remove the proxy
    source, as this object may have other state that is still to be
    kept.

    .. versionadded:: 1.3

    .. seealso::

        :ref:`cascade_scalar_deletes` - complete usage example

:param create_on_none_assignment: when True, indicates that setting
  the proxied value to ``None`` should **create** the source object
  if it does not exist, using the creator.  Only applies to scalar
  attributes.  This is mutually exclusive
  vs. the :paramref:`.association_proxy.cascade_scalar_deletes`.

  .. versionadded:: 2.0.18

:param init: Specific to :ref:`orm_declarative_native_dataclasses`,
 specifies if the mapped attribute should be part of the ``__init__()``
 method as generated by the dataclass process.

 .. versionadded:: 2.0.0b4

:param repr: Specific to :ref:`orm_declarative_native_dataclasses`,
 specifies if the attribute established by this :class:`.AssociationProxy`
 should be part of the ``__repr__()`` method as generated by the dataclass
 process.

 .. versionadded:: 2.0.0b4

:param default_factory: Specific to
 :ref:`orm_declarative_native_dataclasses`, specifies a default-value
 generation function that will take place as part of the ``__init__()``
 method as generated by the dataclass process.

 .. versionadded:: 2.0.0b4

:param compare: Specific to
 :ref:`orm_declarative_native_dataclasses`, indicates if this field
 should be included in comparison operations when generating the
 ``__eq__()`` and ``__ne__()`` methods for the mapped class.

 .. versionadded:: 2.0.0b4

:param kw_only: Specific to :ref:`orm_declarative_native_dataclasses`,
 indicates if this field should be marked as keyword-only when generating
 the ``__init__()`` method as generated by the dataclass process.

 .. versionadded:: 2.0.0b4

:param hash: Specific to
 :ref:`orm_declarative_native_dataclasses`, controls if this field
 is included when generating the ``__hash__()`` method for the mapped
 class.

 .. versionadded:: 2.0.36

:param dataclass_metadata: Specific to
 :ref:`orm_declarative_native_dataclasses`, supplies metadata
 to be attached to the generated dataclass field.

 .. versionadded:: 2.0.42

:param info: optional, will be assigned to
 :attr:`.AssociationProxy.info` if present.


The following additional parameters involve injection of custom behaviors
within the :class:`.AssociationProxy` object and are for advanced use
only:

:param getset_factory: Optional.  Proxied attribute access is
    automatically handled by routines that get and set values based on
    the `attr` argument for this proxy.

    If you would like to customize this behavior, you may supply a
    `getset_factory` callable that produces a tuple of `getter` and
    `setter` functions.  The factory is called with two arguments, the
    abstract type of the underlying collection and this proxy instance.

:param proxy_factory: Optional.  The type of collection to emulate is
    determined by sniffing the target collection.  If your collection
    type can't be determined by duck typing or you'd like to use a
    different collection implementation, you may supply a factory
    function to produce those collections.  Only applicable to
    non-scalar relationships.

:param proxy_bulk_set: Optional, use with proxy_factory.


)rA   rB   rC   rD   rE   rF   rG   attribute_options)AssociationProxyr(   )rR   rT   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   s   &&$$$$$$$$$$$$$$$r_   association_proxyre   T   sM    @ %#%5";+	
 ra   c                      ] tR tRtRtRtR# )AssociationProxyExtensionTypei  ASSOCIATION_PROXYr]   N)__name__
__module____qualname____firstlineno__rh   __static_attributes__r]   ra   r_   rg   rg     s    +ra   rg   c                  "    ] tR tRtR R ltRtR# )_GetterProtocoli  c                    V ^8  d   QhRRRR/# )rQ   instancer   r\   r:   r]   )r^   s   "r_   r`   _GetterProtocol.__annotate__  s    3333ra   c                	    R # Nr]   )selfrq   s   &&r_   __call___GetterProtocol.__call__  s    ra   r]   Nri   rj   rk   rl   rv   rm   r]   ra   r_   ro   ro     s    33ra   ro   c                      ] tR tRtRtR# )_SetterProtocoli  r]   Nri   rj   rk   rl   rm   r]   ra   r_   rz   rz     s    ra   rz   c                  "    ] tR tRtR R ltRtR# )_PlainSetterProtocoli  c               $    V ^8  d   QhRRRRRR/# )rQ   rq   r   valuer<   r\   Noner]   )r^   s   "r_   r`   !_PlainSetterProtocol.__annotate__  s    AAAVAAra   c                	    R # rt   r]   )ru   rq   r   s   &&&r_   rv   _PlainSetterProtocol.__call__  s    cra   r]   Nrx   r]   ra   r_   r}   r}     s    AAra   r}   c                  "    ] tR tRtR R ltRtR# )_DictSetterProtocoli"  c               (    V ^8  d   QhRRRRRRRR/# )rQ   rq   r   keyr   r<   r\   r   r]   )r^   s   "r_   r`    _DictSetterProtocol.__annotate__#  s    KKK3KvK$Kra   c                	    R # rt   r]   )ru   rq   r   r   s   &&&&r_   rv   _DictSetterProtocol.__call__#  s    ra   r]   Nrx   r]   ra   r_   r   r   "  s    KKra   r   c                      ] tR tRtRtR# )_CreatorProtocoli'  r]   Nr{   r]   ra   r_   r   r   '  s    #ra   r   c                  "    ] tR tRtR R ltRtR# )_PlainCreatorProtocoli*  c                    V ^8  d   QhRRRR/# )rQ   r   r<   r\   r   r]   )r^   s   "r_   r`   "_PlainCreatorProtocol.__annotate__+  s    11f11ra   c                	    R # rt   r]   ru   r   s   &&r_   rv   _PlainCreatorProtocol.__call__+  s    cra   r]   Nrx   r]   ra   r_   r   r   *  s    11ra   r   c                  "    ] tR tRtR R ltRtR# )_KeyCreatorProtocoli.  c               $    V ^8  d   QhRRRRRR/# )rQ   r   r   r   zOptional[_T_con]r\   r]   )r^   s   "r_   r`    _KeyCreatorProtocol.__annotate__/  s    EECE(8ESEra   c                	    R # rt   r]   ru   r   r   s   &&&r_   rv   _KeyCreatorProtocol.__call__/  s    #ra   r]   Nrx   r]   ra   r_   r   r   .  s    EEra   r   c                  "    ] tR tRtR R ltRtR# )_LazyCollectionProtocoli2  c                   V ^8  d   QhRR/# rQ   r\   zCUnion[MutableSet[_T], MutableMapping[Any, _T], MutableSequence[_T]]r]   )r^   s   "r_   r`   $_LazyCollectionProtocol.__annotate__3  s      
ra   c                	    R # rt   r]   ru   s   &r_   rv    _LazyCollectionProtocol.__call__3  s     ra   r]   Nrx   r]   ra   r_   r   r   2  s     ra   r   c                  "    ] tR tRtR R ltRtR# )_GetSetFactoryProtocoli:  c               $    V ^8  d   QhRRRRRR/# )rQ   collection_classOptional[Type[Any]]assoc_instanceAssociationProxyInstance[Any]r\   ,Tuple[_GetterProtocol[Any], _SetterProtocol]r]   )r^   s   "r_   r`   #_GetSetFactoryProtocol.__annotate__;  s(     ; ;-; 6; 
6	;ra   c                	    R # rt   r]   )ru   r   r   s   &&&r_   rv   _GetSetFactoryProtocol.__call__;  s     8;ra   r]   Nrx   r]   ra   r_   r   r   :  s    ; ;ra   r   c                  "    ] tR tRtR R ltRtR# )_ProxyFactoryProtocoliB  c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rQ   lazy_collectionz_LazyCollectionProtocol[Any]rA   r   
value_attrrS   parentr   r\   r   r]   )r^   s   "r_   r`   "_ProxyFactoryProtocol.__annotate__C  s<      5 " 	
 . 
ra   c                	    R # rt   r]   )ru   r   rA   r   r   s   &&&&&r_   rv   _ProxyFactoryProtocol.__call__C  s     ra   r]   Nrx   r]   ra   r_   r   r   B  s     ra   r   c                  "    ] tR tRtR R ltRtR# )_ProxyBulkSetProtocoliL  c               $    V ^8  d   QhRRRRRR/# )rQ   proxy_AssociationCollection[Any]
collectionIterable[Any]r\   r   r]   )r^   s   "r_   r`   "_ProxyBulkSetProtocol.__annotate__M  s$      0>K	ra   c                	    R # rt   r]   )ru   r   r   s   &&&r_   rv   _ProxyBulkSetProtocol.__call__M  s    ra   r]   Nrx   r]   ra   r_   r   r   L  s     ra   r   c                      ] tR tRt$ RtR]R&   R]R&   R]R&   R]R&   R	]R
&   R	]R&   R]R&   R]R&   R]R&   ]P                  R R l4       tRR R llt	R R lt
RtR# )_AssociationProxyProtocoliR  zldescribes the interface of :class:`.AssociationProxy`
without including descriptor methods in the interface.rU   rA   rS   r   rR   r   rZ   rF   rG   rV   rB   rW   rC   rX   rD   c                   V ^8  d   QhRR/# rQ   r\   r7   r]   )r^   s   "r_   r`   &_AssociationProxyProtocol.__annotate__a  s    $$i$ra   c                	    R # rt   r]   r   s   &r_   rE   _AssociationProxyProtocol.info`  s    !$ra   Nc               $    V ^8  d   QhRRRRRR/# rQ   class_	Type[Any]objzOptional[object]r\   AssociationProxyInstance[_T]r]   )r^   s   "r_   r`   r   c  s$     + ++&6+	%+ra   c                	    R # rt   r]   ru   r   r   s   &&&r_   	for_class#_AssociationProxyProtocol.for_classc  s    '*ra   c                    V ^8  d   QhRRRR/# rQ   r   r   r\   r   r]   )r^   s   "r_   r`   r   g  s     ; ; #;	5;ra   c                	    R # rt   r]   )ru   r   s   &&r_   _default_getset)_AssociationProxyProtocol._default_getsetg  s    7:ra   r]   rt   )ri   rj   rk   rl   __doc____annotations__r"   ro_memoized_propertyrE   r   r   rm   r]   ra   r_   r   r   R  s`    > ('	HO  ##442233	$ $+; ;ra   r   c                     ] tR tRtRtRt]P                  tRRRRRRRRR	RR
RRRRR/R R llt	]
R R l4       t]
R R l4       t]
R R l4       tR R ltR R ltR R ltR'R R lltR R ltR  R! ltR" R# ltR$ R% ltR&tR# )(rd   il  zDA descriptor that presents a read/write view of an object attribute.TrA   NrB   rC   rD   rE   rF   FrG   rc   c               @    V ^8  d   QhRRRRRRRRRR	R
RRRRRRRRR/
# )rQ   rR   rS   rT   rA   rU   rB   rV   rC   rW   rD   rX   rE   rY   rF   rZ   rG   rc   zOptional[_AttributeOptions]r]   )r^   s   "r_   r`   AssociationProxy.__annotate__w  sz     6A 6A6A 6A
 ,6A 96A 76A 86A "6A !%6A $(6A 76Ara   c                  Wn         W n        W0n        W@n        WPn        W`n        V'       d   V	'       d   \        P                  ! R4      hWn        Wn	        R\        V 4      P                  : RV: R\        V 4      : 2V n        V'       d   Wpn        V
'       d   V
\        8w  d   RV n        Wn        R# RV n        \        V n        R# )a   Construct a new :class:`.AssociationProxy`.

The :class:`.AssociationProxy` object is typically constructed using
the :func:`.association_proxy` constructor function. See the
description of :func:`.association_proxy` for a description of all
parameters.


z[The cascade_scalar_deletes and create_on_none_assignment parameters are mutually exclusive._TFN)rR   r   rA   rB   rC   rD   r   ArgumentErrorrF   rG   typeri   idr   rE   r*   _has_dataclass_arguments_attribute_options)ru   rR   rT   rA   rB   rC   rD   rE   rF   rG   rc   s   &&&$$$$$$$$r_   __init__AssociationProxy.__init__w  s    . "3,*,!&?##5  '=#)B& JtH

 I !%??,0D)&7#,1D)&@D#ra   c               $    V ^8  d   QhRRRRRR/# )rQ   rq   Literal[None]ownerr\   r0   r]   )r^   s   "r_   r`   r     s$      %.;	ra   c                	    R # rt   r]   ru   rq   r   s   &&&r_   __get__AssociationProxy.__get__       ra   c               $    V ^8  d   QhRRRRRR/# )rQ   rq   r   r   r   r\   r   r]   )r^   s   "r_   r`   r     s$     + +%+.1+	%+ra   c                	    R # rt   r]   r   s   &&&r_   r   r     s     (+ra   c               $    V ^8  d   QhRRRRRR/# )rQ   rq   objectr   r   r\   r8   r]   )r^   s   "r_   r`   r     s    >>>s>r>ra   c                	    R # rt   r]   r   s   &&&r_   r   r     s    ;>ra   c               $    V ^8  d   QhRRRRRR/# )rQ   rq   r   r   r   r\   z=Union[AssociationProxyInstance[_T], _T, AssociationProxy[_T]]r]   )r^   s   "r_   r`   r     s$      '*	Fra   c                	r    Vf   V # V P                  W!4      pV'       d   VP                  V4      # Ve   Q hV # rt   )_as_instanceget)ru   rq   r   insts   &&& r_   r   r     sA     =K  188H%%ra   c               $    V ^8  d   QhRRRRRR/# )rQ   rq   r   valuesr8   r\   r   r]   )r^   s   "r_   r`   r     s&     B B B Bt Bra   c                	\    \        V4      pV P                  W14      P                  W4       R # rt   )r   r   set)ru   rq   r   r   s   &&& r_   __set__AssociationProxy.__set__  s$    h&+//Ara   c                    V ^8  d   QhRRRR/# )rQ   rq   r   r\   r   r]   )r^   s   "r_   r`   r     s     = =6 =d =ra   c                	\    \        V4      pV P                  W!4      P                  V4       R # rt   )r   r   delete)ru   rq   r   s   && r_   
__delete__AssociationProxy.__delete__  s$    h&+228<ra   c               $    V ^8  d   QhRRRRRR/# r   r]   )r^   s   "r_   r`   r     s$     #. #.#.&6#.	%#.ra   c                $    V P                  W4      # )aI  Return the internal state local to a specific mapped class.

E.g., given a class ``User``::

    class User(Base):
        # ...

        keywords = association_proxy("kws", "keyword")

If we access this :class:`.AssociationProxy` from
:attr:`_orm.Mapper.all_orm_descriptors`, and we want to view the
target class for this proxy as mapped by ``User``::

    inspect(User).all_orm_descriptors["keywords"].for_class(User).target_class

This returns an instance of :class:`.AssociationProxyInstance` that
is specific to the ``User`` class.   The :class:`.AssociationProxy`
object remains agnostic of its parent class.

:param class\_: the class that we are returning state for.

:param obj: optional, an instance of the class that is required
 if the attribute refers to a polymorphic target, e.g. where we have
 to look at the type of the actual destination object to get the
 complete path.

.. versionadded:: 1.3 - :class:`.AssociationProxy` no longer stores
   any state specific to a particular parent class; the state is now
   stored in per-class :class:`.AssociationProxyInstance` objects.


)r   r   s   &&&r_   r   AssociationProxy.for_class  s    F   --ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r   r   r   r\   r   r]   )r^   s   "r_   r`   r     s$       #	%ra   c                	b    VP                   V P                  R ,           ,          pVfL   V P                  V4      pVe5   \        P                  WV4      p\        WP                  R ,           V4       MRpVe$   VP                  '       g   VP                  V4      # V#   \         d    Rp Li ; i)_instN)	__dict__r   KeyError_calc_ownerAssociationProxyInstance	for_proxysetattr_is_canonical_non_canonical_get_for_object)ru   r   r   r   r   s   &&&  r_   r   AssociationProxy._as_instance  s    	??488g#56D
 <$$V,E /99$sK7 2D9D$6$6$6 55c::K)  	D	s   $B B.-B.c                    V ^8  d   QhRRRR/# )rQ   
target_clsr   r\   r]   )r^   s   "r_   r`   r     s     4 4c 4c 4ra   c                	     \        V4      pVP                  P                  P                  #   \        P
                   d     R # i ; irt   )r    mapperclass_managerr   r   NoInspectionAvailable)ru   r  insps   && r_   r  AssociationProxy._calc_owner  sE    		4:&D ;;,,333 (( 	
 	s   - AAc                    V ^8  d   QhRRRR/# r   r]   )r^   s   "r_   r`   r      s     ( ( #(	5(ra   c                	   aa V P                   o\        P                  ! S4      oR  V3R llpV\        J d   R V3R llpW#3# R V3R llpW$3# )c                    V ^8  d   QhRRRR/# )rQ   rq   r   r\   r[   r]   )r^   s   "r_   r`   6AssociationProxy._default_getset.<locals>.__annotate__&  s     	G 	GS 	G] 	Gra   c                    < V e	   S! V 4      # R # rt   r]   rq   _getters   &r_   getter0AssociationProxy._default_getset.<locals>.getter&      (0(<78$F$Fra   c               (    V ^8  d   QhRRRRRRRR/# )rQ   rq   r   kr   r\   r   r]   )r^   s   "r_   r`   r  +  s(     / /c /c /# /$ /ra   c                "   < \        V SV4       R # rt   r  rq   r%  r   rT   s   &&&r_   dict_setter5AssociationProxy._default_getset.<locals>.dict_setter+      $.ra   c               $    V ^8  d   QhRRRRRR/# )rQ   or   vr\   r   r]   )r^   s   "r_   r`   r  2  s!     $ $ $ $ $ra   c                "   < \        V SV4       R # rt   r'  r-  r.  rT   s   &&r_   plain_setter6AssociationProxy._default_getset.<locals>.plain_setter2      4#ra   r   operator
attrgetterdictru   r   r!  r)  r1  r   rT   s   &&   @@r_   r    AssociationProxy._default_getset   s^     %%d+	G 	G t#/ / &&$ $ ''ra   c                   V ^8  d   QhRR/# rQ   r\   rS   r]   )r^   s   "r_   r`   r   7  s     
 
# 
ra   c                	@    R V P                   : RV P                  : R2# )zAssociationProxy(z, ))rR   r   r   s   &r_   __repr__AssociationProxy.__repr__7  s    ""OO
 	
ra   )r   r   rF   rG   rA   rB   rE   r   rD   rC   rR   r   rt   )ri   rj   rk   rl   r   is_attributerg   rh   extension_typer   r   r   r   r  r   r   r  r   r>  rm   r]   ra   r_   rd   rd   l  s     OL2DDN6A
 /36A <@6A :>6A ;?6A %)6A (-6A +06A :>6Ap   + + > >B=#.J64(.
 
ra   rd   _Selfr   c                     ] tR tRt$ RtR]R&   R]R&   R R ltR	]R
&    ]R R l4       t]R R l4       t	R R lt
]R R l4       tR R lt]R R l4       t]P                   R R l4       t]R R l4       t]R R l4       t]R R l4       t]P                   R R  l4       t]P                   R! R" l4       t]R# R$ l4       tR%]R&&   R']R(&   R) R* ltR+ R, lt]P4                  R- R. l4       t]R/ R0 l4       t]R1 R2 l4       tR3 R4 ltR5 R6 ltR7 R8 ltR9 R: lt R; R< lt!R= R> lt"RIR@ RA llt#RIRB RC llt$RIRD RE llt%RF RG lt&RHt'R?# )Jr  iD  a  A per-class object that serves class- and object-specific results.

This is used by :class:`.AssociationProxy` when it is invoked
in terms of a specific class or instance of a class, i.e. when it is
used as a regular Python descriptor.

When referring to the :class:`.AssociationProxy` as a normal Python
descriptor, the :class:`.AssociationProxyInstance` is the object that
actually serves the information.   Under normal circumstances, its presence
is transparent::

    >>> User.keywords.scalar
    False

In the special case that the :class:`.AssociationProxy` object is being
accessed directly, in order to get an explicit handle to the
:class:`.AssociationProxyInstance`, use the
:meth:`.AssociationProxy.for_class` method::

    proxy_state = inspect(User).all_orm_descriptors["keywords"].for_class(User)

    # view if proxy object is scalar or not
    >>> proxy_state.scalar
    False

.. versionadded:: 1.3

r   r   _AssociationProxyProtocol[_T]r   c               (    V ^8  d   QhRRRRRRRR/# )rQ   r   rD  owning_classr   target_classr   rS   r]   )r^   s   "r_   r`   %AssociationProxyInstance.__annotate__e  s2     % %-%  %  	%
 %ra   c                	    Wn         VP                  V n        W n        VP                  V n        R V n        W0n        W@n        R # rt   )r   r   rF  rR   r   rG  r   )ru   r   rF  rG  r   s   &&&&&r_   r   !AssociationProxyInstance.__init__e  s;     ::(!'!9!9 $($ra   r   rG  c               (    V ^8  d   QhRRRRRRRR/# )	rQ   r   zAssociationProxy[_T]rF  r   parent_instancer   r\   r   r]   )r^   s   "r_   r`   rH  ~  s2     , ,$,  , 	,
 
&,ra   c                	J   VP                   pVP                  p\        R \        P                  ! V4      P                  V4      4      p\        V\        P                  4      '       g   \        R4      RhVP                  P                  p \        RV P                  Wu4      4      pV P                  WW'V4      #   \         d    \        YYu4      u # \         dG   p	\         P"                  ! RTP$                   RTP                   RTP$                   RT	 24      T	hRp	?	ii ; i)zorm.RelationshipProperty[_T]zEassociation proxy to a non-relationship intermediary is not supportedNr   zRAssociation proxy received an unexpected error when trying to retrieve attribute ".z" from class "z": )rR   r   r   r!   class_mapperget_property
isinstanceRelationshipPropertyNotImplementedErrorr  r   _cls_unwrap_target_assoc_proxy_construct_for_assocAttributeError!AmbiguousAssociationProxyInstance	Exceptionr   InvalidRequestErrorri   )
clsr   rF  rL  rR   r   proprG  target_assocerrs
   &&&&      r_   r  "AssociationProxyInstance.for_proxy}  s=    #44&&
*\*778IJ
 $ 8 899%0 
 {{))	.22<LL& ++l*   	 5l   	)) ))*!F,=,=+> ?&//0C5:
 	s%   B9 9D"D"D"ADD"c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )rQ   r\  &Optional[AssociationProxyInstance[_T]]r   rD  rF  r   rG  r   rS   r\   r   r]   )r^   s   "r_   r`   rH    sF      < .  	
    
&ra   c                	    Ve   \        W#WE4      # \        WE4      p\        VR4      '       g   \        W#WE4      # VP                  pV'       d   \        W#WE4      # \        W#WE4      # )N_is_internal_proxy)ObjectAssociationProxyInstancegetattrhasattrrW  _impl_uses_objectsColumnAssociationProxyInstance)rZ  r\  r   rF  rG  r   rT   	is_objects   &&&&&&  r_   rU  -AssociationProxyInstance._construct_for_assoc  s~     #1l  |0t1224l  ++	1l  2l ra   c                   V ^8  d   QhRR/# )rQ   r\   zMapperProperty[Any]r]   )r^   s   "r_   r`   rH    s     
 
2 
ra   c                	t    \         P                  ! V P                  4      P                  V P                  4      # rt   )r!   rO  rF  rP  rR   r   s   &r_   _get_property&AssociationProxyInstance._get_property  s/     1 12??""
 	
ra   c                   V ^8  d   QhRR/# )rQ   r\   zPropComparator[Any]r]   )r^   s   "r_   r`   rH    s      0 ra   c                	V    \        V P                  V P                  4      P                  # rt   )rd  rF  rR   
comparatorr   s   &r_   _comparator$AssociationProxyInstance._comparator  s%    t55

*	ra   c                   V ^8  d   QhRR/# rQ   r\   r   r]   )r^   s   "r_   r`   rH    s     
 
H 
ra   c                	    \        R 4      h)zqThe association proxy can't be used as a plain column expression; it only works inside of a comparison expressionrS  r   s   &r_   __clause_element__+AssociationProxyInstance.__clause_element__  s    !J
 	
ra   c               $    V ^8  d   QhRRRRRR/# )rQ   rG  r   r   rS   r\   r`  r]   )r^   s   "r_   r`   rH    s$      ,/	/ra   c                	|    \        W4      p\        V\        4      '       d   Q h\        V\        4      '       d   V# R # rt   )rd  rQ  rd   r  )rZ  rG  r   rT   s   &&& r_   rT  7AssociationProxyInstance._cls_unwrap_target_assoc_proxy  s8     |0d$45555d455Kra   c                   V ^8  d   QhRR/# )rQ   r\   r`  r]   )r^   s   "r_   r`   rH    s     
 
	/
ra   c                	N    V P                  V P                  V P                  4      # rt   )rT  rG  r   r   s   &r_   _unwrap_target_assoc_proxy3AssociationProxyInstance._unwrap_target_assoc_proxy  s&     22t
 	
ra   c                   V ^8  d   QhRR/# )rQ   r\   SQLORMOperations[_T]r]   )r^   s   "r_   r`   rH    s     
 
1 
ra   c                V    \        R\        V P                  V P                  4      4      # )zThe 'remote' class attribute referenced by this
:class:`.AssociationProxyInstance`.

.. seealso::

    :attr:`.AssociationProxyInstance.attr`

    :attr:`.AssociationProxyInstance.local_attr`

r  )r   rd  rG  r   r   s   &r_   remote_attr$AssociationProxyInstance.remote_attr  s'     "GD,=,=t$O
 	
ra   c                   V ^8  d   QhRR/# )rQ   r\   SQLORMOperations[Any]r]   )r^   s   "r_   r`   rH    s     
 
1 
ra   c                V    \        R\        V P                  V P                  4      4      # )zThe 'local' class attribute referenced by this
:class:`.AssociationProxyInstance`.

.. seealso::

    :attr:`.AssociationProxyInstance.attr`

    :attr:`.AssociationProxyInstance.remote_attr`

r  )r   rd  rF  rR   r   s   &r_   
local_attr#AssociationProxyInstance.local_attr  s*     #D%%t'='=>
 	
ra   c                   V ^8  d   QhRR/# )rQ   r\   z2Tuple[SQLORMOperations[Any], SQLORMOperations[_T]]r]   )r^   s   "r_   r`   rH    s     3 3H 3ra   c                2    V P                   V P                  3# )aD  Return a tuple of ``(local_attr, remote_attr)``.

This attribute was originally intended to facilitate using the
:meth:`_query.Query.join` method to join across the two relationships
at once, however this makes use of a deprecated calling style.

To use :meth:`_sql.select.join` or :meth:`_orm.Query.join` with
an association proxy, the current method is to make use of the
:attr:`.AssociationProxyInstance.local_attr` and
:attr:`.AssociationProxyInstance.remote_attr` attributes separately::

    stmt = (
        select(Parent)
        .join(Parent.proxied.local_attr)
        .join(Parent.proxied.remote_attr)
    )

A future release may seek to provide a more succinct join pattern
for association proxy attributes.

.. seealso::

    :attr:`.AssociationProxyInstance.local_attr`

    :attr:`.AssociationProxyInstance.remote_attr`

)r  r  r   s   &r_   rT   AssociationProxyInstance.attr  s    : !1!122ra   c                   V ^8  d   QhRR/# rQ   r\   rZ   r]   )r^   s   "r_   r`   rH  -  s       ra   c                t    V P                  4       P                  '       * pV'       d   V P                  4        V# )zkReturn ``True`` if this :class:`.AssociationProxyInstance`
proxies a scalar relationship on the local side.)rl  uselist_initialize_scalar_accessors)ru   scalars   & r_   r  AssociationProxyInstance.scalar,  s/    
 '')111--/ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   rH  7  s     
 
$ 
ra   c                	    V P                  4       P                  P                  V P                  4      P                  '       * # rt   )rl  r  rP  r   r  r   s   &r_   _value_is_scalar)AssociationProxyInstance._value_is_scalar6  s1     ""$VLL1W	
ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   rH  ?  s     $ $4 $ra   c                	    \        4       hrt   rv  r   s   &r_   _target_is_object*AssociationProxyInstance._target_is_object>  s    !##ra   z_GetterProtocol[_T]_scalar_get_PlainSetterProtocol[_T]_scalar_setc                   V ^8  d   QhRR/# rQ   r\   r   r]   )r^   s   "r_   r`   rH  E  s     
 
d 
ra   c                	    V P                   P                  '       d    V P                   P                  R V 4      w  rMV P                   P                  R 4      w  rV\        RV4      uV n        V n        R # )Nr  )r   rB   r   r   r  r  )ru   r   set_s   &  r_   r  5AssociationProxyInstance._initialize_scalar_accessorsE  s^    ;;%%%224>IC33D9IC-0$&3
*$*ra   c                    V ^8  d   QhRRRR/# r   r]   )r^   s   "r_   r`   rH  N  s     ( ( #(	5(ra   c                	   aa V P                   o\        P                  ! S4      oR  V3R llpV\        J d   R V3R llpW#3# R V3R llpW$3# )c                    V ^8  d   QhRRRR/# )rQ   rq   r   r\   zOptional[_T]r]   )r^   s   "r_   r`   >AssociationProxyInstance._default_getset.<locals>.__annotate__T  s     	G 	GS 	G\ 	Gra   c                    < V e	   S! V 4      # R # rt   r]   r  s   &r_   r!  8AssociationProxyInstance._default_getset.<locals>.getterT  r#  ra   c               (    V ^8  d   QhRRRRRRRR/# )rQ   rq   r   r%  r   r8   r\   r   r]   )r^   s   "r_   r`   r  Y  s(     / /c /c /" / /ra   c                "   < \        V SV4       R # rt   r'  r(  s   &&&r_   r)  =AssociationProxyInstance._default_getset.<locals>.dict_setterY  r+  ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r-  r   r.  r8   r\   r   r]   )r^   s   "r_   r`   r  _  s!     $ $ $ $t $ra   c                "   < \        V SV4       R # rt   r'  r0  s   &&r_   r1  >AssociationProxyInstance._default_getset.<locals>.plain_setter_  r3  ra   r4  r8  s   &&   @@r_   r   (AssociationProxyInstance._default_getsetN  s^     %%d+	G 	G t#/ / &&$ $ ''ra   c                   V ^8  d   QhRR/# r   r]   )r^   s   "r_   r`   rH  e  s        i  ra   c                	.    V P                   P                  # rt   )r   rE   r   s   &r_   rE   AssociationProxyInstance.infod  s    {{ra   c               $    V ^8  d   QhRRRRRR/# )rQ   ru   rB  r   r   r\   r]   )r^   s   "r_   r`   rH  i  s    ::%:m::ra   c                	    R # rt   r]   ru   r   s   &&r_   r   AssociationProxyInstance.geth  s    7:ra   c                    V ^8  d   QhRRRR/# )rQ   r   r   r\   r8   r]   )r^   s   "r_   r`   rH  l  s    &&s&r&ra   c                	    R # rt   r]   r  s   &&r_   r   r  k  s    #&ra   c                    V ^8  d   QhRRRR/# )rQ   r   r   r\   z1Union[Optional[_T], AssociationProxyInstance[_T]]r]   )r^   s   "r_   r`   rH  n  s      	:ra   c                	   Vf   V # V P                   '       d'   \        WP                  4      pV P                  V4      #  \	        R\        WP
                  4      4      w  r4p\        V4      V8X  d#   \        V 4      V8X  d   V P                  f   Q hV# T P                  \        YP                  4      4      w  T n        p\        YP
                  \        T4      \        T 4      T34       T#   \         d     Lfi ; i)NzTuple[int, int, _T])r  rd  rR   r  r   r   r   r   rV  _new_lazy_collectionr  )ru   r   target
creator_idself_idr   s   &&    r_   r   r  n  s     ;K ;;;S"8"89F##F++! .2)73+A.*
U c7j(RX-@00<<< L+/99 &<&<=,(D!5 CBsGRXu#=>L " s    "C- -C;:C;c               $    V ^8  d   QhRRRRRR/# )rQ   r   r   r   r8   r\   r   r]   )r^   s   "r_   r`   rH    s!     2 2s 2B 24 2ra   c                	x   V P                   '       d   \        R V P                  P                  '       d   V P                  P                  MV P                  4      p\        WP                  4      pVfA   Vf   V P                  P                  '       g   R# \        WP                  V! V4      4       R# V P                  WB4       Vf7   V P                  P                  '       d   \        WP                  R4       R# R# R# V P                  V4      pV P                  f   Q hWRJd   VP                  W4       R# R# )_PlainCreatorProtocol[_T]N)r  r   r   rA   rG  rd  rR   rG   r  r  rF   r   r   _bulk_replace)ru   r   r   rA   r  r   s   &&&   r_   r   AssociationProxyInstance.set  s    ;;;+ {{*** KK''**G S"8"89F~N KKAAA33WV_E  0>dkk&H&H&HC!7!7> 'I> HHSME((444"##D1 #ra   c                    V ^8  d   QhRRRR/# )rQ   r   r   r\   r   r]   )r^   s   "r_   r`   rH    s     - -# -$ -ra   c                	    V P                   f   V P                  VR 4       V P                  '       d/   \        WP                  4      pVe   \        W P                  4       \        WP                  4       R # rt   )rF  r  r  rd  rR   delattrr   ru   r   r  s   && r_   r   AssociationProxyInstance.delete  sW    $S$';;;S"8"89F!0++,ra   c                    V ^8  d   QhRRRR/# )rQ   r   z_LazyCollectionProtocol[_T]r\   zTuple[Type[Any], _T]r]   )r^   s   "r_   r`   rH    s      @ @:@	@ra   c                	   V P                   P                  e   V P                   P                  M\        RV P                  4      p\        P
                  ! V! 4       4      pVf   \        P                  ! RV 24      hV P                   P                  '       d*   VV P                   P                  WV P                  V 4      3# V P                   P                  '       d   V P                   P                  W04      w  rEMV P                   P                  V4      w  rEV\        J d   V\        \        \        WWEV 4      4      3# V\        J d   V\        \        \!        WWEV 4      4      3# V\"        J d   V\        \        \%        WWEV 4      4      3# \        P&                  ! RV P(                  : RV P*                  : R24      h)Nr   zDlazy collection factory did not return a valid collection type, got z=could not guess which interface to use for collection_class "z" backing "z6"; specify a proxy_factory and proxy_bulk_set manually)r   rA   r   rG  r"   duck_type_collectionr   rY  rC   r   rB   r   listr8   _AssociationListr7  _AssociationDictr   _AssociationSetr   r   rR   )ru   r   rA   r   r!  setters   &&    r_   r  AssociationProxyInstance._new  s   
 {{"". KK($*;*;< 	
  44_5FG#))..>-?A  ;;$$$ ))#doot  ;;%%%![[778HONFF![[889IJNFt# $'&$  % $'&$  $ #'&$  ## (($*@*@B ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r   r   r   r   r\   r   r]   )r^   s   "r_   r`   rH    s$      0:G	ra   c                	   V P                   P                  '       d   V P                   P                  W4       R# V P                  \        J d   \	        R V4      P                  V4       R# V P                  \        J d   \	        RV4      P                  V4       R# V P                  \        J d   \	        RV4      P                  V4       R# \        P                  ! R4      h)z_AssociationList[Any]z_AssociationDict[Any, Any]z_AssociationSet[Any]zEno proxy_bulk_set supplied for custom collection_class implementationN)r   rD   r   r  r   extendr7  updater   r   r   )ru   r   r   s   &&&r_   _setAssociationProxyInstance._set  s     ;;%%%KK&&u5""d*(%077?""d*-u5<<VD""c)'/66v>##2 ra   c                    V ^8  d   QhRRRR/# )rQ   r   r   r\   r   r]   )r^   s   "r_   r`   rH    s      9 d ra   c                	   V P                   P                  ;'       d    V P                   P                  ;'       g    \        \        V P                  4      pV P                   P
                  '       d*   V P                   P                  V P                  V 4      w  r4M'V P                   P                  V P                  4      w  r4W!n        W1n        WAn	        R # rt   )
r   rA   r   r   rG  rB   r   r   r!  r  )ru   r   rA   r!  r  s   &&   r_   _inflate!AssociationProxyInstance._inflate  s    KK $ $##9 9$d&7&78 	 ;;%%%![[77%%tNFF "[[889N9NONFra   Nc               $    V ^8  d   QhRRRRRR/# rQ   	criterion)Optional[_ColumnExpressionArgument[bool]]kwargsr   r\   ColumnElement[bool]r]   )r^   s   "r_   r`   rH    s(     > ><> > 
	>ra   c                	   VP                  R R4      pV P                  pVe0   VP                  ! RRV/VB pV P                  P                  V4      # V P                  '       d?   \        V P                  V P                  4      pVP                  P                  ! V3/ VB pMBV'       d   \        P                  ! R4      hV'       d   Ve   \        P                  ! R4      hTpV P                  P                  V4      # )is_hasNr  zJCan't apply keyword arguments to column-targeted association proxy; use ==zINon-empty has() not allowed for column-targeted association proxy; use ==r]   )popr~  _criterion_existsrq  r  rd  rG  r   rp  r   r   )ru   r  r  r  r\  innerrT   
value_exprs   &&,     r_   r  *AssociationProxyInstance._criterion_exists  s    
 Hd+66# 22 #'-E ##55e<<!!!4,,doo>D::9OOJ''0  I1''@ 
 #J11*==ra   c               $    V ^8  d   QhRRRRRR/# r  r]   )r^   s   "r_   r`   rH  9  (     
 
<
 
 
	
ra   c                    V P                   fM   V P                  '       d;   V P                  '       d   V P                  '       d   \        P
                  ! R4      hV P                  ! RRVRR/VB # )zProduce a proxied 'any' expression using EXISTS.

This expression will be a composed product
using the :meth:`.Relationship.Comparator.any`
and/or :meth:`.Relationship.Comparator.has`
operators of the underlying proxied attributes.

z9'any()' not implemented for scalar attributes. Use has().r  r  Fr]   r~  r  r  r  r   rY  r  ru   r  r  s   &&,r_   anyAssociationProxyInstance.any9  ss     **2KKK+++t/D/D/D))K  %% 

(-
17
 	
ra   c               $    V ^8  d   QhRRRRRR/# r  r]   )r^   s   "r_   r`   rH  Q  r  ra   c                    V P                   fM   V P                  '       d%   V P                  '       d)   V P                  '       g   \        P
                  ! R4      hV P                  ! RRVRR/VB # )zProduce a proxied 'has' expression using EXISTS.

This expression will be a composed product
using the :meth:`.Relationship.Comparator.any`
and/or :meth:`.Relationship.Comparator.has`
operators of the underlying proxied attributes.

z3'has()' not implemented for collections. Use any().r  r  Tr]   r  r  s   &&,r_   hasAssociationProxyInstance.hasQ  ss     **2&&&t/D/D/D))E  %% 

(,
06
 	
ra   c                   V ^8  d   QhRR/# r;  r]   )r^   s   "r_   r`   rH  i  s     A A# Ara   c                	R    V P                   P                  : R V P                  : R2# )(r=  )	__class__ri   r   r   s   &r_   r>  !AssociationProxyInstance.__repr__i  s    >>22DKK@@ra   )	r  r  r   r   rF  r   rG  rR   r   rt   )(ri   rj   rk   rl   r   r   r   classmethodr  rU  rl  propertyrq  rw  rT  r"   memoized_propertyr~  r  r  rT   r  r  r  r  r   ro_non_memoized_propertyrE   r   r   r   r   r  r  r  r  r  r  r>  rm   r]   ra   r_   r  r  D  s   : *)))%  , ,\  8

  

   

 
 
 
 
 
  3 3< 
  

 
 $ $ %$))
(, 
""  #  : :& &>28-@D"$>B
0
0A Ara   r  c                     a  ] tR tRtRtRtR R ltR V 3R lltR R	 ltR
 R lt	RR R llt
RR R llt]P                  R R l4       tR R ltR R ltRtV ;t# )rW  im  z[an :class:`.AssociationProxyInstance` where we cannot determine
the type of target object.
Fc                   V ^8  d   QhRR/# rt  r]   )r^   s   "r_   r`   .AmbiguousAssociationProxyInstance.__annotate__t  s     
 
H 
ra   c                	    \        R V P                  P                  : RV P                  : RV P                  : RV P
                  : R2	4      h)zAssociation proxy rN  z refers to an attribute 'z'' that is not directly mapped on class ze; therefore this operation cannot proceed since we don't know what type of object is referred towards)rV  rF  ri   rR   r   rG  r   s   &r_   
_ambiguous,AmbiguousAssociationProxyInstance._ambiguoust  s>     !!**&&!!	
 	
ra   c                    V ^8  d   QhRRRR/# )rQ   r   r   r\   r]   )r^   s   "r_   r`   r    s     $ $s $s $ra   c                	.   < Vf   V # \         SV `  V4      # rt   )superr   )ru   r   r  s   &&r_   r   %AmbiguousAssociationProxyInstance.get  s    ;K7;s##ra   c                    V ^8  d   QhRRRR/# rQ   r   r   r\   r   r]   )r^   s   "r_   r`   r          & X ra   c                	&    V P                  4        R # rt   r  r  s   &&r_   __eq__(AmbiguousAssociationProxyInstance.__eq__      ra   c                    V ^8  d   QhRRRR/# r
  r]   )r^   s   "r_   r`   r    r  ra   c                	&    V P                  4        R # rt   r  r  s   &&r_   __ne__(AmbiguousAssociationProxyInstance.__ne__  r  ra   c               $    V ^8  d   QhRRRRRR/# rQ   r  r  r  r   r\   r   r]   )r^   s   "r_   r`   r    (      <  
	ra   c                	&    V P                  4        R # rt   r  r  s   &&,r_   r  %AmbiguousAssociationProxyInstance.any      
 	ra   c               $    V ^8  d   QhRRRRRR/# r  r]   )r^   s   "r_   r`   r    r  ra   c                	&    V P                  4        R # rt   r  r  s   &&,r_   r  %AmbiguousAssociationProxyInstance.has  r  ra   c                   V ^8  d   QhRR/# )rQ   r\   z-Dict[Type[Any], AssociationProxyInstance[_T]]r]   )r^   s   "r_   r`   r    s      L ra   c                	    / # rt   r]   r   s   &r_   _lookup_cache/AmbiguousAssociationProxyInstance._lookup_cache  s	    
 	ra   c                    V ^8  d   QhRRRR/# )rQ   rL  r   r\   r   r]   )r^   s   "r_   r`   r    s      "	%ra   c                	N   Ves   \        WP                  4      pVeZ    \        V4      pVP                  pVP                  pWPP
                  9  d   V P                  WT4        V P
                  V,          # V #   \         d     T # i ; i  \        P                   d     T # i ; irt   )
rd  rR   r    r  r   r   _populate_cacher
  r   r  )ru   rL  
actual_objr  r  instance_classs   &&    r_   r  ?AmbiguousAssociationProxyInstance._non_canonical_get_for_object  s     & 2H2HIJ%":.D "[[F%+]]N%-?-??,,^D#11.AA  $   00  s#   B $A9 9BBB$#B$c               $    V ^8  d   QhRRRRRR/# )rQ   r&  r   r  zMapper[Any]r\   r   r]   )r^   s   "r_   r`   r    s$      !+6	ra   c                	   \         P                  ! V P                  4      P                  V P                  4      pVP                  VP                  4      '       dk   Tp V P                  W@P                  4      pV P                  \        R V4      V P                  V P                  VV P                  4      V P                  V&   R# R#   \         d     R# i ; i)r   N)r!   rO  rF  rP  rR   isar  rT  r   rU  r   r   r   rV  )ru   r&  r  r[  rG  r\  s   &&&   r_   r$  1AmbiguousAssociationProxyInstance._populate_cache  s      1 12??""
 ::dkk"")L#BB //  6:5N5N7FKK%% OO6"">2 # " s   C CCr]   rt   )ri   rj   rk   rl   r   r  r  r   r  r  r  r  r"   r  r   r  r$  rm   __classcell__)r  s   @r_   rW  rW  m  s[     M
$ $ 
 2 ra   rW  c                  R    ] tR tRt$ RtRtR]R&   RtR R ltR R	 lt	R
 R lt
RtR# )rc  i  zEan :class:`.AssociationProxyInstance` that has an object as a target.TrZ   r  c               $    V ^8  d   QhRRRRRR/# )rQ   otherr   kwr\   r  r]   )r^   s   "r_   r`   +ObjectAssociationProxyInstance.__annotate__  s"        c    1D  ra   c                   V P                   pVeE   V P                  P                  VP                  '       g   VP	                  V4      4      # W18H  4      # V P
                  '       dm   V P                  '       d[   V P                  '       gI   V P                  P                  \        V P                  V P                  4      P	                  V4      4      # V P
                  '       d;   V P                  '       d)   V P                  '       d   \        P                  ! R4      hV P                  P                  ! R/ V P                  V/B # )a  Produce a proxied 'contains' expression using EXISTS.

This expression will be a composed product
using the :meth:`.Relationship.Comparator.any`,
:meth:`.Relationship.Comparator.has`,
and/or :meth:`.Relationship.Comparator.contains`
operators of the underlying proxied attributes.
z<contains() doesn't apply to a scalar object endpoint; use ==r]   )r~  rq  r  r  containsr  r  r  rd  rG  r   r   rY  )ru   r/  r0  r\  s   &&, r_   r3  'ObjectAssociationProxyInstance.contains  s    66###55#*** %%e,  "*  """)))##''))4??;DDUK  ###8M8M8M))N  ##55 ??E* ra   c                    V ^8  d   QhRRRR/# rQ   r   r   r\   r  r]   )r^   s   "r_   r`   r1    s     	B 	B# 	B"5 	Bra   c                	    Vf@   \        V P                  P                  ! R/ V P                  V/B V P                  R 8H  4      # V P                  P                  ! R/ V P                  V/B # Nr]   )r,   rq  r  r   r  s   &&r_   r  %ObjectAssociationProxyInstance.__eq__  si     ;  $$>'=>  D( 
 ##''A4??C*@AAra   c                    V ^8  d   QhRRRR/# r6  r]   )r^   s   "r_   r`   r1    s     
 
# 
"5 
ra   c                	z    V P                   P                  \        V P                  V P                  4      V8g  4      # rt   )rq  r  rd  rG  r   r  s   &&r_   r  %ObjectAssociationProxyInstance.__ne__  s6     ##D%%t73>
 	
ra   r]   N)ri   rj   rk   rl   r   r  r   r  r3  r  r  rm   r]   ra   r_   rc  rc    s+    O"t"M D	B
 
ra   rc  c                  F    ] tR tRt$ RtRtR]R&   RtR R ltR	 R
 lt	Rt
R# )rg  i  zNan :class:`.AssociationProxyInstance` that has a database column as a
target.
FrZ   r  Tc                    V ^8  d   QhRRRR/# )rQ   r/  r   r\   r  r]   )r^   s   "r_   r`   +ColumnAssociationProxyInstance.__annotate__  s      C $7 ra   c                	    V P                  V P                  P                  \        P                  V4      4      pVf   \        W P                  R 8H  4      # V# rt   )r  r  operater+   eqr,   rq  )ru   r/  exprs   && r_   r  %ColumnAssociationProxyInstance.__eq__  sN    %%$$Y\\59
 =t--566Kra   c               (    V ^8  d   QhRRRRRRRR/# )rQ   opzoperators.OperatorTyper/  r   r  r\   zColumnElement[Any]r]   )r^   s   "r_   r`   r?  "  s,     
 
(
25
AD
	
ra   c                	`    V P                  V P                  P                  ! V.VO5/ VB 4      # rt   )r  r  rA  )ru   rF  r/  r  s   &&*,r_   rA  &ColumnAssociationProxyInstance.operate"  s5     %%$$R:%:6:
 	
ra   r]   N)ri   rj   rk   rl   r   r  r   r  r  rA  rm   r]   ra   r_   rg  rg    s(     $t#M
 
ra   rg  c                  F    ] tR tRtR R ltR R ltR R ltR R	 ltR
tR# )r  i*  c                    V ^8  d   QhRRRR/# )rQ   r   r   r  rS   r]   )r^   s   "r_   r`   _lazy_collection.__annotate__+  s      C  ra   c                	    Wn         W n        R # rt   r   r  r  s   &&&r_   r   _lazy_collection.__init__+  s    ra   c                   V ^8  d   QhRR/# r   r]   )r^   s   "r_   r`   rK  /  s     1 1	L1ra   c                	B    \        V P                  V P                  4      # rt   )rd  r   r  r   s   &r_   rv   _lazy_collection.__call__/  s     t{{DKK00ra   c                   V ^8  d   QhRR/# rQ   r\   r   r]   )r^   s   "r_   r`   rK  4  s     ; ;c ;ra   c                	6    R V P                   RV P                  /# )r   r  rM  r   s   &r_   __getstate___lazy_collection.__getstate__4  s    t{{Hdkk::ra   c                    V ^8  d   QhRRRR/# rQ   stater   r\   r   r]   )r^   s   "r_   r`   rK  7  s     & &# &$ &ra   c                	>    VR ,          V n         VR,          V n        R# )r   r  NrM  ru   rY  s   &&r_   __setstate___lazy_collection.__setstate__7  s    ElHora   rM  N)	ri   rj   rk   rl   r   rv   rU  r\  rm   r]   ra   r_   r  r  *  s    1
;& &ra   r  _ITr   c                     a  ] tR tRt0 o $ R]R&    R]R&    R]R&   R]R	&    R
]R&    R R lt]P                  '       d   R]R&   M	]! R 4      t	R R lt
R R ltR R ltR R ltR R ltRtR# )_AssociationCollectioniF  _GetterProtocol[_IT]r!  r   rA   AssociationProxyInstance[_IT]r   rz   r  _LazyCollectionProtocol[_IT]r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rQ   r   rc  rA   r   r!  ra  r  rz   r   rb  r]   )r^   s   "r_   r`   #_AssociationCollection.__annotate__]  s<      5 " %	
   .ra   c                B    Wn         W n        W0n        W@n        WPn        R# )zConstructs an _AssociationCollection.

This will always be a subclass of either _AssociationList,
_AssociationSet, or _AssociationDict.

N)r   rA   r!  r  r   )ru   r   rA   r!  r  r   s   &&&&&&r_   r   _AssociationCollection.__init__]  s      /ra   zCollection[_IT]colc                	"    V P                  4       # rt   )r   r   s   &r_   <lambda>_AssociationCollection.<lambda>t  s    D$8$8$:ra   c                   V ^8  d   QhRR/# rQ   r\   intr]   )r^   s   "r_   r`   re  v         ra   c                	,    \        V P                  4      # rt   lenrh  r   s   &r_   __len___AssociationCollection.__len__v      488}ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   re  y  s      $ ra   c                	,    \        V P                  4      # rt   )rZ   rh  r   s   &r_   __bool___AssociationCollection.__bool__y  s    DHH~ra   c                   V ^8  d   QhRR/# rS  r]   )r^   s   "r_   r`   re  |  s     P Pc Pra   c                	6    R V P                   RV P                  /# r   r   r|  r   s   &r_   rU  #_AssociationCollection.__getstate__|  s    $++'8$:N:NOOra   c                    V ^8  d   QhRRRR/# rX  r]   )r^   s   "r_   r`   re    s     # ## #$ #ra   c                	t    VR ,          V n         VR,          V n        V P                   P                  V 4       R# )r   r   N)r   r   r  r[  s   &&r_   r\  #_AssociationCollection.__setstate__  s-    Ho$%67T"ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   re    s     $ $t $ra   c                	    \        4       hrt   rv  r   s   &r_   clear_AssociationCollection.clear  s    !##ra   )rA   r!  r   r   r  N)ri   rj   rk   rl   r   r   typingTYPE_CHECKINGr  rh  rs  rx  rU  r\  r  rm   )__conditional_annotations__s   @r_   r`  r`  F  s}       F *) 21F( :;P#
$ $ra   r`  c                  P    ] tR tRt$ R]R&   R]R&   R R ltR R	 ltR
 R ltRtR# )_AssociationSingleItemi  r  r  r  rA   c                    V ^8  d   QhRRRR/# )rQ   r   r8   r\   r   r]   )r^   s   "r_   r`   #_AssociationSingleItem.__annotate__  s     # #R #C #ra   c                	$    V P                  V4      # rt   rA   r   s   &&r_   _create_AssociationSingleItem._create  s    ||E""ra   c                    V ^8  d   QhRRRR/# )rQ   object_r   r\   r8   r]   )r^   s   "r_   r`   r    s     $ $C $B $ra   c                	$    V P                  V4      # rt   r!  ru   r  s   &&r_   _get_AssociationSingleItem._get      {{7##ra   c               $    V ^8  d   QhRRRRRR/# )rQ   assoc_proxyr   r   zIterable[_IT]r\   r   r]   )r^   s   "r_   r`   r    s$     ' '8'BO'	'ra   c                	H    V P                  4        VP                  W4       R # rt   )r  r  )ru   r  r   s   &&&r_   r  $_AssociationSingleItem._bulk_replace  s     	

&ra   r]   N)	ri   rj   rk   rl   r   r  r  r  rm   r]   ra   r_   r  r    s"    $$&&#$' 'ra   r  c                     ] tR tRt$ RtR]R&   R R lt]R R l4       t]R	 R
 l4       tR R lt]R R l4       t	]R R l4       t	R R lt	]R R l4       t
]R R l4       t
R R lt
R R ltR R ltR R ltR R  ltR! R" ltR# R$ ltRSR% R& lltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3 R4 ltR5 R6 ltR7 R8 ltR9 R: ltR; R< ltR= R> ltR? R@ ltRA RB ltRC RD lt RE RF lt!]"PF                  '       d
   RTRG RH llt$MRI RJ lt$RK RL lt%RM RN lt&RO RP lt']"PF                  '       g   ](! ])! 4       PU                  4       4       Ff  w  t+t,]-! ],4      '       g   K  ],P                   ]+8X  g   K)  ],P                  '       d   K=  ].! ](]+4      '       g   KN  ]/! ](]+4      P                  ],n        Kh  	  A+A,RQt0RR# RQt0RR# )Ur  i  z(Generic, converting, list-to-list proxy.MutableSequence[_T]rh  c               $    V ^8  d   QhRRRRRR/# )rQ   r  r   r   r8   r\   r   r]   )r^   s   "r_   r`   _AssociationList.__annotate__  s!     $ $C $ $t $ra   c                	(    V P                  W4       R # rt   r  )ru   r  r   s   &&&r_   r  _AssociationList._set  s    G#ra   c                    V ^8  d   QhRRRR/# rQ   indexrn  r\   r8   r]   )r^   s   "r_   r`   r    s    0000ra   c                	    R # rt   r]   ru   r  s   &&r_   __getitem___AssociationList.__getitem__      -0ra   c                    V ^8  d   QhRRRR/# )rQ   r  slicer\   r  r]   )r^   s   "r_   r`   r    s    CCC+>Cra   c                	    R # rt   r]   r  s   &&r_   r  r    s    @Cra   c                    V ^8  d   QhRRRR/# )rQ   r  Union[int, slice]r\   zUnion[_T, MutableSequence[_T]]r]   )r^   s   "r_   r`   r    s      E E&E	'Era   c                	    \        V\        4      '       g#   V P                  V P                  V,          4      # V P                  V,           Uu. uF  q P                  V4      NK  	  up# u upi rt   )rQ  r  r  rh  )ru   r  members   && r_   r  r    sO     %''99TXXe_--48HHUODO&IIf%ODDDs   A*c               $    V ^8  d   QhRRRRRR/# rQ   r  rn  r   r8   r\   r   r]   )r^   s   "r_   r`   r    s    ===R=D=ra   c                	    R # rt   r]   ru   r  r   s   &&&r_   __setitem___AssociationList.__setitem__  s    :=ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r  r  r   Iterable[_T]r\   r   r]   )r^   s   "r_   r`   r    s    III|IIra   c                	    R # rt   r]   r  s   &&&r_   r  r    s    FIra   c               $    V ^8  d   QhRRRRRR/# )rQ   r  r  r   zUnion[_T, Iterable[_T]]r\   r   r]   )r^   s   "r_   r`   r    s$     "1 "1&"1/F"1	"1ra   c                	T   \        V\        4      '       g0   V P                  V P                  V,          \	        R V4      4       R# VP
                  f   \        V 4      pM:VP
                  ^ 8  d   \        V 4      VP
                  ,           pMVP
                  pVP                  ;'       g    ^pVP                  ;'       g    ^ p\        \        VP                  ;'       g    ^ W44      4      p\        V4      pV^8X  d3   V F  pW K  	  TpV F  p	V P                  W4       V^,          pK  	  R# \        V4      \        V4      8w  d&   \        R\        V4      : R\        V4      : 24      h\        Wb4       F(  w  rV P                  V P                  V,          V	4       K*  	  R# )r8   Nz#attempt to assign sequence of size z to extended slice of size )rQ  r  r  rh  r   stoprr  stepstartr  rangeinsert
ValueErrorzip)
ru   r  r   r  r  r  rngsized_valueiitems
   &&&       r_   r  r    sD    %''IIdhhuotD%'89zz!4ya4y5::-zz::??DKK$$1EuU[[--At:;Cu+KqyA 'DKK(FA ( {#s3x/$ {+SX7 
  #3GAIIdhhqk40  /ra   c                    V ^8  d   QhRRRR/# )rQ   r  rn  r\   r   r]   )r^   s   "r_   r`   r    s    2222ra   c                	    R # rt   r]   r  s   &&r_   __delitem___AssociationList.__delitem__  s    /2ra   c                    V ^8  d   QhRRRR/# )rQ   r  r  r\   r   r]   )r^   s   "r_   r`   r    s    44444ra   c                	    R # rt   r]   r  s   &&r_   r  r    s    14ra   c                    V ^8  d   QhRRRR/# )rQ   r  zUnion[slice, int]r\   r   r]   )r^   s   "r_   r`   r    s      !2 t ra   c                	     V P                   V R # rt   rh  r  s   &&r_   r  r    s    HHUOra   c                    V ^8  d   QhRRRR/# )rQ   r   r   r\   rZ   r]   )r^   s   "r_   r`   r    s      & T ra   c                	^    V P                    F  pV P                  V4      V8X  g   K   R # 	  R# TFrh  r  )ru   r   r  s   && r_   __contains___AssociationList.__contains__  s)    hhFyy E)  ra   c                   V ^8  d   QhRR/# rQ   r\   zIterator[_T]r]   )r^   s   "r_   r`   r    s     
 
, 
ra   c              #  Z   "   V P                    F  pV P                  V4      x  K  	  R# 5i)zIterate over proxied values.

For the actual domain objects, iterate over .col instead or
just use the underlying collection directly from its property
on the parent.
Nr  ru   r  s   & r_   __iter___AssociationList.__iter__  s'      hhF))F##    )+c                    V ^8  d   QhRRRR/# rQ   r   r8   r\   r   r]   )r^   s   "r_   r`   r    s      B 4 ra   c                	b    V P                   pV P                  V4      pVP                  V4       R # rt   )rh  r  append)ru   r   rh  r  s   &&  r_   r  _AssociationList.append  s%    hh||E"

4ra   c                    V ^8  d   QhRRRR/# rQ   r   r   r\   rn  r]   )r^   s   "r_   r`   r    s      3 3 ra   c                	>    ^ pV  F  pW18X  g   K  V^,          pK  	  V#     r]   )ru   r   countr.  s   &&  r_   r  _AssociationList.count  s&    Az
  ra   c                    V ^8  d   QhRRRR/# )rQ   r   r  r\   r   r]   )r^   s   "r_   r`   r    s      \ d ra   c                	:    V F  pV P                  V4       K  	  R # rt   )r  )ru   r   r.  s   && r_   r  _AssociationList.extend  s    AKKN ra   c               $    V ^8  d   QhRRRRRR/# r  r]   )r^   s   "r_   r`   r    s!     6 6C 6 6t 6ra   c                	B    V P                  V4      .V P                  W% R # rt   )r  rh  r  s   &&&r_   r  _AssociationList.insert  s    !%e!4 5ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r    s     0 0 0b 0ra   c                	V    V P                  V P                  P                  V4      4      # rt   )r!  rh  r  r  s   &&r_   r  _AssociationList.pop  s    {{488<<.//ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r    s     . .B .4 .ra   c                	l    \        V 4       F  w  r#W18X  g   K  V P                  V  R # 	  \        R4      h)Nzvalue not in list)	enumeraterh  r  )ru   r   r  vals   &&  r_   remove_AssociationList.remove  s3    oFA|HHQK & ,--ra   c                   V ^8  d   QhRR/# rt  r]   )r^   s   "r_   r`   r    s     $ $ $ra   c                    \        4       h)z#Not supported, use reversed(mylist)rv  r   s   &r_   reverse_AssociationList.reverse       "##ra   c                   V ^8  d   QhRR/# rt  r]   )r^   s   "r_   r`   r    s     $ $h $ra   c                    \        4       h)z!Not supported, use sorted(mylist)rv  r   s   &r_   sort_AssociationList.sort  r  ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   r    s     ( (t (ra   c                	J    V P                   ^ \        V P                   4      1 R# )r  N)rh  rr  r   s   &r_   r  _AssociationList.clear  s    HHQTXX&'ra   c                    V ^8  d   QhRRRR/# rQ   r/  r   r\   rZ   r]   )r^   s   "r_   r`   r         # #F #t #ra   c                	    \        V 4      V8H  # rt   r  ru   r/  s   &&r_   r  _AssociationList.__eq__      DzU""ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r  "  r  ra   c                	    \        V 4      V8g  # rt   r	  r
  s   &&r_   r  _AssociationList.__ne__"  r  ra   c                    V ^8  d   QhRRRR/# rQ   r/  List[_T]r\   rZ   r]   )r^   s   "r_   r`   r  %       " "H " "ra   c                	    \        V 4      V8  # rt   r	  r
  s   &&r_   __lt___AssociationList.__lt__%      DzE!!ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r  (       # #H # #ra   c                	    \        V 4      V8*  # rt   r	  r
  s   &&r_   __le___AssociationList.__le__(  r  ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r  +  r  ra   c                	    \        V 4      V8  # rt   r	  r
  s   &&r_   __gt___AssociationList.__gt__+  r  ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r  .  r  ra   c                	    \        V 4      V8  # rt   r	  r
  s   &&r_   __ge___AssociationList.__ge__.  r  ra   c                    V ^8  d   QhRRRR/# rQ   r/  r  r\   r]   )r^   s   "r_   r`   r  1  s     " "X "( "ra   c                	l     \        V4      p\        T 4      T,           #   \         d
    \        u # i ; irt   r  	TypeErrorNotImplementedr
  s   &&r_   __add___AssociationList.__add__1  s8    	"KE DzE!!  	"!!	"    33c                    V ^8  d   QhRRRR/# r&  r]   )r^   s   "r_   r`   r  8  s     " "h "8 "ra   c                	l     \        V4      pT\        T 4      ,           #   \         d
    \        u # i ; irt   r(  r
  s   &&r_   __radd___AssociationList.__radd__8  s8    	"KE tDz!!  	"!!	"r-  c                    V ^8  d   QhRRRR/# rQ   nr1   r\   r  r]   )r^   s   "r_   r`   r  ?  s       8 ra   c                	^    \        V\        4      '       g   \        # \        V 4      V,          # rt   rQ  rn  r*  r  ru   r4  s   &&r_   __mul___AssociationList.__mul__?  s#    !S!!!!DzA~ra   c                    V ^8  d   QhRRRR/# r3  r]   )r^   s   "r_   r`   r  D  s      - H ra   c                	^    \        V\        4      '       g   \        # V\        V 4      ,          # rt   r6  r7  s   &&r_   __rmul___AssociationList.__rmul__D  s#    !S!!!!4:~ra   c                    V ^8  d   QhRRRR/# )rQ   iterabler  r\   r0   r]   )r^   s   "r_   r`   r  I  s       $ ra   c                	(    V P                  V4       V # rt   )r  )ru   r?  s   &&r_   __iadd___AssociationList.__iadd__I  s    Hra   c                    V ^8  d   QhRRRR/# )rQ   r4  r1   r\   r0   r]   )r^   s   "r_   r`   r  M  s      - D ra   c                	    \        V\        4      '       g   \        4       hV^ 8X  d   V P                  4        V # V^8  d)   V P	                  \        V 4      V^,
          ,          4       V # r  )rQ  rn  rS  r  r  r  r7  s   &&r_   __imul___AssociationList.__imul__M  sX    
 !S!!%''6JJL  UKKT
a!e,-ra   c               (    V ^8  d   QhRRRRRRRR/# )rQ   r   r   r  rn  r  r\   r]   )r^   s   "r_   r`   r  \  s,     	 		%(	69		ra   c                	    R # rt   r]   )ru   r   r  r  s   &&&&r_   r  _AssociationList.index\  s    ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r  b  s     	) 	)s 	)S 	)ra   c                	@    \        V 4      pVP                  ! V.VO5!  # rt   )r  r  )ru   r   arglss   &&* r_   r  rI  b  s    dB88E(C((ra   c                   V ^8  d   QhRR/# )rQ   r\   r  r]   )r^   s   "r_   r`   r  f  s      h ra   c                	    \        V 4      # rt   r	  r   s   &r_   copy_AssociationList.copyf  s    Dzra   c                   V ^8  d   QhRR/# r;  r]   )r^   s   "r_   r`   r  i          #  ra   c                	*    \        \        V 4      4      # rt   )rI   r  r   s   &r_   r>  _AssociationList.__repr__i      DJra   c                   V ^8  d   QhRR/# rt  r]   )r^   s   "r_   r`   r  l       K K( Kra   c                	L    \        R \        V 4      P                  ,          4      hz%s objects are unhashabler)  r   ri   r   s   &r_   __hash___AssociationList.__hash__l      3d4j6I6IIJJra   r]   N))..)1ri   rj   rk   rl   r   r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r#  r+  r0  r8  r<  rA  rE  r  r  r  rP  r>  r\  r  localsitems	func_namefunccallablere  rd  rm   r]   ra   r_   r  r    s   2	$ 0 0C CE = =I I"1H 2 24 4

60.$
$
(##"#"#""

 	 		) K #FHNN$45OItMMY.D),,&tY7??  6 t  ra   r  c                  .   ] tR tRt$ RtR]R&   R]R&   R]R&   R	 R
 ltR R ltR R ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R  lt]R! R" l4       t]R# R$ l4       tRGR& R' lltRGR( R) lltR* R+ ltR, R- ltR. R/ lt]R0 R1 l4       t]RHR2 R3 ll4       tR4 R5 ltR6 R7 lt]R8 R9 l4       t]R: R; l4       t]R< R= l4       tR> R? ltR@ RA ltRB RC ltRD RE lt]P>                  '       g   ] ! ]!! 4       P-                  4       4       Ff  w  t"t#]$! ]#4      '       g   K  ]#P                   ]"8X  g   K)  ]#P                  '       d   K=  ]%! ]&]"4      '       g   KN  ]'! ]&]"4      P                  ]#n        Kh  	  A"A#RFt(R%# RFt(R%# )Ir  i{  z(Generic, converting, dict-to-dict proxy.z_DictSetterProtocol[_VT]r  z_KeyCreatorProtocol[_VT]rA   z"MutableMapping[_KT, Optional[_VT]]rh  c               $    V ^8  d   QhRRRRRR/# )rQ   r   r?   r   Optional[_VT]r\   r   r]   )r^   s   "r_   r`   _AssociationDict.__annotate__  s!     ( (3 (} ( (ra   c                	$    V P                  W4      # rt   r  r   s   &&&r_   r  _AssociationDict._create  s    ||C''ra   c                    V ^8  d   QhRRRR/# )rQ   r  r   r\   r@   r]   )r^   s   "r_   r`   rh    s     $ $C $C $ra   c                	$    V P                  V4      # rt   r  r  s   &&r_   r  _AssociationDict._get  r  ra   c               (    V ^8  d   QhRRRRRRRR/# )	rQ   r  r   r   r?   r   r@   r\   r   r]   )r^   s   "r_   r`   rh    s(     0 0C 0c 0# 0$ 0ra   c                	&    V P                  WV4      # rt   r  )ru   r  r   r   s   &&&&r_   r  _AssociationDict._set  s    {{7//ra   c                    V ^8  d   QhRRRR/# )rQ   r   r?   r\   r@   r]   )r^   s   "r_   r`   rh    s     ( (s (s (ra   c                	F    V P                  V P                  V,          4      # rt   )r  rh  ru   r   s   &&r_   r  _AssociationDict.__getitem__  s    yy#''ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r   r?   r   r@   r\   r   r]   )r^   s   "r_   r`   rh    s!     5 5s 53 54 5ra   c                	    WP                   9   d&   V P                  V P                   V,          W4       R # V P                  W4      V P                   V&   R # rt   )rh  r  r  r   s   &&&r_   r  _AssociationDict.__setitem__  s7    ((?IIdhhsmS0 LL4DHHSMra   c                    V ^8  d   QhRRRR/# )rQ   r   r?   r\   r   r]   )r^   s   "r_   r`   rh    s      s t ra   c                	     V P                   V R # rt   r  rs  s   &&r_   r  _AssociationDict.__delitem__  s    HHSMra   c                    V ^8  d   QhRRRR/# )rQ   r   r   r\   rZ   r]   )r^   s   "r_   r`   rh    s       4 ra   c                	    WP                   9   # rt   r  rs  s   &&r_   r  _AssociationDict.__contains__  s    hhra   c                   V ^8  d   QhRR/# )rQ   r\   zIterator[_KT]r]   )r^   s   "r_   r`   rh    s     % %- %ra   c                	H    \        V P                  P                  4       4      # rt   )iterrh  keysr   s   &r_   r  _AssociationDict.__iter__  s    DHHMMO$$ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   rh          t ra   c                	:    V P                   P                  4        R # rt   rh  r  r   s   &r_   r  _AssociationDict.clear      ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   rh    r  ra   c                	    \        V 4      V8H  # rt   r7  r
  s   &&r_   r  _AssociationDict.__eq__  r  ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   rh    r  ra   c                	    \        V 4      V8g  # rt   r  r
  s   &&r_   r  _AssociationDict.__ne__  r  ra   c                   V ^8  d   QhRR/# r;  r]   )r^   s   "r_   r`   rh    rS  ra   c                	*    \        \        V 4      4      # rt   )rI   r7  r   s   &r_   r>  _AssociationDict.__repr__  rV  ra   c                    V ^8  d   QhRRRR/# )rQ   _AssociationDict__keyr?   r\   rg  r]   )r^   s   "r_   r`   rh    s    3333ra   c                	    R # rt   r]   ru   r  s   &&r_   r   _AssociationDict.get  s    03ra   c               $    V ^8  d   QhRRRRRR/# rQ   r  r?   rJ   Union[_VT, _T]r\   r]   )r^   s   "r_   r`   rh    s    MMM~M.Mra   c                	    R # rt   r]   ru   r  rJ   s   &&&r_   r   r    s    JMra   Nc               $    V ^8  d   QhRRRRRR/# )rQ   r   r?   rJ   zOptional[Union[_VT, _T]]r\   zUnion[_VT, _T, None]r]   )r^   s   "r_   r`   rh    s$      !9	ra   c                	:     W,          #   \          d    Tu # i ; irt   )r
  ru   r   rJ   s   &&&r_   r   r    s#    	9 	N	s   
 c               $    V ^8  d   QhRRRRRR/# )rQ   r   r?   rJ   rg  r\   r@   r]   )r^   s   "r_   r`   rh    s!     
 
c 
M 
S 
ra   c                	r    WP                   9  d!   V P                  W4      V P                   V&   V# W,          # rt   )rh  r  r  s   &&&r_   
setdefault_AssociationDict.setdefault  s1     hh LL6DHHSMN9ra   c                   V ^8  d   QhRR/# )rQ   r\   zKeysView[_KT]r]   )r^   s   "r_   r`   rh    s      m ra   c                	6    V P                   P                  4       # rt   )rh  r  r   s   &r_   r  _AssociationDict.keys  s    xx}}ra   c                   V ^8  d   QhRR/# )rQ   r\   zItemsView[_KT, _VT]r]   )r^   s   "r_   r`   rh    s      * ra   c                	    \        V 4      # rt   r
   r   s   &r_   ra  _AssociationDict.items  s    ra   c                   V ^8  d   QhRR/# )rQ   r\   zValuesView[_VT]r]   )r^   s   "r_   r`   rh    s          ra   c                	    \        V 4      # rt   r   r   s   &r_   r   _AssociationDict.values  s    $ra   c                    V ^8  d   QhRRRR/# )rQ   r  r?   r\   r@   r]   )r^   s   "r_   r`   rh    s    ))))ra   c                	    R # rt   r]   r  s   &&r_   r  _AssociationDict.pop  s    &)ra   c               $    V ^8  d   QhRRRRRR/# r  r]   )r^   s   "r_   r`   rh    s$      #1	ra   c                	    R # rt   r]   r  s   &&&r_   r  r    s     ra   c               (    V ^8  d   QhRRRRRRRR/# )rQ   r  r?   rL  r   r0  r\   r  r]   )r^   s   "r_   r`   rh    s(     ! ! !C !s !~ !ra   c                	d    V P                   P                  ! V.VO5/ VB pV P                  V4      # rt   )rh  r  r  )ru   r  rL  r0  r  s   &&*, r_   r  r    s-    e0c0R0yy  ra   c                   V ^8  d   QhRR/# )rQ   r\   zTuple[_KT, _VT]r]   )r^   s   "r_   r`   rh    s     - - -ra   c                	x    V P                   P                  4       pV^ ,          V P                  V^,          4      3# r  )rh  popitemr  )ru   r  s   & r_   r  _AssociationDict.popitem  s0    xx!Q47+,,ra   c               $    V ^8  d   QhRRRRRR/# )rQ   _AssociationDict__mz SupportsKeysAndGetItem[_KT, _VT]r  r@   r\   r   r]   )r^   s   "r_   r`   rh    s$      3?B	ra   c                	    R # rt   r]   ru   r  r  s   &&,r_   r  _AssociationDict.update  r   ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r  zIterable[tuple[_KT, _VT]]r  r@   r\   r   r]   )r^   s   "r_   r`   rh    s$      ,8;	ra   c                	    R # rt   r]   r  s   &&,r_   r  r    r   ra   c                    V ^8  d   QhRRRR/# )rQ   r  r@   r\   r   r]   )r^   s   "r_   r`   rh    s    00s0t0ra   c                	    R # rt   r]   )ru   r  s   &,r_   r  r    r  ra   c               $    V ^8  d   QhRRRRRR/# )rQ   ar   r0  r\   r   r]   )r^   s   "r_   r`   rh    s!       C D ra   c                	h    / pVP                   ! V/ VB  VP                  4        F	  w  rEWPV&   K  	  R # rt   )r  ra  )ru   r  r0  upr   r   s   &*,   r_   r  r    s1    
		1((*JCI %ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r  r   r   zMapping[_KT, _VT]r\   r   r]   )r^   s   "r_   r`   rh    s(      2 " 
	ra   c                	H   \        V 4      pTP                  T;'       g    R4      p\        T;'       g    R4      P                  V4      pVP                  V4      pVP                  4       ;'       g    R F  w  rxWu9   d   WV&   K  Wt9   g   K  WV&   K  	  V F  pW K  	  R # r8  )r   intersection
differencera  )	ru   r  r   existing	constants	additionsremovalsr   r  s	   &&&      r_   r  _AssociationDict._bulk_replace  s    
 t9))&,,B7	"%00;	&&y1!<<>//R/KC"S	!"S		 0 C	 ra   c                   V ^8  d   QhRR/# )rQ   r\   zDict[_KT, _VT]r]   )r^   s   "r_   r`   rh    s     " "n "ra   c                	4    \        V P                  4       4      # rt   )r7  ra  r   s   &r_   rP  _AssociationDict.copy  s    DJJL!!ra   c                   V ^8  d   QhRR/# rt  r]   )r^   s   "r_   r`   rh    rX  ra   c                	L    \        R \        V 4      P                  ,          4      hrZ  r[  r   s   &r_   r\  _AssociationDict.__hash__  r^  ra   r]   rt   ).))ri   rj   rk   rl   r   r   r  r  r  r  r  r  r  r  r  r  r  r>  r   r   r  r  ra  r   r  r  r  r  rP  r\  r  r  r  r`  rb  rc  rd  re  r7  rd  rm   r]   ra   r_   r  r  {  sx   2$$%%	++($0(5%##  3 3M M
  ) ) !-     0 0&"K #FHNN$45OItMMY.D),,&tY7??  6 t  ra   r  c                  (   ] tR tRt$ RtR]R&   R R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3 R4 ltR5 R6 ltR7 R8 ltR9 R: lt R; R< lt!R= R> lt"R? R@ lt#RA RB lt$RC RD lt%RE RF lt&RG RH lt'RI RJ lt(RK RL lt)RM RN lt*RO RP lt+],PZ                  '       g   ].! ]/! 4       Pa                  4       4       Ff  w  t1t2]3! ]24      '       g   K  ]2P                   ]18X  g   K)  ]2P                  '       d   K=  ]4! ]5]14      '       g   KN  ]6! ]5]14      P                  ]2n        Kh  	  A1A2RQt7RR# RQt7RR# )Sr  i  z&Generic, converting, set-to-set proxy.MutableSet[_T]rh  c                   V ^8  d   QhRR/# rm  r]   )r^   s   "r_   r`   _AssociationSet.__annotate__  ro  ra   c                	,    \        V P                  4      # rt   rq  r   s   &r_   rs  _AssociationSet.__len__  ru  ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   r    s      $ ra   c                	.    V P                   '       d   R # R# r  r  r   s   &r_   rx  _AssociationSet.__bool__  s    888ra   c                    V ^8  d   QhRRRR/# )rQ   _AssociationSet__or   r\   rZ   r]   )r^   s   "r_   r`   r  #  s       4 ra   c                	^    V P                    F  pV P                  V4      V8X  g   K   R # 	  R# r  r  )ru   r  r  s   && r_   r  _AssociationSet.__contains__#  s)    hhFyy C'  ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   r  )  s     	 	, 	ra   c              #  Z   "   V P                    F  pV P                  V4      x  K  	  R# 5i)zIterate over proxied values.

For the actual domain objects, iterate over .col instead or just use
the underlying collection directly from its property on the parent.

Nr  r  s   & r_   r  _AssociationSet.__iter__)  s'      hhF))F## r  c                    V ^8  d   QhRRRR/# rQ   _AssociationSet__elementr8   r\   r   r]   )r^   s   "r_   r`   r  4  s     2 2R 2D 2ra   c                	j    W9  d-   V P                   P                  V P                  V4      4       R # R # rt   )rh  addr  )ru   r  s   &&r_   r  _AssociationSet.add4  s&     HHLLi01 !ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r  :  s        ra   c                	    V P                    F7  pV P                  V4      V8X  g   K  V P                   P                  V4        R # 	  R # rt   )rh  r  discardru   r  r  s   && r_   r  _AssociationSet.discard:  s6    hhFyy I-  ( ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r  @  s     " " "t "ra   c                	    V P                    F7  pV P                  V4      V8X  g   K  V P                   P                  V4        R # 	  \        V4      hrt   )rh  r  r  r
  r  s   && r_   r  _AssociationSet.remove@  sC    hhFyy I-  (  y!!ra   c                   V ^8  d   QhRR/# )rQ   r\   r8   r]   )r^   s   "r_   r`   r  G  s     ! !R !ra   c                	    V P                   '       g   \        R 4      hV P                   P                  4       pV P                  V4      # )zpop from an empty set)rh  r
  r  r  r  s   & r_   r  _AssociationSet.popG  s5    xxx233yy  ra   c                    V ^8  d   QhRRRR/# )rQ   sr  r\   r   r]   )r^   s   "r_   r`   r  M  s          $  ra   c                	L    V F  pV F  pV P                  V4       K  	  K  	  R # rt   )r  )ru   r  r?  r   s   &*  r_   r  _AssociationSet.updateM  s!    H! " ra   c               $    V ^8  d   QhRRRRRR/# )rQ   r  r   r   r  r\   r   r]   )r^   s   "r_   r`   r  R  s!       l t ra   c                	t   \        V 4      pTP                  T;'       g    R4      p\        T;'       g    R4      P                  V4      pVP                  V4      pV P                  pV P                  pT;'       g    R F#  p	W9   d   V! V	4       K  W9   g   K  V! V	4       K%  	  V F  p	V! V	4       K  	  R # r8  )r   r  r  r  r  )
ru   r  r   r  r  r  r  appenderremoverr  s
   &&&       r_   r  _AssociationSet._bulk_replaceR  s    t9))&,,B7	"%00;	&&y188++lllF" $ 	 # FFO ra   c                    V ^8  d   QhRRRR/# rQ   r/  AbstractSet[_S]r\   MutableSet[Union[_T, _S]]r]   )r^   s   "r_   r`   r  d  s      $	"ra   c                	    \         P                  ! W4      '       g   \        4       hV F  pV P                  V4       K  	  V # rt   )r#   _set_binops_check_strictrS  r  )ru   r/  r   s   && r_   __ior___AssociationSet.__ior__d  s8     33D@@%''EHHUO ra   c                   V ^8  d   QhRR/# )rQ   r\   zSet[_T]r]   )r^   s   "r_   r`   r  m  s      g ra   c                	*    \        \        V 4      4      # rt   )r   r  r   s   &r_   r  _AssociationSet._setm  s    4:ra   c                    V ^8  d   QhRRRR/# )rQ   r  zIterable[_S]r\   r  r]   )r^   s   "r_   r`   r  p  s     # # #)B #ra   c                	4    \        V 4      P                  ! V!  # rt   )r   unionru   r  s   &*r_   r  _AssociationSet.unionp  s    4y""ra   c                    V ^8  d   QhRRRR/# )rQ   _AssociationSet__sr   r\   r  r]   )r^   s   "r_   r`   r  s  s      / .G ra   c                	$    V P                  V4      # rt   )r  ru   r  s   &&r_   __or___AssociationSet.__or__s  s    zz#ra   c                    V ^8  d   QhRRRR/# rQ   r  r   r\   r  r]   )r^   s   "r_   r`   r  v  s     ( (] (~ (ra   c                	4    \        V 4      P                  ! V!  # rt   )r   r  r  s   &*r_   r  _AssociationSet.differencev  s    4y##Q''ra   c                    V ^8  d   QhRRRR/# rQ   r  AbstractSet[Any]r\   r  r]   )r^   s   "r_   r`   r  y  s     " ") "n "ra   c                	$    V P                  V4      # rt   )r  r  s   &&r_   __sub___AssociationSet.__sub__y  s    q!!ra   c                    V ^8  d   QhRRRR/# rQ   r  r   r\   r   r]   )r^   s   "r_   r`   r  |  s     $ $M $d $ra   c                	L    V F  pV F  pV P                  V4       K  	  K  	  R # rt   )r  )ru   r  r/  r   s   &*  r_   difference_update!_AssociationSet.difference_update|  s"    EU#  ra   c                    V ^8  d   QhRRRR/# rQ   r  r  r\   r0   r]   )r^   s   "r_   r`   r    s      * t ra   c                	    \         P                  ! W4      '       g   \        4       hV F  pV P                  V4       K  	  V # rt   )r#   r  rS  r  )ru   r  r   s   && r_   __isub___AssociationSet.__isub__  s7    33D<<%''ELL ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r    s     * *} * *ra   c                	4    \        V 4      P                  ! V!  # rt   )r   r  r  s   &*r_   r  _AssociationSet.intersection  s    4y%%q))ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r    s     $ $) $n $ra   c                	$    V P                  V4      # rt   )r  r  s   &&r_   __and___AssociationSet.__and__  s      ##ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r    s     	  	 m 	  	 ra   c                	    V Fa  pV P                  V4      \        V 4      rCWC,
          W4,
          reV F  pV P                  V4       K  	  V F  pV P                  V4       K  	  Kc  	  R # rt   )r  r   r  r  )ru   r  r/  wanthaver  r  r   s   &*      r_   intersection_update#_AssociationSet.intersection_update  sX    E**513t9$+t{CE"    ra   c                    V ^8  d   QhRRRR/# r$  r]   )r^   s   "r_   r`   r    s      * t ra   c                	   \         P                  ! W4      '       g   \        4       hV P                  V4      p\	        V 4      pW2,
          W#,
          rTV F  pV P                  V4       K  	  V F  pV P                  V4       K  	  V # rt   )r#   r  rS  r  r   r  r  )ru   r  r1  r2  r  r  r   s   &&     r_   __iand___AssociationSet.__iand__  sp    33D<<%''  #D	k4;EKK EHHUO ra   c                    V ^8  d   QhRRRR/# )rQ   r  r  r\   r  r]   )r^   s   "r_   r`   r    s     3 3 3 3ra   c                	6    \        V 4      P                  V4      # rt   )r   symmetric_differencer  s   &&r_   r;  $_AssociationSet.symmetric_difference  s    4y--c22ra   c                    V ^8  d   QhRRRR/# )rQ   r  r   r\   r  r]   )r^   s   "r_   r`   r    s     , , ,-F ,ra   c                	$    V P                  V4      # rt   )r;  r  s   &&r_   __xor___AssociationSet.__xor__  s    ((++ra   c                    V ^8  d   QhRRRR/# )rQ   r/  r   r\   r   r]   )r^   s   "r_   r`   r    s       4 ra   c                	    V P                  V4      \        V 4      r2W2,
          W#,
          rTV F  pV P                  V4       K  	  V F  pV P                  V4       K  	  R # rt   )r;  r   r  r  )ru   r/  r1  r2  r  r  r   s   &&     r_   symmetric_difference_update+_AssociationSet.symmetric_difference_update  sN    ..u5s4ydk4;EKK EHHUO ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r    s      o 2K ra   c                	t    \         P                  ! W4      '       g   \        4       hV P                  V4       V # rt   )r#   r  rS  rC  r
  s   &&r_   __ixor___AssociationSet.__ixor__  s/    33D@@%''((/ra   c                    V ^8  d   QhRRRR/# rQ   r  r   r\   rZ   r]   )r^   s   "r_   r`   r    s     ' 'M 'd 'ra   c                	6    \        V 4      P                  V4      # rt   )r   issubsetr  s   &&r_   rL  _AssociationSet.issubset  s    4y!!#&&ra   c                    V ^8  d   QhRRRR/# rJ  r]   )r^   s   "r_   r`   r    s     ) )m ) )ra   c                	6    \        V 4      P                  V4      # rt   )r   
issupersetr  s   &&r_   rP  _AssociationSet.issuperset  s    4y##C((ra   c                   V ^8  d   QhRR/# r  r]   )r^   s   "r_   r`   r    r  ra   c                	:    V P                   P                  4        R # rt   r  r   s   &r_   r  _AssociationSet.clear  r  ra   c                   V ^8  d   QhRR/# )rQ   r\   zAbstractSet[_T]r]   )r^   s   "r_   r`   r    s      o ra   c                	    \        V 4      # rt   r   r   s   &r_   rP  _AssociationSet.copy  s    4yra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r         " "F "t "ra   c                	    \        V 4      V8H  # rt   rW  r
  s   &&r_   r  _AssociationSet.__eq__      4yE!!ra   c                    V ^8  d   QhRRRR/# r  r]   )r^   s   "r_   r`   r    rZ  ra   c                	    \        V 4      V8g  # rt   rW  r
  s   &&r_   r  _AssociationSet.__ne__  r]  ra   c                    V ^8  d   QhRRRR/# rQ   r/  r  r\   rZ   r]   )r^   s   "r_   r`   r         ! !, ! !ra   c                	    \        V 4      V8  # rt   rW  r
  s   &&r_   r  _AssociationSet.__lt__      4y5  ra   c                    V ^8  d   QhRRRR/# rb  r]   )r^   s   "r_   r`   r         " ", " "ra   c                	    \        V 4      V8*  # rt   rW  r
  s   &&r_   r  _AssociationSet.__le__  r]  ra   c                    V ^8  d   QhRRRR/# rb  r]   )r^   s   "r_   r`   r    rc  ra   c                	    \        V 4      V8  # rt   rW  r
  s   &&r_   r  _AssociationSet.__gt__  rf  ra   c                    V ^8  d   QhRRRR/# rb  r]   )r^   s   "r_   r`   r    rh  ra   c                	    \        V 4      V8  # rt   rW  r
  s   &&r_   r#  _AssociationSet.__ge__  r]  ra   c                   V ^8  d   QhRR/# r;  r]   )r^   s   "r_   r`   r    s      # ra   c                	*    \        \        V 4      4      # rt   )rI   r   r   s   &r_   r>  _AssociationSet.__repr__  s    CIra   c                   V ^8  d   QhRR/# rt  r]   )r^   s   "r_   r`   r    rX  ra   c                	L    \        R \        V 4      P                  ,          4      hrZ  r[  r   s   &r_   r\  _AssociationSet.__hash__  r^  ra   r]   N)8ri   rj   rk   rl   r   r   rs  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r&  r  r-  r3  r7  r;  r?  rC  rG  rL  rP  r  rP  r  r  r  r  r  r#  r>  r\  r  r  r  r`  ra  rb  rc  rd  re  r   rd  rm   r]   ra   r_   r  r    s?   0		2"! 
$#("$
*$	 3,')""!"!"K #FHNN$45OItMMY.C++&sI6>>  6 t  ra   r  )dr   
__future__r   r5  r  r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r    r!   r"   r#   r$   r%   r&   orm.baser'   orm.interfacesr(   r)   r*   sqlr+   r,   sql.baser-   util.typingr.   r/   r0   r1   r2   r  r3   r4   
orm.mapperr5   sql._typingr6   r7   r8   r:   r<   r>   r?   r@   NO_ARGre   rg   ro   rz   r}   r   r   r   r   r   r   r   r   r   InspectionAttrInford   rB  r  rW  rc  rg  r  r^  r`  r  r  r  r  r]   ra   r_   <module>r     s   #                ! "                 -   ' . 0 7    ! "  ' 0	//#7' Tsd3	D	9Te3e3t +/	t
 8<t 6:t 7;t !%t $)t ',t !'t !'t $]]t 8>}}t $*==t  $*==!t" '-mm#t$ BH%tn$? 4huo 4
 %h $B?HV,< BL/8F+; L
 &x %2,hv.> 2F*HV,< Fhrl ;X ;H H ; ;4O
!!"b!	O
j 	>?fA/3 fARe(@(D eP8
%=b%A 8
v
%=b%A 
4&.r2 &$ e5!?$WS\ ?$D'3B7 '"_-b1?23F _DW-c2N384L WtV,R0*R. Vra   