Edit file File name : dis.pyo Content :� 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'