£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

YfH                 @   sC   d  Z  d d l m Z d d l m Z Gd d   d e j  Z d S)a,  Fixer that cleans up a tuple argument to isinstance after the tokens
in it were fixed.  This is mainly used to remove double occurrences of
tokens as a leftover of the long -> int / unicode -> str conversion.

eg.  isinstance(x, (int, long)) -> isinstance(x, (int, int))
       -> isinstance(x, int)
   )
fixer_base)tokenc               @   s.   e  Z d  Z d Z d Z d Z d d   Z d S)FixIsinstanceTz
    power<
        'isinstance'
        trailer< '(' arglist< any ',' atom< '('
            args=testlist_gexp< any+ >
        ')' > > ')' >
    >
       c             C   sU  t    } | d } | j } g  } t |  } x | D] \ } }	 |	 j t j k r |	 j | k r | t |  d k  r | | d j t j k r t	 |  q5 q5 | j
 |	  |	 j t j k r5 | j |	 j  q5 W| r | d j t j k r | d =t |  d k r7| j }
 |
 j | d _ |
 j | d  n | | d  d   <| j   d  S)Nargs       r	   )setZchildren	enumeratetyper   NAMEvaluelenCOMMAnextappendaddparentprefixreplaceZchanged)selfZnodeZresultsZnames_insertedZtestlistr   Znew_argsiteratoridxargZatom r   A/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_isinstance.py	transform   s*    	
	!0
	zFixIsinstance.transformN)__name__
__module____qualname__ZBM_compatibleZPATTERNZ	run_orderr   r   r   r   r   r      s   r   N)__doc__ r   Z
fixer_utilr   ZBaseFixr   r   r   r   r   <module>
   s   