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==