WebShell Manager
Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64
Apache
Server: 172.31.9.152
Your IP: 216.73.216.236
System Info
HOME
snap
core24
1643
usr
lib
python3.12
Command Execution
Execute
File Upload
Upload
New Folder
New File
Name
Type
Size
Permissions
Modified
Actions
..
Parent
-
drwxr-xr-x
2026-04-10 04:18:08
-
__phello__
Folder
-
0755
2026-04-10 04:18:08
__pycache__
Folder
-
0755
2026-04-10 04:18:08
asyncio
Folder
-
0755
2026-04-10 04:18:08
collections
Folder
-
0755
2026-04-10 04:18:08
concurrent
Folder
-
0755
2026-04-10 04:18:08
ctypes
Folder
-
0755
2026-04-10 04:18:08
curses
Folder
-
0755
2026-04-10 04:18:08
dbm
Folder
-
0755
2026-04-10 04:18:08
email
Folder
-
0755
2026-04-10 04:18:08
encodings
Folder
-
0755
2026-04-10 04:18:08
html
Folder
-
0755
2026-04-10 04:18:08
http
Folder
-
0755
2026-04-10 04:18:08
importlib
Folder
-
0755
2026-04-10 04:18:08
json
Folder
-
0755
2026-04-10 04:18:08
lib-dynload
Folder
-
0755
2026-04-10 04:18:08
logging
Folder
-
0755
2026-04-10 04:18:08
multiprocessing
Folder
-
0755
2026-04-10 04:18:08
pydoc_data
Folder
-
0755
2026-04-10 04:18:08
re
Folder
-
0755
2026-04-10 04:18:08
sqlite3
Folder
-
0755
2026-04-10 04:18:08
test
Folder
-
0755
2026-04-10 04:18:08
tomllib
Folder
-
0755
2026-04-10 04:18:08
unittest
Folder
-
0755
2026-04-10 04:18:08
urllib
Folder
-
0755
2026-04-10 04:18:08
venv
Folder
-
0755
2026-04-10 04:18:08
wsgiref
Folder
-
0755
2026-04-10 04:18:08
xml
Folder
-
0755
2026-04-10 04:18:08
xmlrpc
Folder
-
0755
2026-04-10 04:18:08
zipfile
Folder
-
0755
2026-04-10 04:18:08
zoneinfo
Folder
-
0755
2026-04-10 04:18:08
EXTERNALLY-MANAGED
File
645 B
0644
2026-03-03 12:15:18
LICENSE.txt
File
13.61 KB
0644
2026-03-03 12:15:18
__future__.py
File
5.1 KB
0644
2026-03-03 12:15:18
__hello__.py
File
227 B
0644
2026-03-03 12:15:18
_aix_support.py
File
3.93 KB
0644
2026-03-03 12:15:18
_collections_abc.py
File
31.33 KB
0644
2026-03-03 12:15:18
_compat_pickle.py
File
8.56 KB
0644
2026-03-03 12:15:18
_compression.py
File
5.55 KB
0644
2026-03-03 12:15:18
_distutils_system_mod.py
File
5.58 KB
0644
2026-03-03 12:15:18
_markupbase.py
File
14.31 KB
0644
2026-03-03 12:15:18
_osx_support.py
File
21.51 KB
0644
2026-03-03 12:15:18
_py_abc.py
File
6.04 KB
0644
2026-03-03 12:15:18
_pydatetime.py
File
89.94 KB
0644
2026-03-03 12:15:18
_pydecimal.py
File
223.85 KB
0644
2026-03-03 12:15:18
_pyio.py
File
91.4 KB
0644
2026-03-03 12:15:18
_pylong.py
File
8.83 KB
0644
2026-03-03 12:15:18
_sitebuiltins.py
File
3.05 KB
0644
2026-03-03 12:15:18
_strptime.py
File
24.04 KB
0644
2026-03-03 12:15:18
_sysconfigdata__linux_x86_64-linux-gnu.py
File
48.34 KB
0644
2026-03-03 12:15:18
_sysconfigdata__x86_64-linux-gnu.py
File
48.34 KB
0644
2026-03-03 12:15:18
_threading_local.py
File
7.05 KB
0644
2026-03-03 12:15:18
_weakrefset.py
File
5.75 KB
0644
2026-03-03 12:15:18
abc.py
File
6.38 KB
0644
2026-03-03 12:15:18
aifc.py
File
33.41 KB
0644
2026-03-03 12:15:18
antigravity.py
File
500 B
0644
2026-03-03 12:15:18
argparse.py
File
99.37 KB
0644
2026-03-03 12:15:18
ast.py
File
62.75 KB
0644
2026-03-03 12:15:18
base64.py
File
20.12 KB
0755
2026-03-03 12:15:18
bdb.py
File
31.7 KB
0644
2026-03-03 12:15:18
bisect.py
File
3.34 KB
0644
2026-03-03 12:15:18
bz2.py
File
11.57 KB
0644
2026-03-03 12:15:18
cProfile.py
File
6.4 KB
0755
2026-03-03 12:15:18
calendar.py
File
24.82 KB
0644
2026-03-03 12:15:18
cgi.py
File
33.61 KB
0755
2026-03-03 12:15:18
cgitb.py
File
12.13 KB
0644
2026-03-03 12:15:18
chunk.py
File
5.37 KB
0644
2026-03-03 12:15:18
cmd.py
File
14.52 KB
0644
2026-03-03 12:15:18
code.py
File
10.44 KB
0644
2026-03-03 12:15:18
codecs.py
File
36.01 KB
0644
2026-03-03 12:15:18
codeop.py
File
5.77 KB
0644
2026-03-03 12:15:18
colorsys.py
File
3.97 KB
0644
2026-03-03 12:15:18
compileall.py
File
20.12 KB
0644
2026-03-03 12:15:18
configparser.py
File
52.53 KB
0644
2026-03-03 12:15:18
contextlib.py
File
26.99 KB
0644
2026-03-03 12:15:18
contextvars.py
File
129 B
0644
2026-03-03 12:15:18
copy.py
File
8.21 KB
0644
2026-03-03 12:15:18
copyreg.py
File
7.44 KB
0644
2026-03-03 12:15:18
crypt.py
File
3.82 KB
0644
2026-03-03 12:15:18
csv.py
File
16 KB
0644
2026-03-03 12:15:18
dataclasses.py
File
60.31 KB
0644
2026-03-03 12:15:18
datetime.py
File
268 B
0644
2026-03-03 12:15:18
decimal.py
File
320 B
0644
2026-03-03 12:15:18
difflib.py
File
81.36 KB
0644
2026-03-03 12:15:18
dis.py
File
29.5 KB
0644
2026-03-03 12:15:18
doctest.py
File
103.98 KB
0644
2026-03-03 12:15:18
enum.py
File
79.72 KB
0644
2026-03-03 12:15:18
filecmp.py
File
9.95 KB
0644
2026-03-03 12:15:18
fileinput.py
File
15.35 KB
0644
2026-03-03 12:15:18
fnmatch.py
File
5.86 KB
0644
2026-03-03 12:15:18
fractions.py
File
37.17 KB
0644
2026-03-03 12:15:18
ftplib.py
File
33.92 KB
0644
2026-03-03 12:15:18
functools.py
File
37.23 KB
0644
2026-03-03 12:15:18
genericpath.py
File
5.44 KB
0644
2026-03-03 12:15:18
getopt.py
File
7.31 KB
0644
2026-03-03 12:15:18
getpass.py
File
5.85 KB
0644
2026-03-03 12:15:18
gettext.py
File
21.24 KB
0644
2026-03-03 12:15:18
glob.py
File
8.53 KB
0644
2026-03-03 12:15:18
graphlib.py
File
9.43 KB
0644
2026-03-03 12:15:18
gzip.py
File
24.28 KB
0644
2026-03-03 12:15:18
hashlib.py
File
9.13 KB
0644
2026-03-03 12:15:18
heapq.py
File
22.48 KB
0644
2026-03-03 12:15:18
hmac.py
File
7.54 KB
0644
2026-03-03 12:15:18
imaplib.py
File
52.43 KB
0644
2026-03-03 12:15:18
imghdr.py
File
4.29 KB
0644
2026-03-03 12:15:18
inspect.py
File
122.48 KB
0644
2026-03-03 12:15:18
io.py
File
3.5 KB
0644
2026-03-03 12:15:18
ipaddress.py
File
76.46 KB
0644
2026-03-03 12:15:18
keyword.py
File
1.05 KB
0644
2026-03-03 12:15:18
linecache.py
File
5.52 KB
0644
2026-03-03 12:15:18
locale.py
File
76.72 KB
0644
2026-03-03 12:15:18
lzma.py
File
12.97 KB
0644
2026-03-03 12:15:18
mailbox.py
File
77.06 KB
0644
2026-03-03 12:15:18
mailcap.py
File
9.11 KB
0644
2026-03-03 12:15:18
mimetypes.py
File
22.35 KB
0644
2026-03-03 12:15:18
modulefinder.py
File
23.14 KB
0644
2026-03-03 12:15:18
netrc.py
File
6.76 KB
0644
2026-03-03 12:15:18
nntplib.py
File
40.12 KB
0644
2026-03-03 12:15:18
ntpath.py
File
29.32 KB
0644
2026-03-03 12:15:18
nturl2path.py
File
2.82 KB
0644
2026-03-03 12:15:18
numbers.py
File
11.2 KB
0644
2026-03-03 12:15:18
opcode.py
File
12.87 KB
0644
2026-03-03 12:15:18
operator.py
File
10.71 KB
0644
2026-03-03 12:15:18
optparse.py
File
58.95 KB
0644
2026-03-03 12:15:18
os.py
File
38.85 KB
0644
2026-03-03 12:15:18
pathlib.py
File
49.95 KB
0644
2026-03-03 12:15:18
pdb.py
File
67.83 KB
0755
2026-03-03 12:15:18
pickle.py
File
63.38 KB
0644
2026-03-03 12:15:18
pickletools.py
File
91.66 KB
0644
2026-03-03 12:15:18
pipes.py
File
8.77 KB
0644
2026-03-03 12:15:18
pkgutil.py
File
17.85 KB
0644
2026-03-03 12:15:18
platform.py
File
42.32 KB
0755
2026-03-03 12:15:18
plistlib.py
File
27.91 KB
0644
2026-03-03 12:15:18
poplib.py
File
13.83 KB
0644
2026-03-03 12:15:18
posixpath.py
File
17.21 KB
0644
2026-03-03 12:15:18
pprint.py
File
23.59 KB
0644
2026-03-03 12:15:18
profile.py
File
22.55 KB
0755
2026-03-03 12:15:18
pstats.py
File
28.6 KB
0644
2026-03-03 12:15:18
pty.py
File
5.99 KB
0644
2026-03-03 12:15:18
py_compile.py
File
7.69 KB
0644
2026-03-03 12:15:18
pyclbr.py
File
11.13 KB
0644
2026-03-03 12:15:18
pydoc.py
File
110.44 KB
0755
2026-03-03 12:15:18
queue.py
File
11.23 KB
0644
2026-03-03 12:15:18
quopri.py
File
7.01 KB
0755
2026-03-03 12:15:18
random.py
File
33.87 KB
0644
2026-03-03 12:15:18
reprlib.py
File
6.42 KB
0644
2026-03-03 12:15:18
rlcompleter.py
File
7.64 KB
0644
2026-03-03 12:15:18
runpy.py
File
12.6 KB
0644
2026-03-03 12:15:18
sched.py
File
6.2 KB
0644
2026-03-03 12:15:18
secrets.py
File
1.94 KB
0644
2026-03-03 12:15:18
selectors.py
File
19.21 KB
0644
2026-03-03 12:15:18
shelve.py
File
8.36 KB
0644
2026-03-03 12:15:18
shlex.py
File
13.04 KB
0644
2026-03-03 12:15:18
shutil.py
File
56.76 KB
0644
2026-03-03 12:15:18
signal.py
File
2.44 KB
0644
2026-03-03 12:15:18
site.py
File
23.34 KB
0644
2026-03-03 12:15:18
sitecustomize.py
File
0 B
0
1970-01-01 00:00:00
smtplib.py
File
42.51 KB
0755
2026-03-03 12:15:18
sndhdr.py
File
7.27 KB
0644
2026-03-03 12:15:18
socket.py
File
36.53 KB
0644
2026-03-03 12:15:18
socketserver.py
File
27.2 KB
0644
2026-03-03 12:15:18
sre_compile.py
File
231 B
0644
2026-03-03 12:15:18
sre_constants.py
File
232 B
0644
2026-03-03 12:15:18
sre_parse.py
File
229 B
0644
2026-03-03 12:15:18
ssl.py
File
49.63 KB
0644
2026-03-03 12:15:18
stat.py
File
5.36 KB
0644
2026-03-03 12:15:18
statistics.py
File
49.05 KB
0644
2026-03-03 12:15:18
string.py
File
11.51 KB
0644
2026-03-03 12:15:18
stringprep.py
File
12.61 KB
0644
2026-03-03 12:15:18
struct.py
File
257 B
0644
2026-03-03 12:15:18
subprocess.py
File
86.65 KB
0644
2026-03-03 12:15:18
sunau.py
File
18.04 KB
0644
2026-03-03 12:15:18
symtable.py
File
10.5 KB
0644
2026-03-03 12:15:18
sysconfig.py
File
32 KB
0644
2026-03-03 12:15:18
tabnanny.py
File
11.26 KB
0755
2026-03-03 12:15:18
tarfile.py
File
109.92 KB
0755
2026-03-03 12:15:18
telnetlib.py
File
22.75 KB
0644
2026-03-03 12:15:18
tempfile.py
File
36.46 KB
0644
2026-03-03 12:15:18
textwrap.py
File
19.26 KB
0644
2026-03-03 12:15:18
this.py
File
1003 B
0644
2026-03-03 12:15:18
threading.py
File
58.71 KB
0644
2026-03-03 12:15:18
timeit.py
File
13.15 KB
0755
2026-03-03 12:15:18
token.py
File
2.42 KB
0644
2026-03-03 12:15:18
tokenize.py
File
20.72 KB
0644
2026-03-03 12:15:18
trace.py
File
28.5 KB
0755
2026-03-03 12:15:18
traceback.py
File
45.24 KB
0644
2026-03-03 12:15:18
tracemalloc.py
File
17.62 KB
0644
2026-03-03 12:15:18
tty.py
File
1.99 KB
0644
2026-03-03 12:15:18
turtle.py
File
142.93 KB
0644
2026-03-03 12:15:18
types.py
File
10.74 KB
0644
2026-03-03 12:15:18
typing.py
File
114.68 KB
0644
2026-03-03 12:15:18
uu.py
File
7.19 KB
0755
2026-03-03 12:15:18
uuid.py
File
28.96 KB
0644
2026-03-03 12:15:18
warnings.py
File
21.25 KB
0644
2026-03-03 12:15:18
wave.py
File
22.24 KB
0644
2026-03-03 12:15:18
weakref.py
File
21.01 KB
0644
2026-03-03 12:15:18
webbrowser.py
File
23.07 KB
0755
2026-03-03 12:15:18
xdrlib.py
File
5.8 KB
0644
2026-03-03 12:15:18
zipapp.py
File
7.37 KB
0644
2026-03-03 12:15:18
zipimport.py
File
27.47 KB
0644
2026-03-03 12:15:18
0
items selected
Choose Action...
Delete Selected
Zip Selected
Unzip Selected
Execute Action
Clear Selection
© Ultimate WebShell | Auto Bypass Enabled
Create New Folder
Create New File
Edit File: _pylong.py
"""Python implementations of some algorithms for use by longobject.c. The goal is to provide asymptotically faster algorithms that can be used for operations on integers with many digits. In those cases, the performance overhead of the Python implementation is not significant since the asymptotic behavior is what dominates runtime. Functions provided by this module should be considered private and not part of any public API. Note: for ease of maintainability, please prefer clear code and avoid "micro-optimizations". This module will only be imported and used for integers with a huge number of digits. Saving a few microseconds with tricky or non-obvious code is not worth it. For people looking for maximum performance, they should use something like gmpy2.""" import re import decimal def int_to_decimal(n): """Asymptotically fast conversion of an 'int' to Decimal.""" # Function due to Tim Peters. See GH issue #90716 for details. # https://github.com/python/cpython/issues/90716 # # The implementation in longobject.c of base conversion algorithms # between power-of-2 and non-power-of-2 bases are quadratic time. # This function implements a divide-and-conquer algorithm that is # faster for large numbers. Builds an equal decimal.Decimal in a # "clever" recursive way. If we want a string representation, we # apply str to _that_. D = decimal.Decimal D2 = D(2) BITLIM = 128 mem = {} def w2pow(w): """Return D(2)**w and store the result. Also possibly save some intermediate results. In context, these are likely to be reused across various levels of the conversion to Decimal.""" if (result := mem.get(w)) is None: if w <= BITLIM: result = D2**w elif w - 1 in mem: result = (t := mem[w - 1]) + t else: w2 = w >> 1 # If w happens to be odd, w-w2 is one larger then w2 # now. Recurse on the smaller first (w2), so that it's # in the cache and the larger (w-w2) can be handled by # the cheaper `w-1 in mem` branch instead. result = w2pow(w2) * w2pow(w - w2) mem[w] = result return result def inner(n, w): if w <= BITLIM: return D(n) w2 = w >> 1 hi = n >> w2 lo = n - (hi << w2) return inner(lo, w2) + inner(hi, w - w2) * w2pow(w2) with decimal.localcontext() as ctx: ctx.prec = decimal.MAX_PREC ctx.Emax = decimal.MAX_EMAX ctx.Emin = decimal.MIN_EMIN ctx.traps[decimal.Inexact] = 1 if n < 0: negate = True n = -n else: negate = False result = inner(n, n.bit_length()) if negate: result = -result return result def int_to_decimal_string(n): """Asymptotically fast conversion of an 'int' to a decimal string.""" return str(int_to_decimal(n)) def _str_to_int_inner(s): """Asymptotically fast conversion of a 'str' to an 'int'.""" # Function due to Bjorn Martinsson. See GH issue #90716 for details. # https://github.com/python/cpython/issues/90716 # # The implementation in longobject.c of base conversion algorithms # between power-of-2 and non-power-of-2 bases are quadratic time. # This function implements a divide-and-conquer algorithm making use # of Python's built in big int multiplication. Since Python uses the # Karatsuba algorithm for multiplication, the time complexity # of this function is O(len(s)**1.58). DIGLIM = 2048 mem = {} def w5pow(w): """Return 5**w and store the result. Also possibly save some intermediate results. In context, these are likely to be reused across various levels of the conversion to 'int'. """ if (result := mem.get(w)) is None: if w <= DIGLIM: result = 5**w elif w - 1 in mem: result = mem[w - 1] * 5 else: w2 = w >> 1 # If w happens to be odd, w-w2 is one larger then w2 # now. Recurse on the smaller first (w2), so that it's # in the cache and the larger (w-w2) can be handled by # the cheaper `w-1 in mem` branch instead. result = w5pow(w2) * w5pow(w - w2) mem[w] = result return result def inner(a, b): if b - a <= DIGLIM: return int(s[a:b]) mid = (a + b + 1) >> 1 return inner(mid, b) + ((inner(a, mid) * w5pow(b - mid)) << (b - mid)) return inner(0, len(s)) def int_from_string(s): """Asymptotically fast version of PyLong_FromString(), conversion of a string of decimal digits into an 'int'.""" # PyLong_FromString() has already removed leading +/-, checked for invalid # use of underscore characters, checked that string consists of only digits # and underscores, and stripped leading whitespace. The input can still # contain underscores and have trailing whitespace. s = s.rstrip().replace('_', '') return _str_to_int_inner(s) def str_to_int(s): """Asymptotically fast version of decimal string to 'int' conversion.""" # FIXME: this doesn't support the full syntax that int() supports. m = re.match(r'\s*([+-]?)([0-9_]+)\s*', s) if not m: raise ValueError('invalid literal for int() with base 10') v = int_from_string(m.group(2)) if m.group(1) == '-': v = -v return v # Fast integer division, based on code from Mark Dickinson, fast_div.py # GH-47701. Additional refinements and optimizations by Bjorn Martinsson. The # algorithm is due to Burnikel and Ziegler, in their paper "Fast Recursive # Division". _DIV_LIMIT = 4000 def _div2n1n(a, b, n): """Divide a 2n-bit nonnegative integer a by an n-bit positive integer b, using a recursive divide-and-conquer algorithm. Inputs: n is a positive integer b is a positive integer with exactly n bits a is a nonnegative integer such that a < 2**n * b Output: (q, r) such that a = b*q+r and 0 <= r < b. """ if a.bit_length() - n <= _DIV_LIMIT: return divmod(a, b) pad = n & 1 if pad: a <<= 1 b <<= 1 n += 1 half_n = n >> 1 mask = (1 << half_n) - 1 b1, b2 = b >> half_n, b & mask q1, r = _div3n2n(a >> n, (a >> half_n) & mask, b, b1, b2, half_n) q2, r = _div3n2n(r, a & mask, b, b1, b2, half_n) if pad: r >>= 1 return q1 << half_n | q2, r def _div3n2n(a12, a3, b, b1, b2, n): """Helper function for _div2n1n; not intended to be called directly.""" if a12 >> n == b1: q, r = (1 << n) - 1, a12 - (b1 << n) + b1 else: q, r = _div2n1n(a12, b1, n) r = (r << n | a3) - q * b2 while r < 0: q -= 1 r += b return q, r def _int2digits(a, n): """Decompose non-negative int a into base 2**n Input: a is a non-negative integer Output: List of the digits of a in base 2**n in little-endian order, meaning the most significant digit is last. The most significant digit is guaranteed to be non-zero. If a is 0 then the output is an empty list. """ a_digits = [0] * ((a.bit_length() + n - 1) // n) def inner(x, L, R): if L + 1 == R: a_digits[L] = x return mid = (L + R) >> 1 shift = (mid - L) * n upper = x >> shift lower = x ^ (upper << shift) inner(lower, L, mid) inner(upper, mid, R) if a: inner(a, 0, len(a_digits)) return a_digits def _digits2int(digits, n): """Combine base-2**n digits into an int. This function is the inverse of `_int2digits`. For more details, see _int2digits. """ def inner(L, R): if L + 1 == R: return digits[L] mid = (L + R) >> 1 shift = (mid - L) * n return (inner(mid, R) << shift) + inner(L, mid) return inner(0, len(digits)) if digits else 0 def _divmod_pos(a, b): """Divide a non-negative integer a by a positive integer b, giving quotient and remainder.""" # Use grade-school algorithm in base 2**n, n = nbits(b) n = b.bit_length() a_digits = _int2digits(a, n) r = 0 q_digits = [] for a_digit in reversed(a_digits): q_digit, r = _div2n1n((r << n) + a_digit, b, n) q_digits.append(q_digit) q_digits.reverse() q = _digits2int(q_digits, n) return q, r def int_divmod(a, b): """Asymptotically fast replacement for divmod, for 'int'. Its time complexity is O(n**1.58), where n = #bits(a) + #bits(b). """ if b == 0: raise ZeroDivisionError elif b < 0: q, r = int_divmod(-a, -b) return q, -r elif a < 0: q, r = int_divmod(~a, b) return ~q, b + ~r else: return _divmod_pos(a, b)
Rename
Change Permissions
Common permissions: 755 (rwxr-xr-x), 644 (rw-r--r--), 777 (rwxrwxrwx)
System Information
Uname: Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64 Software: Apache PHP Version: 7.4.3-4ubuntu2.29 Protocol: HTTP/1.1 Server IP: 172.31.9.152 Your IP: 216.73.216.236 Mail: ON Curl: ON Owner: www-data MySQL: ON Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Auto Bypass: ENABLED