[ruby-core:75440] [Ruby trunk Feature#12361] Proposal: add Geo::Coord class to standard library

From: duerst@...
Date: 2016-05-10 09:16:05 UTC
List: ruby-core #75440
SXNzdWUgIzEyMzYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWFydGluIETDvHJzdC4KCgpWaWN0b3Ig
U2hlcGVsZXYgd3JvdGU6Cgo+IEkgcmVmZXJlbmNlZCAiZ2VtIHF1ZXN0aW9uIiBpbiBvcmlnaW5h
bCBwcm9wb3NhbDogIlRoaXMgdHlwZSBpcyB0b28gInNtYWxsIiB0byBiZSBkZWZpbmVkIGJ5IHNl
cGFyYXRlIGdlbSwgc28sIGFsbCBvZiBleGlzdGluZyBnZW8gZ2VtcyAoR2VvS2l0LCBSR2VvLCBH
ZW9SdWJ5LCBHcmF0aWN1bGUgZXRjLikgZGVmaW5lIHRoZWlyIG93biBMYXRMbmcsIG9yIExvY2F0
aW9uLCBvciBQb2ludCwgd2hhdGV2ZXIuIi4gCgpOb3RoaW5nIGlzIHRvbyBzbWFsbCB0byBiZSBk
ZWZpbmVkIGFzIGEgZ2VtLiBJIHByb3Bvc2UgeW91IGNyZWF0ZSB0aGlzIGFzIGEgZ2VtLCB0aGVu
IGhhdmUgdGhlIGV4aXN0aW5nIGdlbyBnZW1zIHVzZSBpdCwgYW5kIHRoZW4gY29tZSBiYWNrIHRv
IHlvdXIgcHJvcG9zYWwgaGVyZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KRmVhdHVyZSAjMTIzNjE6IFByb3Bvc2FsOiBhZGQgR2VvOjpDb29yZCBjbGFzcyB0byBz
dGFuZGFyZCBsaWJyYXJ5Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMjM2MSNj
aGFuZ2UtNTg1NTkKCiogQXV0aG9yOiBWaWN0b3IgU2hlcGVsZXYKKiBTdGF0dXM6IE9wZW4KKiBQ
cmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiMjIFByb3Bvc2FsCgpBZGQgYEdlbzo6Q29vcmRgIGNsYXNzIHRvIFJ1Ynkg
c3RhbmRhcmQgbGlicmFyeSwgcmVwcmVzZW50aW5nIGBbbGF0aXR1ZGUsIGxvbmdpdHVkZV1gIHBh
aXIgKyBjb252ZW5pZW5jZSBtZXRob2RzLiBBZGQgYEdlb2Agc3RhbmRhcmQgbGlicmFyeSB3aXRo
IGFkZGl0aW9uYWwgY2FsY3VsYXRpb25zIGFuZCBjb252ZW5pZW5jZSBtZXRob2RzLgoKIyMgUmF0
aW9uYWxlCgpJbiBtb2Rlcm4gYXBwbGljYXRpb25zLCB3b3JraW5nIHdpdGggZ2VvZ3JhcGhpY2Fs
IGNvb3JkaW5hdGVzIGlzIGZyZXF1ZW50LiBXZSBwcm9wb3NlIHRvIHRoaW5rIG9mIHN1Y2ggY29v
cmRpbmF0ZXMgKG5hbWVseSwgYGxhdGl0dWRlLCBsb25naXR1ZGVgIHBhaXIpIGFzIG9mICJiYXNp
YyIgdHlwZSB0aGF0IHNob3VsZCBiZSBzdXBwb3J0ZWQgYnkgc3RhbmRhcmQgbGlicmFyeSAtIHRo
ZSBzYW1lIHdheSBhcyB3ZSBzdXBwb3J0IGBUaW1lYC9gRGF0ZWAvYERhdGVUaW1lYCBpbnN0ZWFk
IG9mIGhhdmluZyBpdCBkZWZpbmVkCmJ5IHVzZXIvZ2Vtcy4KClRoaXMgdHlwZSBpcyB0b28gInNt
YWxsIiB0byBiZSBkZWZpbmVkIGJ5IHNlcGFyYXRlIGdlbSwgc28sIGFsbCBvZiBleGlzdGluZyBn
ZW8gZ2VtcyAoR2VvS2l0LCBSR2VvLCBHZW9SdWJ5LCBHcmF0aWN1bGUgZXRjLikgZGVmaW5lIHRo
ZWlyIG93biBgTGF0TG5nYCwgb3IgYExvY2F0aW9uYCwgb3IgYFBvaW50YCwgd2hhdGV2ZXIuCgpP
biBvdGhlciBoYW5kLCBBUEkgZGVzaWduIGZvciB0aGlzICJzbWFsbCIgdHlwZSBpcyB2YWd1ZSBl
bm91Z2ggZm9yIGFsbCB0aG9zZSBzaW1pbGFyIHR5cGVzIHRvIGJlIGluY29tcGF0aWJsZSBhbmQg
YnJlYWsgc21hbGwgaGFiaXRzIGFuZCBjb252ZW50aW9ucyB3aGVuIHlvdSBjaGFuZ2UgZnJvbSBv
bmUgZ2VvIGxpYnJhcnkgdG8gYW5vdGhlciwgb3IgdHJ5IHRvIHVzZSBzZXZlcmFsCnNpbXVsdGFu
ZW91c2x5LgoKQWRkaXRpb25hbHksIG1hbnkgZ2VtcyBzb21laG93IHdvcmtpbmcgd2l0aCBnZW8g
Y29vcmRpbmF0ZXMgKGZvciB3ZWF0aGVyLCBvciB0aW1lem9uZSwgb3IgYW5vdGhlciB0YXNrcykg
Z2VuZXJhbGx5IHByZWZlciBub3QgdG8gaW50cm9kdWNlIHR5cGUsIGFuZCBqdXN0IHdvcmsgd2l0
aCBgW2xhdCwgbG5nXWAgYXJyYXksIHdoaWNoIGlzIG5vdCB2ZXJ5IGNvbnZlbmllbnQsIGZhaXRo
ZnVsbHkuCgpTbywgaGF2aW5nICJnZW8gY29vcmRpbmF0ZXMiIGZ1bmN0aW9uYWxpdHkgaW4gc3Rh
bmRhcmQgbGlicmFyeSBzZWVtcyByZWFzb25hYmxlIGFuZCB2YWx1YWJsZS4KCiMjIEV4aXN0aW5n
L3JlZmVyZW5jZSBzb2x1dGlvbnMKClJ1Ynk6CgoqIFtHZW9LaXQ6OkxhdExuZ10oaHR0cDovL3d3
dy5ydWJ5ZG9jLmluZm8vZ2l0aHViL2dlb2tpdC9nZW9raXQvbWFzdGVyL0dlb2tpdC9MYXRMbmcp
OwoqIFtSR2VvOjpGZWF0dXJlOjpQb2ludF0oaHR0cDovL3d3dy5ydWJ5ZG9jLmluZm8vZ2Vtcy9y
Z2VvL1JHZW8vRmVhdHVyZS9Qb2ludCkgKHdpdGggc2V2ZXJhbCAicHJpdmF0ZSIgaW1wbGVtZW50
YXRpb24gY2xhc3Nlcyk7IFJHZW8gaW1wbGVtZW50cyBmdWxsIFtPR0MgU2ltcGxlIEZlYXR1cmVz
XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaW1wbGVfRmVhdHVyZXMpIHNwZWNpZmlj
YXRpb24sIHNvLCBpdHMgcG9pbnRzIGhhdmUgYHpgIGFuZCBgbWAgY29vcmRpbmF0ZXMsIHByb2pl
Y3Rpb24gYW5kIG11Y2ggbW9yZTsKKiBbR3JhdGljdWxlOjpMb2NhdGlvbl0oaHR0cDovL3d3dy5y
dWJ5ZG9jLmluZm8vZ2l0aHViL2NvbGxlY3RpdmVpZGVhL2dyYXRpY3VsZS9HcmF0aWN1bGUvTG9j
YXRpb24pIChub3Qgc3RyaWN0bHkgYSBgW2xhdCxsbmddYCB3cmFwcGVyKTsKKiBbUm9zYW1hcnk6
Ok5vZGVdKGh0dHA6Ly93d3cucnVieWRvYy5pbmZvL2dlbXMvcm9zZW1hcnkvMC40LjQvUm9zZW1h
cnkvTm9kZSkgKGZvbGxvd3MgbmFtaW5nIGNvbnZlbnRpb24gb2YgdW5kZXJseWluZyBPcGVuU3Ry
ZWV0TWFwIEFQSSk7CgpPdGhlciBzb3VyY2VzOgoKKiBQeXRob246IFtnZW9weS5Qb2ludF0oaHR0
cDovL2dlb3B5LnJlYWR0aGVkb2NzLm9yZy9lbi9sYXRlc3QvI2dlb3B5LnBvaW50LlBvaW50KTsK
KiBbRWxhc3RpY1NlYXJjaF0oaHR0cHM6Ly93d3cuZWxhc3RpYy5jby9ibG9nL2dlby1sb2NhdGlv
bi1hbmQtc2VhcmNoKSB1c2VzIGhhc2ggd2l0aCAibGF0IiBhbmQgImxvbiIga2V5czsKKiBHb29n
bGUgTWFwcyBbR2VvY29kaW5nIEFQSV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFw
cy9kb2N1bWVudGF0aW9uL2dlb2NvZGluZy9pbnRybyNHZW9jb2RpbmdSZXNwb25zZXMpIHVzZXMg
aGFzaCB3aXRoICJsYXQiIGFuZCAibG5nIiBrZXlzOwoqIFBvc3RHSVM6IFtwcmV0dHkgY29tcGxp
Y2F0ZWRdKGh0dHA6Ly9wb3N0Z2lzLm5ldC9kb2NzL21hbnVhbC0yLjIvdXNpbmdfcG9zdGdpc19k
Ym1hbmFnZW1lbnQuaHRtbCNSZWZPYmplY3QpICBoYXMgX2dlb21ldHJpY2FsXyAocHJvamVjdGVk
KSBhbmQgX2dlb2dyYXBoaWNhbF8gKGxhdCwgbG5nKSBwb2ludHMgYW5kIHN0dWZmLgoKIyMgRGVz
aWduIGRlY2lzaW9ucwoKV2hpbGUgZGVzaWduaW5nIGBHZW9gIGxpYnJhcnksIG91ciByZWZlcmVu
Y2UgcG9pbnQgd2FzIHN0YW5kYXJkIGBUaW1lYCBjbGFzcyAoYW5kLCB0byBsZXNzZXIgZXh0ZW50
LCBgRGF0ZWAvYERhdGVUaW1lYCkuIEl0IGhhcyB0aGlzIHJlc3BvbnNpYmlsaXRpZXM6CgoqIHN0
b3JlcyBkYXRhIGluIHNpbXBsZSBpbnRlcm5hbCBmb3JtOwoqIGhlbHBzIHRvIHBhcnNlIGFuZCBm
b3JtYXQgZGF0YSB0byBhbmQgZnJvbSBzdHJpbmdzOwoqIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRv
IGxvZ2ljYWwgY29tcG9uZW50cyBvZiBkYXRhOwoqIGFsbG93cyBtb3N0IHNpbXBsZSBhbmQgdW5h
bWJpZ3VvdXMgY2FsY3VsYXRpb25zLgoKKipNYWluIHR5cGUgbmFtZSoqOiBhcyBmYXIgYXMgd2Ug
Y2FuIHNlZSwgdGhlcmUncyBubyBnb29kIHNpbmd1bGFyIG5hbWUgZm9yIGAobGF0LCBsbmcpYCBw
YWlyIGNvbmNlcHQuIEFzIG1lbnRpb25lZCBhYm92ZSwgdGhlcmUgY2FuIGJlIHNlZW4gbmFtZXMg
bGlrZSBgTGF0TG5nYCwgb3IgYExvY2F0aW9uYCwgb3IgYFBvaW50YDsgYW5kIGluIG5hdHVyYWwg
bGFuZ3VhZ2UKanVzdCAiY29vcmRpbmF0ZXMiIHVzZWQgZnJlcXVlbnRseS4gV2UgcHJvcG9zZSB0
aGUgbmFtZSBgQ29vcmRgLCB3aGljaCBpcyBwcmV0dHkgc2hvcnQsIGVhc3kgdG8gcmVtZW1iZXIs
IGRlbW9uc3RyYXRlcyBpbnRlbnRpb25zIChhbmQgbG9va3MgbGlrZSBzaW5ndWxhciwgc28geW91
IGNhbiBoYXZlICJvbmUgY29vcmQgb2JqZWN0IiBhbmQgImFycmF5IG9mIGNvb3JkcyIsCndoaWNo
IGlzIG5vdCAxMDAlIGxpbmd1aXN0aWNhbGx5IGNvcnJlY3QsIHlldCBjb252ZW5pZW50KS4gQWx0
ZXJuYXRpdmUgYFBvaW50YCBuYW1lIHNlZW1zIHRvIGJlIHRvbyBhbWJpZ291cywgYmVpbmcgdXNl
ZCBpbiBtYW55IGNvbnRleHRzLgoKYEdlbzo6Q29vcmRgIG9iamVjdCBpcyAqKmltbXV0YWJsZSoq
LCB0aGVyZSdzIG5vIHNlbWFudGljYWwgc2Vuc2UgaW4gYGxvY2F0aW9uLmxhdGl0dWRlID0gLi4u
YCBvciBzb21ldGhpbmcgbGlrZSB0aGlzLgoKKipVbml0cyoqOiBgR2VvYCBjYWxjdWxhdGlvbnMg
KGp1c3QgbGlrZSBgVGltZWAgY2FsY3VsYXRpb25zKSBwcm92aWRlIG5vIHVuaXRzIG9wdGlvbnMs
IGp1c3QgcmV0dXJuaW5nIG51bWJlcnMgbWVhc3VyZWQgaW4gImRlZmF1bHQiIHVuaXRzOiBtZXRy
ZXMgZm9yIGRpc3RhbmNlcyAoYXMgdGhleSBhcmUgU0kgdW5pdCkgYW5kIGRlZ3JlZXMgZm9yIGF6
aW11dGguIExhdGl0dWRlIGFuZCBsb25naXR1ZGUgYXJlIHN0b3JlZCBpbiBkZWdyZWVzLCBidXQg
cmFkaWFucyB2YWx1ZXMgYWNjZXNzb3JzIGFyZSBwcm92aWRlZCAoYmVpbmcgd2lkZWx5IHVzZWQg
aW4gZ2VvZGVzeSBtYXRoKS4KCkFsbCBjb29yZGluYXRlcyBhbmQgY2FsY3VsYXRpb25zIGFyZSB0
aG91Z2h0IHRvIGJlIGluIFdHUyA4NCBjb29yZGluYXRlcyByZWZlcmVuY2Ugc3lzdGVtLCBiZWlu
ZyBjdXJyZW50IHN0YW5kYXJkIGZvciBtYXBzIGFuZCBHUFMuCgpUaGVyZSdzIGludHJvZHVjZWQg
Kipjb25jZXB0IG9mIGdsb2JlKiogdXNlZCBpbnRlcm5hbGx5IGZvciBjYWxjdWxhdGlvbnMuIE9u
bHkgZ2VuZXJpYyAoc3BoZXJlKSBhbmQgRWFydGggZ2xvYmVzIGFyZSBpbXBsZW1lbnRlZCwgYnV0
IGZvciAyMDE2IHdlIGZlZWwgbGlrZSBjdXJyZW50IGRlc2lnbiBvZiBiYXNpYyB0eXBlcyBzaG91
bGQgdGFrZSBpbiBjb25zaWRlcmF0aW9uCnBvc3NpYmlsaXR5IG9mIHdyaXRpbmcgUnVieSBzY3Jp
cHRzIGZvciBNYXJzIG1hcHMgYW5hbHlzaXMuIE9ubHkgb25lIGdlb2Rlc3kgZm9ybXVsYSBpcyBp
bXBsZW1lbnRlZCAoVmluY2VudHksIGdlbmVyYWxseSBjb25zaWRlcmVkIG9uZSBvZiB0aGUgbW9z
dCBwcmVjaXNlKSwgYXMgZm9yIHN0YW5kYXJkIGxpYnJhcnkgY2xhc3MgaXQgY29uc2lkZXJlZCB1
bm5lY2Vzc2FyeSB0byBwcm92aWRlIHVzZXIgd2l0aCBnZW9kZXN5IGZvcm11bGFlIG9wdGlvbnMu
CgpObyAqKm1hcCBwcm9qZWN0aW9uKiogbWF0aCB3YXMgYWRkZWQgaW50byBjdXJyZW50IHByb3Bv
c2FsLCBidXQgaXQgbWF5IGJlIGEgZ29vZCBkaXJlY3Rpb24gZm9yIGZ1cnRoZXIgd29yay4gTm8g
KiplbGV2YXRpb24qKiBkYXRhIGNvbnNpZGVyZWQgZWl0aGVyLgoKIyMgUHJvcG9zYWwgZGV0YWls
cwoKIyMjIGBHZW86OkNvb3JkYCBjbGFzcwoKUmVwcmVzZW50cyBgW2xhdGl0dWRlLCBsb25naXR1
ZGVdYCBwYWlyLiBMYXRpdHVkZSBpcyAtOTAgdG8gKzkwIChkZWdyZWVzKS4gTG9uZ2l0dWRlIGlz
IC0xODAgdG8gKzE4MC4KCkNsYXNzIG1ldGhvZHM6CgoqIGBuZXcobGF0LCBsbmcpYCBjcmVhdGVz
IGluc3RhbmNlIGZyb20gdHdvIE51bWVyaWNzIChpbiBkZWdyZWVzKTsKKiBgbmV3KGxhdDosIGxu
ZzopYCBrZXl3b3JkIGFyZ3VtZW50cyBmb3JtIG9mIGFib3ZlOwoqIGBuZXcobGF0ZDosIGxhdG06
LCBsYXRzOiwgbGF0aDosIGxuZ2Q6IGxuZ206LCBsbmdzOiBsbmdoOilgIGNyZWF0ZXMgaW5zdGFu
Y2UgZnJvbSBjb29yZGluYXRlcyBpbiAoZGVnLCBtaW4sIHNlYywgaGVtaXNwaGVyZSkgZm9ybTsg
aGVtaXNwaGVyZXMgYXJlICJOIi8iUyIgZm9yIGxhdGl0dWRlIGFuZCAiVyIvRSIgZm9yIGxvbmdp
dHVkZTsgYW55IGNvbXBvbmVudCBleGNlcHQgZm9yIGRlZ3JlZXMgY2FuIGJlIG9taXR0ZWQ7IGlm
IGhlbWlzcGhlcmUgaXMgb21pdHRlZCwgaXQgaXMgZGVjaWRlZCBieSBkZWdyZWVzIHNpZ24gKGxh
dDogcG9zaXRpdmUgaXMgIk4iLCBsbmc6IHBvc2l0aXZlIGlzICJFIik7CiogYGZyb21faChoYXNo
KWAgY3JlYXRlcyBpbnN0YW5jZSBmcm9tIGhhc2ggd2l0aCBgImxhdCJgIG9yIGAibGF0aXR1ZGUi
YCBrZXkgYW5kIGAibG9uImAgb3IgYCJsbmciYCBvciBgImxvbmdpdHVkZSJgIGtleSAoY2FzZS1p
bmRlcGVuZGVudCk7CiogYGZyb21fcmFkaWFucyhwaGksIGxhKWAgY3JlYXRlcyBpbnN0YW5jZSBm
cm9tIHJhZGlhbiB2YWx1ZXM7CiogYHN0cnBjb29yZGAgcGFyc2VzIHN0cmluZyBpbnRvIGNvb3Jk
aW5hdGVzIGJ5IHByb3ZpZGVkIHBhdHRlcm4gKHNlZSBiZWxvdyBmb3IgcGF0dGVybiBkZXNjcmlw
dGlvbik7CiogYHBhcnNlX2xsYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3RyaW5nIGluIGAiZmxvYXQs
IGZsb2F0ImAgZm9ybTsKKiBgcGFyc2VfZG1zYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3RyaW5nIGlu
IGBkIG0gcyBoLCBkIG0gcyBoYCBmb3JtYXQgKGNvbnNpZGVyaW5nIHNldmVyYWwgd2lkZWx5IHVz
ZWQgc3ltYm9scyBmb3IgZGVncmVlcywgbWludXRlcyBhbmQgc2Vjb25kcyk7CiogYHBhcnNlYCB0
cmllcyB0byBwYXJzZSBzdHJpbmcgaW50byBjb29yZGluYXRlcyBmcm9tIHZhcmlvdXMgZm9ybWF0
cy4KCkluc3RhbmNlIG1ldGhvZHM6CgoqIGBsYXRgIGFuZCBgbG5nYCwgcmV0dXJuaW5nIGBGbG9h
dGBzLCBzaWduZWQ7CiogYGxhdGl0dWRlYCBhbmQgYGxvbmdpdHVkZWAgYXMgYW4gYWxpYXNlczsg
YGxvbmAgYXMgYW4gYWRkaXRpb25hbCBhbGlhc2VzIGZvciBsb25naXR1ZGU7CiogYGxhdGRgLCBg
bGF0bWAsIGBsYXRzYCwgYGxhdGhgOiBkZWdyZWUsIG1pbnV0ZSwgc2Vjb25kLCBoZW1pc3BoZXJl
OyBgbGF0ZGAgYW5kIGBsYXRtYCBhcmUgYEZpeG51bWAsIGBsYXRzYCBpcyBgRmxvYXRgLCBgbGF0
aGAgaXMgIk4iLyJTIjsgYWxsIG51bWJlcnMgYXJlIHVuc2lnbmVkOwoqIGBsbmdkYCwgYGxuZ21g
LCBgbG5nc2AsIGBsbmdoYDogdGhlIHNhbWUgZm9yIGxvbmdpdHVkZSAoaGVtaXNwaGVyZSBpcyAi
VyIvIkUiKTsKKiBgbGF0ZG1zKG5vaGVtaXNwaGVyZSA9IGZhbHNlKWAgcmV0dXJucyBgW2xhdGQs
IGxhdG0sIGxhdHMsIGxhdGhdYCB3aXRoIGBub2hlbWlzcGhlcmVgIHBhcmFtIGVxdWFsIHRvIGBm
YWxzZWAsIGFuZCBgW8KxbGF0ZCwgbGF0bSwgbGF0c11gIHdpdGggYHRydWVgOyBzYW1lIHdpdGgg
YGxuZ2Rtc2AgZm9yIGxvbmdpdHVkZTsKKiBgcGhpYCBhbmQgYM+GYCBpcyBsYXRpdHVkZSBpbiBy
YWRpYW5zIChoZWxwZnVsIGZvciBtYXRoKSwgYGxhYCBvciBgzrtgIGlzIGxvbmdpdHVkZSBpbiBy
YWRpYW5zIChub3QgYGxhbWJkYWAgdG8gbm90IGNvbmZ1c2Ugd2l0aCBLZXJuZWwgbWV0aG9kKTsK
KiBgdG9fc2AgcmV0dXJuaW5nIHN0cmluZyBsaWtlICI1MC4wMDQ0NDQsMzYuMjMxMzg5IiAoZ29v
ZCBmb3IgbWFwIFVSTHMgY29uc3RydWN0aW9uLCBmb3IgZXhhbXBsZSk7CiogYHRvX2gobGF0OiA6
bGF0LCBsbmc6IDpsbmcpYCBjb252ZXJ0cyBjb29yZCB0byBoYXNoICh3aXRoIGRlc2lyZWQga2V5
IG5hbWVzKTsKKiBgdG9fYWAgY29udmVydHMgY29vcmQgdG8gc2ltcGxlIGBbbGF0LCBsbmddYCBw
YWlyOwoqIGBzdHJmY29vcmQoZm9ybWF0c3RyKWAgZm9yIGNvbXBsZXggY29vcmRpbmF0ZSBmb3Jt
YXR0aW5nIChzZWUgYmVsb3cgZm9yIGZvcm1hdCBzdHJpbmcgZGVzY3JpcHRpb24pOwoqIGBkaXN0
YW5jZShvdGhlcilgIGNhbGN1bGF0ZXMgZGlzdGFuY2UgdG8gYW5vdGhlciBwb2ludCAoaW4gbWV0
cmVzKTsKKiBgYXppbXV0aChvdGhlcilgIGNhbGN1bGF0ZXMgZGlyZWN0aW9uIHRvIHRhcmdldCAo
aW4gZGVncmVlcyk7CiogYGVuZHBvaW50KGRpcmVjdGlvbiwgYXppbXV0aClgIGNhbGN1bGF0ZXMg
ZmluYWwgcG9pbnQgb2YgdGhlIGxpbmUgb2YgYGRpc3RhbmNlYCBtZXRyZXMgZ29pbmcgaW4gYGF6
aW11dGhgIGRpcmVjdGlvbiBmcm9tIGN1cnJlbnQgcG9pbnQuCgojIyMjIGBzdHJwY29vcmRgL2Bz
dHJmY29vcmRgCgpFeGFtcGxlOgoKfn5+cnVieQpraGFya2l2LnN0cmZjb29yZCgnJWxhdGR1wrAl
bGF0beKAsiVsYXRz4oCzICVsYXRoLCAlbG5nZHXCsCVsbmdt4oCyJWxuZ3PigLMgJWxuZ2gnKQoj
ID0+ICI1MMKwMOKAsjE24oCzIE4sIDM2wrAxM+KAsjUz4oCzIEUiCn5+fgoKRGlyZWN0aXZlczoK
CiogYCVsYXRgIC0gZnVsbCBsYXRpdHVkZSwgZmxvYXQ7IGNhbiBiZSBmb3JtYXR0ZWQgd2l0aCBt
b3JlIGNvbnRyb2wgbGlrZSBgJS40bGF0YCAoZm91ciBkaWdpdHMgYWZ0ZXIgcG9pbnQpIG9yIGAl
K2xhdGAgKGV4cGxpY2l0IHBsdXMgc2lnbiBmb3IgcG9zaXRpdmUgbGF0aXR1ZGVzKTsKKiBgJWxh
dGRgIC0gbGF0aXR1ZGUgZGVncmVlcywgdW5zaWduZWQsIGludGVnZXIKKiBgJWxhdGRzYCAtIGxh
dGl0dWRlIGRlZ3JlZXMsIHNpZ25lZAoqIGAlbGF0bWAgLSBsYXRpdHVkZSBtaW51dGVzLCB1bnNp
Z25lZCwgaW50ZWdlcgoqIGAlbGF0c2AgLSBsYXRpdHVkZSBzZWNvbmRzLCB1bnNpZ25lZCwgaW50
ZWdlciwgYnV0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgZmxvYXQ6IGAlLjJsYXRzYAoqIGAlbGF0aGAg
LSBsYXRpdHVkZSBoZW1pc3BoZXJlLCBvbmUgbGV0dGVyICgiTiIvIlMiKQoqIGAlbG5nYCwgYCVs
bmdkYCwgYCVsbmdkc2AsIGAlbG5nc2AsIGAlbG5naGAsIGAlbG5nSGAgLSBzYW1lIGZvciBsb25n
aXR1ZGUKKiBgJSVgIGxpdGVyYWwgYCVgIHNpZ24KCiMjIyBDdXJyZW50IGltcGxlbWVudGF0aW9u
CgpQcm9wb3NlZCBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgYXQgaHR0cHM6Ly9naXRodWIu
Y29tL3p2ZXJvay9nZW9fY29vcmQuCgpJdCB3YXMgY3JlYXRlZCB3aXRoIHRob3VnaHRzIG9mIHN0
YW5kYXJkIGxpYnJhcnksIHNvLCBhbGwgZG9jcyBhcmUgaW4gUkRvYyBmb3JtYXQsIGFuZCB0ZXN0
cy9zcGVjcyBhcmUgaW4gbXNwZWMtY29tcGF0aWJsZSByc3BlYyBmbGF2b3VyLgoKCgoKLS0gCmh0
dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3Jl
LXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3Rz
LnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next