+
    ÖÍi‘  ã            	       óÚ  a € R( t40 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RItR]P                  9   t]'       d
   ]R)9  d   Rt]P                  P                  ]'       * RR7      t ^ RIHt R	t]
'       d   ^ R
IHt ^ RIHt ]P2                  P5                  ]P2                  P7                  ]4      R4      t]P2                  P5                  ]R4      t]P2                  P5                  ]R4      t]P2                  P5                  ]R4      t ]P2                  P5                  ]R4      t!]P2                  P5                  ]R4      t"]P2                  P5                  ]R4      t#]! ]$4      t%] ^ k R R lt&R R lt'R R lt(]PR                  ! RRR7      R R l4       t*R R lt+R*t,R+t-Rt.]P                  P^                  ]P                  P                  ]R R7      ]P                  Pa                  R!]+! ]]4      4      R" R# l4       4       4       t1]P                  P^                  ]P                  P                  ]R R7      ]P                  Pa                  R!]+! ] 4      4      R$ R% l4       4       4       t2]P                  P^                  ]P                  P                  ]R R7      ]P                  Pa                  R!]+! ]4      4      R& R' l4       4       4       t3R#   ] d    Rt ELsi ; i),é    N)Údefaultdict)ÚTYPE_CHECKINGÚNPY_RUN_MYPY_IN_TESTSUITETz#`NPY_RUN_MYPY_IN_TESTSUITE` not set)Úreason)ÚapiF)ÚIterator)ÚParameterSetÚdataÚpassÚfailÚrevealÚmisczmypy.iniz.mypy_cachec                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚkeyÚreturn©Ústr)Úformats   "Ú@/usr/lib/python3/dist-packages/numpy/typing/tests/test_typing.pyÚ__annotate__r   4   s   € ÷ 6ñ 6”3ð 6œ3ñ 6ó    c                ó°   € \         P                  P                  V 4      w  r\         P                  P                  WP	                  R^4      ^ ,          4      # )zqSplit at the first occurrence of the ``:`` character.

Windows drive-letters (*e.g.* ``C:``) are ignored herein.
Ú:)ÚosÚpathÚ
splitdriveÚjoinÚsplit)r   ÚdriveÚtails   &  r   Ú	_key_funcr"   4   s=   € ô
 —'‘'×$Ñ$ SÓ)�K€EÜ�7‰7�<‰<˜Ÿz™z¨#¨qÓ1°!Õ4Ó5Ð5r   c                óR   € V ^8„  d   QhR\         R\        \        \         3,          /# )r   Úmsgr   )r   ÚtupleÚint)r   s   "r   r   r   =   s"   € ÷ $ñ $œð $¤¤s¬C x¥ñ $r   c                ó¤   € \         P                  P                  V 4      w  rVP                  R^4      w  rp \	        V4      V P                  4       3# )z7Strip the filename and line number from a mypy message.r   )r   r   r   r   r&   Ústrip)r$   Ú_r!   Úlinenos   &   r   Ú_strip_filenamer+   =   sA   € ä�g‰g× Ñ  Ó%�G€AØ—Z‘Z  QÓ'�N€AˆsÜˆv‹;˜Ÿ	™	›Ð#Ð#r   c                óZ   € V ^8„  d   QhR\         P                  \        ,          R\        /# )r   Úmatchr   )ÚreÚMatchr   )r   s   "r   r   r   D   s"   € ÷ ñ ”b—h‘hœs•mð ¬ñ r   c                ó0   € V P                  4       ^,          # )z4`re.sub` helper function for stripping module names.)Úgroups)r-   s   &r   Ú
strip_funcr2   D   s   € à�<‰<‹>˜!ÕÐr   Úmodule)ÚscopeÚautousec                ó   € V ^8„  d   QhRR/# ©r   r   N© )r   s   "r   r   r   J   s   € ÷ * ñ * �$ñ * r   c                 ó  € \         P                  P                  \        4      '       dJ   \	        \         P
                  P                  RR4      4      '       d   \        P                  ! \        4       \        P                  ! R4      p \        \        \        \        3 Fä  p\        P                   ! R\"        R\        V.4      w  r#pV'       d   \$        P&                  ! RV 2R4       M$VR9  d   \$        P&                  ! RV R	V 2R4       R
pRpVP)                  R4       F[  pRV9   d   K  Vf   \+        V4      pWW R2,          pV P-                  V4      f   K;  \.        V,          P1                  V4       R
pRpK]  	  Kæ  	  R# )zèClears the cache and run mypy before running any of the typing tests.

The mypy results are cached in `OUTPUT_MYPY` for further use.

The cache refresh can be skipped using

NUMPY_TYPING_TEST_CLEAR_CACHE=0 pytest numpy/typing/tests
ÚNUMPY_TYPING_TEST_CLEAR_CACHETz(\s+)?\^(\~+)?z--config-filez--cache-dirz Unexpected mypy standard error

FzUnexpected mypy exit code: z

Ú NÚ
znote:>   r   é   )r   r   ÚisdirÚ	CACHE_DIRÚboolÚenvironÚgetÚshutilÚrmtreer.   ÚcompileÚPASS_DIRÚ
REVEAL_DIRÚFAIL_DIRÚMISC_DIRr   ÚrunÚMYPY_INIÚpytestr   r   r"   r-   ÚOUTPUT_MYPYÚappend)Úsplit_patternÚ	directoryÚstdoutÚstderrÚ	exit_codeÚ
str_concatÚfilenameÚis           r   Úrun_mypyrW   I   s9  € ô 	�‰�‰”i× Ò Ü”—‘—‘Ð ?ÀÓF×GÒGä�Š”iÔ ä—J’JÐ0Ó1€MÜ¤
¬H´hÓ?ˆ	ä$'§G¢GØÜØÜØð-
ó %Ñ!ˆ˜	÷ Ü�KŠKÐ<¸V¸HÐEÀuÕMØ˜fÔ$Ü�KŠKÐ5°i°[ÀÀVÀHÐMÈuÔUàˆ
Ø#ˆØ—‘˜dÖ#ˆAØ˜!Œ|ÙØÒÜ$ Q›<�à˜C˜r˜(Õ"ˆJØ×"Ñ" 1Ó%Ô1Ü˜HÕ%×,Ñ,¨ZÔ8Ø�
Ø’ó $ó! @r   c                ó(   € V ^8„  d   QhR\         RR/# )r   Údirectoriesr   zIterator[ParameterSet]r   )r   s   "r   r   r   w   s   € ÷ 	=ñ 	=¤ð 	=Ð)Añ 	=r   c               '   ó6  "  € V  FŽ  p\         P                  ! V4       Fq  w  r#pV Fe  p\         P                  P                  V4      w  rgVR9  d   K-  \         P                  P	                  W%4      p\
        P                  ! W†R7      x € Kg  	  Ks  	  K�  	  R# 5i)ú.pyi)ÚidN)r[   z.py)r   Úwalkr   Úsplitextr   rL   Úparam)	rY   rP   Úrootr)   ÚfilesÚfnameÚshort_fnameÚextÚfullpaths	   *        r   Úget_test_casesrf   w   ss   é € Û ˆ	Ü Ÿgšg iÖ0‰NˆD�UÛ�Ü#%§7¡7×#3Ñ#3°EÓ#:Ñ �Ø˜oÔ-ÙäŸ7™7Ÿ<™<¨Ó4�Ü—l’l 8Ô<Ô<ó ó 1ó !ùs   ‚BBz{}:{} - reveal mismatch:

{}zMypy is not installedr   c                ó   € V ^8„  d   QhRR/# r7   r8   )r   s   "r   r   r   Ž   s   € ÷ 8ñ 8�tñ 8r   c                 ón  € \         pW9  d   R # \        P                  P                  V 4      p. pW,           FH  p\	        V4      w  rVVP                  R4      P                  4       pVP                  V RV RV 24       KJ  	  V'       d*   \        P                  ! RP                  V4      RR7       R # R # )Nzerror:r   z - r<   F©Úpytrace)rM   r   r   Úrelpathr+   ÚremoveprefixÚlstriprN   rL   r   r   )r   Úoutput_mypyrk   ÚmessagesÚmessager*   Úcontents   &      r   Ú	test_passrr   ‹   sž   € ô
 €KàÔÙä�g‰g�o‰o˜dÓ#€Gð €HØ×$Ð$ˆÜ)¨'Ó2‰ˆØ×&Ñ& xÓ0×7Ñ7Ó9ˆØ�‰˜7˜) 1 V H¨C°¨yÐ9Ö:ñ %÷
 Ü�Š�D—I‘I˜hÓ'°×7ñ r   c                ó(   € V ^8„  d   QhR\         RR/# ©r   r   r   Nr   )r   s   "r   r   r   ¥   s   € ÷ ,ñ ,”cð ,˜dñ ,r   c                ó’  € Rp\         pW9  d   R# \        P                  P                  V 4      p. pW ,           FR  p\	        V4      w  rg\
        P                  ! V\        4      p\        P                  W6V4      pVP                  V4       KT  	  V'       d0   \        P                  V4      p	\        P                  ! V	RR7       R# R# )zSValidate that mypy correctly infers the return-types of
the expressions in `path`.
TNFri   )rM   r   r   rk   r+   ÚtextwrapÚindentÚ_FAIL_INDENTÚ_FAIL_MSG_REVEALr   rN   Ú	_FAIL_SEPr   rL   r   )
r   Ú__tracebackhide__rn   rk   ÚfailuresÚ
error_liner*   Ú	error_msgr   Úreasonss
   &         r   Útest_revealr€   ¢   s¢   € ð Ðä€KØÔÙä�g‰g�o‰o˜dÓ#€Gð €HØ!×'Ð'ˆ
Ü+¨JÓ7ÑˆÜ—O’O I¬|Ó<ˆ	Ü!×(Ñ(¨¸)ÓDˆØ�‰˜Öñ	 (÷ Ü—.‘. Ó*ˆÜ�Š�G U×+ñ r   c                ó(   € V ^8„  d   QhR\         RR/# rt   r   )r   s   "r   r   r   Á   s   € ÷ )ñ )œð ) ñ )r   c                óz  € \         P                  P                  V 4      w  rV P                  \         P                  4      RR w  r4\
        P                  P                  V RV 2V 4      pVf   Q hVP                  f   Q h\
        P                  P                  V4      pVP                  P                  V4       R# )z9Validate that the code in `path` properly during runtime.NÚ.éþÿÿÿ)r   r   r^   r   ÚsepÚ	importlibÚutilÚspec_from_file_locationÚloaderÚmodule_from_specÚexec_module)r   Úpath_without_extensionr)   ÚdirnamerU   ÚspecÚtest_modules   &      r   Útest_code_runsr�   ¾   s    € ô
 !#§¡× 0Ñ 0°Ó 6ÑÐØŸ
™
¤2§6¡6Ó*¨2¨3Ð/Ñ€Gä�>‰>×1Ñ1Øˆ)�1�X�JÐ ó€Dð ÒÐÐØ�;‰;Ò"Ð"Ð"ä—.‘.×1Ñ1°$Ó7€KØ‡K�K×Ñ˜KÖ(r   c                óx   € V ^8„  d   Qh/ ^ \         9   d&   \        \        \        \        ,          3,          ;R&   # )r   rM   )Ú__conditional_annotations__r   r   Úlist)r   s   "r   r   r      s)   € × Ñ ÷` =Ò <Œ[œœd¤3�i˜Õ(Ñ <òa r   )Ú0r;   Úfalsez    zR
_______________________________________________________________________________

)5r’   Úimportlib.utilr†   r   r.   rC   rv   Úcollectionsr   Útypingr   rL   rA   ÚRUN_MYPYÚmarkÚskipifÚ
pytestmarkÚmypyr   ÚNO_MYPYÚImportErrorÚcollections.abcr   Ú_pytest.mark.structuresr	   r   r   r�   Ú__file__ÚDATA_DIRrF   rH   rG   rI   rK   r?   r“   rM   r"   r+   r2   ÚfixturerW   rf   rx   rz   ry   ÚslowÚparametrizerr   r€   r�   r   )r’   s   @r   Ú<module>r§      s“  øðß Ð Û 	Û 	Û Û Ý #Ý  ã ð
 '¨"¯*©*Ñ4€ß�Ð 2Ô2Ø€Hð �[‰[×ÑØ„LØ0ð  ó €
ðÝð €GçÝ(õ 5à�7‰7�<‰<˜Ÿ™Ÿ™¨Ó1°6Ó:€Ø�7‰7�<‰<˜ &Ó)€Ø�7‰7�<‰<˜ &Ó)€Ø�W‰W�\‰\˜( HÓ-€
Ø�7‰7�<‰<˜ &Ó)€Ø�7‰7�<‰<˜ *Ó-€Ø�G‰G�L‰L˜ =Ó1€	ñ ,7°tÓ+<€Ó <õ6õ$õð
 ‡‚�h¨Ô-ô* ó .ð* õZ	=ð €Ø$€	ðÐ ð
 ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°¸(Ó!CÓDô8ó Eó =ó ð8ð( ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°
Ó!;Ó<ô,ó =ó =ó ð,ð2 ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°Ó!9Ó:ô)ó ;ó =ó ò)øðM ô ØƒGðús   Á.K Ë	K*Ë)K*