§
    PŠtjK  ã                   ó$  — d dl mZmZmZ d dlmZmZmZmZm	Z	 d dl
m
Z
 d dlZd dlZd dlZd dlmZ d dlmZ deiZ e e ee¦  «        d          ee¦  «        ¦  «        Z ee¦  «        sJ ‚ e eee¦  «        ¦  «        Z eed¦  «        Z eed	¦  «        Zd
ZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ% ej&        d¦  «        Z' ej&        d¦  «        Z( ej&        d¦  «        Z) ej&        d¦  «        Z* ej&        d¦  «        Z+ ej&        d¦  «        Z, ej&        d¦  «        Z- ej&        d¦  «        Z.d „ Z/d!„ Z0 e1¦   «         d"fd#„Z2 e1¦   «         dfd$„Z3 G d%„ d&ej4        ¦  «        Z5 e5¦   «         Z6d'„ Z7d(„ Z8d)„ Z9d*„ Z:d+„ Z;d,„ Z<d-„ Z=d.„ Z>d/„ Z?dS )0é    )ÚwalkÚsepÚpardir)ÚsplitÚjoinÚabspathÚexistsÚisfile)ÚglobN)Úraises©Ú_test_this_file_encodingr   ÚbinÚexamplesz/File contains trailing whitespace: %s, line %s.z.File contains an implicit import: %s, line %s.z2File contains tabs instead of spaces: %s, line %s.z:File contains carriage returns at end of line: %s, line %sz+File contains string exception: %s, line %sz,File contains generic exception: %s, line %sz:File contains old-style raise statement: %s, line %s, "%s"z-File does not end with a newline: %s, line %sz/File ends with more than 1 newline: %s, line %sz6Function should start with 'test_' or '_': %s, line %sz.This is a duplicate test function: %s, line %sz3File contains assignments to self/cls: %s, line %s.z&File contains '.func is': %s, line %s.z+File contains bare expression: %s, line %s.z(^\s*(>>> )?(\.\.\. )?from .* import .*\*z9^\s*(>>> )?(\.\.\. )?raise(\s+(\'|\")|\s*(\(\s*)+(\'|\"))z=^\s*(>>> )?(\.\.\. )?raise(\s+Exception|\s*(\(\s*)+Exception)z1^\s*(>>> )?(\.\.\. )?raise((\s*\(\s*)|\s+)\w+\s*,z$^def\s+(?!(_|test))[^(]*\(\s*\)\s*:$z^def\s+test_.*:$z.*[/\\]test_.*\.py$z\.\s*func\s+isc                 ól  — t          | ¦  «        t          |                      ¦   «         ¦  «        z
  }| ||dz   …         dvr| d|…         }nQ| |dz   d…         }| d|…         |dt          |¦  «        t          |                     ¦   «         ¦  «        z
  …         z   }|                     ¦   «         |k     S )z{Returns True if there are tabs in the leading whitespace of a line,
    including the whitespace of docstring code samples.é   )z...z>>>N)ÚlenÚlstripÚ
expandtabs)ÚsÚnÚcheckÚsmores       úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/testing/tests/test_code_quality.pyÚtab_in_leadingr   7   s«   € õ 	ˆA‰Œ•�Q—X’X‘Z”Z‘”Ñ €AØˆQˆq�1‰uˆWŒ:˜Ð'Ð'Ø�"�1�"”ˆˆà�!�a‘%�&�&”	ˆØ�"�1�"”˜Ð?�s 5™zœz­C°·²±´Ñ,?Ô,?Ñ?Ð?Ô@Ñ@ˆØ× Ò Ñ"Ô" eÒ+Ð,Ð,ó    c                 óÖ  ‡— d„ t          j        | ¦  «        j        D ¦   «         }g }|D �]>}|j        D �]2}t          |t           j        ¦  «        sŒt          d„ |j        D ¦   «         ¦  «        rŒ=|j        dk    rŒI|j        j        sŒV|j        j        d         j	        Št          j
        |¦  «        D ]°}t          |t           j        ¦  «        r”|j        D ]Œ}t          |t           j        ¦  «        r!|j        ‰k    r|                     |¦  «         Œ=t          |t           j        ¦  «        r5t          ˆfd„|j        D ¦   «         ¦  «        r|                     |¦  «         Œ�Œ±�Œ4�Œ@|S )zœReturns a list of "bad" assignments: if there are instances
    of assigning to the first argument of the class method (except
    for staticmethod's).
    c                 óF   — g | ]}t          |t          j        ¦  «        ¯|‘ŒS © )Ú
isinstanceÚastÚClassDef)Ú.0r   s     r   ú
<listcomp>z)find_self_assignments.<locals>.<listcomp>H   s)   € ÐEÐEÐEˆq­°Aµs´|Ñ)DÔ)DÐEˆÐEÐEÐEr   c              3   ó`   K  — | ])}t          |t          j        ¦  «        ¯|j        d k    V — Œ*dS )ÚstaticmethodN©r    r!   ÚNameÚid)r#   Úds     r   ú	<genexpr>z(find_self_assignments.<locals>.<genexpr>O   sV   è è € ð Ið IØµ
¸1½c¼hÑ0GÔ0GðI�1”4˜>Ò)ð Ið Ið Ið Ið Ið Ir   Ú__new__r   c              3   ób   •K  — | ])}t          |t          j        ¦  «        ¯|j        ‰k    V — Œ*d S ©Nr'   )r#   ÚqÚ	first_args     €r   r+   z(find_self_assignments.<locals>.<genexpr>^   sN   øè è € ð ">ð ">¸Ý%/°µ3´8Ñ%<Ô%<ð"> !¤$¨)Ò"3ð ">ð ">ð ">ð ">ð ">ð ">r   )r!   ÚparseÚbodyr    ÚFunctionDefÚanyÚdecorator_listÚnameÚargsÚargr   ÚAssignÚtargetsr(   r)   ÚappendÚTupleÚelts)r   ÚtÚbadÚcr   ÚmÚar0   s          @r   Úfind_self_assignmentsrC   C   s¨  ø€ ð
 	FÐE•C”I˜a‘L”LÔ%ÐEÑEÔE€Aà
€CØð *ñ *ˆØ”ð 	*ñ 	*ˆAÝ˜a¥¤Ñ1Ô1ð ØÝð Ið IØÔ,ðIñ Iô Iñ Iô Ið àØŒv˜Ò"Ð"ØØ”6”;ð ØØœœ AœÔ*ˆIå”X˜a‘[”[ð *ð *�Ý˜a¥¤Ñ,Ô,ð *ØœYð *ð *˜Ý% a­¬Ñ2Ô2ð *°q´t¸yÒ7HÐ7HØŸJšJ q™MœM˜M˜MÝ(¨­C¬IÑ6Ô6ð *Ý!ð ">ð ">ð ">ð ">¸Q¼Vð ">ñ ">ô ">ñ >ô >ð*ð  ŸJšJ q™MœM˜Møøñ*ñ	*ð, €Jr   z*.pyc           	      ó’   — | sdS t          | ¦  «        D ]2\  }}}t          t          t          ||¦  «        ¦  «        ||¦  «         Œ3dS )zÔ
    Checks all files in the directory tree (with base_path as starting point)
    with the file_check function provided, skipping files that contain
    any of the strings in the set provided by exclusions.
    N)r   Úcheck_filesr   r   )Ú	base_pathÚ
file_checkÚ
exclusionsÚpatternÚrootÚdirsÚfiless          r   Úcheck_directory_treerM   e   sb   € ð ð ØˆÝ! )™_œ_ð Gð GÑˆˆd�EÝ•D�˜d GÑ,Ô,Ñ-Ô-¨z¸:ÑFÔFÐFÐFðGð Gr   c                 óÔ   ‡— | sdS | D ]_Št          ‰¦  «        rt          ‰¦  «        sŒ!t          ˆfd„|D ¦   «         ¦  «        rŒ=|�t          j        |‰¦  «        r |‰¦  «         Œ`dS )z—
    Checks all files with the file_check function provided, skipping files
    that contain any of the strings in the set provided by exclusions.
    Nc              3   ó    •K  — | ]}|‰v V — Œ	d S r.   r   )r#   ÚexÚfnames     €r   r+   zcheck_files.<locals>.<genexpr>{   s'   øè è € Ð0Ð0˜rˆr�Uˆ{Ð0Ð0Ð0Ð0Ð0Ð0r   )r	   r
   r4   ÚreÚmatch)rL   rG   rH   rI   rQ   s       @r   rE   rE   q   s—   ø€ ð
 ð ØˆØð ð ˆÝ�e‰}Œ}ð 	¥F¨5¡M¤Mð 	ØÝÐ0Ð0Ð0Ð0 ZÐ0Ñ0Ô0Ñ0Ô0ð 	ØØˆ?�bœh w°Ñ6Ô6ˆ?ØˆJ�uÑÔÐøðð r   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_VisitaÅ  return the line number corresponding to the
    line on which a bare expression appears if it is a binary op
    or a comparison that is not in a with block.

    EXAMPLES
    ========

    >>> import ast
    >>> class _Visit(ast.NodeVisitor):
    ...     def visit_Expr(self, node):
    ...         if isinstance(node.value, (ast.BinOp, ast.Compare)):
    ...             print(node.lineno)
    ...     def visit_With(self, node):
    ...         pass  # no checking there
    ...
    >>> code='''x = 1    # line 1
    ... for i in range(3):
    ...     x == 2       # <-- 3
    ... if x == 2:
    ...     x == 3       # <-- 5
    ...     x + 1        # <-- 6
    ...     x = 1
    ...     if x == 1:
    ...         print(1)
    ... while x != 1:
    ...     x == 1       # <-- 11
    ... with raises(TypeError):
    ...     c == 1
    ...     raise TypeError
    ... assert x == 1
    ... '''
    >>> _Visit().visit(ast.parse(code))
    3
    5
    6
    11
    c                 óŽ   — t          |j        t          j        t          j        f¦  «        rJ t
          d|j        fz  ¦   «         ‚d S )NÚ )r    Úvaluer!   ÚBinOpÚCompareÚmessage_bare_exprÚlineno©ÚselfÚnodes     r   Ú
visit_Exprz_Visit.visit_Expr§   sC   € Ý�d”j¥3¤9­c¬kÐ":Ñ;Ô;ð 	?Ø>Õ*¨b°$´+Ð->Ñ>Ñ>Ô>�4ð	?ð 	?r   c                 ó   — d S r.   r   r]   s     r   Ú
visit_Withz_Visit.visit_Withª   s   € Øˆr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r`   rb   r   r   r   rU   rU   �   s=   € € € € € ð$ð $ðJ?ð ?ð ?ðð ð ð ð r   rU   c                 ó¢  — t          j        | ¦  «        }	 t                               |¦  «         dS # t          $ r’}|j        sJ ‚|j        d         }|                     t                               dd¦  «        d         ¦  «        sJ ‚t          | 
                    dd¦  «        d                              d¦  «        ¦  «        cY d}~S d}~ww xY w)z]return None or else 0-based line number of code on which
    a bare expression appeared.
    r   ú:é   ú ú.N)r!   r1   ÚBareExprÚvisitÚAssertionErrorr7   Ú
startswithr[   r   ÚintÚrsplitÚrstrip)ÚcodeÚtreeÚmsgs      r   Úline_with_bare_exprrv   ±   sÏ   € õ Œ9�T‰?Œ?€Dð6Ý�Š�tÑÔÐÐÐøÝð 6ð 6ð 6ØŒxˆˆˆxØŒh�qŒkˆØ�~Š~Õ/×5Ò5°c¸1Ñ=Ô=¸aÔ@ÑAÔAÐAÐAÐAÝ�3—:’:˜c 1Ñ%Ô% aÔ(×/Ò/°Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5øøøøð	6øøøs   –2 ²
C¼BC	ÃCÃ	Cc                  ó˜  ‡‡— ˆfd„} ˆfd„Šd„ dD ¦   «         }dt           z  dt           z  dt           z  dt           z  d	t           z  h}d
t           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  dt           z  hŠt          || ¦  «         t          t          | h d£d¦  «         t          t          | |¦  «         t          t
          | |¦  «         dS ) a€  
    This test tests all files in SymPy and checks that:
      o no lines contains a trailing whitespace
      o no lines end with 

      o no line uses tabs instead of spaces
      o that the file ends with a single newline
      o there are no general or string exceptions
      o there are no old style raise statements
      o name of arg-less test suite functions start with _ or test_
      o no duplicate function names that start with test_
      o no assignments to self variable in class methods
      o no lines contain ".func is" except in the test suite
      o there is no do-nothing expression like `a == b` or `x + 1`
    c                 óæ   •— t          | d¬¦  «        5 } ‰| |¦  «         d d d ¦  «         n# 1 swxY w Y   t          | d¬¦  «        5 }t          | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚutf8)Úencoding)Úopenr   )rQ   Ú	test_fileÚtest_this_files     €r   Útestztest_files.<locals>.testÏ   sþ   ø€ Ý�% &Ð)Ñ)Ô)ð 	-¨YØˆN˜5 )Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-å�% &Ð)Ñ)Ô)ð 	7¨YÝ$ U¨IÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   “,¬0³0ÁA&Á&A*Á-A*c                 óh  •‡ — d }|                      ¦   «         }|                     d¦  «         t          ‰ vr‰ n ‰                      t          d¦  «        d         }|                     d¦  «        rt          |¦  «        }|�J t          ‰ |dz   fz  ¦   «         ‚d }d}t          ¦   «         }t          |¦  «        D �]¥\  }}t           
                    ‰ ¦  «        rÂt           
                    |¦  «        rJ t          ‰ |dz   fz  ¦   «         ‚t           
                    |¦  «        rw|dz  }|                     |dd …                              d¦  «        d                              ¦   «         ¦  «         t#          |¦  «        |k    rJ t$          ‰ |dz   fz  ¦   «         ‚|                     d¦  «        rJ t(          ‰ |dz   fz  ¦   «         ‚|                     d	¦  «        rJ t*          ‰ |dz   fz  ¦   «         ‚t-          |¦  «        rJ t.          ‰ |dz   fz  ¦   «         ‚t0                               |¦  «        rJ t4          ‰ |dz   fz  ¦   «         ‚t6                               |¦  «        rJ t8          ‰ |dz   fz  ¦   «         ‚t:                               |¦  «        r7t=          t?          ˆ fd
„‰	¦  «        ¦  «        sJ t@          ‰ |dz   fz  ¦   «         ‚tB                               |¦  «        r1t                               ‰ ¦  «        sJ tD          ‰ |dz   fz  ¦   «         ‚tF                               |¦  «        }|�+J tH          ‰ |dz   | %                    d¦  «        fz  ¦   «         ‚�Œ§|�O|dk    r|dk    rJ tL          ‰ |dz   fz  ¦   «         ‚|                     d¦  «        sJ tN          ‰ |dz   fz  ¦   «         ‚d S d S )Nr   ri   éÿÿÿÿÚtest_Fr   ú()z 
z	
z
c                 ó   •— | ‰v S r.   r   )rP   rQ   s    €r   ú<lambda>z4test_files.<locals>.test_this_file.<locals>.<lambda>ö   s   ø€ ¨r°U¨{€ r   é   ú
)(ÚreadÚseekr   rq   ro   rv   r[   ÚsetÚ	enumerateÚtest_file_rerS   Útest_suite_def_reÚmessage_test_suite_defÚtest_ok_def_reÚaddr   Ústripr   Úmessage_duplicate_testÚendswithÚmessage_spaceÚmessage_carriager   Úmessage_tabsÚstr_raise_reÚsearchÚmessage_str_raiseÚgen_raise_reÚmessage_gen_raiseÚimplicit_test_reÚlistÚfilterÚmessage_implicitÚ
func_is_reÚmessage_func_isÚold_raise_reÚmessage_old_raiseÚgroupÚmessage_multi_eofÚmessage_eof)
rQ   r|   Úidxrs   ÚpyÚlineÚtestsÚtest_setÚresultÚimport_excludes
   `        €r   r}   z"test_files.<locals>.test_this_fileÕ   sæ  øø€ ØˆØ�~Š~ÑÔˆØ�Š�qÑÔÐÝ Ð&Ð&ˆUˆU¨E¯LªL½¸aÑ,@Ô,@ÀÔ,DˆØ�=Š=˜Ñ!Ô!ð 	,Ý% dÑ+Ô+ˆCØˆ?Ø>Õ+¨u°c¸A±gÐ.>Ñ>Ñ>Ô>�5àˆØˆÝ‘5”5ˆÝ" 9Ñ-Ô-ð 	5ñ 	5‰IˆC�Ý×!Ò! %Ñ(Ô(ð PÝ$×*Ò*¨4Ñ0Ô0ð LØKÕ"8¸EÀ3ÈÁ7Ð;KÑ"KÑKÔK˜5Ý!×'Ò'¨Ñ-Ô-ð PØ˜Q‘J�EØ—L’L  a b b¤§¢°Ñ!4Ô!4°QÔ!7×!=Ò!=Ñ!?Ô!?Ñ@Ô@Ð@Ý˜8‘}”}¨Ò-Ð-ØOÕ&<ÀÀsÈQÁwÐ?OÑ&OÑOÔO˜uØ�}Š}˜_Ñ-Ô-ð ?Ø>�m¨u°c¸A±gÐ.>Ñ>Ñ>Ô>�uØ�}Š}˜VÑ$Ô$ð BØAÕ.°%¸¸q¹Ð1AÑAÑAÔA�uÝ˜dÑ#Ô#ð >Ø=�l¨e°S¸1±WÐ-=Ñ=Ñ=Ô=�uÝ×"Ò" 4Ñ(Ô(ð CØBÕ/°5¸#À¹'Ð2BÑBÑBÔB�uÝ×"Ò" 4Ñ(Ô(ð CØBÕ/°5¸#À¹'Ð2BÑBÑBÔB�uÝ ×'Ò'¨Ñ-Ô-ð BÝ�VÐ$:Ð$:Ð$:Ð$:¸NÑKÔKÑLÔLðBàAÕ.°%¸¸q¹Ð1AÑAÑAÔA�uÝ× Ò  Ñ&Ô&ð A­|×/BÒ/BÀ5Ñ/IÔ/Ið AØ@�o°¸¸a¹Ð0@Ñ@Ñ@Ô@�uå!×(Ò(¨Ñ.Ô.ˆFàÐ!ð5Õ/Ø˜3 ™7 F§L¢L°¡O¤Oð35ñ 5ñ 5ô 5�uñ "ð ÐØ�tŠ|ˆ|  a¢ ØBÕ/°5¸#À¹'Ð2BÑBÑBÔB�uØ—]’] 4Ñ(Ô(ð =à<�k¨U°C¸!±GÐ,<Ñ<Ñ<Ô<�uð Ðð=ð =r   c                 ó8   — g | ]}t          t          |¦  «        ‘ŒS r   )r   ÚTOP_PATH)r#   Úfiles     r   r$   ztest_files.<locals>.<listcomp>
  s.   € ð ð ð °•t�H dÑ+Ô+ð ð ð r   )z	isympy.pyzbuild.pyzsetup.pyzL%(sep)ssympy%(sep)sparsing%(sep)sautolev%(sep)s_antlr%(sep)sautolevparser.pyzK%(sep)ssympy%(sep)sparsing%(sep)sautolev%(sep)s_antlr%(sep)sautolevlexer.pyzN%(sep)ssympy%(sep)sparsing%(sep)sautolev%(sep)s_antlr%(sep)sautolevlistener.pyzH%(sep)ssympy%(sep)sparsing%(sep)slatex%(sep)s_antlr%(sep)slatexparser.pyzG%(sep)ssympy%(sep)sparsing%(sep)slatex%(sep)s_antlr%(sep)slatexlexer.pyz%(sep)ssympy%(sep)s__init__.pyz%(sep)svector%(sep)s__init__.pyz"%(sep)smechanics%(sep)s__init__.pyz %(sep)squantum%(sep)s__init__.pyz%(sep)spolys%(sep)s__init__.pyz,%(sep)spolys%(sep)sdomains%(sep)s__init__.pyz#%(sep)sinteractive%(sep)ssession.pyz%(sep)sisympy.pyz%(sep)sbin%(sep)ssympy_time.pyz$%(sep)sbin%(sep)ssympy_time_cache.pyz&%(sep)sparsing%(sep)ssympy_tokenize.pyz'%(sep)splotting%(sep)spygletplot%(sep)sz)%(sep)sbin%(sep)stest_external_imports.pyz*%(sep)sbin%(sep)stest_submodule_imports.pyz"%(sep)sutilities%(sep)sruntests.pyz %(sep)sutilities%(sep)spytest.pyz"%(sep)sutilities%(sep)srandtest.pyz"%(sep)sutilities%(sep)stmpfiles.pyz)%(sep)sutilities%(sep)squality_unicode.py>   ú.shú.pycú~Ú*N)ÚsepdrE   rM   ÚBIN_PATHÚ
SYMPY_PATHÚEXAMPLES_PATH)r~   Útop_level_filesÚexcluder¬   r}   s      @@r   Ú
test_filesrº   ¿   sˆ  øø€ ð 7ð 7ð 7ð 7ð 7ð1=ð 1=ð 1=ð 1=ð 1=ðjð ð 9ð ñ ô €Oð 	WÕY]Ñ]ØUÕX\Ñ\ØXÕ[_Ñ_ØRÕUYÑYØQÕTXÑXð€Gð 	)­4Ñ/ð 	*­DÑ0Ø,­tÑ3Ø*­TÑ1Ø(­4Ñ/Ø6½Ñ=à-µÑ4à�TÑ!à(­4Ñ/Ø.µÑ5à0µ4Ñ7à1µDÑ8à3µdÑ:Ø4µtÑ;à,­tÑ3Ø*­TÑ1Ø,­tÑ3Ø,­tÑ3Ø3µdÑ:ð;€Nõ> � Ñ&Ô&Ð&Ý� 4Ð)=Ð)=Ð)=¸sÑCÔCÐCÝ� T¨7Ñ3Ô3Ð3Ý�¨¨gÑ6Ô6Ð6Ð6Ð6r   c                 ó8   — t          j        dd¦  «        dz  | z   S )Nr   é
   rj   )ÚrandomÚrandint)r@   s    r   Ú_with_spacer¿   =  s   € åŒ>˜!˜RÑ Ô  Ñ$ qÑ(Ð(r   c                  óš  — g d¢} g d¢}g d¢}g d¢}| D ]•}t                                t          |¦  «        ¦  «        �
J |¦   «         ‚t                               t          |¦  «        ¦  «        �
J |¦   «         ‚t                               t          |¦  «        ¦  «        �
J |¦   «         ‚Œ–|D ]3}t                                t          |¦  «        ¦  «        €
J |¦   «         ‚Œ4|D ]3}t                               t          |¦  «        ¦  «        €
J |¦   «         ‚Œ4|D ]3}t                               t          |¦  «        ¦  «        €
J |¦   «         ‚Œ4d S )N)z#some text # raise Exception, 'text'z2raise ValueError('text') # raise Exception, 'text'úraise ValueError('text')zraise ValueErrorrÁ   zraise ValueError('text') #,zB'"""This function will raise ValueError, except when it doesn't"""zraise (ValueError('text'))zraise 'exception'zraise 'Exception'zraise "exception"zraise "Exception"zraise 'ValueError')z1raise Exception('text') # raise Exception, 'text'úraise Exception('text')zraise ExceptionrÂ   zraise Exception('text') #,úraise Exception, 'text'ú1raise Exception, 'text' # raise Exception('text')ú1raise Exception, 'text' # raise Exception, 'text'ú>>> raise Exception, 'text'ú5>>> raise Exception, 'text' # raise Exception('text')ú5>>> raise Exception, 'text' # raise Exception, 'text')rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   zraise ValueError, 'text'z2raise ValueError, 'text' # raise Exception('text')z2raise ValueError, 'text' # raise Exception, 'text'z>>> raise ValueError, 'text'z6>>> raise ValueError, 'text' # raise Exception('text')z6>>> raise ValueError, 'text' # raise Exception, 'text'zraise(ValueError,zraise (ValueError,zraise( ValueError,zraise ( ValueError,zraise(ValueError ,zraise (ValueError ,zraise( ValueError ,zraise ( ValueError ,)r–   r—   r¿   r™   r¡   )Úcandidates_okÚstr_candidates_failÚgen_candidates_failÚold_candidates_failr@   s        r   Ú'test_raise_statement_regular_expressionrÍ   B  s•  € ð
ð 
ð 
€Mðð ð Ððð ð Ððð ð Ðð. ð >ð >ˆÝ×"Ò"¥;¨q¡>¤>Ñ2Ô2Ð:Ð:¸AÑ:Ô:Ð:Ý×"Ò"¥;¨q¡>¤>Ñ2Ô2Ð:Ð:¸AÑ:Ô:Ð:Ý×"Ò"¥;¨q¡>¤>Ñ2Ô2Ð:Ð:¸AÑ:Ô:Ð:Ð:Ø ð Bð BˆÝ×"Ò"¥;¨q¡>¤>Ñ2Ô2Ð>Ð>ÀÑ>Ô>Ð>Ð>Ø ð Bð BˆÝ×"Ò"¥;¨q¡>¤>Ñ2Ô2Ð>Ð>ÀÑ>Ô>Ð>Ð>Ø ð Bð BˆÝ×"Ò"¥;¨q¡>¤>Ñ2Ô2Ð>Ð>ÀÑ>Ô>Ð>Ð>ðBð Br   c                  óî   — g d¢} g d¢}| D ]3}t                                t          |¦  «        ¦  «        �
J |¦   «         ‚Œ4|D ]3}t                                t          |¦  «        ¦  «        €
J |¦   «         ‚Œ4d S )N)zfrom sympy import somethingz>>> from sympy import somethingz%from sympy.somewhere import somethingz)>>> from sympy.somewhere import somethingzimport sympyz>>> import sympyz import sympy.something.somethingz... import sympyz$... import sympy.something.somethingz... from sympy import somethingz)... from sympy.somewhere import somethingz>> from sympy import *z# from sympy import *zsome text # from sympy import *)zfrom sympy import *z>>> from sympy import *zfrom sympy.somewhere import *z!>>> from sympy.somewhere import *z... from sympy import *z!... from sympy.somewhere import *)r›   r—   r¿   ©rÉ   Úcandidates_failr@   s      r   Ú(test_implicit_imports_regular_expressionrÑ   …  sª   € ðð ð €Mð ð ð €Oð ð Bð BˆÝ×&Ò&¥{°1¡~¤~Ñ6Ô6Ð>Ð>ÀÑ>Ô>Ð>Ð>Øð Fð FˆÝ×&Ò&¥{°1¡~¤~Ñ6Ô6ÐBÐBÀAÑBÔBÐBÐBðFð Fr   c                  óº   — g d¢} g d¢}| D ]&}t                                |¦  «        �
J |¦   «         ‚Œ'|D ]&}t                                |¦  «        €
J |¦   «         ‚Œ'd S )N)z    def foo():
zdef foo(arg):
zdef _foo():
zdef test_foo():
)zdef foo():
zdef foo() :
zdef foo( ):
zdef  foo():
)rŒ   r—   rÏ   s      r   Útest_test_suite_defsrÓ   ¤  s˜   € ðð ð €Mðð ð €Oð ð 6ð 6ˆÝ ×'Ò'¨Ñ*Ô*Ð2Ð2°AÑ2Ô2Ð2Ð2Øð :ð :ˆÝ ×'Ò'¨Ñ*Ô*Ð6Ð6¸Ñ6Ô6Ð6Ð6ð:ð :r   c                  óx   — g d¢} ddg}d}d„ }| D ]} ||¦  «        |k    sJ ‚Œ|D ]} ||¦  «        |k    sJ ‚Œd S )N)zdef foo():
def foo():
zdef test():
def test_():
zdef test_():
def test__():
zdef test_():
def test_ ():
zdef test_1():
def  test_1():
©Nr   c                 óŽ  — d}t          ¦   «         }t          |                      ¦   «         ¦  «        D ]’\  }}t                               |¦  «        rs|dz  }|                     |dd …                              d¦  «        d                              ¦   «         ¦  «         t          |¦  «        |k    rdt          d|dz   fz  fc S Œ“dS )Nr   ri   r   r‚   Fr   rÕ   )
r‰   rŠ   Ú
splitlinesrŽ   rS   r�   r   r�   r   r‘   )r¯   r©   rª   r¦   r¨   s        r   r   z'test_test_duplicate_defs.<locals>.checkÂ  sÅ   € ØˆÝ‘5”5ˆÝ" 4§?¢?Ñ#4Ô#4Ñ5Ô5ð 	Nð 	N‰IˆC�Ý×#Ò# DÑ)Ô)ð NØ˜‘
�Ø—’˜T ! " "œXŸ^š^¨CÑ0Ô0°Ô3×9Ò9Ñ;Ô;Ñ<Ô<Ð<Ý�x‘=”= EÒ)Ð)Ø Õ"8¸GÀSÈ1ÁWÐ;MÑ"MÐMÐMÐMÐMøØˆ}r   r   )rÉ   rÐ   Úokr   r@   s        r   Útest_test_duplicate_defsrÙ   ·  s�   € ðð ð €Mð 	(Ø)ð€Oð 
€Bð	ð 	ð 	ð ð ð ˆØˆu�Q‰xŒx˜2Š~ˆ~ˆ~ˆ~ˆ~Øð ð ˆØˆu�Q‰xŒx˜2Š~ˆ~ˆ~ˆ~ˆ~ðð r   c                  ó~   — g d¢} g d¢}| D ]}t          |¦  «        g k    sJ ‚Œ|D ]}t          |¦  «        g k    sJ ‚Œd S )N)z4class A(object):
    def foo(self, arg): arg = self
z9class A(object):
    def foo(self, arg): self.prop = arg
z?class A(object):
    def foo(self, arg): obj, obj2 = arg, self
zCclass A(object):
    @classmethod
    def bar(cls, arg): arg = cls
z2class A(object):
    def foo(var, arg): arg = var
)z4class A(object):
    def foo(self, arg): self = arg
z>class A(object):
    def foo(self, arg): obj, self = arg, arg
zCclass A(object):
    def foo(self, arg):
        if arg: self = argzCclass A(object):
    @classmethod
    def foo(cls, arg): cls = arg
z2class A(object):
    def foo(var, arg): var = arg
)rC   rÏ   s      r   Útest_find_self_assignmentsrÛ   Ò  s†   € ðð ð €Mðð ð €Oð ð .ð .ˆÝ$ QÑ'Ô'¨2Ò-Ð-Ð-Ð-Ð-Øð .ð .ˆÝ$ QÑ'Ô'¨2Ò-Ð-Ð-Ð-Ð-ð.ð .r   c                  óö   ‡ ‡‡‡— dgŠdgŠdŠ dgŠt          t          ˆ ˆˆˆfd„¦  «         dŠ dgŠt          ‰ ‰‰‰¦  «         dŠ dgŠt          t          ˆ ˆˆˆfd„¦  «         dŠ dgŠt          ‰ ‰‰‰¦  «         d S )NÚfooÚbarÚabcu   Î±c                  ó(   •— t          ‰ ‰‰‰¦  «        S r.   r   ©rQ   r|   Úunicode_strict_whitelistÚunicode_whitelists   €€€€r   r„   z,test_test_unicode_encoding.<locals>.<lambda>î  ó   ø€ Õ#;ØˆyÐ+Ð-Eñ$Gô $G€ r   c                  ó(   •— t          ‰ ‰‰‰¦  «        S r.   r   rá   s   €€€€r   r„   z,test_test_unicode_encoding.<locals>.<lambda>ø  rä   r   )r   rn   r   rá   s   @@@@r   Útest_test_unicode_encodingræ   è  s  øøøø€ Ø˜ÐØ %˜wÐà€EØ�€IÝ
�>ð Gð Gð Gð Gð Gð Gð Gñ Hô Hð Hð €EØ�€IÝØˆyÐ+Ð-EñGô Gð Gð €EØ�€IÝ
�>ð Gð Gð Gð Gð Gð Gð Gñ Hô Hð Hð €EØ�€IÝØˆyÐ+Ð-EñGô Gð Gð Gð Gr   )@Úosr   r   r   Úos.pathr   r   r   r	   r
   r   rR   r½   r!   Úsympy.testing.pytestr   Úsympy.testing.quality_unicoder   r´   Ú__file__r¶   r®   rµ   r·   r“   rž   r•   r”   r˜   rš   r¢   r¥   r¤   r�   r‘   Úmessage_self_assignmentsr    r[   Úcompiler›   r–   r™   r¡   rŒ   rŽ   r‹   rŸ   r   rC   r‰   rM   rE   ÚNodeVisitorrU   rl   rv   rº   r¿   rÍ   rÑ   rÓ   rÙ   rÛ   ræ   r   r   r   ú<module>rï      s\  ðà  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø €€€Ø 
€
€
€
à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø BÐ BÐ BÐ BÐ BÐ Bð 	ˆs€|€ð ˆW�T�T˜%˜% ™/œ/¨!Ô,¨f°fÑ=Ô=Ñ>Ô>€
Ø€vˆjÑÔÐ Ð Ðàˆ7�4�4˜
 FÑ+Ô+Ñ,Ô,€Øˆ4�˜%Ñ Ô €Ø��X˜zÑ*Ô*€ð B€ØCÐ ØC€ØOÐ ØAÐ ØBÐ ØRÐ Ø=€ØEÐ ØQÐ ØIÐ ØPÐ Ø:€ØAÐ à�2”:ÐIÑJÔJÐ ØˆrŒzØ@ñBô B€àˆrŒzØDñFô F€àˆrŒzÐNÑOÔO€Ø�B”JÐFÑGÔGÐ Ø�”Ð/Ñ0Ô0€ØˆrŒzÐ0Ñ1Ô1€ØˆRŒZÐ)Ñ*Ô*€
ð	-ð 	-ð 	-ðð ð ðD <?¸3¹5¼5È&ð 	Gð 	Gð 	Gð 	Gð /2¨c©e¬e¸Tð ð ð ð ð *ð *ð *ð *ð *ˆSŒ_ñ *ô *ð *ðZ ˆ6‰8Œ8€ð6ð 6ð 6ð{7ð {7ð {7ð|)ð )ð )ð
@Bð @Bð @BðFFð Fð Fð>:ð :ð :ð&ð ð ð6.ð .ð .ð,Gð Gð Gð Gð Gr   