§
    eŠtjõW  ã                  ó,  — d dl mZ d dlZd dlmZ d dlmZ d dlZd dl	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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m0Z0 d d*lm1Z1  ed+e¬,¦  «        Z2 ed-¦  «        Z3 ed.d¬/¦  «        Z4 ed0d¬1¦  «        Z5 ed2¦  «        Z6 ed3d¬/¦  «        Z7ej8        rd d4l9m:Z: n e;d¦  «        Z:d£d9„Z<eee         e=eee/d:f         Z> G d;„ d<e)¦  «        Z? G d=„ d>e)e2         ¦  «        Z@ G d?„ d@e)e3e7f         ¦  «        ZAe&dA         ZBddBddCœd¤dQ„ZCd¥dS„ZDd¦dX„ZEdddYœd§d_„ZFdd`œd¨db„ZGd©dc„ZHdªde„ZId«dh„ZJd¬di„ZKd­dl„ZLd®dn„ZMd¯dp„ZNd°dr„ZOd±dt„ZP	 	 d²d³dx„ZQed´dy„¦   «         ZRedµdz„¦   «         ZRed¥d{„¦   «         ZRd¥d|„ZRed¶d€„¦   «         ZSed·d‚„¦   «         ZSd¸d„„ZSd¹d†„ZTd¬d‡„ZUd¬dˆ„ZVdºdŠ„ZWd»d�„ZXddŽœd¼d’„ZYd½d“„ZZ G d”„ d•e)¦  «        Z[ ed–e[¬,¦  «        Z\ G d—„ d˜ee\         ¦  «        Z] ed™e[d¬š¦  «        Z^ G d›„ dœee^         ¦  «        Z_ ed�eedžef                  ¬,¦  «        Z` G dŸ„ d ee`         ¦  «        Za G d¡„ d¢¦  «        Zb eb¦   «         ZcereZdnecZdecj&        ZedS )¾é    )ÚannotationsN)Údeque)ÚAny)ÚCallable)ÚDict©Ú
ForwardRef)ÚGeneric)ÚIterable)ÚMapping)ÚNewType)ÚNoReturn)ÚOptional)Úoverload)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar©ÚUnioné   )ÚcompatT)Ú	Annotated)ÚConcatenate)Údataclass_transform)ÚFinal)Úfinal)Úget_args)Ú
get_origin)ÚLiteral)ÚNotRequired)Ú	ParamSpec)ÚProtocol)ÚSupportsIndex)Ú	TypeAlias)Ú	TypedDict)Ú	TypeGuard)ÚSelf)ÚTypeAliasType)ÚNever)ÚLiteralStringÚ_T)ÚboundÚ_KTÚ_KT_co)Ú	covariantÚ
_KT_contra)ÚcontravariantÚ_VTÚ_VT_co)ÚNoneTypeÚtypr   ÚreturnÚboolc                óB   — t          | t          ¦  «        o
| j        dk    S )NÚNone)Ú
isinstancer	   Ú__forward_arg__)r7   s    úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/util/typing.pyÚis_fwd_noner?   M   s   € Ý�c�:Ñ&Ô&ÐH¨3Ô+>À&Ò+HÐHó    zGenericProtocol[Any]c                  ó   — e Zd ZU dZded<   dS )ÚArgsTypeProtocolz_protocol for types that have ``__args__``

    there's no public interface for this AFAIK

    úTuple[_AnnotationScanType, ...]Ú__args__N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© r@   r>   rB   rB   V   s*   € € € € € € ðð ð .Ð-Ð-Ñ-Ð-Ð-r@   rB   c                  ó(   — e Zd ZU dZded<   ded<   dS )ÚGenericProtocolzXprotocol for generic types.

    this since Python.typing _GenericAlias is private

    rC   rD   úType[_T]Ú
__origin__NrE   rK   r@   r>   rM   rM   `   s6   € € € € € € ðð ð .Ð-Ð-Ñ-ØÐÐÑÐÐr@   rM   c                  ó   — e Zd Zd	d„Zd
d„ZdS )ÚSupportsKeysAndGetItemr8   úIterable[_KT]c                ó   — d S ©NrK   )Úselfs    r>   ÚkeyszSupportsKeysAndGetItem.keysu   ó   € € € r@   Ú_SupportsKeysAndGetItem__kr/   r5   c                ó   — d S rT   rK   )rU   rX   s     r>   Ú__getitem__z"SupportsKeysAndGetItem.__getitem__w   rW   r@   N)r8   rR   )rX   r/   r8   r5   )rF   rG   rH   rV   rZ   rK   r@   r>   rQ   rQ   t   s(   € € € € € Ø(Ð(Ð(Ð(à2Ð2Ð2Ð2Ð2Ð2r@   rQ   Ú*F©Ústr_cleanup_fnÚinclude_genericÚ_already_seenÚclsú	Type[Any]Ú
annotationÚ_AnnotationScanTypeÚoriginating_moduleÚstrÚlocals_úMapping[str, Any]r]   ú#Optional[Callable[[str, str], str]]r^   r_   úOptional[Set[Any]]c               ó®  ‡ ‡‡‡‡‡— |}t          |¦  «        r|j        }t          |t          ¦  «        r!‰r ‰|‰¦  «        }t	          |‰‰‰ ¬¦  «        }‰r~t          |¦  «        rot          |¦  «        s`‰€t          ¦   «         Š|‰v r|S ‰                     |¦  «         t          ˆˆ ˆˆˆˆfd„|j
        D ¦   «         ¦  «        }t          ||¦  «        S |S )a;  Resolve annotations that may be string based into real objects.

    This is particularly important if a module defines "from __future__ import
    annotations", as everything inside of __annotations__ is a string. We want
    to at least have generic containers like ``Mapped``, ``Union``, ``List``,
    etc.

    ©rf   Úin_classNc           
   3  óD   •K  — | ]}t          ‰|‰‰‰‰‰¬ ¦  «        V — ŒdS )r\   N)Úde_stringify_annotation)Ú.0Úelemr_   r`   r^   rf   rd   r]   s     €€€€€€r>   ú	<genexpr>z*de_stringify_annotation.<locals>.<genexpr>³   s]   øè è € ð 
ð 
ð õ $ØØØ"ØØ-Ø /Ø+ðñ ô ð
ð 
ð 
ð 
ð 
ð 
r@   )Ú
is_fwd_refr=   r<   re   Úeval_expressionÚ
is_genericÚ
is_literalÚsetÚaddÚtuplerD   Ú_copy_generic_annotation_with)	r`   rb   rd   rf   r]   r^   r_   Úoriginal_annotationÚelementss	   ` `````  r>   rn   rn   ~   sE  øøøøøø€ ð. %Ðå�*ÑÔð 0ØÔ/ˆ
å�*�cÑ"Ô"ð 
Øð 	HØ'˜¨
Ð4FÑGÔGˆJå$ØÐ*°GÀcð
ñ 
ô 
ˆ
ð
 	ðCå�zÑ"Ô"ðCõ ˜:Ñ&Ô&ðCð
 Ð Ý™EœEˆMà˜Ð&Ð&ð
 'Ð&à×Ò˜jÑ)Ô)Ð)åð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð #Ô+ð
ñ 
ô 
ñ 
ô 
ˆõ -¨Z¸ÑBÔBÐBàÐr@   Útype_c           	     ó¨  — t          | ¦  «        rÂt          | ¦  «        t          t          t          t
          j        t
          j        t
          j        t
          j	        t
          j
        fv rht          j        dt          | ¦  «        ¦  «        sFt          | ¦  «                             t          d„ t!          | ¦  «        D ¦   «         ¦  «        ¦  «        S | S )zfCorrect dict['x', 'y'] into dict[ForwardRef('x'), ForwardRef('y')]
    and similar for list, set

    z3typing.(?:Dict|List|Set|.*Mapping|.*Sequence|.*Set)c                óZ   — g | ](}t          |t          ¦  «        rt          |¦  «        n|‘Œ)S rK   )r<   re   r	   ©ro   rp   s     r>   ú
<listcomp>z,fixup_container_fwd_refs.<locals>.<listcomp>å   sD   € ð ð ð àõ )3°4½Ñ(=Ô(=ÐG•J˜tÑ$Ô$Ð$À4ðð ð r@   )rt   r    Údictrv   ÚlistÚcollections_abcÚ
MutableSetÚMutableMappingÚMutableSequencer   ÚSequenceÚreÚmatchÚreprÚ__class_getitem__rx   r   ©r|   s    r>   Úfixup_container_fwd_refsr�   Å   sÎ   € õ 	�5ÑÔð
å�uÑÔåÝÝÝÔ&ÝÔ*ÝÔ+ÝÔ#ÝÔ$ð	
ð

ð 

õ ”ØAÅ4ÈÁ;Ä;ñ
ô 
ð

õ( ˜%Ñ Ô ×2Ò2Ýðð å (¨¡¤ðñ ô ñô ñ
ô 
ð 	
ð €Lr@   úGenericProtocol[_T]r{   rC   rN   c                óf   — t          | d¦  «        r|                      |¦  «        S | j        |         S )NÚ	copy_with)Úhasattrr�   rO   )rb   r{   s     r>   ry   ry   î   s:   € õ ˆz˜;Ñ'Ô'ð /à×#Ò# HÑ-Ô-Ð-ð Ô$ XÔ.Ð.r@   rk   Ú
expressionÚmodule_nameúOptional[Mapping[str, Any]]rl   úOptional[Type[Any]]c               ó¦  — 	 t           j        |         j        }n(# t          $ r}t	          d|› d| › �¦  «        |‚d }~ww xY w	 |�Vt          |j        ¦  «        }|                     |j        |¦  «         |                     |¦  «         t          | ||¦  «        }nt          | ||¦  «        }|S # t          $ r}t	          d| ›�¦  «        |‚d }~ww xY w)NúModule z9 isn't present in sys.modules; can't evaluate expression z"Could not de-stringify annotation )ÚsysÚmodulesÚ__dict__ÚKeyErrorÚ	NameErrorr�   Ú
setdefaultrF   ÚupdateÚevalÚ	Exception)	r’   r“   rf   rl   Úbase_globalsÚkeÚcls_namespacerb   Úerrs	            r>   rs   rs   ù   s#  € ðÝ'*¤{°;Ô'?Ô'HˆˆøÝð ð ð Ýð0�kð 0ð 0Ø#-ð0ð 0ñ
ô 
ð ð	øøøøðøøøðØÐÝ  Ô!2Ñ3Ô3ˆMØ×$Ò$ XÔ%6¸ÑAÔAÐAð
 × Ò  Ñ.Ô.Ð.å˜j¨-¸ÑAÔAˆJˆJå˜j¨,¸Ñ@Ô@ˆJð Ðøõ ð ð ð ÝØ?°Ð?Ð?ñ
ô 
àð	øøøøðøøøs)   ‚ š
?¤:º?ÁA)B. Â.
CÂ8CÃC©rf   Únamec               ób  — d| v rt          | ||¬¦  «        S 	 t          j        |         j        }n(# t          $ r}t          d|› d| › �¦  «        |‚d }~ww xY w	 ||          S # t          $ rC}	 t          j        |          cY d }~S # t          $ r Y nw xY wt          d| › d|› �¦  «        |‚d }~ww xY w)Nú.r¥   r—   z2 isn't present in sys.modules; can't resolve name zCould not locate name z in module )rs   r˜   r™   rš   r›   rœ   Úbuiltins)r¦   r“   rf   r¡   r¢   s        r>   Úeval_name_onlyrª     s'  € ð ˆd€{€{Ý˜t [¸'ÐBÑBÔBÐBðÝ'*¤{°;Ô'?Ô'HˆˆøÝð ð ð Ýð#�kð #ð #Ø ð#ð #ñ
ô 
ð ð	øøøøðøøøðØ˜DÔ!Ð!øÝð 	ð 	ð 	ð	ÝÔ$ TÔ*Ð*Ð*Ð*Ð*Ð*Ð*øÝð 	ð 	ð 	ØˆDð	øøøõ ØC TÐCÐC°kÐCÐCñ
ô 
àð	øøøøð	øøøsJ   ˜0 °
AºAÁAÁA! Á!
B.Á,BÁ=B.Â
BÂB)ÂBÂB)Â)B.c                ój   — 	 t          | |¦  «        }t          |d| ¦  «        S # t          $ r | cY S w xY w)NrF   )rª   Úgetattrrœ   )r¦   r“   Úobjs      r>   Úresolve_name_to_real_class_namer®   ?  sP   € ð.Ý˜T ;Ñ/Ô/ˆõ �s˜J¨Ñ-Ô-Ð-øõ ð ð ð Øˆˆˆðøøøs   ‚# £2±2úOptional[Any]c                ó@   — | d uot          | ¦  «        t          j        v S rT   )r    Ú_type_tuplesr   rŒ   s    r>   Ú	is_pep593r²   H  s"   € Ø˜ÐÐL¥¨EÑ!2Ô!2µlÔ6LÐ!LÐLr@   r­   úTypeGuard[Iterable[Any]]c                óp   — t          | t          j        ¦  «        ot          | t          t          f¦  «         S rT   )r<   rƒ   r   re   Úbytes)r­   s    r>   Úis_non_string_iterabler¶   L  s6   € Ý�c�?Ô3Ñ4Ô4ð ½ZØ�c•5ˆ\ñ>ô >ð :ð r@   c                ó8   — t          | ¦  «        t          j        v S rT   )r    r±   r!   rŒ   s    r>   ru   ru   R  s   € Ý�eÑÔ¥Ô 4Ð4Ð4r@   úOptional[_AnnotationScanType]úTypeGuard[NewType]c                ó"   — t          | d¦  «        S )NÚ__supertype__©r‘   rŒ   s    r>   Ú
is_newtyper½   V  s   € Ý�5˜/Ñ*Ô*Ð*r@   úTypeGuard[GenericProtocol[Any]]c                óB   — t          | d¦  «        ot          | d¦  «        S )NrD   rO   r¼   rŒ   s    r>   rt   rt   ^  s!   € Ý�5˜*Ñ%Ô%ÐF­'°%¸Ñ*FÔ*FÐFr@   úTypeGuard[TypeAliasType]c                ó|   — t          | ¦  «        rt          | j        ¦  «        S t          | t          j        ¦  «        S rT   )rt   Ú	is_pep695rO   r<   Ú_type_instancesr*   rŒ   s    r>   rÂ   rÂ   b  s8   € õ
 �%ÑÔð +Ý˜Ô)Ñ*Ô*Ð*Ý�e�_Ô:Ñ;Ô;Ð;r@   r   c                ó^   — | j         }t          |¦  «        r|j         }t          |¦  «        °|S rT   )r»   r½   )r|   Ú
super_types     r>   Úflatten_newtyperÆ   l  s:   € ØÔ$€JÝ
�ZÑ
 Ô
 ð .ØÔ-ˆ
õ �ZÑ
 Ô
 ð .àÐr@   úSet[Any]c                ó–  ‡‡— t          ¦   «         Šˆˆfd„Š ‰| ¦  «        }t          |t          ¦  «        r‘t          ¦   «         }t          |¦  «        }|rp|                     ¦   «         }t          |t          ¦  «        r|                     |¦  «         n/|                     |t          u st          |¦  «        rdn|¦  «         |°p|S |hS )zçExtracts the value from a TypeAliasType, recursively exploring unions
    and inner TypeAliasType to flatten them into a single set.

    Forward references are not evaluated, so no recursive exploration happens
    into them.
    c                ó²   •— | ‰v r| S ‰                      | ¦  «         t          | ¦  «        s| S | j        }t          |¦  «        s|S ˆfd„|j        D ¦   «         S )Nc                ó&   •— g | ]} ‰|¦  «        ‘ŒS rK   rK   )ro   ÚtÚrecursive_values     €r>   r€   z:pep695_values.<locals>.recursive_value.<locals>.<listcomp>‡  s#   ø€ Ð;Ð;Ð; q�� Ñ"Ô"Ð;Ð;Ð;r@   )rw   rÂ   Ú	__value__Úis_unionrD   )Ú
inner_typeÚvalueÚ_seenrÌ   s     €€r>   rÌ   z&pep695_values.<locals>.recursive_value|  su   ø€ Ø˜ÐÐð ÐØ�	Š	�*ÑÔÐÝ˜Ñ$Ô$ð 	ØÐØÔ$ˆÝ˜‰Œð 	ØˆLØ;Ð;Ð;Ð;¨E¬NÐ;Ñ;Ô;Ð;r@   N)	rv   r<   r‚   r   ÚpopleftÚextendrw   r6   r?   )r|   ÚresÚtypesÚstackrË   rÑ   rÌ   s        @@r>   Úpep695_valuesr×   s  sß   øø€ õ ‰EŒE€Eð<ð <ð <ð <ð <ð <ð ˆ/˜%Ñ
 Ô
 €CÝ�#•tÑÔð Ý‘”ˆÝ�c‘
”
ˆØð 	JØ—’‘”ˆAÝ˜!�TÑ"Ô"ð JØ—’˜Q‘”��à—	’	 !¥x - -µ;¸q±>´> -˜$˜$ÀqÑIÔIÐIð ð 	Jð ˆàˆuˆr@   Úcheck_genericÚcheck_for_plain_stringúTypeGuard[ForwardRef]c                óÔ   ‡— ‰rt          | t          ¦  «        rdS t          | t          j        ¦  «        rdS |r/t	          | ¦  «        r t          ˆfd„| j        D ¦   «         ¦  «        S dS )NTc              3  ó<   •K  — | ]}t          |d ‰¬¦  «        V — ŒdS )T)rÙ   N)rr   )ro   ÚargrÙ   s     €r>   rq   zis_fwd_ref.<locals>.<genexpr>¢  sP   øè è € ð 
ð 
ð õ Ø�TÐ2Hðñ ô ð
ð 
ð 
ð 
ð 
ð 
r@   F)r<   re   rÃ   r	   rt   ÚanyrD   )r|   rØ   rÙ   s     `r>   rr   rr   ˜  s—   ø€ ð
 ð ¥*¨UµCÑ"8Ô"8ð ØˆtÝ	�E�?Ô5Ñ	6Ô	6ð 
ØˆtØ	ð �: eÑ,Ô,ð Ýð 
ð 
ð 
ð 
ð ”~ð	
ñ 
ô 
ñ 
ô 
ð 	
ð ˆur@   c                ó   — d S rT   rK   rŒ   s    r>   Úde_optionalize_union_typesrà   ¬  s   € Ø36°3r@   c                ó   — d S rT   rK   rŒ   s    r>   rà   rà   °  s   € Ø?B¸sr@   c                ó   — d S rT   rK   rŒ   s    r>   rà   rà   ´  ó	   € ð ˜#r@   c                ó
  — t          | ¦  «        rt          | d¦  «        S t          | ¦  «        rÔt          | ¦  «        rÅt          j        rt          | j        ¦  «        }n�t          | g¦  «        }t          ¦   «         }|rZ| 	                    ¦   «         }|j        D ]<}t          |¦  «        r| 
                    |¦  «         Œ'|                     |¦  «         Œ=|°Z|                     d¦  «         d„ |D ¦   «         }t          |Ž S | S )zÜGiven a type, filter out ``Union`` types that include ``NoneType``
    to not include the ``NoneType``.

    Contains extra logic to work on non-flattened unions, unions that contain
    ``None`` (seen in py38, 37)

    FNc                óB   — h | ]}|t           u¯t          |¦  «        °|’ŒS rK   )r6   r?   ©ro   rË   s     r>   ú	<setcomp>z-de_optionalize_union_types.<locals>.<setcomp>Ú  s-   € ÐJÐJÐJ�Q ­(Ð!2Ð!2½;Àq¹>¼>Ð!2ˆqÐ!2Ð!2Ð!2r@   )rr   Ú#_de_optionalize_fwd_ref_union_typesrÎ   Úincludes_noner   Úpy39rv   rD   r   rÒ   Úappendrw   ÚdiscardÚmake_union_type)r|   r7   Ústack_of_unionsÚu_typrp   s        r>   rà   rà   º  s  € õ �%ÑÔð Ý2°5¸%Ñ@Ô@Ð@å	�%‰Œð �]¨5Ñ1Ô1ð ÝŒ;ð 	Ý�e”nÑ%Ô%ˆCˆCõ $ U G™nœnˆOÝ‘%”%ˆCØ!ð &Ø'×/Ò/Ñ1Ô1�Ø!œNð &ð &�DÝ ‘~”~ð &Ø'×.Ò.¨tÑ4Ô4Ð4Ð4àŸš ™œ˜˜ð "ð &ð �KŠK˜ÑÔÐàJÐJ˜#ÐJÑJÔJˆå Ð$Ð$ð ˆr@   r	   Úreturn_has_noneúLiteral[True]c                ó   — d S rT   rK   ©r|   rð   s     r>   rè   rè   â  s	   € ð ˆ3r@   úLiteral[False]c                ó   — d S rT   rK   ró   s     r>   rè   rè   è  rã   r@   ú Union[_AnnotationScanType, bool]c                ó
  — | j         }t          j        d|¦  «        }|�r�|                     d¦  «                             d¦  «        d         }|dk    r&|rdn!t          |                     d¦  «        ¦  «        S |dk    �r&d	|                     d¦  «        v r§g }g }d
}|                     d¦  «        D ]Š}|d	k    r|dz  }ng|dk    r|dz  }n[|d
k    rU|dk    rO|                     d                     |¦  «                             ¦   «         ¦  «         | 	                    ¦   «          Œu|                     |¦  «         Œ‹n(t          j        d|                     d¦  «        ¦  «        }d„ |D ¦   «         }	|r t          |¦  «        t          |	¦  «        k    S |	r	t          |	Ž nt          S |rdn| S t          j        d|¦  «        }
d|
v }|r|S |r7d                     d„ |
D ¦   «         ¦  «        }|rt          |¦  «        nt          S | S )zÁreturn the non-optional type for Optional[], Union[None, ...], x|None,
    etc. without de-stringifying forward refs.

    unfortunately this seems to require lots of hardcoded heuristics

    z^(.+?)\[(.+)\]$r   r¨   éÿÿÿÿr   Té   r   ú[r   ú]ú,Ú z,\s*c                ó8   — g | ]}|d k    ¯t          |¦  «        ‘ŒS )r;   r   r   s     r>   r€   z7_de_optionalize_fwd_ref_union_types.<locals>.<listcomp>  s%   € ÐMÐMÐM¨$¸dÀfºn¸n•Z Ñ%Ô%¸n¸n¸nr@   Fz\s*\|\s*r;   ú|c              3  ó&   K  — | ]}|d k    ¯|V — ŒdS )r;   NrK   )ro   Úps     r>   rq   z6_de_optionalize_fwd_ref_union_types.<locals>.<genexpr>  s&   è è € ÐBÐB !°a¸6²k°k˜A°k°k°k°kÐBÐBr@   )r=   rˆ   r‰   ÚgroupÚsplitr	   rë   ÚjoinÚstripÚclearÚlenrí   r+   )r|   rð   rb   ÚmmÚg1r{   ÚcurrentÚignore_commaÚcharÚpartsÚpipe_tokensÚhas_noneÚanno_strs                r>   rè   rè   î  s,  € ð Ô&€Jå	ŒÐ$ jÑ	1Ô	1€BØ	ñ 7Ø�XŠX�a‰[Œ[×Ò˜sÑ#Ô# BÔ'ˆØ�ÒÐØ*ÐG�4�4µ
¸2¿8º8ÀA¹;¼;Ñ0GÔ0GÐGØ�7Š]‰]Ø�b—h’h˜q‘k”kÐ!Ð!à&(�Ø%'�Ø �ØŸHšH Q™KœKð 	)ð 	)�DØ˜s’{�{Ø$¨Ñ)˜˜Ø š˜Ø$¨Ñ)˜˜Ø%¨Ò*Ð*¨t°sª{¨{Ø Ÿš¨¯ª°Ñ(8Ô(8×(>Ò(>Ñ(@Ô(@ÑAÔAÐAØŸš™œ˜Ø Ø—N’N 4Ñ(Ô(Ð(Ð(ð	)õ œ8 G¨R¯XªX°a©[¬[Ñ9Ô9�ØMÐM°(ÐMÑMÔMˆEØð CÝ˜8‘}”}­¨E©
¬
Ò2Ð2à27ÐB•¨Ð.Ð.½UÐBà+Ð6�5�5°Ð6å”(˜;¨
Ñ3Ô3€KØ˜Ð$€HØð ØˆØð ;Ø—8’8ÐBÐB {ÐBÑBÔBÑBÔBˆØ'/Ð:�z˜(Ñ#Ô#Ð#µUÐ:à€Lr@   rÕ   c                 ó   — t           |          S )zMake a Union type.r   )rÕ   s    r>   rí   rí   $  s   € õ �Œ<Ðr@   c                ó  — t          | ¦  «        rt          | d¦  «        S t          | ¦  «        r&t          d„ t	          | ¦  «        D ¦   «         ¦  «        S t          | ¦  «        r"t          t	          | ¦  «        d         ¦  «        S t          | ¦  «        r&t          d„ t          | ¦  «        D ¦   «         ¦  «        S t          | ¦  «        rt          | j
        ¦  «        S 	 | t          dfv pt          | ¦  «        S # t          $ r Y dS w xY w)a.  Returns if the type annotation ``type_`` allows ``None``.

    This function supports:
    * forward refs
    * unions
    * pep593 - Annotated
    * pep695 - TypeAliasType (does not support looking into
    fw reference of other pep695)
    * NewType
    * plain types like ``int``, ``None``, etc
    Tc              3  ó4   K  — | ]}t          |¦  «        V — Œd S rT   ©ré   ræ   s     r>   rq   z includes_none.<locals>.<genexpr>9  s*   è è € Ð=Ð=¨•= Ñ#Ô#Ð=Ð=Ð=Ð=Ð=Ð=r@   r   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rT   r  ræ   s     r>   rq   z includes_none.<locals>.<genexpr>=  s*   è è € ÐBÐB¨•= Ñ#Ô#ÐBÐBÐBÐBÐBÐBr@   NF)rr   rè   rÎ   rÞ   r   r²   ré   rÂ   r×   r½   r»   r6   r?   Ú	TypeErrorrŒ   s    r>   ré   ré   *  s  € õ �%ÑÔð @Ý2°5¸$Ñ?Ô?Ð?Ý��„ð >ÝÐ=Ð=­X°e©_¬_Ð=Ñ=Ô=Ñ=Ô=Ð=Ý�ÑÔð 1Ý�X e™_œ_¨QÔ/Ñ0Ô0Ð0Ý�ÑÔð CÝÐBÐB­]¸5Ñ-AÔ-AÐBÑBÔBÑBÔBÐBÝ�%ÑÔð 2Ý˜UÔ0Ñ1Ô1Ð1ðØ� 4Ð(Ð(Ð>­K¸Ñ,>Ô,>Ð>øÝð ð ð ð ˆuˆuð	øøøs   ÃC9 Ã9
DÄDc                ó¶   — t          | t          ¦  «        pDt          | ¦  «        d up3t          | dd ¦  «        dv p t          | ¦  «        j        d         j        dv S )NrG   )ÚtypingÚtyping_extensionsr   )r<   Útyper    r¬   Ú__mro__rG   rŒ   s    r>   Ú	is_a_typer  I  si   € å�5�$ÑÔð 	PÝ�eÑÔ DÐ(ð	På�5˜,¨Ñ-Ô-Ø*ð+ð	Põ �‰;Œ;Ô˜qÔ!Ô,Ð0OÐOðr@   úTypeGuard[ArgsTypeProtocol]c                ó$   — t          | dd¦  «        S )Nr   Ú	UnionType)Úis_origin_ofrŒ   s    r>   rÎ   rÎ   S  s   € Ý˜˜w¨Ñ4Ô4Ð4r@   Ú	class_objú'Union[Tuple[Type[Any], ...], Type[Any]]c                ór   — t          | ¦  «        }|€dS t          |t          ¦  «        ot          ||¦  «        S )z[return True if the given type has an __origin__ that shares a base
    with the given classNF)r    r<   r  Ú
issubclass)r|   r!  Úorigins      r>   Úis_origin_of_clsr&  W  s:   € õ ˜ÑÔ€FØ€~Øˆuå�f�dÑ#Ô#ÐE­
°6¸9Ñ(EÔ(EÐEr@   )ÚmoduleÚnamesr'  úOptional[str]c               ó†   — t          | ¦  «        }|€dS t          |¦  «        |v o|du p|j                             |¦  «        S )z\return True if the given type has an __origin__ with the given name
    and optional module.NF)r    Ú_get_type_namerG   Ú
startswith)r|   r'  r(  r%  s       r>   r   r   d  sR   € õ ˜ÑÔ€FØ€~Øˆuå˜&Ñ!Ô! UÐ*ð Ø�$ˆÐ>˜&Ô+×6Ò6°vÑ>Ô>ðr@   c                ót   — t           j        r| j        S t          | dd ¦  «        }|€t          | dd ¦  «        }|S )NrF   Ú_name)r   Úpy310rF   r¬   )r|   Útyp_names     r>   r+  r+  s  sA   € Ý„|ð ØŒ~Ðå˜5 *¨dÑ3Ô3ˆØÐÝ˜u g¨tÑ4Ô4ˆHàˆr@   c                  ó&   — e Zd Zdd„Zdd	„Zdd
„ZdS )ÚDescriptorProtoÚinstanceÚobjectÚownerr   r8   c                ó   — d S rT   rK   ©rU   r3  r5  s      r>   Ú__get__zDescriptorProto.__get__  rW   r@   rÐ   r;   c                ó   — d S rT   rK   ©rU   r3  rÐ   s      r>   Ú__set__zDescriptorProto.__set__�  rW   r@   c                ó   — d S rT   rK   ©rU   r3  s     r>   Ú
__delete__zDescriptorProto.__delete__ƒ  rW   r@   N)r3  r4  r5  r   r8   r   )r3  r   rÐ   r   r8   r;   ©r3  r   r8   r;   )rF   rG   rH   r8  r;  r>  rK   r@   r>   r2  r2  ~  s4   € € € € € Ø?Ð?Ð?Ð?à=Ð=Ð=Ð=à4Ð4Ð4Ð4Ð4Ð4r@   r2  Ú_DESCc                  ó2   — e Zd ZdZerdd„Zdd„Zdd„ZdS dS )ÚDescriptorReferenceaŠ  a descriptor that refers to a descriptor.

    used for cases where we need to have an instance variable referring to an
    object that is itself a descriptor, which typically confuses typing tools
    as they don't know when they should use ``__get__`` or not when referring
    to the descriptor assignment as an instance variable. See
    sqlalchemy.orm.interfaces.PropComparator.prop

    r3  r4  r5  r   r8   r@  c                ó   — d S rT   rK   r7  s      r>   r8  zDescriptorReference.__get__–  rW   r@   rÐ   r;   c                ó   — d S rT   rK   r:  s      r>   r;  zDescriptorReference.__set__˜  rW   r@   c                ó   — d S rT   rK   r=  s     r>   r>  zDescriptorReference.__delete__š  rW   r@   N)r3  r4  r5  r   r8   r@  )r3  r   rÐ   r@  r8   r;   r?  ©rF   rG   rH   rI   r   r8  r;  r>  rK   r@   r>   rB  rB  ‰  sR   € € € € € ðð ð ð 9àEÐEÐEÐEàCÐCÐCÐCà8Ð8Ð8Ð8Ð8Ð8ð9ð 9r@   rB  Ú_DESC_co)r.   r1   c                  ó2   — e Zd ZdZerdd„Zdd„Zdd„ZdS dS )ÚRODescriptorReferencez½a descriptor that refers to a descriptor.

    same as :class:`.DescriptorReference` but is read-only, so that subclasses
    can define a subtype as the generically contained element

    r3  r4  r5  r   r8   rG  c                ó   — d S rT   rK   r7  s      r>   r8  zRODescriptorReference.__get__ª  rW   r@   rÐ   r   c                ó   — d S rT   rK   r:  s      r>   r;  zRODescriptorReference.__set__¬  rW   r@   c                ó   — d S rT   rK   r=  s     r>   r>  z RODescriptorReference.__delete__®  rW   r@   N)r3  r4  r5  r   r8   rG  )r3  r   rÐ   r   r8   r   )r3  r   r8   r   rF  rK   r@   r>   rI  rI     sR   € € € € € ðð ð ð =àHÐHÐHÐHàEÐEÐEÐEà<Ð<Ð<Ð<Ð<Ð<ð=ð =r@   rI  Ú_FN.c                  ó2   — e Zd ZdZerdd„Zdd„Zdd„ZdS dS )ÚCallableReferencez�a descriptor that refers to a callable.

    works around mypy's limitation of not allowing callables assigned
    as instance variables


    r3  r4  r5  r   r8   rM  c                ó   — d S rT   rK   r7  s      r>   r8  zCallableReference.__get__¿  rW   r@   rÐ   r;   c                ó   — d S rT   rK   r:  s      r>   r;  zCallableReference.__set__Á  rW   r@   c                ó   — d S rT   rK   r=  s     r>   r>  zCallableReference.__delete__Ã  rW   r@   N)r3  r4  r5  r   r8   rM  )r3  r   rÐ   rM  r8   r;   r?  rF  rK   r@   r>   rO  rO  ´  sR   € € € € € ðð ð ð 9àCÐCÐCÐCàAÐAÐAÐAà8Ð8Ð8Ð8Ð8Ð8ð9ð 9r@   rO  c                  ó   — e Zd Zdd„ZdS )Ú_TypingInstancesÚkeyre   r8   útuple[type, ...]c           	     óÂ   — t          d„ t          t          |d ¦  «        t          t          |d ¦  «        fD ¦   «         ¦  «        }|st	          |¦  «        ‚|| j        |<   |S )Nc                ó   — h | ]}|®|’ŒS rT   rK   ræ   s     r>   rç   z/_TypingInstances.__getattr__.<locals>.<setcomp>É  s)   € ð ð ð àð �=ð ð
 !�=�=r@   )rx   r¬   r  r  ÚAttributeErrorrš   )rU   rU  rÕ   s      r>   Ú__getattr__z_TypingInstances.__getattr__Ç  sy   € Ýðð õ �F C¨Ñ.Ô.ÝÕ-¨s°DÑ9Ô9ððñ ô ñ	
ô 	
ˆð ð 	&Ý  Ñ%Ô%Ð%Ø"ˆŒ�cÑØˆr@   N)rU  re   r8   rV  )rF   rG   rH   rZ  rK   r@   r>   rT  rT  Æ  s(   € € € € € ðð ð ð ð ð r@   rT  )r7   r   r8   r9   )r`   ra   rb   rc   rd   re   rf   rg   r]   rh   r^   r9   r_   ri   r8   ra   )r|   rc   r8   rc   )rb   rŽ   r{   rC   r8   rN   )
r’   re   r“   re   rf   r”   rl   r•   r8   r   )r¦   re   r“   re   rf   r”   r8   r   )r¦   re   r“   re   r8   re   )r|   r¯   r8   r9   )r­   r   r8   r³   )r|   r   r8   r9   )r|   r¸   r8   r¹   )r|   rc   r8   r¾   )r|   rc   r8   rÀ   )r|   r   r8   ra   )r|   rc   r8   rÇ   )FF)r|   rc   rØ   r9   rÙ   r9   r8   rÚ   )r|   re   r8   re   )r|   ra   r8   ra   )r|   r	   rð   rñ   r8   r9   )r|   r	   rð   rô   r8   rc   )r|   r	   rð   r9   r8   rö   )rÕ   rc   r8   ra   )r|   r   r8   r  )r|   r   r!  r"  r8   r9   )r|   r   r(  re   r'  r)  r8   r9   )r|   ra   r8   re   )fÚ
__future__r   r©   Úcollectionsr   Úcollections.abcÚabcrƒ   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&   r'   r(   r)   r*   r+   r,   r-   r/   r0   r2   r4   r5   r/  rÕ   r6   r  r?   re   rc   rB   rM   rQ   Ú_LiteralStarrn   r�   ry   rs   rª   r®   r²   r¶   ru   r½   rt   rÂ   rÆ   r×   rr   rà   rè   rí   ré   r  rÎ   r&  r   r+  r2  r@  rB  rG  rI  rM  rO  rT  r±   rÃ   ÚLITERAL_TYPESrK   r@   r>   ú<module>ra     s½  ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð à Ð Ð Ð Ð Ð ðAØ8Ð8Ð8Ð8Ð8Ð8Ø<Ð<Ð<Ð<Ð<Ð<ðð ð ð ð ð ð 1Ð0Ð0Ð0Ð0Ð0Ø0Ð0Ð0Ð0Ð0Ð0Ø6Ð6Ð6Ð6Ð6Ð6Ø:Ð:Ð:Ð:Ð:Ð:Ø4Ð4Ð4Ð4Ð4Ð4Ø<Ð<Ð<Ð<Ð<Ð<Ø8Ð8Ð8Ð8Ð8Ð8Ø6Ð6Ð6Ð6Ð6Ð6Ø@Ð@Ð@Ð@Ð@Ð@Ø8Ð8Ð8Ð8Ð8Ð8Ø8Ð8Ð8Ð8Ð8Ð8Ø8Ð8Ð8Ð8Ð8Ð8Ø.Ð.Ð.Ð.Ð.Ð.Ø@Ð@Ð@Ð@Ð@Ð@Ø0Ð0Ð0Ð0Ð0Ð0Ø@Ð@Ð@Ð@Ð@Ð@à€WˆT˜ÐÑÔ€Ø€gˆe�n„n€Ø	ˆ� TÐ	*Ñ	*Ô	*€ØˆW�\°Ð6Ñ6Ô6€
Ø€gˆe�n„n€Ø	ˆ� TÐ	*Ñ	*Ô	*€à	„<ð ð +Ð*Ð*Ð*Ð*Ð*Ð*àˆt�D‰zŒz€HðIð Ið Ið Ið Øˆ„Iˆs�J ¨Ð8NÐNôÐ ð
.ð .ð .ð .ð .�xñ .ô .ð .ðð ð ð ð �h˜r”lñ ô ð ð(3ð 3ð 3ð 3ð 3˜X c¨6 kÔ2ñ 3ô 3ð 3ð �sŒ|€ð ;?Ø!Ø(,ðDð Dð Dð Dð Dð DðN&ð &ð &ð &ðR/ð /ð /ð /ð ,0Ø$(ð!ð !ð !ð !ð !ð !ðP ,0ð	ð ð ð ð ð ðD.ð .ð .ð .ðMð Mð Mð Mðð ð ð ð5ð 5ð 5ð 5ð+ð +ð +ð +ðGð Gð Gð Gð<ð <ð <ð <ðð ð ð ð"ð "ð "ð "ðN  Ø#(ðð ð ð ð ð( 
Ø 6Ð 6Ð 6ñ 
„Ø 6ð 
Ø BÐ BÐ Bñ 
„Ø Bð 
ðð ð ñ 
„ðð
%ð %ð %ð %ðP 
ðð ð ñ 
„ðð
 
ðð ð ñ 
„ðð
3ð 3ð 3ð 3ðlð ð ð ðð ð ð ð>ð ð ð ð5ð 5ð 5ð 5ð
Fð 
Fð 
Fð 
Fð 6:ðð ð ð ð ð ðð ð ð ð5ð 5ð 5ð 5ð 5�hñ 5ô 5ð 5ð 	ˆ�˜Ð/Ñ/Ô/€ð9ð 9ð 9ð 9ð 9˜' %œ.ñ 9ô 9ð 9ð( ˆ7�: _ÀÐEÑEÔE€ð=ð =ð =ð =ð =˜G HÔ-ñ =ô =ð =ð" €gˆe˜8 H¨S°#¨XÔ$6Ô7Ð8Ñ8Ô8€ð9ð 9ð 9ð 9ð 9˜ œñ 9ô 9ð 9ð$ð ð ð ð ñ ô ð ð$  ÐÑ!Ô!€Øð #Ø'€O€Oà"€OàÔ$€€€r@   