Re: Postgres enum problem
Russ Tyndall <[email protected]> Thu, 18 Aug 2016 15:32:03 -0400
| Newsgroups | gmane.lisp.clsql.general |
|---|---|
| Message-ID | <[email protected]> |
TXkgaW5pdGlhbCByZXBseSBnb3QgbG9zdCB3aGVuIG15IGNvbXB1dGVyIGZyb3plIGR1cmluZyB1 cGdyYWRlLiBTb3JyeSAKZm9yIHRoZSBkZWxheS4KCllvdXIgc29sdXRpb24gbG9va3MgbGlrZSB3 aGF0IEkgaGFkIGluIG1pbmQuICBZb3UgbWlnaHQgYWxzbyBjb25zaWRlciAKanVzdCBzZXR0aW5n IHRoZSB0eXBlIHRvICdzdHJpbmcgKHRoaXMgd2lsbCBjb252ZXJ0IHlvdXIgc3ltYm9scyB0byAK c3RyaW5nIHZhbHVlcyBpbiB0aGUgZGF0YWJhc2UsIGJ1dCBub3QgYmFjayB0byBrZXl3b3JkcyB3 aGVuIHlvdSAKcmV0cmlldmUgdGhlbSAtIG5vdCBzdXJlIGlmIHRoaXMgaXMgcmVsZXZhbnQgb3Ig bm90KS4KClRoYW5rIGZvciBwb2ludGluZyBvdXQgdGhlIG9kZCBjYXNlIHN0YXRlbWVudHMuCgpZ b3UgYWxzbyBub3RpY2VkIHRoYXQgRkRNTCBkb2Vzbid0IGNvcnJlY3RseSBjb252ZXJ0IHN5bWJv bHMgaW50byB0aGVpciAKcmVhZGFibGUgdmFsdWVzLiAgVGhpcyBpcyBmb3IgaGlzdG9yaWNhbCBy ZWFzb25zIGFuZCBiZWNhdXNlIEZETUwgaXMgCndyaXR0ZW4gdG8gbWF0Y2ggc3FsIHNlbWFudGlj cyByYXRoZXIgdGhhbiBtYXBwaW5nIGxpc3Agc2VtYW50aWNzIAoobW9zdGx5KS4gIEkgdGhpbmsg dGhlIGJlc3Qgd2F5IHRvIGdvIGFib3V0IGdldHRpbmcgdGhlIEZETUwgbGF5ZXIgdG8gCnByaW50 IHN5bWJvbHMgcmVhZGFibHkgKHN1Y2ggdGhhdCB3aGVyZSBjbGF1c2VzIG9uICdzeW1ib2wgdHlw ZWQgY29sdW1ucyAKYXJlIHVzYWJsZSksIHdvdWxkIGJlIHRvIGFkZCBzeW50YXggc29tZSBzeW50 YXg6IFtzeW1ib2wgOmZvb10gdGhhdCBzYXlzIAp0byBwcmludCB0aGUgc3ltYm9sIHJlYWRhYmx5 IHJhdGhlciB0aGFuIGRvd25jYXN0aW5nIHRvIGEgc3RyaW5nLiAgSSAKdGhpbmsgZG93bmNhc3Rp bmcgdG8gc3RyaW5nIGlzIGEgZ29vZCBkZWZhdWx0IGJlaGF2aW9yIGJlY2F1c2UgaXQgCnByZXNl cnZlcyBtdWNoIHdvcmtpbmcgY29kZSAtIEkgdGhpbmsgc3ltYm9sIGNvbHVtbnMgYXJlIG5vdCB0 aGF0IGNvbW1vbiAKYmVjYXVzZSB0aGV5IGFyZSBub3QgYSBzcWwgdHlwZS4KCldpdGggdGhpcyBw cm9wb3NlZCBsb2dpYzoKCiAgWz0gW2t3XSA6aGVpXSA9ID4ga3cgPSAnSEVJJwphbmQKICBbPSBb a3ddIFtzeW1ib2wgOmhlaV1dID0gPiBrdyA9ICc6SEVJJwoKSWYgdGhpcyBzZWVtcyByZWFzb25h YmxlLCBJIHdpbGwgZ28gYWhlYWQgYW5kIGNvbW1pdCB0aGlzIHN5bnRheAoKQ2hlZXJzIGFuZCB0 aGFua3MgZm9yIHRoZSBmb2xsb3d1cHMgYW5kIGNsYXJpZmljYXRpb25zLAoKUnVzcyBUeW5kYWxs LApBY2NlbGVyYXRpb24ubmV0CgoKT24gMDgvMTYvMjAxNiAwOTowNiBBTSwgU3RpYW4gU2xldG5l ciB3cm90ZToKPiBGb2xsb3dpbmcgdXAgb24gdGhpcy4KPgo+IFNvIGJhc2VkIG9uIHlvdXIgaGlu dHMgSSB0aGluayBJIG1heSBoYXZlIGEgc29sdXRpb24gc3VjaCB0aGF0Ogo+Cj4gKGRlZnR5cGUg bXkta2V5d29yZCAoKSAna2V5d29yZCkKPiAoZGVmbWV0aG9kIGNsc3FsLXN5czpkYXRhYmFzZS1v dXRwdXQtc3FsLWFzLXR5cGUKPiAgICAgICAoKHR5cGUgKGVxbCAnbXkta2V5d29yZCkpICh2YWwg c3ltYm9sKSBkYXRhYmFzZSBkYi10eXBlKQo+ICAgIChzdHJpbmcgdmFsKSkKPiAoZGVmbWV0aG9k IGNsc3FsLXN5czpyZWFkLXNxbC12YWx1ZQo+ICAgICAgICgodmFsIHN0cmluZykgKHR5cGUgKGVx bCAnbXkta2V5d29yZCkpIGRhdGFiYXNlIGRiLXR5cGUpCj4gICAgKGludGVybiB2YWwgOmtleXdv cmQpKQo+Cj4gKGRlZi12aWV3LWNsYXNzIHRlc3RrdzIgKCkKPiAgICAoKGt3IDphY2Nlc3NvciB0 ZXN0a3cyLWt3IDppbml0YXJnIDprdyA6dHlwZSBteS1rZXl3b3JkKSkpCj4gKGNyZWF0ZS12aWV3 LWZyb20tY2xhc3MgJ3Rlc3RrdzIpCj4gKGRlZnBhcmFtZXRlciAqaSogKG1ha2UtaW5zdGFuY2Ug J3Rlc3RrdzIgOmt3IDpoZWkpKQo+ICh1cGRhdGUtcmVjb3Jkcy1mcm9tLWluc3RhbmNlICppKikK Pgo+IEF0IHRoaXMgcG9pbnQgSSBjYW4gZmluZCB0aGUgb2JqZWN0Ogo+Cj4gKHNlbGVjdCAndGVz dGt3MiA6d2hlcmUgWz0gW2t3XSA6aGVpXSkKPgo+IEFuZCB0aGUgc3RvcmFnZSBsb29rcyBsaWtl IEkgd2FudDoKPgo+IGZqYXM9IyBzZWxlY3QgKiBmcm9tIHRlc3RrdzI7Cj4gKy0tLS0tKwo+IHwg a3cgIHwKPiArLS0tLS0rCj4gfCBIRUkgfAo+ICstLS0tLSsKPiAoMSByb3cpCj4KPiBEb2VzIHRo YXQgc2VlbSBsaWtlIGEgcmVhc29uYWJsZSBzb2x1dGlvbj8KPgo+Cj4gT24gMjAxNi0wOC0xNiAx MzozMCwgU3RpYW4gU2xldG5lciB3cm90ZToKPj4gSGkgUnVzcy4KPj4KPj4gVGhhbmtzIGZvciBh IHZlcnkgdGhvcm91Z2ggYW5kIGluZm9ybWF0aXZlIHJlcGx5LiAgSSdtIGEgbGl0dGxlIGNvbmZ1 c2VkCj4+IGhlcmUsIHNvIGJlYXIgd2l0aCBtZSAtLSBsZWF2aW5nIHRoZSBlbnVtIGlzc3VlIGFz aWRlIGZvciBhIG1pbnV0ZSwgYXMKPj4gaXQgc2hvdWxkbid0IGJlIGEgaHVnZSBwcm9ibGVtIHRv IGNoYW5nZSB0byBhIHRleHQgZmllbGQgLS0gaG93IGFyZQo+PiBrZXl3b3JkIHR5cGUgZmllbGRz IHN1cHBvc2VkIHRvIGJlIHVzZWQgYXQgYWxsPyAgSXQgZG9lc24ndCBzZWVtCj4+IHBvc3NpYmxl IHRvIFNFTEVDVCBvbiB0aGVtLgo+Pgo+PiBJZiBJIGxlYXZlIGl0IGFsbCB1cCB0byBDTFNRTDoK Pj4KPj4gKGRlZi12aWV3LWNsYXNzIHRlc3RrdyAoKQo+PiAgICAoKGt3IDphY2Nlc3NvciB0ZXN0 a3cta3cgOmluaXRhcmcgOmt3IDp0eXBlIGtleXdvcmQpKSkKPj4gKGNyZWF0ZS12aWV3LWZyb20t Y2xhc3MgJ3Rlc3RrdykKPj4gKGRlZnBhcmFtZXRlciAqaSogKG1ha2UtaW5zdGFuY2UgJ3Rlc3Rr dyA6a3cgOmhlaSkpCj4+ICh1cGRhdGUtcmVjb3Jkcy1mcm9tLWluc3RhbmNlICppKikKPj4KPj4g VGhlbiBJIGdldCBhIHRhYmxlIGxpa2UgdGhpczoKPj4KPj4gZmphcz0jIFxkIHRlc3Rrdwo+PiAg ICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVzdGt3Igo+PiArLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKwo+PiB8IENvbHVtbiB8ICAgICAgICAgIFR5cGUg ICAgICAgICAgfCBNb2RpZmllcnMgfAo+PiArLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tKwo+PiB8IGt3ICAgICB8IGNoYXJhY3RlciB2YXJ5aW5nKDI1NSkgfCAg ICAgICAgICAgfAo+PiArLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKwo+Pgo+PiBmamFzPSMgc2VsZWN0ICogZnJvbSB0ZXN0a3c7Cj4+ICstLS0tLS0rCj4+IHwg IGt3ICB8Cj4+ICstLS0tLS0rCj4+IHwgOkhFSSB8Cj4+ICstLS0tLS0rCj4+ICgxIHJvdykKPj4K Pj4gV2hpY2ggaXMgZmluZSwgYnV0IEkgc3RpbGwgY2FuJ3Qgc2VsZWN0IG9uIHRoZSBrZXl3b3Jk Ogo+Pgo+PiAqIChzZWxlY3QgW2t3XSA6ZnJvbSBbdGVzdGt3XSkKPj4gOzsgMjAxNi0wOC0xNlQx Mjo0MzoyNSAvZmphcy9zdGlhbiA9PiBTRUxFQ1QgS1cgRlJPTSBURVNUS1cKPj4gKCgiOkhFSSIp KQo+PiAoImt3IikKPj4KPj4gKiAoc2VsZWN0IFtrd10gOmZyb20gW3Rlc3Rrd10gOndoZXJlIFs9 IFtrd10gOmhlaV0pCj4+IDs7IDIwMTYtMDgtMTZUMTI6NDM6MzUgL2ZqYXMvc3RpYW4gPT4gU0VM RUNUIEtXIEZST00gVEVTVEtXIFdIRVJFIChLVyA9Cj4+ICdIRUknKQo+PiBOSUwKPj4gKCJrdyIp Cj4+Cj4+IFRoaXMgd29ya3MsIGJ1dCB3b3VsZCBiZSB2ZXJ5IGN1bWJlcnNvbWUgdG8gYWRhcHQg dG86Cj4+Cj4+IChzZWxlY3QgW2t3XSA6ZnJvbSBbdGVzdGt3XSA6d2hlcmUgWz0gW2t3XSAiOkhF SSJdKQo+PiA7OyAyMDE2LTA4LTE2VDEyOjQ1OjQ5IC9mamFzL3N0aWFuID0+IFNFTEVDVCBLVyBG Uk9NIFRFU1RLVyBXSEVSRSAoS1cgPQo+PiAnOkhFSScpCj4+ICgoIjpIRUkiKSkKPj4gKCJrdyIp Cj4+Cj4+IEJUVyBJIGFncmVlIHRoYXQgZW51bSB0eXBlcyBhcmUgcHJvYmFibHkgbm90IHVzZWQg dW5pZm9ybWx5IGFjcm9zcwo+PiBkaWZmZXJlbnQgZGF0YWJhc2VzLCBhbmQgaXMgcHJvYmFibHkg YmV0dGVyIGxlZnQgb3V0LiAgSXQgc2VlbXMgdG8gbWUKPj4gbm93IHRoYXQgaXQgd2FzIG5vdCB0 aGUgY2VudHJhbCBwYXJ0IG9mIG15IHByb2JsZW0gYW55d2F5LiAgQWdhaW4sIEknbQo+PiBqdXN0 IGNvbmZ1c2VkLgo+Pgo+PiBQUzogSW4gbXkgY29kZSB3YW5kZXJpbmdzIEkgY2FtZSBhY3Jvc3Mg dGhlc2UgY2FzZXMgaW4gb29kbWwubGlzcDoKPj4KPj4gKGRlZm1ldGhvZCBkYXRhYmFzZS1vdXRw dXQtc3FsLWFzLXR5cGUKPj4gLi4uCj4+ICAgICAgIChjYXNlIHR5cGUKPj4gICAgICAgICAoKG9y IHN5bWJvbCBrZXl3b3JkKQo+PiAgICAgICAgICAocHJpbnQtcmVhZGFibGUtc3ltYm9sIHZhbCkp Cj4+ICAgICAgICAgKHN0cmluZyB2YWwpCj4+IC4uLgo+Pgo+PiAoZGVmbWV0aG9kIHJlYWQtc3Fs LXZhbHVlICh2YWwgdHlwZSBkYXRhYmFzZSBkYi10eXBlKQo+PiAuLi4KPj4gICAgICAgICAoY2hh ciAoc3RyaW5nIChzY2hhciB2YWwgMCkpKQo+PiAgICAgICAgICgob3Iga2V5d29yZCBzeW1ib2wp Cj4+ICAgICAgICAgIChyZWFkLWZyb20tc3RyaW5nIHZhbCkpCj4+ICAgICAgICAgKChzbWFsbGlu dCBtZWRpdW1pbnQgYmlnaW50IGludGVnZXIgdW5pdmVyc2FsLXRpbWUpCj4+IC4uLgo+Pgo+PiBJ IGNvdWxkIGJlIHdyb25nLCBidXQgaW4gYm90aCBvZiB0aGVzZSB0aGUgIm9yIiBsb29rcyBsaWtl IGl0IGNvdWxkIGJlIGEKPj4gbWlzdGFrZS4KPj4KPj4KPj4gT24gMjAxNi0wOC0xNSAxODo0Nywg UnVzcyBUeW5kYWxsIHdyb3RlOgo+Pj4gSG93ZHkgU3RpYW4sCj4+Pgo+Pj4gSGVyZSBhcmUgdGhl IHJlbGV2YW50IGRpc2N1c3Npb25zIGFyb3VuZCB0aGlzIGZyb20gMjAxNC0wNCB0aGlzOgo+Pj4g aHR0cDovL2xpc3RzLmtwZS5pby9waXBlcm1haWwvY2xzcWwvMjAxNC1BcHJpbC90aHJlYWQuaHRt bAo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL1Vud2FzaGVkTWVtZS9jbHNxbC9jb21taXQvMzFhZTgy ZjFlMGFlZmNkZDExYTI1MjM5YjZmYjIxYzEzZDM4ZDlmMgo+Pj4KPj4+IFRoZSBlYXNpZXN0IHdh eSB0byBieXBhc3MgdGhpcyB3b3VsZCBiZSB0byBjaGFuZ2UgdGhlIGtleXdvcmRzIHRvCj4+PiBz eW1ib2xzIG9yIHN0cmluZ3MuICBZb3UgY2FuIGRvIHRoaXMgZGlyZWN0bHkgdXNpbmcgdGhlIDpk Yi10eXBlCj4+PiBhcmd1bWVudCBhbmQgc3BlY2lhbGl6aW5nIHRoZSBmb2xsb3dpbmcgZnVuY3Rp b25zLgo+Pj4KPj4+IGAKPj4+IChkZWZtZXRob2QgZGF0YWJhc2Utb3V0cHV0LXNxbC1hcy10eXBl ICh0eXBlIHZhbCBkYXRhYmFzZSBkYi10eXBlKS4uLikKPj4+IChkZWZtZXRob2QgcmVhZC1zcWwt dmFsdWUgKHZhbCB0eXBlIGRhdGFiYXNlIGRiLXR5cGUpIC4uLikKPj4+IGAKPj4+Cj4+PiBJZiB5 b3UgdXNlIGEgYDpkYi10eXBlICAnZW51bWAgd2UgY291bGQgdXNlIHRoYXQgdG8gZGlyZWN0IGNs c3FsIHRvCj4+PiB3cml0ZSAgdGhlIHNsb3QgY29udGVudHMgYXMgYSBzdHJpbmcgdmFsdWUgaW4g eW91ciBhcHBsaWNhdGlvbiwgKG9yIHdlCj4+PiBjb3VsZCBhZGQgaXQgdG8gY2xzcWwgZGlyZWN0 bHkgYXMgdGhhdCBzZWVtcyBmYWlybHkgaW50dWl0aXZlIC0gYWx0aG91Z2gKPj4+IGVudW1zIGNv dWxkIGFsc28gYmUgaW50ZWdlciB2YWx1ZWQgLSBlZzogdHlwZXMgdGFibGVzKS4KPj4+Cj4+PiBF eGFtcGxlOgo+Pj4gYAo+Pj4gKGRlZm1ldGhvZCBkYXRhYmFzZS1vdXRwdXQtc3FsLWFzLXR5cGUK Pj4+ICAgICAgICgodHlwZSAnZW51bSkgKHZhbCBzeW1ib2wpIGRhdGFiYXNlIGRiLXR5cGUpCj4+ PiAgICAgIChwcmluYy10by1zdHJpbmcgdmFsKSkKPj4+IChkZWZtZXRob2QgcmVhZC1zcWwtdmFs dWUKPj4+ICAgICAgICgodHlwZSAnZW51bSkgKHZhbCBzdHJpbmcpIGRhdGFiYXNlIGRiLXR5cGUp Cj4+PiAgICAgIChsZXQgKCgqcGFja2FnZSogOmtleXdvcmQpKSAocmVhZC1mcm9tLXN0cmluZyB2 YWwpKQo+Pj4gYAo+Pj4KPj4+Cj4+PiBUaGUgcHJvYmxlbSB3YXMgdGhhdCB0aGF0IGFsbCBzeW1i b2xzIHdlcmUgYmVpbmcgd3JpdHRlbiB0aGUgc2FtZQo+Pj4gcmVnYXJkbGVzcyBvZiBwYWNrYWdl IChtYWtpbmcgdGhlbSBub3QgcmV2ZXJzaWJsZSBpbiB0aGUgZmFjZSBvZgo+Pj4gbXVsdGlwbGUg cGFja2FnZXMpLCBJRTogdGhleSB3ZXJlIG5vdCByb3VuZCB0cmlwIHNhZmUuICBUaGUgc29sdXRp b24KPj4+IHdlL0kgY2FtZSB1cCB3aXRoIHdhcyB0byB3cml0ZSBzeW1ib2xzIHdpdGggdGhlIHBh Y2thZ2UgbmFtZSBpbmNsdWRlZCwKPj4+IHN1Y2ggdGhhdCB3ZSBjb3VsZCBsb29rIHVwIHRoZSBj b3JyZWN0IHN5bWJvbCB3aGVuIHJlYWRpbmcgZnJvbSB0aGUKPj4+IGRhdGFiYXNlLiAgVGhpcyBz eXN0ZW0gaXMgZmFpcmx5IGNvbXBsZXggYW5kIEkgYW0gbm90IHN1cmUgdGhhdCBhCj4+PiBzb2x1 dGlvbiBleGlzdHMgdGhhdCBzb2x2ZXMgdGhlIGNhc2UgZm9yIGFsbCB1c2Vycy4gIEkgdGhpbmsK Pj4+IGZ1bmRhbWVudGFsbHkgcmVhZGluZyBhbmQgd3JpdGluZyB0byB0aGUgZGF0YWJhc2Ugc2hv dWxkIGJlIHJldmVyc2libGUsCj4+PiB3aGljaCByZXF1aXJlcyBwcmludGluZyB0aGUgcGFja2Fn ZSBuYW1lIG9mIGEgc3ltYm9sIGZvciBgZGItdHlwZSAnc3ltYm9sYC4KPj4+Cj4+PiBJIGhhdmUg bmV2ZXIgdXNlZCBQb3N0Z3Jlc3FsIGVudW1zLCBhbmQgdGhlcmUgYXJlIG5vdCBpbiB0aGUgdGVz dHMsIHNvCj4+PiBpdHMgZGVmaW5pdGVseSBzb21ldGhpbmcgdGhhdCBjb3VsZCBoYXZlIGJyb2tl biB1bm5vdGljZWQuICBUaGVyZSB3YXMKPj4+IHNvbWUgd29yayBxdWl0ZSBhIGZldyB2ZXJzaW9u cyBhZ28gdG8gbm9ybWFsaXplIGhhbmRsaW5nIG9mIHN5bWJvbHMsIHNvCj4+PiBpdHMgcG9zc2li bGUgc29tZXRoaW5nIGlzIHN0aWxsIG5vdCBxdWl0ZSByaWdodCwgYnV0IGl0IGhhcyBhIG11Y2gg bW9yZQo+Pj4gbm9ybWFsaXplZCBoYW5kbGluZy4KPj4+Cj4+PiBJZiB5b3UgdGhpbmsgdGhpcyBz aG91bGQgYmUgcmVhc29uYWJsZSBzdGFuZGFyZCBiZWhhdmlvciAoSSBhbSBub3QKPj4+IGNvbnZp bmNlZCBvZiB0aGlzKSBhbmQgY2FuIGNvbnZpbmNlIG1lIG9mIHRoaXMsIEkgd291bGQgYmUgd2ls bGluZyB0bwo+Pj4gYWRkIGl0IGFzIHN0YW5kYXJkLiAgTXkgY29uY2VybiBpcyB0aGF0IHNvbWUg Zm9sa3Mgd2lsbCBpbnRlcnByZXQgImVudW0iCj4+PiBhcyBzeW1ib2w9PmlkIG1hcCAoYSBkYXRh YmFzZSB0eXBlcyB0YWJsZSkgaW5zdGVhZCBvZiBhIGtleXdvcmQgPT4KPj4+IHN0cmluZyBtYXAu ICBBcyBib3RoIG9mIHRoZXNlIHNlZW0gcmVhc29uYWJsZSBpbnRlcnByZXRhdGlvbnMgb2YgdGhl Cj4+PiB3b3JkLCBpdCBtaWdodCBiZSBiZXR0ZXIgdG8gbGVhdmUgdGhpcyBhcyBhcHBsaWNhdGlv biBzcGVjaWZpYyBiZWhhdmlvci4KPj4+Cj4+PiBDaGVlcnMgYW5kIHRoYW5rcyBmb3IgdXNpbmcg Q0xTUUwsCj4+PiBSdXNzIFR5bmRhbGwKPj4+IEFjY2VsZXJhdGlvbi5uZXQKPj4+Cj4+PiBPbiAw OC8xMi8yMDE2IDA2OjEyIEFNLCBTdGlhbiBTbGV0bmVyIHdyb3RlOgo+Pj4+IFtUcnlpbmcgYWdh aW4sIHdhcyBzdWJzY3JpYmVkIHdpdGggdGhlIHdyb25nIGFkZHJlc3MuXQo+Pj4+Cj4+Pj4gSGVs bG8uCj4+Pj4KPj4+PiBJIG5lZWQgc29tZSBoZWxwIHdpdGggYSBDTFNRTCBiZWhhdmlvdXIgY2hh bmdlLiAgVGhlIGlzc3VlIGlzIHRoYXQgSQo+Pj4+IGhhdmUgYSBQb3N0Z3JlcyBlbnVtIHR5cGUg bGlrZSBzbzoKPj4+Pgo+Pj4+IENSRUFURSBUWVBFIGpvYl9zdGF0dXMgQVMgRU5VTSAoCj4+Pj4g ICAgICAgJ05FVycsCj4+Pj4gICAgICAgJ1JVTk5JTkcnLAo+Pj4+ICAgICAgICdET05FJywKPj4+ PiAgICAgICAnRkFJTEVEJywKPj4+PiAgICAgICAnQUJPUlRFRCcKPj4+PiApOwo+Pj4+Cj4+Pj4g VGhpcyBpcyB1c2VkIGluIGEgY29sdW1uIHdpdGggYSBzbG90IGRlZmluaXRpb24gbGlrZSBzbzoK Pj4+Pgo+Pj4+ICAgICAgKGpvYi1zdGF0dXMgOmluaXRhcmcgOmpvYi1zdGF0dXMgOmFjY2Vzc29y IGpvYi1zdGF0dXMgOmluaXRmb3JtIDpuZXcKPj4+PiAgICAgICAgICAgICAgICAgIDp0eXBlIGtl eXdvcmQpCj4+Pj4KPj4+PiBUaGlzIHVzZWQgdG8gbWFwIGJhY2sgYW5kIGZvcnRoIGZyb20ga2V5 d29yZHMgZmluZSBmb3IgbWFueSB5ZWFycywgYnV0Cj4+Pj4gaW4gdGhlIGxhdGVzdCBDTFNRTCB2 ZXJzaW9ucyBpdCB0cmllcyB0byBzdG9yZSB0aGUga2V5d29yZHMgd2l0aCBjb2xvbi4KPj4+PiAg ICBTb21lIHRoaW5ncyB3b3JrIGFzIGV4cGVjdGVkOgo+Pj4+Cj4+Pj4gKiAoc2VsZWN0IC4uLiA6 d2hlcmUgWz0gW2pvYi1zdGF0dXNdIDpuZXddKQo+Pj4+Cj4+Pj4gOzsgMjAxNi0wOC0xMVQxMzoy NDozNSAuLi4gPT4gU0VMRUNUIC4uLiBGUk9NIC4uLiBXSEVSRSAoSk9CX1NUQVRVUyA9ICdORVcn KQo+Pj4+Cj4+Pj4gQnV0IGZvciBleGFtcGxlIFVQREFURS1SRUNPUkRTLUZST00tSU5TVEFOQ0Ug dHJpZXMgdG8gc3RvcmUgd2l0aCBjb2xvbjoKPj4+Pgo+Pj4+ICAgICBFcnJvciAyMlAwMiAvIGlu dmFsaWQgaW5wdXQgdmFsdWUgZm9yIGVudW0gam9iX3N0YXR1czogIjpGQUlMRUQiCj4+Pj4KPj4+ PiBJIGRvbid0IGtub3cgaWYgdGhpcyBpcyBhIGJ1ZyBvciB3aGV0aGVyIGl0IHdhcyBuZXZlciBz dXBwb3NlZCB0byB3b3JrCj4+Pj4gbGlrZSB0aGlzLCBpZiBzbyBJJ2QgYXBwcmVjaWF0ZSBhbnkg dGlwcyBvbiBob3cgaXQgc2hvdWxkIGJlIGRvbmUuCj4+Pj4KPj4+Cj4+Cj4KCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpDTFNRTCBtYWlsaW5nIGxpc3QK Q0xTUUxAbGlzdHMua3BlLmlvCmh0dHA6Ly9saXN0cy5rcGUuaW8vY2dpLWJpbi9tYWlsbWFuL2xp c3RpbmZvL2Nsc3FsCg==