REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 93.81 KB
Close
//proc/self/root/opt/alt/python34/lib/python3.4/site-packages/__pycache__/pkg_resources.cpython-34.pyc
Text
Base64
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a25vdyB0aGUKICAgIHZlcnNpb24gb2YgTWFjIE9TIFggdGhhdCB3ZSBhcmUgKnJ1bm5pbmcqLiAgVG8gYWxsb3cgdXNhZ2Ugb2YgcGFja2FnZXMgdGhhdAogICAgZXhwbGljaXRseSByZXF1aXJlIGEgbmV3ZXIgdmVyc2lvbiBvZiBNYWMgT1MgWCwgd2UgbXVzdCBhbHNvIGtub3cgdGhlCiAgICBjdXJyZW50IHZlcnNpb24gb2YgdGhlIE9TLgoKICAgIElmIHRoaXMgY29uZGl0aW9uIG9jY3VycyBmb3IgYW55IG90aGVyIHBsYXRmb3JtIHdpdGggYSB2ZXJzaW9uIGluIGl0cwogICAgcGxhdGZvcm0gc3RyaW5ncywgdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgZXh0ZW5kZWQgYWNjb3JkaW5nbHkuCiAgICBO2gZkYXJ3aW56DG1hY29zeC0lcy0lc9oBLukCAAAAchwAAAApCdoSZ2V0X2J1aWxkX3BsYXRmb3Jt2hJtYWNvc1ZlcnNpb25TdHJpbmfaBW1hdGNo2gNzeXPaCHBsYXRmb3Jt2gRqb2lu2gxfbWFjb3N4X3ZlcnPaBWdyb3Vw2gpWYWx1ZUVycm9yKQLaBHBsYXTaAW1yCAAAAHIIAAAAcgkAAADaFmdldF9zdXBwb3J0ZWRfcGxhdGZvcm16AAAAcxAAAAAADQkBDwEbAQMBMwENAQgBckoAAADaB3JlcXVpcmXaCnJ1bl9zY3JpcHTaDGdldF9wcm92aWRlctoQZ2V0X2Rpc3RyaWJ1dGlvbtoQbG9hZF9lbnRyeV9wb2ludNoNZ2V0X2VudHJ5X21hcNoOZ2V0X2VudHJ5X2luZm/aEWl0ZXJfZW50cnlfcG9pbnRz2g9yZXNvdXJjZV9zdHJpbmfaD3Jlc291cmNlX3N0cmVhbdoRcmVzb3VyY2VfZmlsZW5hbWXaEHJlc291cmNlX2xpc3RkaXLaD3Jlc291cmNlX2V4aXN0c9oOcmVzb3VyY2VfaXNkaXLaEWRlY2xhcmVfbmFtZXNwYWNl2gt3b3JraW5nX3NldNoXYWRkX2FjdGl2YXRpb25fbGlzdGVuZXLaEmZpbmRfZGlzdHJpYnV0aW9uc9oTc2V0X2V4dHJhY3Rpb25fcGF0aNoRY2xlYW51cF9yZXNvdXJjZXPaEWdldF9kZWZhdWx0X2NhY2hl2gtFbnZpcm9ubWVudNoKV29ya2luZ1NldNoPUmVzb3VyY2VNYW5hZ2Vy2gxEaXN0cmlidXRpb27aC1JlcXVpcmVtZW502gpFbnRyeVBvaW502g9SZXNvbHV0aW9uRXJyb3LaD1ZlcnNpb25Db25mbGljdNoURGlzdHJpYnV0aW9uTm90Rm91bmTaDFVua25vd25FeHRyYdoPRXh0cmFjdGlvbkVycm9y2hJwYXJzZV9yZXF1aXJlbWVudHPaDXBhcnNlX3ZlcnNpb27aCXNhZmVfbmFtZdoMc2FmZV92ZXJzaW9u2gxnZXRfcGxhdGZvcm3aFGNvbXBhdGlibGVfcGxhdGZvcm1z2gt5aWVsZF9saW5lc9oOc3BsaXRfc2VjdGlvbnPaCnNhZmVfZXh0cmHaC3RvX2ZpbGVuYW1l2g5pbnZhbGlkX21hcmtlctoPZXZhbHVhdGVfbWFya2Vy2hBlbnN1cmVfZGlyZWN0b3J52g5ub3JtYWxpemVfcGF0aNoIRUdHX0RJU1TaC0JJTkFSWV9ESVNU2gtTT1VSQ0VfRElTVNoNQ0hFQ0tPVVRfRElTVNoMREVWRUxPUF9ESVNU2hFJTWV0YWRhdGFQcm92aWRlctoRSVJlc291cmNlUHJvdmlkZXLaDEZpbGVNZXRhZGF0YdoMUGF0aE1ldGFkYXRh2gtFZ2dNZXRhZGF0YdoNRW1wdHlQcm92aWRlctoOZW1wdHlfcHJvdmlkZXLaDE51bGxQcm92aWRlctoLRWdnUHJvdmlkZXLaD0RlZmF1bHRQcm92aWRlctoLWmlwUHJvdmlkZXLaD3JlZ2lzdGVyX2ZpbmRlctoacmVnaXN0ZXJfbmFtZXNwYWNlX2hhbmRsZXLaFHJlZ2lzdGVyX2xvYWRlcl90eXBl2hhmaXh1cF9uYW1lc3BhY2VfcGFja2FnZXNyAgAAANoIcnVuX21haW7aFkF2YWlsYWJsZURpc3RyaWJ1dGlvbnNjAAAAAAAAAAAAAAAAAgAAAEAAAABzIgAAAGUAAFoBAGQAAFoCAGQBAFoDAGQCAGQDAIQAAFoEAGQEAFMpBXJmAAAAei5BYnN0cmFjdCBiYXNlIGZvciBkZXBlbmRlbmN5IHJlc29sdXRpb24gZXJyb3JzYwEAAAAAAAAAAQAAAAMA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aWRlci5nZXRfbWV0YWRhdGFjAQAAAAAAAAABAAAAAQAAAEMAAABzBAAAAGQBAFMpAnrSWWllbGQgbmFtZWQgbWV0YWRhdGEgcmVzb3VyY2UgYXMgbGlzdCBvZiBub24tYmxhbmsgbm9uLWNvbW1lbnQgbGluZXMKCiAgICAgICBMZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIGlzIHN0cmlwcGVkIGZyb20gZWFjaCBsaW5lLCBhbmQgbGluZXMKICAgICAgIHdpdGggYGAjYGAgYXMgdGhlIGZpcnN0IG5vbi1ibGFuayBjaGFyYWN0ZXIgYXJlIG9taXR0ZWQuTnIIAAAAKQFyIAAAAHIIAAAAcggAAAByCQAAANoSZ2V0X21ldGFkYXRhX2xpbmVzbwEAAHMAAAAAeiRJTWV0YWRhdGFQcm92aWRlci5nZXRfbWV0YWRhdGFfbGluZXNjAQAAAAAAAAABAAAAAQAAAEMAAABzBAAAAGQBAFMpAno+SXMgdGhlIG5hbWVkIG1ldGFkYXRhIGEgZGlyZWN0b3J5PyAgKGxpa2UgYGBvcy5wYXRoLmlzZGlyKClgYClOcggAAAApAXIgAAAAcggAAAByCAAAAHIJAAAA2g5tZXRhZGF0YV9pc2RpcnUBAABzAAAAAHogSU1ldGFkYXRhUHJvdmlkZXIubWV0YWRhdGFfaXNkaXJjAQAAAAAAAAABAAAAAQAAAEMAAABzBAAAAGQBAFMpAno/TGlzdCBvZiBtZXRhZGF0YSBuYW1lcyBpbiB0aGUgZGlyZWN0b3J5IChsaWtlIGBgb3MubGlzdGRpcigpYGApTnIIAAAAKQFyIAAAAHIIAAAAcggAAAByCQAAANoQbWV0YWRhdGFfbGlzdGRpcngBAABzAAAAAHoiSU1ldGFkYXRhUHJvdmlkZXIubWV0YWRhdGFfbGlzdGRpcmMCAAAAAAAAAAIAAAABAAAAQwAAAHMEAAAAZAEAUykCej1FeGVjdXRlIHRoZSBuYW1lZCBzY3JpcHQgaW4gdGhlIHN1cHBsaWVkIG5hbWVzcGFjZSBkaWN0aW9uYXJ5TnIIAAAAKQJy0QAAANoJbmFtZXNwYWNlcggAAAByCAAAAHIJAAAAckwAAAB7AQAAcwAAAAB6HElNZXRhZGF0YVByb3ZpZGVyLnJ1bl9z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ICAgICAgb25seSBkaXN0cmlidXRpb25zIHRoYXQgYXJlIGluIHRoZSBwcm9qZWN0J3MgInBsdWdpbiBkaXJlY3RvcnkiIG9yCiAgICAgICAgZGlyZWN0b3JpZXMuIFRoZSBgZnVsbF9lbnZgLCBpZiBzdXBwbGllZCwgc2hvdWxkIGJlIGFuIGBgRW52aXJvbm1lbnRgYAogICAgICAgIGNvbnRhaW5zIGFsbCBjdXJyZW50bHktYXZhaWxhYmxlIGRpc3RyaWJ1dGlvbnMuICBJZiBgZnVsbF9lbnZgIGlzIG5vdAogICAgICAgIHN1cHBsaWVkLCBvbmUgaXMgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIGBgV29ya2luZ1NldGBgIHRoaXMKICAgICAgICBtZXRob2QgaXMgY2FsbGVkIG9uLCB3aGljaCB3aWxsIHR5cGljYWxseSBtZWFuIHRoYXQgZXZlcnkgZGlyZWN0b3J5IG9uCiAgICAgICAgYGBzeXMucGF0aGBgIHdpbGwgYmUgc2Nhbm5lZCBmb3IgZGlzdHJpYnV0aW9ucy4KCiAgICAgICAgYGluc3RhbGxlcmAgaXMgYSBzdGFuZGFyZCBpbnN0YWxsZXIgY2FsbGJhY2sgYXMgdXNlZCBieSB0aGUKICAgICAgICBgYHJlc29sdmUoKWBgIG1ldGhvZC4gVGhlIGBmYWxsYmFja2AgZmxhZyBpbmRpY2F0ZXMgd2hldGhlciB3ZSBzaG91bGQKICAgICAgICBhdHRlbXB0IHRvIHJlc29sdmUgb2xkZXIgdmVyc2lvbnMgb2YgYSBwbHVnaW4gaWYgdGhlIG5ld2VzdCB2ZXJzaW9uCiAgICAgICAgY2Fubm90IGJlIHJlc29sdmVkLgoKICAgICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgMi10dXBsZTogKGBkaXN0cmlidXRpb25zYCwgYGVycm9yX2luZm9gKSwgd2hlcmUKICAgICAgICBgZGlzdHJpYnV0aW9uc2AgaXMgYSBsaXN0IG9mIHRoZSBkaXN0cmlidXRpb25zIGZvdW5kIGluIGBwbHVnaW5fZW52YAogICAgICAgIHRoYXQgd2VyZSBsb2FkYWJsZSwgYWxvbmcgd2l0aCBhbnkgb3RoZXIgZGlzdHJpYnV0aW9ucyB0aGF0IGFyZSBuZWVkZWQKICAgICAgICB0byByZXNvbHZlIHRoZWlyIGRlcGVuZGVuY2llcy4gIGBlcnJvcl9pbmZvYCBpcyBhIGRpY3Rpb25hcnkgbWFwcGluZwogICAgICAgIHVubG9hZGFibGUgcGx1Z2luIGRpc3RyaWJ1dGlvbnMgdG8gYW4gZXhjZXB0aW9uIGluc3RhbmNlIGRlc2NyaWJpbmcgdGhlCiAgICAgICAgZXJyb3IgdGhhdCBvY2N1cnJlZC4gVXN1YWxseSB0aGlzIHdpbGwgYmUgYSBgYERpc3RyaWJ1dGlvbk5vdEZvdW5kYGAgb3IKICAgICAgICBgYFZlcnNpb25Db25mbGljdGBgIGluc3RhbmNlLgogICAgICAgIE5ylwAAACkPcvsAAADaBHNvcnRyYAAAAHLjAAAAco8AAADaA21hcHLrAAAA2g5hc19yZXF1aXJlbWVudHIGAQAAcmYAAAByQgAAANoIZXhjX2luZm9yNQAAANoEZGljdNoIZnJvbWtleXMpD3KSAAAA2gpwbHVnaW5fZW522ghmdWxsX2VudnICAQAA2ghmYWxsYmFja9oPcGx1Z2luX3Byb2plY3Rz2gplcnJvcl9pbmZv2g1kaXN0cmlidXRpb25zcgEBAADaCnNoYWRvd19zZXTaDHByb2plY3RfbmFtZXLWAAAAcu0AAADaCXJlc29sdmVlc3IuAAAAcggAAAByCAAAAHIJAAAA2gxmaW5kX3BsdWdpbnNBAgAAczYAAAAAIgwBCgIGAQYCDAEPAQ0CCgIPARYCDQIRAg8CAwEZAg0BEAEKAQYBBgIGAxYBFgMJAgwBCgJ6F1dvcmtpbmdTZXQuZmluZF9wbHVnaW5zYwEAAAAAAAAABAAAAAMAAABHAAAAczcAAAB8AABqAAB0AQB8AQCDAQCDAQB9AgB4GwB8AgBEXRMAfQMAfAAAagIAfAMAgwEAAXEcAFd8AgBTKQFhvgEAAEVuc3VyZSB0aGF0IGRpc3RyaWJ1dGlvbnMgbWF0Y2hpbmcgYHJlcXVpcmVtZW50c2AgYXJlIGFjdGl2YXRlZAoKICAgICAgICBgcmVxdWlyZW1lbnRzYCBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgKHBvc3NpYmx5LW5lc3RlZCkgc2VxdWVu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cmNoIHBhdGgKCiAgICAgICAgQW55IGRpc3RyaWJ1dGlvbnMgZm91bmQgb24gYHNlYXJjaF9wYXRoYCBhcmUgYWRkZWQgdG8gdGhlIGVudmlyb25tZW50LgogICAgICAgIGBzZWFyY2hfcGF0aGAgc2hvdWxkIGJlIGEgc2VxdWVuY2Ugb2YgYGBzeXMucGF0aGBgIGl0ZW1zLiAgSWYgbm90CiAgICAgICAgc3VwcGxpZWQsIGBgc3lzLnBhdGhgYCBpcyB1c2VkLgoKICAgICAgICBgcGxhdGZvcm1gIGlzIGFuIG9wdGlvbmFsIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBuYW1lIG9mIHRoZSBwbGF0Zm9ybQogICAgICAgIHRoYXQgcGxhdGZvcm0tc3BlY2lmaWMgZGlzdHJpYnV0aW9ucyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aC4gIElmCiAgICAgICAgdW5zcGVjaWZpZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHBsYXRmb3JtLiAgYHB5dGhvbmAgaXMgYW4KICAgICAgICBvcHRpb25hbCBzdHJpbmcgbmFtaW5nIHRoZSBkZXNpcmVkIHZlcnNpb24gb2YgUHl0aG9uIChlLmcuIGBgJzMuMydgYCk7CiAgICAgICAgaXQgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbi4KCiAgICAgICAgWW91IG1heSBleHBsaWNpdGx5IHNldCBgcGxhdGZvcm1gIChhbmQvb3IgYHB5dGhvbmApIHRvIGBgTm9uZWBgIGlmIHlvdQogICAgICAgIHdpc2ggdG8gbWFwICphbGwqIGRpc3RyaWJ1dGlvbnMsIG5vdCBqdXN0IHRob3NlIGNvbXBhdGlibGUgd2l0aCB0aGUKICAgICAgICBydW5uaW5nIHBsYXRmb3JtIG9yIFB5dGhvbiB2ZXJzaW9uLgogICAgICAgIE4pBdoIX2Rpc3RtYXBysQAAAHJDAAAA2gZweXRob27aBHNjYW4pBHKSAAAA2gtzZWFyY2hfcGF0aHJDAAAAchwBAAByCAAAAHIIAAAAcgkAAABy6QAAALwCAABzCgAAAAARCQEJAQkBCQF6FEVudmlyb25tZW50Ll9faW5pdF9fYwIAAAAAAAAAAgAA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AHNvAAAAfAAAagAAcA8AdAEAgwAAfQMAdAIAagMAagQAfAMAfAEAZAEAF3wCAIwCAH0EAHkOAHQFAHwEAIMBAAFXbhIAAQEBfAAAagYAgwAAAVluAQBYfAAAagcAfAMAgwEAAWQCAHwAAGoIAHwEADx8BABTKQNhrgIAAFJldHVybiBhYnNvbHV0ZSBsb2NhdGlvbiBpbiBjYWNoZSBmb3IgYGFyY2hpdmVfbmFtZWAgYW5kIGBuYW1lc2AKCiAgICAgICAgVGhlIHBhcmVudCBkaXJlY3Rvcnkgb2YgdGhlIHJlc3VsdGluZyBwYXRoIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzCiAgICAgICAgbm90IGFscmVhZHkgZXhpc3QuICBgYXJjaGl2ZV9uYW1lYCBzaG91bGQgYmUgdGhlIGJhc2UgZmlsZW5hbWUgb2YgdGhlCiAgICAgICAgZW5jbG9zaW5nIGVnZyAod2hpY2ggbWF5IG5vdCBiZSB0aGUgbmFtZSBvZiB0aGUgZW5jbG9zaW5nIHppcGZpbGUhKSwKICAgICAgICBpbmNsdWRpbmcgaXRzICIuZWdnIiBleHRlbnNpb24uICBgbmFtZXNgLCBpZiBwcm92aWRlZCwgc2hvdWxkIGJlIGEKICAgICAgICBzZXF1ZW5jZSBvZiBwYXRoIG5hbWUgcGFydHMgInVuZGVyIiB0aGUgZWdnJ3MgZXh0cmFjdGlvbiBsb2NhdGlvbi4KCiAgICAgICAgVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5IHJlc291cmNlIHByb3ZpZGVycyB0aGF0IG5lZWQgdG8KICAgICAgICBvYnRhaW4gYW4gZXh0cmFjdGlvbiBsb2NhdGlvbiwgYW5kIG9ubHkgZm9yIG5hbWVzIHRoZXkgaW50ZW5kIHRvCiAgICAgICAgZXh0cmFjdCwgYXMgaXQgdHJhY2tzIHRoZSBnZW5lcmF0ZWQgbmFtZXMgZm9yIHBvc3NpYmxlIGNsZWFudXAgbGF0ZXIuCiAgICAgICAgegQtdG1wcpcAAAApCXIxAQAAcl8AAAByrAAAAHKtAAAAckQAAAByHwAAAHI2AQAA2hxfd2Fybl91bnNhZmVfZXh0cmFjdGlvbl9wYXRoci8BAAApBXKSAAAA2gxhcmNoaXZlX25hbWXaBW5hbWVz2gxleHRyYWN0X3BhdGjaC3RhcmdldF9wYXRocggAAAByCAAAAHIJAAAA2g5nZXRfY2FjaGVfcGF0aJsDAABzEgAAAAANEgEcAQMBDgEDAQ8CDQINAXoeUmVzb3VyY2VNYW5hZ2VyLmdldF9jYWNoZV9wYXRoYwEAAAAAAAAAAwAAAAMAAABDAAAAc3cAAAB0AABqAQBkAQBrAgByKgB8AABqAgB0AABqAwBkAgAZgwEADHIqAGQDAFN0AABqBAB8AACDAQBqBQB9AQB8AQB0BABqBgBAc1YAfAEAdAQAagcAQHJzAGQEAHwAABZ9AgB0CABqCQB8AgB0CgCDAgABbgAAZAMAUykFYU4BAAAKICAgICAgICBJZiB0aGUgZGVmYXVsdCBleHRyYWN0aW9uIHBhdGggaXMgb3ZlcnJpZGRlbiBhbmQgc2V0IHRvIGFuIGluc2VjdXJlCiAgICAgICAgbG9jYXRpb24sIHN1Y2ggYXMgL3RtcCwgaXQgb3BlbnMgdXAgYW4gb3Bwb3J0dW5pdHkgZm9yIGFuIGF0dGFja2VyIHRvCiAgICAgICAgcmVwbGFjZSBhbiBleHRyYWN0ZWQgZmlsZSB3aXRoIGFuIHVuYXV0aG9yaXplZCBwYXlsb2FkLiBXYXJuIHRoZSB1c2VyCiAgICAgICAgaWYgYSBrbm93biBpbnNlY3VyZSBsb2NhdGlvbiBpcyB1c2VkLgoKICAgICAgICBTZWUgRGlzdHJpYnV0ZSAjMzc1IGZvciBtb3JlIGRldGFpbHMuCiAgICAgICAg2gJudNoGd2luZGlyTnrLJXMgaXMgd3JpdGFibGUgYnkgZ3JvdXAvb3RoZXJzIGFuZCB2dWxuZXJhYmxlIHRvIGF0dGFjayB3aGVuIHVzZWQgd2l0aCBnZXRfcmVzb3VyY2VfZmlsZW5hbWUuIENvbnNpZGVyIGEgbW9yZSBzZWN1cmUgbG9jYXRpb24gKHNldCB3aXRoIC5zZXRfZXh0cmFjdGlvbl9wYXRoIG9yIHRoZSBQWVRIT05fRUdHX0NBQ0hFIGVudmlyb25tZW50IHZhcmlhYmxlKS4pC3KsAAAAciAAAABywQAAANoHZW52aXJvbtoEc3RhdNoHc3RfbW9kZdoHU19JV09USNoHU19JV0dSUNoId2FybmluZ3PaBHdhcm7aC1VzZXJXYXJuaW5nKQNyrQAAAHIhAAAA2gNtc2dyCAAAAHIIAAAAcgkAAAByNwEAALQDAABzDgAAAAAKJgQEARIBGgEDBAcBeixSZXNvdXJjZU1hbmFnZXIuX3dhcm5fdW5zYWZlX2V4dHJhY3Rpb25fcGF0aGMDAAAAAAAAAAQAAAADAAAAQwAAAHNAAAAAdAAAagEAZAEAawIAcjwAdAAAagIAfAEAgwEAagMAZAIAQmQDAEB9AwB0AABqBAB8AQB8AwCDAgABbgAAZAQAUykFYTQCAABQZXJmb3JtIGFueSBwbGF0Zm9ybS1zcGVjaWZpYyBwb3N0cHJvY2Vzc2luZyBvZiBgdGVtcG5hbWVgCgogICAgICAgIFRoaXMgaXMgd2hlcmUgTWFjIGhlYWRlciByZXdyaXRlcyBzaG91bGQgYmUgZG9uZTsgb3RoZXIgcGxhdGZvcm1zIGRvbid0CiAgICAgICAgaGF2ZSBhbnl0aGluZyBzcGVjaWFsIHRoZXkgc2hvdWxkIGRvLgoKICAgICAgICBSZXNvdXJjZSBwcm92aWRlcnMgc2hvdWxkIGNhbGwgdGhpcyBtZXRob2QgT05MWSBhZnRlciBzdWNjZXNzZnVsbHkKICAgICAgICBleHRyYWN0aW5nIGEgY29tcHJlc3NlZCByZXNvdXJjZS4gIFRoZXkgbXVzdCBOT1QgY2FsbCBpdCBvbiByZXNvdXJjZXMKICAgICAgICB0aGF0IGFyZSBhbHJlYWR5IGluIHRoZSBmaWxlc3lzdGVtLgoKICAgICAgICBgdGVtcG5hbWVgIGlzIHRoZSBjdXJyZW50ICh0ZW1wb3JhcnkpIG5hbWUgb2YgdGhlIGZpbGUsIGFuZCBgZmlsZW5hbWVgCiAgICAgICAgaXMgdGhlIG5hbWUgaXQgd2lsbCBiZSByZW5hbWVkIHRvIGJ5IHRoZSBjYWxsZXIgYWZ0ZXIgdGhpcyByb3V0aW5lCiAgICAgICAgcmV0dXJucy4KICAgICAgICDaBXBvc2l4aW0BAABp/w8AAE4pBXKsAAAAciAAAAByQAEAAHJBAQAA2gVjaG1vZCkEcpIAAADaCHRlbXBuYW1lciMAAAByIQAAAHIIAAAAcggAAAByCQAAANoLcG9zdHByb2Nlc3PMAwAAcwYAAAAADw8CGgF6G1Jlc291cmNlTWFuYWdlci5wb3N0cHJvY2Vzc2MCAAAAAAAAAAIAAAACAAAAQwAAAHMlAAAAfAAAagAAchgAdAEAZAEAgwEAggEAbgAAfAEAfAAAXwIAZAIAUykDYdIDAABTZXQgdGhlIGJhc2UgcGF0aCB3aGVyZSByZXNvdXJjZXMgd2lsbCBiZSBleHRyYWN0ZWQgdG8sIGlmIG5lZWRlZC4KCiAgICAgICAgSWYgeW91IGRvIG5vdCBjYWxsIHRoaXMgcm91dGluZSBiZWZvcmUgYW55IGV4dHJhY3Rpb25zIHRha2UgcGxhY2UsIHRoZQogICAgICAgIHBhdGggZGVmYXVsdHMgdG8gdGhlIHJldHVybiB2YWx1ZSBvZiBgYGdldF9kZWZhdWx0X2NhY2hlKClgYC4gIChXaGljaAogICAgICAgIGlzIGJhc2VkIG9uIHRoZSBgYFBZVEhPTl9FR0dfQ0FDSEVgYCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgd2l0aCB2YXJpb3VzCiAgICAgICAgcGxhdGZvcm0tc3BlY2lmaWMgZmFsbGJhY2tzLiAgU2VlIHRoYXQgcm91dGluZSdzIGRvY3VtZW50YXRpb24gZm9yIG1vcmUKICAgICAgICBkZXRhaWxzLikKCiAgICAgICAgUmVzb3VyY2VzIGFyZSBleHRyYWN0ZWQgdG8gc3ViZGlyZWN0b3JpZXMgb2YgdGhpcyBwYXRoIGJhc2VkIHVwb24KICAgICAgICBpbmZvcm1hdGlvbiBnaXZlbiBieSB0aGUgYGBJUmVzb3VyY2VQcm92aWRlcmBgLiAgWW91IG1heSBzZXQgdGhpcyB0byBhCiAgICAgICAgdGVtcG9yYXJ5IGRpcmVjdG9yeSwgYnV0IHRoZW4geW91IG11c3QgY2FsbCBgYGNsZWFudXBfcmVzb3VyY2VzKClgYCB0bwogICAgICAgIGRlbGV0ZSB0aGUgZXh0cmFjdGVkIGZpbGVzIHdoZW4gZG9uZS4gIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0CiAgICAgICAgYGBjbGVhbnVwX3Jlc291cmNlcygpYGAgd2lsbCBiZSBhYmxlIHRvIHJlbW92ZSBhbGwgZXh0cmFjdGVkIGZpbGVzLgoKICAgICAgICAoTm90ZTogeW91IG1heSBub3QgY2hhbmdlIHRoZSBleHRyYWN0aW9uIHBhdGggZm9yIGEgZ2l2ZW4gcmVzb3VyY2UKICAgICAgICBtYW5hZ2VyIG9uY2UgcmVzb3VyY2VzIGhhdmUgYmVlbiBleHRyYWN0ZWQsIHVubGVzcyB5b3UgZmlyc3QgY2FsbAogICAgICAgIGBgY2xlYW51cF9yZXNvdXJjZXMoKWBgLikKICAgICAgICB6NUNhbid0IGNoYW5nZSBleHRyYWN0aW9uIHBhdGgsIGZpbGVzIGFscmVhZHkgZXh0cmFjdGVkTikDci8BAAByRwAAAHIxAQAAKQJykgAAAHKtAAAAcggAAAByCAAAAHIJAAAAcl0AAADgAwAAcwgAAAAAEwkBAwEMA3ojUmVzb3VyY2VNYW5hZ2VyLnNldF9leHRyYWN0aW9uX3BhdGhGYwIAAAAAAAAAAgAAAAEAAABDAAAAcwQAAABkAQBTKQJhQgIAAAogICAgICAgIERlbGV0ZSBhbGwgZXh0cmFjdGVkIHJlc291cmNlIGZpbGVzIGFuZCBkaXJlY3RvcmllcywgcmV0dXJuaW5nIGEgbGlzdAogICAgICAgIG9mIHRoZSBmaWxlIGFuZCBkaXJlY3RvcnkgbmFtZXMgdGhhdCBjb3VsZCBub3QgYmUgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuCiAgICAgICAgVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIGFueSBjb25jdXJyZW5jeSBwcm90ZWN0aW9uLCBzbyBpdCBzaG91bGQKICAgICAgICBnZW5lcmFsbHkgb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgZXh0cmFjdGlvbiBwYXRoIGlzIGEgdGVtcG9yYXJ5CiAgICAgICAgZGlyZWN0b3J5IGV4Y2x1c2l2ZSB0byBhIHNpbmdsZSBwcm9jZXNzLiAgVGhpcyBtZXRob2QgaXMgbm90CiAgICAgICAgYXV0b21hdGljYWxseSBjYWxsZWQ7IHlvdSBtdXN0IGNhbGwgaXQgZXhwbGljaXRseSBvciByZWdpc3RlciBpdCBhcyBhbgogICAgICAgIGBgYXRleGl0YGAgZnVuY3Rpb24gaWYgeW91IHdpc2ggdG8gZW5zdXJlIGNsZWFu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aW5nIG9uIGhvdyBudW1iZXJzIGNvbXBhcmUgcmVsYXRpdmUgdG8gc3RyaW5ncy4gIERvdHMgYXJlCiAgICBkcm9wcGVkLCBidXQgZGFzaGVzIGFyZSByZXRhaW5lZC4gIFRyYWlsaW5nIHplcm9zIGJldHdlZW4gYWxwaGEgc2VnbWVudHMKICAgIG9yIGRhc2hlcyBhcmUgc3VwcHJlc3NlZCwgc28gdGhhdCBlLmcuICIyLjQuMCIgaXMgY29uc2lkZXJlZCB0aGUgc2FtZSBhcwogICAgIjIuNCIuIEFscGhhbnVtZXJpYyBwYXJ0cyBhcmUgbG93ZXItY2FzZWQuCgogICAgVGhlIGFsZ29yaXRobSBhc3N1bWVzIHRoYXQgc3RyaW5ncyBsaWtlICItIiBhbmQgYW55IGFscGhhIHN0cmluZyB0aGF0CiAgICBhbHBoYWJldGljYWxseSBmb2xsb3dzICJmaW5hbCIgIHJlcHJlc2VudHMgYSAicGF0Y2ggbGV2ZWwiLiAgU28sICIyLjQtMSIKICAgIGlzIGFzc3VtZWQgdG8gYmUgYSBicmFuY2ggb3IgcGF0Y2ggb2YgIjIuNCIsIGFuZCB0aGVyZWZvcmUgIjIuNC4xIiBpcwogICAgY29uc2lkZXJlZCBuZXdlciB0aGFuICIyLjQtMSIsIHdoaWNoIGluIHR1cm4gaXMgbmV3ZXIgdGhhbiAiMi40Ii4KCiAgICBTdHJpbmdzIGxpa2UgImEiLCAiYiIsICJjIiwgImFscGhhIiwgImJldGEiLCAiY2FuZGlkYXRlIiBhbmQgc28gb24gKHRoYXQKICAgIGNvbWUgYmVmb3JlICJmaW5hbCIgYWxwaGFiZXRpY2FsbHkpIGFyZSBhc3N1bWVkIHRvIGJlIHByZS1yZWxlYXNlIHZlcnNpb25zLAogICAgc28gdGhhdCB0aGUgdmVyc2lvbiAiMi40IiBpcyBjb25zaWRlcmVkIG5ld2VyIHRoYW4gIjIuNGExIi4KCiAgICBGaW5hbGx5LCB0byBoYW5kbGUgbWlzY2VsbGFuZW91cyBjYXNlcywgdGhlIHN0cmluZ3MgInByZSIsICJwcmV2aWV3IiwgYW5kCiAgICAicmMiIGFyZSB0cmVhdGVkIGFzIGlmIHRoZXkgd2VyZSAiYyIsIGku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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 2
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
easy_install.cpython-34.pyc
278 B
lrw-r--r--
2023-11-13 21:21:17
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pkg_resources.cpython-34.pyc
93.81 KB
lrw-r--r--
2023-11-13 21:21:17
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).