§
    ÕóÉj7H  ã                  ó˜  — U d Z ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 dd	lm
Z
 dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ erddlm Z  ddlm!Z! ee"ef         Z#ej$        Z%de&d<    G d „ d!e¦  «        Z' ed¦  «        Z( G d"„ d#e'¦  «        Z) G d$„ d%e)¦  «        Z* G d&„ d'e'¦  «        Z+i Z,d(e&d)<    ed*d!¬+¦  «        Z-dLd0„Z.	 dMd1d1dd2œdNd;„Z/e	 dMdOd?„¦   «         Z0e	 dMdPd@„¦   «         Z0	 dMdQdB„Z0dRdC„Z1dSdH„Z2dTdK„Z3dS )Ua*  The :class:`.Annotated` class and related routines; creates hash-equivalent
copies of SQL constructs which contain context-specific markers and
associations.

Note that the :class:`.Annotated` concept as implemented in this module is not
related in any way to the pep-593 concept of "Annotated".


é    )Úannotations)Ú
itemgetterN)ÚAny)ÚCallable)Úcast)ÚDict)Ú	FrozenSet)ÚLiteral)ÚMapping)ÚOptional)Úoverload)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVaré   )Ú	operators)ÚHasCacheKey)Úanon_map)ÚExternallyTraversible)ÚInternalTraversalé   )Úutil)ÚSelf)Ú_EntityNamespace)Ú_TraverseInternalsTypeúutil.immutabledict[str, Any]ÚEMPTY_ANNOTATIONSc                  ó²   — e Zd ZU dZeZded<   ded<   ded<   dd„Ze	 	 ddd„¦   «         Z	e	 	 ddd„¦   «         Z		 	 dd d„Z	e
j        d!d„¦   «         Zd"d„ZdS )#ÚSupportsAnnotations© r   Ú_annotationsz*util.generic_fn_descriptor[FrozenSet[Any]]Ú	proxy_setÚboolÚ_is_immutableÚvaluesÚ_AnnotationDictÚreturnr   c                ó   — t          ¦   «         ‚©N©ÚNotImplementedError©Úselfr'   s     ú~/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/sqlalchemy/sql/annotation.pyÚ	_annotatezSupportsAnnotations._annotate?   s   € Ý!Ñ#Ô#Ð#ó    .úLiteral[None]Úclonec                ó   — d S r+   r"   ©r/   r'   r4   s      r0   Ú_deannotatezSupportsAnnotations._deannotateB   ó	   € ð
 ˆsr2   úSequence[str]c                ó   — d S r+   r"   r6   s      r0   r7   zSupportsAnnotations._deannotateI   ó	   € ð
 "˜cr2   NFúOptional[Sequence[str]]c                ó   — t          ¦   «         ‚r+   r,   r6   s      r0   r7   zSupportsAnnotations._deannotateP   s   € õ
 "Ñ#Ô#Ð#r2   úTuple[Any, ...]c                óH   — t          ¦   «         }|                      |¦  «        S r+   )r   Ú_gen_annotations_cache_key)r/   Ú	anon_map_s     r0   Ú_annotations_cache_keyz*SupportsAnnotations._annotations_cache_keyW   s   € å‘J”Jˆ	à×.Ò.¨yÑ9Ô9Ð9r2   r   c                ó”   ‡— dt          ˆfd„t          | j                             ¦   «         t          ¬¦  «        D ¦   «         ¦  «        fS )Nr#   c              3  ó|   •K  — | ]6\  }}|t          |t          ¦  «        r|                     ‰g ¦  «        n|fV — Œ7d S r+   )Ú
isinstancer   Ú_gen_cache_key)Ú.0ÚkeyÚvaluer   s      €r0   ú	<genexpr>zASupportsAnnotations._gen_annotations_cache_key.<locals>.<genexpr>b   sn   øè è € ð ð ñ �C˜ð õ & e­[Ñ9Ô9ð#˜×,Ò,¨X°rÑ:Ô:Ð:à"ððð ð ð ð ð r2   )rH   )ÚtupleÚsortedr#   ÚitemsÚ
_get_item0)r/   r   s    `r0   r@   z.SupportsAnnotations._gen_annotations_cache_key]   sj   ø€ ð Ýð ð ð ð õ #)ØÔ%×+Ò+Ñ-Ô-µ:ð#ñ #ô #ðñ ô ñ ô ð
ð 	
r2   ©r'   r(   r)   r   ©..©r'   r3   r4   r%   r)   r   ©r'   r9   r4   r%   r)   r!   ©NF©r'   r<   r4   r%   r)   r!   )r)   r>   )r   r   r)   r>   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   r#   Ú__annotations__r1   r   r7   r   Úmemoized_propertyrB   r@   r"   r2   r0   r!   r!   6   s  € € € € € € Ø€Ià1B€LÐBÐBÐBÑBà9Ð9Ð9Ñ9àÐÐÑð$ð $ð $ð $ð ð !$Øðð ð ð ñ „Xðð ð !$Øð"ð "ð "ð "ñ „Xð"ð +/Øð$ð $ð $ð $ð $ð 
Ôð:ð :ð :ñ Ôð:ð

ð 
ð 
ð 
ð 
ð 
r2   r!   c                  óž   — e Zd ZU dZded<   erej        dd„¦   «         Zdd
„Z	dd„Z
e	 	 ddd„¦   «         Ze	 	 ddd„¦   «         Z	 	 ddd„ZdS )ÚSupportsWrappingAnnotationsr"   z*Callable[..., SupportsWrappingAnnotations]Ú_constructorr)   r   c                ó   — d S r+   r"   ©r/   s    r0   Úentity_namespacez,SupportsWrappingAnnotations.entity_namespace|   s   € Ø8;¸r2   r'   r(   r   c                ó8   — t                                | |¦  «        S )úgreturn a copy of this ClauseElement with annotations
        updated by the given dictionary.

        ©Ú	AnnotatedÚ_as_annotated_instancer.   s     r0   r1   z%SupportsWrappingAnnotations._annotate   ó   € õ
 ×/Ò/°°fÑ=Ô=Ð=r2   c                ó8   — t                                | |¦  «        S )úhreturn a copy of this ClauseElement with annotations
        replaced by the given dictionary.

        rc   r.   s     r0   Ú_with_annotationsz-SupportsWrappingAnnotations._with_annotations†   rf   r2   .r3   r4   r%   c                ó   — d S r+   r"   r6   s      r0   r7   z'SupportsWrappingAnnotations._deannotate�   r8   r2   r9   r!   c                ó   — d S r+   r"   r6   s      r0   r7   z'SupportsWrappingAnnotations._deannotate”   r;   r2   NFr<   c                ó6   — |r|                       ¦   «         }|S | S )ú¼return a copy of this :class:`_expression.ClauseElement`
        with annotations
        removed.

        :param values: optional tuple of individual values
         to remove.

        )Ú_clone)r/   r'   r4   Úss       r0   r7   z'SupportsWrappingAnnotations._deannotate›   s#   € ð ð 	Ø—’‘”ˆAØˆHàˆKr2   ©r)   r   rO   rP   rQ   rR   rS   rT   )rU   rV   rW   rX   rY   r   r   Úro_non_memoized_propertyr`   r1   ri   r   r7   r"   r2   r0   r\   r\   u   sì   € € € € € € Ø€Ià<Ð<Ð<Ñ<àð <à	Ô	&Ø;Ð;Ð;ñ 
'Ô	&Ø;ð>ð >ð >ð >ð>ð >ð >ð >ð ð !$Øðð ð ð ñ „Xðð ð !$Øð"ð "ð "ð "ñ „Xð"ð +/Øðð ð ð ð ð ð r2   r\   c                  óš   — e Zd ZU ej        sdZdej        fgZde	d<   dd	„Z
dd
„Ze	 	 ddd„¦   «         Ze	 	 ddd„¦   «         Z	 	 ddd„ZdS )ÚSupportsCloneAnnotationsr"   r#   r   Ú%_clone_annotations_traverse_internalsr'   r(   r)   r   c                óØ   — |                       ¦   «         }|j                             |¦  «        |_        |j                             dd¦  «         |j                             dd¦  «         |S )rb   rB   NÚ_generate_cache_key)rn   r#   ÚunionÚ__dict__Úpop©r/   r'   Únews      r0   r1   z"SupportsCloneAnnotations._annotate¾   sa   € ð
 �kŠk‰mŒmˆØÔ+×1Ò1°&Ñ9Ô9ˆÔØŒ×ÒÐ1°4Ñ8Ô8Ð8ØŒ×ÒÐ.°Ñ5Ô5Ð5Øˆ
r2   c                óÌ   — |                       ¦   «         }t          j        |¦  «        |_        |j                             dd¦  «         |j                             dd¦  «         |S )rh   rB   Nrv   )rn   r   Úimmutabledictr#   rx   ry   rz   s      r0   ri   z*SupportsCloneAnnotations._with_annotationsÉ   s[   € ð
 �kŠk‰mŒmˆÝÔ-¨fÑ5Ô5ˆÔØŒ×ÒÐ1°4Ñ8Ô8Ð8ØŒ×ÒÐ.°Ñ5Ô5Ð5Øˆ
r2   .r3   r4   r%   c                ó   — d S r+   r"   r6   s      r0   r7   z$SupportsCloneAnnotations._deannotateÔ   r8   r2   r9   r!   c                ó   — d S r+   r"   r6   s      r0   r7   z$SupportsCloneAnnotations._deannotateÛ   r;   r2   NFr<   c                óœ   — |s| j         rB|                      ¦   «         }t          j        |_         |j                             dd¦  «         |S | S )rm   rB   N)r#   rn   r   Ú
EMPTY_DICTrx   ry   )r/   r'   r4   r{   s       r0   r7   z$SupportsCloneAnnotations._deannotateâ   sR   € ð ð 	�DÔ%ð 	ð —+’+‘-”-ˆCÝ#œˆCÔØŒL×ÒÐ5°tÑ<Ô<Ð<ØˆJàˆKr2   rO   rP   rQ   rR   rS   rT   )rU   rV   rW   Útypingr   rX   r   Údp_annotations_keyrt   rY   r1   ri   r   r7   r"   r2   r0   rs   rs   ¯   sö   € € € € € € ð Ôð Øˆ	ð 
Ð*Ô=Ð>ðEÐ)ð ð ð ñ ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð ð !$Øðð ð ð ñ „Xðð ð !$Øð"ð "ð "ð "ñ „Xð"ð +/Øðð ð ð ð ð ð r2   rs   c                  ó&  — e Zd ZU dZdZed/d„¦   «         Zd	ed
<   ded<   ded<   d0d„Zd1d„Z	d2d„Z
d2d„Ze	 	 d3d4d„¦   «         Ze	 	 d3d5d„¦   «         Z	 	 d6d7d"„Zej        sd8d%„Zed&„ ¦   «         Zd9d'„Zd:d)„Zd;d*„Zd<d,„Zej        d=d.„¦   «         ZdS )>rd   aJ  clones a SupportsAnnotations and applies an 'annotations' dictionary.

    Unlike regular clones, this clone also mimics __hash__() and
    __eq__() of the original element so that it takes its place
    in hashed collections.

    A reference to the original element is maintained, for the important
    reason of keeping its hash value current.  When GC'ed, the
    hash value may be reused, causing conflicts.

    .. note::  The rationale for Annotated producing a brand new class,
       rather than placing the functionality directly within ClauseElement,
       is **performance**.  The __hash__() method is absent on plain
       ClauseElement which leads to significantly reduced function call
       overhead, as the use of sets and dictionaries against ClauseElement
       objects is prevalent, but most are not "annotated".

    FÚelementr\   r'   r(   r)   c                óŒ   — 	 t           |j                 } n%# t          $ r t          |j        | ¦  «        } Y nw xY w | ||¦  «        S r+   )Úannotated_classesÚ	__class__ÚKeyErrorÚ_new_annotation_type)Úclsr…   r'   s      r0   re   z Annotated._as_annotated_instance  sY   € ð	?Ý# GÔ$5Ô6ˆCˆCøÝð 	?ð 	?ð 	?Ý& wÔ'8¸#Ñ>Ô>ˆCˆCˆCð	?øøøàˆs�7˜FÑ#Ô#Ð#s   ‚ •7¶7r   r#   Ú_Annotated__elementÚintÚ_hashr‹   ú
Type[Self]Úargsr   r   c                ó6   — t                                | ¦  «        S r+   )ÚobjectÚ__new__)r‹   r�   s     r0   r“   zAnnotated.__new__  s   € Ý�~Š~˜cÑ"Ô"Ð"r2   c                ó  — |j                              ¦   «         | _         | j                              dd ¦  «         | j                              dd ¦  «         || _        t	          j        |¦  «        | _        t          |¦  «        | _        d S ©NrB   rv   )	rx   Úcopyry   rŒ   r   r}   r#   ÚhashrŽ   )r/   r…   r'   s      r0   Ú__init__zAnnotated.__init__!  sw   € ð  Ô(×-Ò-Ñ/Ô/ˆŒØŒ×ÒÐ2°DÑ9Ô9Ð9ØŒ×ÒÐ/°Ñ6Ô6Ð6Ø ˆŒÝ Ô.¨vÑ6Ô6ˆÔÝ˜'‘]”]ˆŒ
ˆ
ˆ
r2   c                ód   — | j                              |¦  «        }|                      |¦  «        }|S r+   )r#   rw   ri   )r/   r'   Ú_valuesr{   s       r0   r1   zAnnotated._annotate+  s0   € ØÔ#×)Ò)¨&Ñ1Ô1ˆØ×$Ò$ WÑ-Ô-ˆØˆ
r2   c                ó  — | j                              | j         ¦  «        }| j                             ¦   «         |_        |j                             dd ¦  «         |j                             dd ¦  «         t          j        |¦  «        |_        |S r•   )rˆ   r“   rx   r–   ry   r   r}   r#   r6   s      r0   ri   zAnnotated._with_annotations0  sx   € Ø”×&Ò& t¤~Ñ6Ô6ˆØœ×+Ò+Ñ-Ô-ˆŒØŒ×ÒÐ3°TÑ:Ô:Ð:ØŒ×ÒÐ0°$Ñ7Ô7Ð7Ý!Ô/°Ñ7Ô7ˆÔØˆr2   .r3   r4   r%   c                ó   — d S r+   r"   r6   s      r0   r7   zAnnotated._deannotate8  r8   r2   r9   c                ó   — d S r+   r"   r6   s      r0   r7   zAnnotated._deannotate?  s	   € ð
 �Cr2   NTr<   r!   c                óª   ‡— ‰€| j         S |                      t          j        ˆfd„| j                             ¦   «         D ¦   «         ¦  «        ¦  «        S )Nc                ó$   •— i | ]\  }}|‰v¯	||“ŒS r"   r"   )rG   rH   rI   r'   s      €r0   ú
<dictcomp>z)Annotated._deannotate.<locals>.<dictcomp>P  s4   ø€ ð ð ð á&˜C Ø fÐ,Ð,ð ˜Uà,Ð,Ð,r2   )rŒ   ri   r   r}   r#   rM   r6   s    ` r0   r7   zAnnotated._deannotateF  so   ø€ ð
 ˆ>Ø”>Ð!à×)Ò)ÝÔ"ðð ð ð à*.Ô*;×*AÒ*AÑ*CÔ*Cðñ ô ñô ñô ð r2   ÚvisitorÚkwc                ó4   —  | j         j        j        | |fi |¤ŽS r+   )rŒ   rˆ   Ú_compiler_dispatch)r/   r¡   r¢   s      r0   r¤   zAnnotated._compiler_dispatchZ  s0   € Ø>�4”>Ô+Ô>Ø�gðð Ø!#ðð ð r2   c                ó   — | j         j        S r+   )rŒ   r]   r_   s    r0   r]   zAnnotated._constructor_  s   € à”>Ô.Ð.r2   c                ó°   —  | j         j        di |¤Ž}|| j         u r| S |j                             | j        ¦  «         |                      || j        ¦  «        S )Nr"   )rŒ   rn   rx   Úupdaterˆ   r#   )r/   r¢   r4   s      r0   rn   zAnnotated._clonec  s_   € Ø%�”Ô%Ð+Ð+¨Ð+Ð+ˆØ�D”NÐ"Ð"àˆKð ŒN×!Ò! $¤-Ñ0Ô0Ð0Ø—>’> %¨Ô):Ñ;Ô;Ð;r2   ú'Tuple[Type[Annotated], Tuple[Any, ...]]c                ó,   — | j         | j        | j        ffS r+   )rˆ   rŒ   r#   r_   s    r0   Ú
__reduce__zAnnotated.__reduce__n  s   € ØŒ~ ¤°Ô0AÐBÐBÐBr2   c                ó   — | j         S r+   )rŽ   r_   s    r0   Ú__hash__zAnnotated.__hash__q  s
   € ØŒzÐr2   Úotherc                ó�   — | j         r | j        j                             | |¦  «        S t	          |¦  «        t	          | ¦  «        k    S r+   )Ú_is_column_operatorsrŒ   rˆ   Ú__eq__r—   )r/   r­   s     r0   r°   zAnnotated.__eq__t  s?   € ØÔ$ð 	-Ø”>Ô+×2Ò2°4¸Ñ?Ô?Ð?å˜‘;”;¥$ t¡*¤*Ò,Ð,r2   r   c                óv   — d| j         v r%t          t          | j         d         ¦  «        j        S | j        j        S )Nr`   )r#   r   r\   r`   rŒ   r_   s    r0   r`   zAnnotated.entity_namespacez  sC   € à Ô!2Ð2Ð2ÝÝ+ØÔ!Ð"4Ô5ñô ô ðð
 ”>Ô2Ð2r2   )r…   r\   r'   r(   r)   rd   )r‹   r�   r�   r   r)   r   )r…   r\   r'   r(   rO   rP   rQ   )r'   r9   r4   r%   r)   rd   )NTrT   )r¡   r   r¢   r   r)   r   )r¢   r   r)   r   )r)   r¨   )r)   r�   )r­   r   r)   r%   rp   )rU   rV   rW   Ú__doc__r¯   Úclassmethodre   rY   r“   r˜   r1   ri   r   r7   r‚   r   r¤   Úpropertyr]   rn   rª   r¬   r°   r   rq   r`   r"   r2   r0   rd   rd   ú   sè  € € € € € € ðð ð& !Ðàð$ð $ð $ñ „[ð$ð /Ð.Ð.Ñ.Ø*Ð*Ð*Ñ*Ø€J€J�Jð#ð #ð #ð #ð#ð #ð #ð #ðð ð ð ð
ð ð ð ð ð !$Øðð ð ð ñ „Xðð ð !$Øðð ð ð ñ „Xðð +/Øðð ð ð ð ð$ Ôð 	/ð	ð 	ð 	ð 	ð
 
ð	/ð 	/ñ 
Œð	/ð	<ð 	<ð 	<ð 	<ðCð Cð Cð Cðð ð ð ð-ð -ð -ð -ð 
Ô"ð3ð 3ð 3ñ #Ô"ð3ð 3ð 3r2   rd   z8Dict[Type[SupportsWrappingAnnotations], Type[Annotated]]r‡   Ú_SA)ÚboundÚto_annotater   r(   r)   c                óL   — 	 | j         } ||¦  «        S # t          $ r | cY S w xY wr+   )r1   ÚAttributeError)r·   r   r1   s      r0   Ú_safe_annotaterº   ‘  sL   € ð&ØÔ)ˆ	ð ˆy˜Ñ%Ô%Ð%øõ ð ð ð ð ÐÐÐð	øøøs   ‚ ”#¢#F)Údetect_subquery_colsÚind_cols_on_fromclauseÚannotate_callabler…   Úexcludeú'Optional[Sequence[SupportsAnnotations]]r»   r%   r¼   r½   úOOptional[Callable[[SupportsAnnotations, _AnnotationDict], SupportsAnnotations]]c               ót   ‡‡‡‡‡‡‡— i Šdˆˆˆˆˆˆˆfd„Š| �t          t           ‰| ¦  «        ¦  «        } dŠ| S )	z¹Deep copy the given ClauseElement, annotating each element
    with the given annotations dictionary.

    Elements within the exclude collection will be cloned but not annotated.

    Úelemr!   r¢   r   r)   c                óŠ  •— ‰	|d<   t          | ¦  «        }|‰v r‰|         S ‰
r:t          | d¦  «        r*| j                             ‰
¦  «        r | j        dd‰i|¤Ž}nH‰| j        k    r;‰	r| j        r | j        dd‰i|¤Ž}n| }‰r ‰|‰¦  «        }nt          |‰¦  «        }n| }|                     ‰‰d¬¦  «         |‰|<   |S )Nr»   r$   r4   T)r4   r¼   Ú_annotations_traversalr"   )	ÚidÚhasattrr$   Úintersectionrn   r#   r&   rº   Ú_copy_internals)rÂ   r¢   Úid_Únewelemr·   r½   r   r4   Ú
cloned_idsr»   r¾   r¼   s        €€€€€€€r0   r4   z_deep_annotate.<locals>.clone´  s2  ø€ ð &:ˆÐ!Ñ"Ý�‰hŒhˆà�*ÐÐØ˜c”?Ð"ð ð	å˜˜kÑ*Ô*ð	ð ”×+Ò+¨GÑ4Ô4ð	ð
 "�d”kÐ4Ð4¨Ð4°Ð4Ð4ˆGˆGØ˜DÔ-Ò-Ð-Ø#ð #¨Ô(:ð #Ø)˜dœkÐ<Ð<°Ð<¸Ð<Ð<��à"�Ø ð CØ+Ð+¨K¸ÑEÔE��å(¨°kÑBÔB��àˆGà×ÒØØ#9Ø#'ð 	 ñ 	
ô 	
ð 	
ð "ˆ
�3‰Øˆr2   N©rÂ   r!   r¢   r   r)   r!   ©r   rµ   )r…   r   r¾   r»   r¼   r½   r4   rË   s    `````@@r0   Ú_deep_annotaterÎ   �  sv   øøøøøøø€ ð* 24€Jð)ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ðV ÐÝ•s˜E˜E '™NœNÑ+Ô+ˆØ€EØ€Nr2   r3   r'   r<   c                ó   — d S r+   r"   ©r…   r'   s     r0   Ú_deep_deannotaterÑ   å  s	   € ð �Cr2   c                ó   — d S r+   r"   rÐ   s     r0   rÑ   rÑ   ë  s	   € ð ˆ#r2   úOptional[_SA]c                ód   ‡‡‡— i Šdˆˆˆfd„Š| �t          t           ‰| ¦  «        ¦  «        } dŠ| S )	z2Deep copy the given element, removing annotations.rÂ   r!   r¢   r   r)   c                ó®   •— ‰rt          | ¦  «        }n| }|‰vr5|                      ‰d¬¦  «        }|                     ‰d¬¦  «         |‰|<   |S ‰|         S )NT)r'   r4   )r4   rÄ   )rÅ   r7   rÈ   )rÂ   r¢   rH   rÊ   r4   Úclonedr'   s       €€€r0   r4   z_deep_deannotate.<locals>.cloneø  sq   ø€ àð 	Ý�T‘(”(ˆCˆCàˆCà�fÐÐØ×&Ò&¨f¸DÐ&ÑAÔAˆGØ×#Ò#¨%ÈÐ#ÑMÔMÐMØ!ˆF�3‰KØˆNà˜#”;Ðr2   NrÌ   rÍ   )r…   r'   r4   rÖ   s    `@@r0   rÑ   rÑ   ñ  s]   øøø€ ð
 .0€Fðð ð ð ð ð ð ð ð ÐÝ•s˜E˜E '™NœNÑ+Ô+ˆØ€EØ€Nr2   c                ó\   — |                       |¦  «        } |                      d¬¦  «         | S )a  Annotate the given ClauseElement and copy its internals so that
    internal objects refer to the new annotated object.

    Basically used to apply a "don't traverse" annotation to a
    selectable, without digging throughout the whole
    structure wasting time.
    T)rÄ   )r1   rÈ   )r…   r   s     r0   Ú_shallow_annotaterØ     s3   € ð ×Ò Ñ,Ô,€GØ×Ò°4ÐÑ8Ô8Ð8Ø€Nr2   r‹   ú!Type[SupportsWrappingAnnotations]Úbase_clsúType[Annotated]c                ó  — t          | t          ¦  «        r| S | t          v rt          |          S | j        D ]}|t          v rt          |         } nŒt	          t
          t                   t          d| j        z  || fi ¦  «        ¦  «        xt          | <   }|t          ¦   «         d| j        z  <   d| j	        v r*t          | j        ¦  «        dt          j        fgz   |_        nD| j	                             dd¦  «        r)t          | j        ¦  «        dt          j        fgz   |_        | j	                             dd¦  «        rd|_        nd| j	        v r| j	        d         |_        t          | t           j        ¦  «        |_        |S )z[Generates a new class that subclasses Annotated and proxies a given
    element type.

    zAnnotated%sÚ_traverse_internalsr#   Úinherit_cacheFT)Ú
issubclassrd   r‡   Ú__mro__r   r   ÚtyperU   Úglobalsrx   ÚlistrÝ   r   rƒ   ÚgetrÞ   r   ÚColumnOperatorsr¯   )r‹   rÚ   Úsuper_Úanno_clss       r0   rŠ   rŠ     s˜  € õ �#•yÑ!Ô!ð &Øˆ
Ø	Õ!Ð	!Ð	!Ý  Ô%Ð%à”+ð ð ˆð Õ&Ð&Ð&Ý(¨Ô0ˆHØˆEð 'õ )-Ý�YŒÝˆ]˜Sœ\Ñ)¨H°c¨?¸BÑ?Ô?ñ)ô )ð Õ�cÑ˜Xð /7…G�I„Iˆm˜cœlÑ*Ñ+à ¤Ð,Ð,Ý'+¨CÔ,CÑ'DÔ'DØÕ.ÔAÐBðH
ñ (
ˆÔ$Ð$ð 
Œ×	Ò	˜/¨5Ñ	1Ô	1ð 
Ý'+¨CÔ,CÑ'DÔ'DØÕ.ÔAÐBðH
ñ (
ˆÔ$ð „|×Ò˜¨Ñ/Ô/ð ?Ø!%ˆÔÐØ	˜CœLÐ	(Ð	(Ø!$¤¨oÔ!>ˆÔå$.¨sµIÔ4MÑ$NÔ$N€HÔ!à€Or2   Útarget_hierarchyÚNonec                óT   — t          j        | ¦  «        D ]}t          ||¦  «         Œd S r+   )r   Úwalk_subclassesrŠ   )rè   rÚ   r‹   s      r0   Ú_prepare_annotationsrì   I  s<   € õ Ô#Ð$4Ñ5Ô5ð ,ð ,ˆÝ˜S (Ñ+Ô+Ð+Ð+ð,ð ,r2   )r·   rµ   r   r(   r)   rµ   r+   )r…   rµ   r   r(   r¾   r¿   r»   r%   r¼   r%   r½   rÀ   r)   rµ   )r…   r3   r'   r<   r)   r3   )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é   )4r²   Ú
__future__r   Úoperatorr   r‚   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Ú r   Ú	cache_keyr   Úvisitorsr   r   r   r   Úutil.typingr   Úbaser   r   Ústrr(   r�   r   rY   r!   rN   r\   rs   rd   r‡   rµ   rº   rÎ   rÑ   rØ   rŠ   rì   r"   r2   r0   ú<module>rõ      s  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àð 1Ø&Ð&Ð&Ð&Ð&Ð&Ø0Ð0Ð0Ð0Ð0Ð0à˜#˜s˜(Ô#€à26´/Ð Ð AÐ AÐ AÑ Að9
ð 9
ð 9
ð 9
ð 9
Ð/ñ 9
ô 9
ð 9
ðx ˆZ˜‰]Œ]€
ð7ð 7ð 7ð 7ð 7Ð"5ñ 7ô 7ð 7ðtHð Hð Hð Hð HÐ:ñ Hô Hð HðVH3ð H3ð H3ð H3ð H3Ð#ñ H3ô H3ð H3ðb ð ð ð ð ñ ð €gˆeÐ0Ð1Ñ1Ô1€ð	&ð 	&ð 	&ð 	&ð 8<ðEð
 "'Ø#(ð 	ðEð Eð Eð Eð Eð EðP 
à>Bðð ð ð ñ 
„ðð
 
à48ðð ð ð ñ 
„ðð ?Cðð ð ð ð ð8
ð 
ð 
ð 
ð,ð ,ð ,ð ,ð^,ð ,ð ,ð ,ð ,ð ,r2   