Your IP : 3.137.185.202
�
zfc @ s� d Z d d l Z d d l Z d d l Td d l m Z d d d d d d
g e Z [ e j e j e j e j e
f Z d d � Z
d d � Z d d
� Z d d d d d � Z e Z d � Z d � Z d � Z e d k r� e � n d S( s0 Disassembler of Python byte code into mnemonics.i����N( t *( t __all__t dist disassemblet distbt discot findlinestartst
findlabelsc C sH | d k r t � d St | t j � r5 | j } n t | d � rP | j } n t | d � rk | j } n t | d � r� | j j
� } | j � x� | D]U \ } } t | t � r� d | GHy t
| � Wn t k
r� } d G| GHn XHq� q� WnN t | d � rt | � n2 t | t � r.t | � n t d t | � j � d S( sn Disassemble classes, methods, functions, or code.
With no argument, disassemble the last traceback.
Nt im_funct func_codet __dict__s Disassembly of %s:s Sorry:t co_codes( don't know how to disassemble %s objects( t NoneR t
isinstancet typest InstanceTypet __class__t hasattrR R R
t itemst sortt
_have_codeR t TypeErrorR t strt disassemble_stringt typet __name__( t xR t namet x1t msg( ( s /usr/lib64/python2.7/dis.pyR s6
c C sl | d k rR y
t j } Wn t k
r5 t d � n Xx | j rN | j } q9 Wn t | j j | j � d S( s2 Disassemble a traceback (default: last traceback).s no last traceback to disassembleN(
R t syst last_tracebackt AttributeErrort RuntimeErrort tb_nextR t tb_framet f_codet tb_lasti( t tb( ( s /usr/lib64/python2.7/dis.pyR 3 s
c C sa | j } t | � } t t | � � } t | � } d } d } d } x| | k r\| | } t | � }
| | k r� | d k r� Hn d | | Gn d G| | k r� d Gn d G| | k r� d Gn d Gt | � j d � Gt |
j
d � G| d } |
t k rXt | | � t | | d � d
| } d } | d } |
t k rT| d } n t | � j d
� G|
t
k r�d t | j | � d GqX|
t k r�d | j | d GqX|
t k r�d t | | � d GqX|
t k r�d | j | d GqX|
t k rd t | d GqX|
t k rX| d k rB| j | j } n d | | d GqXn HqH Wd S( s Disassemble a code object.i s %3ds s -->s >>s i i i i i l i t (t )s (to N( R R t dictR t lenR t ordt reprt rjustt opnamet ljustt
HAVE_ARGUMENTt EXTENDED_ARGt hasconstt co_constst hasnamet co_namest hasjrelt haslocalt co_varnamest
hascomparet cmp_opt hasfreet co_cellvarst co_freevars( t cot lastit codet labelst
linestartst nt it extended_argt freet ct opt oparg( ( s /usr/lib64/python2.7/dis.pyR = s\
*
c C s� t | � } t | � } d } x�| | k r�| | } t | � } | | k rV d Gn d G| | k rm d Gn d Gt | � j d � Gt | j d � G| d } | t k r�t | | � t | | d � d }
| d
} t |
� j d � G| t k r$| rd t | |
� d
Gq�d |
Gq�| t k rZ| d k rOd | |
d
Gq�d |
Gq�| t k rd t | |
� d
Gq�| t k r�| r�d | |
d
Gq�d |
Gq�| t
k r�d t |
d
Gq�n Hq! Wd S( Ni s -->s s >>s i i i i i i R'