3
^              L   @   sx  d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! dd lm"Z" dd!lm#Z# dd"lm$Z$ eeeeeee	e	e
e
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee e!e"e#e$e$d#KZ%x,ej& D ] \Z'Z(e(e%kr2e%e( e%e'< q2W d'd$d%Z)e*d&krte+e)  dS )(z;Facilitates importing opmaps for the a given Python version    N)IS_PYPY)canonic_python_version)	opcode_10)	opcode_11)	opcode_13)	opcode_14)	opcode_15)	opcode_16)	opcode_20)	opcode_21)	opcode_22)	opcode_23)	opcode_24)	opcode_25)	opcode_26)	opcode_27)	opcode_30)	opcode_31)	opcode_32)	opcode_33)	opcode_34)	opcode_35)	opcode_36)	opcode_37)	opcode_38)	opcode_39)opcode_26pypy)opcode_27pypy)opcode_32pypy)opcode_33pypy)opcode_35pypy)opcode_36pypy)Kg      ?z1.0g?z1.1g333333?z1.2g?z1.3gffffff?z1.4g      ?z1.5g?z1.6z2.0g       @z2.1g @z2.2g@z2.3a0gffffff@z2.4b1g333333@z2.5c2g      @z2.6a1g@z2.7g@z3.0g      @z3.0a5z3.1z3.1a0+g@z3.2z3.2a2g	@z3.3a4gffffff
@z3.4z3.4rc2g333333@z3.5z3.5.1z3.5.2z3.5.3z3.5.4g      @z3.6rc1z3.6rc1g@z
3.7.0beta3z3.7.0.beta3z3.7.0g@z3.8.0alpha0z3.8.0a0z3.8.0a3+z3.8.0alpha3z
3.8.0beta2z	3.8.0rc1+z3.8.0candidate1z3.8z3.9.0alpha1z3.9.0alpha2z3.9z2.6pypyz2.7pypyz3.2pypyz3.3pypyz3.5pypyz3.6pypyz	3.6.1pypyc             C   s   | d kr t j} |d krFtrFd}n&t| trFt| d }|d |d g} djdd | dd D }t| dkr| d dkr|d	jd
d | dd  D 7 }|d kry$dd l}|j	 }|dkr||7 }W q t
k
r   Y qX n||7 }tt|  S )NZpypy
   .c             S   s   g | ]}t |qS  )str).0vr$   r$   L/home/psgendb/BIRCHDEV/python/lib/python3.6/site-packages/xdis/op_imports.py
<listcomp>   s    z%get_opcode_module.<locals>.<listcomp>r      final c             S   s   g | ]}t |qS r$   )r%   )r&   r'   r$   r$   r(   r)      s    JythonPyston)r-   r.   )sysversion_infor   
isinstancefloatintjoinlenplatformpython_implementationImportError
op_importsr   )r0   ZvariantZint_versZvers_strr6   r$   r$   r(   get_opcode_module   s,    
 r:   __main__)NN),__doc__r/   xdisr   Zxdis.magicsr   Zxdis.opcodesr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r9   itemskr'   r:   __name__printr$   r$   r$   r(   <module>   s   

 
