3 aG�\ / � @ sD d Z ddlZddlZddlmZmZ ddlmZmZ ddl m Z ddlmZm Z mZ yddlmZ W n ek r| dZY nX yed� W n. ek r� d ZY n ek r� d ZY nX G dd� de�Zd d� ZG dd� de�Zddd�Zddd�Zddd�Zdd� Zdd� Zdd� ZdZ edk�r@y e� Z W n Y nX [dS ) aQ jinja2.debug ~~~~~~~~~~~~ Implements the debug interface for Jinja. This module does some pretty ugly stuff with the Python traceback system in order to achieve tracebacks with correct line numbers, locals and contents. :copyright: (c) 2017 by the Jinja Team. :license: BSD, see LICENSE for more details. � N)� TracebackType�CodeType)�missing� internal_code)�TemplateSyntaxError)� iteritems�reraise�PY2)�tproxyzraise TypeError, 'foo'zraise __jinja_exception__[1]z4raise __jinja_exception__[0], __jinja_exception__[1]c @ s@ e Zd ZdZdd� Zedd� �Zdd� Zedd � �Zd d� Z dS ) �TracebackFrameProxyzProxies a traceback frame.c C s || _ d | _d S )N)�tb�_tb_next)�selfr � r �/usr/lib/python3.6/debug.py�__init__'