[#97063] [Ruby master Bug#16608] ConditionVariable#wait should return false when timeout exceeded — shugo@...

Issue #16608 has been reported by shugo (Shugo Maeda).

10 messages 2020/02/05

[#97084] [Ruby master Feature#16614] New method cache mechanism for Guild — ko1@...

Issue #16614 has been reported by ko1 (Koichi Sasada).

18 messages 2020/02/07

[#97248] [Ruby master Bug#16651] Extensions Do Not Compile on Mingw64 — cfis@...

Issue #16651 has been reported by cfis (Charlie Savage).

17 messages 2020/02/24

[#97289] [Ruby master Bug#16658] `method__cache__clear` DTrace hook was dropped without replacement — v.ondruch@...

Issue #16658 has been reported by vo.x (Vit Ondruch).

9 messages 2020/02/27

[#97307] [Ruby master Feature#16663] Add block or filtered forms of Kernel#caller to allow early bail-out — headius@...

Issue #16663 has been reported by headius (Charles Nutter).

29 messages 2020/02/28

[#97310] [Ruby master Feature#16665] Add an Array#except_index method — alexandr1golubenko@...

Issue #16665 has been reported by alex_golubenko (Alex Golubenko).

12 messages 2020/02/29

[ruby-core:97044] [Ruby master Feature#16511] Staged warnings and better compatibility for keyword arguments in 2.7.1

From: eregontp@...
Date: 2020-02-02 20:31:25 UTC
List: ruby-core #97044
SXNzdWUgIzE2NTExIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N
Cg0KDQpEYW4wMDQyIChEYW5pZWwgRGVMb3JtZSkgd3JvdGUgaW4gI25vdGUtMTQ6DQo+IEluIDIu
NyB0aGlzIHJlc3VsdHMgaW4gYSB3YXJuaW5nIGRlcGVuZGluZyBvbiBgc29tZV9jb25kaXRpb25g
LCB0aGF0J3MgcmVhbGx5IG5vdCBzaW1wbGUgdG8gdW5kZXJzdGFuZC4gIDotLw0KDQpJJ2QgZ3Vl
c3MgaXQncyBmYWlybHkgdW5jb21tb24gdG8gY2FsbCBhIG1ldGhvZCBub3QgYWNjZXB0aW5nIGtl
eXdvcmQgYXJndW1lbnRzIHdpdGggYCoqYC4NCg0KPiA+IEknbSBub3Qgc3VyZSB3aGF0J3MgdGhl
IGRlc2lnbiBvZiB5b3VyIHByb3Bvc2FsLg0KPiA+IFdoYXQgZG8geW91IGNoYW5nZSB0byBrZWVw
ICphcmdzLWRlbGVnYXRpb24gd29ya2luZz8NCj4gDQo+IFdlbGwsIHRoZSBkZXNpZ24gaXMgZGVz
Y3JpYmVkIGluIGV4dHJlbWVseSB0aG9yb3VnaCBkZXRhaWwgYWJvdmUsIGFsdGhvdWdoIEkgcmVh
bGl6ZSBpdCdzIGEgbWFzc2l2ZSB3YWxsIG9mIHRleHQgdG8gcmVhZC4gSSBndWVzcyB5b3UgY2Fu
IGJvaWwgaXQgZG93biB0byBoYXZpbmcgdGhlIGtleXdvcmQgZmxhZyBzZXQgb24gX2V2ZXJ5XyBz
cGxhdHRlZCBoYXNoIGluc3RlYWQgb2YganVzdCB3aGVuIGFjY2VwdGluZyBhIGAqcmVzdGAgYXJn
dW1lbnQuIFRoYXQgd2F5IGlzIG11Y2ggbW9yZSBsb2dpY2FsOyBpdCdzIGEgY29oZXJlbnQgcGFy
dCBvZiB0aGUgZGVzaWduIGluc3RlYWQgb2YgYSBzcGVjaWFsLWNhc2UgaGFjayAoYXMgZXhwbGFp
bmVkIGluIHRoZSBwcm9wb3NhbCBkZXNjcmlwdGlvbikuDQoNCkkgcmVhZCB0aGUgZmlyc3QgcG9z
dCBtdWx0aXBsZSB0aW1lcyBidXQgSSBjYW4ndCBxdWl0ZSB1bmRlcnN0YW5kIHdoYXQgaXQgcHJl
Y2lzZWx5IG1lYW5zLg0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2NTExI25v
dGUtMTIgaXMgbW9yZSBwcmVjaXNlLCBidXQgc3RpbGwgcXVpdGUgYWJzdHJhY3QgdG8gbWUuDQoN
CkNvdWxkIHlvdSBzaG93IGEgdGVudGF0aXZlIHRpbWVsaW5lIGZvciB5b3VyIHByb3Bvc2FsPw0K
SS5lLiwgd2hlbiBlYWNoIGRlcHJlY2F0aW9uIGlzIGludHJvZHVjZWQgYW5kIHdoZW4gYmVoYXZp
b3IgaXMgY2hhbmdlZC4NCg0KVHJlYXRpbmcgYXMga2V5d29yZHMgZXZlbiBmb3IgYGZvbyhoKWAg
aWYgYGhgIGlzIGZsYWdnZWQgc2VlbXMgbGlrZSBpdCB3b3VsZCBzaWduaWZpY2FudGx5IGluY3Jl
YXNlIHRoZSBjaGFuY2UgdG8gbm90IGJlaGF2ZSBhcyBpbnRlbmRlZCwgYXMgSmVyZW15IHNob3dl
ZC4NCkNvbnNpZGVyaW5nIG1pbmltdW0gYXJpdHkgbGlrZSBpbiBodHRwczovL2J1Z3MucnVieS1s
YW5nLm9yZy9pc3N1ZXMvMTY1MTEjbm90ZS04IHdvdWxkIElNSE8gYnJlYWtzIHRoZSBzZXBhcmF0
aW9uIGFuZCBhZGQgYSBuZXcgZXhjZXB0aW9uYWwgY2FzZS4NCkl0J3MgbGlrZWx5IHRvIGFsc28g
YmUgdmVyeSBicml0dGxlIGlmIHRoZXJlIGFyZSBub24tcmVxdWlyZWQgYXJndW1lbnRzLg0KV291
bGQgc3VjaCBiZWhhdmlvciBiZSBldmVudHVhbGx5IHJlbW92ZWQgaW4geW91ciBwcm9wb3NhbD8g
UGVyZm9ybWFuY2Utd2lzZSBpdCBsaWtlbHkgaGFzIHNvbWUgY29zdCBhcyBpdCBjYXVzZXMgZXh0
cmEgY2hlY2tzLg0KDQpUaGUgYHJ1YnkyX2tleXdvcmRzYCBydWxlIHRvIG9ubHkgY29uc2lkZXIg
YCphcmdzYCBpcyBhIHZlcnkgcHJlY2lzZSB3YXkgdG8gZGV0ZWN0IGRlbGVnYXRpb24gaW4gUnVi
eS4NCkZvciB0aGF0IHJlYXNvbiBJIHRoaW5rIGl0J3MgdmFsdWFibGUgdG8gb25seSBoYXZlIHNw
ZWNpYWwgYmVoYXZpb3IgZm9yIHRoYXQgY2FzZSwgYW5kIG9ubHkgdW50aWwgd2UgY2FuIHNhZmVs
eSBtaWdyYXRlIHRvIGAoKmFyZ3MsICoqa3dhcmdzKWAtZGVsZWdhdGlvbi4NCg0KSWYgSSB1bmRl
cnN0YW5kIGNvcnJlY3RseSBmcm9tIHRoZSBmaXJzdCBwb3N0LCB5b3VyIHByb3Bvc2FsIGhhcyBt
b3JlIHN0ZXBzIHRoYW4gbWluZS4NCk15IHByb3Bvc2FsIGhhcyAyIHN0ZXBzOiBkZXByZWNhdGUg
cGFzc2luZyBrZXl3b3JkIGFyZ3VtZW50cyB3aXRob3V0IGAqKi9mb286YCBpbiAyLjcgKGFscmVh
ZHkgZG9uZSBpbiAyLjcuMCkgYW5kIGRlcHJlY2F0ZSBkZWxlZ2F0aW9uIGluIFJ1YnkgMy53YXJu
IChlLmcuLCBSdWJ5IDMuNCwgY2FuIHVzZSBgKCphcmdzLCAqKmt3YXJncylgLWRlbGVnYXRpb24g
dGhlbikuDQpGb3Igc2ltcGxpY2l0eSBsZXQncyBhc3N1bWUgZWFjaCByZWxlYXNlIGFmdGVyIHRo
ZSBkZXByZWNhdGlvbiBjaGFuZ2VzIHRvIHRoZSBuZXcgYmVoYXZpb3IuDQpJJ20gYWZyYWlkIG1v
cmUgc3RlcHMgd2lsbCBicmluZyBtb3JlIGNvbmZ1c2lvbiBhbmQgc2xvdyBkb3duIGV2ZW4gbW9y
ZSBhZG9wdGlvbi4NCg0KPiBEZXN0cnVjdHVyaW5nIGl0ZXJhdGlvbiBpcyBjb21wYXRpYmxlDQoN
ClRoYXQgd291bGQgb25seSB3b3JrIGluIHZlcnkgZmV3IGNhc2VzLg0KRm9yIGV4YW1wbGUgaWYg
dGhlIEhhc2ggaXMgY3JlYXRlZCBieSBgSlNPTi5sb2FkYCwgdGhlbiBpdCB3b24ndCBiZSBtYXJr
ZWQgYXMga2V5d29yZCwgYW5kIGAubWFweyB8eDp8IHggfWAgd29uJ3Qgd29yay4NCkFsc28gaWYg
eW91IHdhbnRlZCB0byBtYWtlIHRoaXMgd29yayBvbiBhbiBBcnJheSBvZiBtdWx0aXBsZSBlbGVt
ZW50cyB5b3UnZCBuZWVkIHNvbWV0aGluZyBsaWtlIGBbKipoMSwgKipoMl0ubWFweyB8eDp8IHgg
fWAgd2hpY2ggaXMgYm90aCB3ZWlyZCBhbmQgZG9lc24ndCB3b3JrIChoYXNoZXMgYXJlIG1lcmdl
ZCkuDQpUaGF0J3MgYW4gYWJ1c2Ugb2YgdGhlIGF1dG9tYXRpYyBjb252ZXJzaW9uLCBsZXQncyBr
aWxsIGl0LCB0aGVyZSBpcyBubyB3YXkgdG8gcHJlc2VydmUgaXQgd2l0aG91dCBicmVha2luZyB0
aGUgc2VwYXJhdGlvbi4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KRmVhdHVyZSAjMTY1MTE6IFN0YWdlZCB3YXJuaW5ncyBhbmQgYmV0dGVyIGNvbXBhdGliaWxp
dHkgZm9yIGtleXdvcmQgYXJndW1lbnRzIGluIDIuNy4xDQpodHRwczovL2J1Z3MucnVieS1sYW5n
Lm9yZy9pc3N1ZXMvMTY1MTEjY2hhbmdlLTg0MTM4DQoNCiogQXV0aG9yOiBEYW4wMDQyIChEYW5p
ZWwgRGVMb3JtZSkNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3JtYWwNCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkFzIGFuIGFsdGVybmF0aXZlIHRvICMx
NjQ2MyBhbmQgIzE2NDk0IEknZCBsaWtlIHRvIHByb3Bvc2UgdGhpcyBhcHByb2FjaCwgd2hpY2gg
SSBiZWxpZXZlIGFsbG93cyBhICoqbXVjaCoqIG1vcmUgZmxleGlibGUgcGF0aCBmb3IgbWlncmF0
aW9uIG9mIGtleXdvcmQgYXJndW1lbnRzLg0KDQpUaGUgaWRlYSBpcyB0byBpbmRpY2F0ZSBmb3Ig
ZXZlcnkgSGFzaCBvYmplY3QgaWYgaXQncyBpbnRlbmRlZCB0byByZXByZXNlbnQgYSBfa2V5d29y
ZF8gaGFzaCBvciBhIF9kYXRhXyBoYXNoLiBUaGlzIGV4dHJhIGluZm9ybWF0aW9uIGlzIHRoZW4g
dXNlZCB0byBnZW5lcmF0ZSBtb3JlIGdyYW51bGFyIHdhcm5pbmdzIGRlcGVuZGluZyBvbiBhIHVz
ZXIncyBjb21wYXRpYmlsaXR5IG5lZWRzLg0KDQpUaGUgImtleXdvcmRuZXNzIiBvZiBhIGhhc2gg
d291bGQgYmUgaW5kaWNhdGVkIGJ5IGEgKipmbGFnKiogb24gdGhlIEhhc2ggb2JqZWN0OyB0aGlz
IGlzIGFscmVhZHkgaW1wbGVtZW50ZWQgaW4gMi43IGFuZCBpcyB0aGUgYXBwcm9hY2ggZmF2b3Jl
ZCBieSBNYXR6LiBMZXQncyBjYWxsIHRoaXMgZmxhZ2dlZCBoYXNoIGEgIkt3SGFzaCIsIGFuZCBh
IG5vbi1mbGFnZ2VkIGhhc2ggaXMganVzdCBhICJIYXNoIi4gTm90ZTogdGhpcyBjb3VsZCBhbHNv
IGJlIGltcGxlbWVudGVkIHZpYSBhICoqc3ViY2xhc3MqKiBvZiBIYXNoIChJIHBlcnNvbmFsbHkg
ZmF2b3IgdGhpcyBvYmplY3Qtb3JpZW50ZWQgYXBwcm9hY2gpIHdoaWNoIHdhcyB0aGUgb3JpZ2lu
YWwgaWRlYSBpbiB0aGlzIHByb3Bvc2FsLg0KDQpJJ2xsIHRyeSB0byBkZXNjcmliZSB0aGUgaWRl
YSBpbiBkZXRhaWwgYnkgYnJlYWtpbmcgaXQgZG93biBpbnRvIGZpZ3VyYXRpdmUgc3RlcHMuIChT
a2lwIHRvICJQdXR0aW5nIGl0IGFsbCB0b2dldGhlciIgZm9yIHRoZSBUTDtEUiB2ZXJzaW9uLikg
SW1hZ2luZSBzdGFydGluZyB3aXRoIHJ1YnkgMi42IGFuZCB0aGVuOg0KDQojIyMgU3RlcCAxDQoN
CldoZW4gYSBkb3VibGUtc3BsYXQgb3IgYSBicmFjZS1sZXNzIGhhc2ggaXMgdXNlZCwgaW5zdGVh
ZCBvZiBhIEhhc2ggaXQgY3JlYXRlcyBhIEt3SGFzaC4NCg0KYGBgcnVieQ0KZGVmIGZvbyh4KSB4
IGVuZA0KZm9vKGs6MSkuY2xhc3MgICAgICAjPT4gS3dIYXNoDQpmb28oKipoYXNoKS5jbGFzcyAg
ICM9PiBLd0hhc2gNCltrOjFdLmxhc3QuY2xhc3MgICAgIz0+IEt3SGFzaA0KWyoqaGFzaF0ubGFz
dC5jbGFzcyAjPT4gS3dIYXNoDQp7KipoYXNofS5jbGFzcyAgICAgICM9PiBIYXNoDQpgYGANCg0K
QXQgdGhpcyBwb2ludCB3ZSBoYXZlbid0IGludHJvZHVjZWQgYW55IHJlYWwgY2hhbmdlLiBFdmVy
eXRoaW5nIHRoYXQgd29ya2VkIGJlZm9yZSBpcyBzdGlsbCB3b3JraW5nIHRoZSBzYW1lIHdheS4N
CihXaXRoIGEgbWlub3IgZXhjZXB0aW9uIGlmIHVzaW5nIHRoZSBzdWJjbGFzcyBhcHByb2FjaDog
dW51c3VhbCBjb2RlIGxpa2UgYGt3LmNsYXNzID09IEhhc2hgIHdvdWxkIG5vdyByZXR1cm4gZmFs
c2UuKQ0KDQojIyMgU3RlcCAyDQoNCldoZW4gdGhlcmUgaXMgYW1iaWd1aXR5IGR1ZSB0byBvcHRp
b25hbCB2cyBrZXl3b3JkIGFyZ3VtZW50LCB3ZSByZWx5IG9uIHRoZSBsYXN0IGFyZ3VtZW50IGJl
aW5nIEhhc2ggb3IgS3dIYXNoIHRvIGRpc2FtYmlndWF0ZS4NCg0KYGBgcnVieQ0KZGVmIGZvbyh4
PW5pbCwgKiprdykNCiAgW3gsa3ddDQplbmQNCmZvbyh7azoxfSkgIz0+IFt7azoxfSx7fV0NCmZv
byhrOjEpICAgIz0+IFtuaWwse2s6MX1dDQpgYGANCg0KVGhpcyBpcyB0aGUgX21pbmltdW1fIGFt
b3VudCBvZiBpbmNvbXBhdGliaWxpdHkgcmVxdWlyZWQgdG8gc29sdmUgQUxMIGJ1Z3MgcHJldmlv
dXNseSByZXBvcnRlZCB3aXRoIGtleXdvcmQgYXJndW1lbnRzLiAoIzgwNDAsICM4MzE2LCAjOTg5
OCwgIzEwODU2LCAjMTEyMzYsICMxMTk2NywgIzEyMTA0LCAjMTI3MTcsICMxMjgyMSwgIzEzMzM2
LCAjMTM2NDcsICMxNDEzMCwgZXRjLikgDQoNClRoZSB3YXJuaW5ncyBmb3IgdGhpcyB3b3VsZCBi
ZSBhYm91dCBhbiBpbXBlbmRpbmcgX2NoYW5nZSBvZiBiZWhhdmlvcl8gaW4gdGhlIF9uZXh0IHJ1
YnkgdmVyc2lvbl8sIHdoZXJlIGBmb28oe2s6MX0pYCBpcyBubyBsb25nZXIgaW50ZXJwcmV0ZWQg
YXMga2V5d29yZCBhcmd1bWVudC4NCg0KIyMjIFN0ZXAgMw0KDQpJbnRyb2R1Y2UgYWRkaXRpb25h
bCBpbmNvbXBhdGliaWxpdHkgdG8gaW1wcm92ZSBjbGFyaXR5IG9mIGRlc2lnbi4gSGVyZSB3ZSBk
ZXByZWNhdGUgdGhlIGF1dG9tYXRpYyBjb252ZXJzaW9uIG9mIEhhc2ggdG8ga2V5d29yZCBhcmd1
bWVudDsgb25seSBLd0hhc2ggaXMgYWNjZXB0ZWQuIFdpdGggYSBkZXByZWNhdGlvbi93YXJuaW5n
IHBoYXNlLCBvZiBjb3Vyc2UuIFRoZSAiYXV0b21hdGljIiBwcm9tb3Rpb24gb2YgYSBLd0hhc2gg
dG8gYSBrZXl3b3JkIGFyZ3VtZW50IGZvbGxvd3MgdGhlIHNhbWUgcnVsZXMgYXMgYSBIYXNoIGlu
IDIuNjsgc2luY2UgdGhlIEt3SGFzaCBpcyBjb25jZXB0dWFsbHkgaW50ZW5kZWQgdG8gcmVwcmVz
ZW50IGtleXdvcmQgYXJndW1lbnRzLCB0aGlzIGNvbnZlcnNpb24gbWFrZXMgc2Vuc2UgaW4gYSB3
YXkgdGhhdCBhIG5vcm1hbCBkYXRhIEhhc2ggZG9lc24ndC4gV2UndmUgdGFrZW4gdGhlICJsYXN0
IHBvc2l0aW9uYWwgaGFzaCIgY29uY2VwdCBhbmQgc3BsaXQgaXQgaW50byAiY29uY2VwdHVhbGx5
IGEgaGFzaCIgYW5kICJjb25jZXB0dWFsbHkga2V5d29yZCBhcmd1bWVudHMiLiBfTW9zdCBpbXBv
cnRhbnRseV8sIGFsbCB0aGUgY2hhbmdlcyByZXF1aXJlZCB0byBzaWxlbmNlIHRoZXNlIHdhcm5p
bmdzIGFyZSBfY29tcGF0aWJsZSB3aXRoIDIuNl8uDQoNCmBgYHJ1YnkNCmRlZiBmb28oeCwgKipr
dyk7IGVuZA0KZm9vKGs6MSkgICAgICAjIEFyZ3VtZW50RXJyb3IgYmVjYXVzZSB4IG5vdCBzcGVj
aWZpZWQNCmZvbygxLCB7azoxfSkgIyBBcmd1bWVudEVycm9yIGJlY2F1c2UgdG9vIG1hbnkgYXJn
dW1lbnRzOyBIYXNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gS3dIYXNocw0Kb3B0cyA9IFtrOjFd
LmZpcnN0DQpmb28ob3B0cykgICAgICMgb3B0cyBpcyBhIEt3SGFzaCB0aGVyZWZvcmUgdXNlZCBh
cyBrZXl3b3JkIGFyZ3VtZW50OyBBcmd1bWVudEVycm9yIGJlY2F1c2UgeCBub3Qgc3BlY2lmaWVk
DQpmb28oMSwgb3B0cykgICMgb3B0cyBpcyBhIEt3SGFzaCB0aGVyZWZvcmUgdXNlZCBhcyBrZXl3
b3JkIGFyZ3VtZW50DQpgYGANCg0KVGhlIHdhcm5pbmdzIGZvciB0aGlzIHdvdWxkIGJlIGFib3V0
IHVwY29taW5nIF9lcnJvcnNfIGZvciBwb3NpdGlvbmFsIGFyZ3VtZW50czogYGZvbyh4OjEpYCB3
aWxsIGJlICJnaXZlbiAwLCBleHBlY3RlZCAxIiBhbmQgYGZvbygxLHt4OjJ9KWAgd2lsbCBiZSAi
Z2l2ZW4gMiwgZXhwZWN0ZWQgMSIuIFN1Y2ggZXJyb3JzIGFyZSB1c2VmdWwgd2hlbiBkZXZlbG9w
aW5nLCBidXQgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkgcGVyIHNlLCBqdXN0IGEgc3Ry
aWN0ZXIgc3ludGF4LiBTbyBpdCdzIGxlc3MgaW1wb3J0YW50IHRvIGVzY2FsYXRlIHRvIGFuIGVy
cm9yIGFuZCB3ZSBjYW4ga2VlcCB0aGUgd2FybmluZ3MgZm9yIGxvbmdlciB0aGFuIFN0ZXAgMi4N
Cg0KQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGFjaGlldmVkIF9hbG1vc3QtZnVsbF8gKipkeW5hbWlj
Kioga2V5d29yZCBzZXBhcmF0aW9uLCBhcyBvcHBvc2VkIHRvIHRoZSBjdXJyZW50IF9hbG1vc3Qt
ZnVsbF8gKipzdGF0aWMqKiBhcHByb2FjaC4gSSB3YW50IHRvIG1ha2UgdGhlIHBvaW50IGhlcmUg
dGhhdCwgeWVzLCBrZXl3b3JkIGFyZ3VtZW50cyAqKmFyZSoqIHNlcGFyYXRlZCwgaXQncyBqdXN0
IGEgZGlmZmVyZW50IHBhcmFkaWdtLiBXaXRoIHN0YXRpYyBzZXBhcmF0aW9uLCBhIGtleXdvcmQg
YXJndW1lbnQgaXMgZGVmaW5lZCBsZXhpY2FsbHkgYnkgYSBkb3VibGUtc3BsYXQuIFdpdGggZHlu
YW1pYyBzZXBhcmF0aW9uLCBhIGtleXdvcmQgYXJndW1lbnQgaXMgd2hlbiB0aGUgbGFzdCBhcmd1
bWVudCBpcyBhIEt3SGFzaC4ge3tOb3RlOiBJJ20gc2F5aW5nICJhbG1vc3QtZnVsbCIgYmVjYXVz
ZSBLd0hhc2ggaXMgbm90IHByb21vdGVkIHRvIGtleXdvcmRzIGluIGBkZWYgZm9vKGEsKiprdyk7
ZW5kO2Zvbyh4OjEpYCBhbmQgYmVjYXVzZSBzdGF0aWMga2V5d29yZHMgYXJlIGF1dG8tZGVtb3Rl
ZCB0byBwb3NpdGlvbmFsIGluIGBkZWYgZm9vKGEpO2VuZDtmb28oeDoxKWB9fQ0KDQpBbnkgZm9y
bSBvZiBkZWxlZ2F0aW9uIHdvcmtzIHdpdGggbm8gY2hhbmdlIHJlcXVpcmVkLiBUaGlzIHByZXNl
cnZlcyB0aGUgYmVoYXZpb3Igb2YgMi42IGJ1dCBvbmx5IGZvciBLd0hhc2ggb2JqZWN0cy4gVGhp
cyBpcyBzaW1pbGFyIHRvIGhhdmluZyAyLjcgd2l0aCBgcnVieTJfa2V5d29yZHNgIGVuYWJsZWQg
YnkgZGVmYXVsdC4gQnV0IGFsc28gZGlmZmVyZW50IGluIHNvbWUgd2F5czsgbW9zdCBub3RhYmx5
IGl0IGFsbG93cyB0aGUgY2FzZSBzaG93biBpbiAjMTY0OTQgdG8gd29yayBieSBkZWZhdWx0Og0K
DQpgYGBydWJ5DQphcnJheSA9IFt4OjFdDQphcnJheS5wdXNoKHg6MikNCmFycmF5Lm1hcHsgfHg6
fCB4IH0gIz0+IFsxLDJdDQpbe3g6M31dLm1hcHsgfHg6fCB4IH0gIz0+IGJ1dCB0aGlzIHdhcm5z
LCBhcyBpdCBzaG91bGQNCmBgYA0KDQpUaGUgY3VycmVudCBhcHByb2FjaCBkb2VzIG5vdCBhbGxv
dyB0aGlzIHRvIHdvcmsgYXQgYWxsLiBUaGUgc29sdXRpb24gcHJvcG9zZWQgaW4gIzE2NDk0IGhh
cyBhbGwgdGhlIHNhbWUgZmxhd3MgYXMgSGFzaC1iYXNlZCBrZXl3b3JkIGFyZ3VtZW50czsgd2hh
dCBoYXBwZW5zIHRvIGBlYWNoeyB8eD1uaWwsKiprd3wgfWAgPyBUaGlzIHNvbHV0aW9uIGFsbG93
cyBhIEt3SGFzaCB0byBiZSBjb252ZXJ0ZWQgdG8uLi4ga2V5d29yZHMuIFZlcnkgdW5zdXJwcmlz
aW5nLg0KDQpHaXZlbiB0aGF0IHJ1YnkgaXMgYSBkeW5hbWljYWxseS10eXBlZCBsYW5ndWFnZSBJ
IGZlZWwgdGhhdCBkeW5hbWljIHR5cGluZyBvZiBrZXl3b3JkcyBpZiBhIG1vcmUgbmF0dXJhbCBm
aXQgdGhhbiBzdGF0aWMgdHlwaW5nLiBCdXQgSSByZWFsaXplIHRoYXQgbWFueSBkaXNhZ3JlZSB3
aXRoIHRoYXQsIHdoaWNoIGlzIHdoeSB3ZSBjb250aW51ZSB0by4uLg0KDQojIyMgU3RlcCA0DQoN
CkludHJvZHVjZSBhZGRpdGlvbmFsIGluY29tcGF0aWJpbGl0eSB0byByZWFjaCBzdGF0aWMvbGV4
aWNhbCBzZXBhcmF0aW9uIG9mIGtleXdvcmQgYXJndW1lbnRzLiBIZXJlIHdlIHJlcXVpcmUgdGhh
dCBldmVuIGEgS3dIYXNoIHNob3VsZCBiZSBwYXNzZWQgd2l0aCBhIGRvdWJsZS1zcGxhdCBpbiBv
cmRlciB0byBxdWFsaWZ5IGFzIGEga2V5d29yZCBhcmd1bWVudC4NCg0KYGBgcnVieQ0KZGVmIGJh
cigqKmt3KQ0KZW5kDQpkZWYgZm9vKCoqa3cpDQogIGJhcihrdykgICAjPT4gZXJyb3I7IEt3SGFz
aCBwYXNzZWQgd2l0aG91dCAqKg0KICBiYXIoKiprdykgIz0+IG9rDQplbmQNCmBgYA0KDQpBdCB0
aGlzIHBvaW50IHdlJ3ZlIHJlYWNoZWQgdGhlIHNhbWUgYmVoYXZpb3IgYXMgMi43LiBEZWxlZ2F0
aW9uIG5lZWRzIHRvIGJlIGZpeGVkLCBidXQgYXMgd2Uga25vdyB0aGUgY2hhbmdlcyByZXF1aXJl
ZCB0byBzaWxlbmNlIHRoZXNlIHdhcm5pbmdzIGFyZSAqKm5vdCoqIGNvbXBhdGlibGUgd2l0aCAy
LjYgb3IgMi43LiBUaGUgd2FybmluZ3MgZm9yIHRoaXMgYXJlIF9mdW5kYW1lbnRhbGx5IG5vdCBm
aXhhYmxlXyBhcyBsb25nIGFzIFN0ZXAgMiBoYXMgbm90IGJlZW4gZml4ZWQuIFRoaXMgaXMgdGhl
IGNvcmUgcmVhc29uIHdoeSBgcnVieTJfa2V5d29yZHNgIGlzIGN1cnJlbnRseSBuZWNlc3Nhcnkg
aW4gMi43LiBTbyBpbiB0aGUgdmVyc2lvbiBhZnRlciAyLjcgd2UgY2FuIGVuYWJsZSB0aGVzZSB3
YXJuaW5ncyBieSBkZWZhdWx0IHNpbmNlIGl0J3Mgbm93IHBvc3NpYmxlIHRvIGZpeCBkZWxlZ2F0
aW9uIHRvIHVzZSBzdGF0aWMga2V5d29yZHMuIEV4Y2VwdCB0aGF0IGdlbSBhdXRob3JzIHdobyBu
ZWVkIHRvIHN0YXkgY29tcGF0aWJsZSB3aXRoIOKJpDIuNyBjYW5ub3QgeWV0IG1ha2UgdGhlc2Ug
Y2hhbmdlcywgc28gd2UgaW50cm9kdWNlIGEgd2F5IHRvIF9zaWxlbmNlICoqb25seSoqIHRoZXNl
ICJTdGVwIDQiIHdhcm5pbmdzXywgZm9yIHBlb3BsZSB3aG8gbmVlZCB0byByZW1haW4gY29tcGF0
aWJsZSB3aXRoIOKJpDIuNy4gQW5kIHdlIGtlZXAgdGhlbSBhcyB3YXJuaW5ncyBpbnN0ZWFkIG9m
IGVycm9ycyB1bnRpbCBydWJ5IDIuNyBpcyBFT0wuDQoNClNvIGluc3RlYWQgb2YgaGF2aW5nIHRv
IHVwZGF0ZSBhIGJ1bmNoIG9mIHBsYWNlcyB3aXRoIGBydWJ5Ml9rZXl3b3Jkc2AganVzdCB0byB0
ZW1wb3JhcmlseSBzaWxlbmNlIHdhcm5pbmdzLCBpdCdzIGEgc2luZ2xlIGZsYWcgbGlrZSBgV2Fy
bmluZ1s6cnVieTNfa2V5d29yZHNdYC4gT25jZSBydWJ5IDIuNyBpcyBFT0wgdGhlc2UgYmVjb21l
IGNvbnRyb2xsZWQgYnkgYFdhcm5pbmdbOmRlcHJlY2F0ZWRdYCB3aGljaCB0ZWxscyBwZW9wbGUg
dGhleSAqKmhhdmUqKiB0byBmaXggdGhlaXIgY29kZS4gV2hpY2ggaXMganVzdCBsaWtlIHRoZSBl
dmVudHVhbCBkZXByZWNhdGlvbiBvZiBgcnVieTJfa2V5d29yZHNgLCBqdXN0IHdpdGhvdXQgdGhl
IGJ1c3kgd29yayBvZiBhZGRpbmcgYHJ1YnkyX2tleXdvcmRzYCBzdGF0ZW1lbnRzIGluIHRoZSBm
aXJzdCBwbGFjZS4gQnV0IGFnYWluLCB0aGlzIGludHJvZHVjZXMgbm8gbmV3IGZ1bmN0aW9uYWxp
dHksIGp1c3QgYSBzdHJpY3RlciBzeW50YXguIFNvIHdlIGNhbiBwbGF5IG5pY2UgYW5kIGxlYXZl
IHRoZSB3YXJuaW5ncyBmb3IgYSBmZXcgeWVhcnMgYmVmb3JlIGNoYW5naW5nIHRvIGVycm9ycy4N
Cg0KVGhlIHF1ZXN0aW9uIHJlbWFpbnMgb2YgaG93IHRvIGhhbmRsZSAjMTY0OTQgaGVyZS4gRWl0
aGVyIGRpc2FsbG93IGl0IGVudGlyZWx5LCBidXQgSSB0aGluayB0aGF0IHdvdWxkIGJlIGEgc2hh
bWUuIE9yIGp1c3QgbGlrZSAjMTY0OTQgc3VnZ2VzdHMsIGFsbG93IGhhc2ggdW5wYWNraW5nIGlu
IG5vbi1sYW1iZGEgUHJvYy4gRXhjZXB0IHRoYXQgbm93IGl0IGNhbiBiZSBhIEt3SGFzaCBpbnN0
ZWFkIG9mIGEgSGFzaCwgd2hpY2ggYXQgbGVhc3QgcHJlc2VydmVzIGR5bmFtaWMga2V5d29yZCBz
ZXBhcmF0aW9uLg0KDQojIyBQdXR0aW5nIGl0IGFsbCB0b2dldGhlciAoVEw7RFIpDQoNClRoZSBp
ZGVhIGlzIF9ub3RfIHRvIHJlaW1wbGVtZW50IGtleXdvcmQgYXJndW1lbnQgc2VwYXJhdGlvbjsg
YWxsIHRoYXQgaXMgbmVlZGVkIGlzIHRvIGltcGxlbWVudCB0aGUgdGhpbmdzIGFib3ZlIHRoYXQg
YXJlIG5vdCBpbiAyLjc6DQoqIENyZWF0ZSBhIEt3SGFzaCBvYmplY3QgZm9yIGJyYWNlLWxlc3Mg
YW5kIGRvdWJsZS1zcGxhdHRlZCBoYXNoZXMuDQoqIERpZmZlcmVudGlhdGUgdGhlIHZhcmlvdXMg
dHlwZXMgb2Ygd2FybmluZ3MgYW5kIGFsbG93IHRvIHRvZ2dsZSBvbi9vZmYgc2VwYXJhdGVseQ0K
ICAqIFN0ZXAgMiB3YXJuaW5ncyBfbXVzdF8gYmUgZml4ZWQgbm93OyBjYW5ub3QgdG9nZ2xlIG9m
Zg0KICAqIFN0ZXAgMyB3YXJuaW5ncyBfc2hvdWxkXyBiZSBmaXhlZCBub3cgYnV0IHlvdSBkb24n
dCBhYnNvbHV0ZWx5IG5lZWQgdG8gdXBncmFkZSB5b3VyIGdlbXMganVzdCBmb3IgdGhhdA0KICAq
IFN0ZXAgNCB3YXJuaW5ncyBfc2hvdWxkXyBiZSBmaXhlZCBpbiBuZXh0IHZlcnNpb24gdW5sZXNz
IHlvdSBuZWVkIHRvIHN1cHBvcnQg4omkMi43DQoNCkkgdGhpbmsgdGhhdCdzIGFsbCwgcmVhbGx5
Li4uDQoNCiMjIyBQcm9zDQoqIENsZWFuZXIgd2F5IHRvIHNvbHZlICMxNjQ5NA0KKiBCZXR0ZXIg
Y29tcGF0aWJpbGl0eSAoYXQgbGVhc3QgdW50aWwgMi42IGlzIEVPTCkNCiAgICogZGVsZWdhdGlv
bg0KICAgKiBzdG9yaW5nIGFuIGFyZ3VtZW50IGxpc3QgdGhhdCBlbmRzIHdpdGggYSBLd0hhc2gN
CiAgICogZGVzdHJ1Y3R1cmluZyBpdGVyYXRpb24gKCMxNjQ5NCkNCiogV2UgY2FuIGF2b2lkIHRo
ZSAidW5mb3J0dW5hdGUgY29ybmVyIGNhc2UiIGFzIGRlc2NyaWJlZCBpbiB0aGUgW3JlbGVhc2Ug
bm90ZXNdKGh0dHBzOi8vd3d3LnJ1YnktbGFuZy5vcmcvZW4vbmV3cy8yMDE5LzEyLzEyL3NlcGFy
YXRpb24tb2YtcG9zaXRpb25hbC1hbmQta2V5d29yZC1hcmd1bWVudHMtaW4tcnVieS0zLTAvKQ0K
ICAgKiBpbiAyLjcgb25seSBkbyBub3Qgb3V0cHV0ICJTdGVwIDQiIHdhcm5pbmdzLCBsZWF2ZSBk
ZWxlZ2F0aW9uIGxpa2UgaXQgd2FzDQogICAqIGluIDIuOCB0aGUgIlN0ZXAgMyIgd2FybmluZ3Mg
aGF2ZSBiZWVuIGZpeGVkIGFuZCBhIEhhc2ggd2lsbCBub3QgYmUgY29udmVydGVkIHRvIGtleXdv
cmQgYXJndW1lbnRzDQogICAqIGRlbGVnYXRpb24gY2FuIG5vdyBzYWZlbHkgYmUgZml4ZWQgdG8g
dXNlIHRoZSBgKipgIHN5bnRheA0KKiBydWJ5Ml9rZXl3b3JkcyBpcyBub3QgcmVxdWlyZWQsIHdo
aWNoIGlzIGRlc2lyYWJsZSBiZWNhdXNlDQogICAqIGl0J3MgYSBoaWRkZW4gZmxhZyBfaGFja18N
CiAgICogaXQgcmVxdWlyZXMgdG8gY2hhbmdlIHRoZSBjb2RlIG5vdywgYW5kIGNoYW5nZSBpdCBf
YWdhaW5fIHdoZW4gcnVieTJfa2V5d29yZHMgaXMgZGVwcmVjYXRlZDsgdHdpY2UgdGhlIHdvcms7
IHR3aWNlIHRoZSBnZW0gdXBncmFkZXMNCiAgICogaXQgd2FzIHN1cHBvc2VkIHRvIGJlIHVzZWQg
b25seSBmb3IgcGVvcGxlIHdobyBuZWVkIHRvIHN1cHBvcnQgMi42IG9yIGJlbG93LCBidXQgaXQn
cyBiZWluZyBtaXN1bmRlcnN0b29kIGFzIGFuIGFjY2VwdGFibGUgd2F5IHRvIGZpeCBkZWxlZ2F0
aW9uIGluIGdlbmVyYWwNCiAgICogdGhlcmUncyB0aGUgbm9uLXplcm8gcmlzayB0aGF0IHJ1Ynky
X2tleXdvcmRzIHdpbGwgbmV2ZXIgYmUgcmVtb3ZlZCwgbGVhdmluZyB1cyB3aXRoIGEgcGVybWFu
ZW50ICJoYWNrIG1vZGUiDQogICAgICAqIGR5bmFtaWMga2V5d29yZHMgYXJlIGJ5IGZhciBwcmVm
ZXJhYmxlIHRvIHN1cHBvcnRpbmcgcnVieTJfa2V5d29yZHMgZm9yZXZlcg0KKiBMaWtlbHkgX2Jl
dHRlciBwZXJmb3JtYW5jZV8sIGFzIHRoZSBLd0hhc2ggY2xhc3MgY2FuIGJlIG9wdGltaXplZCBz
cGVjaWZpY2FsbHkgZm9yIHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2Yga2V5d29yZCBhcmd1bWVudHMu
DQoqIE1vcmUgZmxleGlibGUgbWlncmF0aW9uDQogICAqIEFsbG93IG1vcmUgdGltZSB0byB1cGdy
YWRlIHRoZSBoYXJkIHN0dWZmIGluIFN0ZXAgNA0KICAgKiBDYW4gcmVhY2ggdGhlIF9zYW1lXyBn
b2FsIGFzIHRoZSBjdXJyZW50IHN0YXRpYyBhcHByb2FjaA0KICAgKiBMYXJnZXIgInN1cHBvcnQg
em9uZSIgaHR0cHM6Ly94a2NkLmNvbS8yMjI0Lw0KICAgKiBJbnN0ZWFkIG9mIHdpZGUtcmFuZ2lu
ZyBpbmNvbXBhdGliaWxpdGllcyBhbGwgYXQgb25jZSwgdGhlcmUncyB0aGUgX3Bvc3NpYmlsaXR5
XyBvZiBtYWtpbmcgaXQgZmluZXItZ3JhaW5lZCBhbmQgbW9yZSBncmFkdWFsDQogICAgICAqIHJ1
Ynlpc3RzIGNhbiBfY2hvb3NlXyB0byBtaWdyYXRlIGFsbCBhdCBvbmNlIG9yIGluIHNtYWxsZXIg
Y2h1bmtzDQogICAqIEl0IGhlZGdlcyB0aGUgcmlza3MgYnkga2VlcGluZyBtb3JlIHBvc3NpYmls
aXRpZXMgb3BlbiBmb3Igbm93Lg0KICAgKiBJdCBhbGxvd3MgdG8gY29wLW91dCBhdCBTdGVwIDMg
aWYgU3RlcCA0IHR1cm5zIG91dCB0b28gaGFyZCBiZWNhdXNlIGl0IGJyZWFrcyB0b28gbXVjaCBz
dHVmZg0KDQojIyMgQ29ucw0KKiBJdCBhbGxvd3MgdG8gY29wLW91dCBhdCBTdGVwIDMgaWYgU3Rl
cCA0IHR1cm5zIG91dCB0b28gaGFyZCBiZWNhdXNlIGl0IGJyZWFrcyB0b28gbXVjaCBzdHVmZg0K
DQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8
bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmli
ZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1
YnktY29yZT4K

In This Thread

Prev Next