Ë
    pPêj* ã                  óÒ  — U d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZmZmZ ddlZddlmZmZ dd	lmZ dd
lmZ ddlmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= ddl>m?Z?m@Z@ ddlAmBZB ddlCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZM ddlmNZN ddlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZl ddlmmnZn ddlompZpmqZq h d£Zrdesd<   e(de'de%de&de)de*diZtdesd<   ddd d!d!d"d#d$d%d&œ	Zudesd'<   h d(£Zvdesd)<   d*Zwd*Zx G d+„ d,«      ZydYd-„ZzdZd.„Z{	 	 	 	 	 	 	 	 	 	 	 	 d[d/„Z|	 	 d\	 	 	 	 	 	 	 	 	 	 	 	 	 d]d1„Z}d^d2„Z~ G d3„ d4en«      Zd_d5„Z€d`d6„Z�	 da	 	 	 	 	 	 	 	 	 dbd7„Z‚	 da	 	 	 	 	 	 	 	 	 dbd8„Zƒd0d9œdcd:„Z„ddd;„Z…dedfd<„Z†ddd=„Z‡dgd>„Zˆdhd?„Z‰	 	 di	 	 	 	 	 	 	 	 	 	 	 djd@„ZŠ	 de	 	 	 	 	 	 	 dkdA„Z‹dldB„ZŒdmdC„Z�dldD„ZŽdndE„Z�dodF„Z�dpdG„Z‘dqdH„Z’drdI„Z“dsdJ„Z”dKdLiZ•dMesdN<   dtdO„Z–dudP„Z—dvdQ„Z˜	 	 	 	 	 	 	 	 dwdR„Z™	 	 	 	 	 	 	 	 	 	 dxdS„Zš	 	 	 	 	 	 	 	 dwdT„Z›	 	 	 	 	 	 	 	 	 	 dydU„Zœd0dVœdzdW„Z�d{dX„Zžy)|aÛ  Facilities for generating error messages during type checking.

Don't add any non-trivial message construction logic to the type
checker, as it can compromise clarity and make messages less
consistent. Add such logic to this module instead. Literal messages, including those
with format args, should be defined as constants in mypy.message_registry.

Historically we tried to avoid all message string literals in the type
checker but we are moving away from this convention.
é    )ÚannotationsN)ÚCallableÚ
CollectionÚIterableÚIteratorÚSequence)Úcontextmanager)Údedent)ÚAnyÚFinalÚcast)Ú
errorcodesÚmessage_registry)Ú
erase_type)Ú	ErrorCode)Ú	ErrorInfoÚErrorsÚErrorWatcherÚIterationDependentErrorsÚIterationErrorWatcherÚNonOverlapErrorInfo)Ú	ARG_NAMEDÚARG_NAMED_OPTÚARG_OPTÚARG_POSÚARG_STARÚ	ARG_STAR2ÚCONTRAVARIANTÚ	COVARIANTÚSYMBOL_FUNCBASE_TYPESÚArgKindÚCallExprÚContextÚ
ExpressionÚFuncDefÚ	IndexExprÚMypyFileÚNameExprÚ
ReturnStmtÚStrExprÚ
SymbolNodeÚSymbolTableÚTypeInfoÚVarÚget_func_defÚreverse_builtin_aliases)Ú
op_methodsÚop_methods_to_symbols)ÚOptions)
ÚIS_CLASS_OR_STATICÚIS_CLASSVARÚIS_EXPLICIT_SETTERÚIS_SETTABLEÚIS_VARÚfind_memberÚget_member_flagsÚget_protocol_memberÚis_same_typeÚ
is_subtype)Úseparate_union_literals)ÚAnyTypeÚCallableTypeÚDeletedTypeÚFunctionLikeÚInstanceÚLiteralTypeÚNoneTypeÚ
OverloadedÚ
ParametersÚParamSpecTypeÚPartialTypeÚ
ProperTypeÚ	TupleTypeÚTypeÚTypeAliasTypeÚTypedDictTypeÚ	TypeOfAnyÚTypeStrVisitorÚTypeTypeÚTypeVarLikeTypeÚTypeVarTupleTypeÚTypeVarTypeÚUnboundTypeÚUninhabitedTypeÚ	UnionTypeÚ
UnpackTypeÚflatten_nested_unionsÚget_proper_typeÚget_proper_types)ÚTypeTraverserVisitor)Úplural_sÚunmangle>   ú
typing.Anyú
typing.Setútyping.Dictútyping.Listútyping.castútyping.Tupleútyping.Unionútyping.TypeVarútyping.Callableútyping.Iteratorútyping.Optionalútyping.Iterabler   ÚTYPES_FOR_UNIMPORTED_HINTSÚArgÚ
DefaultArgÚNamedArgÚDefaultNamedArgÚVarArgÚKwArgÚARG_CONSTRUCTOR_NAMESzset.pyiz	tuple.pyizbool.pyizexception.pyizisinstancelist.pyizproperty.pyizclassmethod.pyiztyping-medium.pyi)	zbuiltins.setúbuiltins.tuplezbuiltins.boolzbuiltins.Exceptionzbuiltins.BaseExceptionzbuiltins.isinstancezbuiltins.propertyzbuiltins.classmethodútyping._SpecialFormÚSUGGESTED_TEST_FIXTURES>   únumbers.Realúnumbers.Numberúnumbers.Complexúnumbers.Integralúnumbers.RationalÚUNSUPPORTED_NUMBERS_TYPESé
   c                  óÄ	  — e Zd ZU dZded<   ded<   ded<   d¥d„Zd	d
d
d
dœ	 	 	 	 	 	 	 	 	 d¦d„Zd§d„Zed¨d„«       Z	d©d„Z
d©d„Zdªd„Z	 d«dddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d¬d„Zdddœ	 	 	 	 	 	 	 	 	 d­d„Z	 d«ddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d®d„Z	 d«ddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d¯d„Z	 d°	 	 	 	 	 	 	 	 	 	 	 d±d„Zej&                  dœ	 	 	 	 	 	 	 	 	 	 	 d²d„Zd³d„Zd´d„Zdµd „Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d¶d!„Z	 	 	 	 	 	 	 	 	 	 d·d"„Z	 d°	 	 	 	 	 	 	 	 	 d¸d#„Z	 	 	 	 	 	 	 	 	 	 	 	 d¹d$„Zdºd%„Z	 	 	 	 	 	 	 	 d»d&„Zd¼d'„Zd½d(„Z	 	 	 	 	 	 	 	 d¾d)„Z d½d*„Z!d½d+„Z"dd,œ	 	 	 	 	 	 	 	 	 d¿d-„Z#	 	 	 	 	 	 	 	 	 	 dÀd.„Z$ejJ                  f	 	 	 	 	 	 	 dÁd/„Z&dÂd0„Z'dÃd1„Z(dÄd2„Z)dÄd3„Z*ddd4œ	 	 	 	 	 	 	 	 	 	 	 	 	 dÅd5„Z+	 	 	 	 	 	 	 	 dÆd6„Z,dÇd7„Z-dÈd8„Z.dÉd9„Z/dÊd:„Z0	 	 	 	 	 	 	 	 	 	 dËd;„Z1	 	 	 	 	 	 	 	 	 	 dÌd<„Z2	 	 	 	 	 	 	 	 	 	 	 	 	 	 dÍd=„Z3dd
d>œ	 	 	 	 	 	 	 	 	 	 	 dÎd?„Z4	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dÏd@„Z5	 	 	 	 	 	 	 	 	 	 	 	 	 	 dÐdA„Z6dÑdB„Z7	 	 	 	 	 	 	 	 	 	 dÒdC„Z8	 	 	 	 	 	 	 	 dÓdD„Z9dÔdE„Z:dÕdF„Z;dÖdG„Z<d×dH„Z=d×dI„Z>dØdJ„Z?dÙdK„Z@dÇdL„ZAdÇdM„ZBdÚdN„ZCdÇdO„ZDdÛdÜdP„ZEdÛdÜdQ„ZFdÝdR„ZGdÇdS„ZHd×dT„ZIdÞdU„ZJdßdV„ZK	 	 	 	 	 	 	 	 	 	 	 	 dàdW„ZL	 	 	 	 	 	 	 	 dádX„ZM	 	 	 	 	 	 	 	 dâdY„ZN	 	 	 	 	 	 	 	 	 	 dãdZ„ZOdÇd[„ZPd×d\„ZQd×d]„ZR	 	 	 	 	 	 	 	 däd^„ZSdåd_„ZTdæd`„ZUdçda„ZVdèdb„ZWdèdc„ZXdédd„ZY	 	 	 	 	 	 	 	 	 	 dêde„ZZdëdf„Z[dìdg„Z\	 	 	 	 	 	 	 	 	 	 dídh„Z]	 	 	 	 	 	 	 	 dîdi„Z^dïdj„Z_dïdk„Z`dïdl„ZadÇdm„Zbdðdn„Zc	 	 	 	 	 	 	 	 	 	 	 	 dñdo„Zddòdp„Zedódq„Zfdôdr„Zgdõds„Zh	 	 	 	 	 	 	 	 dödt„ZidÔdu„Zjd÷dv„Zkdødw„ZldÔdx„Zmdùdy„Zndúdz„Zo	 d°	 	 	 	 	 	 	 dûd{„Zpdèd|„Zqdüd}„Zrdýd~„Zs	 	 	 	 	 	 	 	 	 	 dþd„Ztdÿd€„Zu	 dÛ	 	 	 	 	 	 	 	 	 �d d�„Zv�dd‚„Zw	 	 	 	 	 	 	 	 �ddƒ„Zx	 	 	 	 	 	 	 	 �dd„„ZydÇd…„ZzdÔd†„Z{dÔd‡„Z|dÇdˆ„Z}dÔd‰„Z~�ddŠ„Z	 	 	 	 	 	 	 	 	 	 �dd‹„Z€dÔdŒ„Z�dÔd�„Z‚	 	 	 	 	 	 	 	 �ddŽ„Zƒ	 	 	 	 	 	 	 	 �dd�„Z„	 	 	 	 	 	 	 	 	 	 �dd�„Z…dÇd‘„Z†�d	d’„Z‡�d	d“„Zˆ�d
d”„Z‰�d
d•„ZŠ�dd–„Z‹	 	 	 	 	 	 	 	 �dd—„ZŒ	 	 	 	 	 	 	 	 �dd˜„Z�	 	 	 	 	 	 	 	 	 	 �dd™„ZŽd
d
dšœ	 	 	 	 	 	 	 	 	 	 	 	 	 �dd›„Z�ddœ	 	 	 	 	 	 	 	 	 	 	 �ddœ„Z�	 	 �d	 	 	 	 	 	 	 	 	 	 	 	 	 �dd�„Z‘�ddž„Z’	 	 	 	 	 	 	 	 	 	 �ddŸ„Z“�dd „Z”dÇd¡„Z•�dd¢„Z–dÔd£„Z—�dd¤„Z˜y(  ÚMessageBuildera‚  Helper class for reporting type checker error messages with parameters.

    The methods of this class need to be provided with the context within a
    file; the errors member manages the wider context.

    IDEA: Support a 'verbose mode' that includes full information about types
          in error messages and that may otherwise produce more detailed error
          messages.
    r   Úerrorsúdict[str, MypyFile]Úmodulesz
list[bool]Ú_disable_type_namesc                óP   — || _         |j                  | _        || _        g | _        y ©N)r   Úoptionsr�   r‚   )Úselfr   r�   s      úR/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/messages.pyÚ__init__zMessageBuilder.__init__·   s#   € ØˆŒØ—~‘~ˆŒØˆŒØ#%ˆÕ ó    TF©Úfilter_errorsÚsave_filtered_errorsÚfilter_deprecatedÚfilter_revealed_typec               ó6   — t        | j                  ||||¬«      S )NrŠ   )r   r   )r†   r‹   rŒ   r�   rŽ   s        r‡   r‹   zMessageBuilder.filter_errorsÁ   s$   € ô Ø�K‰KØ'Ø!5Ø/Ø!5ô
ð 	
r‰   c                óH   — |D ]  }| j                   j                  |«       Œ y)z'Add errors in messages to this builder.N)r   Úadd_error_info)r†   r   Úinfos      r‡   Ú
add_errorszMessageBuilder.add_errorsÑ   s#   € àò 	-ˆDØ�K‰K×&Ñ& tÕ,ñ	-r‰   c              #  ó¾   K  — | j                   j                  d«       	 d –— | j                   j                  «        y # | j                   j                  «        w xY w­w)NT)r‚   ÚappendÚpop©r†   s    r‡   Údisable_type_namesz!MessageBuilder.disable_type_namesÖ   sF   è ø€ à× Ñ ×'Ñ'¨Ô-ð	+Ûà×$Ñ$×(Ñ(Õ*øˆD×$Ñ$×(Ñ(Õ*üs   ‚AŸ> £A¾AÁAc                óT   — t        | j                  «      dkD  xr | j                  d   S )Nr   éÿÿÿÿ)Úlenr‚   r—   s    r‡   Úare_type_names_disabledz&MessageBuilder.are_type_names_disabledÞ   s(   € Ü�4×+Ñ+Ó,¨qÑ0ÒQ°T×5MÑ5MÈbÑ5QÐQr‰   c                ó6   — | j                   j                  «       S )z¬Should we generate simple/fast error messages?

        If errors aren't shown to the user, we don't want to waste cycles producing
        complex error messages.
        )r   Úprefer_simple_messagesr—   s    r‡   rž   z%MessageBuilder.prefer_simple_messagesá   s   € ð �{‰{×1Ñ1Ó3Ð3r‰   c                óž   — t        |t        «      s|j                  gS t        |j                  |j                  xs |j                  dz   «      S )zDThis determines where a type: ignore for a given context has effect.é   )Ú
isinstancer$   ÚlineÚrangeÚend_line©r†   Úctxs     r‡   Úspan_from_contextz MessageBuilder.span_from_contexté   s;   € ä˜#œzÔ*Ø—H‘H�:ÐÜ�S—X‘X §¡Ò 8°·±¸AÑ=Ó>Ð>r‰   r   N)ÚcodeÚparent_errorc               ó8  — | j                  |«      }|�%t        j                  || j                  |«      «      }| j                  j	                  |r|j
                  nd|r|j                  nd||||||r|j                  nd|r|j                  |¬«
      S d|¬«
      S )zÁReport an error or note (unless disabled).

        Note that context controls where error is reported, while origin_context
        controls where # type: ignore comments have effect.
        rš   )r¨   ÚseverityÚoffsetÚorigin_spanr¤   Ú
end_columnr©   )	r§   Ú	itertoolsÚchainr   Úreportr¢   Úcolumnr¤   r®   )	r†   ÚmsgÚcontextr«   r¬   r¨   Úorigin_contextr©   r­   s	            r‡   r±   zMessageBuilder.reportï   s¨   € ð" ×,Ñ,¨WÓ5ˆØÐ%Ü#Ÿ/™/¨+°t×7MÑ7MÈnÓ7]Ó^ˆKà�{‰{×!Ñ!Ù#ˆG�LŠL¨Ù%ˆG�NŠN¨2ØØØØØ#Ù)0�W×%Ò%°bÙ-4�w×)Ñ)Ø%ð "ó 
ð 	
ð ;=Ø%ð "ó 
ð 	
r‰   ©r¨   rµ   c               ó.   — | j                  ||d||¬«      S )z*Report an error message (unless disabled).Úerrorr¶   ©r±   )r†   r³   r´   r¨   rµ   s        r‡   ÚfailzMessageBuilder.fail  s   € ð �{‰{˜3 ¨°tÈNˆ{Ó[Ð[r‰   ©r¨   rµ   r©   c          	     ó4   — | j                  ||d||||¬«       y)z Report a note (unless disabled).Únote)r¬   r¨   rµ   r©   Nr¹   )r†   r³   r´   r¬   r¨   rµ   r©   s          r‡   r½   zMessageBuilder.note  s*   € ð 	�‰ØØØØØØ)Ø%ð 	õ 	
r‰   c          
     óŽ   — t        |j                  d«      «      j                  «       D ]  }| j                  ||d||||¬«       Œ y)z?Report as many notes as lines in the message (unless disabled).ú
r½   r»   N)r
   ÚlstripÚ
splitlinesr±   )r†   Úmessagesr´   r¬   r¨   rµ   r©   r³   s           r‡   Únote_multilinezMessageBuilder.note_multiline1  sP   € ô ˜(Ÿ/™/¨$Ó/Ó0×;Ñ;Ó=ò 		ˆCØ�K‰KØØØØØØ-Ø)ð õ ñ		r‰   c           
     óÖ  — t        |«      }t        |«      }t        |t        «      r2|j                  j	                  |«      r| j                  d|› d�|«       y|dk(  rJ| j                  dt        || j                  «      › d�|t        j                  ¬«       t        j                  S |t        j                  «       v rGt        j                  «       D ]/  \  }}||k(  sŒ| j                  |||«       t        j                  c S  y|dk(  rJ| j                  d	t        || j                  «      › d�|t        j                  ¬«       t        j                  S |d
k(  rJ| j                  dt        || j                  «      › d�|t        j                  ¬«       t        j                  S |dk(  rJ| j                  dt        || j                  «      › d�|t        j                  ¬«       t        j                  S |dk(  r t        |t        «      rF|j                  «       r6| j                  dj!                  t        || j                  «      «      |«       y| j                  dt        || j                  «      › d�|t        j"                  ¬«       t        j"                  S |dk(  rU| j                  dj!                  t        || j                  «      «      |t        j"                  ¬«       t        j"                  S |dk(  r¾t        |t        «      rK|j                  j$                  dk(  r2| j                  d|t        j                  ¬«       t        j                  S | j                  t&        j(                  j!                  t        || j                  «      «      |t        j                  ¬«       t        j                  S d}|dk(  rd}n|dk(  rd}| j+                  «       �sõd}	t        |t        «      �r‰|j                  j,                  �rr|�U||v rQ||   j.                  sB| j                  t        || j                  d¬«      › d|› d �|t        j0                  ¬«       d}	�nt3        |j                  j,                  j5                  «       «      }
|�3|
|j                  «       D ��ch c]  \  }}|j.                  sŒ|’Œ c}}z  }
|
j7                  |«       t8        j;                  |g «      D �cg c]	  }||
v sŒ|‘Œ }}|j=                  t?        ||
d!¬"«      «       |dk(  r|dgk(  rg }|rT| j                  d#j!                  t        || j                  «      |tA        |d$«      |«      |t        j0                  ¬«       d}	|	sG| j                  d%j!                  t        || j                  «      ||«      |t        j0                  ¬«       t        j0                  S t        |tB        «      r‚tE        ||| j                  ¬&«      \  }}|d'k(  rtG        d(„ |j                  D «       «      rd)}| j                  d*j!                  ||||«      |t        jH                  ¬«       t        jH                  S t        |tJ        «      rœt        |jL                  «      }t        |tB        «      rvtE        ||| j                  ¬&«      \  }}t        || j                  «      }| j                  d+j!                  |||||«      |t        jH                  ¬«       t        jH                  S y| j                  d%j!                  t        || j                  «      ||«      |t        j0                  ¬«       t        j0                  S c c}}w c c}w ),a0  Report a missing or non-accessible member.

        original_type is the top-level type on which the error occurred.
        typ is the actual type that is missing the member. These can be
        different, e.g., in a union, original_type will be the union and typ
        will be the specific item in the union that does not have the member
        attribute.

        'module_symbol_table' is passed to this function if the type for which we
        are trying to get a member was originally a module. The SymbolTable allows
        us to look up and suggests attributes of the module since they are not
        directly available on original_type

        If member corresponds to an operator, use the corresponding operator
        name in the messages. Return the error code that was produced, if any.
        zMember "z" is not assignableNÚ__contains__z'Unsupported right operand type for in (ú)©r¨   Ú__neg__z&Unsupported operand type for unary - (Ú__pos__z&Unsupported operand type for unary + (Ú
__invert__z Unsupported operand type for ~ (Ú__getitem__z,The type {} is not generic and not indexablezValue of type z is not indexableÚ__setitem__z.Unsupported target for indexed assignment ({})Ú__call__zbuiltins.functionz$Cannot call function of unknown typeÚ Ú__iter__z (not iterable)Ú	__aiter__z (not async iterable)FT©Úmodule_namesz' does not explicitly export attribute "ú"é   ©Únz%{} has no attribute "{}"; maybe {}?{}Úorz{} has no attribute "{}"{}©r…   z"object"c              3  ó@   K  — | ]  }t        |«      t        k(  –— Œ y ­wr„   )ÚtyperE   )Ú.0Úitems     r‡   ú	<genexpr>z-MessageBuilder.has_no_attr.<locals>.<genexpr>ù  s   è ø€ ò 4Ø/3”D˜“J¤(Õ*ñ4ùs   ‚z"None"z%Item {} of {} has no attribute "{}"{}zIItem {} of the upper bound {} of type variable {} has no attribute "{}"{})'rZ   r¡   rC   rÚ   Úhas_readable_memberrº   Úformat_typer…   ÚcodesÚOPERATORr1   ÚvaluesÚitemsÚunsupported_left_operandrB   Úis_type_objÚformatÚINDEXÚfullnamer   ÚNOT_CALLABLErœ   ÚnamesÚmodule_publicÚATTR_DEFINEDÚsetÚkeysÚdiscardÚCOMMON_MISTAKESÚgetÚextendÚbest_matchesÚ
pretty_seqrW   Úformat_type_distinctlyÚanyÚ
UNION_ATTRrT   Úupper_bound)r†   Úoriginal_typeÚtypÚmemberr´   Úmodule_symbol_tableÚopÚmethodÚextraÚfailedÚalternativesÚkÚvÚmÚmatchesÚ
typ_formatÚorig_type_formatÚboundÚtyp_fmtÚ	bound_fmtÚoriginal_type_fmts                        r‡   Úhas_no_attrzMessageBuilder.has_no_attrO  sé  € ô0 (¨Ó6ˆÜ˜cÓ"ˆä�m¤XÔ.°=×3EÑ3E×3YÑ3YÐZ`Ô3aØ�I‰I˜  Ð(;Ð<¸gÔFØØ�~Ò%Ø�I‰IØ9¼+ÀmÐUY×UaÑUaÓ:bÐ9cÐcdÐeØÜ—^‘^ð ô ô
 —>‘>Ð!Ø”z×(Ñ(Ó*Ñ*ô )×.Ñ.Ó0ò *‘
��FØ˜VÓ#Ø×1Ñ1°"°mÀWÔMÜ Ÿ>™>Ò)ð*ðJ ðC �yÒ Ø�I‰IØ8¼À]ÐTX×T`ÑT`Ó9aÐ8bÐbcÐdØÜ—^‘^ð ô ô
 —>‘>Ð!Ø�yÒ Ø�I‰IØ8¼À]ÐTX×T`ÑT`Ó9aÐ8bÐbcÐdØÜ—^‘^ð ô ô
 —>‘>Ð!Ø�|Ò#Ø�I‰IØ2´;¸}ÈdÏlÉlÓ3[Ð2\Ð\]Ð^ØÜ—^‘^ð ô ô
 —>‘>Ð!Ø�}Ò$ô ˜-¬Ô6¸=×;TÑ;TÔ;VØ—	‘	ØB×IÑIÜ# M°4·<±<Ó@óð ô	ð à—	‘	Ø$¤[°ÀÇÁÓ%MÐ$NÐN_Ð`ØÜŸ™ð ô ô
 —{‘{Ð"Ø�}Ò$à�I‰IØ@×GÑGÜ ¨t¯|©|Ó<óð Ü—[‘[ð ô ô —;‘;ÐØ�zÒ!Ü˜-¬Ô2Ø×"Ñ"×+Ñ+Ð/BÒBð —	‘	Ð@À'ÔPU×P^ÑP^�	Ô_Ü—~‘~Ð%à—	‘	Ü$×1Ñ1×8Ñ8¼À]ÐTX×T`ÑT`Ó9aÓbØÜŸ™ð ô ô
 —~‘~Ð%ð ˆEØ˜Ò#Ø)‘Ø˜;Ò&Ø/�Ø×/Ñ/Õ1Ø�Ü˜m¬XÕ6¸=×;MÑ;M×;SÓ;Sà+Ð7Ø"Ð&9Ñ9Ø 3°FÑ ;× IÒ IàŸ	™	Ü*¨=¸$¿,¹,ÐUYÔZÐ[ð \<Ø<B¸8À1ðFà#Ü!&×!3Ñ!3ð	 "ô ð "&šä'*¨=×+=Ñ+=×+CÑ+C×+HÑ+HÓ+JÓ'K˜Ø.Ð:Ø(Ø.A×.GÑ.GÓ.I÷-Ù&* a¨ÈQÏ_Ë_¢ó-ñ ˜Lð %×,Ñ,¨VÔ4ä.=×.AÑ.AÀ&È"Ó.MÖ"c¨ÐQRÐVbÒQb¢1Ð"c˜Ð"cØŸ™¤|°F¸LÈAÔ'NÔOØ! [Ò0°WÀÀÒ5LØ&(˜GÙ"Ø ŸI™IØ G× NÑ NÜ$/°¸t¿|¹|Ó$LØ$*Ü$.¨w¸Ó$=Ø$)ó	!"ð !(Ü%*×%7Ñ%7ð &ô 	ð &*˜FÙØ—I‘IØ4×;Ñ;Ü'¨°t·|±|ÓDÀfÈeóð  Ü"×/Ñ/ð ô ô ×)Ñ)Ð)Ü˜M¬9Ô5ô 0FØ˜°·±ô0Ñ,�
Ð,ð  Ò+´ñ 4Ø7D×7JÑ7Jô4ô 1ð "*�JØ—	‘	Ø;×BÑBØ"Ð$4°f¸eóð Ü×)Ñ)ð ô ô ×'Ñ'Ð'Ü˜M¬;Ô7Ü'¨×(AÑ(AÓB�Ü˜e¤YÔ/Ü)?ÀÀUÐTX×T`ÑT`Ô)aÑ&�G˜YÜ(3°MÀ4Ç<Á<Ó(PÐ%Ø—I‘Ið+ß+1©6Ø# YÐ0AÀ6È5ó,ð  Ü"×-Ñ-ð ô ô !×+Ñ+Ð+ð ð —	‘	Ø0×7Ñ7Ü# M°4·<±<Ó@À&È%óð Ü×+Ñ+ð ô ô ×)Ñ)Ð)ùóO-ùò #ds   Ò] Ò/] Ó"	]&Ó,]&rÇ   c               ó  — d}t        |t        «      r|}nt        || j                  «      }d}t        |t        «      r|}nt        || j                  «      }| j	                  «       rd|› d�}nd|› d|› d|› d�}| j                  |||¬«      S )zpReport unsupported operand types for a binary operation.

        Types can be Type objects or strings.
        rÎ   zUnsupported operand types for z (likely involving Union)ú (ú and rÆ   rÇ   )r¡   Ústrrß   r…   rœ   rº   )	r†   rý   Ú	left_typeÚ
right_typer´   r¨   Úleft_strÚ	right_strr³   s	            r‡   Úunsupported_operand_typesz(MessageBuilder.unsupported_operand_types  s—   € ð ˆÜ�i¤Ô%Ø ‰Hä" 9¨d¯l©lÓ;ˆHàˆ	Ü�j¤#Ô&Ø"‰Iä# J°·±Ó=ˆIà×'Ñ'Ô)Ø2°2°$Ð6OÐP‰Cà2°2°$°b¸¸
À%È	À{ÐRSÐTˆCØ�y‰y˜˜g¨DˆyÓ1Ð1r‰   c                ó°   — | j                  «       rd|› d�}nd|› dt        || j                  «      › d�}| j                  ||t        j
                  ¬«       y )Nz"Unsupported left operand type for z (some union)r  rÆ   rÇ   )rœ   rß   r…   rº   rà   rá   )r†   rý   rú   r´   r³   s        r‡   rä   z'MessageBuilder.unsupported_left_operand=  sS   € Ø×'Ñ'Ô)Ø6°r°d¸-ÐH‰Cà6°r°d¸"¼[ÈÈdÏlÉlÓ=[Ð<\Ð\]Ð^ˆCØ�	‰	�#�w¤U§^¡^ˆ	Õ4r‰   c                óº   — | j                  t        j                  j                  t	        || j
                  «      «      |«       t        t        j                  «      S r„   )	rº   r   ré   ræ   rß   r…   r?   rO   Ú
from_error©r†   rú   r´   s      r‡   Únot_callablezMessageBuilder.not_callableD  s?   € Ø�	‰	Ô"×/Ñ/×6Ñ6´{À3ÈÏÉÓ7UÓVÐX_Ô`Ü”y×+Ñ+Ó,Ð,r‰   c                óž   — t        |«      xs d}| j                  d|› d�|t        j                  ¬«       t	        t
        j                  «      S )Nz	(unknown)zCall to untyped function z in typed contextrÇ   )Úcallable_namerº   rà   ÚNO_UNTYPED_CALLr?   rO   r  )r†   Úcalleer´   Únames       r‡   Úuntyped_function_callz$MessageBuilder.untyped_function_callH  sN   € Ü˜VÓ$Ò3¨ˆØ�	‰	Ø'¨ vÐ->Ð?ØÜ×&Ñ&ð 	ô 	
ô
 ”y×+Ñ+Ó,Ð,r‰   c	           	     óv  — t        |«      }d}	t        |«      }
|
��á|
}|�t        || j                  «      }nt	        |«      }|j                  d«      r4| j                  ||j                  |dz
     ||t        j                  ¬«      S |j                  d«      r´|dk(  r4| j                  ||j                  |dz
     ||t        j                  ¬«      S t        ||j                  |dz
     | j                  ¬«      \  }}d|› d	|› d
�}t        j                  j                  |«      }| j                  |j                  ||j                   ¬«      S |j                  d«      ršt#        j$                  «       D ]ƒ  \  }}|d|dd z   fD ]q  }|j                  d|› d�«      sŒ|dk(  s||k7  r(| j'                  ||||t        j(                  ¬«      c c S | j'                  ||||t        j(                  ¬«      c c S  Œ… d|› d�}	d}t        j*                  }g }|
dk(  rf|
dd }|dz  }t        ||j                  d   | j                  ¬«      \  }}dj-                  |j/                  «       |||«      }t        j0                  }�nm|
dk(  �rYt3        t        |j                  |dz
     «      t4        «      �r/|
dd }|dz  }t7        t4        |«      j$                  \  }}t7        t4        |j                  |   «      j$                  \  }}t9        ||«      r-t        || j                  «      }t        || j                  «      }nt        ||| j                  ¬«      \  }}t9        ||«      r-t        || j                  «      }t        || j                  «      } nt        ||| j                  ¬«      \  }} dj-                  |j/                  «       ||||| «      }t        j:                  }�n|
dk(  rSt        ||j                  |dz
     | j                  ¬«      \  }} dj-                  |dz
  || «      }t        j:                  }�n¶|
dk(  rJt=        t>        t        ||j                  d   | j                  ¬«      «      \  }}dj-                  ||«      }�ng|
dk(  rJt=        t>        t        ||j                  d   | j                  ¬«      «      \  }}dj-                  ||«      }�n|
dk(  rGt        ||j                  |dz
     | j                  ¬«      \  }}dj-                  |dk(  rd nd!||«      }�nÌ|
d"k(  r<t        ||j                  d   | j                  ¬«      \  }}d#j-                  ||«      }�n‹| jA                  «       rd$}�n;	 |j                  |dz
     }!t        ||!d%| j                  ¬&«      \  }}|tD        k(  rd'|z   }n|tF        k(  rd(|z   }tI        |«      }"t3        |tJ        «      r2tM        |jN                  «      |k\  r|jN                  |dz
     }#|#�d|#› d�}"|tF        k(  r˜t3        |tP        «      rˆ|tM        |jN                  «      k  rp|jN                  |dz
     �^|jR                  |dz
     tF        k7  rE|jN                  |dz
     }#|#€J ‚t        |j$                  |#   |!d%| j                  ¬&«      \  }}d|#› d�}"t3        |tT        «      rTt3        |jV                  tX        «      r:d)j-                  |jV                  j                  t[        |«      t[        |«      «      }n&d*j-                  |"|	t[        |«      t[        |«      «      }t        |!«      }!t3        |!t\        «      rt_        |!j$                  «      }$n|!g}$|$D ]>  }%t3        |t`        «      sŒt3        |%t`        «      sŒ%tc        |||%«      }te        |||%«      }Œ@ t        |«      }t3        |tP        «      rt        jf                  }nt        jh                  }| j                  |||¬«      }&|r|D ]  }'| jk                  |'||¬«       Œ |&S # tB        $ r |j                  d   }!Y �Œ²w xY w)+a’  Report an error about an incompatible argument type.

        The argument type is arg_type, argument number is n and the
        callee type is 'callee'. If the callee represents a method
        that corresponds to an operator, use the corresponding
        operator name in the messages.

        Return the error code that used for the argument (multiple error
        codes are possible).
        rÎ   Nz"__getitem__" ofr    rÇ   z"__setitem__" ofrØ   z (expression has type z, target has type rÆ   z"__Ú__ré   rÓ   z" ofÚinzto ú z<list>rš   r   z0{} item {} has incompatible type {}; expected {}ú<dict>z9{} entry {} has incompatible type {}: {}; expected {}: {}z<Unpacked dict entry {} has incompatible type {}; expected {}z<list-comprehension>zDList comprehension has incompatible type List[{}]; expected List[{}]z<set-comprehension>zASet comprehension has incompatible type Set[{}]; expected Set[{}]z<dictionary-comprehension>zT{} expression in dictionary comprehension has incompatible type {}; expected type {}ÚKeyÚValuez<generator>z4Generator has incompatible item type {}; expected {}zArgument has incompatible typeT)Úbarer…   Ú*ú**z3Value of "{}" has incompatible type {}; expected {}z3Argument {} {}has incompatible type {}; expected {})6rZ   r  rß   r…   Úextract_typeÚ
startswithÚinvalid_index_typeÚ	arg_typesrà   rç   rõ   r   Ú INCOMPATIBLE_TYPES_IN_ASSIGNMENTÚwith_additional_msgrº   Úvaluer¨   r2   rã   r  rá   ÚMISCræ   ÚtitleÚ	LIST_ITEMr¡   rK   r   r=   Ú	DICT_ITEMÚmapÚstrip_quotesrž   Ú
IndexErrorr   r   r  r"   r›   Ú	arg_namesrN   Ú	arg_kindsr&   Úindexr*   Úquote_type_stringrW   r[   rC   Úappend_invariance_notesÚappend_numbers_notesÚTYPEDDICT_ITEMÚARG_TYPEr½   )(r†   rÖ   r  r  Úarg_typeÚarg_kindÚobject_typer´   Úouter_contextÚtargetÚcallee_namer  ÚbaseÚarg_type_strÚcallee_type_strr’   Ú	error_msgrþ   rý   Úvariantr³   r¨   ÚnotesÚactual_type_strÚexpected_type_strÚkey_typeÚ
value_typeÚexpected_key_typeÚexpected_value_typeÚkey_type_strÚexpected_key_type_strÚvalue_type_strÚexpected_value_type_strÚexpected_typeÚ	arg_labelÚarg_nameÚexpected_typesrÚ   r¸   Únote_msgs(                                           r‡   Úincompatible_argumentz$MessageBuilder.incompatible_argumentQ  sg  € ô* # 8Ó,ˆàˆÜ# FÓ+ˆØÑ"ØˆDØÐ&Ü" ;°·±Ó=‘ä# DÓ)�à�‰Ð1Ô2Ø×.Ñ.Ø˜f×.Ñ.¨q°1©uÑ5°t¸WÌ5Ï;É;ð /ó ð ð —‘Ð!3Ô4Ø˜’6Ø×2Ñ2Ø  &×"2Ñ"2°1°q±5Ñ"9¸4ÀÌuÏ{É{ð 3ó ð ô 5KØ  &×"2Ñ"2°1°q±5Ñ"9À4Ç<Á<ô5Ñ1�L /ð 1°°Ð>PÐQ`ÐPaÐabÐcð ô )×IÑI×]Ñ]Ð^bÓcð ð  Ÿ9™9 Y§_¡_°gÀIÇNÁN˜9ÓSÐSØ—‘ Ô'Ü"7×"=Ñ"=Ó"?ò "‘J�F˜BØ#)¨5°6¸!¸"°:Ñ+=Ð#=ò "˜àŸ?™?¨Q¨w¨i°tÐ+<Õ=Ø! Tšz¨W¸Ò->à'+×'EÑ'EØ$&¨°$¸ÄeÇnÁnð (Fó ("ô !"ð (,×'EÑ'EØ$&¨¨h¸ÄeÇnÁnð (Fó ("ô !"ñ"ð"ð ˜4˜& �]ˆFàˆÜ�z‰zˆØˆØ˜(Ò"Ø˜q Ð$ˆDØ�‰FˆAÜ1GØ˜&×*Ñ*¨1Ñ-°t·|±|ô2Ñ.ˆOÐ.ð E×KÑKØ—
‘
“˜a Ð2CóˆCô —?‘?ŠDØ˜HÓ$¬Ü˜F×,Ñ,¨Q°©UÑ3Ó4´iõ*
ð ˜q Ð$ˆDØ�‰FˆAÜ#'¬	°8Ó#<×#BÑ#BÑ ˆH�jÜ59¼)ÀV×EUÑEUÐVWÑEXÓ5Y×5_Ñ5_Ñ2ÐÐ2ô ˜(Ð$5Ô6Ü*¨8°T·\±\ÓB�Ü(3Ð4EÀtÇ|Á|Ó(TÑ%ä6LØÐ/¸¿¹ô7Ñ3�Ð3ô ˜*Ð&9Ô:Ü!,¨Z¸¿¹Ó!F�Ü*5Ð6IÈ4Ï<É<Ó*XÑ'ä:PØÐ 3¸T¿\¹\ô;Ñ7�Ð 7ð N×TÑTØ—
‘
“ØØØØ%Ø'óˆCô —?‘?ŠDØ˜HÒ$Ü6LØ˜&×*Ñ*¨1¨q©5Ñ1¸4¿<¹<ô7Ñ3ˆNÐ3ð Q×WÑWØ�A‘�~Ð'>óˆCô —?‘?ŠDØÐ2Ò2Ü14ÜÜ& x°×1AÑ1AÀ!Ñ1DÈdÏlÉlÔ[ó2Ñ.ˆOÐ.ð Y×_Ñ_ØÐ!2óŠCð Ð1Ò1Ü14ÜÜ& x°×1AÑ1AÀ!Ñ1DÈdÏlÉlÔ[ó2Ñ.ˆOÐ.ð V×\Ñ\ØÐ!2óŠCð Ð8Ò8Ü1GØ˜&×*Ñ*¨1¨q©5Ñ1¸4¿<¹<ô2Ñ.ˆOÐ.ð#ç‰f˜a 1šf‘U¨'°?ÐDUÓVò ð ˜MÒ)Ü1GØ˜&×*Ñ*¨1Ñ-°t·|±|ô2Ñ.ˆOÐ.ð I×OÑOØÐ!2óŠCð ×*Ñ*Ô,Ø6’ð9Ø$*×$4Ñ$4°Q¸±UÑ$;�Mô 3IØ˜m°$ÀÇÁô3Ñ/�Ð/ð œxÒ'Ø#&¨Ñ#5‘LØ¤Ò*Ø#'¨,Ñ#6�Lô   ›F�	Ü˜m¬XÔ6¼3¸}×?VÑ?VÓ;WÐ[\Ò;\Ø,×6Ñ6°q¸1±uÑ=�HØÐ+Ø&'¨ z° O˜	à¤	Ò)Ü" 8¬]Ô;ØœS ×!1Ñ!1Ó2Ò2Ø×(Ñ(¨¨Q©Ñ/Ð;Ø×(Ñ(¨¨Q©Ñ/´9Ò<à%×/Ñ/°°A±Ñ6�HØ#Ð/Ð/Ð/Ü6LØ Ÿ™ xÑ0°-ÀdÐTX×T`ÑT`ô7Ñ3�LÐ"3ð #$ H :¨Q �IÜ˜m¬YÔ7¼JØ!×'Ñ'¬ô=ð P×VÑVØ%×+Ñ+×1Ñ1Ü)¨,Ó7Ü)Ð*;Ó<ó‘Cð P×VÑVØ!ØÜ)¨,Ó7Ü)Ð*;Ó<ó	�Cô !0°Ó >�Ü˜m¬YÔ7Ü%5°m×6IÑ6IÓ%J‘Nà&3 _�NØ*ò L�DÜ! (¬HÕ5¼*ÀTÌ8Õ:TÜ 7¸¸xÈÓ N˜Ü 4°U¸HÀdÓ K™ðLô *¨+Ó6ˆKÜ˜+¤}Ô5Ü×+Ñ+‘ä—~‘~�Ø—	‘	˜#˜w¨T�	Ó2ˆÙØ!ò 8�Ø—	‘	˜( G°$�	Õ7ð8àˆøô "ò 9Ø$*×$4Ñ$4°RÑ$8“Mð9ús   Õ3` à`8à7`8c                ó@  — | j                  «       ry t        |t        t        t        t
        t        f«      r¤t        |t        «      r+|j                  j                  r| j                  ||||¬«       t        |t        «      rY|j                  D ]J  }t        |«      }t        |t        «      sŒ|j                  j                  sŒ6| j                  ||||¬«       ŒL t        |t        «      r@t        |t        «      r0t        d||d¬«      }|r| j                  ||||j                  ¬«       t        |t        «      rF|j                  j                  r0t        d||d¬«      }|r| j                  ||||j                  ¬«       | j!                  ||||j                  «       y )N©r©   rÍ   T)Úis_operatorrÇ   )rž   r¡   rC   rK   rN   rQ   r@   rÚ   Úis_protocolÚreport_protocol_problemsrW   rã   rZ   r9   Ú	note_callr¨   Úmaybe_note_concatenate_pos_args)r†   Úoriginal_caller_typeÚcallee_typer´   r©   rÜ   Úcalls          r‡   Úincompatible_argument_notez)MessageBuilder.incompatible_argument_note2  so  € ð ×&Ñ&Ô(ØÜØ ¤8¬Y¼ÄxÔQ]Ð"^ô
ô ˜+¤xÔ0°[×5EÑ5E×5QÒ5QØ×-Ñ-Ø(¨+°wÈ\ð .ô ô ˜+¤yÔ1Ø'×-Ñ-ò �DÜ*¨4Ó0�DÜ! $¬Õ1°d·i±i×6KÓ6KØ×5Ñ5Ø0°$¸Èlð 6õ ðô �k¤<Ô0´ZÐ@TÔV^Ô5_ÜØÐ0Ð2FÐTXôˆDñ Ø—‘Ð3°T¸7È×IZÑIZ�Ô[Ü�k¤8Ô,°×1AÑ1A×1MÒ1MÜ˜z¨;¸ÐQUÔVˆDÙØ—‘˜{¨D°'À×@QÑ@Q�ÔRØ×,Ñ,Ø  +¨w¸×8IÑ8Iõ	
r‰   c                ó2  — t        |t        «      �rt        |t        «      rõ|j                  s|j                  rÜg }t        |j	                  «       |j	                  «       «      D ]o  \  }}d |j
                  |j
                  fv rŒ!|j                  |j                  k7  sŒ;|j                  �ŒH|j                  €ŒU|j                  |j                  «       Œq |r=ddj                  |«      z   dz   }| j                  d|j                  › d|› d�||¬«       y y y y y )NrÓ   ú", "zThis is likely because "z" has named arguments: z'. Consider marking them positional-onlyrÇ   )
r¡   r@   Úfrom_concatenateÚzipÚformal_argumentsÚposr  r•   Újoinr½   )	r†   re  rf  r´   r¨   rê   ÚcÚoÚmissing_argumentss	            r‡   rd  z.MessageBuilder.maybe_note_concatenate_pos_argsW  s  € ô �{¤LÕ1ÜÐ/´Ô>Ø%×6Ò6¸+×:VÒ:Và!ˆEÜØ×,Ñ,Ó.Ð0D×0UÑ0UÓ0Wóò )‘��1ð ˜AŸE™E 1§5¡5˜>Ñ)àØ—6‘6˜QŸV™VÓ#¨¯©©¸1¿6¹6Ñ;MØ—L‘L §¡Õ(ð)ñ Ø$'¨&¯+©+°eÓ*<Ñ$<¸sÑ$BÐ!Ø—	‘	Ø.Ð/C×/HÑ/HÐ.IÐI`Ø(Ð)Ð)PðRàØð	 õ ð ð ;Wð ?ð 2r‰   c               ó‚   — t        ||| j                  ¬«      \  }}| j                  dj                  |||«      ||¬«      S )NrØ   z.Invalid index type {} for {}; expected type {}rÇ   )rõ   r…   rº   ræ   )r†   Ú
index_typerX  Úbase_strr´   r¨   Ú	index_strÚexpected_strs           r‡   r.  z!MessageBuilder.invalid_index_typew  sS   € ô #9Ø˜¨t¯|©|ô#
Ñˆ	�<ð �y‰yØ<×CÑCØ˜8 \óð Øð ó 
ð 	
r‰   c           	     ó²   — t        |«      dk(  rd}nd}| j                  dj                  t        t	        |«      «      |«      t
        j                  |¬«       y )Nr    ÚisÚarez ReadOnly {} TypedDict {} mutated)r¨   r´   )r›   rº   ræ   Úformat_key_listÚsortedrà   ÚTYPEDDICT_READONLY_MUTATED)r†   rî   r´   Úsuffixs       r‡   Úreadonly_keys_mutatedz$MessageBuilder.readonly_keys_mutated‹  sN   € Üˆt‹9˜Š>Ø‰FàˆFØ�	‰	Ø.×5Ñ5´oÄfÈTÃlÓ6SÐU[Ó\Ü×1Ñ1Øð 	õ 	
r‰   c                ó   — | j                  «       rd}nÄ|�´t        d„ |D «       «      }|j                  ||j                   }|D �cg c]	  }||vsŒ|‘Œ }}t	        |«      dk(  rd}nd}t        |«      }	|	�F|rDt        d„ |D «       «      r2dj                  t        t        t           |«      «      }
|d|
› d	|	› �z  }ndt        |«      z   }ndt        |«      z   }| j                  ||t        j                  ¬
«       y c c}w )NzToo few argumentsc              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr„   © )rÛ   r  s     r‡   rÝ   z3MessageBuilder.too_few_arguments.<locals>.<genexpr>œ  s   è ø€ Ò%H°A a¨4¤iÑ%Hùó   ‚r    zMissing positional argumentzMissing positional argumentsc              3  ó$   K  — | ]  }|d u–— Œ
 y ­wr„   r‚  )rÛ   Úds     r‡   rÝ   z3MessageBuilder.too_few_arguments.<locals>.<genexpr>¤  s   è ø€ Ò7TÈ!¸À¼Ñ7Tùrƒ  rj  ú "z" in call to rÇ   )rž   Úsumr:  Úmin_argsr›   r  Úallro  r   Úlistr  Úfor_functionrº   rà   ÚCALL_ARG)r†   r  r´   Úargument_namesr³   Únum_positional_argsÚarguments_leftr  ÚdiffrG  Úargss              r‡   Útoo_few_argumentsz MessageBuilder.too_few_arguments–  sý   € ð ×&Ñ&Ô(Ø%‰CØÐ'Ü"%Ñ%H¸Ô%HÓ"HÐØ#×-Ñ-Ð.AÀFÇOÁOÐTˆNØ-ÖI˜!°¸.Ò1H’AÐIˆDÐIÜ�4‹y˜AŠ~Ø3‘à4�Ü'¨Ó/ˆKØÐ&©4´CÑ7TÈtÔ7TÔ4TØ—{‘{¤4¬¬S©	°4Ó#8Ó9�Ø˜˜D˜6 ¨{¨mÐ<Ñ<‘à)¬L¸Ó,@Ñ@‘ð &¬°VÓ(<Ñ<ˆCØ�	‰	�#�w¤U§^¡^ˆ	Õ4ùò Js   Á	C;ÁC;c                ó�   — d|› d�t        |«      z   }| j                  ||t        j                  ¬«       | j	                  ||«       y )NzMissing named argument "rÓ   rÇ   )r‹  rº   rà   rŒ  Únote_defined_here)r†   r  r´   r  r³   s        r‡   Úmissing_named_argumentz%MessageBuilder.missing_named_argument®  s@   € Ø(¨¨¨aÐ0´<ÀÓ3GÑGˆØ�	‰	�#�w¤U§^¡^ˆ	Ô4Ø×Ñ˜v wÕ/r‰   c                ó®   — | j                  «       rd}ndt        |«      z   }| j                  ||t        j                  ¬«       | j                  ||«       y )NzToo many argumentsrÇ   )rž   r‹  rº   rà   rŒ  Úmaybe_note_about_special_args©r†   r  r´   r³   s       r‡   Útoo_many_argumentsz!MessageBuilder.too_many_arguments³  sH   € Ø×&Ñ&Ô(Ø&‰Cà&¬°fÓ)=Ñ=ˆCØ�	‰	�#�w¤U§^¡^ˆ	Ô4Ø×*Ñ*¨6°7Õ;r‰   c                ó´   — |j                   D ]$  }||j                  vsŒd|› d�t        |«      z   } n | j                  ||«       y | j	                  ||«       y )NzExtra argument "z" from **args)rã   r:  r‹  r™  rº   )r†   r  rB  r´   Úkeyr³   s         r‡   Ú"too_many_arguments_from_typed_dictz1MessageBuilder.too_many_arguments_from_typed_dict»  sc   € ð —>‘>ò 	ˆCØ˜&×*Ñ*Ò*Ø(¨¨¨]Ð;¼lÈ6Ó>RÑR�Ùð	ð
 ×#Ñ# F¨GÔ4ØØ�	‰	�#�wÕr‰   c                óò   — | j                  «       rd}ndt        |«      z   }| j                  ||t        j                  ¬«       | j                  ||«       | j                  ||t        j                  ¬«       y )NzToo many positional argumentsrÇ   )rž   r‹  rº   rà   ÚCALL_ARG_MISCr—  r”  r˜  s       r‡   Útoo_many_positional_argumentsz,MessageBuilder.too_many_positional_argumentsÈ  se   € Ø×&Ñ&Ô(Ø1‰Cà1´LÀÓ4HÑHˆCØ�	‰	�#�w¤U×%8Ñ%8ˆ	Ô9Ø×*Ñ*¨6°7Ô;Ø×Ñ˜v w´U×5HÑ5HÐÕIr‰   c                óp   — | j                  «       ry t        |«      }|r|dvr| j                  d|«       y y y )N>   ÚclsÚmcsr†   zlLooks like the first special argument in a method is not named "self", "cls", or "mcs", maybe it is missing?)rž   Úget_first_argr½   )r†   r  r´   Ú	first_args       r‡   r—  z,MessageBuilder.maybe_note_about_special_argsÑ  sD   € Ø×&Ñ&Ô(Øä! &Ó)ˆ	Ù˜Ð*@Ñ@Ø�I‰Ið'ð õ	ð Aˆ9r‰   ©r  c               ó„   — d|› d�|z   }|r|dt        |d«      › d�z  }| j                  ||t        j                  ¬«       y )NúUnexpected keyword argument "rÓ   ú; did you mean r×   ú?rÇ   )rô   rº   rà   rŒ  )r†   Úfor_funcr  r´   r  r³   s         r‡   Ú(unexpected_keyword_argument_for_functionz7MessageBuilder.unexpected_keyword_argument_for_functionÞ  sK   € ð .¨d¨V°1Ð5¸Ñ@ˆÙØ�_¤Z°¸Ó%>Ð$?¸qÐAÑAˆCØ�	‰	�#�w¤U§^¡^ˆ	Õ4r‰   c                ó¸  — g }g }t        |j                  «      D ]]  \  }}|j                  |   }	|	€Œ|j                  |   t        k7  sŒ/t        ||«      r|j                  |	«       ŒM|j                  |	«       Œ_ | j                  «       st        ||d¬«      }
|
st        ||d¬«      }
ng }
| j                  t        |«      |||
¬«       | j                  ||«       y )NrÔ   rÕ   r¥  )Ú	enumerater/  r:  r;  r   r=   r•   rž   ró   r«  r‹  r”  )r†   r  r  rB  r´   Úmatching_type_argsÚnot_matching_type_argsÚiÚ
kwarg_typeÚcallee_arg_namer  s              r‡   Úunexpected_keyword_argumentz*MessageBuilder.unexpected_keyword_argumentæ  så   € ð  ÐØ!#ÐÜ& v×'7Ñ'7Ó8ò 	C‰MˆAˆzØ$×.Ñ.¨qÑ1ˆOØÑ*¨v×/?Ñ/?ÀÑ/BÄhÓ/NÜ˜h¨
Ô3Ø&×-Ñ-¨oÕ>à*×1Ñ1°/ÕBð	Cð ×*Ñ*Ô,Ü" 4Ð);¸qÔAˆGÙÜ& tÐ-CÀqÔI‘àˆGØ×5Ñ5Ü˜Ó  $¨¸ð 	6ô 	
ð 	×Ñ˜v wÕ/r‰   c                óH  — t        | j                  |«      }|rŠ|j                  | j                  j                  k7  rf|j
                  dvrW|j                  €J ‚t        |«      }|sd}n|j                  d«      d   }| j                  |› d|j
                  › d�||¬«       y y y y )N)ÚbuiltinsÚtypingzCalled functionú of r   z defined in "rÓ   rÇ   )
Úfind_defining_moduler�   Úpathr   Úfilerè   Ú
definitionr  Úsplitr½   )r†   r  r´   r¨   ÚmoduleÚfnames         r‡   r”  z MessageBuilder.note_defined_hereþ  s¤   € ô & d§l¡l°FÓ;ˆáØ—‘˜tŸ{™{×/Ñ/Ò/Ø—‘Ð'=Ñ=à×$Ñ$Ð0Ð0Ð0Ü! &Ó)ˆEÙØ)‘àŸ™ FÓ+¨AÑ.�Ø�I‰I˜˜˜}¨V¯_©_Ð,=¸QÐ?ÀÈtˆIÕTð >ð 0ð r‰   c                ó|   — | j                  dj                  t        |«      xs d|j                  |   «      |«       y )Nz1{} gets multiple values for keyword argument "{}"ÚFunction)rº   ræ   r  r:  )r†   r  r<  r´   s       r‡   Úduplicate_argument_valuez'MessageBuilder.duplicate_argument_value  s;   € Ø�	‰	Ø?×FÑFÜ˜fÓ%Ò3¨°V×5EÑ5EÀeÑ5Lóð õ		
r‰   c                ó®   — t        |«      }t        |t        «      rt        |«      nd}|xs d}|› d�}| j	                  ||t
        j                  ¬«       y)z.Report an error about use of an unusable type.NrÀ  z4 does not return a value (it only ever returns None)rÇ   )rZ   r¡   rB   r  rº   rà   ÚFUNC_RETURNS_VALUE)r†   rf  r´   rG  r  Úmessages         r‡   Údoes_not_return_valuez$MessageBuilder.does_not_return_value  sQ   € ä% kÓ2ˆÜ4>¸{ÌLÔ4Y”m KÔ0Ð_cˆØÒ(˜jˆØ�FÐNÐOˆØ�	‰	�'˜7¬×)AÑ)Aˆ	ÕBr‰   c                ól   — |j                   €d}nd|j                   › d�}| j                  d|› �|«       y)z9Report an error about using an deleted type as an rvalue.NrÎ   r†  rÓ   zTrying to read deleted variable©Úsourcerº   ©r†   rú   r´   Úss       r‡   Údeleted_as_rvaluez MessageBuilder.deleted_as_rvalue  s9   € à�:‰:ÐØ‰Aà�S—Z‘Z�L Ð"ˆAØ�	‰	Ð3°A°3Ð7¸ÕAr‰   c                ón   — |j                   €d}nd|j                   › d�}| j                  d|› d�|«       y)zÀReport an error about using an deleted type as an lvalue.

        Currently, this only occurs when trying to assign to an
        exception variable outside the local except: blocks.
        NrÎ   r†  rÓ   zAssignment to variablez outside except: blockrÇ  rÉ  s       r‡   Údeleted_as_lvaluez MessageBuilder.deleted_as_lvalue'  s>   € ð �:‰:ÐØ‰Aà�S—Z‘Z�L Ð"ˆAØ�	‰	Ð*¨1¨#Ð-CÐDÀgÕNr‰   )r;  r¨   c               óV  ‡ — |xs t         j                  }t        |«      }|rd|› �}d|› �}	nd}d}	g }
|�Í|�Ët        «       }|j                  D ]h  }t        |j                  «      D ]0  \  }}|€Œ	|j                  |   t        k7  sŒ |j                  |«       Œ2 |j                  sŒX|j                  «         n |rHt        t        ||«      «      D ]0  \  }\  }}|t        k(  sŒ|€Œ||vsŒ|
j                  |||   f«       Œ2 |
�r¹d}g }g }|
D �]  \  }}g }g }d}|j                  D ]‰  }d}t        |j                  «      D ]h  \  }}|j                  |   }|€Œ|j                  |   t        k7  sŒ/t!        ||«      r||vr|j                  |«       d}ŒS||vsŒX|j                  |«       Œj |sŒˆd}Œ‹ ‰ j#                  «       st%        ||d¬«      }|st%        ||d¬«      }ng }|r|j                  ||f«       n|j                  |«       |r�Œd}�Œ |D ]-  \  }}‰ j'                  d|› d	|	› d
t)        |d«      › d�||¬«       Œ/ |r]t+        |«      dk(  r‰ j'                  d|d   › d	|	› �||¬«       n1dj-                  d„ |D «       «      }‰ j'                  d|› |	› �||¬«       |rt+        |
«      t+        |«      k(  ry dj-                  ˆ fd„|D «       «      }t+        |«      }|dk(  r‰ j'                  d|› d�||¬«       n:|dk(  r‰ j'                  d|› d|› �||¬«       n‰ j'                  d|› d|› �||¬«       ‰ j/                  dt1        t+        |j                  «      «      › d�||¬«       |j                  D ]+  }‰ j/                  t3        |‰ j4                  «      |d|¬«       Œ- y )Nr·  z for overloaded function rÎ   TFrÔ   rÕ   r§  rÓ   r¨  r×   r©  rÇ   r    r   ú, c              3  ó(   K  — | ]
  }d |› d �–— Œ y­w©rÓ   Nr‚  ©rÛ   rÖ   s     r‡   rÝ   z>MessageBuilder.no_variant_matches_arguments.<locals>.<genexpr>�  s   è ø€ Ò,Z¸!¨q°°°1¬XÑ,Zùs   ‚zUnexpected keyword arguments c              3  óJ   •K  — | ]  }t        |‰j                  «      –— Œ y ­wr„   )rß   r…   )rÛ   Úargr†   s     €r‡   rÝ   z>MessageBuilder.no_variant_matches_arguments.<locals>.<genexpr>š  s   øè ø€ Ò!VÀS¤+¨c°4·<±<×"@Ñ!Vùs   ƒ #zAll overload variantsz require at least one argumentzNo overload variantz matches argument type z matches argument types zPossible overload variantú:é   ©r¬   r¨   )rà   ÚCALL_OVERLOADr  rí   rã   r­  r:  r;  r   ÚaddÚ	is_kw_argÚclearrl  r   r•   r/  r=   rž   ró   rº   rô   r›   ro  r½   r]   Úpretty_callabler…   )r†   Úoverloadr/  r´   r:  r;  r¨   r  Úname_strrª  Úunexpected_kwargsÚall_valid_kwargsrÜ   r°  rZ  rC  Úall_kwargs_confidentÚkwargs_with_suggestionsÚkwargs_without_suggestionsÚ
kwarg_namer±  r®  r¯  Úhas_matching_variantÚitem_has_type_matchÚformal_typeÚformal_namer  Úquoted_namesÚarg_types_strÚnum_argss   `                              r‡   Úno_variant_matches_argumentsz+MessageBuilder.no_variant_matches_arguments3  s[  ø€ ð Ò*”u×*Ñ*ˆÜ˜XÓ&ˆÙØ˜d˜V�}ˆHØ2°4°&Ð9‰HàˆHØˆHð 57ÐØÐ  YÐ%:Ü),«ÐØ Ÿ™ò �Ü#,¨T¯^©^Ó#<ò 7‘K�A�xØÑ+°·±¸qÑ0AÄXÓ0MØ(×,Ñ,¨XÕ6ð7ð —>“>Ø$×*Ñ*Ô,Ùðñ  Ü/8¼¸YÈ	Ó9RÓ/Sò OÑ+�AÑ+˜ (Ø¤9Ó,°Ñ1EØ#Ð+;Ò;Ø-×4Ñ4°hÀ	È!ÁÐ5MÕNðOò
 Ø#'Ð ØCEÐ#Ø46Ð&ð +<ó  1Ñ&�
˜JØ02Ð"Ø46Ð&Ø',Ð$à$ŸN™Nò 4�DØ*/Ð'Ü*3°D·N±NÓ*Cò K™˜˜;Ø&*§n¡n°QÑ&7˜Ø&Ñ2°t·~±~ÀaÑ7HÌHÓ7TÜ)¨*°kÔBØ#.Ð6HÑ#HØ$6×$=Ñ$=¸kÔ$JØ6:Ñ 3Ø!,Ð4JÒ!JØ 6× =Ñ =¸kÕ JðKò +Ø/3Ñ,ð4ð ×2Ñ2Ô4Ü*¨:Ð7IÈQÔO�GÙ"Ü".¨zÐ;QÐUVÔ"W™à �GáØ+×2Ñ2°JÀÐ3HÕIà.×5Ñ5°jÔAã+Ø+0Ò(ðA 1ðD (?ò Ñ#�
˜GØ—	‘	Ø3°J°<¸qØ�j ´
¸7ÀDÓ0IÐ/JÈ!ðMàØð	 õ ðñ *ÜÐ1Ó2°aÒ7Ø—I‘IØ7Ð8RÐSTÑ8UÐ7VÐVWÐX`ÐWaÐbØØ!ð õ ð $(§9¡9Ñ,ZÐ?YÔ,ZÓ#Z�LØ—I‘IØ7¸°~ÀhÀZÐPØØ!ð ô ñ $¬Ð,=Ó(>Ä#ÀiÃ.Ò(PØàŸ	™	Ó!VÈIÔ!VÓVˆÜ�y“>ˆØ�qŠ=Ø�I‰IØ'¨ zÐ1OÐPØØð õ ð
 ˜Š]Ø�I‰IØ% h ZÐ/FÀ}ÀoÐVØØð õ ð �I‰IØ% h ZÐ/GÈÀÐWØØð ô ð 	�	‰	Ð-¬h´s¸8¿>¹>Ó7JÓ.KÐ-LÈAÐNÐPWÐ^bˆ	ÔcØ—N‘Nò 	YˆDØ�I‰I”o d¨D¯L©LÓ9¸7È1ÐSWˆIÕXñ	Yr‰   c                ó¸   — ||k  r6|dk(  r| j                  d|› d�|«       y | j                  d|› d|› d�|«       y ||kD  r| j                  d|› d|› d�|«       y y )	Nr    z"Need more than 1 value to unpack (z
 expected)zNeed more than z values to unpack (zToo many values to unpack (z expected, z
 provided)©rº   )r†   ÚprovidedÚexpectedr´   s       r‡   Úwrong_number_values_to_unpackz,MessageBuilder.wrong_number_values_to_unpack³  s~   € ð �hÒØ˜1Š}Ø—	‘	Ð>¸x¸jÈ
ÐSÐU\Õ]à—	‘	Ø% h ZÐ/BÀ8À*ÈJÐWÐY`õð ˜Ò Ø�I‰IØ-¨h¨Z°{À8À*ÈJÐWÐY`õð !r‰   c                óH   — | j                  d|t        j                  ¬«       y )Nz Unpacking a string is disallowedrÇ   )rº   rà   Ú
STR_UNPACK©r†   r´   s     r‡   Úunpacking_strings_disallowedz+MessageBuilder.unpacking_strings_disallowedÂ  s   € Ø�	‰	Ð4°gÄE×DTÑDTˆ	ÕUr‰   c                óV   — | j                  t        || j                  «      › d�|«       y )Nz object is not iterable©rº   rß   r…   )r†   rÚ   r´   s      r‡   Útype_not_iterablez MessageBuilder.type_not_iterableÅ  s$   € Ø�	‰	”[  t§|¡|Ó4Ð5Ð5LÐMÈwÕWr‰   c                ó,   — | j                  d||¬«       y )Nz Maybe you forgot to use "await"?rÇ   )r½   )r†   r´   r¨   s      r‡   Úpossible_missing_awaitz%MessageBuilder.possible_missing_awaitÈ  s   € Ø�	‰	Ð4°gÀDˆ	ÕIr‰   c                ó0   — | j                  d|› d�|«       y )NzResult type of z incompatible in assignmentrî  )r†   rý   r´   s      r‡   Ú incompatible_operator_assignmentz/MessageBuilder.incompatible_operator_assignmentË  s   € Ø�	‰	�O B 4Ð'BÐCÀWÕMr‰   c                óà   — | j                  |||«      }| j                  d|› d|› �|t        j                  ¬«       d}| j	                  |j                  |«      |t        j                  ¬«       y )NúSignature of "ú" incompatible with rÇ   zGOverload variants must be defined in the same order as they are in "{}")Úoverride_targetrº   rà   ÚOVERRIDEr½   ræ   )r†   r  Úname_in_superÚ	supertyper´   rF  Únote_templates          r‡   Ú.overload_signature_incompatible_with_supertypez=MessageBuilder.overload_signature_incompatible_with_supertypeÎ  sk   € ð ×%Ñ% d¨M¸9ÓEˆØ�	‰	Ø˜T˜FÐ"6°v°hÐ?ÀÌuÏ~É~ð 	ô 	
ð bˆØ�	‰	�-×&Ñ& yÓ1°7ÄÇÁˆ	ÕPr‰   c                óŽ  — | j                  d|t        j                  ¬«       t        ||| j                  ¬«      \  }}| j                  d|j                  › d|› d�|t        j                  ¬«       | j                  d|› d�|t        j                  ¬«       t        ||«      r#| j                  d	|t        j                  ¬«       y y )
Nz&Incompatible override of a setter typerÇ   rØ   z (base class "z" defined the type as ú,z override has type rÆ   z+ Setter types should behave contravariantly)rº   rà   r  rõ   r…   r½   r  r=   )r†   Údefnrú   rù   rH  ru  Úoverride_strs          r‡   Úincompatible_setter_overridez+MessageBuilder.incompatible_setter_overrideÙ  s²   € ð 	�	‰	Ð:¸DÄuÇ~Á~ˆ	ÔVÜ!7¸ÀsÐTX×T`ÑT`Ô!aÑˆ�,Ø�	‰	Ø˜TŸY™Y˜KÐ'=¸h¸ZÀqÐIØÜ—‘ð 	ô 	
ð
 	�	‰	Ð'¨ ~°QÐ7¸ÄEÇNÁNˆ	ÔSÜ�c˜=Ô)Ø�I‰IÐCÀTÔPU×P^ÑP^ˆIÕ_ð *r‰   c               óV  — | j                  |||«      }| j                  d|› d|› �|t        j                  ¬«      }t	        ||| j
                  d¬«      \  }	}
d}d}d}| j                  d|||z   |¬	«       t        |t        t        f«      r| j                  |||d
|z  z   ||¬«       n| j                  |	||d
|z  z   |¬	«       | j                  d|||z   |¬	«       t        |t        t        f«      r| j                  |||d
|z  z   ||¬«       y | j                  |
||d
|z  z   |¬	«       y )Nrþ  rÿ  rÇ   T)r…   r)  r    rÖ  zSuperclass:©r¬   r©   r#  )r¬   Úadd_class_or_static_decoratorr©   z	Subclass:)r   rº   rà   r  rõ   r…   r½   r¡   r@   rF   Úpretty_callable_or_overload)r†   r  r  r  r´   ÚoriginalÚoverriderF  r¸   Úoriginal_strr	  ÚINCLUDE_DECORATORÚALIGN_OFFSETÚOFFSETs                 r‡   Ú%signature_incompatible_with_supertypez4MessageBuilder.signature_incompatible_with_supertypeç  s^  € ð ×%Ñ% d¨M¸9ÓEˆØ—	‘	Ø˜T˜FÐ"6°v°hÐ?ÀÌuÏ~É~ð ó 
ˆô &<Ø�h¨¯©¸4ô&
Ñ"ˆ�lð !ÐØˆØˆð 	�	‰	�- °ÀÑ1FÐUZˆ	Ô[Ü�h¤¬zÐ :Ô;Ø×,Ñ,ØØØ# a¨&¡jÑ0Ø.?Ø"ð -õ ð �I‰I�l G°LÀ1ÀvÁ:Ñ4MÐ\aˆIÔbà�	‰	�+˜w¨|¸fÑ/DÐSXˆ	ÔYÜ�h¤¬zÐ :Ô;Ø×,Ñ,ØØØ# a¨&¡jÑ0Ø.?Ø"ð -õ ð �I‰I�l G°LÀ1ÀvÁ:Ñ4MÐ\aˆIÕbr‰   )r¬   r  c               ó  — t        |t        «      rN|r"t        |«      }|�| j                  ||||¬«       | j                  t	        || j
                  «      |||¬«       y t        |t        «      r| j                  |||||¬«       y y )Nr  )r  r©   )r¡   r@   Ú pretty_class_or_static_decoratorr½   rÜ  r…   rF   Úpretty_overload)r†   Útpr´   r©   r¬   r  Ú	decorators          r‡   r  z*MessageBuilder.pretty_callable_or_overload  s�   € ô �bœ,Ô'Ù,Ü<¸RÓ@�	ØÐ(Ø—I‘I˜i¨¸Èl�IÔ[Ø�I‰IÜ  D§L¡LÓ1ØØØ)ð	 õ ô ˜œJÔ'Ø× Ñ ØØØØ.KØ)ð !õ ð (r‰   c	                ó�  — | j                  |||«      }	t        || j                  «      }
| j                  dj	                  |||	|
«      |t
        j                  |¬«       |dk7  r%d}| j                  ||t
        j                  |¬«       |dk(  r9|r6dj	                  |¬«      }| j                  ||t
        j                  |¬«       y y y )NzXArgument {} of "{}" is incompatible with {}; supertype defines the argument type as "{}"r¶   Ú__post_init__z©
            This violates the Liskov substitution principle
            See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides
            Ú__eq__aQ  
            It is recommended for "__eq__" to work with arbitrary objects, for example:
                def __eq__(self, other: object) -> bool:
                    if not isinstance(other, {class_name}):
                        return NotImplemented
                    return <logic to compare two {class_name} instances>
            )Ú
class_name)r   Úformat_type_barer…   rº   ræ   rà   r  rÃ   )r†   Úarg_numr  Ú	type_nameÚname_in_supertypeÚarg_type_in_supertyper  r´   rµ   rF  Úarg_type_in_supertype_fÚinvariant_messageÚ
eq_messages                r‡   Ú$argument_incompatible_with_supertypez3MessageBuilder.argument_incompatible_with_supertype7  sç   € ð ×%Ñ% dÐ,=¸yÓIˆÜ"2Ð3HÈ$Ï,É,Ó"WÐØ�	‰	ð:ß:@¹&Ø˜˜vÐ'>ó;ð Ü—‘Ø)ð 	ô 	
ð �?Ò"ð!Ðð ×ÑØ! 7´·±ÐP^ð  ô ð �8Ò¡	ð÷ ‘ )�Ó,ð ð ×ÑØ˜G¬%¯.©.Èð  õ ð !*Ðr‰   c                óN  — | j                  |||«      }t        ||| j                  ¬«      \  }}	| j                  dj	                  |||	|«      |t
        j                  ¬«       t        |«      }t        |«      }t        |t        «      r�t        |t        «      rŒ|j                  j                  dk(  rr|j                  j                  dk(  rXt        |j                  «      dk(  r?|j                  d   |k(  r,| j                  d|› d	|› d
�|«       | j                  d|«       y y y y y y y )NrØ   z=Return type {} of "{}" incompatible with return type {} in {}rÇ   ztyping.AsyncIteratorztyping.CoroutinerÔ   r#  zConsider declaring "z" in z without "async"zPSee https://mypy.readthedocs.io/en/stable/more_types.html#asynchronous-iterators)r   rõ   r…   rº   ræ   rà   r  rZ   r¡   rC   rÚ   rè   r›   r‘  r½   )
r†   r  r"  r  r  r  r´   rF  r	  r  s
             r‡   Ú'return_type_incompatible_with_supertypez6MessageBuilder.return_type_incompatible_with_supertypec  s,  € ð ×%Ñ% dÐ,=¸yÓIˆÜ%;Ø�h¨¯©ô&
Ñ"ˆ�lð 	�	‰	ØK×RÑRØ˜d L°&óð Ü—‘ð 	ô 	
ô # 8Ó,ˆÜ" 8Ó,ˆä�x¤Ô*Ü˜8¤XÔ.Ø—‘×&Ñ&Ð*@Ò@Ø—‘×&Ñ&Ð*<Ò<Ü�H—M‘MÓ" aÒ'Ø—‘˜aÑ  HÒ,à�I‰IÐ,¨T¨F°%¸°xÐ?OÐPÐRYÔZØ�I‰IØbØõð -ð (ð =ð Að /ð +r‰   c                ó,   — d|› d�}||k7  rd|› d|› �}|S )Nzsupertype "rÓ   z" of r‚  )r†   r  r  r  rF  s        r‡   r   zMessageBuilder.override_targetˆ  s/   € Ø˜y˜k¨Ð+ˆØ˜DÒ Ø˜˜ u¨V¨HÐ5ˆFØˆr‰   c                ó¾   — |dk(  r| j                  d|«       y ||k(  r|› d�}nd|› d|› �}||kD  r| j                  d|› d�|«       y | j                  d|› d�|«       y )	Nr   z8Type application targets a non-generic function or classz	 expectedzexpected between r  z%Type application has too many types (rÆ   z$Type application has too few types (rî  )r†   Úmin_arg_countÚmax_arg_countÚactual_arg_countr´   rÊ  s         r‡   Úincompatible_type_applicationz,MessageBuilder.incompatible_type_applicationŽ  s}   € ð ˜AÒØ�I‰IÐPÐRYÔZØà˜MÒ)Ø �/ Ð+‰Aà# M ?°%¸°ÐGˆAà˜mÒ+Ø�I‰IÐ=¸a¸SÀÐBÀGÕLà�I‰IÐ<¸Q¸C¸qÐAÀ7ÕKr‰   c                óÌ   — t        |«      }|�E| j                  dt        || j                  «      › d|› �|«       |dk(  r| j	                  d|«       y y | j                  d|«       y )Nz%Cannot infer value of type parameter r·  r&  zGTry assigning the literal to a variable annotated as dict[<key>, <val>]z#Cannot infer function type argument)r  rº   rß   r…   r½   )r†   rf  Útvr´   rG  s        r‡   Úcould_not_infer_type_argumentsz-MessageBuilder.could_not_infer_type_argumentsŸ  st   € ô $ KÓ0ˆØÐ"Ø�I‰IØ7¼ÀBÈÏÉÓ8UÐ7VÐVZÐ[fÐZgÐhØôð ˜hÒ&à—	‘	Ø]Øõð 'ð �I‰IÐ;¸WÕEr‰   c                ó(   — | j                  d|«       y )Nz&Expected iterable as variadic argumentrî  r  s      r‡   Úinvalid_var_argzMessageBuilder.invalid_var_arg±  s   € Ø�	‰	Ð:¸GÕDr‰   c                óö   — t        |«      }t        |t        «      r%|r#| j                  d|t        j
                  ¬«       y | j                  dt        || j                  «      › �|t        j
                  ¬«       y )Nz'Argument after ** must have string keysrÇ   z)Argument after ** must be a mapping, not )rZ   r¡   rC   rº   rà   rA  rß   r…   )r†   rú   Ú
is_mappingr´   s       r‡   Úinvalid_keyword_var_argz&MessageBuilder.invalid_keyword_var_arg´  s`   € Ü˜cÓ"ˆÜ�cœ8Ô$©Ø�I‰IÐ?ÀÌuÏ~É~ˆIÕ^à�I‰IØ;¼KÈÈTÏ\É\Ó<ZÐ;[Ð\ØÜ—^‘^ð õ r‰   c                ó0   — | j                  d|› d�|«       y )NrÓ   z" undefined in superclassrî  )r†   rû   r´   s      r‡   Úundefined_in_superclassz&MessageBuilder.undefined_in_superclass¿  s   € Ø�	‰	�A�f�XÐ6Ð7¸ÕAr‰   c                óP   — | j                  d|› d�|t        j                  ¬«       y )NúName "z" may be undefinedrÇ   )rº   rà   ÚPOSSIBLY_UNDEFINED©r†   r  r´   s      r‡   Úvariable_may_be_undefinedz(MessageBuilder.variable_may_be_undefinedÂ  s$   € Ø�	‰	�F˜4˜&Ð 2Ð3°WÄ5×C[ÑC[ˆ	Õ\r‰   c                óP   — | j                  d|› d�|t        j                  ¬«       y )Nr;  z" is used before definitionrÇ   )rº   rà   ÚUSED_BEFORE_DEFr=  s      r‡   Úvar_used_before_defz"MessageBuilder.var_used_before_defÅ  s$   € Ø�	‰	�F˜4˜&Ð ;Ð<¸gÌE×LaÑLaˆ	Õbr‰   c                ó¶   — t        |«      }t        |t        «      rd}nt        || j                  «      }| j                  d|› �|t        j                  ¬«       y )Nza non-type instancez2Argument 1 for "super" must be a type object; got rÇ   )rZ   r¡   rC   rß   r…   rº   rà   rA  )r†   Úactualr´   Útype_strs       r‡   Ú%first_argument_for_super_must_be_typez4MessageBuilder.first_argument_for_super_must_be_typeÈ  sR   € Ü  Ó(ˆÜ�fœhÔ'ð -‰Hä" 6¨4¯<©<Ó8ˆHØ�	‰	Ø@ÀÀ
ÐKØÜ—‘ð 	õ 	
r‰   c                óV   — | j                  d|› d|› d�|t        j                  ¬«       y )NzCall to abstract method "ú" of "z)" with trivial body via super() is unsaferÇ   )rº   rà   Ú
SAFE_SUPER)r†   rþ   r¡  r¦   s       r‡   Úunsafe_superzMessageBuilder.unsafe_superÖ  s2   € Ø�	‰	Ø'¨ x¨v°c°UÐ:cÐdØÜ×!Ñ!ð 	õ 	
r‰   c                óH   — | j                  d|t        j                  ¬«       y )Nz&Not enough arguments for format stringrÇ   ©rº   rà   ÚSTRING_FORMATTINGrô  s     r‡   Ú#too_few_string_formatting_argumentsz2MessageBuilder.too_few_string_formatting_argumentsÝ  s   € Ø�	‰	Ð:¸GÌ%×JaÑJaˆ	Õbr‰   c                óH   — | j                  d|t        j                  ¬«       y )Nz4Not all arguments converted during string formattingrÇ   rK  rô  s     r‡   Ú$too_many_string_formatting_argumentsz3MessageBuilder.too_many_string_formatting_argumentsà  s"   € Ø�	‰	ØBØÜ×(Ñ(ð 	õ 	
r‰   c                óP   — | j                  d|› d�|t        j                  ¬«       y )NzUnsupported format character "rÓ   rÇ   rK  )r†   Úplaceholderr´   s      r‡   Úunsupported_placeholderz&MessageBuilder.unsupported_placeholderç  s)   € Ø�	‰	Ø,¨[¨M¸Ð;¸WÌ5×KbÑKbð 	õ 	
r‰   c                óH   — | j                  d|t        j                  ¬«       y )Nz9String interpolation contains both stars and mapping keysrÇ   rK  rô  s     r‡   Ú&string_interpolation_with_star_and_keyz5MessageBuilder.string_interpolation_with_star_and_keyì  s"   € Ø�	‰	ØGØÜ×(Ñ(ð 	õ 	
r‰   c                ón   — | j                  dj                  |rdnd«      |t        j                  ¬«       y )Nz8"{}c" requires an integer in range(256) or a single byterÕ  ú%rÇ   ©rº   ræ   rà   rL  ©r†   r´   Úformat_calls      r‡   Úrequires_int_or_single_bytez*MessageBuilder.requires_int_or_single_byteó  s6   € Ø�	‰	ØF×MÑMÙ"‘¨óð Ü×(Ñ(ð 	õ 	
r‰   c                ón   — | j                  dj                  |rdnd«      |t        j                  ¬«       y )Nz"{}c" requires int or charrÕ  rV  rÇ   rW  rX  s      r‡   Úrequires_int_or_charz#MessageBuilder.requires_int_or_charü  s1   € Ø�	‰	Ø(×/Ñ/±{±ÈÓLØÜ×(Ñ(ð 	õ 	
r‰   c                óP   — | j                  d|› d�|t        j                  ¬«       y )NúKey "z" not found in mappingrÇ   rK  )r†   r›  r´   s      r‡   Úkey_not_in_mappingz!MessageBuilder.key_not_in_mapping  s$   € Ø�	‰	�E˜#˜Ð4Ð5°wÄU×E\ÑE\ˆ	Õ]r‰   c                óH   — | j                  d|t        j                  ¬«       y )NzBString interpolation mixes specifier with and without mapping keysrÇ   rK  rô  s     r‡   Ú,string_interpolation_mixing_key_and_non_keysz;MessageBuilder.string_interpolation_mixing_key_and_non_keys  s"   € Ø�	‰	ØPØÜ×(Ñ(ð 	õ 	
r‰   c                óP   — | j                  d|› d�|t        j                  ¬«       y )NúCannot determine type of "rÓ   rÇ   )rº   rà   ÚHAS_TYPEr=  s      r‡   Úcannot_determine_typez$MessageBuilder.cannot_determine_type  s"   € Ø�	‰	Ð.¨t¨f°AÐ6¸ÄeÇnÁnˆ	ÕUr‰   c                ó6   — | j                  d|› d|› d�|«       y )Nrc  z" in base class "rÓ   rî  )r†   r  rH  r´   s       r‡   Úcannot_determine_type_in_basez,MessageBuilder.cannot_determine_type_in_base  s!   € Ø�	‰	Ð.¨t¨fÐ4EÀdÀVÈ1ÐMÈwÕWr‰   c                ób   — t        || j                  «      }| j                  d|› d|› d�|«       y )NzAttribute function "ú" with type z does not accept self argument©rß   r…   rº   )r†   r  rÜ   r´   rÚ   s        r‡   Úno_formal_selfzMessageBuilder.no_formal_self  s4   € Ü˜4 §¡Ó.ˆØ�	‰	Ø" 4 &¨°T°FÐ:XÐYÐ[bõ	
r‰   c           
     ó¤   — |rdnd}t        || j                  «      }t        || j                  «      }| j                  d|› d|› d|› d|› �|«       y )Nzclass attribute functionzattribute functionzInvalid self argument z to r†  ri  rj  )	r†   r  rÔ  ÚsigÚis_classmethodr´   ÚkindrB  Úsig_types	            r‡   Úincompatible_self_argumentz)MessageBuilder.incompatible_self_argument  sZ   € ñ .<Ñ)ÐAUˆÜ˜s D§L¡LÓ1ˆÜ˜s D§L¡LÓ1ˆØ�	‰	Ø$ X J¨d°4°&¸¸4¸&ÀÈXÈJÐWÐY`õ	
r‰   c                ó   — | j                  d|«      }t        |t        t        f«      rft        |t        t        f«      rO| j	                  d|«       | j                  ||d|¬«       | j	                  d|«       | j                  ||d|¬«       y y y )Nz@All conditional function variants must have identical signaturesz	Original:rÖ  r  zRedefinition:)rº   r¡   r@   rF   r½   r  )r†   r  Úold_typeÚnew_typer¸   s        r‡   Ú%incompatible_conditional_function_defz4MessageBuilder.incompatible_conditional_function_def#  sŽ   € ð —	‘	Ð\Ð^bÓcˆÜ�h¤¬zÐ :Ô;Ä
Ø”|¤ZÐ0ôA
ð �I‰I�k 4Ô(Ø×,Ñ,¨X°tÀAÐTYÐ,ÔZØ�I‰I�o tÔ,Ø×,Ñ,¨X°tÀAÐTYÐ,ÕZðA
Ð;r‰   c                ó¢  — t        |D �cg c]  }d|› d�‘Œ
 c}«      }| j                  d|› dt        |«      › d|› �|t        j                  ¬«       |j                  «       D ��cg c]  \  }}|rd|› d�‘Œ }}}|sy t        |«      dk(  r	|d   › d�}nd	t        |«      › d
�}| j                  ||t        j                  ¬«       y c c}w c c}}w )NrÓ   z#Cannot instantiate abstract class "z" with abstract attributer%  rÇ   r    r   z‡ is implicitly abstract because it has an empty function body. If it is not meant to be abstract, explicitly `return` or `return None`.z_The following methods were marked implicitly abstract because they have empty function bodies: zM. If they are not meant to be abstract, explicitly `return` or `return None`.)Úformat_string_listrº   r]   rà   ÚABSTRACTrã   r›   r½   )	r†   r  Úabstract_attributesr´   ÚaÚattrsÚimplicit_and_can_return_noneÚattrs_with_noner½   s	            r‡   Ú!cannot_instantiate_abstract_classz0MessageBuilder.cannot_instantiate_abstract_class/  s  € ô #Ð6IÖ#J° a¨ s¨!¢HÒ#JÓKˆØ�	‰	Ø1°*°ð >Ü Ð!4Ó5Ð6°a¸°wð@àÜ—‘ð	 	ô 	
ð 4G×3LÑ3LÓ3N÷
á/�Ð/Ù+ð �ˆs�!ŠHð
ˆñ 
ñ
 ØÜˆÓ 1Ò$à" 1Ñ%Ð&ð 'að añ ð$Ü$6°Ó$GÐ#Hð I^ð^ð ð
 	�	‰	�$˜¤e§n¡nˆ	Õ5ùò3 $Kùó
s   ŠCÁ%Cc                ór   — | j                  dj                  ||j                  |j                  «      |«       y )NzXDefinition of "{}" in base class "{}" is incompatible with definition in base class "{}")rº   ræ   r  )r†   r  Úbase1Úbase2r´   s        r‡   Ú#base_class_definitions_incompatiblez2MessageBuilder.base_class_definitions_incompatibleM  s.   € ð 	�	‰	ð1ß17±¸¸e¿j¹jÈ%Ï*É*Ó1UØõ	
r‰   c                ód   — | j                  t        j                  |t        j                  ¬«       y )NrÇ   )rº   r   ÚCANNOT_ASSIGN_TO_METHODrà   ÚMETHOD_ASSIGNrô  s     r‡   Úcant_assign_to_methodz$MessageBuilder.cant_assign_to_methodV  s!   € Ø�	‰	Ô"×:Ñ:¸GÌ%×J]ÑJ]ˆ	Õ^r‰   c                ó0   — | j                  d|› d�|«       y )Nz!Cannot assign to class variable "z" via instancerî  r=  s      r‡   Úcant_assign_to_classvarz&MessageBuilder.cant_assign_to_classvarY  s   € Ø�	‰	Ð5°d°V¸>ÐJÈGÕTr‰   c                ó0   — | j                  d|› d�|«       y )NúMethod "zG" is marked as an override, but no base method was found with this namerî  r=  s      r‡   Úno_overridable_methodz$MessageBuilder.no_overridable_method\  s"   € Ø�	‰	Ø�t�fð :ð :àõ	
r‰   c                óV   — | j                  d|› d|› d�|t        j                  ¬«       y )NrŠ  z>" is not using @override but is overriding a method in class "rÓ   rÇ   )rº   rà   ÚEXPLICIT_OVERRIDE_REQUIRED)r†   r  Ú	base_namer´   s       r‡   Ú#explicit_override_decorator_missingz2MessageBuilder.explicit_override_decorator_missingc  s:   € ð 	�	‰	Ø�t�fð 4Ø4=°;¸aðAàÜ×1Ñ1ð	 	õ 	
r‰   c                ó0   — | j                  d|› d�|«       y )Nz$Cannot override writable attribute "z" with a final onerî  )r†   r  r¦   s      r‡   Úfinal_cant_override_writablez+MessageBuilder.final_cant_override_writablem  s   € Ø�	‰	Ð8¸¸Ð>PÐQÐSVÕWr‰   c                ó6   — | j                  d|› d|› d�|«       y )Nz!Cannot override final attribute "z&" (previously declared in base class "z")rî  )r†   r  rŽ  r¦   s       r‡   Úcant_override_finalz"MessageBuilder.cant_override_finalp  s,   € Ø�	‰	à3°D°6ð :7Ø7@°kÀðEð õ	
r‰   c                óT   — |rdnd}| j                  d|› dt        |«      › d�|«       y)z�Warn about a prohibited assignment to a final attribute.

        Pass `attr_assign=True` if the assignment assigns to an attribute.
        Ú	attributer  zCannot assign to final r†  rÓ   N)rº   r^   )r†   r  Úattr_assignr¦   ro  s        r‡   Úcant_assign_to_finalz#MessageBuilder.cant_assign_to_finaly  s0   € ñ
 *‰{¨vˆØ�	‰	Ð+¨D¨6°´H¸T³NÐ3CÀ1ÐEÀsÕKr‰   c                ó(   — | j                  d|«       y )NzProtocol member cannot be finalrî  r¥   s     r‡   Úprotocol_members_cant_be_finalz-MessageBuilder.protocol_members_cant_be_final�  s   € Ø�	‰	Ð3°SÕ9r‰   c                ó(   — | j                  d|«       y )Nz+Final name must be initialized with a valuerî  r¥   s     r‡   Úfinal_without_valuez"MessageBuilder.final_without_value„  s   € Ø�	‰	Ð?ÀÕEr‰   c                óJ   — | j                  d|› d|j                  › d�|«       y )Nz
Property "z" defined in "z" is read-only)rº   r  )r†   r  rÚ   r´   s       r‡   Úread_only_propertyz!MessageBuilder.read_only_property‡  s#   € Ø�	‰	�J˜t˜f N°4·9±9°+¸^ÐLÈgÕVr‰   c           
     óÈ   — | j                  t        j                  j                  |t	        |«      xs dt        || j                  «      «      |t        j                  ¬«       y )NÚfunctionrÇ   )	rº   r   ÚINCOMPATIBLE_TYPEVAR_VALUEræ   r  rß   r…   rà   ÚTYPE_VAR)r†   r  rú   Útypevar_namer´   s        r‡   Úincompatible_typevar_valuez)MessageBuilder.incompatible_typevar_valueŠ  sT   € ð 	�	‰	Ü×7Ñ7×>Ñ>Øœm¨FÓ3ÒA°zÄ;ÈsÐTX×T`ÑT`ÓCaóð Ü—‘ð 	õ 	
r‰   c           
     óò  — | j                   j                  «       D ]v  }|j                  r nht        |t        «      sŒ"||f|j
                  j                  d   t        |j                  |j                  |j                  |j                  |¬«      <    y  |dk(  rdnd}|dk(  rdnd}d}t        ||| j                  ¬	«      \  }	}
| j                  |j                  |||	||
«      |t         j"                  ¬
«       y )Nrš   )r¢   r²   r¤   r®   ro  Ú	containerÚelementzleft operandzcontainer itemzright operandz3Non-overlapping {} check ({} type: {}, {} type: {})rØ   rÇ   )r   Úget_watchersÚ_filterr¡   r   Úiteration_dependent_errorsÚnonoverlapping_typesr   r¢   r²   r¤   r®   rõ   r…   rº   ræ   rà   ÚCOMPARISON_OVERLAP)r†   ÚleftÚrightro  r¦   Úwatcherr  r  rÄ  Úleft_typÚ	right_typs              r‡   Údangerous_comparisonz#MessageBuilder.dangerous_comparison•  sñ   € ð —{‘{×/Ñ/Ó1ò 	ˆGØ�ŠÙÜ˜'Ô#8Õ9ð ˜5�Mð ×2Ñ2×GÑGÈÑKÜ'Ø ŸX™XØ"Ÿz™zØ!$§¡Ø#&§>¡>Ø!ôññ ð	ð !%¨Ò 3‘9¸ˆØ(,°Ò(;Ñ$Àˆ	ØGˆÜ4°T¸5È$Ï,É,ÔWÑˆ�)Ø�	‰	Ø�N‰N˜4 ¨8°YÀ	ÓJØÜ×)Ñ)ð 	õ 	
r‰   c                ó6   — | j                  d|› d�dz   |«       y )Nz)Overload does not consistently use the "@z" z%decorator on all function signatures.rî  )r†   r  r´   s      r‡   Ú)overload_inconsistently_applies_decoratorz8MessageBuilder.overload_inconsistently_applies_decorator´  s%   € Ø�	‰	Ø7¸	°{À"ÐEØ5ñ6àõ	
r‰   c                ó²   — | j                  dj                  ||«      |t        j                  ¬«       |r#| j	                  d|t        j                  ¬«       y y )NzOOverloaded function signatures {} and {} overlap with incompatible return typesrÇ   z3Flipping the order of overloads will fix this error)rº   ræ   rà   ÚOVERLOAD_OVERLAPr½   )r†   Úindex1Úindex2Ú	flip_noter´   s        r‡   Úoverloaded_signatures_overlapz,MessageBuilder.overloaded_signatures_overlap»  s\   € ð 	�	‰	ð(ß(.©¨v°vÓ(>ØÜ×'Ñ'ð	 	ô 	
ñ Ø�I‰IØEØÜ×+Ñ+ð õ ð r‰   c                ój   — | j                  dj                  ||¬«      |t        j                  ¬«       y )Nz|Overloaded function signature {index2} will never be matched: signature {index1}'s parameter type(s) are the same or broader)r¶  r·  rÇ   )rº   ræ   rà   ÚOVERLOAD_CANNOT_MATCH)r†   r¶  r·  r´   s       r‡   Ú%overloaded_signature_will_never_matchz4MessageBuilder.overloaded_signature_will_never_matchË  s@   € ð 	�	‰	ðMßMSÉVØ fð NTó Nð Ü×,Ñ,ð 	õ 	
r‰   c                ó6   — | j                  d|› d�dz   |«       y )Nz<Overloaded function implementation cannot satisfy signature r%  z5due to inconsistencies in how they use type variablesrî  ©r†   r<  r´   s      r‡   Ú&overloaded_signatures_typevar_specificz5MessageBuilder.overloaded_signatures_typevar_specific×  s'   € Ø�	‰	ØJÈ5È'ÐQRÐSØEñFàõ	
r‰   c                ó.   — | j                  d|› �|«       y )NzXOverloaded function implementation does not accept all possible parameters of signature rî  r¾  s      r‡   Ú$overloaded_signatures_param_specificz3MessageBuilder.overloaded_signatures_param_specificÞ  s"   € Ø�	‰	ð Ø %˜wð(ð õ	
r‰   c                ó.   — | j                  d|› �|«       y )NzKOverloaded function implementation cannot produce return type of signature rî  r¾  s      r‡   Ú"overloaded_signatures_ret_specificz1MessageBuilder.overloaded_signatures_ret_specificç  s   € Ø�	‰	ØYÐZ_ÐY`ÐaØõ	
r‰   c                óH   — | j                  d|t        j                  ¬«       y )Nz'Both left and right operands are unionsrÇ   )r½   rà   rá   rô  s     r‡   Ú"warn_both_operands_are_from_unionsz1MessageBuilder.warn_both_operands_are_from_unionsí  s   € Ø�	‰	Ð;¸WÌ5Ï>É>ˆ	ÕZr‰   c                óz   — | j                  |› dt        || j                  «      › �|t        j                  ¬«       y )Nz operand is of type rÇ   )r½   rß   r…   rà   rá   )r†   Úsider  r´   s       r‡   Úwarn_operand_was_from_unionz*MessageBuilder.warn_operand_was_from_unionð  s8   € Ø�	‰	ØˆfÐ(¬°X¸t¿|¹|Ó)LÐ(MÐNØÜ—‘ð 	õ 	
r‰   c                óˆ   — | j                  dj                  ||j                  |t        || j                  «      «      |«       y )NzBSignatures of "{}" of "{}" and "{}" of {} are unsafely overlapping)rº   ræ   r  rß   r…   )r†   Úreverse_classÚreverse_methodÚforward_classÚforward_methodr´   s         r‡   Ú"operator_method_signatures_overlapz1MessageBuilder.operator_method_signatures_overlap÷  s@   € ð 	�	‰	ØP×WÑWØØ×"Ñ"ØÜ˜M¨4¯<©<Ó8ó	ð õ	
r‰   c                ó0   — | j                  d|› d�|«       y )NzForward operator "z" is not callablerî  )r†   rÍ  r´   s      r‡   Úforward_operator_not_callablez,MessageBuilder.forward_operator_not_callable	  s   € Ø�	‰	Ð& ~Ð&6Ð6GÐHÈ'ÕRr‰   c                ó6   — | j                  d|› d|› d�|«       y )NzSignatures of "z" and "z" are incompatiblerî  )r†   rþ   Úother_methodr´   s       r‡   Úsignatures_incompatiblez&MessageBuilder.signatures_incompatible  s!   € Ø�	‰	�O F 8¨7°<°.Ð@RÐSÐU\Õ]r‰   c                óÀ   — t        || j                  «      dk7  rt        || j                  «      n|}| j                  d|› �|«       t        t        j
                  «      S )NÚobjectz!"yield from" can't be applied to )rß   r…   rº   r?   rO   r  )r†   Úexprr´   Útexts       r‡   Úyield_from_invalid_operand_typez.MessageBuilder.yield_from_invalid_operand_type  sX   € ô ˜4 §¡Ó.°(Ò:ô ˜˜dŸl™lÔ+àð 	ð
 	�	‰	Ð6°t°fÐ=¸wÔGÜ”y×+Ñ+Ó,Ð,r‰   c                óV   — | j                  dt        || j                  «      › �|«       y )NúInvalid signature r÷  )r†   Ú	func_typer´   s      r‡   Úinvalid_signaturez MessageBuilder.invalid_signature  s$   € Ø�	‰	Ð&¤{°9¸d¿l¹lÓ'KÐ&LÐMÈwÕWr‰   c                ó^   — | j                  dt        || j                  «      › d|› d�|«       y )NrÚ  z for "rÓ   r÷  )r†   rÛ  r´   Úmethod_names       r‡   Ú$invalid_signature_for_special_methodz3MessageBuilder.invalid_signature_for_special_method  s2   € ð 	�	‰	Ø ¤¨Y¸¿¹Ó!EÐ FÀfÈ[ÈMÐYZÐ[Øõ	
r‰   c                ó   — | j                   j                  «       D ]v  }|j                  r y t        |t        «      sŒ"|j
                  j                  |j                  |j                  |j                  |j                  f   j                  |«        y  t        | j                  ¬«      }| j                  d|j                  |«      › d�|«       y )NrØ   zRevealed type is "rÓ   )r   r§  rŽ   r¡   r   r©  Úrevealed_typesr¢   r²   r¤   r®   r•   rP   r…   r½   Úaccept)r†   rú   r´   r®  Úvisitors        r‡   Úreveal_typezMessageBuilder.reveal_type#  s«   € ð
 —{‘{×/Ñ/Ó1ò 	ˆGà×+Ò+Ùô ˜'Ô#8Õ9Ø×2Ñ2×AÑAØ—\‘\ 7§>¡>°7×3CÑ3CÀW×EWÑEWÐXñç‘&˜”+Ùð	ô !¨¯©Ô6ˆØ�	‰	Ð& s§z¡z°'Ó':Ð&;¸1Ð=¸wÕGr‰   c           	     óN  — t        t        |j                  «       d„ ¬«      «      }|rl| j                  d|«       |j                  «       D ]F  \  }}t	        | j
                  ¬«      }| j                  d|› d|�|j                  |«      nd › �|«       ŒH y | j                  d|«       y )Nc                ó   — | d   S )Nr   r‚  )Úts    r‡   ú<lambda>z.MessageBuilder.reveal_locals.<locals>.<lambda><  s
   € ÀAÀaÁD€ r‰   ©r›  zRevealed local types are:rØ   z    ú: zThere are no locals to reveal)Údictr|  rã   r½   rP   r…   râ  )r†   Útype_mapr´   Úsorted_localsr  r  rã  s          r‡   Úreveal_localszMessageBuilder.reveal_locals9  s—   € ô œV H§N¡NÓ$4¹.ÔIÓJˆÙØ�I‰IÐ1°7Ô;Ø%×+Ñ+Ó-ò _‘��1Ü(°·±Ô>�Ø—	‘	˜D   2¸1¸= a§h¡h¨wÔ&7ÈdÐ%SÐTÐV]Õ^ñ_ð �I‰IÐ5°wÕ?r‰   c                óX   — | j                  dt        || j                  «      › d�|«       y )NzCannot instantiate type "type[z]")rº   r  r…   )r†   rÜ   r´   s      r‡   Úunsupported_type_typez$MessageBuilder.unsupported_type_typeE  s+   € Ø�	‰	Ø,Ô-=¸dÀDÇLÁLÓ-QÐ,RÐRTÐUÐW^õ	
r‰   c                óv   — | j                  dt        || j                  «      › �|t        j                  ¬«       y )NzRedundant cast to rÇ   )rº   rß   r…   rà   ÚREDUNDANT_CASTr  s      r‡   Úredundant_castzMessageBuilder.redundant_castJ  s5   € Ø�	‰	Ø ¤¨S°$·,±,Ó!?Ð @ÐAØÜ×%Ñ%ð 	õ 	
r‰   c                óŠ   — t        ||| j                  ¬«      \  }}| j                  d|› d|› �|t        j                  ¬«       y )NrØ   zExpression is of type z, not rÇ   )rõ   r…   rº   rà   ÚASSERT_TYPE)r†   Úsource_typeÚtarget_typer´   rÈ  rF  s         r‡   Úassert_type_failzMessageBuilder.assert_type_failQ  sB   € Ü/°¸[ÐRV×R^ÑR^Ô_‰ˆ�Ø�	‰	Ð*¨6¨(°&¸¸ÐAÀ7ÔQV×QbÑQbˆ	Õcr‰   c                ó|   — | j                  |› dt        || j                  «      › d�|t        j                  ¬«       y )Nz	 becomes z due to an unfollowed importrÇ   )rº   rß   r…   rà   ÚNO_ANY_UNIMPORTED)r†   Úprefixrú   r¦   s       r‡   Úunimported_type_becomes_anyz*MessageBuilder.unimported_type_becomes_anyU  s<   € Ø�	‰	Øˆh�i¤¨C°·±Ó >Ð?Ð?[Ð\ØÜ×(Ñ(ð 	õ 	
r‰   c                ó  — d}d }|r´t        |t        «      r¤t        |j                  t        «      rŠd}|j                  j                  s|› d�}nl|j                  j                  j                  t
        v rF|j                  j                  j                  j                  d«      d   }|dk(  r|› d|› �}|› d|› d	�}|�d
|j                  › d|› d�}| j                  dt        |j                  «      › d|› �|t        j                  ¬«       y )NrÎ   z<type>ú | Noneú.r#  rë  rÏ  ú[ú]z	 (hint: "rê  z = ...")zNeed type annotation for "rÓ   rÇ   )r¡   r.   rÚ   rI   rè   r0   Ú	partitionr  rº   r^   rà   ÚVAR_ANNOTATED)r†   Únoder´   r…   ÚhintÚrecommended_typeÚtype_decr  s           r‡   Úneed_annotation_for_varz&MessageBuilder.need_annotation_for_var\  s   € ð ˆàÐá”z $¬Ô,´¸D¿I¹IÄ{Ô1SØˆHØ—9‘9—>’>à&. Z¨wÐ#7Ñ Ø—‘—‘×(Ñ(Ô,CÑCà—y‘y—~‘~×.Ñ.×8Ñ8¸Ó=¸aÑ@�Ø˜6’>Ø"* ¨2¨h¨ZÐ8�HØ&* V¨1¨X¨J°aÐ#8Ð ØÐ'Ø˜tŸy™y˜k¨Ð,<Ð+=¸XÐFˆDà�	‰	Ø(¬°$·)±)Ó)<Ð(=¸Q¸t¸fÐEØÜ×$Ñ$ð 	õ 	
r‰   c                óH   — | j                  d|t        j                  ¬«       y )NzExplicit "Any" is not allowedrÇ   )rº   rà   ÚEXPLICIT_ANYr¥   s     r‡   Úexplicit_anyzMessageBuilder.explicit_anyw  s   € Ø�	‰	Ð1°3¼U×=OÑ=Oˆ	ÕPr‰   c                óŽ   — | j                  dj                  t        || j                  «      «      |t        j
                  ¬«       y )Nz1Unsupported type {} for ** expansion in TypedDictrÇ   ©rº   ræ   rß   r…   rà   r@  )r†   rú   r¦   s      r‡   Ú%unsupported_target_for_star_typeddictz4MessageBuilder.unsupported_target_for_star_typeddictz  s=   € Ø�	‰	Ø?×FÑFÜ˜C §¡Ó.óð Ü×%Ñ%ð 	õ 	
r‰   c                ó|   — | j                  dj                  t        |d¬«      «      |t        j                  ¬«       y )Nz3Non-required {} not explicitly found in any ** itemT©ÚshortrÇ   )rº   ræ   r{  rà   r@  )r†   rî   r¦   s      r‡   Ú"non_required_keys_absent_with_starz1MessageBuilder.non_required_keys_absent_with_starƒ  s9   € Ø�	‰	ØA×HÑHÜ ¨DÔ1óð Ü×%Ñ%ð 	õ 	
r‰   c           	     óÒ  — t        |«      }t        |«      }|j                  «       sÓ|D �cg c]	  }||vsŒ|‘Œ }}|rQ| j                  dj                  t	        |d¬«      t        || j                  «      «      |t        j                  ¬«       |D �cg c]	  }||vsŒ|‘Œ }	}|	rQ| j                  dj                  t	        |	d¬«      t        || j                  «      «      |t        j                  ¬«       |s|	ry t	        |d¬«      }
|s| j                  d|
› �|«       y t	        |«      }|r
||k  rd|
› �}
| j                  d|› d	|
› �|t        j                  ¬«       y c c}w c c}w )
NzMissing {} for TypedDict {}Tr  rÇ   zExtra {} for TypedDict {}zUnexpected TypedDict zonly z	Expected z but found )
rí   Úis_anonymousrº   ræ   r{  rß   r…   rà   r@  ÚTYPEDDICT_UNKNOWN_KEY)r†   rú   Úexpected_keysÚactual_keysr´   Ú
actual_setÚexpected_setr›  Úmissingrÿ   Úfoundrð  s               r‡   Úunexpected_typeddict_keysz(MessageBuilder.unexpected_typeddict_keysŒ  sl  € ô ˜Ó%ˆ
Ü˜=Ó)ˆØ×ÑÔ!ð '4ÖM˜s°sÀ*Ò7L’sÐMˆGÐMÙØ—	‘	Ø1×8Ñ8Ü'¨°tÔ<¼kÈ#ÈtÏ|É|Ó>\óð Ü×-Ñ-ð ô ð %0ÖK˜S°3¸lÒ3J’SÐKˆEÐKÙØ—	‘	Ø/×6Ñ6Ü'¨°TÔ:¼KÈÈTÏ\É\Ó<Zóð Ü×4Ñ4ð ô ñ ™%àÜ °4Ô8ˆÙØ�I‰IÐ-¨e¨WÐ5°wÔ?ØÜ" =Ó1ˆÙ˜:¨Ò4Ø˜E˜7�OˆEØ�	‰	�I˜h˜Z {°5°'Ð:¸GÌ%×J^ÑJ^ˆ	Õ_ùò9 Nùò Ls   «	EµEÂ	E$ÂE$c                ó¨   — | j                  dj                  t        |j                  j	                  «       «      «      |t
        j                  ¬«       y )Nz:TypedDict key must be a string literal; expected one of {}rÇ   )rº   ræ   Úformat_item_name_listrã   rî   rà   ÚLITERAL_REQr  s      r‡   Ú$typeddict_key_must_be_string_literalz3MessageBuilder.typeddict_key_must_be_string_literal¶  sB   € Ø�	‰	ØH×OÑOÜ% c§i¡i§n¡nÓ&6Ó7óð Ü×"Ñ"ð 	õ 	
r‰   c           	     óú  — |j                  «       rD| j                  dj                  |t        |j                  j                  «       «      «      |«       y
|rt        j                  nt        j                  }| j                  dt        || j                  «      › d|› d�||¬«       t        ||j                  j                  «       d¬«      }|r.| j                  dj                  t        |d	«      «      ||¬«       y
y
)a)  Handle error messages for TypedDicts that have unknown keys.

        Note, that we differentiate in between reading a value and setting a
        value.
        Setting a value on a TypedDict is an 'unknown-key' error, whereas
        reading it is the more serious/general 'item' error.
        z5"{}" is not a valid TypedDict key; expected one of {}ú
TypedDict z has no key "rÓ   rÇ   rÔ   rÕ   zDid you mean {}?r×   N)r  rº   ræ   r  rã   rî   rà   r  r@  rß   r…   ró   r½   rô   )r†   rú   Ú	item_namer´   ÚsetitemÚerr_coder  s          r‡   Útypeddict_key_not_foundz&MessageBuilder.typeddict_key_not_found¿  sà   € ð ×ÑÔØ�I‰IØG×NÑNØÔ4°S·Y±Y·^±^Ó5EÓFóð õ	ñ 7>”u×2Ò2Ä5×CWÑCWˆHØ�I‰IØœ[¨¨d¯l©lÓ;Ð<¸MÈ)ÈÐTUÐVØØð ô ô
 # 9¨c¯i©i¯n©nÓ.>À!ÔDˆGÙØ—	‘	Ø&×-Ñ-¬j¸À$Ó.GÓHÈ'ÐX`ð õ ð r‰   c           	     óŠ   — dj                  t        t        |d| j                  iŽ«      «      }| j	                  d|› d�|«       y )NrÏ  r…   z)Type of TypedDict is ambiguous, none of (z) matches cleanly)ro  rŠ  rõ   r…   rº   )r†   Útypesr´   Úformatted_typess       r‡   Útypeddict_context_ambiguousz*MessageBuilder.typeddict_context_ambiguousÝ  sD   € ØŸ)™)¤DÔ)?ÀÐ)]ÐPT×P\ÑP\Ñ)]Ó$^Ó_ˆØ�	‰	Ø7¸Ð7HÐHYÐZÐ\cõ	
r‰   c           	     ó¬   — |j                  «       r| j                  d|› d�|«       y | j                  d|› dt        || j                  «      › d�|«       y )NzTypedDict key "z" cannot be deletedr^  z" of TypedDict z cannot be deleted)r  rº   rß   r…   )r†   rú   r#  r´   s       r‡   Útypeddict_key_cannot_be_deletedz.MessageBuilder.typeddict_key_cannot_be_deletedã  sV   € ð ×ÑÔØ�I‰I˜¨	 {Ð2EÐFÈÕPà�I‰IØ˜	�{ /´+¸cÀ4Ç<Á<Ó2PÐ1QÐQcÐdØõr‰   c           	     ó¼   — d}| j                  |j                  t        || j                  «      t        || j                  «      «      |t        j
                  ¬«       y )NzOArgument 2 to "setdefault" of "TypedDict" has incompatible type {}; expected {}rÇ   r  )r†   Údefaultrð  r´   r³   s        r‡   Ú+typeddict_setdefault_arguments_inconsistentz:MessageBuilder.typeddict_setdefault_arguments_inconsistentî  sN   € ð `ˆØ�	‰	Ø�J‰J”{ 7¨D¯L©LÓ9¼;ÀxÐQU×Q]ÑQ]Ó;^Ó_ØÜ×%Ñ%ð 	õ 	
r‰   c                ó(   — | j                  d|«       y )NzCParameterized generics cannot be used with class or instance checksrî  rô  s     r‡   Útype_arguments_not_allowedz)MessageBuilder.type_arguments_not_allowedø  s   € Ø�	‰	ÐWÐY`Õar‰   c                ó˜   — t        |«      }t        |t        «      rd}ndt        || j                  «      › d�}| j                  ||«       y )NzExpression has type "Any"z)Expression type contains "Any" (has type rÆ   )rZ   r¡   r?   rß   r…   rº   ©r†   rú   r´   rÄ  s       r‡   Údisallowed_any_typez"MessageBuilder.disallowed_any_typeû  sG   € Ü˜cÓ"ˆÜ�cœ7Ô#Ø1‰GàAÄ+ÈcÐSW×S_ÑS_ÓB`ÐAaÐabÐcˆGØ�	‰	�'˜7Õ#r‰   c                óz   — dt        || j                  «      › �}| j                  ||t        j                  ¬«       y )Nz/Returning Any from function declared to return rÇ   )rß   r…   rº   rà   ÚNO_ANY_RETURNr3  s       r‡   Úincorrectly_returning_anyz(MessageBuilder.incorrectly_returning_any  s7   € à=¼kÈ#ÈtÏ|É|Ó>\Ð=]Ð^ð 	ð 	�	‰	�'˜7¬×)<Ñ)<ˆ	Õ=r‰   c                óÐ   — | j                  d|t        j                  ¬«       | j                  d|t        j                  ¬«       | j                  d|t        j                  ¬«       y )NzI"bool" is invalid as return type for "__exit__" that always returns FalserÇ   zEUse "typing.Literal[False]" as the return type or change it to "None"zhIf return type of "__exit__" implies that it may return True, the context manager may swallow exceptions)rº   rà   ÚEXIT_RETURNr½   rô  s     r‡   Úincorrect__exit__returnz&MessageBuilder.incorrect__exit__return	  sh   € Ø�	‰	ØWØÜ×"Ñ"ð 	ô 	
ð
 	�	‰	ØSØÜ×"Ñ"ð 	ô 	
ð
 	�	‰	ð9àÜ×"Ñ"ð	 	õ 	
r‰   c                ó´   — t        |«      }t        |t        «      r| j                  d|«       y | j                  dt	        || j
                  «      › d�|«       y )Nz2Function is untyped after decorator transformationz0Type of decorated function contains type "Any" (rÆ   )rZ   r¡   r?   rº   rß   r…   r  s      r‡   Úuntyped_decorated_functionz)MessageBuilder.untyped_decorated_function  sP   € Ü˜cÓ"ˆÜ�cœ7Ô#Ø�I‰IÐJÈGÕTà�I‰IØBÄ;ÈsÐTX×T`ÑT`ÓCaÐBbÐbcÐdØõr‰   c                óP   — | j                  d|› d�|t        j                  ¬«       y )Nz"Untyped decorator makes function "z	" untypedrÇ   )rº   rà   ÚUNTYPED_DECORATOR)r†   Ú	func_namer´   s      r‡   Ú typed_function_untyped_decoratorz/MessageBuilder.typed_function_untyped_decorator%  s+   € Ø�	‰	Ø0°°¸9ÐEØÜ×(Ñ(ð 	õ 	
r‰   c           	     ó„   — t        dj                  t        |«      |t        |«      «      «      }| j                  ||«       y )Nz?{} type variable "{}" used in protocol where {} one is expected)Ú
capitalizeræ   Úvariance_stringrº   )r†   rC  Ú	tvar_namerð  r´   r³   s         r‡   Úbad_proto_variancez!MessageBuilder.bad_proto_variance,  s=   € ô ØM×TÑTÜ Ó'¨´OÀHÓ4Móó
ˆð
 	�	‰	�#�wÕr‰   c                óv   — | j                  dt        || j                  «      › �|t        j                  ¬«       y )Nz7Can only assign concrete classes to a variable of type rÇ   ©rº   rß   r…   rà   ÚTYPE_ABSTRACTr  s      r‡   Úconcrete_only_assignz#MessageBuilder.concrete_only_assign6  s9   € Ø�	‰	ØEÄkÐRUÐW[×WcÑWcÓFdÐEeÐfØÜ×$Ñ$ð 	õ 	
r‰   c                óx   — | j                  dt        || j                  «      › d�|t        j                  ¬«       y )Nz'Only concrete class can be given where z is expectedrÇ   rG  r  s      r‡   Úconcrete_only_callz!MessageBuilder.concrete_only_call=  s8   € Ø�	‰	Ø5´kÀ#ÀtÇ|Á|Ó6TÐ5UÐUaÐbØÜ×$Ñ$ð 	õ 	
r‰   c                ó6   — | j                  d|› d|› d�|«       y )NzCannot use z() with z typerî  )r†   rÞ  r!  r´   s       r‡   Úcannot_use_function_with_typez,MessageBuilder.cannot_use_function_with_typeD  s!   € ð 	�	‰	�K ˜}¨H°Y°K¸uÐEÀwÕOr‰   c                ó¬   — | j                  d|«       t        |«      dk  r4dj                  |«      }| j                  d|j                  › d|› �|«       y y )NzOOnly protocols that don't have non-method members can be used with issubclass()rÔ   rÏ  z
Protocol "z" has non-method member(s): )rº   r›   ro  r½   r  )r†   r  Úmembersr´   r{  s        r‡   Úreport_non_method_protocolz)MessageBuilder.report_non_method_protocolI  sX   € ð 	�	‰	Ø]Øô	
ô ˆw‹<˜!ÒØ—I‘I˜gÓ&ˆEØ�I‰I˜
 2§7¡7 )Ð+GÈÀwÐOÐQXÕYð r‰   c          
     ó    — | j                  dj                  t        || j                  «      t	        || j                  d¬«      «      ||¬«       y )Nz"{}.__call__" has type {}r    )Ú	verbosityrÇ   )r½   ræ   r  r…   rß   )r†   Úsubtyperg  r´   r¨   s        r‡   rc  zMessageBuilder.note_callT  sI   € ð 	�	‰	Ø'×.Ñ.Ü  ¨$¯,©,Ó7Ü˜D $§,¡,¸!Ô<óð Øð 	õ 	
r‰   c                óH   — | j                  d|t        j                  ¬«       y )NzStatement is unreachablerÇ   ©rº   rà   ÚUNREACHABLErô  s     r‡   Úunreachable_statementz$MessageBuilder.unreachable_statement`  s   € Ø�	‰	Ð,¨g¼E×<MÑ<Mˆ	ÕNr‰   c                ó8   — | j                  d|› d�|dk(  |«       y)zåIndicates that the left operand of a boolean expression is redundant:
        it does not change the truth value of the entire condition as a whole.
        'op_name' should either be the string "and" or the string "or".
        zLeft operand of "rÓ   ÚandN©Úredundant_expr©r†   Úop_namer´   s      r‡   Úredundant_left_operandz%MessageBuilder.redundant_left_operandc  s%   € ð
 	×ÑÐ/°¨y¸Ð:¸GÀuÑ<LÈgÕVr‰   c                óP   — | j                  d|› d�|t        j                  ¬«       y)zæIndicates that the right operand of a boolean expression is redundant:
        it does not change the truth value of the entire condition as a whole.
        'op_name' should either be the string "and" or the string "or".
        zRight operand of "z" is never evaluatedrÇ   NrU  r\  s      r‡   Úunreachable_right_operandz(MessageBuilder.unreachable_right_operandj  s,   € ð
 	�	‰	Ø   	Ð)=Ð>ÀÌe×N_ÑN_ð 	õ 	
r‰   c                ó*   — | j                  d||«       y )NzIf condition in comprehensionrZ  ©r†   Ú
truthinessr´   s      r‡   Ú$redundant_condition_in_comprehensionz3MessageBuilder.redundant_condition_in_comprehensions  s   € Ø×ÑÐ;¸ZÈÕQr‰   c                ó*   — | j                  d||«       y )NzIf conditionrZ  rb  s      r‡   Úredundant_condition_in_ifz(MessageBuilder.redundant_condition_in_ifv  s   € Ø×Ñ˜N¨J¸Õ@r‰   c                ó€   — | j                  |› dt        |«      j                  «       › �|t        j                  ¬«       y )Nz is always rÇ   )rº   r  Úlowerrà   ÚREDUNDANT_EXPR)r†   Údescriptionrc  r´   s       r‡   r[  zMessageBuilder.redundant_expry  s;   € Ø�	‰	Øˆm˜;¤s¨:£×'<Ñ'<Ó'>Ð&?Ð@ØÜ×%Ñ%ð 	õ 	
r‰   c                ól   — d}| j                  |j                  ||«      |t        j                  ¬«       y )NzSubclass of {} cannot exist: {}rÇ   )rº   ræ   rà   rV  )r†   Úformatted_base_class_listÚreasonr´   Útemplates        r‡   Úimpossible_intersectionz&MessageBuilder.impossible_intersection€  s3   € ð 5ˆØ�	‰	Ø�O‰OÐ5°vÓ>ÀÌe×N_ÑN_ð 	õ 	
r‰   c                ó6   — | j                  d|› d|› d�|«       y )NrÓ   z" cannot appear after "z7" in type parameter list because it has no default typerî  )r†   rD  Úlast_tvar_name_with_defaultr´   s       r‡   Útvar_without_default_typez(MessageBuilder.tvar_without_default_typeˆ  s0   € ð 	�	‰	Ø�	ˆ{Ð1Ð2MÐ1Nð ODð Dàõ	
r‰   c               ó   — d}d}t         dgt        ddgi}|j                  j                  |j	                  t        |«      g «      v ryt        d„ t        |j                  «      D «       «      ryd}d}	g }
|}t        |t        «      r t        j                  j                  |«      }n®t        |t         «      r|j                  }n‘t        |t        «      r*t        |j                  t        «      syd	}|j                  }nWt        |t         «      rG|j#                  «       r(|j%                  d	¬
«      }t        |t        «      syd	}|}n|j                  }dg}
|j&                  r|j&                  j(                  rd	}	t        |t        «      s|}t+        |||
¬«      }|�rt-        |«      t-        |j                  j.                  «      k  s|dgk(  rÞt-        |«      |k  rÐ|dgk(  rO|rM| j1                  dj3                  |j                  j4                  |j                  j4                  «      ||¬«       nµ| j1                  dj3                  |j                  j4                  |j                  j4                  t7        |«      «      ||¬«       | j1                  dj9                  |«      |||¬«       n:t-        |«      |kD  s+t-        |«      t-        |j                  j.                  «      k(  ryt;        ||||| j<                  ¬«      }|�rÔt?        |tA        |«      | j<                  ¬«      rm|j                  jB                  jD                  rM|j                  jB                  jD                  r-|j                  jF                  s|j                  jF                  �rFtI        || j<                  d	¬«      }| j1                  d|› d�||¬«       |d| D �]í  \  }}}}tK        |«      }tK        |«      }|rdnd}t        |t         tL        f«      r&t        |t         tL        f«      r|j#                  «       ro| j1                   dj2                  ||gtO        ||| j<                  ¬«      ¢­Ž |||¬«       |sŒ¡t?        ||| j<                  ¬«      sŒº| j1                  d|||¬«       ŒÐ| j1                  dj3                  |«      |||¬«       t        |t         «      r3| j1                  tQ        || j<                  |xs |	¬«      |d|z  |¬«       n/t        |tL        «      sJ ‚| jS                  ||d|z  ||xs |	¬«       | j1                  d|||¬«       t        |t         «      r4| j1                  tQ        || j<                  |xs |	¬«      |d|z  |¬«       �Œ¿t        |tL        «      sJ ‚| jS                  ||d|z  ||xs |	¬«       �Œð | jU                  |||||jV                  ¬«       tY        |||¬ «      }|d| D �]Ã  \  }}}|sHtZ        |v r@tZ        |vr8| j1                  d!j3                  |j                  j4                  |«      ||¬«       |sHtZ        |v r@tZ        |vr8| j1                  d"j3                  |j                  j4                  |«      ||¬«       t\        |v r@t\        |vr8| j1                  d#j3                  |j                  j4                  |«      ||¬«       t^        |v r@t^        |vr8| j1                  d$j3                  |j                  j4                  |«      ||¬«       |rPt`        |v rHt`        |v r@tZ        |vr8| j1                  d%j3                  ||j                  j4                  «      ||¬«       |s�Œ‚tZ        |v s�ŒŒ| j1                  d&j3                  |j                  j4                  |«      ||¬«       �ŒÆ | jU                  |||||jV                  ¬«       y)'a  Report possible protocol conflicts between 'subtype' and 'supertype'.

        This includes missing members, incompatible types, and incompatible
        attribute flags, such as settable vs read-only or class variable vs
        instance variable.
        rÖ  r#  ztyping.Mappingrj   ztyping.SequenceNc              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr„   )r¡   rV   )rÛ   r  s     r‡   rÝ   z:MessageBuilder.report_protocol_problems.<locals>.<genexpr>ª  s   è ø€ ÒZ°2Œz˜"œo×.ÑZùs   ‚FT)Úforce_fallbackrÍ   )Úskipz9"{}" has constructor incompatible with "__call__" of "{}"r_  z1"{}" is missing following "{}" protocol member{}:rÏ  r  )Ú	class_objr…   rØ   rÑ   zFollowing member(s) of z have conflicts:z setter typerÎ   z{}: expected{} {}, got {}z*Setter types should behave contravariantlyzExpected{}:©Ú	skip_self)r©   ry  zGot:rÇ   ©rw  zDProtocol member {}.{} expected instance variable, got class variablezDProtocol member {}.{} expected class variable, got instance variablezIProtocol member {}.{} expected settable variable, got read-only attributez5Protocol member {}.{} expected class or static methodzeOnly class variables allowed for class object access on protocols, {} is an instance variable of "{}"zEClassVar protocol member {}.{} can never be matched by a class object)1rN   rK   rÚ   rè   rñ   rö   r[   r‘  r¡   ÚmypyÚtypeopsÚtuple_fallbackÚfallbackrQ   rÜ   rC   r@   rå   Úget_instance_typeÚextra_attrsÚmod_nameÚget_missing_protocol_membersr›   Úprotocol_membersr½   ræ   r  r]   ro  Úget_conflict_protocol_typesr…   r=   r   r  Ú	type_varsÚhas_param_spec_typerß   rZ   rF   rõ   rÜ  r  Ú
print_morer¨   Úget_bad_protocol_flagsr5   r7   r4   r8   )r†   rS  r  r´   r©   r  Ú	MAX_ITEMSÚ
exclusionsrw  Ú	is_modulerv  Úoriginal_subtypeÚinstance_typer  Úconflict_typesr!  r  ÚgotÚexpÚ	is_lvalueÚsetter_suffixÚconflict_flagsÚsubflagsÚ
superflagss                           r‡   rb  z'MessageBuilder.report_protocol_problems‘  si  € ð ˆð ˆ	ô Ð,Ð-ÜÐ)Ð+<Ð=ð-
ˆ
ð �>‰>×"Ñ" j§n¡n´T¸'³]ÀBÓ&GÑGØÜÑZÔ9IÈ)Ï.É.Ó9YÔZÔZð àˆ	Øˆ	ØˆØ"ÐÜ�gœyÔ)Ü—l‘l×1Ñ1°'Ó:‰GÜ˜¤Ô/Ø×&Ñ&‰GÜ˜¤Ô*Ü˜gŸl™l¬HÔ5ØØˆIØ—l‘l‰GÜ˜¤Ô.Ø×"Ñ"Ô$Ø '× 9Ñ 9ÈÐ 9Ó N�Ü! -´Ô:ØØ �	Ø'‘à!×*Ñ*�Ø"�|�Ø×Ò 7×#6Ñ#6×#?Ò#?ØˆIÜÐ*¬IÔ6ð  'Ðô /¨w¸	ÈÔMˆâÜ�W“¤ I§N¡N×$CÑ$CÓ DÒDÈÐT^ÐS_ÒH_Ü�G“ 	Ò)à˜:˜,Ò&©9Ø—	‘	ØO×VÑVØŸ™×)Ñ)¨9¯>©>×+>Ñ+>óð Ø!-ð õ ð —	‘	ØG×NÑNØŸ™×)Ñ)¨9¯>©>×+>Ñ+>ÄÈÓ@Qóð Ø!-ð ô ð —	‘	˜$Ÿ)™) GÓ,¨g¸fÐS_�	Õ`Ü�‹\˜IÒ%¬¨W«¼¸Y¿^¹^×=\Ñ=\Ó9]Ò)]àô 5ØÐ% y¸IÈtÏ|É|ô
ˆò Ü˜7¤J¨yÓ$9À4Ç<Á<ÕPØ—<‘<×$Ñ$×.Ò.Ø—>‘>×&Ñ&×0Ò0à�|‰|×/Ò/Ø�~‰~×1Ó1ä# G¨T¯\©\ÈÔMˆIØ�I‰IØ)¨)¨Ð4DÐEØØ)ð ô ð
 .<¸J¸YÐ-Gó DÑ)��c˜3 	Ü% cÓ*�Ü% cÓ*�Ù2;¡À�ä" 3¬´zÐ(BÔCÜ% c¬L¼*Ð+EÔFð —‘Ô(à—I‘IØ:Ð3×:Ñ:Ø Ø)ðô 4°C¸ÀdÇlÁlÔSòð
  Ø%Ø%1ð ô 	ò !¤Z°°SÀ$Ç,Á,Ö%OØŸ	™	ØHØ#Ø#)Ø)5ð	 "õ ð —I‘IØ%×,Ñ,¨]Ó;ØØ%Ø%1ð	 ô ô " #¤|Ô4ØŸ	™	Ü+¨C°·±ÈÒI_ÐV_Ô`Ø#Ø#$ v¡:Ø)5ð	 "õ ô  *¨#¬zÔ:Ð:Ð:Ø×,Ñ,ØØ#Ø ™JØ)5Ø&/Ò&<°9ð -ô ð —I‘I˜f g°fÈ<�IÔXÜ! #¤|Ô4ØŸ	™	Ü+¨C°·±ÈÒI_ÐV_Ô`Ø#Ø#$ v¡:Ø)5ð	 "ö ô  *¨#¬zÔ:Ð:Ð:Ø×,Ñ,ØØ#Ø ™JØ)5Ø&/Ò&<°9ð -ö ð}DðJ �O‰O˜N¨G°V¸YÈ\×M^ÑM^ˆOÔ_ô 0°¸ÈiÔXˆØ*8¸¸)Ð*Dó 2	Ñ&ˆD�(˜JÙ¤°Ñ!8¼[ÐPZÑ=ZØ—	‘	ØZ×aÑaØ!Ÿ™×+Ñ+¨Tóð Ø!-ð ô ñ ¤°
Ñ!:¼{ÐRZÑ?ZØ—	‘	ØZ×aÑaØ!Ÿ™×+Ñ+¨Tóð Ø!-ð ô ô ˜jÑ(¬[ÀÑ-HØ—	‘	ð/ß/5©v°i·n±n×6IÑ6IÈ4Ó/PØØ!-ð	 ô ô " ZÑ/Ô4FÈhÑ4VØ—	‘	ØK×RÑRØ!Ÿ™×+Ñ+¨Tóð Ø!-ð ô ñ Ü˜jÑ(Ü˜xÑ'¬K¸xÑ,Gà—	‘	ð:ß:@¹&ÀÀwÇ|Á|×GXÑGXÓ:YØØ!-ð	 ô ó œ[¨JÓ6Ø—	‘	Ø[×bÑbØ!Ÿ™×+Ñ+¨Tóð Ø!-ð ö ðY2	ðf 	�‰˜¨°¸È×IZÑIZˆÕ[r‰   )r  ry  c               óî   — |j                   D ]f  }| j                  d|||¬«       |r"t        |«      }|�| j                  ||||¬«       | j                  t        || j                  |¬«      |||¬«       Œh y )Nz	@overloadr  rx  )rã   r½   r  rÜ  r…   )	r†   r  r´   r¬   r©   r  ry  rÜ   r  s	            r‡   r  zMessageBuilder.pretty_overloady	  s|   € ð —H‘Hò 	ˆDØ�I‰I�k 7°6ÈˆIÔUá,Ü<¸TÓB�	ØÐ(Ø—I‘I˜i¨¸Èl�IÔ[à�I‰IÜ  d§l¡l¸iÔHØØØ)ð	 õ ñ	r‰   c               ól   — t        |«      |kD  r&| j                  dt        |«      |z
  › d�|||¬«       y y )Nú<z more conflict(s) not shown>r×  )r›   r½   )r†   Ú	conflictsr´   r¬   Ú	max_itemsr¨   s         r‡   r‡  zMessageBuilder.print_more’	  sF   € ô ˆy‹>˜IÒ%Ø�I‰IØ”C˜	“N YÑ.Ð/Ð/KÐLØØØð	 õ ð &r‰   c           
     óR  — t        |t        «      �r–t        |j                  «      t        kD  rpt        |t
        «      r`|j                  j                  dk(  rG|j                  d   }|gt        |j                  «      z  }| j                  ||j                  ||«       yt        |t        «      rút        |j                  «      t        kD  st        |j                  «      t        kD  rÂt        |j                  «      t        |j                  «      k7  rn|�l|�j|j                  dj                  || j                  |«      || j                  |«      «      «      }| j                  |j                  ||j                  ¬«       y| j                  |j                  |j                  ||«       yy)zÅTry to generate meaningful error message for very long tuple assignment

        Returns a bool: True when generating long tuple assignment error,
        False when no such error reported
        rs   r   Tz ({} {}, {} {})rÇ   F)r¡   rK   r›   rã   ÚMAX_TUPLE_ITEMSrC   rÚ   rè   r‘  Ú!generate_incompatible_tuple_errorr1  ræ   Úformat_long_tuple_typerº   r2  r¨   )	r†   rS  r  r´   r³   Úsubtype_labelÚsupertype_labelÚlhs_typeÚ	lhs_typess	            r‡   Ú&try_report_long_tuple_assignment_errorz5MessageBuilder.try_report_long_tuple_assignment_error£	  sR  € ô �gœyÕ)ä�G—M‘MÓ"¤_Ò4Ü˜y¬(Ô3Ø—N‘N×+Ñ+Ð/?Ò?à$Ÿ>™>¨!Ñ,�Ø%˜J¬¨W¯]©]Ó);Ñ;�	Ø×6Ñ6°yÀ'Ç-Á-ÐQXÐZ]Ô^ØÜ˜I¤yÔ1Ü�G—M‘MÓ"¤_Ò4¼¸I¿O¹OÓ8LÌÒ8^ä�w—}‘}Ó%¬¨Y¯_©_Ó)=Ò=Ø&Ð2°}Ð7PØ!×5Ñ5Ø-×4Ñ4Ø -Ø $× ;Ñ ;¸GÓ DØ /Ø $× ;Ñ ;¸IÓ Fó	ó˜ð Ÿ	™	 #§)¡)¨W¸3¿8¹8˜	ÔDØ#Ø×6Ñ6Ø—O‘O W§]¡]°G¸Sôð Ør‰   c                ó,  — t        |j                  «      }|t        kD  radj                  t	        |j                  d   | j
                  «      t	        |j                  d   | j
                  «      t        |dz
  «      «      S t        || j
                  «      S )z6Format very long tuple type using an ellipsis notationz$"tuple[{}, {}, ... <{} more items>]"r   r    r#  )r›   rã   rœ  ræ   r  r…   r  rß   )r†   rú   Úitem_cnts      r‡   rž  z%MessageBuilder.format_long_tuple_typeÐ	  su   € ä�s—y‘y“>ˆØ”oÒ%Ø9×@Ñ@Ü  §¡¨1¡¨t¯|©|Ó<Ü  §¡¨1¡¨t¯|©|Ó<Ü�H˜q‘LÓ!óð ô ˜s D§L¡LÓ1Ð1r‰   c                ó@  — d}g }t        t        ||«      «      D ]r  \  }\  }}	t        |	|«      rŒ|dk  rS|j                  dj	                  t        |«      t        |	| j                  «      t        || j                  «      «      «       |dz  }Œt dt        |«      › d�}
|dz
  dkD  r|
dt        |dz
  «      › d�z  }
n|
d	z  }
|j                  |
«      }| j                  |j                  ||j                  ¬
«       |D ]   }| j                  |||j                  ¬
«       Œ" y)z>Generate error message for individual incompatible tuple pairsr   rÔ   z3Expression tuple item {} has type {}; {} expected; r    r  z tuple items are incompatiblez; z items are omitted)rÆ   rÇ   N)r­  rl  r=   r•   ræ   r  rß   r…   r1  rº   r2  r¨   r½   )r†   r¢  Ú	rhs_typesr´   r³   Ú	error_cntrM  r°  Úlhs_tÚrhs_tr’   r½   s               r‡   r�  z0MessageBuilder.generate_incompatible_tuple_errorÜ	  s#  € ð ˆ	ØˆÜ!*¬3¨y¸)Ó+DÓ!Eò 
	ÑˆA‰~��uÜ˜e UÕ+Ø˜q’=Ø—L‘LØM×TÑTÜ ›FÜ'¨¨t¯|©|Ó<Ü'¨¨t¯|©|Ó<óôð ˜Q‘‘	ð
	ð ”C˜	“NÐ#Ð#@ÐAˆØ�q‰=˜1ÒØ�bœ˜Y¨™]Ó+Ð,Ð,?Ð@Ñ@‰Dà�C‰KˆDØ×%Ñ% dÓ+ˆØ�	‰	�#—)‘)˜W¨3¯8©8ˆ	Ô4Øò 	4ˆDØ�I‰I�d˜G¨#¯(©(ˆIÕ3ñ	4r‰   c                ó’   — | j                  d|› d�|«       |t        v r)| j                  dj                  t        |   «      |«       y y )Nz)Maybe your test fixture does not define "z"?z?Consider adding [builtins fixtures/{}] to your test description)r½   ru   ræ   )r†   rè   r¦   s      r‡   Úadd_fixture_notezMessageBuilder.add_fixture_noteü	  sO   € Ø�	‰	Ð=¸h¸ZÀrÐJÈCÔPØÔ.Ñ.Ø�I‰IØQ×XÑXÜ+¨HÑ5óð õ	ð /r‰   c                óH   — | j                  d|t        j                  ¬«       y )Nz_By default the bodies of untyped functions are not checked, consider using --check-untyped-defsrÇ   )r½   rà   ÚANNOTATION_UNCHECKEDrô  s     r‡   Ú annotation_in_unchecked_functionz/MessageBuilder.annotation_in_unchecked_function
  s$   € Ø�	‰	ð3àÜ×+Ñ+ð	 	õ 	
r‰   c                ó²   — dj                  d„ |D «       «      }| j                  t        j                  j	                  |«      |t
        j                  ¬«       y )NrÏ  c              3  ó,   K  — | ]  }d |z   d z   –— Œ y­wrÑ  r‚  rÒ  s     r‡   rÝ   zDMessageBuilder.type_parameters_should_be_declared.<locals>.<genexpr>
  s   è ø€ Ò<¨A˜# ™' C�-Ñ<ùs   ‚rÇ   )ro  rº   r   Ú"TYPE_PARAMETERS_SHOULD_BE_DECLAREDræ   rà   Ú
VALID_TYPE)r†   Ú
undeclaredr´   rê   s       r‡   Ú"type_parameters_should_be_declaredz1MessageBuilder.type_parameters_should_be_declared
  sG   € Ø—	‘	Ñ<°Ô<Ó<ˆØ�	‰	Ü×?Ñ?×FÑFÀuÓMØÜ×!Ñ!ð 	õ 	
r‰   c                óÂ   — t        || j                  «      }d|› �}| j                  ||t        j                  ¬«       | j                  d|t        j                  ¬«       y )Nz6Match statement has unhandled case for values of type rÇ   zGIf match statement is intended to be non-exhaustive, add `case _: pass`)rß   r…   rº   rà   ÚEXHAUSTIVE_MATCHr½   )r†   rú   r´   rD  r³   s        r‡   Ú"match_statement_inexhaustive_matchz1MessageBuilder.match_statement_inexhaustive_match
  sV   € Ü˜s D§L¡LÓ1ˆØFÀxÀjÐQˆØ�	‰	�#�w¤U×%;Ñ%;ˆ	Ô<Ø�	‰	ØUØÜ×'Ñ'ð 	õ 	
r‰   c                óÆ  — |j                  «       D ]  } | j                  |d d d|d   iŽ Œ |j                  «       D ]Z  \  }}}| j                  t        j
                  j                  |d   «      t        j
                  j                  |d   «      ||«       Œ\ |j                  «       D ]4  \  }}| j                  t        j
                  j                  |«      |«       Œ6 y )Nr#  r¨   r   r    )	Úyield_uselessness_error_infosrº   Úyield_nonoverlapping_typesr±  r{  r|  Úmake_simplified_unionÚyield_revealed_type_infosrä  )r†   Úiter_errorsÚ
error_infoÚnonoverlapsro  r´   r(  s          r‡   r©  z)MessageBuilder.iteration_dependent_errors 
  sÕ   € Ø%×CÑCÓEò 	;ˆJØˆD�I‰I�z " 1�~Ð:¨J°q©MÓ:ð	;à*5×*PÑ*PÓ*Rò 	Ñ&ˆK˜˜wØ×%Ñ%Ü—‘×2Ñ2°;¸q±>ÓBÜ—‘×2Ñ2°;¸q±>ÓBØØõ	ð	ð *×CÑCÓEò 	Q‰NˆE�7Ø×ÑœTŸ\™\×?Ñ?ÀÓFÈÕPñ	Qr‰   )r   r   r�   r€   ÚreturnÚNone)
r‹   z'bool | Callable[[str, ErrorInfo], bool]rŒ   Úboolr�   rÃ  rŽ   rÃ  rÁ  r   )r   zlist[ErrorInfo]rÁ  rÂ  )rÁ  zIterator[None])rÁ  rÃ  )r¦   r#   rÁ  zIterable[int])r   )r³   r  r´   r#   r«   r  r¬   Úintr¨   úErrorCode | Nonerµ   úContext | Noner©   úErrorInfo | NonerÁ  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ù   rL   rú   rL   rû   r  r´   r#   rü   zSymbolTable | NonerÁ  rÅ  )rý   r  r  r   r  r   r´   r#   r¨   r   rÁ  r   )rý   r  rú   rL   r´   r#   rÁ  rÂ  )rú   rL   r´   r#   rÁ  rL   )r  r@   r´   r#   rÁ  rL   )rÖ   rÄ  r  rÄ  r  r@   rB  rL   rC  r!   rD  úType | Noner´   r#   rE  r#   rÁ  r   )
re  rJ   rf  rJ   r´   r#   r©   r   rÁ  rÂ  )
re  rJ   rf  rJ   r´   r#   r¨   rÅ  rÁ  rÂ  )rt  rL   rX  rL   ru  r  r´   r#   r¨   r   rÁ  r   )rî   úset[str]r´   r#   rÁ  rÂ  )r  r@   r´   r#   r�  úSequence[str | None] | NonerÁ  rÂ  )r  r@   r´   r#   r  r  rÁ  rÂ  )r  r@   r´   r#   rÁ  rÂ  )r  r@   rB  rN   r´   r#   rÁ  rÂ  )
rª  r  r  r  r´   r#   r  zlist[str] | NonerÁ  rÂ  )
r  r@   r  r  rB  rL   r´   r#   rÁ  rÂ  )r  r@   r´   r#   r¨   r   rÁ  rÂ  )r  r@   r<  rÄ  r´   r#   rÁ  rÂ  )rf  rÈ  r´   r#   rÁ  rÂ  )rú   rA   r´   r#   rÁ  rÂ  )rÝ  rF   r/  ú
list[Type]r´   r#   r:  rÊ  r;  zlist[ArgKind] | Noner¨   rÅ  rÁ  rÂ  )rï  rÄ  rð  rÄ  r´   r#   rÁ  rÂ  )r´   r#   rÁ  rÂ  )rÚ   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Á  rÂ  )
r  r#   rú   rL   rù   rL   rH  r-   rÁ  rÂ  )r  r  r  r  r  r  r´   r#   r  rJ   r  rJ   rÁ  rÂ  )r  zCallableType | Overloadedr´   r#   r©   r   r¬   rÄ  r  rÃ  rÁ  rÂ  )r   rÄ  r  r  r!  ú
str | Noner"  r  r#  rL   r  r  r´   r#   rµ   r#   rÁ  rÂ  )r  r  r"  r  r  r  r  rL   r  rL   r´   r#   rÁ  rÂ  )r  r  r  r  r  r  rÁ  r  )
r,  rÄ  r-  rÄ  r.  rÄ  r´   r#   rÁ  rÂ  )rf  r@   r1  rR   r´   r#   rÁ  rÂ  )rú   rL   r´   r#   rÁ  rÂ  )rú   rL   r6  rÃ  r´   r#   rÁ  rÂ  )rû   r  r´   r#   rÁ  rÂ  )r  r  r´   r#   rÁ  rÂ  )rC  rL   r´   r#   rÁ  rÂ  )rþ   r  r¡  r  r¦   r#   rÁ  rÂ  )rQ  r  r´   r#   rÁ  rÂ  ©F)r´   r#   rY  rÃ  rÁ  rÂ  )r›  r  r´   r#   rÁ  rÂ  )r  r  rH  r  r´   r#   rÁ  rÂ  )r  r  rÜ   r@   r´   r#   rÁ  rÂ  )r  r  rÔ  rL   rm  r@   rn  rÃ  r´   r#   rÁ  rÂ  )r  r%   rs  rB   rt  rB   rÁ  rÂ  )r  r  ry  zdict[str, bool]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Â  )r¦   r#   rÁ  rÂ  )r  r  rÚ   r-   r´   r#   rÁ  rÂ  )
r  r@   rú   rL   r¢  r  r´   r#   rÁ  rÂ  )
r¬  rL   r­  rL   ro  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  rL   r´   r#   rÁ  rÂ  )rÊ  r-   rË  r  rÌ  rL   rÍ  r  r´   r#   rÁ  rÂ  )rÍ  r  r´   r#   rÁ  rÂ  )rþ   r  rÒ  r  r´   r#   rÁ  rÂ  )rÖ  rL   r´   r#   rÁ  rL   )rÛ  rL   r´   r#   rÁ  rÂ  )rÛ  rL   r´   r#   rÞ  r  rÁ  rÂ  )rì  zdict[str, Type | None]r´   r#   rÁ  rÂ  )rÜ   rL   r´   r#   rÁ  rÂ  )rö  rL   r÷  rL   r´   r#   rÁ  rÂ  )rû  r  rú   rL   r¦   r#   rÁ  rÂ  )r  r+   r´   r#   r…   úOptions | NonerÁ  rÂ  )rú   rL   r¦   r#   rÁ  rÂ  )rî   ú	list[str]r¦   r#   rÁ  rÂ  )
rú   rN   r  rÏ  r  rÏ  r´   r#   rÁ  rÂ  )rú   rN   r´   r#   rÁ  rÂ  )
rú   rN   r#  r  r´   r#   r$  rÃ  rÁ  rÂ  )r(  zlist[TypedDictType]r´   r#   rÁ  rÂ  )rú   rN   r#  r  r´   r#   rÁ  rÂ  )r.  rL   rð  rL   r´   r#   rÁ  rÂ  )r?  r  r´   r#   rÁ  rÂ  )
rC  rÄ  rD  r  rð  rÄ  r´   r#   rÁ  rÂ  )rÞ  r  r!  r  r´   r#   rÁ  rÂ  )r  r-   rO  rÏ  r´   r#   rÁ  rÂ  )
rS  rL   rg  rL   r´   r#   r¨   rÅ  rÁ  rÂ  )r]  r  r´   r#   rÁ  rÂ  )rc  rÃ  r´   r#   rÁ  rÂ  )rj  r  rc  rÃ  r´   r#   rÁ  rÂ  )rl  r  rm  r  r´   r#   rÁ  rÂ  )rD  r  rq  r  r´   r#   rÁ  rÂ  )
rS  z>Instance | TupleType | TypedDictType | TypeType | CallableTyper  rC   r´   r#   r©   r   rÁ  rÂ  )r  rF   r´   r#   r¬   rÄ  r©   r   r  rÃ  ry  rÃ  rÁ  rÂ  )r™  zSequence[Any]r´   r#   r¬   rÄ  rš  rÄ  r¨   rÅ  rÁ  rÂ  )NN)rS  rJ   r  rJ   r´   r#   r³   úmessage_registry.ErrorMessagerŸ  rÌ  r   rÌ  rÁ  rÃ  )rú   rK   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Â  )™Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__rˆ   r‹   r“   r	   r˜   rœ   rž   r§   r±   rº   r½   rÃ   r  rà   rá   r  rä   r  r   r]  rh  rd  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/  r2  r4  r7  r9  r>  rA  rE  rI  rM  rO  rR  rT  rZ  r\  r_  ra  re  rg  rk  rq  ru  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/  r1  r4  r7  r:  r<  r@  rE  rI  rK  rM  rP  rc  rW  r^  r`  rd  rf  r[  ro  rr  rb  r  r‡  r£  rž  r�  r¬  r¯  rµ  r¸  r©  r‚  r‰   r‡   r~   r~   £   s×  … ñð ƒNà Ó ð $Ó#ó&ð BFØ%*Ø"'Ø%*ñ
ð ?ð
ð #ð	
ð
  ð
ð #ð
ð 
ó
ó -ð
 ò+ó ð+óRó4ó?ð ð 
ð "&à)-ñ 
àð 
ð ð 
ð ð	 
ð
 ð 
ð ð 
ð 'ð 
ð 'ð 
ð 
ó 
ðN "&Ø)-ñ	\àð	\ð ð	\ð
 ð	\ð 'ð	\ð 
ó	\ð ð	
ð "&Ø)-Ø)-ñ
àð
ð ð
ð ð	
ð ð
ð 'ð
ð 'ð
ð 
ó
ð2 ð	ð "&Ø)-Ø)-ñàðð ðð ð	ð ðð 'ðð 'ðð 
óðH 37ðMàðMð ðMð ð	Mð
 ðMð 0ðMð 
óMðl  Ÿ.™.ñ2àð2ð ð2ð ð	2ð
 ð2ð ð2ð 
ó2ó>5ó-ó-ð_àð_ð ð_ð ð	_ð
 ð_ð ð_ð !ð_ð ð_ð ð_ð 
ó_ðB#
à(ð#
ð  ð#
ð ð	#
ð
  ð#
ð 
ó#
ðT "&ðà(ðð  ðð ð	ð
 ðð 
óð@
àð
ð ð
ð ð	
ð
 ð
ð ð
ð 
ó
ó(	
ð5Ø"ð5Ø-4ð5ØFað5à	ó5ó00ó
<ð Ø"ð Ø.;ð ØFMð à	ó óJóð Z^ñ5Øð5Ø#&ð5Ø18ð5ØFVð5à	ó5ð0Ø"ð0Ø*-ð0Ø9=ð0ØHOð0à	ó0ð2 INÏÉðUØ"ðUØ-4ðUØ<EðUà	óUó"
óCóBó
Oð& +/Ø!%ñ~Yàð~Yð ð~Yð ð	~Yð /ð~Yð (ð~Yð ð~Yð 
ó~Yð@ØðØ'*ðØ5<ðà	óóVóXóJóNð	QØð	QØ(+ð	QØ8;ð	QØFMð	Qà	ó	Qð`Øð`Ø"&ð`Ø7;ð`ØCKð`à	ó`ð1càð1cð ð1cð ð	1cð
 ð1cð ð1cð ð1cð 
ó1cðr Ø.3ñà%ðð ðð
  ðð ðð (,ðð 
óð:*àð*ð ð*ð ð	*ð
 ð*ð  $ð*ð ð*ð ð*ð  ð*ð 
ó*ðX#àð#ð ð#ð ð	#ð
 ð#ð ð#ð ð#ð 
ó#óJðLØ ðLØ14ðLØHKðLØV]ðLà	óLð"FØ'ðFØ-<ðFØGNðFà	óFó$Eó	óBó]ócó
ó
ócó
ó
ó

ô
ô
ó^ó
óVóXó
ð
Øð
Ø"ð
Ø)5ð
ØGKð
ØV]ð
à	ó
ð
[Øð
[Ø'3ð
[Ø?Kð
[à	ó
[ð6Øð6Ø4Cð6ØNUð6à	ó6ð<
Øð
Ø (ð
Ø19ð
ØDKð
à	ó
ó_óUó
ð
Øð
Ø$'ð
Ø29ð
à	ó
óXó
óLó:óFóWð	
Ø"ð	
Ø)-ð	
Ø=@ð	
ØKRð	
à	ó	
ó
ó>
ðØðØ#&ðØ37ðØBIðà	óð 

Øð

Ø#&ð

Ø18ð

à	ó

ó
ó
ó
ó[ó
ð
àð
ð ð
ð ð	
ð
 ð
ð ð
ð 
ó
ó$Só^ó-óXð
Øð
Ø(/ð
Ø>Að
à	ó
óHó,
@ó
ó

ódó
ð MQð
Øð
Ø)0ð
Ø;Ið
à	ó
ó6Qó
ó
ð(`àð(`ð !ð(`ð ð	(`ð
 ð(`ð 
ó(`óT
ð UZðØ ðØ-0ðØ;BðØMQðà	ôô<
ð	Ø ð	Ø-0ð	Ø;Bð	à	ô	ð
Øð
Ø'+ð
Ø6=ð
à	ô
óbó$ó>ó
ó$ô
ð Øð Ø&)ð Ø58ð ØCJð à	ô ó
ó
ðPØðPØ+.ðPØ9@ðPà	ôPð
	ZØð	ZØ%.ð	ZØ9@ð	Zà	ô	Zð

Øð

Ø#'ð

Ø29ð

ØDTð

à	ô

óOôWô
ôRôAô
ð
Ø),ð
Ø69ð
ØDKð
à	ô
ð
Øð
Ø;>ð
ØIPð
à	ô
ðf\àOðf\ð ðf\ð ð	f\ð  ðf\ð 
ôf\ð^ /4Øñàðð ðð ð	ð  ðð (,ðð ðð 
ôð@ "&ñà ðð ðð ð	ð
 ðð ðð 
ôð. %)Ø&*ñ+àð+ð ð+ð ð	+ð
 +ð+ð "ð+ð $ð+ð 
ô+ôZ
2ð4àð4ð ð4ð ð	4ð
 +ð4ð 
ô4ô@ó
ô
ó
õQr‰   r~   c                ó^   — | dv s"| j                  d«      s| j                  d«      r| S d| › d�S )z1Quotes a type representation for use in messages.)ÚModuleúoverloaded functionú	<deleted>zModule r©  rÓ   )r-  Úendswith)Útype_strings    r‡   r=  r=  .
  s@   € ð 	ÐEÑEØ×!Ñ! )Ô,Ø×Ñ Ô$ð ÐØˆ{ˆm˜1ÐÐr‰   c                óR   — | t         k(  xr |du xs |dk(  xr | j                  «       S )z]
    Determine whether a function argument should be formatted as its Type or with name.
    Nr   )r   Úis_positional)rC  rZ  rR  s      r‡   Úshould_format_arg_as_typerÞ  :
  s5   € ð œÑÒ4 H°Ð$4ò Ø�Q‰Ò3˜8×1Ñ1Ó3ðr‰   c           
     ób  — g }t        || |«      D ]�  \  }}}t        |||«      r|j                   ||«      «       Œ,t        |   }	|j	                  «       s|€|j                  |	› d ||«      › d�«       Œe|j                  |	› d ||«      › dt        |«      › d�«       Œ� dj                  |«      S )z2Format a bunch of Callable arguments into a stringú(rÆ   rÏ  )rl  rÞ  r•   rr   Úis_starÚreprro  )
r/  r;  r:  ræ   rR  Úarg_stringsrZ  rB  rC  Úconstructors
             r‡   Úformat_callable_argsrå  C
  sÃ   € ð €KÜ(+¨I°yÀ)Ó(Lò [Ñ$ˆ�(˜HÜ$ X¨x¸ÔCØ×Ñ™v hÓ/Õ0ä/°Ñ9ˆKØ×ÑÔ! XÐ%5Ø×"Ñ" k ]°!±F¸8Ó4DÐ3EÀQÐ#GÕHà×"Ñ" k ]°!±F¸8Ó4DÐ3EÀRÌÈXËÐGWÐWXÐ#YÕZð[ð �9‰9�[Ó!Ð!r‰   Fc           	     óÐ  ‡‡‡‡ ‡!‡"— d8ˆˆˆfd„Š d9ˆ fd„}d:ˆ ˆfd„Š"d9ˆ"fd„}d;ˆ fd„Š!t        | t        «      r�| j                  rƒ| j                  €d}|S ‰dk\  s‰r/| j                  j                  ‰v r| j                  j                  }n| j                  j
                  }| j                  r|d || j                  «      › d	�z  }|S t        | «      } t        | t        «      �r\| }	|	j                  j                  d
k(  rDd}
|	j                  r4|	j                  j                  r|r|
› d|	j                  j                  › d�S |
S |	j                  j                  dk(  ry‰dk\  s‰r/|	j                  j                  ‰v r|	j                  j                  }
n|	j                  j
                  }
|	j                  s?|	j                  j                  r't        |	j                  j                  «      dk(  r|
dz   S |
S |	j                  j                  dk(  r ‰ |	j                  d   «      }d|› d�S |
› d ||	j                  «      › d	�S t        | t        «      r;‰j!                  «       rd ‰ | j                  «      › �S d ‰ | j                  «      › d	�S t        | t"        «      r$t%        | «      }‰dk\  s‰r|‰v r|S | j
                  S t        | t&        «      r$t%        | «      }‰dk\  s‰r|‰v r|S | j
                  S t        | t(        «      rˆ| j*                  j,                  rbt/        | j*                  j,                  | j*                  j0                  | j*                  j2                  ‰ ‰«      }d|› d| j5                  «       › d	�S | j5                  «       S t        | t6        «      rQ| j8                  j                  j                  dk7  r ‰ | j8                  «      S  || j:                  «      xs d}d|› d	�S t        | t<        «      r¡| j?                  «       s ‰ | j@                  «      S g }| j:                  j;                  «       D ]K  \  }}d}|| jB                  vr|dz  }|| jD                  v r|dz  }|jG                  |›|› d ‰ |«      › �«       ŒM ddjI                  |«      › d �S t        | tJ        «      r| jM                  «       r ‰!| «      S t        | tJ        «      rd! ‰!| «      › d	�S t        | tN        «      �rƒt        tQ        | «      «      } t        | tN        «      s ‰ | «      S tS        | «      \  }}|D �cg c]  }|jM                  «       sŒ|‘Œ }}|D �cg c]  }|jM                  «       rŒ|‘Œ }}g |¢|¢}t        |«      dkD  rid"jU                  djI                  ˆ!fd#„|D «       «      «      }t        |«      dk(  r!t        t        |d   «      tV        «      r|› d$�S |r|› d% ||«      › �S |S t        | j:                  «      tY        d&„ | j:                  D «       «      z
  dk(  }|rA| j:                  D �cg c]  }t        t        |«      tV        «      rŒ|‘Œ  }} ‰ |d   «      › d$�S  || j:                  «      }|S t        | tV        «      ry't        | tZ        «      ry(t        | t\        «      ry)t        | t^        «      ry*t        | t`        «      r)| jb                  rd+}nd,}|› d ‰ | jd                  «      › d	�S t        | tf        «      �r[| }|ji                  «       r6 ‰ ta        jj                  |j:                  d   jm                  «       «      «      S t        |tn        «      �r|jp                  �d- ‰ |jp                  «      › d	�}n5|jr                  �d. ‰ |jr                  «      › d	�}n ‰ |jt                  «      }|jv                  rd/|› d	�S |jy                  «       }|�d0 ‰ |«      › d|› d	�S |r>t{        ˆfd1„t}        |j0                  |j2                  «      D «       «      rt        |‰«      S t/        |j,                  |j0                  |j2                  ‰ ‰«      }d2|› d3|› d	�S y4t        | t€        «      r| jƒ                  t…        ‰¬5«      «      S t        | t†        «      r3t/        | j,                  | j0                  | j2                  ‰ ‰«      }d|› d	�S | €t‰        d6«      ‚y7c c}w c c}w c c}w )<aÃ  
    Convert a type to a relatively short string suitable for error messages.

    Args:
      typ: type to be formatted
      verbosity: a coarse grained control on the verbosity of the type
      options: Options object controlling formatting
      fullnames: a set of names that should be printed in full
      module_names: whether to show module names for module types
      use_pretty_callable: use pretty_callable to format Callable types.
    c                ó    •— t        | ‰‰‰«      S r„   ©Úformat_type_inner)rú   Ú	fullnamesr…   rR  s    €€€r‡   ræ   z!format_type_inner.<locals>.formatm
  s   ø€ Ü   i°¸)ÓDÐDr‰   c                ó8   •— dj                  ˆfd„| D «       «      S )NrÏ  c              3  ó.   •K  — | ]  } ‰|«      –— Œ y ­wr„   r‚  ©rÛ   rú   ræ   s     €r‡   rÝ   z9format_type_inner.<locals>.format_list.<locals>.<genexpr>q
  s   øè ø€ Ò6¨™ ŸÑ6ùó   ƒ©ro  )r(  ræ   s    €r‡   Úformat_listz&format_type_inner.<locals>.format_listp
  s   ø€ Ø�y‰yÓ6°Ô6Ó6Ð6r‰   c                óB  •— | D �cg c]  } ‰|«      dk7  sŒ ‰|«      ‘Œ }}t        |«      t        kD  r'‰dk(  r"t        |«      t        dz  z
  }|d t        dz   }nd}|r|j                  d|› d�«       t        ˆfd„| D «       «      r|j                  d«       |S c c}w )NrÂ  r   r#  r˜  z more items>c              3  ó4   •K  — | ]  } ‰|«      d k(  –— Œ y­w)rÂ  Nr‚  rí  s     €r‡   rÝ   z@format_type_inner.<locals>.format_union_items.<locals>.<genexpr>|
  s   øè ø€ Ò6¨‰v�c‹{˜fÕ$Ñ6ùs   ƒ)r›   ÚMAX_UNION_ITEMSr•   rö   )r(  rú   Ú	formattedÚmoreræ   rR  s       €€r‡   Úformat_union_itemsz-format_type_inner.<locals>.format_union_itemss
  s£   ø€ Ø,1ÖK S±V¸C³[ÀFÓ5J‘V˜C•[ÐKˆ	ÐKÜˆy‹>œOÒ+°	¸Q²Ü�y“>¤O°qÑ$8Ñ8ˆDØ!Ð"8¤O°qÑ$8Ð9‰IàˆDÙØ×Ñ˜q   lÐ3Ô4ÜÓ6°Ô6Ô6Ø×Ñ˜VÔ$ØÐùò Ls
   †B—
Bc                ó2   •— dj                   ‰| «      «      S )Nú | rï  )r(  rö  s    €r‡   Úformat_unionz'format_type_inner.<locals>.format_union€
  s   ø€ Ø�z‰zÑ,¨UÓ3Ó4Ð4r‰   c                óŠ   •— | j                  «       r# ‰| j                  «      }|› d| j                  › �S | j                  «       S )Nrÿ  )Úis_enum_literalr~  r2  Ú
value_repr)rú   Úunderlying_typeræ   s     €r‡   Úformat_literal_valuez/format_type_inner.<locals>.format_literal_valueƒ
  s@   ø€ Ø×ÑÔ Ù$ S§\¡\Ó2ˆOØ%Ð& a¨¯	©	 {Ð3Ð3à—>‘>Ó#Ð#r‰   z<alias (unfixed)>r#  r   r  ztypes.ModuleTyper×  r†  rÓ   rt   z<typing special form>r    z[()]rs   r   ztuple[z, ...]r*  úUnpack[z, **z()rÎ   r©  ú=rê  zTypedDict({rÏ  z})zLiteral[zLiteral[{}]c              3  ó.   •K  — | ]  } ‰|«      –— Œ y ­wr„   r‚  )rÛ   rç  rþ  s     €r‡   rÝ   z$format_type_inner.<locals>.<genexpr>ó
  s   øè ø€ ÒI°aÑ.¨q×1ÑIùrî  rþ  rø  c              3  óN   K  — | ]  }t        t        |«      t        «      –— Œ y ­wr„   )r¡   rZ   rE   )rÛ   rç  s     r‡   rÝ   z$format_type_inner.<locals>.<genexpr>ÿ
  s   è ø€ Ò$aÐRS¤Z´ÀÓ0BÄH×%MÑ$aùs   ‚#%rÂ  r   rÙ  ÚNeverÚTypeFormrÚ   ú
TypeGuard[úTypeIs[zCallable[..., z	Callable[c              3  ó@   •K  — | ]  \  }}t        ||‰«       –— Œ y ­wr„   )rÞ  )rÛ   ro  r  rR  s      €r‡   rÝ   z$format_type_inner.<locals>.<genexpr>*  s)   øè ø€ ò á"˜˜dô 2°$¸¸iÓHÔHñùs   ƒz
Callable[[z], rØ  rØ   zType is NonerÕ  )rú   rL   rÁ  r  )r(  úSequence[Type]rÁ  r  )r(  r  rÁ  rÏ  )rú   rD   rÁ  r  )Er¡   rM   Úis_recursiveÚaliasrè   r  r‘  rZ   rC   rÚ   r€  r�  Úhas_type_var_tuple_typer›   r…  rX   Úuse_star_unpackrT   Úscoped_type_var_namerS   rH   rû  r/  rå  r;  r:  Úname_with_suffixrK   Úpartial_fallbackrã   rN   r  r~  Úrequired_keysÚreadonly_keysr•   ro  rD   Úis_sentinel_literalrW   Úignore_last_known_valuesr>   ræ   rE   r‡  r?   rA   rV   rQ   Úis_type_formrÜ   rB   rå   Úmake_normalizedr  r@   Ú
type_guardÚtype_isÚret_typeÚis_ellipsis_argsÚ
param_specrö   rl  rÜ  rU   râ  rP   rG   ÚRuntimeError)#rú   rR  r…   rê  rÒ   Úuse_pretty_callablerð  rù  rD  Úityperu  Úitem_type_strrè   r‘  Ú
type_itemsrã   r#  Ú	item_typeÚmodifierÚliteral_itemsÚunion_itemsrÜ   Úsentinel_itemsÚliteral_strÚprint_as_optionalrç  ÚrestrÊ  r!  ÚfuncÚreturn_typer  ræ   rþ  rö  s#    ```                            @@@r‡   ré  ré  Y
  s=  ý€ ÷(Eõ7öõ5õ$ô �#”}Ô%¨#×*:Ò*:Ø�9‰9ÐØ*ˆHð ˆð ˜AŠ~¡)°·	±	×0BÑ0BÀiÑ0OØŸ9™9×-Ñ-‘àŸ9™9Ÿ>™>�Ø�xŠxØ˜a¡¨C¯H©HÓ 5Ð6°aÐ8Ñ8�Øˆô ˜#Ó
€Cä�#”xÕ Øˆà�:‰:×ÑÐ"4Ò4àˆHØ× Ò  U×%6Ñ%6×%?Ò%?ÁLØ"˜ 2 e×&7Ñ&7×&@Ñ&@Ð%AÀÐCÐCØˆOØ�:‰:×ÑÐ"7Ò7à*Ø˜Š>™i¨E¯J©J×,?Ñ,?À9Ñ,LØ—z‘z×*Ñ*‰Hà—z‘z—‘ˆHØ�zŠzØ�z‰z×1Ò1´c¸%¿*¹*×:NÑ:NÓ6OÐSTÒ6TØ &Ñ(Ð(àˆOØ�Z‰Z× Ñ Ð$4Ò4Ù" 5§:¡:¨a¡=Ó1ˆMØ˜M˜?¨&Ð1Ð1ð �Z˜q¡¨U¯Z©ZÓ!8Ð 9¸Ð;Ð;Ü	�CœÔ	$Ø×"Ñ"Ô$Ø‘v˜cŸh™hÓ'Ð(Ð)Ð)Ø™ §¡Ó)Ð*¨!Ð,Ð,Ü	�CœÔ	%ä'¨Ó,ˆØ˜Š>™i¨H¸	Ñ,AØˆOØ�x‰xˆÜ	�CÔ)Ô	*ä'¨Ó,ˆØ˜Š>™i¨H¸	Ñ,AØˆOØ�x‰xˆÜ	�CœÔ	'à�:‰:×ÒÜ'Ø—
‘
×$Ñ$ c§j¡j×&:Ñ&:¸C¿J¹J×<PÑ<PÐRXÐZcóˆDð �t�f˜D ×!5Ñ!5Ó!7Ð 8¸Ð:Ð:ð ×'Ñ'Ó)Ð)Ü	�CœÔ	#à×Ñ×$Ñ$×-Ñ-Ð1AÒAÙ˜#×.Ñ.Ó/Ð/Ù  §¡Ó+Ò3¨tˆ
Ø˜
�| 1Ð%Ð%Ü	�CœÔ	'à×ÑÔ!Ù˜#Ÿ,™,Ó'Ð'ØˆØ$'§I¡I§O¡OÓ$5ò 	JÑ ˆI�yØˆHØ × 1Ñ 1Ñ1Ø˜C‘�Ø˜C×-Ñ-Ñ-Ø˜C‘�Ø�L‰L˜I˜=¨¨
°"±V¸IÓ5FÐ4GÐHÕIð	Jð ˜dŸi™i¨Ó.Ð/¨sÐ3Ð3Ü	�CœÔ	%¨#×*AÑ*AÔ*CÙ# CÓ(Ð(Ü	�CœÔ	%ØÑ.¨sÓ3Ð4°AÐ6Ð6Ü	�CœÕ	#ÜÔ6°sÓ;Ó<ˆÜ˜#œyÔ)Ù˜#“;ÐÜ%<¸SÓ%AÑ"ˆ�{Ø+8ÖW 4¸D×<TÑ<TÕ<Vš$ÐWˆÐWØ*7ÖZ $¸t×?WÑ?WÕ?YšÐZˆÐZØ5˜Ð5¨Ð5ˆô ˆ}Ó Ò!Ø'×.Ñ.Ø—	‘	ÓI¸=ÔIÓIóˆKô �;Ó 1Ò$¬´OÀKÐPQÁNÓ4SÔU]Ô)^Ø%˜ gÐ.Ð.ÙØ%˜ c©,°{Ó*CÐ)DÐEÐEà"Ð"ô �C—I‘I“¤Ñ$aÐWZ×W`ÑW`Ô$aÓ!aÑaØñð ñ !Ø#&§9¡9Ö]˜a´J¼ÈqÓ?QÔS[Õ4\šÐ]�Ð]Ù   a¡›/Ð*¨'Ð2Ð2á  §¡Ó+�ØˆHÜ	�CœÔ	"ØÜ	�CœÔ	!ØÜ	�CœÔ	%ØÜ	�CœÔ	)ØÜ	�CœÔ	"Ø×ÒØ"‰IàˆIØ�˜A™f S§X¡XÓ.Ð/¨qÐ1Ð1Ü	�CœÕ	&ØˆØ×ÑÔÙœ(×2Ñ2°4·:±:¸a±=×3RÑ3RÓ3TÓUÓVÐVÜ˜œlÕ+Ø�‰Ð*Ø *©6°$·/±/Ó+BÐ*CÀ1ÐE‘Ø—‘Ð)Ø '©¨t¯|©|Ó(<Ð'=¸QÐ?‘á$ T§]¡]Ó3�Ø×$Ò$Ø'¨ }°AÐ6Ð6ØŸ™Ó*ˆJØÐ%Ø"¡6¨*Ó#5Ð"6°b¸¸ÀQÐGÐGñ #Üó ä&)¨$¯.©.¸$¿.¹.Ó&Iôô ô +¨4°Ó9Ð9ä'Ø—‘ §¡°·±ÀÈ	óˆDð   ˜v S¨¨°QÐ7Ð7ð
 )Ü	�CœÔ	%Ø�z‰zœ.°Ô9Ó:Ð:Ü	�CœÔ	$Ü# C§M¡M°3·=±=À#Ç-Á-ÐQWÐYbÓcˆØ�4�&˜ˆ{ÐØ	ˆÜ˜>Ó*Ð*ð ùòo XùÚZùò. ^s$   Ô/cÕcÕcÕ%cØ-c#Ùc#c                óP   — t        «       }| j                  |«       |j                  S )zÑReturn all instances/aliases/type variables that `t` contains (including `t`).

    This is similar to collect_all_inner_types from typeanal but only
    returns instances and will recurse into fallbacks.
    )ÚCollectAllNamedTypesQueryrâ  r(  )rç  rã  s     r‡   Úcollect_all_named_typesr,  E  s"   € ô (Ó)€GØ‡H�HˆWÔØ�=‰=Ðr‰   c                  óX   ‡ — e Zd Zdd„Zdˆ fd„Zd	ˆ fd„Zd
ˆ fd„Zdˆ fd„Zdˆ fd„Zˆ xZ	S )r+  c                ó   — g | _         y r„   )r(  r—   s    r‡   rˆ   z"CollectAllNamedTypesQuery.__init__Q  s	   € Ø!#ˆ�
r‰   c                óZ   •— | j                   j                  |«       t        ‰| �  |«       y r„   )r(  r•   ÚsuperÚvisit_instance©r†   rç  Ú	__class__s     €r‡   r1  z(CollectAllNamedTypesQuery.visit_instanceT  ó"   ø€ Ø�
‰
×Ñ˜!ÔÜ‰Ñ˜qÕ!r‰   c                óÀ   •— |j                   r'|j                  st        |«      j                  | «       y | j                  j                  |«       t        ‰| �  |«       y r„   )r
  r	  rZ   râ  r(  r•   r0  Úvisit_type_alias_typer2  s     €r‡   r6  z/CollectAllNamedTypesQuery.visit_type_alias_typeX  sB   ø€ Ø�7Š7˜1Ÿ>š>Ü˜AÓ×%Ñ% dÕ+à�J‰J×Ñ˜aÔ Ü‰GÑ)¨!Õ,r‰   c                óZ   •— | j                   j                  |«       t        ‰| �  |«       y r„   )r(  r•   r0  Úvisit_type_varr2  s     €r‡   r8  z(CollectAllNamedTypesQuery.visit_type_var_  r4  r‰   c                óZ   •— | j                   j                  |«       t        ‰| �  |«       y r„   )r(  r•   r0  Úvisit_type_var_tupler2  s     €r‡   r:  z.CollectAllNamedTypesQuery.visit_type_var_tuplec  s"   ø€ Ø�
‰
×Ñ˜!ÔÜ‰Ñ$ QÕ'r‰   c                óZ   •— | j                   j                  |«       t        ‰| �  |«       y r„   )r(  r•   r0  Úvisit_param_specr2  s     €r‡   r<  z*CollectAllNamedTypesQuery.visit_param_specg  s"   ø€ Ø�
‰
×Ñ˜!ÔÜ‰Ñ  Õ#r‰   )rÁ  rÂ  )rç  rC   rÁ  rÂ  )rç  rM   rÁ  rÂ  )rç  rT   rÁ  rÂ  )rç  rS   rÁ  rÂ  )rç  rH   rÁ  rÂ  )
rÑ  rÒ  rÓ  rˆ   r1  r6  r8  r:  r<  Ú__classcell__)r3  s   @r‡   r+  r+  P  s&   ø„ ó$õ"õ-õ"õ(÷$ñ $r‰   r+  c                ó¸   — | j                   j                  s| j                  S | j                   j                  j                  d«      �^ }}| j                  › d|› �S )Nrÿ  ú@)ÚidÚ	namespacer  r¼  )rç  Ú_r~  s      r‡   r  r  l  sG   € Ø�4‰4�>Š>Ø�v‰vˆà—‘—‘×%Ñ% cÓ*�J€QˆØ�f‰fˆX�Q�v�hÐÐr‰   c                 óŠ  — i }| D �]C  }t        |«      D �]1  }t        |t        «      rbt        |t        «      rR|j	                  |j
                  j                  t        «       «      j                  |j
                  j                  «       Œvt        |t        «      r^|j                  rR|j	                  |j                  j                  t        «       «      j                  |j                  j                  «       Œät        |t        «      sJ ‚|j	                  |j                  t        «       «      j                  t        |«      «       �Œ4 �ŒF |j                  «       D ]%  }d|› �t        v sŒ||   j                  d|› �«       Œ' t        «       }|j!                  «       D ]"  }t#        |«      dkD  sŒ|j%                  |«       Œ$ |S )z¿Return a set of fullnames that share a short name and appear in either type.

    This is used to ensure that distinct types with the same short name are printed
    with their fullname.
    ztyping.r    )r,  r¡   rJ   rC   Ú
setdefaultrÚ   r  rí   rÙ  rè   rM   r
  rR   r  rî   rk   râ   r›   Úupdate)r(  r…  rÚ   rç  Ú	shortnameÚoverlapsrê  s          r‡   Úfind_type_overlapsrH  t  s]  € ð  €AØó IˆÜ(¨Ó.ó 	IˆAÜ˜!œZÔ(¬Z¸¼8Ô-DØ—‘˜QŸV™VŸ[™[¬#«%Ó0×4Ñ4°Q·V±V·_±_ÕEÜ˜Aœ}Ô-°!·'²'Ø—‘˜QŸW™WŸ\™\¬3«5Ó1×5Ñ5°a·g±g×6FÑ6FÕGä! !¤_Ô5Ð5Ð5Ø—‘˜QŸV™V¤S£UÓ+×/Ñ/Ô0DÀQÓ0GÖHò	IðIð —V‘V“Xò 4ˆ	Ø�Y�KÐ Ô$>Ò>Øˆi‰L×Ñ˜w y kÐ2Õ3ð4ô ›€HØ—X‘X“Zò 'ˆ	Üˆy‹>˜AÓØ�O‰O˜IÕ&ð'ð €Or‰   c                ó0   — t        t        | |||«      «      S )aŠ  
    Convert a type to a relatively short string suitable for error messages.

    `verbosity` is a coarse-grained control on the verbosity of the type

    This function returns a string appropriate for unmodified use in error
    messages; this means that it will be quoted in most cases.  If
    modification of the formatted string is required, callers should use
    format_type_bare.
    )r=  r  ©rú   r…   rR  rÒ   s       r‡   rß   rß   �  s   € ô Ô-¨c°7¸IÀ|ÓTÓUÐUr‰   c                ó2   — t        | ||t        | «      |«      S )a  
    Convert a type to a relatively short string suitable for error messages.

    `verbosity` is a coarse-grained control on the verbosity of the type
    `fullnames` specifies a set of names that should be printed in full

    This function will return an unquoted string.  If a caller doesn't need to
    perform post-processing on the string output, format_type should be used
    instead.  (The caller may want to use quote_type_string after
    processing has happened, to maintain consistent quoting in messages.)
    )ré  rH  rJ  s       r‡   r  r  Ÿ  s   € ô ˜S )¨WÔ6HÈÓ6MÈ|Ó\Ð\r‰   )r)  c           
     óê  ‡ ‡
— t        |Ž Š
d	ˆ ˆ
fd„}d}t        |«      dk(  r`|\  }}t        |«      }t        |«      }t        |t        «      r5t        |t        «      r%t        |j                  «      rt        ||d¬«      rd}t        |d«      D ]@  }|D �cg c]  }t        ||‰ ‰
¬«      ‘Œ }	}t        t        |	«      «      t        |	«      k(  sŒ@ n |rt        	«      S t        d„ 	D «       «      S c c}w )
a  Jointly format types to distinct strings.

    Increase the verbosity of the type strings until they become distinct
    while also requiring that distinct types with the same short name are
    formatted distinctly.

    By default, the returned strings are created using format_type() and will be
    quoted accordingly. If ``bare`` is True, the returned strings will not
    be quoted; callers who need to do post-processing of the strings before
    quoting them (such as prepending * or **) should use this.
    c                ó"   •— t        | d‰‰¬«      S )Nr   ©rR  r…   rê  rè  )rÔ  r…   Úoverlappings    €€r‡   Úformat_singlez-format_type_distinctly.<locals>.format_single¾  s   ø€ Ü  °¸7ÈkÔZÐZr‰   r   r#  T)Úignore_pos_arg_namesr    rN  c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr„   )r=  )rÛ   rÊ  s     r‡   rÝ   z)format_type_distinctly.<locals>.<genexpr>Ý  s   è ø€ Ò8¨aÔ& q×)Ñ8ùs   ‚)rÔ  rL   rÁ  r  )rH  r›   rZ   r¡   r@   rö   r:  r=   r£   ré  rí   Útuple)r…   r)  r(  rP  Úmin_verbosityr¬  r­  rR  rÚ   ÚstrsrO  s   `         @r‡   rõ   rõ   °  sø   ù€ ô % eÐ,€Kö[ð €Mô ˆ5ƒz�Q‚Ø‰ˆˆeÜ˜tÓ$ˆÜ Ó&ˆô
 �tœ\Ô*Ü˜5¤,Ô/Ü�E—O‘OÔ$Ü˜4 ¸TÕBàˆMä˜=¨!Ó,ò ˆ	ð ö
àô ˜d¨iÀÐT_Ö`ð
ˆð 
ô Œs�4‹y‹>œS ›YÓ&Ùðñ Ü�T‹{ÐäÑ8°4Ô8Ó8Ð8ùò
s   ÂC0c                ór   — t        | «      }|�*t        |t        «      r|j                  ry|j                  ryy)zJReturn @classmethod or @staticmethod, if any, for the given callable type.Nz@classmethodz@staticmethod)r/   r¡   r    Úis_classÚ	is_static©r  r»  s     r‡   r  r  à  s7   € ä˜bÓ!€JØÐ¤*¨ZÔ9NÔ"OØ×ÒØ!Ø×ÒØ"Ør‰   c                óà	  — d}d}d}t        t        | j                  «      «      D �]à  }|r|dz  }| j                  |   j	                  «       r	|s|dz  }d}| j                  |   t
        k(  r|dz  }d}| j                  |   t        k(  r|dz  }| j                  |   }|sf|j                  sZ| j                  |   t
        k(  r t        | j                  |   t        «      rd}n$| j                  |   t        k(  r| j                  rd	}|r||d
z   z  }t        | j                  |   |«      }| j                  |   t        k(  r$| j                  r|j                  rd|› d�}nd|› �}||z  }| j                  |   j                  «       r|dz  }|r�Œh| j                  |   j                  «       s�Œ‡|��Œ‹|t        | j                  «      dz
  k(  s4| j                  |dz      €"| j                  |dz      j                  «       r�ŒÚ|dz  }d}�Œã t        | «      }	d}
| j                   r| j                   j#                  «       d   }
nt        |	t$        «      r|	j                   }
d}t        |	t$        «      rqt'        |	d«      re| j(                  sY|	j*                  D �cg c]  }|j,                  j                   ‘Œ }}t        |«      t        | j                  «      kD  r|d   r|d   }nt/        | «      }| j1                  «       rd}|r|s|rd|z   }||z   }|
r	|
› d|› d�}nd|› d�}|dz  }| j2                  �|dt        | j2                  |«      › d�z  }nC| j4                  �|dt        | j4                  |«      › d�z  }n|t        | j6                  |«      z  }| j8                  �rEg }| j8                  D �]  }t        |t:        «      rït=        |j>                  «      }t        |t@        «      r|jB                  jD                  dk(  s+|jG                  |j                   › d
t        ||«      › �«       Œ}|jH                  r]|jG                  djK                  |j                   djM                  |jH                  D � cg c]  } t        | |«      ‘Œ c} «      «      «       Œæ|jG                  |j                   «       �Œ|jG                  tO        |«      «       �Œ ddjM                  |«      › d|› �}d|› �S c c}w c c} w )a<  Return a nice easily-readable representation of a callable type.
    For example:
        def [T <: int] f(self, x: int, y: T) -> None

    If skip_self is True, print an actual callable type, as it would appear
    when bound on an instance/class, rather than how it would appear in the
    defining statement.
    rÎ   FrÏ  z*, Tr*  r+  r‘  Úkwargsrê  rÿ  r  z = ...Nr    z, /r   Ú	argumentsrà  rÆ   z -> r  r  zbuiltins.objectz{}: ({})r   z] zdef )(r£   r›   r/  r;  Úis_namedr   r   r:  Úreveal_verbose_typesr¡   rX   Úunpack_kwargsr  Úis_optionalrÝ  r/   r  r¼  r%   Úhasattrrk  r\  Úvariabler£  rå   r  r  r  Ú	variablesrT   rZ   rø   rC   rÚ   rè   r•   râ   ræ   ro  râ  )r  r…   ry  rÊ  ÚasteriskÚslashr°  r  rD  r»  r?  r¤  rÔ  Údefinition_arg_namesÚtvarsÚtvarrø   s                    r‡   rÜ  rÜ  ë  s†  € ð 	€AØ€HØ€EÜ”3�r—|‘|Ó$Ó%ó 'ˆÙØ�‰IˆAØ�<‰<˜‰?×#Ñ#Ô%©hØ�‰JˆAØˆHØ�<‰<˜‰?œhÒ&Ø�‰HˆAØˆHØ�<‰<˜‰?œiÒ'Ø�‰IˆAØ�|‰|˜A‰ˆÙ˜G×8Ò8à�|‰|˜A‰¤(Ò*¬z¸"¿,¹,Àq¹/Ì:Ô/VØ‘Ø—‘˜a‘¤IÒ-°"×2BÒ2BØ�ÙØ�˜‘ÑˆAÜ# B§L¡L°¡O°WÓ=ˆØ�<‰<˜‰?œiÒ'¨B×,<Ò,<Ø×+Ò+Ø$ X J¨aÐ0‘à ˜z˜?�Ø	ˆX‰ˆØ�<‰<˜‰?×&Ñ&Ô(Ø�‰MˆAãØ—‘˜Q‘×-Ñ-Ö/Ø’à”S˜Ÿ™Ó&¨Ñ*Ò*Ø—L‘L  Q¡Ñ'Ð3¸2¿<¹<ÈÈAÉÑ;N×;\Ñ;\Ö;^ð �‰JˆAØŠEðO'ôR ˜bÓ!€Jð €IØ	‡w‚wØ—G‘G—M‘M“O AÑ&‰	Ü	�J¤Ô	(Ø—O‘Oˆ	ð €Iä�:œwÔ'Ü�J Ô,Ø×#Ò#à=G×=QÑ=QÖR°c §¡× 1Ó 1ÐRÐÐRÜÐ#Ó$¤s¨2¯<©<Ó'8Ò8Ð=QÐRSÒ=TØ,¨QÑ/‰Iô " "Ó%ˆ	à	‡~�~ÔØˆ	Ù™ÙØ�q‘ˆAØ˜‰MˆÙØˆk˜˜1˜#˜QÐ‰à�ˆs�!ˆHˆàˆ�K€AØ	‡}�}Ð Ø	ˆzÔ*¨2¯=©=¸'ÓBÐCÀ1ÐEÑE‰Ø	�‰Ð	Ø	ˆwÔ'¨¯
©
°GÓ<Ð=¸QÐ?Ñ?‰à	Ô˜bŸk™k¨7Ó3Ñ3ˆà	‡|ƒ|ØˆØ—L‘Ló 	)ˆDÜ˜$¤Ô,Ü-¨d×.>Ñ.>Ó?�ä˜{¬HÔ5Ø#×(Ñ(×1Ñ1Ð5FÒFà—L‘L D§I¡I ;¨bÔ1AÀ+ÈwÓ1WÐ0XÐ!YÕZØ—[’[Ø—L‘LØ"×)Ñ)Ø ŸI™IØ ŸI™IÈtÏ{É{Ö&[ÈÔ'7¸¸GÕ'DÒ&[Ó\óõð —L‘L §¡Ö+ð —‘œT $›ZÖ(ð'	)ð( �—	‘	˜%Ó Ð!  A 3Ð'ˆØ�!�ˆ:Ðùòc  SùòP '\s   ÊS&Ñ-S+c                ó‚   — t        | «      }t        |t        «      r|j                  r|j                  ry |j
                  S r„   )r/   r¡   r%   r’   rX  Úoriginal_first_argrY  s     r‡   r£  r£  d  s3   € Ü˜bÓ!€JÜ�j¤'Ô*°*·/²/ÀZ×EYÒEYØØ×(Ñ(Ð(r‰   c                ó,   — | t         k(  ry| t        k(  ryy)NÚ	covariantÚcontravariantÚ	invariant)r   r   )Úvariances    r‡   rC  rC  k  s   € Ø”9ÒØØ	”]Ò	"Øàr‰   c                ó¸   — |j                   j                  sJ ‚g }|j                   j                  D ]&  }||v rŒt        || | «      rŒ|j	                  |«       Œ( |S )zkFind all protocol members of 'right' that are not implemented
    (i.e. completely missing) in 'left'.
    )rÚ   ra  rƒ  r9   r•   )r¬  r­  rv  r  rû   s        r‡   r‚  r‚  t  s^   € ð �:‰:×!Ò!Ð!Ð!Ø€GØ—*‘*×-Ñ-ò #ˆØ�T‰>ØÜ˜6 4¨Õ.Ø�N‰N˜6Õ"ð	#ð
 €Nr‰   c                óT  — |j                   j                  sJ ‚g }|j                   j                  D ]ô  }|dv rŒt        ||| «      }|€J ‚t	        | |||«      }|sŒ*t        ||d|¬«      }	|	s|j                  |||df«       t        ||«      }
t        |
vrŒed}t        |
v r!t        ||| d¬«      }|rt        ||«      sd}|}t        t        || «      v r"t	        | |||d¬«      }|rt        ||«      sd}|}|	s|sŒÉ|�|€J ‚t        |||¬«      }	|	rŒà|j                  ||||f«       Œö |S )z’Find members that are defined in 'left' but have incompatible types.
    Return them as a list of ('member', 'got', 'expected', 'is_lvalue').
    )rˆ   Ú__new__T)rQ  r…   F)r‘  rØ   )rÚ   ra  rƒ  r9   r;   r=   r•   r:   r7   r6   r<   )r¬  Úoriginal_leftr­  rw  r…   r™  rû   r  rS  Ú	is_compatr•  Údifferent_setterÚset_supertypeÚset_subtypes                 r‡   r„  r„  ‚  su  € ð �:‰:×!Ò!Ð!Ð!Ø46€IØ—*‘*×-Ñ-ò !MˆØÐ,Ñ,ØÜ ¨¨tÓ4ˆ	ØÐ$Ð$Ð$Ü% d¨M¸6À9ÓMˆÙØÜ˜w¨	ÈÐV]Ô^ˆ	ÙØ×Ñ˜f g¨y¸%Ð@ÔAÜ% f¨eÓ4ˆ
Ü˜jÑ(ØØ ÐÜ Ñ+Ü'¨°°tÀtÔLˆMÙ¤\°-ÀÔ%KØ#'Ð Ø%ˆIÜÔ!1°&¸$Ó!?Ñ?Ü-Ø�m V¨YÀ$ôˆKñ ¤<°¸WÔ#EØ#'Ð Ø!ˆGÙÑ!1àØÐ$¨Ð)<Ð<Ð<Ü˜y¨'¸7ÔCˆ	ÚØ×Ñ˜f g¨yÐ:JÐKÕLðC!MðD Ðr‰   c           	     óò  — |j                   j                  sJ ‚g }|j                   j                  D ]<  }t        || | |¬«      sŒ|j	                  |t        || |¬«      t        ||«      f«       Œ> g }|D ]€  \  }}}t        |v rt        |vrt        |v sNt        |v rt        |vs>t        |v rt        |vs.t        |v rt        |vs|rt        |v rt        |vs|sŒdt        |v sŒm|j	                  |||f«       Œ‚ |S )ziReturn all incompatible attribute flags for members that are present in both
    'left' and 'right'.
    rz  )
rÚ   ra  rƒ  r9   r•   r:   r5   r7   r4   r8   )	r¬  r­  rw  Ú	all_flagsrû   Ú	bad_flagsr  r”  r•  s	            r‡   rˆ  rˆ  ³  s  € ð �:‰:×!Ò!Ð!Ð!Ø68€IØ—*‘*×-Ñ-ò ˆÜ�v˜t T°YÖ?Ø×ÑàÜ$ V¨T¸YÔGÜ$ V¨UÓ3ðõðð €IØ&/ò ;Ñ"ˆˆh˜
ä˜8Ñ#Ü :Ñ-Ü˜zÑ)Ü˜jÑ(Ü 8Ñ+Ü˜jÑ(Ü 8Ñ+Ü! ZÑ/Ü"¨(Ñ2ÙÜ˜*Ñ$Ü 8Ñ+ÚÜ˜zÒ)à×Ñ˜d H¨jÐ9Õ:ð#;ð$ Ðr‰   c                ó@   — | dk(  ry| d   j                  «       | dd z   S )z+Capitalize the first character of a string.rÎ   r   r    N)Úupper©rÊ  s    r‡   rB  rB  Ú  s'   € àˆB‚wØà�‰t�z‰z‹|˜a  ˜eÑ#Ð#r‰   c                ó4   — t        j                  dd| «      } | S )zšIf the argument is the name of a method (of form C.m), return
    the type portion in quotes (e.g. "y"). Otherwise, return the string
    unmodified.
    z^"[a-zA-Z0-9_]+" of rÎ   ©ÚreÚsub)r  s    r‡   r,  r,  â  s   € ô
 �6‰6Ð(¨"¨dÓ3€DØ€Kr‰   c                ób   — t        j                  dd| «      } t        j                  dd| «      } | S )zDStrip a double quote at the beginning and end of the string, if any.z^"rÎ   z"$r  r}  s    r‡   r8  r8  ë  s+   € ä
�‰ˆt�R˜Ó€AÜ
�‰ˆt�R˜Ó€AØ€Hr‰   c                óÖ   — | sJ ‚t        | «      dk(  r| d   S t        | «      dk  rdj                  | d d «      › d| d   › �S ddj                  | d d «      | d   t        | «      d	z
  fz  S )
Nr    r   é   rÏ  rš   r  z&%s, ... and %s (%i methods suppressed)r#  rÔ   ©r›   ro  )Úlsts    r‡   rw  rw  ò  sƒ   € Ù€Jˆ3Ü
ˆ3ƒx�1‚}Ø�1‰vˆÜ	ˆS‹�QŠØ—)‘)˜C  ˜HÓ%Ð& e¨C°©G¨9Ð5Ð5à7Ø�I‰I�c˜"˜1�gÓØ�‰GÜ�‹H�q‰Lð;
ñ 
ð 	
r‰   c           	     óò   — t        | «      }t        |«      dk  r)ddj                  |D �cg c]  }d|› d�‘Œ
 c}«      z   dz   S ddj                  |d d D �cg c]  }d|› d�‘Œ
 c}«      z   dz   S c c}w c c}w )Nr„  rà  rÏ  rÓ   rÆ   z, ...))rŠ  r›   ro  )rÊ  r†  r  s      r‡   r  r     s|   € Ü
ˆq‹'€CÜ
ˆ3ƒx�1‚}Ø�T—Y‘Y¸Ö<° ! D 6¨¢Ò<Ó=Ñ=ÀÑCÐCà�T—Y‘Y¸¸B¸Q¸Ö@° ! D 6¨¢Ò@ÓAÑAÀHÑLÐLùò  =ùâ@s   ªA/
ÁA4
c                óf   — | j                  «       }|�|d   dk7  rd|› d�j                  dd«      S |S )Nr   r˜  rÓ   r·  rG  )Úget_nameÚreplace)rÚ   r  s     r‡   r  r    s=   € Ø�=‰=‹?€DØÐ˜D ™G sšNØ�4�&˜ˆ{×"Ñ" 6¨8Ó4Ð4Ø€Kr‰   c                ó(   — t        | «      }|�d|› �S y)Nz for rÎ   )r  )r  r  s     r‡   r‹  r‹    s!   € Ü˜Ó €DØÐØ�t�fˆ~ÐØr‰   c                ón   — | |k(  r| › d�}| dk(  rd}n| dk(  rd}n	d| › d|› d�}|dk(  rd	}d
|› d|› d|› d�S )Nz type argumentsr   zno type argumentsr    z1 type argumentzbetween r  Ú0ÚnonerÓ   z
" expects z, but z givenr‚  )ÚlowÚhighÚactr  rÊ  s        r‡   Úwrong_type_arg_countr’    sh   € Ø
ˆd‚{Øˆe�?Ð#ˆØ�!Š8Ø#‰AØ�AŠXØ!‰Aà�s�e˜5   oÐ6ˆØ
ˆc‚zØˆØˆtˆf�J˜q˜c ¨ u¨FÐ3Ð3r‰   c                óú   — |j                   sy |j                   j                  }d|v rEt        |j                  d«      «      D ]!  }|j	                  d|dz   «      d   }	 | |   c S  J d«       ‚y # t
        $ r Y Œ7w xY w)Nrÿ  r    r   z+Couldn't determine module from CallableType)r»  rè   r£   ÚcountÚrsplitÚKeyError)r�   rú   rè   r°  Úmodule_names        r‡   r¸  r¸  $  s�   € Ø�>Š>ØØ�~‰~×&Ñ&€HØ
ˆh�Ü�x—~‘~ cÓ*Ó+ò 	ˆAØ"Ÿ/™/¨#¨q°1©uÓ5°aÑ8ˆKðØ˜{Ñ+Ò+ð	ð 	DÐCÓCˆuØøô ò Ùðús   ÁA.Á.	A:Á9A:rÙ  )r•   rò   zFinal[dict[str, Sequence[str]]]rð   c                óX   — t        | «      }t        |«      }dt        ||«      z  ||z   z  S )Ng       @)r›   Úmin)rz  ÚbÚalÚbls       r‡   Ú_real_quick_ratior�  7  s0   € ô 
ˆQ‹€BÜ	ˆQ‹€BØ”�R˜“Ñ  R¡Ñ(Ð(r‰   c           	     óÔ  ‡— | sg S |D �cg c]  }t        | |«      dkD  sŒ|‘Œ }}t        |«      dk\  r3|D �cg c](  }t        t        |«      t        | «      z
  «      dk  sŒ'|‘Œ* }}|D �ci c](  }|t        j                  | |¬«      j                  «       “Œ* c}Š‰j                  «       D ��cg c]  \  }}|dkD  sŒ|‘Œ }}}t        |ˆfd„¬«      d | S c c}w c c}w c c}w c c}}w )Ng      è?é2   r    )rz  rš  c                ó   •— ‰|     | fS r„   r‚  )r  Úratioss    €r‡   rè  zbest_matches.<locals>.<lambda>I  s   ø€ ¨6°!©9¨*°a¨€ r‰   ré  )r�  r›   ÚabsÚdifflibÚSequenceMatcherÚratiorã   r|  )Úcurrentr…   rÖ   rq  Úoptionr¥  r¡  s         @r‡   ró   ró   ?  s×   ø€ ÙØˆ	à!ÖJ�QÔ%6°wÀÓ%BÀTÓ%IŠqÐJ€GÐJÜ
ˆ7ƒ|�rÒØ%ÖI˜¬¬S°«V´c¸'³lÑ-BÓ)CÀqÓ)H’1ÐIˆÐIàY`ÖaÈvˆf”g×-Ñ-°¸6ÔB×HÑHÓJÑJÒa€FØ+1¯<©<«>×J™-˜& %¸UÀT»\ŠvÐJ€GÑJÜ�'Ó8Ô9¸"¸1Ð=Ð=ùò KùâIùâaùÛJs'   ŠCŸC·(CÁ CÁ*-CÂ-C$Â;C$c                óâ   — | D �cg c]
  }d|z   dz   ‘Œ }}t        |«      dk(  r|d   S t        |«      dk(  r|d   › d|› d|d   › �S d|z   dz   }dj                  |d d «      |z   |d   z   S c c}w )NrÓ   r    r   r#  r%  rÏ  rš   r…  )r‘  Úconjunctionrz  ÚquotedÚlast_seps        r‡   rô   rô   L  s•   € Ø%)Ö* ˆc�A‰g˜‹mÐ*€FÐ*Ü
ˆ6ƒ{�aÒØ�a‰yÐÜ
ˆ6ƒ{�aÒØ˜‘)�˜A˜k˜]¨!¨F°1©I¨;Ð7Ð7Ø�kÑ! CÑ'€HØ�9‰9�V˜C˜R�[Ó! HÑ,¨v°b©zÑ9Ð9ùò +s   …A,c                ó&  — d}d}|j                   j                  dk(  rD|j                   j                  dk(  r+t        |j                  d   |j                  d   «      rd}d}n‚|j                   j                  dk(  ri|j                   j                  dk(  rPt	        |j                  d   |j                  d   «      r*t        |j                  d   |j                  d   «      rd}d	}|r+|r)| j                  d
|› d�dz   «       | j                  |«       | S )zMExplain that the type is invariant and give notes for how to solve the issue.rÎ   zbuiltins.listr   rŠ  z5Consider using "Sequence" instead, which is covariantzbuiltins.dictr    rë  zFConsider using "Mapping" instead, which is covariant in the value typerÓ   z" is invariant -- see zAhttps://mypy.readthedocs.io/en/stable/common_issues.html#variance)rÚ   rè   r=   r‘  r<   r•   )rM  rB  rX  Úinvariant_typeÚcovariant_suggestions        r‡   r>  r>  V  s  € ð €NØÐà�‰×Ñ /Ò1Ø×Ñ×'Ñ'¨?Ò:Ü�x—}‘} QÑ'¨×);Ñ);¸AÑ)>Ô?àˆØVÑà�‰×Ñ /Ò1Ø×Ñ×'Ñ'¨?Ò:Ü˜Ÿ™ qÑ)¨=×+=Ñ+=¸aÑ+@ÔAÜ�x—}‘} QÑ'¨×);Ñ);¸AÑ)>Ô?àˆàTð 	ñ Ñ.Ø�‰Ø�ÐÐ5Ð6ØQñRô	
ð 	�‰Ð)Ô*Ø€Lr‰   c           	     óF  — g }t        |j                  «      }t        |«      t        k  r| S |D ]   }t	        ||«      rŒ|j                  |«       Œ" |rIdj                  |D �cg c]  }t        ||«      ‘Œ c}«      }| j                  dt        |«      › d|› �«       | S c c}w )zHPoint to specific union item(s) that may cause failure in subtype check.rÏ  ÚItemz' in the first union not in the second: )	rY   rã   r›   ró  r=   r•   ro  rß   r]   )	rM  rB  rX  r…   Únon_matchingrã   rÜ   rú   r(  s	            r‡   Úappend_union_noter²  v  s¡   € ð €LÜ! (§.¡.Ó1€EÜ
ˆ5ƒz”OÒ#ØˆØò &ˆÜ˜$ Õ.Ø×Ñ Õ%ð&ñ Ø—	‘	ÀÖM¸œ; s¨GÕ4ÒMÓNˆØ�‰�tœH \Ó2Ð3Ð3ZÐ[`ÐZaÐbÔcØ€Lùò Ns   Á"Bc                ó¤   — |j                   j                  t        v r3| j                  d«       | j                  d«       | j                  d«       | S )zIExplain if an unsupported type from "numbers" is used in a subtype check.z?Types from "numbers" are not supported for static type checkingz7See https://peps.python.org/pep-0484/#the-numeric-towerz?Consider using a protocol instead, such as typing.SupportsFloat)rÚ   rè   r{   r•   )rM  rB  rX  s      r‡   r?  r?  ‡  sE   € ð ×Ñ×"Ñ"Ô&?Ñ?Ø�‰ÐVÔWØ�‰ÐNÔOØ�‰ÐVÔWØ€Lr‰   c                ó–  — t        |«      }t        |«      }t        |t        «      �r"t        |t        «      �r|j                  j                  |j                  j                  k(  rä|j
                  rØ|j
                  rÌt        | t        «      r¼t        | j                  t        «      r¢t        | j                  j                  t        «      r~| j                  j                  j                  r^t        |j
                  |j
                  «      D ]  \  }}t        ||«      rŒ y | j                  j                  }dj                  ||«      S y)a„  Explain that the user may have forgotten to type a variable.

    The user does not expect an error if the inferred container type is the same as the return
    type of a function and the argument type(s) are a subtype of the argument type(s) of the
    return type. This note suggests that they add a type annotation with the return type instead
    of relying on the inferred type.
    rÎ   z;Perhaps you need a type annotation for "{}"? Suggestion: {})rZ   r¡   rC   rÚ   rè   r‘  r)   rÖ  r(   r  r.   Úis_inferredrl  r=   r  ræ   )r´   rS  r  Úsupertype_strÚsubtype_argÚsupertype_argÚvar_names          r‡   Úmake_inferred_type_noterº  ’  só   € ô ˜gÓ&€GÜ 	Ó*€Iä�7œHÕ%Ü�y¤(Õ+Ø�L‰L×!Ñ! Y§^¡^×%<Ñ%<Ò<Ø�LŠLØ�NŠNÜ�w¤
Ô+Ü�w—|‘|¤XÔ.Ü�w—|‘|×(Ñ(¬#Ô.Ø�L‰L×Ñ×)Ò)ä*-¨g¯l©l¸I¿N¹NÓ*Kò 	Ñ&ˆK˜Ü˜k¨=Õ9Ùð	ð —<‘<×$Ñ$ˆØL×SÑSØ�mó
ð 	
ð r‰   r  c               óÄ   — | D �cg c]  }d|› d�‘Œ
 }}|rdnd}t        | «      dk(  rd|› d�S t        | «      dk(  r
|› d|d   › �S |› d	d
j                  |«      › d�S c c}w )NrÓ   rÎ   r"  r   zno rî   r    zkey zkeys (rÏ  rÆ   r…  )rî   r  r›  Úformatted_keysÚtds        r‡   r{  r{  ³  sƒ   € Ø,0Ö1 S˜˜#˜˜a’jÐ1€NÐ1Ù‰˜,€BÜ
ˆ4ƒy�A‚~Ø�R�D˜ˆ~ÐÜ	ˆT‹�aŠØ��T˜.¨Ñ+Ð,Ð-Ð-à��V˜DŸI™I nÓ5Ð6°aÐ8Ð8ùò 2s   …Ac                óh  — g }t        «       }| j                  D ]m  }t        |t        «      rJt        |t        «      r:|j                  d¬«      }||v rŒ:|j                  |«       |j                  |«       Œ]|j                  |«       Œo t        j                  || j                  | j                  «      S )z¹This will avoid types like str | str in error messages.

    last_known_values are kept during union simplification, but may cause
    weird formatting for e.g. tuples of literals.
    N)Úlast_known_value)rí   rã   r¡   rJ   rC   Úcopy_modifiedrÙ  r•   rW   Ú
make_unionr¢   r²   )rç  r#  Úseen_instancesrÜ   Úeraseds        r‡   r  r  ¾  s�   € ð !€KÜ“U€NØ—‘ò %ˆÜ�dœJÔ'¬J°t¼XÔ,FØ×'Ñ'¸Ð'Ó>ˆFØ˜Ñ'ØØ×Ñ˜vÔ&Ø×Ñ˜vÕ&à×Ñ˜tÕ$ð%ô ×Ñ ¨Q¯V©V°Q·X±XÓ>Ð>r‰   )rÛ  r  rÁ  r  )rC  r!   rZ  rÌ  rR  rÄ  rÁ  rÃ  )r/  rË  r;  zlist[ArgKind]r:  zlist[str | None]ræ   zCallable[[Type], str]rR  rÄ  rÁ  r  )FT)rú   rL   rR  rÄ  r…   r3   rê  zset[str] | NonerÒ   rÃ  r  rÃ  rÁ  r  )rç  rL   rÁ  rË  )rç  rR   rÁ  r  )r(  rL   rÁ  rÉ  )r   F)
rú   rL   r…   r3   rR  rÄ  rÒ   rÃ  rÁ  r  )r(  rL   r…   r3   r)  rÃ  rÁ  ztuple[str, ...])r  r@   rÁ  rÌ  rÍ  )r  r@   r…   r3   ry  rÃ  rÁ  r  )ro  rÄ  rÁ  r  )r¬  rC   r­  rC   rv  rÏ  rÁ  rÏ  )FN)r¬  rC   rs  rL   r­  rC   rw  rÃ  r…   rÎ  rÁ  z"list[tuple[str, Type, Type, bool]])r¬  rC   r­  rC   rw  rÃ  rÁ  z$list[tuple[str, set[int], set[int]]])rÊ  r  rÁ  r  )r  r  rÁ  r  )r†  rÏ  rÁ  r  )rÊ  zIterable[str]rÁ  r  )rÚ   rB   rÁ  rÌ  )r  r@   rÁ  r  )
r�  rÄ  r�  rÄ  r‘  r  r  r  rÁ  r  )r�   r€   rú   r@   rÁ  zMypyFile | None)rz  r  rš  r  rÁ  Úfloat)r¦  r  r…   zCollection[str]rÖ   rÄ  rÁ  rÏ  )r‘  zSequence[str]r©  r  rÁ  r  )rM  rÏ  rB  rC   rX  rC   rÁ  rÏ  )
rM  rÏ  rB  rW   rX  rW   r…   r3   rÁ  rÏ  )
r´   r#   rS  rL   r  rL   r¶  r  rÁ  r  )rî   rÏ  r  rÃ  rÁ  r  )rç  rW   rÁ  rL   )ŸrÔ  Ú
__future__r   r£  r¯   r€  Úcollections.abcr   r   r   r   r   Ú
contextlibr	   Útextwrapr
   r¶  r   r   r   Úmypy.typeopsr{  r   rà   r   Úmypy.erasetyper   Úmypy.errorcodesr   Úmypy.errorsr   r   r   r   r   r   Ú
mypy.nodesr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   Úmypy.operatorsr1   r2   Úmypy.optionsr3   Úmypy.subtypesr4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   Ú
mypy.typesr?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   Úmypy.typetraverserr\   Ú	mypy.utilr]   r^   rk   rÕ  rr   ru   r{   rœ  ró  r~   r=  rÞ  rå  ré  r,  r+  r  rH  rß   r  rõ   r  rÜ  r£  rC  r‚  r„  rˆ  rB  r,  r8  rw  r  r  r‹  r’  r¸  rð   r�  ró   rô   r>  r²  r?  rº  r{  r  r‚  r‰   r‡   ú<module>rÔ     s  ðò	õ #ã Û Û 	ß NÕ NÝ %Ý ß #Ñ #ã ß 6Ý %Ý %÷÷ ÷÷ ÷ ÷ ÷ ÷ õ ÷6 =Ý  ÷÷ ÷ õ 1÷÷ ÷ ÷ ÷ ÷ ÷ õ õ> 4ß (ò%Ð ˜Eó ð" ˆUØˆ\ØˆzØÐ$ØˆhØˆwð Ð �uó ð Ø!ØØ)Ø-Ø/Ø'Ø-Ø.ñ
"Ð ˜ó 
ò$Ð ˜5ó ð €Ø€÷H&Qñ H&QóVL	óð"Øð"àð"ð  ð"ð "ð	"ð
 ð"ð 	ó"ð6 Ø $ðiØ	ðiàðið ðið ð	ið
 ðið ðið 	óióXô$Ð 4ô $ó8 óð8 KPðVØ	ðVØðVØ,/ðVØCGðVàóVð" KPð]Ø	ð]Øð]Ø,/ð]ØCGð]àó]ð" INõ -9ó`ôvór)óóð$ Ø"ð.Ø
ð.àð.ð ð.ð ð	.ð
 ð.ð (ó.ðd 8=ð$Ø
ð$Ø#ð$Ø04ð$à)ó$óN$óóó
óMóóó4óð  5:Ð;OÐ3P€Ð0Ó Pó)ó
>ó:ðØðØ (ðØ9Aðàóð@ØðØ )ðØ:CðØNUðàóð"ØðØ (ðØ9AðàóðØðØ#ðØ04ðØEHðàóðB 7<õ 9ô?r‰   