U
    @ޫ^w                     @   s  d dl Z d dlZejd  dkZeedZdd ZeseZe	Z
eZefZefZdd Zdd Zdd Zd dlZd d	lmZmZ eZd%d
dZeZeZeZejZeZ eZ!eZ"e j#Z$e j%Z&neZe'Ze(Z
ee'fZee)fZdd Zdd Zdd Zd dl*Zd dl+mZmZ eZe,d d dl-mZmZmZ eZdd Z dd Z!dd Z"dd Z$dd Z&dd Z.zd dl/m0Z1 W n" e2k
r   d dl3m4Z1 Y nX zd d l5m6Z6 W n e2k
r   d dl5Z6Y nX zd d!l7m8Z8 W nJ e2k
r   zd d"l9m:Z: W n e2k
r   dZ:Y nX d#d$ Z8Y nX dS )&    N   Zpypy_translation_infoc                 C   s   | S N xr   r   2/tmp/pip-unpacked-wheel-o736f1kv/jinja2/_compat.py<lambda>       r   c                 C   s   t |  S r   )iterkeysdr   r   r   r      r	   c                 C   s   t |  S r   )r
   valuesr   r   r   r   r      r	   c                 C   s   t |  S r   )r
   itemsr   r   r   r   r      r	   )BytesIOStringIOc                 C   s   |j |k	r|||d S r   )__traceback__with_traceback)tpvaluetbr   r   r   reraise   s    

r   c                 C   s   |   S r   )iterkeysr   r   r   r   r   2   r	   c                 C   s   |   S r   )
itervaluesr   r   r   r   r   3   r	   c                 C   s   |   S r   )	iteritemsr   r   r   r   r   4   r	   )r   r   z5def reraise(tp, value, tb=None):
 raise tp, value, tb)imapizipifilterc                 C   s   | j | _| ` | S r   )__next__nextclsr   r   r   implements_iteratorA   s    r"   c                 C   s   | j | _dd | _ | S )Nc                 S   s   |   dS Nzutf-8)__unicode__encoder   r   r   r   r   H   r	   z&implements_to_string.<locals>.<lambda>)__str__r$   r    r   r   r   implements_to_stringF   s    
r'   c                 C   s   t | tr| dS | S r#   )
isinstanceunicoder%   )filenamer   r   r   encode_filenameK   s    

r+   c                 C   s,   t |trt| | n|t|  d S r   )r(   filemarshaldumpwritedumps)codefr   r   r   marshal_dumpP   s    
r3   c                 C   s"   t | trt| S t|  S r   )r(   r,   r-   loadloadsread)r2   r   r   r   marshal_loadV   s    

r7   c                    s&   G  fdddt }t |ddi S )z%Create a base class with a metaclass.c                       s   e Zd Z fddZdS )z!with_metaclass.<locals>.metaclassc                    s   | |S r   r   )r!   name
this_basesr   basesmetar   r   __new__b   s    z)with_metaclass.<locals>.metaclass.__new__N)__name__
__module____qualname__r=   r   r:   r   r   	metaclassa   s   rA   temporary_classr   )typer=   )r<   r;   rA   r   r:   r   with_metaclass\   s    rD   )quote_from_bytes)quote)abc)fspath)PurePathc                 C   s0   t | dr|  S td k	r,t| tr,t| S | S )N
__fspath__)hasattrrJ   rI   r(   str)pathr   r   r   rH   |   s
    
rH   )N);r-   sysversion_infoPY2rK   ZPYPYZ	_identitychrunichrrangeZ
range_typerL   	text_typestring_typesintinteger_typesr   r   r   pickleior   r   ZNativeStringIOr   filterr   mapr   zipr   internr"   r'   r+   r.   r3   r4   r7   r)   xrangelongcPickle	cStringIOexec	itertoolsrD   urllib.parserE   Z	url_quoteImportErrorurllibrF   collectionsrG   osrH   pathlibrI   r   r   r   r   <module>   s|   


