REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 71.79 KB
Close
/proc/self/root/opt/alt/python35/lib64/python3.5/test/support/__pycache__/__init__.cpython-35.pyc
Text
Base64
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KQFkUQCEAABkUQBllACDAwBa5gBkBABh5wBkKgFkHgCEAABa6ABkKwFkLgCEAABa6QBkBABh6gBkLAFkLQGEAABa6wBkLgFkNwCEAABa7ABkLwFkHwCEAABa7QBkMAFmAABkMQFkOwCEAAFa7gBHZDIBZFMAhAAAZFMAgwIAWu8AZDMBZDQBhAAAWvAAZDUBZDYBhAAAWvEAZgAAZDcBZDgBhAEAWvIAZAQAUyhFAQAAejdTdXBwb3J0aW5nIGRlZmluaXRpb25zIGZvciB0aGUgUHl0aG9uIHJlZ3Jlc3Npb24gdGVzdHMuegx0ZXN0LnN1cHBvcnR6LnN1cHBvcnQgbXVzdCBiZSBpbXBvcnRlZCBmcm9tIHRoZSB0ZXN0IHBhY2thZ2XpAAAAAE7aDVBJUEVfTUFYX1NJWkXaB3ZlcmJvc2XaCm1heF9tZW11c2XaDXVzZV9yZXNvdXJjZXPaCGZhaWxmYXN02gVFcnJvctoKVGVzdEZhaWxlZNoOUmVzb3VyY2VEZW5pZWTaDWltcG9ydF9tb2R1bGXaE2ltcG9ydF9mcmVzaF9tb2R1bGXaC0NsZWFuSW1wb3J02gZ1bmxvYWTaBmZvcmdldNoWcmVjb3JkX29yaWdpbmFsX3N0ZG91dNoTZ2V0X29yaWdpbmFsX3N0ZG91dNoPY2FwdHVyZWRfc3Rkb3V02g5jYXB0dXJlZF9zdGRpbtoPY2FwdHVyZWRfc3RkZXJy2gZURVNURk7aCFNBVkVEQ1dE2gZ1bmxpbmvaBnJtdHJlZdoIdGVtcF9jd2TaCGZpbmRmaWxl2hFjcmVhdGVfZW1wdHlfZmlsZdoLY2FuX3N5bWxpbmvaFmZzX2lzX2Nhc2VfaW5zZW5zaXRpdmXaE2lzX3Jlc291cmNlX2VuYWJsZWTaCHJlcXVpcmVz2hhyZXF1aXJlc19mcmVlYnNkX3ZlcnNpb27aFnJlcXVpcmVzX2xpbnV4X3ZlcnNpb27aEHJlcXVpcmVzX21hY192ZXLaEmNoZWNrX3N5bnRheF9lcnJvctoRVHJhbnNpZW50UmVzb3VyY2XaCHRpbWVfb3V02hFzb2NrZXRfcGVlcl9yZXNldNoSaW9lcnJvcl9wZWVyX3Jlc2V02hJ0cmFuc2llbnRfaW50ZXJuZXTaD0Jhc2ljVGVzdFJ1bm5lctoMcnVuX3VuaXR0ZXN02gtydW5fZG9jdGVzdNoTc2tpcF91bmxlc3Nfc3ltbGlua9oNcmVxdWlyZXNfZ3ppcNoMcmVxdWlyZXNfYnoy2g1yZXF1aXJlc19sem1h2gpiaWdtZW10ZXN02hBiaWdhZGRyc3BhY2V0ZXN02gxjcHl0aG9uX29ubHnaDWdldF9hdHRyaWJ1dGXaEXJlcXVpcmVzX0lFRUVfNzU02hFza2lwX3VubGVzc194YXR0ctoNcmVxdWlyZXNfemxpYtoSYW50aWNpcGF0ZV9mYWlsdXJl2hJsb2FkX3BhY2thZ2VfdGVzdHPaE2RldGVjdF9hcGlfbWlzbWF0Y2jaHnJlcXVpcmVzX211bHRpcHJvY2Vzc2luZ19xdWV1ZdoJaXNfanl0aG9u2hFjaGVja19pbXBsX2RldGFpbNoESE9TVNoMSVBWNl9FTkFCTEVE2hBmaW5kX3VudXNlZF9wb3J02gliaW5kX3BvcnTaEG9wZW5fdXJscmVzb3VyY2XaCnRlbXBfdW1hc2vaDXJlYXBfY2hpbGRyZW7aC1Rlc3RIYW5kbGVy2g90aHJlYWRpbmdfc2V0dXDaEXRocmVhZGluZ19jbGVhbnVw2gxyZWFwX3RocmVhZHPaDXN0YXJ0X3RocmVhZHPaDmNoZWNrX3dhcm5pbmdz2hljaGVja19ub19yZXNvdXJjZV93YXJuaW5n2hNFbnZpcm9ubWVudFZhckd1YXJk2g9ydW5fd2l0aF9sb2NhbGXaCXN3YXBfaXRlbdoJc3dhcF9hdHRy2gdNYXRjaGVy2gxzZXRfbWVtbGltaXTaE1N1cHByZXNzQ3Jhc2hSZXBvcnTaCHNvcnRkaWN02gtydW5fd2l0aF90emMAAAAAAAAAAAAAAAABAAAAQAAAAHMWAAAAZQAAWgEAZAAAWgIAZAEAWgMAZAIAUykDcgcAAAB6KkJhc2UgY2xhc3MgZm9yIHJlZ3Jlc3Npb24gdGVzdCBleGNlcHRpb25zLk4pBNoIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX6kAclcAAAByVwAAAPo6L29wdC9hbHQvcHl0aG9uMzUvbGliNjQvcHl0aG9uMy41L3Rlc3Qvc3VwcG9ydC9fX2luaXRfXy5weXIHAAAAbgAAAHMCAAAADAFjAAAA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cdcAV1h8CABTV2QBAFFSWGQBAFMpAmH4AwAASW1wb3J0IGFuZCByZXR1cm4gYSBtb2R1bGUsIGRlbGliZXJhdGVseSBieXBhc3Npbmcgc3lzLm1vZHVsZXMuCgogICAgVGhpcyBmdW5jdGlvbiBpbXBvcnRzIGFuZCByZXR1cm5zIGEgZnJlc2ggY29weSBvZiB0aGUgbmFtZWQgUHl0aG9uIG1vZHVsZQogICAgYnkgcmVtb3ZpbmcgdGhlIG5hbWVkIG1vZHVsZSBmcm9tIHN5cy5tb2R1bGVzIGJlZm9yZSBkb2luZyB0aGUgaW1wb3J0LgogICAgTm90ZSB0aGF0IHVubGlrZSByZWxvYWQsIHRoZSBvcmlnaW5hbCBtb2R1bGUgaXMgbm90IGFmZmVjdGVkIGJ5CiAgICB0aGlzIG9wZXJhdGlvbi4KCiAgICAqZnJlc2gqIGlzIGFuIGl0ZXJhYmxlIG9mIGFkZGl0aW9uYWwgbW9kdWxlIG5hbWVzIHRoYXQgYXJlIGFsc28gcmVtb3ZlZAogICAgZnJvbSB0aGUgc3lzLm1vZHVsZXMgY2FjaGUgYmVmb3JlIGRvaW5nIHRoZSBpbXBvcnQuCgogICAgKmJsb2NrZWQqIGlzIGFuIGl0ZXJhYmxlIG9mIG1vZHVsZSBuYW1lcyB0aGF0IGFyZSByZXBsYWNlZCB3aXRoIE5vbmUKICAgIGluIHRoZSBtb2R1bGUgY2FjaGUgZHVyaW5nIHRoZSBpbXBvcnQgdG8gZW5zdXJlIHRoYXQgYXR0ZW1wdHMgdG8gaW1wb3J0CiAgICB0aGVtIHJhaXNlIEltcG9ydEVycm9yLgoKICAgIFRoZSBuYW1lZCBtb2R1bGUgYW5kIGFueSBtb2R1bGVzIG5hbWVkIGluIHRoZSAqZnJlc2gqIGFuZCAqYmxvY2tlZCoKICAgIHBhcmFtZXRlcnMgYXJlIHNhdmVkIGJlZm9yZSBzdGFydGluZyB0aGUgaW1wb3J0IGFuZCB0aGVuIHJlaW5zZXJ0ZWQgaW50bwogICAgc3lzLm1vZHVsZXMgd2hlbiB0aGUgZnJlc2ggaW1wb3J0IGlzIGNvbXBsZXRlLgoKICAgIE1vZHVsZSBhbmQgcGFja2FnZSBkZXByZWNhdGlvbiBtZXNzYWdlcyBhcmUgc3VwcHJl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Y2l0aW5nIGFuIHVudXNlZCBlcGhlbWVyYWwgcG9ydCBmcm9tIHRoZSBPUy4gIFRoZSB0ZW1wb3Jhcnkgc29ja2V0IGlzCiAgICB0aGVuIGNsb3NlZCBhbmQgZGVsZXRlZCwgYW5kIHRoZSBlcGhlbWVyYWwgcG9ydCBpcyByZXR1cm5lZC4KCiAgICBFaXRoZXIgdGhpcyBtZXRob2Qgb3IgYmluZF9wb3J0KCkgc2hvdWxkIGJlIHVzZWQgZm9yIGFueSB0ZXN0cyB3aGVyZSBhCiAgICBzZXJ2ZXIgc29ja2V0IG5lZWRzIHRvIGJlIGJvdW5kIHRvIGEgcGFydGljdWxhciBwb3J0IGZvciB0aGUgZHVyYXRpb24gb2YKICAgIHRoZSB0ZXN0LiAgV2hpY2ggb25lIHRvIHVzZSBkZXBlbmRzIG9uIHdoZXRoZXIgdGhlIGNhbGxpbmcgY29kZSBpcyBjcmVhdGluZwogICAgYSBweXRob24gc29ja2V0LCBvciBpZiBhbiB1bnVzZWQgcG9ydCBuZWVkcyB0byBiZSBwcm92aWRlZCBpbiBhIGNvbnN0cnVjdG9yCiAgICBvciBwYXNzZWQgdG8gYW4gZXh0ZXJuYWwgcHJvZ3JhbSAoaS5lLiB0aGUgLWFjY2VwdCBhcmd1bWVudCB0byBvcGVuc3NsJ3MKICAgIHNfc2VydmVyIG1vZGUpLiAgQWx3YXlzIHByZWZlciBiaW5kX3BvcnQoKSBvdmVyIGZpbmRfdW51c2VkX3BvcnQoKSB3aGVyZQogICAgcG9zc2libGUuICBIYXJkIGNvZGVkIHBvcnRzIHNob3VsZCAqTkVWRVIqIGJlIHVzZWQuICBBcyBzb29uIGFzIGEgc2VydmVyCiAgICBzb2NrZXQgaXMgYm91bmQgdG8gYSBoYXJkIGNvZGVkIHBvcnQsIHRoZSBhYmlsaXR5IHRvIHJ1biBtdWx0aXBsZSBpbnN0YW5jZXMKICAgIG9mIHRoZSB0ZXN0IHNpbXVsdGFuZW91c2x5IG9uIHRoZSBzYW1lIGhvc3QgaXMgY29tcHJvbWlzZWQsIHdoaWNoIG1ha2VzIHRoZQogICAgdGVzdCBhIHRpY2tpbmcgdGltZSBib21iIGluIGEgYnVpbGRib3QgZW52aXJvbm1lbnQuIE9uIFVuaXggYnVpbGRib3RzLCB0aGlzCiAgICBtYXkgc2ltcGx5IG1hbmlmZXN0IGFzIGEgZmFpbGVkIHRlc3QsIHdoaWNoIGNhbiBiZSByZWNvdmVyZWQgZnJvbSB3aXRob3V0CiAgICBpbnRlcnZlbnRpb24gaW4gbW9zdCBjYXNlcywgYnV0IG9uIFdpbmRvd3MsIHRoZSBlbnRpcmUgcHl0aG9uIHByb2Nlc3MgY2FuCiAgICBjb21wbGV0ZWx5IGFuZCB1dHRlcmx5IHdlZGdlLCByZXF1aXJpbmcgc29tZW9uZSB0byBsb2cgaW4gdG8gdGhlIGJ1aWxkYm90CiAgICBhbmQgbWFudWFsbHkga2lsbCB0aGUgYWZmZWN0ZWQgcHJvY2Vzcy4KCiAgICAoVGhpcyBpcyBlYXN5IHRvIHJlcHJvZHVjZSBvbiBXaW5kb3dzLCB1bmZvcnR1bmF0ZWx5LCBhbmQgY2FuIGJlIHRyYWNlZCB0bwogICAgdGhlIFNPX1JFVVNFQUREUiBzb2NrZXQgb3B0aW9uIGhhdmluZyBkaWZmZXJlbnQgc2VtYW50aWNzIG9uIFdpbmRvd3MgdmVyc3VzCiAgICBVbml4L0xpbnV4LiAgT24gVW5peCwgeW91IGNhbid0IGhhdmUgdHdvIEFGX0lORVQgU09DS19TVFJFQU0gc29ja2V0cyBiaW5kLAogICAgbGlzdGVuIGFuZCB0aGVuIGFjY2VwdCBjb25uZWN0aW9ucyBvbiBpZGVudGljYWwgaG9zdC9wb3J0cy4gIEFuIEVBRERSSU5VU0UKICAgIE9TRXJyb3Igd2lsbCBiZSByYWlzZWQgYXQgc29tZSBwb2ludCAoZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSBhbmQKICAgIHRoZSBvcmRlciBiaW5kIGFuZCBsaXN0ZW4gd2VyZSBjYWxsZWQgb24gZWFjaCBzb2NrZXQpLgoKICAgIEhvd2V2ZXIsIG9uIFdpbmRvd3MsIGlmIFNPX1JFVVNFQUREUiBpcyBzZXQgb24gdGhlIHNvY2tldHMsIG5vIEVBRERSSU5VU0UKICAgIHdpbGwgZXZlciBiZSByYWlzZWQgd2hlbiBhdHRlbXB0aW5nIHRvIGJpbmQgdHdvIGlkZW50aWNhbCBob3N0L3BvcnRzLiBXaGVuCiAgICBhY2NlcHQoKSBpcyBjYWxsZWQgb24gZWFjaCBzb2NrZXQsIHRoZSBzZWNvbmQgY2FsbGVyJ3MgcHJvY2VzcyB3aWxsIHN0ZWFsCiAgICB0aGUgcG9ydCBmcm9tIHRoZSBmaXJzdCBjYWxsZXIsIGxlYXZpbmcgdGhlbSBib3RoIGluIGFuIGF3a3dhcmRseSB3ZWRnZWQKICAgIHN0YXRlIHdoZXJlIHRoZXknbGwgbm8gbG9uZ2VyIHJlc3BvbmQgdG8gYW55IHNpZ25hbHMgb3IgZ3JhY2VmdWwga2lsbHMsIGFuZAogICAgbXVzdCBiZSBmb3JjaWJseSBraWxsZWQgdmlhIE9wZW5Qcm9jZXNzKCkvVGVybWluYXRlUHJvY2VzcygpLgoKICAgIFRoZSBzb2x1dGlvbiBvbiBXaW5kb3dzIGlzIHRvIHVzZSB0aGUgU09fRVhDTFVTSVZFQUREUlVTRSBzb2NrZXQgb3B0aW9uCiAgICBpbnN0ZWFkIG9mIFNPX1JFVVNFQUREUiwgd2hpY2ggZWZmZWN0aXZlbHkgYWZmb3JkcyB0aGUgc2FtZSBzZW1hbnRpY3MgYXMKICAgIFNPX1JFVVNFQUREUiBvbiBVbml4LiAgR2l2ZW4gdGhlIHByb3BlbnNpdHkgb2YgVW5peCBkZXZlbG9wZXJzIGluIHRoZSBPcGVuCiAgICBTb3VyY2Ugd29ybGQgY29tcGFyZWQgdG8gV2luZG93cyBvbmVzLCB0aGlzIGlzIGEgY29tbW9uIG1pc3Rha2UuICBBIHF1aWNrCiAgICBsb29rIG92ZXIgT3BlblNTTCdzIDAuOS44ZyBzb3VyY2Ugc2hvd3MgdGhhdCB0aGV5IHVzZSBTT19SRVVTRUFERFIgd2hlbgogICAgb3BlbnNzbC5leGUgaXMgY2FsbGVkIHdpdGggdGhlICdzX3NlcnZlcicgb3B0aW9uLCBmb3IgZXhhbXBsZS4gU2VlCiAgICBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMjU1MCBmb3IgbW9yZSBpbmZvLiAgVGhlIGZvbGxvd2luZyBzaXRlIGFsc28KICAgIGhhcyBhIHZlcnkgdGhvcm91Z2ggZGVzY3JpcHRpb24gYWJvdXQgdGhlIGltcGxpY2F0aW9ucyBvZiBib3RoIFJFVVNFQUREUgogICAgYW5kIEVYQ0xVU0lWRUFERFJVU0Ugb24gV2luZG93czoKICAgIGh0dHA6Ly9tc2RuMi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXM3NDA2MjEoVlMuODUpLmFzcHgpCgogICAgWFhYOiBhbHRob3VnaCB0aGlzIGFwcHJvYWNoIGlzIGEgdmFzdCBpbXByb3ZlbWVudCBvbiBwcmV2aW91cyBhdHRlbXB0cyB0bwogICAgZWxpY2l0IHVudXNlZCBwb3J0cywgaXQgcmVzdHMgaGVhdmlseSBvbiB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSBlcGhlbWVyYWwKICAgIHBvcnQgcmV0dXJuZWQgdG8gdXMgYnkgdGhlIE9TIHdvbid0IGltbWVkaWF0ZWx5IGJlIGRpc2hlZCBiYWNrIG91dCB0byBzb21lCiAgICBvdGhlciBwcm9jZXNzIHdoZW4gd2UgY2xvc2UgYW5kIGRlbGV0ZSBvdXIgdGVtcG9yYXJ5IHNvY2tldCBidXQgYmVmb3JlIG91cgogICAgY2FsbGluZyBjb2RlIGhhcyBhIGNoYW5jZSB0byBiaW5kIHRoZSByZXR1cm5lZCBwb3J0LiAgV2UgY2FuIGRlYWwgd2l0aCB0aGlzCiAgICBpc3N1ZSBpZi93aGVuIHdlIGNvbWUgYWNyb3NzIGl0LgogICAgKQPaBnNvY2tldHI/AAAA2gVjbG9zZSkE2gZmYW1pbHlaCHNvY2t0eXBlWgh0ZW1wc29ja9oEcG9ydHJXAAAAclcAAAByWAAAAHI+AAAAYgIAAHMKAAAAADgSAQwBCgEDAWMCAAAAAAAAAAMAAAAMAAAAQwAAAHMNAQAAfAAAagAAdAEAagIAawIAcuYAfAAAagMAdAEAagQAawIAcuYAdAUAdAEAZAEAgwIAcl0AfAAAagYAdAEAagcAdAEAaggAgwIAZAIAawIAcl0AdAkAZAMAgwEAggEAdAUAdAEAZAQAgwIAcr4AZAUAdAoAagsAawcAcr4AeS4AfAAAagYAdAEAagcAdAEAagwAgwIAZAIAawIAcqgAdAkAZAYAgwEAggEAV24SAAR0DQBrCgByvQABAQFZbgEAWHQFAHQBAGQHAIMCAHLmAHwAAGoOAHQBAGoHAHQBAGoPAGQCAIMDAAF8AABqEAB8AQBkCABmAgCDAQABfAAAahEAgwAAZAIAGX0CAHwCAFMpCWElAwAAQmluZCB0aGUgc29ja2V0IHRvIGEgZnJlZSBwb3J0IGFuZCByZXR1cm4gdGhlIHBvcnQgbnVtYmVyLiAgUmVsaWVzIG9uCiAgICBlcGhlbWVyYWwgcG9ydHMgaW4gb3JkZXIgdG8gZW5zdXJlIHdlIGFyZSB1c2luZyBhbiB1bmJvdW5kIHBvcnQuICBUaGlzIGlzCiAgICBpbXBvcnRhbnQgYXMgbWFueSB0ZXN0cyBtYXkgYmUgcnVubmluZyBzaW11bHRhbmVvdXNseSwgZXNwZWNpYWxseSBpbiBhCiAgICBidWlsZGJvdCBlbnZpcm9ubWVudC4gIFRoaXMgbWV0aG9kIHJhaXNlcyBhbiBleGNlcHRpb24gaWYgdGhlIHNvY2suZmFtaWx5CiAgICBpcyBBRl9JTkVUIGFuZCBzb2NrLnR5cGUgaXMgU09DS19TVFJFQU0sICphbmQqIHRoZSBzb2NrZXQgaGFzIFNPX1JFVVNFQUREUgogICAgb3IgU09fUkVVU0VQT1JUIHNldCBvbiBpdC4gIFRlc3RzIHNob3VsZCAqbmV2ZXIqIHNldCB0aGVzZSBzb2NrZXQgb3B0aW9ucwogICAgZm9yIFRDUC9JUCBzb2NrZXRzLiAgVGhlIG9ubHkgY2FzZSBmb3Igc2V0dGluZyB0aGVzZSBvcHRpb25zIGlzIHRlc3RpbmcKICAgIG11bHRpY2FzdGluZyB2aWEgbXVsdGlwbGUgVURQIHNvY2tldHMuCgogICAgQWRkaXRpb25hbGx5LCBpZiB0aGUgU09fRVhDTFVTSVZFQUREUlVTRSBzb2NrZXQgb3B0aW9uIGlzIGF2YWlsYWJsZSAoaS5lLgogICAgb24gV2luZG93cyksIGl0IHdpbGwgYmUgc2V0IG9uIHRoZSBzb2NrZXQuICBUaGlzIHdpbGwgcHJldmVudCBhbnlvbmUgZWxzZQogICAgZnJvbSBiaW5kKCknaW5nIHRvIG91ciBob3N0L3BvcnQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdGVzdC4KICAgINoMU09fUkVVU0VBRERScoMAAAB6SHRlc3RzIHNob3VsZCBuZXZl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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 3
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
__init__.cpython-35.opt-1.pyc
71.74 KB
lrw-r--r--
2024-05-31 13:51:50
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-35.opt-2.pyc
52.45 KB
lrw-r--r--
2024-05-31 13:51:31
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-35.pyc
71.79 KB
lrw-r--r--
2024-05-31 13:51:54
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).