REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 112.73 KB
Close
//lib/python2.7/site-packages/pkg_resources/__init__.pyc
Text
Base64
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AAB0BAAAAG9wZW4oAgAAAHQFAAAAaXNkaXJ0BQAAAHNwbGl0aQEAAAAoAQAAAHQKAAAAcHkzMWNvbXBhdCgBAAAAdAcAAABhcHBkaXJzKAEAAAB0CQAAAHBhY2thZ2luZ3MmAAAAcGtnX3Jlc291cmNlcy5leHRlcm4ucGFja2FnaW5nLnZlcnNpb25zKQAAAHBrZ19yZXNvdXJjZXMuZXh0ZXJuLnBhY2thZ2luZy5zcGVjaWZpZXJzcysAAABwa2dfcmVzb3VyY2VzLmV4dGVybi5wYWNrYWdpbmcucmVxdWlyZW1lbnRzcyYAAABwa2dfcmVzb3VyY2VzLmV4dGVybi5wYWNrYWdpbmcubWFya2Vyc2kDAAAAcx8AAABQeXRob24gMy4zIG9yIGxhdGVyIGlzIHJlcXVpcmVkdA0AAABQRVA0NDBXYXJuaW5nYwAAAAAAAAAAAQAAAEJAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzYQAAAAogICAgVXNlZCB3aGVuIHRoZXJlIGlzIGFuIGlzc3VlIHdpdGggYSB2ZXJzaW9uIG9yIHNwZWNpZmllciBub3QgY29tcGx5aW5nIHdpdGgKICAgIFBFUCA0NDAuCiAgICAoAwAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX190BwAAAF9fZG9jX18oAAAAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSEAAAAG4AAABzAgAAAAYEYwEAAAABAAAABQAAAENAAABzPwAAAHkUAHQAAGoBAGoCAHwAAIMBAFNXbiQABHQAAGoBAGoDAGsKAHI6AAEBAXQAAGoBAGoEAHwAAIMBAFNYZAAAUygBAAAATigFAAAAUg8AAAB0BwAAAHZlcnNpb250BwAAAFZlcnNpb250DgAAAEludmFsaWRWZXJzaW9udA0AAABMZWdhY3lWZXJzaW9uKAEAAAB0AQAAAHYoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dA0AAABwYXJzZV92ZXJzaW9udQAAAHMIAAAAAAEDARQBEwFj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AQFxdwBYbgAAfAAAUygHAAAAc1oCAABSZXR1cm4gdGhpcyBwbGF0Zm9ybSdzIG1heGltdW0gY29tcGF0aWJsZSB2ZXJzaW9uLgoKICAgIGRpc3R1dGlscy51dGlsLmdldF9wbGF0Zm9ybSgpIG5vcm1hbGx5IHJlcG9ydHMgdGhlIG1pbmltdW0gdmVyc2lvbgogICAgb2YgTWFjIE9TIFggdGhhdCB3b3VsZCBiZSByZXF1aXJlZCB0byAqdXNlKiBleHRlbnNpb25zIHByb2R1Y2VkIGJ5CiAgICBkaXN0dXRpbHMuICBCdXQgd2hhdCB3ZSB3YW50IHdoZW4gY2hlY2tpbmcgY29tcGF0aWJpbGl0eSBpcyB0byBrbm93IHRoZQogICAgdmVyc2lvbiBvZiBNYWMgT1MgWCB0aGF0IHdlIGFyZSAqcnVubmluZyouICBUbyBhbGxvdyB1c2FnZSBvZiBwYWNrYWdlcyB0aGF0CiAgICBleHBsaWNpdGx5IHJlcXVpcmUgYSBuZXdlciB2ZXJzaW9uIG9mIE1hYyBPUyBYLCB3ZSBtdXN0IGFsc28ga25vdyB0aGUKICAgIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgT1MuCgogICAgSWYgdGhpcyBjb25kaXRpb24gb2NjdXJzIGZvciBhbnkgb3RoZXIgcGxhdGZvcm0gd2l0aCBhIHZlcnNpb24gaW4gaXRzCiAgICBwbGF0Zm9ybSBzdHJpbmdzLCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBleHRlbmRlZCBhY2NvcmRpbmdseS4KICAgIHQGAAAAZGFyd2lucwwAAABtYWNvc3gtJXMtJXN0AQAAAC5pAgAAAGkDAAAATigKAAAAdBIAAABnZXRfYnVpbGRfcGxhdGZvcm10EgAAAG1hY29zVmVyc2lvblN0cmluZ3QFAAAAbWF0Y2hSMwAAAHQDAAAAc3lzdAgAAABwbGF0Zm9ybXQEAAAAam9pbnQMAAAAX21hY29zeF92ZXJzdAUAAABncm91cHQKAAAAVmFsdWVFcnJvcigCAAAAdAQAAABwbGF0dAEAAABtKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQWAAAAZ2V0X3N1cHBvcnRlZF9wbGF0Zm9ybacAAABzEAAAAAANCQEPARsBAwEtAQ0CBwF0BwAAAHJlcXVpcmV0CgAAAHJ1bl9zY3JpcHR0DAAAAGdldF9wcm92aWRlcnQQAAAAZ2V0X2Rpc3RyaWJ1dGlvbnQQAAAAbG9hZF9lbnRyeV9wb2ludHQNAAAAZ2V0X2VudHJ5X21hcHQOAAAAZ2V0X2VudHJ5X2luZm90EQAAAGl0ZXJfZW50cnlfcG9pbnRzdA8AAAByZXNvdXJjZV9zdHJpbmd0DwAAAHJlc291cmNlX3N0cmVhbXQRAAAAcmVzb3VyY2VfZmlsZW5hbWV0EAAAAHJlc291cmNlX2xpc3RkaXJ0DwAAAHJlc291cmNlX2V4aXN0c3QOAAAAcmVzb3VyY2VfaXNkaXJ0EQAAAGRlY2xhcmVfbmFtZXNwYWNldAsAAAB3b3JraW5nX3NldHQXAAAAYWRkX2FjdGl2YXRpb25fbGlzdGVuZXJ0EgAAAGZpbmRfZGlzdHJpYnV0aW9uc3QTAAAAc2V0X2V4dHJhY3Rpb25fcGF0aHQRAAAAY2xlYW51cF9yZXNvdXJjZXN0EQAAAGdldF9kZWZhdWx0X2NhY2hldAsAAABFbnZpcm9ubWVudHQKAAAAV29ya2luZ1NldHQPAAAAUmVzb3VyY2VNYW5hZ2VydAwAAABEaXN0cmlidXRpb250CwAAAFJlcXVpcmVtZW50dAoAAABFbnRyeVBvaW50dA8AAABSZXNvbHV0aW9uRXJyb3J0DwAAAFZlcnNpb25Db25mbGljdHQUAAAARGlzdHJpYnV0aW9uTm90Rm91bmR0DAAAAFVua25vd25FeHRyYXQPAAAARXh0cmFjdGlvbkVycm9ydBIAAABwYXJzZV9yZXF1aXJlbWVudHNSGQAAAHQJAAAAc2FmZV9uYW1ldAwAAABzYWZlX3ZlcnNpb250DAAAAGdldF9wbGF0Zm9ybXQUAAAAY29tcGF0aWJsZV9wbGF0Zm9ybXN0CwAAAHlpZWxkX2xpbmVzdA4AAABzcGxpdF9zZWN0aW9uc3QKAAAAc2FmZV9leHRyYXQLAAAAdG9fZmlsZW5hbWV0DgAAAGludmFsaWRfbWFya2VydA8AAABldmFsdWF0ZV9tYXJrZXJ0EAAAAGVuc3VyZV9kaXJlY3Rvcnl0DgAAAG5vcm1hbGl6ZV9wYXRodAgAAABFR0dfRElTVHQLAAAAQklOQVJZX0RJU1R0CwAAAFNPVVJDRV9ESVNUdA0AAABDSEVDS09VVF9ESVNUdAwAAABERVZFTE9QX0RJU1R0EQAAAElNZXRhZGF0YVByb3ZpZGVydBEAAABJUmVzb3VyY2VQcm92aWRlcnQMAAAARmlsZU1ldGFkYXRhdAwAAABQYXRoTWV0YWRhdGF0CwAAAEVnZ01ldGFkYXRhdA0AAABFbXB0eVByb3ZpZGVydA4AAABlbXB0eV9wcm92aWRlcnQMAAAATnVsbFByb3ZpZGVydAsAAABFZ2dQcm92aWRlcnQPAAAARGVmYXVsdFByb3ZpZGVydAsAAABaaXBQcm92aWRlcnQPAAAAcmVnaXN0ZXJfZmluZGVydBoAAAByZWdpc3Rlcl9uYW1lc3BhY2VfaGFuZGxlcnQUAAAAcmVnaXN0ZXJfbG9hZGVyX3R5cGV0GAAAAGZpeHVwX25hbWVzcGFjZV9wYWNrYWdlc1IBAAAAdAgAAABydW5fbWFpbnQWAAAAQXZhaWxhYmxlRGlzdHJpYnV0aW9uc2MAAAAAAAAAAAEAAABCQAAAcxcAAABlAABaAQBkAABaAgBkAQCEAABaAwBSUygCAAAAcy4AAABBYnN0cmFjdCBiYXNlIGZvciBkZXBlbmRlbmN5IHJlc29sdXRpb24gZXJyb3JzYwEAAAABAAAAAwAAAENAAABzFwAAAHwAAGoAAGoBAHQCAHwAAGoDAIMBABdTKAEAAABOKAQAAAB0CQAAAF9fY2xhc3NfX1IRAAAAdAQAAAByZXByUjQAAAAoAQAAAHQEAAAAc2VsZigAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CAAAAF9fcmVwcl9f8QAAAHMCAAAAAAEoBAAAAFIRAAAAUhIAAABSEwAAAFKLAAAAKAAAAAAoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UmAAAADuAAAAcwQAAAAGAQYCYwAAAAAAAAAAAgAAAEJAAABzRAAAAGUA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ZWQgbWV0YWRhdGEgcmVzb3VyY2UgYXMgbGlzdCBvZiBub24tYmxhbmsgbm9uLWNvbW1lbnQgbGluZXMKCiAgICAgICBMZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIGlzIHN0cmlwcGVkIGZyb20gZWFjaCBsaW5lLCBhbmQgbGluZXMKICAgICAgIHdpdGggYGAjYGAgYXMgdGhlIGZpcnN0IG5vbi1ibGFuayBjaGFyYWN0ZXIgYXJlIG9taXR0ZWQuTigAAAAAKAEAAABS0gAAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0EgAAAGdldF9tZXRhZGF0YV9saW5lc/QBAABSNgAAAGMBAAAAAQAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzPgAAAElzIHRoZSBuYW1lZCBtZXRhZGF0YSBhIGRpcmVjdG9yeT8gIChsaWtlIGBgb3MucGF0aC5pc2RpcigpYGApTigAAAAAKAEAAABS0gAAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DgAAAG1ldGFkYXRhX2lzZGly+gEAAFI2AAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHM/AAAATGlzdCBvZiBtZXRhZGF0YSBuYW1lcyBpbiB0aGUgZGlyZWN0b3J5IChsaWtlIGBgb3MubGlzdGRpcigpYGApTigAAAAAKAEAAABS0gAAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0EAAAAG1ldGFkYXRhX2xpc3RkaXL9AQAAUjYAAABjAgAAAAIAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAAcz0AAABFeGVjdXRlIHRoZSBuYW1lZCBzY3JpcHQgaW4gdGhlIHN1cHBsaWVkIG5hbWVzcGFjZSBkaWN0aW9uYXJ5TigAAAAAKAIAAABS0AAAAHQJAAAAbmFtZXNwYWNlKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJGAAAAAAIAAFI2AAAAKAgAAABSEQAAAFISAAAAUtYAAABS1wAAAFLYAAAAUtkAAABS2gAAAFJGAAAAKAAAAAAoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UncAAADtAQAAcwwAAAAGAQkDCQMJBgkDCQNjAAAAAAAAAAABAAAAQkAAAHNEAAAAZQAAWgEAZAAAWgIAZAEAhAAAWgMAZAIAhAAAWgQAZAMAhAAAWgUAZAQAhAAAWgYAZAUAhAAAWgcAZAYAhAAAWggAUlMoBwAAAHMzAAAAQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgYWNjZXNzIHRvIHBhY2thZ2UgcmVzb3VyY2VzYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHNkAAAAUmV0dXJuIGEgdHJ1ZSBmaWxlc3lzdGVtIHBhdGggZm9yIGByZXNvdXJjZV9uYW1lYAoKICAgICAgICBgbWFuYWdlcmAgbXVzdCBiZSBhbiBgYElSZXNvdXJjZU1hbmFnZXJgYE4oAAAAACgCAAAAdAcAAABtYW5hZ2VydA0AAAByZXNvdXJjZV9uYW1lKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQVAAAAZ2V0X3Jlc291cmNlX2ZpbGVuYW1lBwIAAFI2AAAAYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHNpAAAAUmV0dXJuIGEgcmVhZGFibGUgZmlsZS1saWtlIG9iamVjdCBmb3IgYHJlc291cmNlX25hbWVgCgogICAgICAgIGBtYW5hZ2VyYCBtdXN0IGJlIGFuIGBgSVJlc291cmNlTWFuYWdlcmBgTigAAAAAKAIAAABS3AAAAFLdAAAAKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQTAAAAZ2V0X3Jlc291cmNlX3N0cmVhbQwCAABSNgAAAGMCAAAAAgAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzbQAAAFJldHVybiBhIHN0cmluZyBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiBgcmVzb3VyY2VfbmFtZWAKCiAgICAgICAgYG1hbmFnZXJgIG11c3QgYmUgYW4gYGBJUmVzb3VyY2VNYW5hZ2VyYGBOKAAAAAAoAgAAAFLcAAAAUt0AAAAoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dBMAAABnZXRfcmVzb3VyY2Vfc3RyaW5nEQIAAFI2AAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHMsAAAARG9lcyB0aGUgcGFja2FnZSBjb250YWluIHRoZSBuYW1lZCByZXNvdXJjZT9OKAAAAAAoAQAAAFLdAAAAKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQMAAAAaGFzX3Jlc291cmNlFgIAAFI2AAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHM+AAAASXMgdGhlIG5hbWVkIHJlc291cmNlIGEgZGlyZWN0b3J5PyAgKGxpa2UgYGBvcy5wYXRoLmlzZGlyKClgYClOKAAAAAAoAQAAAFLdAAAAKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJSAAAAGQIAAFI2AAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHM/AAAATGlzdCBvZiByZXNvdXJjZSBuYW1lcyBpbiB0aGUgZGlyZWN0b3J5IChsaWtlIGBgb3MubGlzdGRpcigpYGApTigAAAAAKAEAAABS3QAAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSUAAAABwCAABSNgAAACgJAAAAUhEA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AHwCAGoOAHwLAHwNAHwDAGQEAHwEAIMDAQR9DAB8BwB8CwBqCAA8fAwAZAEAawgAcnoBfAoAagcAfAsAZAEAgwIAfQ4AdA8AfAsAfA4AgwIAggEAcXoBbgAAfAgAahAAfAwAgwEAAW4AAHwMAHwLAGsHAHK7AXwKAHwLABl9DwB0EQB8DAB8CwCDAgBqEgB8DwCDAQCCAQBuAAB8DABqEwB8CwBqFACDAQBkAQBkAQBkAgCFAwAZfRAAfAEAahUAfBAAgwEAAXgvAHwQAERdJwB9EQB8CgB8EQAZahYAfAsAahcAgwEAAXwLAGoUAHwJAHwRADxx7gFXdBgAfAYAfAsAPHFGAFd8CABTKAUAAABzzgQAAExpc3QgYWxsIGRpc3RyaWJ1dGlvbnMgbmVlZGVkIHRvIChyZWN1cnNpdmVseSkgbWVldCBgcmVxdWlyZW1lbnRzYAoKICAgICAgICBgcmVxdWlyZW1lbnRzYCBtdXN0IGJlIGEgc2VxdWVuY2Ugb2YgYGBSZXF1aXJlbWVudGBgIG9iamVjdHMuICBgZW52YCwKICAgICAgICBpZiBzdXBwbGllZCwgc2hvdWxkIGJlIGFuIGBgRW52aXJvbm1lbnRgYCBpbnN0YW5jZS4gIElmCiAgICAgICAgbm90IHN1cHBsaWVkLCBpdCBkZWZhdWx0cyB0byBhbGwgZGlzdHJpYnV0aW9ucyBhdmFpbGFibGUgd2l0aGluIGFueQogICAgICAgIGVudHJ5IG9yIGRpc3RyaWJ1dGlvbiBpbiB0aGUgd29ya2luZyBzZXQuICBgaW5zdGFsbGVyYCwgaWYgc3VwcGxpZWQsCiAgICAgICAgd2lsbCBiZSBpbnZva2VkIHdpdGggZWFjaCByZXF1aXJlbWVudCB0aGF0IGNhbm5vdCBiZSBtZXQgYnkgYW4KICAgICAgICBhbHJlYWR5LWluc3RhbGxlZCBkaXN0cmlidXRpb247IGl0IHNob3VsZCByZXR1cm4gYSBgYERpc3RyaWJ1dGlvbmBgIG9yCiAgICAgICAgYGBOb25lYGAuCgogICAgICAgIFVubGVzcyBgcmVwbGFjZV9jb25mbGljdGluZz1UcnVlYCwgcmFpc2VzIGEgVmVyc2lvbkNvbmZsaWN0IGV4Y2VwdGlvbgogICAgICAgIGlmCiAgICAgICAgYW55IHJlcXVpcmVtZW50cyBhcmUgZm91bmQgb24gdGhlIHBhdGggdGhhdCBoYXZlIHRoZSBjb3JyZWN0IG5hbWUgYnV0CiAgICAgICAgdGhlIHdyb25nIHZlcnNpb24uICBPdGhlcndpc2UsIGlmIGFuIGBpbnN0YWxsZXJgIGlzIHN1cHBsaWVkIGl0IHdpbGwgYmUKICAgICAgICBpbnZva2VkIHRvIG9idGFpbiB0aGUgY29ycmVjdCB2ZXJzaW9uIG9mIHRoZSByZXF1aXJlbWVudCBhbmQgYWN0aXZhdGUKICAgICAgICBpdC4KCiAgICAgICAgYGV4dHJhc2AgaXMgYSBsaXN0IG9mIHRoZSBleHRyYXMgdG8gYmUgdXNlZCB3aXRoIHRoZXNlIHJlcXVpcmVtZW50cy4KICAgICAgICBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIGV4dHJhIHJlcXVpcmVtZW50cyBtYXkgbG9vayBsaWtlIGBteV9yZXE7CiAgICAgICAgZXh0cmEgPSAibXlfZXh0cmEiYCwgd2hpY2ggd291bGQgb3RoZXJ3aXNlIGJlIGludGVycHJldGVkIGFzIGEgcHVyZWx5CiAgICAgICAgb3B0aW9uYWwgcmVxdWlyZW1lbnQuICBJbnN0ZWFkLCB3ZSB3YW50IHRvIGJlIGFibGUgdG8gYXNzZXJ0IHRoYXQgdGhlc2UKICAgICAgICByZXF1aXJlbWVudHMgYXJlIHRydWx5IHJlcXVpcmVkLgogICAgICAgIE5p/////2kAAAAAdBMAAAByZXBsYWNlX2NvbmZsaWN0aW5nKBkAAAB0BAAAAGxpc3R0CgAAAF9SZXFFeHRyYXN0CwAAAGNvbGxlY3Rpb25zdAsAAABkZWZhdWx0ZGljdHQDAAAAc2V0dAMAAABwb3B0DAAAAG1hcmtlcnNfcGFzc1K3AAAAUi4AAABSMwAAAFLkAAAAUloAAABS4gAAAFJbAAAAdAoAAABiZXN0X21hdGNoUmIAAABSsAAAAFJhAAAAUpQAAABS+AAAAHQGAAAAZXh0cmFzdAYAAABleHRlbmRS8AAAAHQMAAAAcHJvamVjdF9uYW1lUsMAAAAoEgAAAFKKAAAAdAwAAAByZXF1aXJlbWVudHN0AwAAAGVudnQJAAAAaW5zdGFsbGVyUgIBAABSCwEAAHQJAAAAcHJvY2Vzc2VkdAQAAABiZXN0dAsAAAB0b19hY3RpdmF0ZXQKAAAAcmVxX2V4dHJhc1KTAAAAUo0AAABSjAAAAFLtAAAAUpYAAAB0DQAAAGRlcGVuZGVudF9yZXF0EAAAAG5ld19yZXF1aXJlbWVudHN0DwAAAG5ld19yZXF1aXJlbWVudCgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlS7wAAAMMCAABzTgAAAAAbGQIGAgYBBgIJBA8CCQIPAQwCBgISAQYCEgEMAhUBHgEGAQwBDAESBQwBDwEGAQwBFAIMARIBFQEQAQwCCgEbAx8BDQMNARQBEQIOA2MFAAAADwAAAAcAAABDQAAAc0EBAAB0AAB8AQCDAQB9BQB8BQBqAQCDAAABaQAAfQYAaQAAfQcAfAIAZAEAawgAckoAdAMAfAAAagQAgwEAfQgAfAgAfAEAN30IAG4KAHwCAHwBABd9CAB8AABqBQBnAACDAQB9CQB0AAB0BgB8CQBqBwB8AACDAgCDAQABeKUAfAUARF2dAH0KAHiUAHwBAHwKABlEXYgAfQsAfAsAaggAgwAAZwEAfQwAeRkAfAkAagkAfAwAfAgAfAMAgwMAfQ0AV24qAAR0CgBrCgBy6wABfQ4AAXwOAHwGAHwLADx8BABy5wBxkQBxGQFQcZEAWHQAAHQGAHwJAGoHAHwNAIMCAIMBAAF8BwBqCwB0DABqDQB8DQCDAQCDAQABUHGRAFdxgABXdAAAfAcAgwEAfQcAfAcAagEAgwAAAXwHAHwGAGYCAFMoAgAAAHNzBgAARmluZCBhbGwgYWN0aXZhdGFibGUgZGlzdHJpYnV0aW9ucyBpbiBgcGx1Z2luX2VudmAKCiAgICAgICAgRXhhbXBsZSB1c2FnZTo6CgogICAgICAgICAgICBkaXN0cmlidXRpb25zLCBlcnJvcnMgPSB3b3JraW5nX3NldC5maW5kX3BsdWdpbnMoCiAgICAgICAgICAgICAgICBFbnZpcm9ubWVudChwbHVnaW5fZGlybGlzdCkKICAgICAgICAgICAgKQogICAgICAgICAgICAjIGFkZCBwbHVnaW5zK2xpYnMgdG8gc3lzLnBhdGgKICAgICAgICAgICAgbWFwKHdvcmtpbmdfc2V0LmFkZCwgZGlzdHJpYnV0aW9ucykKICAgICAgICAgICAgIyBkaXNwbGF5IGVycm9ycwogICAgICAgICAgICBwcmludCgnQ291bGQgbm90IGxvYWQnLCBlcnJvcnMpCgogICAgICAgIFRoZSBgcGx1Z2luX2VudmAgc2hvdWxkIGJlIGFuIGBgRW52aXJvbm1lbnRgYCBpbnN0YW5jZSB0aGF0IGNvbnRhaW5zCiAgICAgICAgb25seSBkaXN0cmlidXRpb25zIHRoYXQgYXJlIGluIHRoZSBwcm9qZWN0J3MgInBsdWdpbiBkaXJlY3RvcnkiIG9yCiAgICAgICAgZGlyZWN0b3JpZXMuIFRoZSBgZnVsbF9lbnZgLCBpZiBzdXBwbGllZCwgc2hvdWxkIGJlIGFuIGBgRW52aXJvbm1lbnRgYAogICAgICAgIGNvbnRhaW5zIGFsbCBjdXJyZW50bHktYXZhaWxhYmxlIGRpc3RyaWJ1dGlvbnMuICBJZiBgZnVsbF9lbnZgIGlzIG5vdAogICAgICAgIHN1cHBsaWVkLCBvbmUgaXMgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIGBgV29ya2luZ1NldGBgIHRoaXMKICAgICAgICBtZXRob2QgaXMgY2FsbGVkIG9uLCB3aGljaCB3aWxsIHR5cGljYWxseSBtZWFuIHRoYXQgZXZlcnkgZGlyZWN0b3J5IG9uCiAgICAgICAgYGBzeXMucGF0aGBgIHdpbGwgYmUgc2Nhbm5lZCBmb3IgZGlzdHJpYnV0aW9ucy4KCiAgICAgICAgYGluc3RhbGxlcmAgaXMgYSBzdGFuZGFyZCBpbnN0YWxsZXIgY2FsbGJhY2sgYXMgdXNlZCBieSB0aGUKICAgICAgICBgYHJlc29sdmUoKWBgIG1ldGhvZC4gVGhlIGBmYWxsYmFja2AgZmxhZyBpbmRpY2F0ZXMgd2hldGhlciB3ZSBzaG91bGQKICAgICAgICBhdHRlbXB0IHRvIHJlc29sdmUgb2xkZXIgdmVyc2lvbnMgb2YgYSBwbHVnaW4gaWYgdGhlIG5ld2VzdCB2ZXJzaW9uCiAgICAgICAgY2Fubm90IGJlIHJlc29sdmVkLgoKICAgICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgMi10dXBsZTogKGBkaXN0cmlidXRpb25zYCwgYGVycm9yX2luZm9gKSwgd2hlcmUKICAgICAgICBgZGlzdHJpYnV0aW9uc2AgaXMgYSBsaXN0IG9mIHRoZSBkaXN0cmlidXRpb25zIGZvdW5kIGluIGBwbHVnaW5fZW52YAogICAgICAgIHRoYXQgd2VyZSBsb2FkYWJsZSwgYWxvbmcgd2l0aCBhbnkgb3RoZXIgZGlzdHJpYnV0aW9ucyB0aGF0IGFyZSBuZWVkZWQKICAgICAgICB0byByZXNvbHZlIHRoZWlyIGRlcGVuZGVuY2llcy4gIGBlcnJvcl9pbmZvYCBpcyBhIGRpY3Rpb25hcnkgbWFwcGluZwogICAgICAgIHVubG9hZGFibGUgcGx1Z2luIGRpc3RyaWJ1dGlvbnMgdG8gYW4gZXhjZXB0aW9uIGluc3RhbmNlIGRlc2NyaWJpbmcgdGhlCiAgICAgICAgZXJyb3IgdGhhdCBvY2N1cnJlZC4gVXN1YWxseSB0aGlzIHdpbGwgYmUgYSBgYERpc3RyaWJ1dGlvbk5vdEZvdW5kYGAgb3IKICAgICAgICBgYFZlcnNpb25Db25mbGljdGBgIGluc3RhbmNlLgogICAgICAgIE4oDgAAAFIDAQAAdAQAAABzb3J0UjMAAABSWgAAAFLiAAAAUogAAABSBAAAAFLwAAAAdA4AAABhc19yZXF1aXJlbWVudFLvAAAAUmAAAABSGwAAAFIdAAAAUh4AAAAoDwAAAFKKAAAAdAoAAABwbHVnaW5fZW52dAgAAABmdWxsX2VudlIQAQAAdAgAAABmYWxsYmFja3QPAAAAcGx1Z2luX3Byb2plY3RzdAoAAABlcnJvcl9pbmZvdA0AAABkaXN0cmlidXRpb25zUg8BAAB0CgAAAHNoYWRvd19zZXRSDQEAAFKMAAAAUo0AAAB0CQAAAHJlc29sdmVlc1IYAAAAKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQMAAAAZmluZF9wbHVnaW5zHwMAAHM0AAAAACQMAgoCBgEGAgwBDwENAgoC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IElmIG5vIHN1aXRhYmxlCiAgICAgICAgZGlzdHJpYnV0aW9uIGlzIGZvdW5kLCBhbmQgYGluc3RhbGxlcmAgaXMgc3VwcGxpZWQsIHRoZW4gdGhlIHJlc3VsdCBvZgogICAgICAgIGNhbGxpbmcgdGhlIGVudmlyb25tZW50J3MgYGBvYnRhaW4ocmVxLCBpbnN0YWxsZXIpYGAgbWV0aG9kIHdpbGwgYmUKICAgICAgICByZXR1cm5lZC4KICAgICAgICBOKAUAAABSngAAAFJhAAAAUjMAAABSLgAAAHQGAAAAb2J0YWluKAYAAABSigAAAFKNAAAAUlQAAABSEAEAAFICAQAAUowAAAAoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UgoBAAAHBAAAcxgAAAAADgMBEwENAQYBBgEKAQwBBAEUAQwBCAJjAwAAAAMAAAACAAAAQ0AAAHMaAAAAfAIAZAEAawkAchYAfAIAfAEAgwEAU2QBAFMoAgAAAHPeAQAAT2J0YWluIGEgZGlzdHJpYnV0aW9uIG1hdGNoaW5nIGByZXF1aXJlbWVudGAgKGUuZy4gdmlhIGRvd25sb2FkKQoKICAgICAgICBPYnRhaW4gYSBkaXN0cm8gdGhhdCBtYXRjaGVzIHJlcXVpcmVtZW50IChlLmcuIHZpYSBkb3dubG9hZCkuICBJbiB0aGUKICAgICAgICBiYXNlIGBgRW52aXJvbm1lbnRgYCBjbGFzcywgdGhpcyByb3V0aW5lIGp1c3QgcmV0dXJucwogICAgICAgIGBgaW5zdGFsbGVyKHJlcXVpcmVtZW50KWBgLCB1bmxlc3MgYGluc3RhbGxlcmAgaXMgTm9uZSwgaW4gd2hpY2ggY2FzZQogICAgICAgIE5vbmUgaXMgcmV0dXJuZWQgaW5zdGVhZC4gIFRoaXMgbWV0aG9kIGlzIGEgaG9vayB0aGF0IGFsbG93cyBzdWJjbGFzc2VzCiAgICAgICAgdG8gYXR0ZW1wdCBvdGhlciB3YXlzIG9mIG9idGFpbmluZyBhIGRpc3RyaWJ1dGlvbiBiZWZvcmUgZmFsbGluZyBiYWNrCiAgICAgICAgdG8gdGhlIGBpbnN0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IHdyaXRhYmxlIGJ5IGdyb3VwL290aGVycyBhbmQgdnVsbmVyYWJsZSB0byBhdHRhY2sgd2hlbiB1c2VkIHdpdGggZ2V0X3Jlc291cmNlX2ZpbGVuYW1lLiBDb25zaWRlciBhIG1vcmUgc2VjdXJlIGxvY2F0aW9uIChzZXQgd2l0aCAuc2V0X2V4dHJhY3Rpb25fcGF0aCBvciB0aGUgUFlUSE9OX0VHR19DQUNIRSBlbnZpcm9ubWVudCB2YXJpYWJsZSkuKAsAAABSqwAAAFLSAAAAUr8AAAB0BwAAAGVudmlyb250BAAAAHN0YXR0BwAAAHN0X21vZGV0BwAAAFNfSVdPVEh0BwAAAFNfSVdHUlB0CAAAAHdhcm5pbmdzdAQAAAB3YXJudAsAAABVc2VyV2FybmluZygDAAAAUqwAAAB0BAAAAG1vZGV0AwAAAG1zZygAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSVgEAALsEAABzDgAAAAAKJgQEARIBGgIDBAcCYwMAAAAEAAAAAwAAAENAAABzQAAAAHQAAGoBAGQBAGsCAHI8AHQAAGoCAHwBAIMBAGoDAGQCAEJkAwBAfQMAdAAAagQAfAEAfAMAgwIAAW4AAGQEAFMoBQAAAHM0AgAAUGVyZm9ybSBhbnkgcGxhdGZvcm0tc3BlY2lmaWMgcG9zdHByb2Nlc3Npbmcgb2YgYHRlbXBuYW1lYAoKICAgICAgICBUaGlzIGlzIHdoZXJlIE1hYyBoZWFkZXIgcmV3cml0ZXMgc2hvdWxkIGJlIGRvbmU7IG90aGVyIHBsYXRmb3JtcyBkb24ndAogICAgICAgIGhhdmUgYW55dGhpbmcgc3BlY2lhbCB0aGV5IHNob3VsZCBkby4KCiAgICAgICAgUmVzb3VyY2UgcHJvdmlkZXJzIHNob3VsZCBjYWxsIHRoaXMgbWV0aG9kIE9OTFkgYWZ0ZXIgc3VjY2Vzc2Z1bGx5CiAgICAgICAgZXh0cmFjdGluZyBhIGNvbXByZXNzZWQgcmVzb3VyY2UuICBUaGV5IG11c3QgTk9UIGNhbGwgaXQgb24gcmVzb3VyY2VzCiAgICAgICAgdGhhdCBhcmUgYWxyZWFkeSBpbiB0aGUgZmlsZXN5c3RlbS4KCiAgICAgICAgYHRlbXBuYW1lYCBpcyB0aGUgY3VycmVudCAodGVtcG9yYXJ5KSBuYW1lIG9mIHRoZSBmaWxlLCBhbmQgYGZpbGVuYW1lYAogICAgICAgIGlzIHRoZSBuYW1lIGl0IHdpbGwgYmUgcmVuYW1lZCB0byBieSB0aGUgY2FsbGVyIGFmdGVyIHRoaXMgcm91dGluZQogICAgICAgIHJldHVybnMuCiAgICAgICAgdAUAAABwb3NpeGltAQAAaf8PAABOKAUAAABSqwAAAFLSAAAAUl8BAABSYAEAAHQFAAAAY2htb2QoBAAAAFKKAAAAdAgAAAB0ZW1wbmFtZXQIAAAAZmlsZW5hbWVSZgEAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CwAAAHBvc3Rwcm9jZXNz1QQAAHMGAAAAAA8PAhoBYwIAAAACAAAAAgAAAENAAABzJQAAAHwAAGoAAHIYAHQBAGQBAIMBAIIBAG4AAHwBAHwAAF8CAGQCAFMoAwAAAHPSAwAAU2V0IHRoZSBiYXNlIHBhdGggd2hlcmUgcmVzb3VyY2VzIHdpbGwgYmUgZXh0cmFjdGVkIHRvLCBpZiBuZWVkZWQuCgogICAgICAgIElmIHlvdSBkbyBub3QgY2FsbCB0aGlzIHJvdXRpbmUgYmVmb3JlIGFueSBleHRyYWN0aW9ucyB0YWtlIHBsYWNlLCB0aGUKICAgICAgICBwYXRoIGRlZmF1bHRzIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgYGBnZXRfZGVmYXVsdF9jYWNoZSgpYGAuICAoV2hpY2gKICAgICAgICBpcyBiYXNlZCBvbiB0aGUgYGBQWVRIT05fRUdHX0NBQ0hFYGAgZW52aXJvbm1lbnQgdmFyaWFibGUsIHdpdGggdmFyaW91cwogICAgICAgIHBsYXRmb3JtLXNwZWNpZmljIGZhbGxiYWNrcy4gIFNlZSB0aGF0IHJvdXRpbmUncyBkb2N1bWVudGF0aW9uIGZvciBtb3JlCiAgICAgICAgZGV0YWlscy4pCgogICAgICAgIFJlc291cmNlcyBhcmUgZXh0cmFjdGVkIHRvIHN1YmRpcmVjdG9yaWVzIG9mIHRoaXMgcGF0aCBiYXNlZCB1cG9uCiAgICAgICAgaW5mb3JtYXRpb24gZ2l2ZW4gYnkgdGhlIGBgSVJlc291cmNlUHJvdmlkZXJgYC4gIFlvdSBtYXkgc2V0IHRoaXMgdG8gYQogICAgICAgIHRlbXBvcmFyeSBkaXJlY3RvcnksIGJ1dCB0aGVuIHlvdSBtdXN0IGNhbGwgYGBjbGVhbnVwX3Jlc291cmNlcygpYGAgdG8KICAgICAgICBkZWxldGUgdGhlIGV4dHJhY3RlZCBmaWxlcyB3aGVuIGRvbmUuICBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdAogICAgICAgIGBgY2xlYW51cF9yZXNvdXJjZXMoKWBgIHdpbGwgYmUgYWJsZSB0byByZW1vdmUgYWxsIGV4dHJhY3RlZCBmaWxlcy4KCiAgICAgICAgKE5vdGU6IHlvdSBtYXkgbm90IGNoYW5nZSB0aGUgZXh0cmFjdGlvbiBwYXRoIGZvciBhIGdpdmVuIHJlc291cmNlCiAgICAgICAgbWFuYWdlciBvbmNlIHJlc291cmNlcyBoYXZlIGJlZW4gZXh0cmFjdGVkLCB1bmxlc3MgeW91IGZpcnN0IGNhbGwKICAgICAgICBgYGNsZWFudXBfcmVzb3VyY2VzKClgYC4pCiAgICAgICAgczUAAABDYW4ndCBjaGFuZ2UgZXh0cmFjdGlvbiBwYXRoLCBmaWxlcyBhbHJlYWR5IGV4dHJhY3RlZE4oAwAAAFJHAQAAUkEAAABSSgEAACgCAAAAUooAAABSrAAAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSVwAAAOkEAABzCAAAAAATCQEDAQwDYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHNCAgAACiAgICAgICAgRGVsZXRlIGFsbCBleHRyYWN0ZWQgcmVzb3VyY2UgZmlsZXMgYW5kIGRpcmVjdG9yaWVzLCByZXR1cm5pbmcgYSBsaXN0CiAgICAgICAgb2YgdGhlIGZpbGUgYW5kIGRpcmVjdG9yeSBuYW1lcyB0aGF0IGNv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AFMoAQAAAE4oAgAAAFJqAAAAUtcAAAAoAgAAAFKKAAAAUtIAAAAoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UtgAAAARBwAAcwIAAAAAASgIAAAAUhEAAABSEgAAAFITAAAAUugAAABS1gAAAFLXAAAAUukBAABS2AAAACgAAAAAKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ5AAAA7gYAAHMMAAAABgoGAgkDCQMJCQkIYwAAAAAAAAAAAQAAAEJAAABzFwAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAFJTKAIAAABzcwIAAE1ldGFkYXRhIHByb3ZpZGVyIGZvciBlZ2cgZGlyZWN0b3JpZXMKCiAgICBVc2FnZTo6CgogICAgICAgICMgRGV2ZWxvcG1lbnQgZWdnczoKCiAgICAgICAgZWdnX2luZm8gPSAiL3BhdGgvdG8vUGFja2FnZU5hbWUuZWdnLWluZm8iCiAgICAgICAgYmFzZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoZWdnX2luZm8pCiAgICAgICAgbWV0YWRhdGEgPSBQYXRoTWV0YWRhdGEoYmFzZV9kaXIsIGVnZ19pbmZvKQogICAgICAgIGRpc3RfbmFtZSA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShlZ2dfaW5mbykpWzBdCiAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbihiYXNlZGlyLCBwcm9qZWN0X25hbWU9ZGlzdF9uYW1lLCBtZXRhZGF0YT1tZXRhZGF0YSkKCiAgICAgICAgIyBVbnBhY2tlZCBlZ2cgZGlyZWN0b3JpZXM6CgogICAgICAgIGVnZ19wYXRoID0gIi9wYXRoL3RvL1BhY2thZ2VOYW1lLXZlci1weXZlci1ldGMuZWdnIgogICAgICAgIG1ldGFkYXRhID0gUGF0aE1ldGFkYXRhKGVnZ19wYXRoLCBvcy5wYXRoLmpvaW4oZWdnX3BhdGgsJ0VHRy1JTkZPJykpCiAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbi5mcm9tX2ZpbGVuYW1lKGVnZ19wYXRoLCBtZXRhZGF0YT1tZXRhZGF0YSkKICAgIGMDAAAAAwAAAAIAAABDQAAAcxYAAAB8AQB8AABfAAB8AgB8AABfAQBkAABTKAEAAABOKAIAAABSfgEAAFKEAQAAKAMAAABSigAAAFKsAAAAUoQBAAAoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UugAAAApBwAAcwQAAAAAAQkBKAQAAABSEQAAAFISAAAAUhMAAABS6AAAACgAAAAAKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ6AAAAFQcAAHMEAAAABhIGAmMAAAAAAAAAAAEAAABCQAAAcxcAAABlAABaAQBkAABaAgBkAQCEAABaAwBSUygCAAAAcyAAAABNZXRhZGF0YSBwcm92aWRlciBmb3IgLmVnZyBmaWxlc2MCAAAAAgAAAAMAAABDQAAAc2AAAAB8AQBqAAB0AQBqAgAXfAAAXwMAfAEAfAAAXwQAfAEAagUAckYAdAEAagYAagcAfAEAagAAfAEAagUAgwIAfAAAXwgAbgwAfAEAagAAfAAAXwgAfAAAagkAgwAAAWQBAFMoAgAAAHMtAAAAQ3JlYXRlIGEgbWV0YWRhdGEgcHJvdmlkZXIgZnJvbSBhIHppcGltcG9ydGVyTigKAAAAUrgBAABSqwAAAFKpAQAAUrkBAABSpwAAAHQGAAAAcHJlZml4UqwAAABSPgAAAFJ+AQAAUpsBAAAoAgAAAFKKAAAAdAgAAABpbXBvcnRlcigAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlS6AAAADEHAABzDAAAAAADEwEJAQkBIQIMASgEAAAAUhEAAABSEgAAAFITAAAAUugAAAAoAAAAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSewAAAC4HAABzBAAAAAYBBgJSHQAAAHQVAAAAX2Rpc3RyaWJ1dGlvbl9maW5kZXJzYwIAAAACAAAAAwAAAENAAABzDgAAAHwBAHQAAHwAADxkAQBTKAIAAABzeAEAAFJlZ2lzdGVyIGBkaXN0cmlidXRpb25fZmluZGVyYCB0byBmaW5kIGRpc3RyaWJ1dGlvbnMgaW4gc3lzLnBhdGggaXRlbXMKCiAgICBgaW1wb3J0ZXJfdHlwZWAgaXMgdGhlIHR5cGUgb3IgY2xhc3Mgb2YgYSBQRVAgMzAyICJJbXBvcnRlciIgKHN5cy5wYXRoIGl0ZW0KICAgIGhhbmRsZXIpLCBhbmQgYGRpc3RyaWJ1dGlvbl9maW5kZXJgIGlzIGEgY2FsbGFibGUgdGhhdCwgcGFzc2VkIGEgcGF0aAogICAgaXRlbSBhbmQgdGhlIGltcG9ydGVyIGluc3RhbmNlLCB5aWVsZHMgYGBEaXN0cmlidXRpb25gYCBpbnN0YW5jZXMgZm91bmQgb24KICAgIHRoYXQgcGF0aCBpdGVtLiAgU2VlIGBgcGtnX3Jlc291cmNlcy5maW5kX29uX3BhdGhgYCBmb3IgYW4gZXhhbXBsZS5OKAEAAABS7gEAACgCAAAAdA0AAABpbXBvcnRlcl90eXBldBMAAABkaXN0cmlidXRpb25fZmluZGVyKAAAAAAoAAAAAHM6AAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKCAAAAQAcAAHMCAAAAAAdjAgAAAAQAAAAEAAAAQ0AAAHMrAAAAdAAAfAAAgwEAfQIAdAEAdAIAfAIAgwIAfQMAfAMAfAIAfAAAfAEAgwMAUygBAAAAcy4AAABZaWVsZCBkaXN0cmlidXRpb25zIGFjY2Vzc2libGUgdmlhIGBwYXRoX2l0ZW1gKAMAAABSAQAAAFKkAAAAUu4BAAAoBAAAAHQJAAAAcGF0aF9pdGVtdAQAAABvbmx5Uu0BAAB0BgAAAGZpbmRlcigAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSVgAAAEoHAABzBgAAAAACDAEPAWMDAAAACQAAAAUAAABjQAAAcyEBAAB8AABqAABqAQBkAQCDAQByFgBkAgBTdAIAfAAAgwEAfQMAfAMAagMAZAMAgwEAckgAdAQAagUAfAEAZAQAfAMAgwEBVgFuAAB8AgByUgBkAgBTeMgAfAMAagYAZAUAgwEARF23AH0EAHQHAHwEAIMBAHK6AHQIAGoJAGoKAHwBAHwEAIMCAH0FAHQLAHQMAGoNAHwFAIMBAHwFAIMCAH0GAHh1AHwGAERdCwB9BwB8BwBWAXGoAFdxYgB8BABqDgCDAABqAQBkBgCDAQByYgB0CABqCQBqCgB8AQB8BACDAgB9BQB0AgB0DABqDQB8BQCDAQCDAQB9CAB8BQB8CABfDwB0BABqEAB8AQB8BAB8CACDAwBWAXFiAHFiAFdkAgBTKAcAAABzQAAAAAogICAgRmluZCBlZ2dzIGluIHppcCBmaWxlczsgcG9zc2libHkgbXVsdGlwbGUgbmVzdGVkIGVnZ3MuCiAgICBzBAAAAC53aGxOcwgAAABQS0ctSU5GT1LqAQAAUpcBAABzCgAAAC5kaXN0LWluZm8oEQAAAFK4AQAAdAgAAABlbmRzd2l0aFJ7AAAAUtYAAABSXQAAAHQNAAAAZnJvbV9maWxlbmFtZVJQAAAAUpwBAABSqwAAAFKsAAAAUj4AAAB0EAAAAGZpbmRfZWdnc19pbl96aXB0CQAAAHppcGltcG9ydHQLAAAAemlwaW1wb3J0ZXJSNwEAAFKEAQAAdA0AAABmcm9tX2xvY2F0aW9uKAkAAABS7QEAAFLxAQAAUvIBAABS6gEAAHQHAAAAc3ViaXRlbXQHAAAAc3VicGF0aFLzAAAAUowAAAB0BwAAAHN1Ym1ldGEoAAAAACgAAAAAczoAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UvYBAABRBwAAcyQAAAAABBIDBAEMAQ8BFwEGAgQBFgEMARUBGAENAQwBFQEVARUBCQFjAwAAAAMAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAATigAAAAAKAAAAAAoAwAAAFLtAQAAUvEBAABS8gEAACgAAAAAKAAAAABzOgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DAAAAGZpbmRfbm90aGluZ28HAABzAgAAAAABYwEAAAACAAAABgAAAENAAABzHwAAAGQBAIQAAH0BAHQAAHwAAGQCAHwBAGQDAHQBAIMBAlMoBAAAAHNMAgAACiAgICBHaXZlbiBhIGxpc3Qgb2YgZmlsZW5hbWVzLCByZXR1cm4gdGhlbSBpbiBkZXNjZW5kaW5nIG9yZGVyCiAgICBieSB2ZXJzaW9uIG51bWJlci4KCiAgICA+Pj4gbmFtZXMgPSAnYmFyJywgJ2ZvbycsICdQeXRob24tMi43LjEwLmVnZycsICdQeXRob24tMi43LjIuZWdnJwogICAgPj4+IF9ieV92ZXJzaW9uX2Rlc2NlbmRpbmcobmFtZXMpCiAgICBbJ1B5dGhvbi0yLjcuMTAuZWdnJywgJ1B5dGhvbi0yLjcuMi5lZ2cnLCAnZm9vJywgJ2JhciddCiAgICA+Pj4gbmFtZXMgPSAnU2V0dXB0b29scy0xLjIuM2IxLmVnZycsICdTZXR1cHRvb2xzLTEuMi4zLmVnZycKICAgID4+PiBfYnlfdmVyc2lvbl9kZXNjZW5kaW5nKG5hbWVzKQogICAgWydTZXR1cHRvb2xzLTEuMi4zLmVnZycsICdTZXR1cHRvb2xzLTEuMi4zYjEuZWdnJ10KICAgID4+PiBuYW1lcyA9ICdTZXR1cHRvb2xzLTEuMi4zYjEuZWdnJywgJ1NldHVwdG9vbHMtMS4yLjMucG9zdDEuZWdnJwogICAgPj4+IF9ieV92ZXJzaW9uX2Rlc2NlbmRpbmcobmFtZXMpCiAgICBbJ1NldHVwdG9vbHMtMS4yLjMucG9zdDEuZWdnJywgJ1NldHVwdG9vbHMtMS4yLjNiMS5lZ2cnXQogICAgYwEAAAAEAAAABAAAAFNAAABzWQAAAHQAAGoBAGoCAHwAAIMBAFwCAH0AAH0BAHQDAGoEAHwAAGoFAGQBAIMBAHwBAGcBAIMCAH0CAGcAAHwCAERdGAB9AwB0BgBqBwBqCAB8AwCDAQBeAgBxPQBTKAIAAABzNgAAAAogICAgICAgIFBhcnNlIGVhY2ggY29tcG9uZW50IG9mIHRoZSBmaWxlbmFtZQogICAgICAgIFJyAQAAKAkAAABSqwAAAFKsAAAAdAgAAABz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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 2 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
extern
DIR
-
drwxr-xr-x
2024-06-15 07:05:23
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_vendor
DIR
-
drwxr-xr-x
2024-06-15 07:05:23
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
py31compat.py
600 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
py31compat.pyc
812 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
py31compat.pyo
812 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.py
101.12 KB
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.pyc
112.73 KB
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.pyo
112.73 KB
lrw-r--r--
2024-04-10 05:04:00
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).