REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 33.57 KB
Close
/proc/thread-self/root/opt/imunify360/venv/lib/python3.11/site-packages/jsonschema/__pycache__/validators.cpython-311.pyc
Text
Base64
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ICAgIHZhbGlkYXRvcnMgKGNvbGxlY3Rpb25zLk1hcHBpbmcpOgoKICAgICAgICAgICAgYSBtYXBwaW5nIGZyb20gbmFtZXMgdG8gY2FsbGFibGVzLCB3aGVyZSBlYWNoIGNhbGxhYmxlIHdpbGwKICAgICAgICAgICAgdmFsaWRhdGUgdGhlIHNjaGVtYSBwcm9wZXJ0eSB3aXRoIHRoZSBnaXZlbiBuYW1lLgoKICAgICAgICAgICAgRWFjaCBjYWxsYWJsZSBzaG91bGQgdGFrZSA0IGFyZ3VtZW50czoKCiAgICAgICAgICAgICAgICAxLiBhIHZhbGlkYXRvciBpbnN0YW5jZSwKICAgICAgICAgICAgICAgIDIuIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgYmVpbmcgdmFsaWRhdGVkIHdpdGhpbiB0aGUKICAgICAgICAgICAgICAgICAgIGluc3RhbmNlCiAgICAgICAgICAgICAgICAzLiB0aGUgaW5zdGFuY2UKICAgICAgICAgICAgICAgIDQuIHRoZSBzY2hlbWEKCiAgICAgICAgdmVyc2lvbiAoc3RyKToKCiAgICAgICAgICAgIGFuIGlkZW50aWZpZXIgZm9yIHRoZSB2ZXJzaW9uIHRoYXQgdGhpcyB2YWxpZGF0b3IgY2xhc3Mgd2lsbAogICAgICAgICAgICB2YWxpZGF0ZS4gSWYgcHJvdmlkZWQsIHRoZSByZXR1cm5lZCB2YWxpZGF0b3IgY2xhc3Mgd2lsbAogICAgICAgICAgICBoYXZlIGl0cyBgYF9fbmFtZV9fYGAgc2V0IHRvIGluY2x1ZGUgdGhlIHZlcnNpb24sIGFuZCBhbHNvCiAgICAgICAgICAgIHdpbGwgaGF2ZSBganNvbnNjaGVtYS52YWxpZGF0b3JzLnZhbGlkYXRlc2AgYXV0b21hdGljYWxseQogICAgICAgICAgICBjYWxsZWQgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLgoKICAgICAgICB0eXBlX2NoZWNrZXIgKGpzb25zY2hlbWEuVHlwZUNoZWNrZXIpOgoKICAgICAgICAgICAgYSB0eXBlIGNoZWNrZXIsIHVzZWQgd2hlbiBhcHBseWluZyB0aGUgOnZhbGlkYXRvcjpgdHlwZWAgdmFsaWRhdG9yLgoKICAgICAgICAgICAgSWYgdW5wcm92aWRlZCwgYSBganNvbnNjaGVtYS5UeXBlQ2hlY2tlcmAgd2lsbCBiZSBjcmVhdGVkCiAgICAgICAgICAgIHdpdGggYSBzZXQgb2YgZGVmYXVsdCB0eXBlcyB0eXBpY2FsIG9mIEpTT04gU2NoZW1hIGRyYWZ0cy4KCiAgICAgICAgZGVmYXVsdF90eXBlcyAoY29sbGVjdGlvbnMuTWFwcGluZyk6CgogICAgICAgICAgICAuLiBkZXByZWNhdGVkOjogMy4wLjAKCiAgICAgICAgICAgICAgICBQbGVhc2UgdXNlIHRoZSB0eXBlX2NoZWNrZXIgYXJndW1lbnQgaW5zdGVhZC4KCiAgICAgICAgICAgIElmIHNldCwgaXQgcHJvdmlkZXMgbWFwcGluZ3Mgb2YgSlNPTiB0eXBlcyB0byBQeXRob24gdHlwZXMKICAgICAgICAgICAgdGhhdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBmdW5jdGlvbnMgYW5kIHJlZGVmaW5lZCBpbiB0aGlzCiAgICAgICAgICAgIG9iamVjdCdzIGBqc29uc2NoZW1hLlR5cGVDaGVja2VyYC4KCiAgICAgICAgaWRfb2YgKGNvbGxlY3Rpb25zLkNhbGxhYmxlKToKCiAgICAgICAgICAgIEEgZnVuY3Rpb24gdGhhdCBnaXZlbiBhIHNjaGVtYSwgcmV0dXJucyBpdHMgSUQuCgogICAgUmV0dXJuczoKCiAgICAgICAgYSBuZXcgYGpzb25zY2hlbWEuSVZhbGlkYXRvcmAgY2xhc3MKICAgIE56O0RvIG5vdCBzcGVjaWZ5IGRlZmF1bHRfdHlwZXMgd2hlbiBwcm92aWRpbmcgYSB0eXBlIGNoZWNrZXIuVHpQVGhlIGRlZmF1bHRfdHlwZXMgYXJndW1lbnQgaXMgZGVwcmVjYXRlZC4gVXNlIHRoZSB0eXBlX2NoZWNrZXIgYXJndW1lbnQgaW5zdGVhZC5ySQAAAHJKAAAAcjoAAABGYwAAAAAAAAAAAAAAAAMAAAAAAAAA89YAAACVBpcAZQBaAWQAWgICAGUDlAWmAQAAqwEAAAAAAAAAAFoEAgBlA5QDpgEAAKsBAAAAAAAAAABaBZQEWgYCAGUHlAKm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b3Igb2YgYSBwYXJlbnQncwogICAgICAgICAgICAgICAgdmFsaWRhdG9yIGNhbGxhYmxlLCBkZWxlZ2F0ZSBhbmQgY2FsbCBpdCBkaXJlY3RseSBpbgogICAgICAgICAgICAgICAgdGhlIG5ldyB2YWxpZGF0b3IgZnVuY3Rpb24gYnkgcmV0cmlldmluZyBpdCB1c2luZwogICAgICAgICAgICAgICAgYGBPbGRWYWxpZGF0b3IuVkFMSURBVE9SU1sidmFsaWRhdG9yX25hbWUiXWBgLgoKICAgICAgICB2ZXJzaW9uIChzdHIpOgoKICAgICAgICAgICAgYSB2ZXJzaW9uIGZvciB0aGUgbmV3IHZhbGlkYXRvciBjbGFzcwoKICAgICAgICB0eXBlX2NoZWNrZXIgKGpzb25zY2hlbWEuVHlwZUNoZWNrZXIpOgoKICAgICAgICAgICAgYSB0eXBlIGNoZWNrZXIsIHVzZWQgd2hlbiBhcHBseWluZyB0aGUgOnZhbGlkYXRvcjpgdHlwZWAgdmFsaWRhdG9yLgoKICAgICAgICAgICAgSWYgdW5wcm92aWRlZCwgdGhlIHR5cGUgY2hlY2tlciBvZiB0aGUgZXh0ZW5kZWQKICAgICAgICAgICAgYGpzb25zY2hlbWEuSVZhbGlkYXRvcmAgd2lsbCBiZSBjYXJyaWVkIGFsb25nLmAKCiAgICBSZXR1cm5zOgoKICAgICAgICBhIG5ldyBganNvbnNjaGVtYS5JVmFsaWRhdG9yYCBjbGFzcyBleHRlbmRpbmcgdGhlIG9uZSBwcm92aWRlZAoKICAgIC4uIG5vdGU6OiBNZXRhIFNjaGVtYXMKCiAgICAgICAgVGhlIG5ldyB2YWxpZGF0b3IgY2xhc3Mgd2lsbCBoYXZlIGl0cyBwYXJlbnQncyBtZXRhIHNjaGVtYS4KCiAgICAgICAgSWYgeW91IHdpc2ggdG8gY2hhbmdlIG9yIGV4dGVuZCB0aGUgbWV0YSBzY2hlbWEgaW4gdGhlIG5ldwogICAgICAgIHZhbGlkYXRvciBjbGFzcywgbW9kaWZ5IGBgTUVUQV9TQ0hFTUFgYCBkaXJlY3RseSBvbiB0aGUgcmV0dXJuZWQKICAgICAgICBjbGFzcy4gTm90ZSB0aGF0IG5vIGltcGxpY2l0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VVJJIG9mIHRoZSByZWZlcnJpbmcgZG9jdW1lbnQKCiAgICAgICAgcmVmZXJyZXI6CgogICAgICAgICAgICBUaGUgYWN0dWFsIHJlZmVycmluZyBkb2N1bWVudAoKICAgICAgICBzdG9yZSAoZGljdCk6CgogICAgICAgICAgICBBIG1hcHBpbmcgZnJvbSBVUklzIHRvIGRvY3VtZW50cyB0byBjYWNoZQoKICAgICAgICBjYWNoZV9yZW1vdGUgKGJvb2wpOgoKICAgICAgICAgICAgV2hldGhlciByZW1vdGUgcmVmcyBzaG91bGQgYmUgY2FjaGVkIGFmdGVyIGZpcnN0IHJlc29sdXRpb24KCiAgICAgICAgaGFuZGxlcnMgKGRpY3QpOgoKICAgICAgICAgICAgQSBtYXBwaW5nIGZyb20gVVJJIHNjaGVtZXMgdG8gZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIHVzZWQKICAgICAgICAgICAgdG8gcmV0cmlldmUgdGhlbQoKICAgICAgICB1cmxqb2luX2NhY2hlICg6ZnVuYzpgZnVuY3Rvb2xzLmxydV9jYWNoZWApOgoKICAgICAgICAgICAgQSBjYWNoZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgY2FjaGluZyB0aGUgcmVzdWx0cyBvZiBqb2luaW5nCiAgICAgICAgICAgIHRoZSByZXNvbHV0aW9uIHNjb3BlIHRvIHN1YnNjb3Blcy4KCiAgICAgICAgcmVtb3RlX2NhY2hlICg6ZnVuYzpgZnVuY3Rvb2xzLmxydV9jYWNoZWApOgoKICAgICAgICAgICAgQSBjYWNoZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgY2FjaGluZyB0aGUgcmVzdWx0cyBvZgogICAgICAgICAgICByZXNvbHZlZCByZW1vdGUgVVJMcy4KCiAgICBBdHRyaWJ1dGVzOgoKICAgICAgICBjYWNoZV9yZW1vdGUgKGJvb2wpOgoKICAgICAgICAgICAgV2hldGhlciByZW1vdGUgcmVmcyBzaG91bGQgYmUgY2FjaGVkIGFmdGVyIGZpcnN0IHJlc29sdXRpb24KICAgIHIZAAAAVE5jCAAAAAAAAAAAAAAABgAAAAMAAADzpAEAAJcAfAaAHQIAdAEAAAAA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IHNjaGVtYSB0byB2YWxpZGF0ZSB3aXRoCgogICAgICAgIGNscyAoSVZhbGlkYXRvcik6CgogICAgICAgICAgICBUaGUgY2xhc3MgdGhhdCB3aWxsIGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIGluc3RhbmNlLgoKICAgIElmIHRoZSBgYGNsc2BgIGFyZ3VtZW50IGlzIG5vdCBwcm92aWRlZCwgdHdvIHRoaW5ncyB3aWxsIGhhcHBlbgogICAgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uLiBGaXJzdCwgaWYgdGhlIHNjaGVtYSBoYXMgYQogICAgOnZhbGlkYXRvcjpgJHNjaGVtYWAgcHJvcGVydHkgY29udGFpbmluZyBhIGtub3duIG1ldGEtc2NoZW1hIFsjXV8KICAgIHRoZW4gdGhlIHByb3BlciB2YWxpZGF0b3Igd2lsbCBiZSB1c2VkLiBUaGUgc3BlY2lmaWNhdGlvbiByZWNvbW1lbmRzCiAgICB0aGF0IGFsbCBzY2hlbWFzIGNvbnRhaW4gOnZhbGlkYXRvcjpgJHNjaGVtYWAgcHJvcGVydGllcyBmb3IgdGhpcwogICAgcmVhc29uLiBJZiBubyA6dmFsaWRhdG9yOmAkc2NoZW1hYCBwcm9wZXJ0eSBpcyBmb3VuZCwgdGhlIGRlZmF1bHQKICAgIHZhbGlkYXRvciBjbGFzcyBpcyB0aGUgbGF0ZXN0IHJlbGVhc2VkIGRyYWZ0LgoKICAgIEFueSBvdGhlciBwcm92aWRlZCBwb3NpdGlvbmFsIGFuZCBrZXl3b3JkIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZAogICAgb24gd2hlbiBpbnN0YW50aWF0aW5nIHRoZSBgYGNsc2BgLgoKICAgIFJhaXNlczoKCiAgICAgICAgYGpzb25zY2hlbWEuZXhjZXB0aW9ucy5WYWxpZGF0aW9uRXJyb3JgIGlmIHRoZSBpbnN0YW5jZQogICAgICAgICAgICBpcyBpbnZhbGlkCgogICAgICAgIGBqc29uc2NoZW1hLmV4Y2VwdGlvbnMuU2NoZW1hRXJyb3JgIGlmIHRoZSBzY2hlbWEgaXRzZWxmCiAgICAgICAgICAgIGlzIGludmFsaWQKCiAgICAuLiBy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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 12
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
cli.cpython-311.pyc
3.93 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
compat.cpython-311.pyc
2.25 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
exceptions.cpython-311.pyc
17.15 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
validators.cpython-311.pyc
33.57 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_format.cpython-311.pyc
16.55 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_legacy_validators.cpython-311.pyc
6.33 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_reflect.cpython-311.pyc
6.06 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_types.cpython-311.pyc
6.41 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_utils.cpython-311.pyc
10.19 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_validators.cpython-311.pyc
19.34 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-311.pyc
1.58 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__main__.cpython-311.pyc
310 B
lrw-r--r--
2026-02-13 12:40:40
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).