REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 50.88 KB
Close
/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-313.pyc
Text
Base64
8w0NCgAAAAAfMmJpssAAAOMAAAAAAAAAAAAAAAAIAAAAAAAAAPP0AwAAlQBTAHIAUwFTAksBcgFTAVMCSwJyAlMBUwJLA3IDUwFTAksEcgRTAVMCSwVyBVMBUwJLBnIGUwFTAksHcgdTAVMCSwhyCFMBUwJLCXIJUwFTA0sKSgtyC0oMcgxKDXINSg5yDkoPcg9KEHIQShFyEUoSchJKE3ITIAAeAFMBUwRLCkoUchQgAFMFchcYACIAUwYaAFMHXBQ1AwAAAAAAAHIYGAAiAFMIGgBTCVwUNQMAAAAAAAByGVwEUjQAAAAAAAAAAAAAAAAAAAAAAABSNwAAAAAAAAAAAAAAAAAAAAAAAFMKUws1AgAAAAAAAHIcXARSNAAAAAAAAAAAAAAAAAAAAAAAAFI3AAAAAAAAAAAAAAAAAAAAAAAAUwxTDTUCAAAAAAAAch1TDnIeUw9TEFMRLgJyH1MPUw9TElMSUxJTEy4FciBTFFMSMAFyIVwFUkQAAAAAAAAAAAAAAAAAAAAAAAAiAFMVNQEAAAAAAAByI1wFUkQAAAAAAAAAAAAAAAAAAAAAAAAiAFMWNQEAAAAAAAByJC8AUxdRAXIlUxhTGVMaXB5TG1McUx00B3ImUz1THlwnUx9cElwoXChcKDQDBQAAADQEUyAaAGoEagFyKVMfXCg0AlMhGgBqBHIqUz5TIlwnUx9cKDQEUyMaAGoEagFyK1M/UyJcJ1MkXCdTH1woNAZTJRoAagRqAXIsUz5TJFwnUx9cElwoXChcKDQDBQAAADQEUyYaAGoEagFyLVM+UyRcJ1MfXCg0BFMnGgBqBGoBci5TPlMkXCdTH1woNARTKBoAagRqAXIvUz5TJFwnUx9cKDQEUykaAGoEagFyMFMfXCg0AlMqGgBqBHIxUx9cKDQCUysaAGoEcjJTP1MiXCdTJFwnUx9cGTQGUywaAGoEagFyM1MfXA1cKFwoNAIFAAAANAJTLRoAagRyNFMfXA1cKFwoNAIFAAAANAJTLhoAagRyNVMfXA1cKFwoNAIFAAAANAJTLxoAagRyNlMfXA1cKFwoNAIFAAAANAJTMBoAagRyN1MxXChTH1woNARTMhoAagRyOFMxXChTH1woNARTMxoAagRyOVMxXChTH1woNARTNBoAagRyOlMxXChTH1woNARTNRoAagRyOx4AUwFTNks8Sj1yPSAAGAAiAFM5GgBTOjUCAAAAAAAAcj5cPiIANQAAAAAAAAByP1NAUzsaAGoEckBcQVM8OlgAAGEIAABcQCIANQAAAAAAAAAgAGcCZwIhAFwVBwBhBgAAIABcFnIUHwBHAU6cZgA9Ax8AZgEhAFwVBwBhDQAAIAAYACIAUzcaAFM4NQIAAAAAAAByPR8ATkZmAD0DHwBmASlBYfsCAAAKVGhlIGBgZGlzdHJvYGAgcGFja2FnZSAoYGBkaXN0cm9gYCBzdGFuZHMgZm9yIExpbnV4IERpc3RyaWJ1dGlvbikgcHJvdmlkZXMKaW5mb3JtYXRpb24gYWJvdXQgdGhlIExpbnV4IGRpc3RyaWJ1dGlvbiBpdCBydW5zIG9uLCBzdWNoIGFzIGEgcmVsaWFibGUKbWFjaGluZS1yZWFkYWJsZSBkaXN0cm8gSUQsIG9yIHZlcnNpb24gaW5mb3JtYXRpb24uCgpJdCBpcyB0aGUgcmVjb21tZW5kZWQgcmVwbGFjZW1lbnQgZm9yIFB5dGhvbidzIG9yaWdpbmFsCjpweTpmdW5jOmBwbGF0Zm9ybS5saW51eF9kaXN0cmlidXRpb25gIGZ1bmN0aW9uLCBidXQgaXQgcHJvdmlkZXMgbXVjaCBtb3JlCmZ1bmN0aW9uYWxpdHkuIEFuIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIGJlY2FtZSBuZWNlc3NhcnkgYmVjYXVzZSBQeXRob24KMy41IGRlcHJlY2F0ZWQgdGhpcyBmdW5jdGlvbiwgYW5kIFB5dGhvbiAzLjggcmVtb3ZlZCBpdCBhbHRvZ2V0aGVyLiBJdHMKcHJlZGVjZXNzb3IgZnVuY3Rpb24gOnB5OmZ1bmM6YHBsYXRmb3JtLmRpc3RgIHdhcyBhbHJlYWR5IGRlcHJlY2F0ZWQgc2luY2UKUHl0aG9uIDIuNiBhbmQgcmVtb3ZlZCBpbiBQeXRob24gMy44LiBTdGlsbCwgdGhlcmUgYXJlIG1hbnkgY2FzZXMgaW4gd2hpY2gKYWNjZXNzIHRvIE9TIGRpc3RyaWJ1dGlvbiBpbmZvcm1hdGlvbiBpcyBuZWVkZWQuIFNlZSBgUHl0aG9uIGlzc3VlIDEzMjIKPGh0dHBzOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTMyMj5gXyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4K6QAAAABOKQnaA0FuedoIQ2FsbGFibGXaBERpY3TaCEl0ZXJhYmxl2ghPcHRpb25hbNoIU2VxdWVuY2XaBlRleHRJT9oFVHVwbGXaBFR5cGUpAdoJVHlwZWREaWN0egUxLjguMGMAAAAAAAAAAAAAAAADAAAAAAAAAPM0AAAAlQBcAHIBUwByAlMBcgMlAFwEXAVTAicAAABcBFwFUwMnAAAAXARcBVMEJwAAAFMFcgZnBikH2gtWZXJzaW9uRGljdOk9AAAA2gVtYWpvctoFbWlub3LaDGJ1aWxkX251bWJlcqkATikH2ghfX25hbWVfX9oKX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2g9fX2ZpcnN0bGluZW5vX1/aA3N0ctoPX19hbm5vdGF0aW9uc19f2hVfX3N0YXRpY19hdHRyaWJ1dGVzX19yEwAAAPMAAAAA2osvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24zMTMtcGlwLTIzLjMuMS0zLmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24zMTMvbGliL3B5dGhvbjMuMTMvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9kaXN0cm8vZGlzdHJvLnB5cg4AAAByDgAAAD0AAABzEgAAAIcA2AsOg0rYCw6DStgSFdYEFXIbAAAAcg4AAABjAAAAAAAAAAAAAAAAAwAAAAAAAADzSAAAAJUAXAByAVMAcgJTAXIDJQBcBFwFUwInAAAAXARcBVMDJwAAAFwGXAVTBCcAAABcBFwFUwUnAAAAXARcBVMGJwAAAFMHcgdnCCkJ2ghJbmZvRGljdOlDAAAA2gJpZNoHdmVyc2lvbtoNdmVyc2lvbl9wYXJ0c9oEbGlrZdoIY29kZW5hbWVyEwAAAE4pCHIUAAAAchUAAAByFgAAAHIXAAAAchgAAAByGQAAAHIOAAAAchoAAAByEwAAAHIbAAAAchwAAAByHgAAAHIeAAAAQwAAAHMcAAAAhwDYCAuDR9gNEINM2BMe0wQe2AoNg0nYDhGGTXIbAAAAch4AAADaC1VOSVhDT05GRElSegQvZXRj2g1VTklYVVNSTElCRElSeggvdXNyL2xpYnoKb3MtcmVsZWFzZdoGb3JhY2xl2ghvcGVuc3VzZSkC2gJvbHoNb3BlbnN1c2UtbGVhcNoEcmhlbCkF2hZlbnRlcnByaXNlZW50ZXJwcmlzZWFz2hplbnRlcnByaXNlZW50ZXJwcmlzZXNlcnZlctobcmVkaGF0ZW50ZXJwcmlzZXdvcmtzdGF0aW9u2hZyZWRoYXRlbnRlcnByaXNlc2VydmVy2htyZWRoYXRlbnRlcnByaXNlY29tcHV0ZW5vZGXaBnJlZGhhdHpBKD86W14pXSpcKSguKilcKCk/ICooPzpTVEwgKT8oW1xkLitcLWEtel0qXGQpICooPzplc2FlbGVyICopPyguKyl6GyhcdyspWy1fXShyZWxlYXNlfHZlcnNpb24pJCkQegxTdVNFLXJlbGVhc2V6DGFyY2gtcmVsZWFzZXoMYmFzZS1yZWxlYXNleg5jZW50b3MtcmVsZWFzZXoOZmVkb3JhLXJlbGVhc2V6DmdlbnRvby1yZWxlYXNleg5tYWdlaWEtcmVsZWFzZXoQbWFuZHJha2UtcmVsZWFzZXoQbWFuZHJpdmEtcmVsZWFzZXoVbWFuZHJpdmFsaW51eC1yZWxlYXNleg9tYW5qYXJvLXJlbGVhc2V6Dm9yYWNsZS1yZWxlYXNleg5yZWRoYXQtcmVsZWFzZXoNcm9ja3ktcmVsZWFzZXoKc2wtcmVsZWFzZXoRc2xhY2t3YXJlLXZlcnNpb27aDmRlYmlhbl92ZXJzaW9uegtsc2ItcmVsZWFzZXoLb2VtLXJlbGVhc2V6DnN5c3RlbS1yZWxlYXNleg1wbGVzay1yZWxlYXNlehBpcmVkbWFpbC1yZWxlYXNl2hZmdWxsX2Rpc3RyaWJ1dGlvbl9uYW1l2gZyZXR1cm5jAQAAAAAAAAAAAAAABgAAAAMAAADzYAAAAJUAWwAAAAAAAAAAAFICAAAAAAAAAAAAAAAAAAAAAAAAIgBTAVsEAAAAAAAAAABTAlMDOQMgAFsGAAAAAAAAAABSCQAAAAAAAAAAAAAAAAAAAAAAAFUANQEAAAAAAAAkACkEYUEFAAAKLi4gZGVwcmVjYXRlZDo6IDEuNi4wCgogICAgOmZ1bmM6YGRpc3Ryby5saW51eF9kaXN0cmlidXRpb24oKWAgaXMgZGVwcmVjYXRlZC4gSXQgc2hvdWxkIG9ubHkgYmUKICAgIHVzZWQgYXMgYSBjb21wYXRpYmlsaXR5IHNoaW0gd2l0aCBQeXRob24ncwogICAgOnB5OmZ1bmM6YHBsYXRmb3JtLmxpbnV4X2Rpc3RyaWJ1dGlvbigpYC4gUGxlYXNlIHVzZSA6ZnVuYzpgZGlzdHJvLmlkYCwKICAgIDpmdW5jOmBkaXN0cm8udmVyc2lvbmAgYW5kIDpmdW5jOmBkaXN0cm8ubmFtZWAgaW5zdGVhZC4KClJldHVybiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBPUyBkaXN0cmlidXRpb24gYXMgYSB0dXBsZQpgYChpZF9uYW1lLCB2ZXJzaW9uLCBjb2RlbmFtZSlgYCB3aXRoIGl0ZW1zIGFzIGZvbGxvd3M6CgoqIGBgaWRfbmFtZWBgOiAgSWYgKmZ1bGxfZGlzdHJpYnV0aW9uX25hbWUqIGlzIGZhbHNlLCB0aGUgcmVzdWx0IG9mCiAgOmZ1bmM6YGRpc3Ryby5pZGAuIE90aGVyd2lzZSwgdGhlIHJlc3VsdCBvZiA6ZnVuYzpgZGlzdHJvLm5hbWVgLgoKKiBgYHZlcnNpb25gYDogIFRoZSByZXN1bHQgb2YgOmZ1bmM6YGRpc3Ryby52ZXJzaW9uYC4KCiogYGBjb2RlbmFtZWBgOiAgVGhlIGV4dHJhIGl0ZW0gKHVzdWFsbHkgaW4gcGFyZW50aGVzZXMpIGFmdGVyIHRoZQogIG9zLXJlbGVhc2UgdmVyc2lvbiBudW1iZXIsIG9yIHRoZSByZXN1bHQgb2YgOmZ1bmM6YGRpc3Ryby5jb2RlbmFtZWAuCgpUaGUgaW50ZXJmYWNlIG9mIHRoaXMgZnVuY3Rpb24gaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBvcmlnaW5hbAo6cHk6ZnVuYzpgcGxhdGZvcm0ubGludXhfZGlzdHJpYnV0aW9uYCBmdW5jdGlvbiwgc3VwcG9ydGluZyBhIHN1YnNldCBvZgppdHMgcGFyYW1ldGVycy4KClRoZSBkYXRhIGl0IHJldHVybnMgbWF5IG5vdCBleGFjdGx5IGJlIHRoZSBzYW1lLCBiZWNhdXNlIGl0IHVzZXMgbW9yZSBkYXRhCnNvdXJjZXMgdGhhbiB0aGUgb3JpZ2luYWwgZnVuY3Rpb24sIGFuZCB0aGF0IG1heSBsZWFkIHRvIGRpZmZlcmVudCBkYXRhIGlmCnRoZSBPUyBkaXN0cmlidXRpb24gaXMgbm90IGNvbnNpc3RlbnQgYWNyb3NzIG11bHRpcGxlIGRhdGEgc291cmNlcyBpdApwcm92aWRlcyAodGhlcmUgYXJlIGluZGVlZCBzdWNoIGRpc3RyaWJ1dGlvbnMgLi4uKS4KCkFub3RoZXIgcmVhc29uIGZvciBkaWZmZXJlbmNlcyBpcyB0aGUgZmFjdCB0aGF0IHRoZSA6ZnVuYzpgZGlzdHJvLmlkYAptZXRob2Qgbm9ybWFsaXplcyB0aGUgZGlzdHJvIElEIHN0cmluZyB0byBhIHJlbGlhYmxlIG1hY2hpbmUtcmVhZGFibGUgdmFsdWUKZm9yIGEgbnVtYmVyIG9mIHBvcHVsYXIgT1MgZGlzdHJpYnV0aW9ucy4KespkaXN0cm8ubGludXhfZGlzdHJpYnV0aW9uKCkgaXMgZGVwcmVjYXRlZC4gSXQgc2hvdWxkIG9ubHkgYmUgdXNlZCBhcyBhIGNvbXBhdGliaWxpdHkgc2hpbSB3aXRoIFB5dGhvbidzIHBsYXRmb3JtLmxpbnV4X2Rpc3RyaWJ1dGlvbigpLiBQbGVhc2UgdXNlIGRpc3Ryby5pZCgpLCBkaXN0cm8udmVyc2lvbigpIGFuZCBkaXN0cm8ubmFtZSgpIGluc3RlYWQu6QIAAAApAdoKc3RhY2tsZXZlbCkF2gh3YXJuaW5nc9oEd2FybtoSRGVwcmVjYXRpb25XYXJuaW5n2gdfZGlzdHJv2hJsaW51eF9kaXN0cmlidXRpb24pAXIyAAAAcwEAAAAgchwAAAByOwAAAHI7AAAAnQAAAHMzAAAAgAD0QgEABQ2HTYJN8AICCUMB9AYACRvYExTyCwYFBvQOAAwT1wsl0Qsl0CY80ws90AQ9chsAAABjAAAAAAAAAAAAAAAAAgAAAAMAAADzKgAAAJUAWwAAAAAAAAAAAFIDAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAkACkBYbYKAAAKUmV0dXJuIHRoZSBkaXN0cm8gSUQgb2YgdGhlIGN1cnJlbnQgZGlzdHJpYnV0aW9uLCBhcyBhCm1hY2hpbmUtcmVhZGFibGUgc3RyaW5nLgoKRm9yIGEgbnVtYmVyIG9mIE9TIGRpc3RyaWJ1dGlvbnMsIHRoZSByZXR1cm5lZCBkaXN0cm8gSUQgdmFsdWUgaXMKKnJlbGlhYmxlKiwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgaXMgZG9jdW1lbnRlZCBhbmQgdGhhdCBpdCBkb2VzIG5vdCBjaGFuZ2UKYWNyb3NzIHJlbGVhc2VzIG9mIHRoZSBkaXN0cmlidXRpb24uCgpUaGlzIHBhY2thZ2UgbWFpbnRhaW5zIHRoZSBmb2xsb3dpbmcgcmVsaWFibGUgZGlzdHJvIElEIHZhbHVlczoKCj09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEaXN0cm8gSUQgICAgICAgRGlzdHJpYnV0aW9uCj09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoidWJ1bnR1IiAgICAgICAgVWJ1bnR1CiJkZWJpYW4iICAgICAgICBEZWJpYW4KInJoZWwiICAgICAgICAgIFJlZEhhdCBFbnRlcnByaXNlIExpbnV4CiJjZW50b3MiICAgICAgICBDZW50T1MKImZlZG9yYSIgICAgICAgIEZlZG9yYQoic2xlcyIgICAgICAgICAgU1VTRSBMaW51eCBFbnRlcnByaXNlIFNlcnZlcgoib3BlbnN1c2UiICAgICAgb3BlblNVU0UKImFtem4iICAgICAgICAgIEFtYXpvbiBMaW51eAoiYXJjaCIgICAgICAgICAgQXJjaCBMaW51eAoiYnVpbGRyb290IiAgICAgQnVpbGRyb290CiJjbG91ZGxpbnV4IiAgICBDbG91ZExpbnV4IE9TCiJleGhlcmJvIiAgICAgICBFeGhlcmJvIExpbnV4CiJnZW50b28iICAgICAgICBHZW5Ub28gTGludXgKImlibV9wb3dlcmt2bSIgIElCTSBQb3dlcktWTQoia3ZtaWJtIiAgICAgICAgS1ZNIGZvciBJQk0geiBTeXN0ZW1zCiJsaW51eG1pbnQiICAgICBMaW51eCBNaW50CiJtYWdlaWEiICAgICAgICBNYWdlaWEKIm1hbmRyaXZhIiAgICAgIE1hbmRyaXZhIExpbnV4CiJwYXJhbGxlbHMiICAgICBQYXJhbGxlbHMKInBpZG9yYSIgICAgICAgIFBpZG9yYQoicmFzcGJpYW4iICAgICAgUmFzcGJpYW4KIm9yYWNsZSIgICAgICAgIE9yYWNsZSBMaW51eCAoYW5kIE9yYWNsZSBFbnRlcnByaXNlIExpbnV4KQoic2NpZW50aWZpYyIgICAgU2NpZW50aWZpYyBMaW51eAoic2xhY2t3YXJlIiAgICAgU2xhY2t3YXJlCiJ4ZW5zZXJ2ZXIiICAgICBYZW5TZXJ2ZXIKIm9wZW5ic2QiICAgICAgIE9wZW5CU0QKIm5ldGJzZCIgICAgICAgIE5ldEJTRAoiZnJlZWJzZCIgICAgICAgRnJlZUJTRAoibWlkbmlnaHRic2QiICAgTWlkbmlnaHRCU0QKInJvY2t5IiAgICAgICAgIFJvY2t5IExpbnV4CiJhaXgiICAgICAgICAgICBBSVgKImd1aXgiICAgICAgICAgIEd1aXggU3lzdGVtCj09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKSWYgeW91IGhhdmUgYSBuZWVkIHRvIGdldCBkaXN0cm9zIGZvciByZWxpYWJsZSBJRHMgYWRkZWQgaW50byB0aGlzIHNldCwKb3IgaWYgeW91IGZpbmQgdGhhdCB0aGUgOmZ1bmM6YGRpc3Ryby5pZGAgZnVuY3Rpb24gcmV0dXJucyBhIGRpZmZlcmVudApkaXN0cm8gSUQgZm9yIG9uZSBvZiB0aGUgbGlzdGVkIGRpc3Ryb3MsIHBsZWFzZSBjcmVhdGUgYW4gaXNzdWUgaW4gdGhlCmBkaXN0cm8gaXNzdWUgdHJhY2tlcmBfLgoKKipMb29rdXAgaGllcmFyY2h5IGFuZCB0cmFuc2Zvcm1hdGlvbnM6KioKCkZpcnN0LCB0aGUgSUQgaXMgb2J0YWluZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXMsIGluIHRoZSBzcGVjaWZpZWQKb3JkZXIuIFRoZSBmaXJzdCBhdmFpbGFibGUgYW5kIG5vbi1lbXB0eSB2YWx1ZSBpcyB1c2VkOgoKKiB0aGUgdmFsdWUgb2YgdGhlICJJRCIgYXR0cmlidXRlIG9mIHRoZSBvcy1yZWxlYXNlIGZpbGUsCgoqIHRoZSB2YWx1ZSBvZiB0aGUgIkRpc3RyaWJ1dG9yIElEIiBhdHRyaWJ1dGUgcmV0dXJuZWQgYnkgdGhlIGxzYl9yZWxlYXNlCiAgY29tbWFuZCwKCiogdGhlIGZpcnN0IHBhcnQgb2YgdGhlIGZpbGUgbmFtZSBvZiB0aGUgZGlzdHJvIHJlbGVhc2UgZmlsZSwKClRoZSBzbyBkZXRlcm1pbmVkIElEIHZhbHVlIHRoZW4gcGFzc2VzIHRoZSBmb2xsb3dpbmcgdHJhbnNmb3JtYXRpb25zLApiZWZvcmUgaXQgaXMgcmV0dXJuZWQgYnkgdGhpcyBtZXRob2Q6CgoqIGl0IGlzIHRyYW5zbGF0ZWQgdG8gbG93ZXIgY2FzZSwKCiogYmxhbmtzICh3aGljaCBzaG91bGQgbm90IGJlIHRoZXJlIGFueXdheSkgYXJlIHRyYW5zbGF0ZWQgdG8gdW5kZXJzY29yZXMsCgoqIGEgbm9ybWFsaXphdGlvbiBvZiB0aGUgSUQgaXMgcGVyZm9ybWVkLCBiYXNlZCB1cG9uCiAgYG5vcm1hbGl6YXRpb24gdGFibGVzYF8uIFRoZSBwdXJwb3NlIG9mIHRoaXMgbm9ybWFsaXphdGlvbiBpcyB0byBlbnN1cmUKICB0aGF0IHRoZSBJRCBpcyBhcyByZWxpYWJsZSBhcyBwb3NzaWJsZSwgZXZlbiBhY3Jvc3MgaW5jb21wYXRpYmxlIGNoYW5nZXMKICBpbiB0aGUgT1MgZGlzdHJpYnV0aW9ucy4gQSBjb21tb24gcmVhc29uIGZvciBhbiBpbmNvbXBhdGlibGUgY2hhbmdlIGlzCiAgdGhlIGFkZGl0aW9uIG9mIGFuIG9zLXJlbGVhc2UgZmlsZSwgb3IgdGhlIGFkZGl0aW9uIG9mIHRoZSBsc2JfcmVsZWFzZQogIGNvbW1hbmQsIHdpdGggSUQgdmFsdWVzIHRoYXQgZGlmZmVyIGZyb20gd2hhdCB3YXMgcHJldmlvdXNseSBkZXRlcm1pbmVkCiAgZnJvbSB0aGUgZGlzdHJvIHJlbGVhc2UgZmlsZSBuYW1lLgopAnI6AAAAciAAAAByEwAAAHIbAAAAchwAAAByIAAAAHIgAAAAyAAAAHMRAAAAgAD0YAIADBOPOok6izzQBBdyGwAAANoGcHJldHR5YwEAAAAAAAAAAAAAAAMAAAADAAAA8ywAAACVAFsAAAAAAAAAAABSAwAAAAAAAAAAAAAAAAAAAAAAAFUANQEAAAAAAAAkACkBYRMEAAAKUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IE9TIGRpc3RyaWJ1dGlvbiwgYXMgYSBodW1hbi1yZWFkYWJsZQpzdHJpbmcuCgpJZiAqcHJldHR5KiBpcyBmYWxzZSwgdGhlIG5hbWUgaXMgcmV0dXJuZWQgd2l0aG91dCB2ZXJzaW9uIG9yIGNvZGVuYW1lLgooZS5nLiAiQ2VudE9TIExpbnV4IikKCklmICpwcmV0dHkqIGlzIHRydWUsIHRoZSB2ZXJzaW9uIGFuZCBjb2RlbmFtZSBhcmUgYXBwZW5kZWQuCihlLmcuICJDZW50T1MgTGludXggNy4xLjE1MDMgKENvcmUpIikKCioqTG9va3VwIGhpZXJhcmNoeToqKgoKVGhlIG5hbWUgaXMgb2J0YWluZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXMsIGluIHRoZSBzcGVjaWZpZWQgb3JkZXIuClRoZSBmaXJzdCBhdmFpbGFibGUgYW5kIG5vbi1lbXB0eSB2YWx1ZSBpcyB1c2VkOgoKKiBJZiAqcHJldHR5KiBpcyBmYWxzZToKCiAgLSB0aGUgdmFsdWUgb2YgdGhlICJOQU1FIiBhdHRyaWJ1dGUgb2YgdGhlIG9zLXJlbGVhc2UgZmlsZSwKCiAgLSB0aGUgdmFsdWUgb2YgdGhlICJEaXN0cmlidXRvciBJRCIgYXR0cmlidXRlIHJldHVybmVkIGJ5IHRoZSBsc2JfcmVsZWFzZQogICAgY29tbWFuZCwKCiAgLSB0aGUgdmFsdWUgb2YgdGhlICI8bmFtZT4iIGZpZWxkIG9mIHRoZSBkaXN0cm8gcmVsZWFzZSBmaWxlLgoKKiBJZiAqcHJldHR5KiBpcyB0cnVlOgoKICAtIHRoZSB2YWx1ZSBvZiB0aGUgIlBSRVRUWV9OQU1FIiBhdHRyaWJ1dGUgb2YgdGhlIG9zLXJlbGVhc2UgZmlsZSwKCiAgLSB0aGUgdmFsdWUgb2YgdGhlICJEZXNjcmlwdGlvbiIgYXR0cmlidXRlIHJldHVybmVkIGJ5IHRoZSBsc2JfcmVsZWFzZQogICAgY29tbWFuZCwKCiAgLSB0aGUgdmFsdWUgb2YgdGhlICI8bmFtZT4iIGZpZWxkIG9mIHRoZSBkaXN0cm8gcmVsZWFzZSBmaWxlLCBhcHBlbmRlZAogICAgd2l0aCB0aGUgdmFsdWUgb2YgdGhlIHByZXR0eSB2ZXJzaW9uICgiPHZlcnNpb25faWQ+IiBhbmQgIjxjb2RlbmFtZT4iCiAgICBmaWVsZHMpIG9mIHRoZSBkaXN0cm8gcmVsZWFzZSBmaWxlLCBpZiBhdmFpbGFibGUuCikCcjoAAADaBG5hbWWpAXI9AAAAcwEAAAAgchwAAAByPwAAAHI/AAAAGwEAAHMUAAAAgAD0SAEADBOPPIk8mAbTCx/QBB9yGwAAANoEYmVzdGMCAAAAAAAAAAAAAAAEAAAAAwAAAPMsAAAAlQBbAAAAAAAAAAAAUgMAAAAAAAAAAAAAAAAAAAAAAABYATUCAAAAAAAAJAApAWHKBgAAClJldHVybiB0aGUgdmVyc2lvbiBvZiB0aGUgY3VycmVudCBPUyBkaXN0cmlidXRpb24sIGFzIGEgaHVtYW4tcmVhZGFibGUKc3RyaW5nLgoKSWYgKnByZXR0eSogaXMgZmFsc2UsIHRoZSB2ZXJzaW9uIGlzIHJldHVybmVkIHdpdGhvdXQgY29kZW5hbWUgKGUuZy4KIjcuMCIpLgoKSWYgKnByZXR0eSogaXMgdHJ1ZSwgdGhlIGNvZGVuYW1lIGluIHBhcmVudGhlc2lzIGlzIGFwcGVuZGVkLCBpZiB0aGUKY29kZW5hbWUgaXMgbm9uLWVtcHR5IChlLmcuICI3LjAgKE1haXBvKSIpLgoKU29tZSBkaXN0cmlidXRpb25zIHByb3ZpZGUgdmVyc2lvbiBudW1iZXJzIHdpdGggZGlmZmVyZW50IHByZWNpc2lvbnMgaW4KdGhlIGRpZmZlcmVudCBzb3VyY2VzIG9mIGRpc3RyaWJ1dGlvbiBpbmZvcm1hdGlvbi4gRXhhbWluaW5nIHRoZSBkaWZmZXJlbnQKc291cmNlcyBpbiBhIGZpeGVkIHByaW9yaXR5IG9yZGVyIGRvZXMgbm90IGFsd2F5cyB5aWVsZCB0aGUgbW9zdCBwcmVjaXNlCnZlcnNpb24gKGUuZy4gZm9yIERlYmlhbiA4LjIsIG9yIENlbnRPUyA3LjEpLgoKU29tZSBvdGhlciBkaXN0cmlidXRpb25zIG1heSBub3QgcHJvdmlkZSB0aGlzIGtpbmQgb2YgaW5mb3JtYXRpb24uIEluIHRoZXNlCmNhc2VzLCBhbiBlbXB0eSBzdHJpbmcgd291bGQgYmUgcmV0dXJuZWQuIFRoaXMgYmVoYXZpb3IgY2FuIGJlIG9ic2VydmVkCndpdGggcm9sbGluZyByZWxlYXNlcyBkaXN0cmlidXRpb25zIChlLmcuIEFyY2ggTGludXgpLgoKVGhlICpiZXN0KiBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgYXBwcm9hY2ggZm9yIHRoZSByZXR1cm5lZAp2ZXJzaW9uOgoKSWYgKmJlc3QqIGlzIGZhbHNlLCB0aGUgZmlyc3Qgbm9uLWVtcHR5IHZlcnNpb24gbnVtYmVyIGluIHByaW9yaXR5IG9yZGVyIG9mCnRoZSBleGFtaW5lZCBzb3VyY2VzIGlzIHJldHVybmVkLgoKSWYgKmJlc3QqIGlzIHRydWUsIHRoZSBtb3N0IHByZWNpc2UgdmVyc2lvbiBudW1iZXIgb3V0IG9mIGFsbCBleGFtaW5lZApzb3VyY2VzIGlzIHJldHVybmVkLgoKKipMb29rdXAgaGllcmFyY2h5OioqCgpJbiBhbGwgY2FzZXMsIHRoZSB2ZXJzaW9uIG51bWJlciBpcyBvYnRhaW5lZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlcy4KSWYgKmJlc3QqIGlzIGZhbHNlLCB0aGlzIG9yZGVyIHJlcHJlc2VudHMgdGhlIHByaW9yaXR5IG9yZGVyOgoKKiB0aGUgdmFsdWUgb2YgdGhlICJWRVJTSU9OX0lEIiBhdHRyaWJ1dGUgb2YgdGhlIG9zLXJlbGVhc2UgZmlsZSwKKiB0aGUgdmFsdWUgb2YgdGhlICJSZWxlYXNlIiBhdHRyaWJ1dGUgcmV0dXJuZWQgYnkgdGhlIGxzYl9yZWxlYXNlCiAgY29tbWFuZCwKKiB0aGUgdmVyc2lvbiBudW1iZXIgcGFyc2VkIGZyb20gdGhlICI8dmVyc2lvbl9pZD4iIGZpZWxkIG9mIHRoZSBmaXJzdCBsaW5lCiAgb2YgdGhlIGRpc3RybyByZWxlYXNlIGZpbGUsCiogdGhlIHZlcnNpb24gbnVtYmVyIHBhcnNlZCBmcm9tIHRoZSAiUFJFVFRZX05BTUUiIGF0dHJpYnV0ZSBvZiB0aGUKICBvcy1yZWxlYXNlIGZpbGUsIGlmIGl0IGZvbGxvd3MgdGhlIGZvcm1hdCBvZiB0aGUgZGlzdHJvIHJlbGVhc2UgZmlsZXMuCiogdGhlIHZlcnNpb24gbnVtYmVyIHBhcnNlZCBmcm9tIHRoZSAiRGVzY3JpcHRpb24iIGF0dHJpYnV0ZSByZXR1cm5lZCBieQogIHRoZSBsc2JfcmVsZWFzZSBjb21tYW5kLCBpZiBpdCBmb2xsb3dzIHRoZSBmb3JtYXQgb2YgdGhlIGRpc3RybyByZWxlYXNlCiAgZmlsZXMuCikCcjoAAAByIQAAAKkCcj0AAAByQQAAAHMCAAAAICByHAAAAHIhAAAAciEAAABCAQAAcxQAAACAAPRaAQAME48/iT+YNtMLKNAEKHIbAAAAYwEAAAAAAAAAAAAAAAMAAAADAAAA8ywAAACVAFsAAAAAAAAAAABSAwAAAAAAAAAAAAAAAAAAAAAAAFUANQEAAAAAAAAkACkBYYABAAAKUmV0dXJuIHRoZSB2ZXJzaW9uIG9mIHRoZSBjdXJyZW50IE9TIGRpc3RyaWJ1dGlvbiBhcyBhIHR1cGxlCmBgKG1ham9yLCBtaW5vciwgYnVpbGRfbnVtYmVyKWBgIHdpdGggaXRlbXMgYXMgZm9sbG93czoKCiogYGBtYWpvcmBgOiAgVGhlIHJlc3VsdCBvZiA6ZnVuYzpgZGlzdHJvLm1ham9yX3ZlcnNpb25gLgoKKiBgYG1pbm9yYGA6ICBUaGUgcmVzdWx0IG9mIDpmdW5jOmBkaXN0cm8ubWlub3JfdmVyc2lvbmAuCgoqIGBgYnVpbGRfbnVtYmVyYGA6ICBUaGUgcmVzdWx0IG9mIDpmdW5jOmBkaXN0cm8uYnVpbGRfbnVtYmVyYC4KCkZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSAqYmVzdCogcGFyYW1ldGVyLCBzZWUgdGhlIDpmdW5jOmBkaXN0cm8udmVyc2lvbmAKbWV0aG9kLgopAnI6AAAAciIAAACpAXJBAAAAcwEAAAAgchwAAAByIgAAAHIiAAAAcgEAAHMVAAAAgAD0HAAME9cLINELIKAU0wsm0AQmchsAAABjAQAAAAAAAAAAAAAAAwAAAAMAAADzLAAAAJUAWwAAAAAAAAAAAFIDAAAAAAAAAAAAAAAAAAAAAAAAVQA1AQAAAAAAACQAKQFhGQEAAApSZXR1cm4gdGhlIG1ham9yIHZlcnNpb24gb2YgdGhlIGN1cnJlbnQgT1MgZGlzdHJpYnV0aW9uLCBhcyBhIHN0cmluZywKaWYgcHJvdmlkZWQuCk90aGVyd2lzZSwgdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4gVGhlIG1ham9yIHZlcnNpb24gaXMgdGhlIGZpcnN0CnBhcnQgb2YgdGhlIGRvdC1zZXBhcmF0ZWQgdmVyc2lvbiBzdHJpbmcuCgpGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgKmJlc3QqIHBhcmFtZXRlciwgc2VlIHRoZSA6ZnVuYzpgZGlzdHJvLnZlcnNpb25gCm1ldGhvZC4KKQJyOgAAANoNbWFqb3JfdmVyc2lvbnJFAAAAcwEAAAAgchwAAAByRwAAAHJHAAAAgwEAAPMVAAAAgAD0FAAME9cLINELIKAU0wsm0AQmchsAAABjAQAAAAAAAAAAAAAAAwAAAAMAAADzLAAAAJUAWwAAAAAAAAAAAFIDAAAAAAAAAAAAAAAAAAAAAAAAVQA1AQAAAAAAACQAKQFhGgEAAApSZXR1cm4gdGhlIG1pbm9yIHZlcnNpb24gb2YgdGhlIGN1cnJlbnQgT1MgZGlzdHJpYnV0aW9uLCBhcyBhIHN0cmluZywKaWYgcHJvdmlkZWQuCk90aGVyd2lzZSwgdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4gVGhlIG1pbm9yIHZlcnNpb24gaXMgdGhlIHNlY29uZApwYXJ0IG9mIHRoZSBkb3Qtc2VwYXJhdGVkIHZlcnNpb24gc3RyaW5nLgoKRm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlICpiZXN0KiBwYXJhbWV0ZXIsIHNlZSB0aGUgOmZ1bmM6YGRpc3Ryby52ZXJzaW9uYAptZXRob2QuCikCcjoAAADaDW1pbm9yX3ZlcnNpb25yRQAAAHMBAAAAIHIcAAAAckoAAABySgAAAJABAABySAAAAHIbAAAAYwEAAAAAAAAAAAAAAAMAAAADAAAA8ywAAACVAFsAAAAAAAAAAABSAwAAAAAAAAAAAAAAAAAAAAAAAFUANQEAAAAAAAAkACkBYRcBAAAKUmV0dXJuIHRoZSBidWlsZCBudW1iZXIgb2YgdGhlIGN1cnJlbnQgT1MgZGlzdHJpYnV0aW9uLCBhcyBhIHN0cmluZywKaWYgcHJvdmlkZWQuCk90aGVyd2lzZSwgdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4gVGhlIGJ1aWxkIG51bWJlciBpcyB0aGUgdGhpcmQgcGFydApvZiB0aGUgZG90LXNlcGFyYXRlZCB2ZXJzaW9uIHN0cmluZy4KCkZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSAqYmVzdCogcGFyYW1ldGVyLCBzZWUgdGhlIDpmdW5jOmBkaXN0cm8udmVyc2lvbmAKbWV0aG9kLgopAnI6AAAAchIAAAByRQAAAHMBAAAAIHIcAAAAchIAAAByEgAAAJ0BAABzFQAAAIAA9BQADBPXCx/RCx+gBNMLJdAEJXIbAAAAYwAAAAAAAAAAAAAAAAIAAAADAAAA8yoAAACVAFsAAAAAAAAAAABSAwAAAAAAAAAAAAAAAAAAAAAAADUAAAAAAAAAJAApAWHnAQAAClJldHVybiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGRpc3RybyBJRHMgb2YgZGlzdHJpYnV0aW9ucyB0aGF0IGFyZQpjbG9zZWx5IHJlbGF0ZWQgdG8gdGhlIGN1cnJlbnQgT1MgZGlzdHJpYnV0aW9uIGluIHJlZ2FyZHMgdG8gcGFja2FnaW5nCmFuZCBwcm9ncmFtbWluZyBpbnRlcmZhY2VzLCBmb3IgZXhhbXBsZSBkaXN0cmlidXRpb25zIHRoZSBjdXJyZW50CmRpc3RyaWJ1dGlvbiBpcyBhIGRlcml2YXRpdmUgZnJvbS4KCioqTG9va3VwIGhpZXJhcmNoeToqKgoKVGhpcyBpbmZvcm1hdGlvbiBpdGVtIGlzIG9ubHkgcHJvdmlkZWQgYnkgdGhlIG9zLXJlbGVhc2UgZmlsZS4KRm9yIGRldGFpbHMsIHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlICJJRF9MSUtFIiBhdHRyaWJ1dGUgaW4gdGhlCmBvcy1yZWxlYXNlIG1hbiBwYWdlCjxodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9zeXN0ZW1kL21hbi9vcy1yZWxlYXNlLmh0bWw+YF8uCikCcjoAAAByIwAAAHITAAAAchsAAAByHAAAAHIjAAAAciMAAACqAQAAcxAAAACAAPQcAAwTjzyJPIs+0AQZchsAAABjAAAAAAAAAAAAAAAAAgAAAAMAAADzKgAAAJUAWwAAAAAAAAAAAFIDAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAkACkBYXICAAAKUmV0dXJuIHRoZSBjb2RlbmFtZSBmb3IgdGhlIHJlbGVhc2Ugb2YgdGhlIGN1cnJlbnQgT1MgZGlzdHJpYnV0aW9uLAphcyBhIHN0cmluZy4KCklmIHRoZSBkaXN0cmlidXRpb24gZG9lcyBub3QgaGF2ZSBhIGNvZGVuYW1lLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuCgpOb3RlIHRoYXQgdGhlIHJldHVybmVkIGNvZGVuYW1lIGlzIG5vdCBhbHdheXMgcmVhbGx5IGEgY29kZW5hbWUuIEZvcgpleGFtcGxlLCBvcGVuU1VTRSByZXR1cm5zICJ4ODZfNjQiLiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGhhbmRsZSBzdWNoCmNhc2VzIGluIGFueSBzcGVjaWFsIHdheSBhbmQganVzdCByZXR1cm5zIHRoZSBzdHJpbmcgaXQgZmluZHMsIGlmIGFueS4KCioqTG9va3VwIGhpZXJhcmNoeToqKgoKKiB0aGUgY29kZW5hbWUgd2l0aGluIHRoZSAiVkVSU0lPTiIgYXR0cmlidXRlIG9mIHRoZSBvcy1yZWxlYXNlIGZpbGUsIGlmCiAgcHJvdmlkZWQsCgoqIHRoZSB2YWx1ZSBvZiB0aGUgIkNvZGVuYW1lIiBhdHRyaWJ1dGUgcmV0dXJuZWQgYnkgdGhlIGxzYl9yZWxlYXNlCiAgY29tbWFuZCwKCiogdGhlIHZhbHVlIG9mIHRoZSAiPGNvZGVuYW1lPiIgZmllbGQgb2YgdGhlIGRpc3RybyByZWxlYXNlIGZpbGUuCikCcjoAAAByJAAAAHITAAAAchsAAAByHAAAAHIkAAAAciQAAAC7AQAA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IGxzYl9yZWxlYXNlIGNvbW1hbmQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgcHJvZ3JhbSBleGVjdXRpb24KICBwYXRoLCB0aGUgZGF0YSBzb3VyY2UgZm9yIHRoZSBsc2JfcmVsZWFzZSBjb21tYW5kIHdpbGwgYmUgZW1wdHkuCgoqIGBgb3NfcmVsZWFzZV9maWxlYGAgKHN0cmluZyk6IFRoZSBwYXRoIG5hbWUgb2YgdGhlCiAgYG9zLXJlbGVhc2UgZmlsZWBfIHRoYXQgaXMgdG8gYmUgdXNlZCBhcyBhIGRhdGEgc291cmNlLgoKICBBbiBlbXB0eSBzdHJpbmcgKHRoZSBkZWZhdWx0KSB3aWxsIGNhdXNlIHRoZSBkZWZhdWx0IHBhdGggbmFtZSB0bwogIGJlIHVzZWQgKHNlZSBgb3MtcmVsZWFzZSBmaWxlYF8gZm9yIGRldGFpbHMpLgoKICBJZiB0aGUgc3BlY2lmaWVkIG9yIGRlZmF1bHRlZCBvcy1yZWxlYXNlIGZpbGUgZG9lcyBub3QgZXhpc3QsIHRoZQogIGRhdGEgc291cmNlIGZvciB0aGUgb3MtcmVsZWFzZSBmaWxlIHdpbGwgYmUgZW1wdHkuCgoqIGBgZGlzdHJvX3JlbGVhc2VfZmlsZWBgIChzdHJpbmcpOiBUaGUgcGF0aCBuYW1lIG9mIHRoZQogIGBkaXN0cm8gcmVsZWFzZSBmaWxlYF8gdGhhdCBpcyB0byBiZSB1c2VkIGFzIGEgZGF0YSBzb3VyY2UuCgogIEFuIGVtcHR5IHN0cmluZyAodGhlIGRlZmF1bHQpIHdpbGwgY2F1c2UgYSBkZWZhdWx0IHNlYXJjaCBhbGdvcml0aG0KICB0byBiZSB1c2VkIChzZWUgYGRpc3RybyByZWxlYXNlIGZpbGVgXyBmb3IgZGV0YWlscykuCgogIElmIHRoZSBzcGVjaWZpZWQgZGlzdHJvIHJlbGVhc2UgZmlsZSBkb2VzIG5vdCBleGlzdCwgb3IgaWYgbm8gZGVmYXVsdAogIGRpc3RybyByZWxlYXNlIGZpbGUgY2FuIGJlIGZvdW5kLCB0aGUgZGF0YSBzb3VyY2UgZm9yIHRoZSBkaXN0cm8KICByZWxlYXNlIGZpbGUgd2lsbCBiZSBlbXB0eS4KCiogYGBpbmNsdWRlX3VuYW1lYGAgKGJvb2wpOiBDb250cm9scyB3aGV0aGVyIHVuYW1lIGNvbW1hbmQgb3V0cHV0IGlzCiAgaW5jbHVkZWQgYXMgYSBkYXRhIHNvdXJjZS4gSWYgdGhlIHVuYW1lIGNvbW1hbmQgaXMgbm90IGF2YWlsYWJsZSBpbgogIHRoZSBwcm9ncmFtIGV4ZWN1dGlvbiBwYXRoIHRoZSBkYXRhIHNvdXJjZSBmb3IgdGhlIHVuYW1lIGNvbW1hbmQgd2lsbAogIGJlIGVtcHR5LgoKKiBgYHJvb3RfZGlyYGAgKHN0cmluZyk6IFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSByb290IGRpcmVjdG9yeSB0byB1c2UKICB0byBmaW5kIGRpc3Ryby1yZWxhdGVkIGluZm9ybWF0aW9uIGZpbGVzLiBOb3RlIHRoYXQgYGBpbmNsdWRlXypgYAogIHBhcmFtZXRlcnMgbXVzdCBub3QgYmUgZW5hYmxlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGBgcm9vdF9kaXJgYC4KCiogYGBpbmNsdWRlX29zbGV2ZWxgYCAoYm9vbCk6IENvbnRyb2xzIHdoZXRoZXIgKEFJWCkgb3NsZXZlbCBjb21tYW5kCiAgb3V0cHV0IGlzIGluY2x1ZGVkIGFzIGEgZGF0YSBzb3VyY2UuIElmIHRoZSBvc2xldmVsIGNvbW1hbmQgaXMgbm90CiAgYXZhaWxhYmxlIGluIHRoZSBwcm9ncmFtIGV4ZWN1dGlvbiBwYXRoIHRoZSBkYXRhIHNvdXJjZSB3aWxsIGJlCiAgZW1wdHkuCgpQdWJsaWMgaW5zdGFuY2UgYXR0cmlidXRlczoKCiogYGBvc19yZWxlYXNlX2ZpbGVgYCAoc3RyaW5nKTogVGhlIHBhdGggbmFtZSBvZiB0aGUKICBgb3MtcmVsZWFzZSBmaWxlYF8gdGhhdCBpcyBhY3R1YWxseSB1c2VkIGFzIGEgZGF0YSBzb3VyY2UuIFRoZQogIGVtcHR5IHN0cmluZyBpZiBubyBkaXN0cm8gcmVsZWFzZSBmaWxlIGlzIHVzZWQgYXMgYSBkYXRhIHNvdXJjZS4KCiogYGBkaXN0cm9fcmVsZWFzZV9maWxlYGAgKHN0cmluZyk6IFRoZSBwYXRoIG5hbWUgb2YgdGhlCiAgYGRpc3RybyByZWxlYXNlIGZpbGVgXyB0aGF0IGlzIGFjdHVhbGx5IHVzZWQgYXMgYSBkYXRhIHNvdXJjZS4gVGhlCiAgZW1wdHkgc3RyaW5nIGlmIG5vIGRpc3RybyByZWxlYXNlIGZpbGUgaXMgdXNlZCBhcyBhIGRhdGEgc291cmNlLgoKKiBgYGluY2x1ZGVfbHNiYGAgKGJvb2wpOiBUaGUgcmVzdWx0IG9mIHRoZSBgYGluY2x1ZGVfbHNiYGAgcGFyYW1ldGVyLgogIFRoaXMgY29udHJvbHMgd2hldGhlciB0aGUgbHNiIGluZm9ybWF0aW9uIHdpbGwgYmUgbG9hZGVkLgoKKiBgYGluY2x1ZGVfdW5hbWVgYCAoYm9vbCk6IFRoZSByZXN1bHQgb2YgdGhlIGBgaW5jbHVkZV91bmFtZWBgCiAgcGFyYW1ldGVyLiBUaGlzIGNvbnRyb2xzIHdoZXRoZXIgdGhlIHVuYW1lIGluZm9ybWF0aW9uIHdpbGwKICBiZSBsb2FkZWQuCgoqIGBgaW5jbHVkZV9vc2xldmVsYGAgKGJvb2wpOiBUaGUgcmVzdWx0IG9mIHRoZSBgYGluY2x1ZGVfb3NsZXZlbGBgCiAgcGFyYW1ldGVyLiBUaGlzIGNvbnRyb2xzIHdoZXRoZXIgKEFJWCkgb3NsZXZlbCBpbmZvcm1hdGlvbiB3aWxsIGJlCiAgbG9hZGVkLgoKKiBgYHJvb3RfZGlyYGAgKHN0cmluZyk6IFRoZSByZXN1bHQgb2YgdGhlIGBgcm9vdF9kaXJgYCBwYXJhbWV0ZXIuCiAgVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHVzZSB0byBmaW5kIGRpc3Ryby1yZWxhdGVkCiAgaW5mb3JtYXRpb24gZmlsZXMuCgpSYWlzZXM6CgoqIDpweTpleGM6YFZhbHVlRXJyb3JgOiBJbml0aWFsaXphdGlvbiBwYXJhbWV0ZXJzIGNvbWJpbmF0aW9uIGlzIG5vdAogICBzdXBwb3J0ZWQuCgoqIDpweTpleGM6YE9TRXJyb3JgOiBTb21lIEkvTyBpc3N1ZSB3aXRoIGFuIG9zLXJlbGVhc2UgZmlsZSBvciBkaXN0cm8KICByZWxlYXNlIGZpbGUuCgoqIDpweTpleGM6YFVuaWNvZGVFcnJvcmA6IEEgZGF0YSBzb3VyY2UgaGFzIHVuZXhwZWN0ZWQgY2hhcmFjdGVycyBvcgogIHVzZXMgYW4gdW5leHBlY3RlZCBlbmNvZGluZy4K2gNldGN6B3Vzci9saWLaAE56Y0luY2x1ZGluZyBzdWJwcm9jZXNzIGRhdGEgc291cmNlcyBmcm9tIHNwZWNpZmljIHJvb3RfZGlyIGlzIGRpc2FsbG93ZWQgdG8gcHJldmVudCBmYWxzZSBpbmZvcm1hdGlvbikQcnoAAADaAm9z2gRwYXRo2gRqb2lu2gxfVU5JWENPTkZESVLaB2V0Y19kaXLaDl9VTklYVVNSTElCRElS2gt1c3JfbGliX2RpcnJ3AAAA2hRfT1NfUkVMRUFTRV9CQVNFTkFNRdoGaXNmaWxlcngAAADaClZhbHVlRXJyb3JydgAAAHJ5AAAAcnsAAAApCnJpAAAAcnYAAABydwAAAHJ4AAAAcnkAAAByegAAAHJ7AAAA2hdldGNfZGlyX29zX3JlbGVhc2VfZmlsZdoXdXNyX2xpYl9vc19yZWxlYXNlX2ZpbGXaE2lzX3Jvb3RfZGlyX2RlZmluZWRzCgAAACAgICAgICAgICByHAAAAHJqAAAA2hpMaW51eERpc3RyaWJ1dGlvbi5fX2luaXRfX5cCAABzRAEAAIAA8HgCABkhjA3eOECUcpd3kXeXfJF8oEioZdQXNMRsiASMDOYxOYxCj0eJR49MiUyYGKA51AwtvH7wAwAJDdQIGPYIAAwb2CMy1Qwg5CYop2ehZ6dsoWywNLc8sTzUQVXTJlbQDCPcJiinZ6Fnp2yhbNgQFNcQINEQINQiNvMDAicO0Awj9AwAEBKPd4l3j36JftAeNdcPNtEPNrxiv2e5Z79uuW7YECf3AwI/DvEAAj8O8AYAKD/VECTgJz7UECTgIzbXIzy4IogE1Agg4B4mqGTQHjLQCBveCx6mS7Y9xk/cEhzwAgERMPMDAxMO8AADDQ7wCgAcJ9EbMolL0DxP1DhP8AMACQ3UCBjwCAAeK9EdNolN0EBT1DxT8AMACQ3UCBrwCAAgL9EfOohP8AMACQ3VCBzYRFfUQFfwAwAJDdUIHHIbAAAAYwEAAAAAAAAAAAAAAAQAAAADAAAA8yAAAACVAFMBUgEAAAAAAAAAAAAAAAAAAAAAAABVAFMCOQEkACkDehdSZXR1cm4gcmVwciBvZiBhbGwgaW5mb2HRAQAATGludXhEaXN0cmlidXRpb24ob3NfcmVsZWFzZV9maWxlPXtzZWxmLm9zX3JlbGVhc2VfZmlsZSFyfSwgZGlzdHJvX3JlbGVhc2VfZmlsZT17c2VsZi5kaXN0cm9fcmVsZWFzZV9maWxlIXJ9LCBpbmNsdWRlX2xzYj17c2VsZi5pbmNsdWRlX2xzYiFyfSwgaW5jbHVkZV91bmFtZT17c2VsZi5pbmNsdWRlX3VuYW1lIXJ9LCBpbmNsdWRlX29zbGV2ZWw9e3NlbGYuaW5jbHVkZV9vc2xldmVsIXJ9LCByb290X2Rpcj17c2VsZi5yb290X2RpciFyfSwgX29zX3JlbGVhc2VfaW5mbz17c2VsZi5fb3NfcmVsZWFzZV9pbmZvIXJ9LCBfbHNiX3JlbGVhc2VfaW5mbz17c2VsZi5fbHNiX3JlbGVhc2VfaW5mbyFyfSwgX2Rpc3Ryb19yZWxlYXNlX2luZm89e3NlbGYuX2Rpc3Ryb19yZWxlYXNlX2luZm8hcn0sIF91bmFtZV9pbmZvPXtzZWxmLl91bmFtZV9pbmZvIXJ9LCBfb3NsZXZlbF9pbmZvPXtzZWxmLl9vc2xldmVsX2luZm8hcn0pqQFyaQAAACkB2gZmb3JtYXRyjgAAAHMBAAAAIHIcAAAA2ghfX3JlcHJfX9oaTGludXhEaXN0cmlidXRpb24uX19yZXByX18cAwAAcxoAAACAAPAGCw009xYANTuxRsAEsEbQNEXwGQ0JCnIbAAAAcjIAAABjAgAAAAAAAAAAAAAABQAAAAMAAADz0gAAAJUAVQEoAAAAAAAAAGEQAABVAFIBAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAABPD1UAUgMAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAFUAUgUAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAFUAUgYAAAAAAAAAAAAAAAAAAAAAAABSCQAAAAAAAAAAAAAAAAAAAAAAAFMBNQEAAAAAAAA9ASgAAAAAAAAAZBAAACAAVQBSCwAAAAAAAAAAAAAAAAAAAAAAADUAAAAAAAAANAMkACkCetAKUmV0dXJuIGluZm9ybWF0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AAAAYwEAAAAAAAAAAAAAAAEAAAADAAAA8xoAAACVAFUAUgAAAAAAAAAAAAAAAAAAAAAAAAAkACkBerkKUmV0dXJuIGEgZGljdGlvbmFyeSBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyBmb3IgdGhlIGluZm9ybWF0aW9uCml0ZW1zIGZyb20gdGhlIG9zLXJlbGVhc2UgZmlsZSBkYXRhIHNvdXJjZSBvZiB0aGUgT1MgZGlzdHJpYnV0aW9uLgoKRm9yIGRldGFpbHMsIHNlZSA6ZnVuYzpgZGlzdHJvLm9zX3JlbGVhc2VfaW5mb2AuCikBcpQAAAByjgAAAHMBAAAAIHIcAAAAclEAAADaIUxpbnV4RGlzdHJpYnV0aW9uLm9zX3JlbGVhc2VfaW5mb+4DAABzEAAAAIAA8A4AEBTXDyTRDyTQCCRyGwAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAPMaAAAAlQBVAFIAAAAAAAAAAAAAAAAAAAAAAAAAJAApAXq+ClJldHVybiBhIGRpY3Rpb25hcnkgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgZm9yIHRoZSBpbmZvcm1hdGlvbgppdGVtcyBmcm9tIHRoZSBsc2JfcmVsZWFzZSBjb21tYW5kIGRhdGEgc291cmNlIG9mIHRoZSBPUwpkaXN0cmlidXRpb24uCgpGb3IgZGV0YWlscywgc2VlIDpmdW5jOmBkaXN0cm8ubHNiX3JlbGVhc2VfaW5mb2AuCikB2hFfbHNiX3JlbGVhc2VfaW5mb3KOAAAAcwEAAAAgchwAAAByUwAAANoiTGludXhEaXN0cmlidXRpb24ubHNiX3JlbGVhc2VfaW5mb/cDAABzEAAAAIAA8BAAEBTXDyXRDyXQCCVyGwAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAPMaAAAAlQBVAFIAAAAAAAAAAAAAAAAAAAAAAAAAJAApAXrBClJldHVybiBhIGRpY3Rpb25hcnkgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgZm9yIHRoZSBpbmZvcm1hdGlvbgppdGVtcyBmcm9tIHRoZSBkaXN0cm8gcmVsZWFzZSBmaWxlIGRhdGEgc291cmNlIG9mIHRoZSBPUwpkaXN0cmlidXRpb24uCgpGb3IgZGV0YWlscywg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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
distro.cpython-313.pyc
50.88 KB
lrw-r--r--
2026-01-10 11:03:59
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-313.pyc
1008 B
lrw-r--r--
2026-01-10 11:03:59
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__main__.cpython-313.pyc
342 B
lrw-r--r--
2026-01-10 11:03:59
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).