REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 43.17 KB
Close
//opt/alt/python39/lib64/python3.9/logging/__pycache__/handlers.cpython-39.pyc
Text
Base64
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ZCJlJ2YCZQ1kI2YDZCRkJYQBWihkJmQnhABaKWQoZCmEAFoqZCpkK4QAWitkLGQthABaLGQuWi1kL1ouZDBkMYQAWi9kI1MAKTLaDVN5c0xvZ0hhbmRsZXJhFwEAAAogICAgQSBoYW5kbGVyIGNsYXNzIHdoaWNoIHNlbmRzIGZvcm1hdHRlZCBsb2dnaW5nIHJlY29yZHMgdG8gYSBzeXNsb2cKICAgIHNlcnZlci4gQmFzZWQgb24gU2FtIFJ1c2hpbmcncyBzeXNsb2cgbW9kdWxlOgogICAgaHR0cDovL3d3dy5uaWdodG1hcmUuY29tL3NxdWlybC9weXRob24tZXh0L21pc2Mvc3lzbG9nLnB5CiAgICBDb250cmlidXRlZCBieSBOaWNvbGFzIFVudHogKGFmdGVyIHdoaWNoIG1pbm9yIHJlZmFjdG9yaW5nIGNoYW5nZXMKICAgIGhhdmUgYmVlbiBtYWRlKS4KICAgIHIBAAAAcjAAAAByOgAAAHJhAAAAcmIAAAByYwAAAHJkAAAAcmUAAADpCAAAAOkJAAAA6QoAAADpCwAAAOkMAAAA6Q0AAADpDgAAAOkPAAAA6RAAAADpEQAAAOkSAAAA6RMAAADpFAAAAOkVAAAA6RYAAADpFwAAACkMWgVhbGVydFoEY3JpdNoIY3JpdGljYWzaBWRlYnVnWgVlbWVyZ9oDZXJy2gVlcnJvctoEaW5mb1oGbm90aWNlWgVwYW5pY9oEd2FybtoHd2FybmluZykYWgRhdXRoWghhdXRocHJpdloHY29uc29sZVoEY3JvbtoGZGFlbW9uWgNmdHBaBGtlcm5aA2xwcloEbWFpbFoEbmV3c1oDbnRwWghzZWN1cml0eXoMc29sYXJpcy1jcm9uWgZzeXNsb2faBHVzZXJaBHV1Y3BaBmxvY2FsMFoGbG9jYWwxWgZsb2NhbDJaBmxvY2FsM1oGbG9jYWw0WgZsb2NhbDVaBmxvY2FsNloGbG9jYWw3cskAAAByzAAAAHLOAAAAcssAAAByyAAAACkF2gVERUJVR9oESU5GT9oHV0FSTklOR9oFRVJST1LaCENSSVRJQ0FMWglsb2NhbGhvc3ROYwQAAAAAAAAAAAAAAA8AAAALAAAAQwAAAHMyAQAAdABqAaACfAChAQEAfAF8AF8DfAJ8AF8EfAN8AF8F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CiAgICAgICAgSW5pdGlhbGl6ZSB0aGUgaW5zdGFuY2Ugd2l0aCB0aGUgZnJvbSBhbmQgdG8gYWRkcmVzc2VzIGFuZCBzdWJqZWN0CiAgICAgICAgbGluZSBvZiB0aGUgZW1haWwuIFRvIHNwZWNpZnkgYSBub24tc3RhbmRhcmQgU01UUCBwb3J0LCB1c2UgdGhlCiAgICAgICAgKGhvc3QsIHBvcnQpIHR1cGxlIGZvcm1hdCBmb3IgdGhlIG1haWxob3N0IGFyZ3VtZW50LiBUbyBzcGVjaWZ5CiAgICAgICAgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMsIHN1cHBseSBhICh1c2VybmFtZSwgcGFzc3dvcmQpIHR1cGxlCiAgICAgICAgZm9yIHRoZSBjcmVkZW50aWFscyBhcmd1bWVudC4gVG8gc3BlY2lmeSB0aGUgdXNlIG9mIGEgc2VjdXJlCiAgICAgICAgcHJvdG9jb2wgKFRMUyksIHBhc3MgaW4gYSB0dXBsZSBmb3IgdGhlIHNlY3VyZSBhcmd1bWVudC4gVGhpcyB3aWxsCiAgICAgICAgb25seSBiZSB1c2VkIHdoZW4gYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgYXJlIHN1cHBsaWVkLiBUaGUgdHVwbGUKICAgICAgICB3aWxsIGJlIGVpdGhlciBhbiBlbXB0eSB0dXBsZSwgb3IgYSBzaW5nbGUtdmFsdWUgdHVwbGUgd2l0aCB0aGUgbmFtZQogICAgICAgIG9mIGEga2V5ZmlsZSwgb3IgYSAyLXZhbHVlIHR1cGxlIHdpdGggdGhlIG5hbWVzIG9mIHRoZSBrZXlmaWxlIGFuZAogICAgICAgIGNlcnRpZmljYXRlIGZpbGUuIChUaGlzIHR1cGxlIGlzIHBhc3NlZCB0byB0aGUgYHN0YXJ0dGxzYCBtZXRob2QpLgogICAgICAgIEEgdGltZW91dCBpbiBzZWNvbmRzIGNhbiBiZSBzcGVjaWZpZWQgZm9yIHRoZSBTTVRQIGNvbm5lY3Rpb24gKHRoZQogICAgICAgIGRlZmF1bHQgaXMgb25lIHNlY29uZCkuCiAgICAgICAgTikQcgwAAAByjwAAAHIOAAAActgAAADaBGxpc3TaBXR1cGxl2ghtYWlsaG9z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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-39.opt-1.pyc
22.70 KB
lrw-r--r--
2025-06-19 12:11:16
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-39.opt-2.pyc
18.69 KB
lrw-r--r--
2025-06-19 12:11:17
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-39.pyc
22.72 KB
lrw-r--r--
2025-06-19 12:11:16
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-39.opt-1.pyc
43.17 KB
lrw-r--r--
2025-06-19 12:11:16
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-39.opt-2.pyc
24.76 KB
lrw-r--r--
2025-06-19 12:11:17
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-39.pyc
43.17 KB
lrw-r--r--
2025-06-19 12:11:16
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-39.opt-1.pyc
64.77 KB
lrw-r--r--
2025-06-19 12:11:16
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-39.opt-2.pyc
36.27 KB
lrw-r--r--
2025-06-19 12:11:17
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-39.pyc
64.79 KB
lrw-r--r--
2025-06-19 12:11:16
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).