REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 41.38 KB
Close
/opt/cloudlinux/venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/psycopg2.cpython-311.pyc
Text
Base64
pw0NCgAAAAC7fG9piJMAAOMAAAAAAAAAAAAAAAAFAAAAAAAAAPMAAwAAlwBkAFoAZAFkAmwBbQJaAgEAZAFkA2wDWgNkAWQDbARaBGQBZANsBVoFZARkBWwGbQdaBwEAZARkBmwGbQhaCAEAZARkB2wGbQlaCQEAZARkCGwGbQpaCgEAZARkCWwGbQtaCwEAZARkCmwGbQxaDAEAZARkC2wGbQ1aDQEAZARkDGwGbQ5aDgEAZARkDWwGbQ9aDwEAZARkDmwQbRFaEQEAZARkD2wSbRNaEwEAZARkEGwSbRRaFAEAZBFkEmwVbRZaFgEAZBFkE2wVbRdaFwEAZBFkFGwVbRhaGQEAZBFkFWwVbRpaGgEAZBFkFmwbbRxaHQEAZBFkF2webR9aHwEAZBFkGGwabSBaIAEACQBkAWQNbCFtD1oiAQBuDSMAZSMkAHIFAQBkA1oiWQBuBHcAeANZAHcBAgBlBGokAAAAAAAAAABkGaYBAACrAQAAAAAAAAAAWiUCAEcAZBqEAGQbZRlqJgAAAAAAAAAApgMAAKsDAAAAAAAAAABaJwIARwBkHIQAZB1lCqYDAACrAwAAAAAAAAAAWigCAEcAZB6EAGQfZRGmAwAAqwMAAAAAAAAAAFopAgBHAGQghABkIWUTpgMAAKsDAAAAAAAAAABaKgIARwBkIoQAZCNlFKYDAACrAwAAAAAAAAAAWisCAEcAZCSEAGQlZQ+mAwAAqwMAAAAAAAAAAFosAgBlGmotAAAAAAAAAACmAAAAqwAAAAAAAAAAAFouAgBHAGQmhABkJ2UNpgMAAKsDAAAAAAAAAABaLwIARwBkKIQAZCllC6YDAACrAwAAAAAAAAAAWjACAEcAZCqEAGQrZQ6mAwAAqwMAAAAAAAAAAFoxAgBlGmoyAAAAAAAAAABkLKYBAACrAQAAAAAAAAAAWjMCAGUaajIAAAAAAAAAAGQtpgEAAKsBAAAAAAAAAABaNAIAZRpqMgAAAAAAAAAAZC6mAQAAqwEAAAAAAAAAAFo1AgBHAGQvhABkMGUMpgMAAKsDAAAAAAAAAABaNmU2WjdkA1MAKTFhCUkAAAouLiBkaWFsZWN0OjogcG9zdGdyZXNxbCtwc3ljb3BnMgogICAgOm5hbWU6IHBzeWNvcGcyCiAgICA6ZGJhcGk6IHBzeWNvcGcyCiAgICA6Y29ubmVjdHN0cmluZzogcG9zdGdyZXNxbCtwc3ljb3BnMjovL3VzZXI6cGFzc3dvcmRAaG9zdDpwb3J0L2RibmFtZVs/a2V5PXZhbHVlJmtleT12YWx1ZS4uLl0KICAgIDp1cmw6IGh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9wc3ljb3BnMi8KCnBzeWNvcGcyIENvbm5lY3QgQXJndW1lbnRzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpwc3ljb3BnMi1zcGVjaWZpYyBrZXl3b3JkIGFyZ3VtZW50cyB3aGljaCBhcmUgYWNjZXB0ZWQgYnkKOmZ1bmM6YF9zYS5jcmVhdGVfZW5naW5lKClgIGFyZToKCiogYGBzZXJ2ZXJfc2lkZV9jdXJzb3JzYGA6IEVuYWJsZSB0aGUgdXNhZ2Ugb2YgInNlcnZlciBzaWRlIGN1cnNvcnMiIGZvciBTUUwKICBzdGF0ZW1lbnRzIHdoaWNoIHN1cHBvcnQgdGhpcyBmZWF0dXJlLiBXaGF0IHRoaXMgZXNzZW50aWFsbHkgbWVhbnMgZnJvbSBhCiAgcHN5Y29wZzIgcG9pbnQgb2YgdmlldyBpcyB0aGF0IHRoZSBjdXJzb3IgaXMgY3JlYXRlZCB1c2luZyBhIG5hbWUsIGUuZy4KICBgYGNvbm5lY3Rpb24uY3Vyc29yKCdzb21lIG5hbWUnKWBgLCB3aGljaCBoYXMgdGhlIGVmZmVjdCB0aGF0IHJlc3VsdCByb3dzCiAgYXJlIG5vdCBpbW1lZGlhdGVseSBwcmUtZmV0Y2hlZCBhbmQgYnVmZmVyZWQgYWZ0ZXIgc3RhdGVtZW50IGV4ZWN1dGlvbiwgYnV0CiAgYXJlIGluc3RlYWQgbGVmdCBvbiB0aGUgc2VydmVyIGFuZCBvbmx5IHJldHJpZXZlZCBhcyBuZWVkZWQuIFNRTEFsY2hlbXkncwogIDpjbGFzczpgfnNxbGFsY2hlbXkuZW5naW5lLlJlc3VsdFByb3h5YCB1c2VzIHNwZWNpYWwgcm93LWJ1ZmZlcmluZwogIGJlaGF2aW9yIHdoZW4gdGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQsIHN1Y2ggdGhhdCBncm91cHMgb2YgMTAwIHJvd3MgYXQgYQogIHRpbWUgYXJlIGZldGNoZWQgb3ZlciB0aGUgd2lyZSB0byByZWR1Y2UgY29udmVyc2F0aW9uYWwgb3ZlcmhlYWQuCiAgTm90ZSB0aGF0IHRoZSA6cGFyYW1yZWY6YC5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLnN0cmVhbV9yZXN1bHRzYAogIGV4ZWN1dGlvbiBvcHRpb24gaXMgYSBtb3JlIHRhcmdldGVkCiAgd2F5IG9mIGVuYWJsaW5nIHRoaXMgbW9kZSBvbiBhIHBlci1leGVjdXRpb24gYmFzaXMuCgoqIGBgdXNlX25hdGl2ZV91bmljb2RlYGA6IEVuYWJsZSB0aGUgdXNhZ2Ugb2YgUHN5Y29wZzIgIm5hdGl2ZSB1bmljb2RlIiBtb2RlCiAgcGVyIGNvbm5lY3Rpb24uICBUcnVlIGJ5IGRlZmF1bHQuCgogIC4uIHNlZWFsc286OgoKICAgIDpyZWY6YHBzeWNvcGcyX2Rpc2FibGVfbmF0aXZlX3VuaWNvZGVgCgoqIGBgaXNvbGF0aW9uX2xldmVsYGA6IFRoaXMgb3B0aW9uLCBhdmFpbGFibGUgZm9yIGFsbCBQb3N0Z3JlU1FMIGRpYWxlY3RzLAogIGluY2x1ZGVzIHRoZSBgYEFVVE9DT01NSVRgYCBpc29sYXRpb24gbGV2ZWwgd2hlbiB1c2luZyB0aGUgcHN5Y29wZzIKICBkaWFsZWN0LgoKICAuLiBzZWVhbHNvOjoKCiAgICA6cmVmOmBwc3ljb3BnMl9pc29sYXRpb25fbGV2ZWxgCgoqIGBgY2xpZW50X2VuY29kaW5nYGA6IHNldHMgdGhlIGNsaWVudCBlbmNvZGluZyBpbiBhIGxpYnBxLWFnbm9zdGljIHdheSwKICB1c2luZyBwc3ljb3BnMidzIGBgc2V0X2NsaWVudF9lbmNvZGluZygpYGAgbWV0aG9kLgoKICAuLiBzZWVhbHNvOjoKCiAgICA6cmVmOmBwc3ljb3BnMl91bmljb2RlYAoKKiBgYGV4ZWN1dGVtYW55X21vZGVgYCwgYGBleGVjdXRlbWFueV9iYXRjaF9wYWdlX3NpemVgYCwKICBgYGV4ZWN1dGVtYW55X3ZhbHVlc19wYWdlX3NpemVgYDogQWxsb3dzIHVzZSBvZiBwc3ljb3BnMgogIGV4dGVuc2lvbnMgZm9yIG9wdGltaXppbmcgImV4ZWN1dGVtYW55Ii1zdHllIHF1ZXJpZXMuICBTZWUgdGhlIHJlZmVyZW5jZWQKICBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzLgoKICAuLiBzZWVhbHNvOjoKCiAgICA6cmVmOmBwc3ljb3BnMl9leGVjdXRlbWFueV9tb2RlYAoKKiBgYHVzZV9iYXRjaF9tb2RlYGA6IHRoaXMgaXMgdGhlIHByZXZpb3VzIHNldHRpbmcgdXNlZCB0byBhZmZlY3QgImV4ZWN1dGVtYW55IgogIG1vZGUgYW5kIGlzIG5vdyBkZXByZWNhdGVkLgoKClVuaXggRG9tYWluIENvbm5lY3Rpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKcHN5Y29wZzIgc3VwcG9ydHMgY29ubmVjdGluZyB2aWEgVW5peCBkb21haW4gY29ubmVjdGlvbnMuICAgV2hlbiB0aGUgYGBob3N0YGAKcG9ydGlvbiBvZiB0aGUgVVJMIGlzIG9taXR0ZWQsIFNRTEFsY2hlbXkgcGFzc2VzIGBgTm9uZWBgIHRvIHBzeWNvcGcyLAp3aGljaCBzcGVjaWZpZXMgVW5peC1kb21haW4gY29tbXVuaWNhdGlvbiByYXRoZXIgdGhhbiBUQ1AvSVAgY29tbXVuaWNhdGlvbjo6CgogICAgY3JlYXRlX2VuZ2luZSgicG9zdGdyZXNxbCtwc3ljb3BnMjovL3VzZXI6cGFzc3dvcmRAL2RibmFtZSIpCgpCeSBkZWZhdWx0LCB0aGUgc29ja2V0IGZpbGUgdXNlZCBpcyB0byBjb25uZWN0IHRvIGEgVW5peC1kb21haW4gc29ja2V0CmluIGBgL3RtcGBgLCBvciB3aGF0ZXZlciBzb2NrZXQgZGlyZWN0b3J5IHdhcyBzcGVjaWZpZWQgd2hlbiBQb3N0Z3JlU1FMCndhcyBidWlsdC4gIFRoaXMgdmFsdWUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZyBhIHBhdGhuYW1lIHRvIHBzeWNvcGcyLAp1c2luZyBgYGhvc3RgYCBhcyBhbiBhZGRpdGlvbmFsIGtleXdvcmQgYXJndW1lbnQ6OgoKICAgIGNyZWF0ZV9lbmdpbmUoInBvc3RncmVzcWwrcHN5Y29wZzI6Ly91c2VyOnBhc3N3b3JkQC9kYm5hbWU/aG9zdD0vdmFyL2xpYi9wb3N0Z3Jlc3FsIikKCi4uIHNlZWFsc286OgoKICAgIGBQUWNvbm5lY3RkYlBhcmFtcyBcCiAgICA8aHR0cDovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9kb2NzLzkuMS9zdGF0aWMvbGlicHEtY29ubmVjdC5odG1sI0xJQlBRLVBRQ09OTkVDVERCUEFSQU1TPmBfCgouLiBfcHN5Y29wZzJfbXVsdGlfaG9zdDoKClNwZWNmaXlpbmcgbXVsdGlwbGUgZmFsbGJhY2sgaG9zdHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpwc3ljb3BnMiBzdXBwb3J0cyBtdWx0aXBsZSBjb25uZWN0aW9uIHBvaW50cyBpbiB0aGUgY29ubmVjdGlvbiBzdHJpbmcuCldoZW4gdGhlIGBgaG9zdGBgIHBhcmFtZXRlciBpcyB1c2VkIG11bHRpcGxlIHRpbWVzIGluIHRoZSBxdWVyeSBzZWN0aW9uIG9mCnRoZSBVUkwsIFNRTEFsY2hlbXkgd2lsbCBjcmVhdGUgYSBzaW5nbGUgc3RyaW5nIG9mIHRoZSBob3N0IGFuZCBwb3J0CmluZm9ybWF0aW9uIHByb3ZpZGVkIHRvIG1ha2UgdGhlIGNvbm5lY3Rpb25zOjoKCiAgICBjcmVhdGVfZW5naW5lKAogICAgICAgICJwb3N0Z3Jlc3FsK3BzeWNvcGcyOi8vdXNlcjpwYXNzd29yZEAvZGJuYW1lP2hvc3Q9SG9zdEE6cG9ydDEmaG9zdD1Ib3N0QiZob3N0PUhvc3RDIgogICAgKQoKQSBjb25uZWN0aW9uIHRvIGVhY2ggaG9zdCBpcyB0aGVuIGF0dGVtcHRlZCB1bnRpbCBlaXRoZXIgYSBjb25uZWN0aW9uIGlzIHN1Y2Nlc3NmdWwKb3IgYWxsIGNvbm5lY3Rpb25zIGFyZSB1bnN1Y2Nlc3NmdWwgaW4gd2hpY2ggY2FzZSBhbiBlcnJvciBpcyByYWlzZWQuCgouLiB2ZXJzaW9uYWRkZWQ6OiAxLjMuMjAgU3VwcG9ydCBmb3IgbXVsdGlwbGUgaG9zdHMgaW4gUG9zdGdyZVNRTCBjb25uZWN0aW9uCiAgIHN0cmluZy4KCi4uIHNlZWFsc286OgoKICAgIGBQUUNvbm5TdHJpbmcgXAogICAgPGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2RvY3MvMTAvbGlicHEtY29ubmVjdC5odG1sI0xJQlBRLUNPTk5TVFJJTkc+YF8KCkVtcHR5IERTTiBDb25uZWN0aW9ucyAvIEVudmlyb25tZW50IFZhcmlhYmxlIENvbm5lY3Rpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIHBzeWNvcGcyIERCQVBJIGNhbiBjb25uZWN0IHRvIFBvc3RncmVTUUwgYnkgcGFzc2luZyBhbiBlbXB0eSBEU04gdG8gdGhlCmxpYnBxIGNsaWVudCBsaWJyYXJ5LCB3aGljaCBieSBkZWZhdWx0IGluZGljYXRlcyB0byBjb25uZWN0IHRvIGEgbG9jYWxob3N0ClBvc3RncmVTUUwgZGF0YWJhc2UgdGhhdCBpcyBvcGVuIGZvciAidHJ1c3QiIGNvbm5lY3Rpb25zLiAgVGhpcyBiZWhhdmlvciBjYW4gYmUKZnVydGhlciB0YWlsb3JlZCB1c2luZyBhIHBhcnRpY3VsYXIgc2V0IG9mIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aGljaCBhcmUKcHJlZml4ZWQgd2l0aCBgYFBHXy4uLmBgLCB3aGljaCBhcmUgIGNvbnN1bWVkIGJ5IGBgbGlicHFgYCB0byB0YWtlIHRoZSBwbGFjZSBvZgphbnkgb3IgYWxsIGVsZW1lbnRzIG9mIHRoZSBjb25uZWN0aW9uIHN0cmluZy4KCkZvciB0aGlzIGZvcm0sIHRoZSBVUkwgY2FuIGJlIHBhc3NlZCB3aXRob3V0IGFueSBlbGVtZW50cyBvdGhlciB0aGFuIHRoZQppbml0aWFsIHNjaGVtZTo6CgogICAgZW5naW5lID0gY3JlYXRlX2VuZ2luZSgncG9zdGdyZXNxbCtwc3ljb3BnMjovLycpCgpJbiB0aGUgYWJvdmUgZm9ybSwgYSBibGFuayAiZHNuIiBzdHJpbmcgaXMgcGFzc2VkIHRvIHRoZSBgYHBzeWNvcGcyLmNvbm5lY3QoKWBgCmZ1bmN0aW9uIHdoaWNoIGluIHR1cm4gcmVwcmVzZW50cyBhbiBlbXB0eSBEU04gcGFzc2VkIHRvIGxpYnBxLgoKLi4gdmVyc2lvbmFkZGVkOjogMS4zLjIgc3VwcG9ydCBmb3IgcGFyYW1ldGVyLWxlc3MgY29ubmVjdGlvbnMgd2l0aCBwc3ljb3BnMi4KCi4uIHNlZWFsc286OgoKICAgIGBFbnZpcm9ubWVudCBWYXJpYWJsZXNcCiAgICA8aHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvZG9jcy9jdXJyZW50L2xpYnBxLWVudmFycy5odG1sPmBfIC0KICAgIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbiBvbiBob3cgdG8gdXNlIGBgUEdfLi4uYGAKICAgIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgY29ubmVjdGlvbnMuCgouLiBfcHN5Y29wZzJfZXhlY3V0aW9uX29wdGlvbnM6CgpQZXItU3RhdGVtZW50L0Nvbm5lY3Rpb24gRXhlY3V0aW9uIE9wdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGZvbGxvd2luZyBEQkFQSS1zcGVjaWZpYyBvcHRpb25zIGFyZSByZXNwZWN0ZWQgd2hlbiB1c2VkIHdpdGgKOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9uc2AsCjptZXRoOmAuRXhlY3V0YWJsZS5leGVjdXRpb25fb3B0aW9uc2AsCjptZXRoOmBfcXVlcnkuUXVlcnkuZXhlY3V0aW9uX29wdGlvbnNgLAppbiBhZGRpdGlvbiB0byB0aG9zZSBub3Qgc3BlY2lmaWMgdG8gREJBUElzOgoKKiBgYGlzb2xhdGlvbl9sZXZlbGBgIC0gU2V0IHRoZSB0cmFuc2FjdGlvbiBpc29sYXRpb24gbGV2ZWwgZm9yIHRoZSBsaWZlc3BhbgogIG9mIGEgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gIChjYW4gb25seSBiZSBzZXQgb24gYSBjb25uZWN0aW9uLAogIG5vdCBhIHN0YXRlbWVudAogIG9yIHF1ZXJ5KS4gICBTZWUgOnJlZjpgcHN5Y29wZzJfaXNvbGF0aW9uX2xldmVsYC4KCiogYGBzdHJlYW1fcmVzdWx0c2BgIC0gRW5hYmxlIG9yIGRpc2FibGUgdXNhZ2Ugb2YgcHN5Y29wZzIgc2VydmVyIHNpZGUKICBjdXJzb3JzIC0gdGhpcyBmZWF0dXJlIG1ha2VzIHVzZSBvZiAibmFtZWQiIGN1cnNvcnMgaW4gY29tYmluYXRpb24gd2l0aAogIHNwZWNpYWwgcmVzdWx0IGhhbmRsaW5nIG1ldGhvZHMgc28gdGhhdCByZXN1bHQgcm93cyBhcmUgbm90IGZ1bGx5IGJ1ZmZlcmVkLgogIElmIGBgTm9uZWBgIG9yIG5vdCBzZXQsIHRoZSBgYHNlcnZlcl9zaWRlX2N1cnNvcnNgYCBvcHRpb24gb2YgdGhlCiAgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAgaXMgdXNlZC4KCiogYGBtYXhfcm93X2J1ZmZlcmBgIC0gd2hlbiB1c2luZyBgYHN0cmVhbV9yZXN1bHRzYGAsIGFuIGludGVnZXIgdmFsdWUgdGhhdAogIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygcm93cyB0byBidWZmZXIgYXQgYSB0aW1lLiAgVGhpcyBpcwogIGludGVycHJldGVkIGJ5IHRoZSA6Y2xhc3M6YC5CdWZmZXJlZFJvd1Jlc3VsdFByb3h5YCwgYW5kIGlmIG9taXR0ZWQgdGhlCiAgYnVmZmVyIHdpbGwgZ3JvdyB0byB1bHRpbWF0ZWx5IHN0b3JlIDEwMDAgcm93cyBhdCBhIHRpbWUuCgogIC4uIHZlcnNpb25hZGRlZDo6IDEuMC42CgouLiBfcHN5Y29wZzJfYmF0Y2hfbW9kZToKCi4uIF9wc3ljb3BnMl9leGVjdXRlbWFueV9tb2RlOgoKUHN5Y29wZzIgRmFzdCBFeGVjdXRpb24gSGVscGVycwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNb2Rlcm4gdmVyc2lvbnMgb2YgcHN5Y29wZzIgaW5jbHVkZSBhIGZlYXR1cmUga25vd24gYXMKYEZhc3QgRXhlY3V0aW9uIEhlbHBlcnMgXAo8aHR0cDovL2luaXRkLm9yZy9wc3ljb3BnL2RvY3MvZXh0cmFzLmh0bWwjZmFzdC1leGVjdXRpb24taGVscGVycz5gXywgd2hpY2gKaGF2ZSBiZWVuIHNob3duIGluIGJlbmNobWFya2luZyB0byBpbXByb3ZlIHBzeWNvcGcyJ3MgZXhlY3V0ZW1hbnkoKQpwZXJmb3JtYW5jZSwgcHJpbWFyaWx5IHdpdGggSU5TRVJUIHN0YXRlbWVudHMsIGJ5IG11bHRpcGxlIG9yZGVycyBvZiBtYWduaXR1ZGUuClNRTEFsY2hlbXkgYWxsb3dzIHRoaXMgZXh0ZW5zaW9uIHRvIGJlIHVzZWQgZm9yIGFsbCBgYGV4ZWN1dGVtYW55KClgYCBzdHlsZQpjYWxscyBpbnZva2VkIGJ5IGFuIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgCndoZW4gdXNlZCB3aXRoIDpyZWY6YG11bHRpcGxlIHBhcmFtZXRlcgpzZXRzIDxleGVjdXRlX211bHRpcGxlPmAsIHdoaWNoIGluY2x1ZGVzIHRoZSB1c2Ugb2YgdGhpcyBmZWF0dXJlIGJvdGggYnkgdGhlCkNvcmUgYXMgd2VsbCBhcyBieSB0aGUgT1JNIGZvciBpbnNlcnRzIG9mIG9iamVjdHMgd2l0aCBub24tYXV0b2dlbmVyYXRlZApwcmltYXJ5IGtleSB2YWx1ZXMsIGJ5IGFkZGluZyB0aGUgYGBleGVjdXRlbWFueV9tb2RlYGAgZmxhZyB0bwo6ZnVuYzpgX3NhLmNyZWF0ZV9lbmdpbmVgOjoKCiAgICBlbmdpbmUgPSBjcmVhdGVfZW5naW5lKAogICAgICAgICJwb3N0Z3Jlc3FsK3BzeWNvcGcyOi8vc2NvdHQ6dGlnZXJAaG9zdC9kYm5hbWUiLAogICAgICAgIGV4ZWN1dGVtYW55X21vZGU9J2JhdGNoJykKCgouLiB2ZXJzaW9uY2hhbmdlZDo6IDEuMy43ICAtIHRoZSBgYHVzZV9iYXRjaF9tb2RlYGAgZmxhZyBoYXMgYmVlbiBzdXBlcnNlZGVkCiAgIGJ5IGEgbmV3IHBhcmFtZXRlciBgYGV4ZWN1dGVtYW55X21vZGVgYCB3aGljaCBwcm92aWRlcyBzdXBwb3J0IGJvdGggZm9yCiAgIHBzeWNvcGcyJ3MgYGBleGVjdXRlX2JhdGNoYGAgaGVscGVyIGFzIHdlbGwgYXMgdGhlIGBgZXhlY3V0ZV92YWx1ZXNgYAogICBoZWxwZXIuCgpQb3NzaWJsZSBvcHRpb25zIGZvciBgYGV4ZWN1dGVtYW55X21vZGVgYCBpbmNsdWRlOgoKKiBgYE5vbmVgYCAtIEJ5IGRlZmF1bHQsIHBzeWNvcGcyJ3MgZXh0ZW5zaW9ucyBhcmUgbm90IHVzZWQsIGFuZCB0aGUgdXN1YWwKICBgYGN1cnNvci5leGVjdXRlbWFueSgpYGAgbWV0aG9kIGlzIHVzZWQgd2hlbiBpbnZva2luZyBiYXRjaGVzIG9mIHN0YXRlbWVudHMuCgoqIGBgJ2JhdGNoJ2BgIC0gVXNlcyBgYHBzeWNvcGcyLmV4dHJhcy5leGVjdXRlX2JhdGNoYGAgc28gdGhhdCBtdWx0aXBsZSBjb3BpZXMKICBvZiBhIFNRTCBxdWVyeSwgZWFjaCBvbmUgY29ycmVzcG9uZGluZyB0byBhIHBhcmFtZXRlciBzZXQgcGFzc2VkIHRvCiAgYGBleGVjdXRlbWFueSgpYGAsIGFyZSBqb2luZWQgaW50byBhIHNpbmdsZSBTUUwgc3RyaW5nIHNlcGFyYXRlZCBieSBhCiAgc2VtaWNvbG9uLiAgIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3IgYXMgd2FzIHByb3ZpZGVkIGJ5IHRoZQogIGBgdXNlX2JhdGNoX21vZGU9VHJ1ZWBgIGZsYWcuCgoqIGBgJ3ZhbHVlcydgYC0gRm9yIENvcmUgOmZ1bmM6YF9leHByZXNzaW9uLmluc2VydGAKICBjb25zdHJ1Y3RzIG9ubHkgKGluY2x1ZGluZyB0aG9zZQogIGVtaXR0ZWQgYnkgdGhlIE9STSBhdXRvbWF0aWNhbGx5KSwgdGhlIGBgcHN5Y29wZzIuZXh0cmFzLmV4ZWN1dGVfdmFsdWVzYGAKICBleHRlbnNpb24gaXMgdXNlZCBzbyB0aGF0IG11bHRpcGxlIHBhcmFtZXRlciBzZXRzIGFyZSBncm91cGVkIGludG8gYSBzaW5nbGUKICBJTlNFUlQgc3RhdGVtZW50IGFuZCBqb2luZWQgdG9nZXRoZXIgd2l0aCBtdWx0aXBsZSBWQUxVRVMgZXhwcmVzc2lvbnMuICAgVGhpcwogIG1ldGhvZCByZXF1aXJlcyB0aGF0IHRoZSBzdHJpbmcgdGV4dCBvZiB0aGUgVkFMVUVTIGNsYXVzZSBpbnNpZGUgdGhlCiAgSU5TRVJUIHN0YXRlbWVudCBpcyBtYW5pcHVsYXRlZCwgc28gaXMgb25seSBzdXBwb3J0ZWQgd2l0aCBhIGNvbXBpbGVkCiAgOmZ1bmM6YF9leHByZXNzaW9uLmluc2VydGAgY29uc3RydWN0IHdoZXJlIHRoZSBmb3JtYXQgaXMgcHJlZGljdGFibGUuCiAgRm9yIGFsbCBvdGhlcgogIGNvbnN0cnVjdHMsICBpbmNsdWRpbmcgcGxhaW4gdGV4dHVhbCBJTlNFUlQgc3RhdGVtZW50cyBub3QgcmVuZGVyZWQgIGJ5IHRoZQogIFNRTEFsY2hlbXkgZXhwcmVzc2lvbiBsYW5ndWFnZSBjb21waWxlciwgdGhlCiAgYGBwc3ljb3BnMi5leHRyYXMuZXhlY3V0ZV9iYXRjaGBgICBtZXRob2QgaXMgdXNlZC4gICBJdCBpcyB0aGVyZWZvcmUgaW1wb3J0YW50CiAgdG8gbm90ZSB0aGF0ICoqInZhbHVlcyIgbW9kZSBpbXBsaWVzIHRoYXQgImJhdGNoIiBtb2RlIGlzIGFsc28gdXNlZCBmb3IKICBhbGwgc3RhdGVtZW50cyBmb3Igd2hpY2ggInZhbHVlcyIgbW9kZSBkb2VzIG5vdCBhcHBseSoqLgoKRm9yIGJvdGggc3RyYXRlZ2llcywgdGhlIGBgZXhlY3V0ZW1hbnlfYmF0Y2hfcGFnZV9zaXplYGAgYW5kCmBgZXhlY3V0ZW1hbnlfdmFsdWVzX3BhZ2Vfc2l6ZWBgIGFyZ3VtZW50cyBjb250cm9sIGhvdyBtYW55IHBhcmFtZXRlciBzZXRzCnNob3VsZCBiZSByZXByZXNlbnRlZCBpbiBlYWNoIGV4ZWN1dGlvbi4gIEJlY2F1c2UgInZhbHVlcyIgbW9kZSBpbXBsaWVzIGEKZmFsbGJhY2sgZG93biB0byAiYmF0Y2giIG1vZGUgZm9yIG5vbi1JTlNFUlQgc3RhdGVtZW50cywgdGhlcmUgYXJlIHR3bwppbmRlcGVuZGVudCBwYWdlIHNpemUgYXJndW1lbnRzLiAgRm9yIGVhY2gsIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGBgTm9uZWBgIG1lYW5zCnRvIHVzZSBwc3ljb3BnMidzIGRlZmF1bHRzLCB3aGljaCBhdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcgYXJlIHF1aXRlIGxvdyBhdAoxMDAuICAgRm9yIHRoZSBgYGV4ZWN1dGVfdmFsdWVzYGAgbWV0aG9kLCBhIG51bWJlciBhcyBoaWdoIGFzIDEwMDAwIG1heSBwcm92ZQp0byBiZSBwZXJmb3JtYW50LCB3aGVyZWFzIGZvciBgYGV4ZWN1dGVfYmF0Y2hgYCwgYXMgdGhlIG51bWJlciByZXByZXNlbnRzCmZ1bGwgc3RhdGVtZW50cyByZXBlYXRlZCwgYSBudW1iZXIgY2xvc2VyIHRvIHRoZSBkZWZhdWx0IG9mIDEwMCBpcyBsaWtlbHkKbW9yZSBhcHByb3ByaWF0ZTo6CgogICAgZW5naW5lID0gY3JlYXRlX2VuZ2luZSgKICAgICAgICAicG9zdGdyZXNxbCtwc3ljb3BnMjovL3Njb3R0OnRpZ2VyQGhvc3QvZGJuYW1lIiwKICAgICAgICBleGVjdXRlbWFueV9tb2RlPSd2YWx1ZXMnLAogICAgICAgIGV4ZWN1dGVtYW55X3ZhbHVlc19wYWdlX3NpemU9MTAwMDAsIGV4ZWN1dGVtYW55X2JhdGNoX3BhZ2Vfc2l6ZT01MDApCgoKLi4gc2VlYWxzbzo6CgogICAgOnJlZjpgZXhlY3V0ZV9tdWx0aXBsZWAgLSBHZW5lcmFsIGluZm9ybWF0aW9uIG9uIHVzaW5nIHRoZQogICAgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gCiAgICBvYmplY3QgdG8gZXhlY3V0ZSBzdGF0ZW1lbnRzIGluIHN1Y2ggYSB3YXkgYXMgdG8gbWFrZQogICAgdXNlIG9mIHRoZSBEQkFQSSBgYC5leGVjdXRlbWFueSgpYGAgbWV0aG9kLgoKLi4gdmVyc2lvbmNoYW5nZWQ6OiAxLjMuNyAtIEFkZGVkIHN1cHBvcnQgZm9yCiAgIGBgcHN5Y29wZzIuZXh0cmFzLmV4ZWN1dGVfdmFsdWVzYGAuICAgVGhlIGBgdXNlX2JhdGNoX21vZGVgYCBmbGFnIGlzCiAgIHN1cGVyc2VkZWQgYnkgdGhlIGBgZXhlY3V0ZW1hbnlfbW9kZWBgIGZsYWcuCgoKLi4gX3BzeWNvcGcyX3VuaWNvZGU6CgpVbmljb2RlIHdpdGggUHN5Y29wZzIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQnkgZGVmYXVsdCwgdGhlIHBzeWNvcGcyIGRyaXZlciB1c2VzIHRoZSBgYHBzeWNvcGcyLmV4dGVuc2lvbnMuVU5JQ09ERWBgCmV4dGVuc2lvbiwgc3VjaCB0aGF0IHRoZSBEQkFQSSByZWNlaXZlcyBhbmQgcmV0dXJucyBhbGwgc3RyaW5ncyBhcyBQeXRob24KVW5pY29kZSBvYmplY3RzIGRpcmVjdGx5IC0gU1FMQWxjaGVteSBwYXNzZXMgdGhlc2UgdmFsdWVzIHRocm91Z2ggd2l0aG91dApjaGFuZ2UuICAgUHN5Y29wZzIgaGVyZSB3aWxsIGVuY29kZS9kZWNvZGUgc3RyaW5nIHZhbHVlcyBiYXNlZCBvbiB0aGUKY3VycmVudCAiY2xpZW50IGVuY29kaW5nIiBzZXR0aW5nOyBieSBkZWZhdWx0IHRoaXMgaXMgdGhlIHZhbHVlIGluCnRoZSBgYHBvc3RncmVzcWwuY29uZmBgIGZpbGUsIHdoaWNoIG9mdGVuIGRlZmF1bHRzIHRvIGBgU1FMX0FTQ0lJYGAuClR5cGljYWxseSwgdGhpcyBjYW4gYmUgY2hhbmdlZCB0byBgYHV0ZjhgYCwgYXMgYSBtb3JlIHVzZWZ1bCBkZWZhdWx0OjoKCiAgICAjIHBvc3RncmVzcWwuY29uZiBmaWxlCgogICAgIyBjbGllbnRfZW5jb2RpbmcgPSBzcWxfYXNjaWkgIyBhY3R1YWxseSwgZGVmYXVsdHMgdG8gZGF0YWJhc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBlbmNvZGluZwogICAgY2xpZW50X2VuY29kaW5nID0gdXRmOAoKQSBzZWNvbmQgd2F5IHRvIGFmZmVjdCB0aGUgY2xpZW50IGVuY29kaW5nIGlzIHRvIHNldCBpdCB3aXRoaW4gUHN5Y29wZzIKbG9jYWxseS4gICBTUUxBbGNoZW15IHdpbGwgY2FsbCBwc3ljb3BnMidzCjptZXRoOmBwc3ljb3BnMjpjb25uZWN0aW9uLnNldF9jbGllbnRfZW5jb2RpbmdgIG1ldGhvZApvbiBhbGwgbmV3IGNvbm5lY3Rpb25zIGJhc2VkIG9uIHRoZSB2YWx1ZSBwYXNzZWQgdG8KOmZ1bmM6YF9zYS5jcmVhdGVfZW5naW5lYCB1c2luZyB0aGUgYGBjbGllbnRfZW5jb2RpbmdgYCBwYXJhbWV0ZXI6OgoKICAgICMgc2V0X2NsaWVudF9lbmNvZGluZygpIHNldHRpbmc7CiAgICAjIHdvcmtzIGZvciAqYWxsKiBQb3N0Z3JlU1FMIHZlcnNpb25zCiAgICBlbmdpbmUgPSBjcmVhdGVfZW5naW5lKCJwb3N0Z3Jlc3FsOi8vdXNlcjpwYXNzQGhvc3QvZGJuYW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X2VuY29kaW5nPSd1dGY4JykKClRoaXMgb3ZlcnJpZGVzIHRoZSBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlIFBvc3RncmVTUUwgY2xpZW50IGNvbmZpZ3VyYXRpb24uCldoZW4gdXNpbmcgdGhlIHBhcmFtZXRlciBpbiB0aGlzIHdheSwgdGhlIHBzeWNvcGcyIGRyaXZlciBlbWl0cwpgYFNFVCBjbGllbnRfZW5jb2RpbmcgVE8gJ3V0ZjgnYGAgb24gdGhlIGNvbm5lY3Rpb24gZXhwbGljaXRseSwgYW5kIHdvcmtzCmluIGFsbCBQb3N0Z3JlU1FMIHZlcnNpb25zLgoKTm90ZSB0aGF0IHRoZSBgYGNsaWVudF9lbmNvZGluZ2BgIHNldHRpbmcgYXMgcGFzc2VkIHRvCjpmdW5jOmBfc2EuY3JlYXRlX2VuZ2luZWAKaXMgKipub3QgdGhlIHNhbWUqKiBhcyB0aGUgbW9yZSByZWNlbnRseSBhZGRlZCBgYGNsaWVudF9lbmNvZGluZ2BgIHBhcmFtZXRlcgpub3cgc3VwcG9ydGVkIGJ5IGxpYnBxIGRpcmVjdGx5LiAgIFRoaXMgaXMgZW5hYmxlZCB3aGVuIGBgY2xpZW50X2VuY29kaW5nYGAKaXMgcGFzc2VkIGRpcmVjdGx5IHRvIGBgcHN5Y29wZzIuY29ubmVjdCgpYGAsIGFuZCBmcm9tIFNRTEFsY2hlbXkgaXMgcGFzc2VkCnVzaW5nIHRoZSA6cGFyYW1yZWY6YF9zYS5jcmVhdGVfZW5naW5lLmNvbm5lY3RfYXJnc2AgcGFyYW1ldGVyOjoKCiAgICBlbmdpbmUgPSBjcmVhdGVfZW5naW5lKAogICAgICAgICJwb3N0Z3Jlc3FsOi8vdXNlcjpwYXNzQGhvc3QvZGJuYW1lIiwKICAgICAgICBjb25uZWN0X2FyZ3M9eydjbGllbnRfZW5jb2RpbmcnOiAndXRmOCd9KQoKICAgICMgdXNpbmcgdGhlIHF1ZXJ5IHN0cmluZyBpcyBlcXVpdmFsZW50CiAgICBlbmdpbmUgPSBjcmVhdGVfZW5naW5lKCJwb3N0Z3Jlc3FsOi8vdXNlcjpwYXNzQGhvc3QvZGJuYW1lP2NsaWVudF9lbmNvZGluZz11dGY4IikKClRoZSBhYm92ZSBwYXJhbWV0ZXIgd2FzIG9ubHkgYWRkZWQgdG8gbGlicHEgYXMgb2YgdmVyc2lvbiA5LjEgb2YgUG9zdGdyZVNRTCwKc28gdXNpbmcgdGhlIHByZXZpb3VzIG1ldGhvZCBpcyBiZXR0ZXIgZm9yIGNyb3NzLXZlcnNpb24gc3VwcG9ydC4KCi4uIF9wc3ljb3BnMl9kaXNhYmxlX25hdGl2ZV91bmljb2RlOgoKRGlzYWJsaW5nIE5hdGl2ZSBVbmljb2RlCl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKU1FMQWxjaGVteSBjYW4gYWxzbyBiZSBpbnN0cnVjdGVkIHRvIHNraXAgdGhlIHVzYWdlIG9mIHRoZSBwc3ljb3BnMgpgYFVOSUNPREVgYCBleHRlbnNpb24gYW5kIHRvIGluc3RlYWQgdXRpbGl6ZSBpdHMgb3duIHVuaWNvZGUgZW5jb2RlL2RlY29kZQpzZXJ2aWNlcywgd2hpY2ggYXJlIG5vcm1hbGx5IHJlc2VydmVkIG9ubHkgZm9yIHRob3NlIERCQVBJcyB0aGF0IGRvbid0CmZ1bGx5IHN1cHBvcnQgdW5pY29kZSBkaXJlY3RseS4gIFBhc3NpbmcgYGB1c2VfbmF0aXZlX3VuaWNvZGU9RmFsc2VgYCB0bwo6ZnVuYzpgX3NhLmNyZWF0ZV9lbmdpbmVgIHdpbGwgZGlzYWJsZSB1c2FnZSBvZiBgYHBzeWNvcGcyLmV4dGVuc2lvbnMuClVOSUNPREVgYC4KU1FMQWxjaGVteSB3aWxsIGluc3RlYWQgZW5jb2RlIGRhdGEgaXRzZWxmIGludG8gUHl0aG9uIGJ5dGVzdHJpbmdzIG9uIHRoZSB3YXkKaW4gYW5kIGNvZXJjZSBmcm9tIGJ5dGVzIG9uIHRoZSB3YXkgYmFjaywKdXNpbmcgdGhlIHZhbHVlIG9mIHRoZSA6ZnVuYzpgX3NhLmNyZWF0ZV9lbmdpbmVgIGBgZW5jb2RpbmdgYCBwYXJhbWV0ZXIsIHdoaWNoCmRlZmF1bHRzIHRvIGBgdXRmLThgYC4KU1FMQWxjaGVteSdzIG93biB1bmljb2RlIGVuY29kZS9kZWNvZGUgZnVuY3Rpb25hbGl0eSBpcyBzdGVhZGlseSBiZWNvbWluZwpvYnNvbGV0ZSBhcyBtb3N0IERCQVBJcyBub3cgc3VwcG9ydCB1bmljb2RlIGZ1bGx5LgoKQm91bmQgUGFyYW1ldGVyIFN0eWxlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgZGVmYXVsdCBwYXJhbWV0ZXIgc3R5bGUgZm9yIHRoZSBwc3ljb3BnMiBkaWFsZWN0IGlzICJweWZvcm1hdCIsIHdoZXJlClNRTCBpcyByZW5kZXJlZCB1c2luZyBgYCUocGFyYW1uYW1lKXNgYCBzdHlsZS4gICBUaGlzIGZvcm1hdCBoYXMgdGhlIGxpbWl0YXRpb24KdGhhdCBpdCBkb2VzIG5vdCBhY2NvbW1vZGF0ZSB0aGUgdW51c3VhbCBjYXNlIG9mIHBhcmFtZXRlciBuYW1lcyB0aGF0CmFjdHVhbGx5IGNvbnRhaW4gcGVyY2VudCBvciBwYXJlbnRoZXNpcyBzeW1ib2xzOyBhcyBTUUxBbGNoZW15IGluIG1hbnkgY2FzZXMKZ2VuZXJhdGVzIGJvdW5kIHBhcmFtZXRlciBuYW1lcyBiYXNlZCBvbiB0aGUgbmFtZSBvZiBhIGNvbHVtbiwgdGhlIHByZXNlbmNlCm9mIHRoZXNlIGNoYXJhY3RlcnMgaW4gYSBjb2x1bW4gbmFtZSBjYW4gbGVhZCB0byBwcm9ibGVtcy4KClRoZXJlIGFyZSB0d28gc29sdXRpb25zIHRvIHRoZSBpc3N1ZSBvZiBhIDpjbGFzczpgX3NjaGVtYS5Db2x1bW5gCnRoYXQgY29udGFpbnMKb25lIG9mIHRoZXNlIGNoYXJhY3RlcnMgaW4gaXRzIG5hbWUuICBPbmUgaXMgdG8gc3BlY2lmeSB0aGUKOnBhcmFtcmVmOmAuc2NoZW1hLkNvbHVtbi5rZXlgIGZvciBjb2x1bW5zIHRoYXQgaGF2ZSBzdWNoIG5hbWVzOjoKCiAgICBtZWFzdXJlbWVudCA9IFRhYmxlKCdtZWFzdXJlbWVudCcsIG1ldGFkYXRhLAogICAgICAgIENvbHVtbignU2l6ZSAobWV0ZXJzKScsIEludGVnZXIsIGtleT0nc2l6ZV9tZXRlcnMnKQogICAgKQoKQWJvdmUsIGFuIElOU0VSVCBzdGF0ZW1lbnQgc3VjaCBhcyBgYG1lYXN1cmVtZW50Lmluc2VydCgpYGAgd2lsbCB1c2UKYGBzaXplX21ldGVyc2BgIGFzIHRoZSBwYXJhbWV0ZXIgbmFtZSwgYW5kIGEgU1FMIGV4cHJlc3Npb24gc3VjaCBhcwpgYG1lYXN1cmVtZW50LmMuc2l6ZV9tZXRlcnMgPiAxMGBgIHdpbGwgZGVyaXZlIHRoZSBib3VuZCBwYXJhbWV0ZXIgbmFtZQpmcm9tIHRoZSBgYHNpemVfbWV0ZXJzYGAga2V5IGFzIHdlbGwuCgouLiB2ZXJzaW9uY2hhbmdlZDo6IDEuMC4wIC0gU1FMIGV4cHJlc3Npb25zIHdpbGwgdXNlCiAgIDphdHRyOmBfc2NoZW1hLkNvbHVtbi5rZXlgCiAgIGFzIHRoZSBzb3VyY2Ugb2YgbmFtaW5nIHdoZW4gYW5vbnltb3VzIGJvdW5kIHBhcmFtZXRlcnMgYXJlIGNyZWF0ZWQKICAgaW4gU1FMIGV4cHJlc3Npb25zOyBwcmV2aW91c2x5LCB0aGlzIGJlaGF2aW9yIG9ubHkgYXBwbGllZCB0bwogICA6bWV0aDpgX3NjaGVtYS5UYWJsZS5pbnNlcnRgIGFuZCA6bWV0aDpgX3NjaGVtYS5UYWJsZS51cGRhdGVgCiAgIHBhcmFtZXRlciBuYW1lcy4KClRoZSBvdGhlciBzb2x1dGlvbiBpcyB0byB1c2UgYSBwb3NpdGlvbmFsIGZvcm1hdDsgcHN5Y29wZzIgYWxsb3dzIHVzZSBvZiB0aGUKImZvcm1hdCIgcGFyYW1zdHlsZSwgd2hpY2ggY2FuIGJlIHBhc3NlZCB0bwo6cGFyYW1yZWY6YF9zYS5jcmVhdGVfZW5naW5lLnBhcmFtc3R5bGVgOjoKCiAgICBlbmdpbmUgPSBjcmVhdGVfZW5naW5lKAogICAgICAgICdwb3N0Z3Jlc3FsOi8vc2NvdHQ6dGlnZXJAbG9jYWxob3N0OjU0MzIvdGVzdCcsIHBhcmFtc3R5bGU9J2Zvcm1hdCcpCgpXaXRoIHRoZSBhYm92ZSBlbmdpbmUsIGluc3RlYWQgb2YgYSBzdGF0ZW1lbnQgbGlrZTo6CgogICAgSU5TRVJUIElOVE8gbWVhc3VyZW1lbnQgKCJTaXplIChtZXRlcnMpIikgVkFMVUVTICglKFNpemUgKG1ldGVycykpcykKICAgIHsnU2l6ZSAobWV0ZXJzKSc6IDF9Cgp3ZSBpbnN0ZWFkIHNlZTo6CgogICAgSU5TRVJUIElOVE8gbWVhc3VyZW1lbnQgKCJTaXplIChtZXRlcnMpIikgVkFMVUVTICglcykKICAgICgxLCApCgpXaGVyZSBhYm92ZSwgdGhlIGRpY3Rpb25hcnkgc3R5bGUgaXMgY29udmVydGVkIGludG8gYSB0dXBsZSB3aXRoIHBvc2l0aW9uYWwKc3R5bGUuCgoKVHJhbnNhY3Rpb25zCi0tLS0tLS0tLS0tLQoKVGhlIHBzeWNvcGcyIGRpYWxlY3QgZnVsbHkgc3VwcG9ydHMgU0FWRVBPSU5UIGFuZCB0d28tcGhhc2UgY29tbWl0IG9wZXJhdGlvbnMuCgouLiBfcHN5Y29wZzJfaXNvbGF0aW9uX2xldmVsOgoKUHN5Y29wZzIgVHJhbnNhY3Rpb24gSXNvbGF0aW9uIExldmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkFzIGRpc2N1c3NlZCBpbiA6cmVmOmBwb3N0Z3Jlc3FsX2lzb2xhdGlvbl9sZXZlbGAsCmFsbCBQb3N0Z3JlU1FMIGRpYWxlY3RzIHN1cHBvcnQgc2V0dGluZyBvZiB0cmFuc2FjdGlvbiBpc29sYXRpb24gbGV2ZWwKYm90aCB2aWEgdGhlIGBgaXNvbGF0aW9uX2xldmVsYGAgcGFyYW1ldGVyIHBhc3NlZCB0byA6ZnVuYzpgX3NhLmNyZWF0ZV9lbmdpbmVgCiwKYXMgd2VsbCBhcyB0aGUgYGBpc29sYXRpb25fbGV2ZWxgYCBhcmd1bWVudCB1c2VkIGJ5CjptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uZXhlY3V0aW9uX29wdGlvbnNgLiAgV2hlbiB1c2luZyB0aGUgcHN5Y29wZzIgZGlhbGVjdAosIHRoZXNlCm9wdGlvbnMgbWFrZSB1c2Ugb2YgcHN5Y29wZzIncyBgYHNldF9pc29sYXRpb25fbGV2ZWwoKWBgIGNvbm5lY3Rpb24gbWV0aG9kLApyYXRoZXIgdGhhbiBlbWl0dGluZyBhIFBvc3RncmVTUUwgZGlyZWN0aXZlOyB0aGlzIGlzIGJlY2F1c2UgcHN5Y29wZzIncwpBUEktbGV2ZWwgc2V0dGluZyBpcyBhbHdheXMgZW1pdHRlZCBhdCB0aGUgc3RhcnQgb2YgZWFjaCB0cmFuc2FjdGlvbiBpbiBhbnkKY2FzZS4KClRoZSBwc3ljb3BnMiBkaWFsZWN0IHN1cHBvcnRzIHRoZXNlIGNvbnN0YW50cyBmb3IgaXNvbGF0aW9uIGxldmVsOgoKKiBgYFJFQUQgQ09NTUlUVEVEYGAKKiBgYFJFQUQgVU5DT01NSVRURURgYAoqIGBgUkVQRUFUQUJMRSBSRUFEYGAKKiBgYFNFUklBTElaQUJMRWBgCiogYGBBVVRPQ09NTUlUYGAKCi4uIHNlZWFsc286OgoKICAgIDpyZWY6YHBvc3RncmVzcWxfaXNvbGF0aW9uX2xldmVsYAoKICAgIDpyZWY6YHBnODAwMF9pc29sYXRpb25fbGV2ZWxgCgoKTk9USUNFIGxvZ2dpbmcKLS0tLS0tLS0tLS0tLS0tCgpUaGUgcHN5Y29wZzIgZGlhbGVjdCB3aWxsIGxvZyBQb3N0Z3JlU1FMIE5PVElDRSBtZXNzYWdlcwp2aWEgdGhlIGBgc3FsYWxjaGVteS5kaWFsZWN0cy5wb3N0Z3Jlc3FsYGAgbG9nZ2VyLiAgV2hlbiB0aGlzIGxvZ2dlcgppcyBzZXQgdG8gdGhlIGBgbG9nZ2luZy5JTkZPYGAgbGV2ZWwsIG5vdGljZSBtZXNzYWdlcyB3aWxsIGJlIGxvZ2dlZDo6CgogICAgaW1wb3J0IGxvZ2dpbmcKCiAgICBsb2dnaW5nLmdldExvZ2dlcignc3FsYWxjaGVteS5kaWFsZWN0cy5wb3N0Z3Jlc3FsJykuc2V0TGV2ZWwobG9nZ2luZy5JTkZPKQoKQWJvdmUsIGl0IGlzIGFzc3VtZWQgdGhhdCBsb2dnaW5nIGlzIGNvbmZpZ3VyZWQgZXh0ZXJuYWxseS4gIElmIHRoaXMgaXMgbm90CnRoZSBjYXNlLCBjb25maWd1cmF0aW9uIHN1Y2ggYXMgYGBsb2dnaW5nLmJhc2ljQ29uZmlnKClgYCBtdXN0IGJlIHV0aWxpemVkOjoKCiAgICBpbXBvcnQgbG9nZ2luZwoKICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoKSAgICMgbG9nIG1lc3NhZ2VzIHRvIHN0ZG91dAogICAgbG9nZ2luZy5nZXRMb2dnZXIoJ3NxbGFsY2hlbXkuZGlhbGVjdHMucG9zdGdyZXNxbCcpLnNldExldmVsKGxvZ2dpbmcuSU5GTykKCi4uIHNlZWFsc286OgoKICAgIGBMb2dnaW5nIEhPV1RPIDxodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2hvd3RvL2xvZ2dpbmcuaHRtbD5gXyAtIG9uIHRoZSBweXRob24ub3JnIHdlYnNpdGUKCi4uIF9wc3ljb3BnMl9oc3RvcmU6CgpIU1RPUkUgdHlwZQotLS0tLS0tLS0tLS0KClRoZSBgYHBzeWNvcGcyYGAgREJBUEkgaW5jbHVkZXMgYW4gZXh0ZW5zaW9uIHRvIG5hdGl2ZWx5IGhhbmRsZSBtYXJzaGFsbGluZyBvZgp0aGUgSFNUT1JFIHR5cGUuICAgVGhlIFNRTEFsY2hlbXkgcHN5Y29wZzIgZGlhbGVjdCB3aWxsIGVuYWJsZSB0aGlzIGV4dGVuc2lvbgpieSBkZWZhdWx0IHdoZW4gcHN5Y29wZzIgdmVyc2lvbiAyLjQgb3IgZ3JlYXRlciBpcyB1c2VkLCBhbmQKaXQgaXMgZGV0ZWN0ZWQgdGhhdCB0aGUgdGFyZ2V0IGRhdGFiYXNlIGhhcyB0aGUgSFNUT1JFIHR5cGUgc2V0IHVwIGZvciB1c2UuCkluIG90aGVyIHdvcmRzLCB3aGVuIHRoZSBkaWFsZWN0IG1ha2VzIHRoZSBmaXJzdApjb25uZWN0aW9uLCBhIHNlcXVlbmNlIGxpa2UgdGhlIGZvbGxvd2luZyBpcyBwZXJmb3JtZWQ6CgoxLiBSZXF1ZXN0IHRoZSBhdmFpbGFibGUgSFNUT1JFIG9pZHMgdXNpbmcKICAgYGBwc3ljb3BnMi5leHRyYXMuSHN0b3JlQWRhcHRlci5nZXRfb2lkcygpYGAuCiAgIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgSFNUT1JFIGlkZW50aWZpZXJzLCB3ZSB0aGVuIGRldGVybWluZQogICB0aGF0IHRoZSBgYEhTVE9SRWBgIGV4dGVuc2lvbiBpcyBwcmVzZW50LgogICBUaGlzIGZ1bmN0aW9uIGlzICoqc2tpcHBlZCoqIGlmIHRoZSB2ZXJzaW9uIG9mIHBzeWNvcGcyIGluc3RhbGxlZCBpcwogICBsZXNzIHRoYW4gdmVyc2lvbiAyLjQuCgoyLiBJZiB0aGUgYGB1c2VfbmF0aXZlX2hzdG9yZWBgIGZsYWcgaXMgYXQgaXRzIGRlZmF1bHQgb2YgYGBUcnVlYGAsIGFuZAogICB3ZSd2ZSBkZXRlY3RlZCB0aGF0IGBgSFNUT1JFYGAgb2lkcyBhcmUgYXZhaWxhYmxlLCB0aGUKICAgYGBwc3ljb3BnMi5leHRlbnNpb25zLnJlZ2lzdGVyX2hzdG9yZSgpYGAgZXh0ZW5zaW9uIGlzIGludm9rZWQgZm9yIGFsbAogICBjb25uZWN0aW9ucy4KClRoZSBgYHJlZ2lzdGVyX2hzdG9yZSgpYGAgZXh0ZW5zaW9uIGhhcyB0aGUgZWZmZWN0IG9mICoqYWxsIFB5dGhvbgpkaWN0aW9uYXJpZXMgYmVpbmcgYWNjZXB0ZWQgYXMgcGFyYW1ldGVycyByZWdhcmRsZXNzIG9mIHRoZSB0eXBlIG9mIHRhcmdldApjb2x1bW4gaW4gU1FMKiouIFRoZSBkaWN0aW9uYXJpZXMgYXJlIGNvbnZlcnRlZCBieSB0aGlzIGV4dGVuc2lvbiBpbnRvIGEKdGV4dHVhbCBIU1RPUkUgZXhwcmVzc2lvbi4gIElmIHRoaXMgYmVoYXZpb3IgaXMgbm90IGRlc2lyZWQsIGRpc2FibGUgdGhlCnVzZSBvZiB0aGUgaHN0b3JlIGV4dGVuc2lvbiBieSBzZXR0aW5nIGBgdXNlX25hdGl2ZV9oc3RvcmVgYCB0byBgYEZhbHNlYGAgYXMKZm9sbG93czo6CgogICAgZW5naW5lID0gY3JlYXRlX2VuZ2luZSgicG9zdGdyZXNxbCtwc3ljb3BnMjovL3Njb3R0OnRpZ2VyQGxvY2FsaG9zdC90ZXN0IiwKICAgICAgICAgICAgICAgIHVzZV9uYXRpdmVfaHN0b3JlPUZhbHNlKQoKVGhlIGBgSFNUT1JFYGAgdHlwZSBpcyAqKnN0aWxsIHN1cHBvcnRlZCoqIHdoZW4gdGhlCmBgcHN5Y29wZzIuZXh0ZW5zaW9ucy5yZWdpc3Rlcl9oc3RvcmUoKWBgIGV4dGVuc2lvbiBpcyBub3QgdXNlZC4gIEl0IG1lcmVseQptZWFucyB0aGF0IHRoZSBjb2VyY2lvbiBiZXR3ZWVuIFB5dGhvbiBkaWN0aW9uYXJpZXMgYW5kIHRoZSBIU1RPUkUKc3RyaW5nIGZvcm1hdCwgb24gYm90aCB0aGUgcGFyYW1ldGVyIHNpZGUgYW5kIHRoZSByZXN1bHQgc2lkZSwgd2lsbCB0YWtlCnBsYWNlIHdpdGhpbiBTUUxBbGNoZW15J3Mgb3duIG1hcnNoYWxsaW5nIGxvZ2ljLCBhbmQgbm90IHRoYXQgb2YgYGBwc3ljb3BnMmBgCndoaWNoIG1heSBiZSBtb3JlIHBlcmZvcm1hbnQuCgrpAAAAACkB2g9hYnNvbHV0ZV9pbXBvcnRO6QEAAAApAdoOX0RFQ0lNQUxfVFlQRVMpAdoMX0ZMT0FUX1RZUEVTKQHaCl9JTlRfVFlQRVMpAdoERU5VTSkB2gpQR0NvbXBpbGVyKQHaCVBHRGlhbGVjdCkB2hJQR0V4ZWN1dGlvbkNvbnRleHQpAdoUUEdJZGVudGlmaWVyUHJlcGFyZXIpAdoEVVVJRCkB2gZIU1RPUkUpAdoESlNPTikB2gVKU09OQukDAAAAKQHaA2V4YykB2gpwcm9jZXNzb3JzKQHaBXR5cGVzKQHaBHV0aWwpAdoGcmVzdWx0KQHaCGVsZW1lbnRzKQHaD2NvbGxlY3Rpb25zX2FiY3oec3FsYWxj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AB7QAB7QAB7QAB7QAB7YABzQABzQABzQABzQABzQABzYABbQABbQABbQABbQABbQABbYABzQABzQABzQABzQABzQABzYABvQABvQABvQABvQABvQABvYACTQACTQACTQACTQACTQACTYACbQACbQACbQACbQACbQACbYABbQABbQABbQABbQABbQABbYABrQABrQABrQABrQABrQABrYABbQABbQABbQABbQABbQABbYABfQABfQABfQABfQABfQABfYABPQABPQABPQABPQABPQABPYABrQABrQABrQABrQABrQABrYACHQACHQACHQACHQACHQACHYABTQABTQABTQABTQABTQABTYACfQACfQACfQACfQACfQACfYABvQABvQABvQABvQABvQABvYACPQACPQACPQACPQACPQACPwBAMBGNgEKdAEKdAEKdAEKdAEKdAEKdAEKfjYBxLwAAEBGPAAAQEY8AABARjYExeATIBMgEzwAwEBGPj4+PAIAAobiBfUCRrQGzvRCTzUCTyABvAGGgES8AAaARLwABoBEvAAGgES8AAaARKQGNQRIfEAGgES9AAaARLwABoBEvA6DQFHAfAADQFHAfAADQFHAfAADQFHAfAADQFHAYhk8QANAUcB9AANAUcB8AANAUcB8CALAU0B8AALAU0B8AALAU0B8AALAU0B8AALAU0BkAbxAAsBTQH0AAsBTQHwAAsBTQHwHAUBSwHwAAUBSwHwAAUBSwHwAAUBSwHwAAUBSwGIZPEABQFLAfQABQFLAfAABQFLAfAQBQFMAfAABQFMAfAABQFMAfAABQFMAfAABQFMAYh18QAFAUwB9AAFAUwB8AAFAUwB8BATARvwABMBG/AAEwEb8AATARvwABMBG4hk8QATARv0ABMBG/AAEwEb8CwAEx+QJJQskS6ULoAP8AYeASrwAB4BKvAAHgEq8AAeASrwAB4BKtAiNPEAHgEq9AAeASrwAB4BKvBCAQ4BFPAADgEU8AAOARTwAA4BFPAADgEUmCrxAA4BFPQADgEU8AAOARTwIgEBCfAAAQEJ8AABAQnwAAEBCfAAAQEJ0CQ48QABAQn0AAEBCfAAAQEJ8AgAFyKQZJRr0CI30RY41BY40AAT2BQfkESUS9AgM9EUNNQUNNAAEdgVIJBUlFvQITXRFTbUFTbQABLwBmUFARXwAGUFARXwAGUFARXwAGUFARXwAGUFARWYGfEAZQUBFfQAZQUBFfAAZQUBFfBQCwALHYAHgAeAB3MSAAAAwggGQg8Awg8HQhkDwhgBQhkD
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 15
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
array.cpython-311.pyc
15.06 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
base.cpython-311.pyc
150.52 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
dml.cpython-311.pyc
8.81 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ext.cpython-311.pyc
9.73 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
hstore.cpython-311.pyc
17.12 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
json.cpython-311.pyc
12.63 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pg8000.cpython-311.pyc
15.50 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
provision.cpython-311.pyc
3.29 KB
lrw-r--r--
2026-01-20 13:01:47
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
psycopg2.cpython-311.pyc
41.38 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
psycopg2cffi.cpython-311.pyc
2.12 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pygresql.cpython-311.pyc
12.87 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pypostgresql.cpython-311.pyc
4.41 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ranges.cpython-311.pyc
7.14 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
zxjdbc.cpython-311.pyc
2.66 KB
lrw-r--r--
2026-02-06 08:01:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-311.pyc
2.96 KB
lrw-r--r--
2026-02-06 08:01:46
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).