REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 42.25 KB
Close
//opt/alt/python36/lib64/python3.6/logging/__pycache__/handlers.cpython-36.pyc
Text
Base64
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OQhJCAwIF3I8AAAAYwAAAAAAAAAAAAAAAAMAAABAAAAAczIAAABlAFoBZABaAmQBWgNkDWQFZAaEAVoEZAdkCIQAWgVkCWQKhABaBmQLZAyEAFoHZANTACkO2hJXYXRjaGVkRmlsZUhhbmRsZXJhggMAAAogICAgQSBoYW5kbGVyIGZvciBsb2dnaW5nIHRvIGEgZmlsZSwgd2hpY2ggd2F0Y2hlcyB0aGUgZmlsZQogICAgdG8gc2VlIGlmIGl0IGhhcyBjaGFuZ2VkIHdoaWxlIGluIHVzZS4gVGhpcyBjYW4gaGFwcGVuIGJlY2F1c2Ugb2YKICAgIHVzYWdlIG9mIHByb2dyYW1zIHN1Y2ggYXMgbmV3c3lzbG9nIGFuZCBsb2dyb3RhdGUgd2hpY2ggcGVyZm9ybQogICAgbG9nIGZpbGUgcm90YXRpb24uIFRoaXMgaGFuZGxlciwgaW50ZW5kZWQgZm9yIHVzZSB1bmRlciBVbml4LAogICAgd2F0Y2hlcyB0aGUgZmlsZSB0byBzZWUgaWYgaXQgaGFzIGNoYW5nZWQgc2luY2UgdGhlIGxhc3QgZW1pdC4KICAgIChBIGZpbGUgaGFzIGNoYW5nZWQgaWYgaXRzIGRldmljZSBvciBpbm9kZSBoYXZlIGNoYW5nZWQuKQogICAgSWYgaXQgaGFzIGNoYW5nZWQsIHRoZSBvbGQgZmlsZSBzdHJlYW0gaXMgY2xvc2VkLCBhbmQgdGhlIGZpbGUKICAgIG9wZW5lZCB0byBnZXQgYSBuZXcgc3RyZWFtLgoKICAgIFRoaXMgaGFuZGxlciBpcyBub3QgYXBwcm9wcmlhdGUgZm9yIHVzZSB1bmRlciBXaW5kb3dzLCBiZWNhdXNlCiAgICB1bmRlciBXaW5kb3dzIG9wZW4gZmlsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbmFtZWQgLSBsb2dnaW5nCiAgICBvcGVucyB0aGUgZmlsZXMgd2l0aCBleGNsdXNpdmUgbG9ja3MgLSBhbmQgc28gdGhlcmUgaXMgbm8gbmVlZAogICAgZm9yIHN1Y2ggYSBoYW5kbGVyLiBGdXJ0aGVybW9yZSwgU1RfSU5PIGlzIG5vdCBzdXBwb3J0ZWQgdW5kZXIKICAgIFdpbmRvd3M7IHN0YXQgYWx3YXlz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AABlAFoBZABaAmQBWgNkCmQEZAWEAVoEZAZkB4QAWgVkCGQJhABaBmQCUwApC9oLU01UUEhhbmRsZXJ6SwogICAgQSBoYW5kbGVyIGNsYXNzIHdoaWNoIHNlbmRzIGFuIFNNVFAgZW1haWwgZm9yIGVhY2ggbG9nZ2luZyBldmVudC4KICAgIE7nAAAAAAAAFEBjCAAAAAAAAAAIAAAABAAAAEMAAABzigAAAHQAagFqAnwAgwEBAHQDfAF0BHQFZgKDAnIofAFcAnwAXwZ8AF8Hbg58AWQBAgB8AF8GfABfB3QDfAV0BHQFZgKDAnJSfAVcAnwAXwh8AF8JbgZkAXwAXwh8AnwAXwp0A3wDdAuDAnJufANnAX0DfAN8AF8MfAR8AF8NfAZ8AF8OfAd8AF8PZAFTACkCYXgDAAAKICAgICAgICBJbml0aWFsaXplIHRoZSBoYW5kbGVyLgoKICAgICAgICBJbml0aWFsaXplIHRoZSBpbnN0YW5jZSB3aXRoIHRoZSBmcm9tIGFuZCB0byBhZGRyZXNzZXMgYW5kIHN1YmplY3QKICAgICAgICBsaW5lIG9mIHRoZSBlbWFpbC4gVG8gc3BlY2lmeSBhIG5vbi1zdGFuZGFyZCBTTVRQIHBvcnQsIHVzZSB0aGUKICAgICAgICAoaG9zdCwgcG9ydCkgdHVwbGUgZm9ybWF0IGZvciB0aGUgbWFpbGhvc3QgYXJndW1lbnQuIFRvIHNwZWNpZnkKICAgICAgICBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscywgc3VwcGx5IGEgKHVzZXJuYW1lLCBwYXNzd29yZCkgdHVwbGUKICAgICAgICBmb3IgdGhlIGNyZWRlbnRpYWxzIGFyZ3VtZW50LiBUbyBzcGVjaWZ5IHRoZSB1c2Ugb2YgYSBzZWN1cmUKICAgICAgICBwcm90b2NvbCAoVExTKSwgcGFzcyBpbiBhIHR1cGxlIGZvciB0aGUgc2VjdXJlIGFyZ3VtZW50LiBUaGlzIHdpbGwKICAgICAgICBvbmx5IGJlIHVzZWQgd2hlbiBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyBhcmUgc3VwcGxpZWQuIFRoZSB0dXBsZQogICAgICAgIHdpbGwgYmUgZWl0aGVyIGFuIGVtcHR5IHR1cGxl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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 9
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
config.cpython-36.opt-1.pyc
22.81 KB
lrw-r--r--
2024-04-17 17:19:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-36.opt-2.pyc
18.78 KB
lrw-r--r--
2024-04-17 17:19:27
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-36.pyc
22.85 KB
lrw-r--r--
2024-04-17 17:19:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-36.opt-1.pyc
42.25 KB
lrw-r--r--
2024-04-17 17:19:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-36.opt-2.pyc
23.71 KB
lrw-r--r--
2024-04-17 17:19:27
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-36.pyc
42.25 KB
lrw-r--r--
2024-04-17 17:19:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-36.opt-1.pyc
58.96 KB
lrw-r--r--
2024-04-17 17:19:44
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-36.opt-2.pyc
31.76 KB
lrw-r--r--
2024-04-17 17:19:27
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-36.pyc
58.99 KB
lrw-r--r--
2024-04-17 17:19:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).