U
    @{?^2  ã                   @   s¢   d dl Z d dlZd dlZzd dlZW n ek
r<   dZY nX d dlmZ d dlmZ e	Z
e dd¡ZG dd„ dƒZee deƒZeed	dƒZedkrže ¡ jZdS )
é    N)Úsix)Úhtml_parserÚOpArgz
opcode argc                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚBytecode_compatc                 C   s
   || _ d S )N)Úcode)Úselfr   © r   ú7/usr/lib/python3/dist-packages/setuptools/py33compat.pyÚ__init__   s    zBytecode_compat.__init__c                 c   s¨   t   d| jj¡}t| jjƒ}d}d}||k r¤|| }|tjkrŠ||d  ||d  d  | }|d7 }|tjkr–tjd }||dƒ }q$nd	}|d7 }t	||ƒV  q$d	S )
z>Yield '(op,arg)' pair for each operation in code object 'code'Úbr   é   é   é   é   éÿÿÿÿi   N)
Úarrayr   Úco_codeÚlenÚdisZHAVE_ARGUMENTZEXTENDED_ARGr   Zinteger_typesr   )r   ÚbytesÚeofZptrZextended_argÚopÚargZ	long_typer   r   r	   Ú__iter__   s     
 

zBytecode_compat.__iter__N)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r	   r      s   r   ÚBytecodeÚunescape)r   r   ÚcollectionsZhtmlÚImportErrorZsetuptools.externr   Zsetuptools.extern.six.movesr   ÚtypeZ__metaclass__Ú
namedtupler   r   Úgetattrr   r   Z
HTMLParserr   r   r   r	   Ú<module>   s   
"