Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 3.138.118.194
66 Domain
8.0.30
amvm
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
lib /
python2.7 /
site-packages /
jinja2 /
[ HOME SHELL ]
Name
Size
Permission
Action
testsuite
[ DIR ]
drwxr-xr-x
__init__.py
2.22
KB
-rw-r--r--
__init__.pyc
2.38
KB
-rw-r--r--
__init__.pyo
2.38
KB
-rw-r--r--
_compat.py
3.95
KB
-rw-r--r--
_compat.pyc
5.99
KB
-rw-r--r--
_compat.pyo
5.99
KB
-rw-r--r--
_stringdefs.py
394.82
KB
-rw-r--r--
_stringdefs.pyc
203.64
KB
-rw-r--r--
_stringdefs.pyo
203.64
KB
-rw-r--r--
bccache.py
12.04
KB
-rw-r--r--
bccache.pyc
13.85
KB
-rw-r--r--
bccache.pyo
13.85
KB
-rw-r--r--
compiler.py
60.34
KB
-rw-r--r--
compiler.pyc
53.21
KB
-rw-r--r--
compiler.pyo
53.15
KB
-rw-r--r--
constants.py
1.59
KB
-rw-r--r--
constants.pyc
1.65
KB
-rw-r--r--
constants.pyo
1.65
KB
-rw-r--r--
debug.py
10.72
KB
-rw-r--r--
debug.pyc
10.45
KB
-rw-r--r--
debug.pyo
10.37
KB
-rw-r--r--
defaults.py
1.03
KB
-rw-r--r--
defaults.pyc
1.46
KB
-rw-r--r--
defaults.pyo
1.46
KB
-rw-r--r--
environment.py
46.14
KB
-rw-r--r--
environment.pyc
45
KB
-rw-r--r--
environment.pyo
44.59
KB
-rw-r--r--
exceptions.py
4.32
KB
-rw-r--r--
exceptions.pyc
6.11
KB
-rw-r--r--
exceptions.pyo
6.11
KB
-rw-r--r--
ext.py
24.49
KB
-rw-r--r--
ext.pyc
23.5
KB
-rw-r--r--
ext.pyo
23.43
KB
-rw-r--r--
filters.py
29.14
KB
-rw-r--r--
filters.pyc
33.13
KB
-rw-r--r--
filters.pyo
33.13
KB
-rw-r--r--
lexer.py
27.73
KB
-rw-r--r--
lexer.pyc
22.11
KB
-rw-r--r--
lexer.pyo
21.95
KB
-rw-r--r--
loaders.py
16.64
KB
-rw-r--r--
loaders.pyc
18.5
KB
-rw-r--r--
loaders.pyo
18.5
KB
-rw-r--r--
meta.py
4.09
KB
-rw-r--r--
meta.pyc
3.92
KB
-rw-r--r--
meta.pyo
3.92
KB
-rw-r--r--
nodes.py
28.23
KB
-rw-r--r--
nodes.pyc
41.54
KB
-rw-r--r--
nodes.pyo
41.06
KB
-rw-r--r--
optimizer.py
2.25
KB
-rw-r--r--
optimizer.pyc
2.78
KB
-rw-r--r--
optimizer.pyo
2.78
KB
-rw-r--r--
parser.py
34.36
KB
-rw-r--r--
parser.pyc
30.5
KB
-rw-r--r--
parser.pyo
30.5
KB
-rw-r--r--
runtime.py
19.1
KB
-rw-r--r--
runtime.pyc
22.5
KB
-rw-r--r--
runtime.pyo
22.46
KB
-rw-r--r--
sandbox.py
18.09
KB
-rw-r--r--
sandbox.pyc
17.23
KB
-rw-r--r--
sandbox.pyo
17.23
KB
-rw-r--r--
tests.py
3.36
KB
-rw-r--r--
tests.pyc
4.93
KB
-rw-r--r--
tests.pyo
4.93
KB
-rw-r--r--
utils.py
15.79
KB
-rw-r--r--
utils.pyc
19.08
KB
-rw-r--r--
utils.pyo
19.08
KB
-rw-r--r--
visitor.py
3.24
KB
-rw-r--r--
visitor.pyc
3.72
KB
-rw-r--r--
visitor.pyo
3.72
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : optimizer.py
# -*- coding: utf-8 -*- """ jinja2.optimizer ~~~~~~~~~~~~~~~~ The jinja optimizer is currently trying to constant fold a few expressions and modify the AST in place so that it should be easier to evaluate it. Because the AST does not contain all the scoping information and the compiler has to find that out, we cannot do all the optimizations we want. For example loop unrolling doesn't work because unrolled loops would have a different scoping. The solution would be a second syntax tree that has the scoping rules stored. :copyright: (c) 2010 by the Jinja Team. :license: BSD. """ from jinja2 import nodes from jinja2.visitor import NodeTransformer def optimize(node, environment): """The context hint can be used to perform an static optimization based on the context given.""" optimizer = Optimizer(environment) return optimizer.visit(node) class Optimizer(NodeTransformer): def __init__(self, environment): self.environment = environment def visit_If(self, node): """Eliminate dead code.""" # do not optimize ifs that have a block inside so that it doesn't # break super(). if node.find(nodes.Block) is not None: return self.generic_visit(node) try: val = self.visit(node.test).as_const() except nodes.Impossible: return self.generic_visit(node) if val: body = node.body else: body = node.else_ result = [] for node in body: result.extend(self.visit_list(node)) return result def fold(self, node): """Do constant folding.""" node = self.generic_visit(node) try: return nodes.Const.from_untrusted(node.as_const(), lineno=node.lineno, environment=self.environment) except nodes.Impossible: return node visit_Add = visit_Sub = visit_Mul = visit_Div = visit_FloorDiv = \ visit_Pow = visit_Mod = visit_And = visit_Or = visit_Pos = visit_Neg = \ visit_Not = visit_Compare = visit_Getitem = visit_Getattr = visit_Call = \ visit_Filter = visit_Test = visit_CondExpr = fold del fold
Close