[#105544] [Ruby master Feature#18239] Variable Width Allocation: Strings — "peterzhu2118 (Peter Zhu)" <noreply@...>

SXNzdWUgIzE4MjM5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHBldGVyemh1MjExOCAoUGV0ZXIgWmh1

18 messages 2021/10/04

[#105566] [Ruby master Bug#18242] Parser makes multiple assignment sad in confusing way — "danh337 (Dan Higgins)" <noreply@...>

SXNzdWUgIzE4MjQyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGRhbmgzMzcgKERhbiBIaWdnaW5zKS4K

9 messages 2021/10/06

[#105573] [Ruby master Bug#18243] Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it — "Eregon (Benoit Daloze)" <noreply@...>

SXNzdWUgIzE4MjQzIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEVyZWdvbiAoQmVub2l0IERhbG96ZSku

11 messages 2021/10/06

[#105586] [Ruby master Bug#18244] Unexpected errors output order — "inversion (Yura Babak)" <noreply@...>

SXNzdWUgIzE4MjQ0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGludmVyc2lvbiAoWXVyYSBCYWJhayku

8 messages 2021/10/07

[#105618] [Ruby master Bug#18249] The ABI version of dev builds of CRuby does not correspond to the ABI — "Eregon (Benoit Daloze)" <noreply@...>

SXNzdWUgIzE4MjQ5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEVyZWdvbiAoQmVub2l0IERhbG96ZSku

23 messages 2021/10/11

[#105626] [Ruby master Bug#18250] Anonymous variables seem to break `Ractor.make_shareable` — "tenderlovemaking (Aaron Patterson)" <noreply@...>

SXNzdWUgIzE4MjUwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHRlbmRlcmxvdmVtYWtpbmcgKEFhcm9u

14 messages 2021/10/12

[#105660] [Ruby master Feature#18254] Add an `offset` parameter to String#unpack and String#unpack1 — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjU0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

13 messages 2021/10/18

[#105665] [Ruby master Bug#18255] ioctl zeroes the last buffer byte — "vihai (Daniele Orlandi)" <noreply@...>

SXNzdWUgIzE4MjU1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHZpaGFpIChEYW5pZWxlIE9ybGFuZGkp

8 messages 2021/10/18

[#105672] [Ruby master Feature#18256] Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable — "Eregon (Benoit Daloze)" <noreply@...>

SXNzdWUgIzE4MjU2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEVyZWdvbiAoQmVub2l0IERhbG96ZSku

6 messages 2021/10/19

[#105692] [Ruby master Bug#18257] SystemTap/DTrace coredump on ppc64le/s390x — "vo.x (Vit Ondruch)" <noreply@...>

SXNzdWUgIzE4MjU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHZvLnggKFZpdCBPbmRydWNoKS4KCi0t

22 messages 2021/10/20

[#105750] [Ruby master Feature#18262] Enumerator::Lazy#partition — "zverok (Victor Shepelev)" <noreply@...>

SXNzdWUgIzE4MjYyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2

8 messages 2021/10/22

[#105781] [Ruby master Misc#18266] DevelopersMeeting20211118Japan — "mame (Yusuke Endoh)" <noreply@...>

SXNzdWUgIzE4MjY2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1hbWUgKFl1c3VrZSBFbmRvaCkuCgot

13 messages 2021/10/25

[#105805] [Ruby master Bug#18270] Refinement#{extend_object, append_features, prepend_features} should be removed — "shugo (Shugo Maeda)" <noreply@...>

SXNzdWUgIzE4MjcwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHNodWdvIChTaHVnbyBNYWVkYSkuCgot

8 messages 2021/10/26

[#105826] [Ruby master Feature#18273] Class.subclasses — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjczIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

35 messages 2021/10/27

[#105833] [Ruby master Feature#18275] Add an option to define_method to not capture the surrounding environment — "vinistock (Vinicius Stock)" <noreply@...>

SXNzdWUgIzE4Mjc1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHZpbmlzdG9jayAoVmluaWNpdXMgU3Rv

11 messages 2021/10/27

[#105853] [Ruby master Feature#18276] `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)` — "ko1 (Koichi Sasada)" <noreply@...>

SXNzdWUgIzE4Mjc2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtvMSAoS29pY2hpIFNhc2FkYSkuCgot

15 messages 2021/10/28

[ruby-core:105670] [Ruby master Feature#18020] Introduce `IO::Buffer` for fiber scheduler.

From: "ioquatix (Samuel Williams)" <noreply@...>
Date: 2021-10-19 05:30:56 UTC
List: ruby-core #105670
SXNzdWUgIzE4MDIwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt
cykuDQoNCg0KPiBtYW1lOiBJIGNhbm5vdCB1bmRlcnN0YW5kIHdoYXQgaXMgZmluYWxseSBuZWVk
ZWQuIERvZXNu4oCZdCBTdHJpbmcgd2l0aCBBU0NJSS04QklUIHdvcms/DQoNClN0cmluZyBpcyBi
b3RoIGluc3VmZmljaWVudCBhbmQgaW5lZmZpY2llbnQuIFlvdSBjYW4gY2hlY2sgaG93IHJlYWQg
YW5kIHdyaXRlIG9uIHN0cmluZ3Mgd29yayB3aXRoIGludGVybmFsIGZyb3plbiBjb3BpZXMsIGZv
ciBleGFtcGxlLCBpdCdzIGJvdGggcGVyZm9ybWFuY2UgYW5kIHNlbWFudGljIGlzc3VlLiBXZSBj
YW4ndCBleHBvc2UgZmFrZSBzdHJpbmcgdG8gc2NoZWR1bGVyIHdoaWNoIG1pZ2h0IGJlIG9uZSBv
dGhlciBvcHRpb24sIGJ1dCBpdCBoYXMgYSBsb3Qgb2YgZWRnZSBjYXNlcy4gSSB0cmllZCBpdCBh
bHJlYWR5Lg0KDQo+IGtvMTogSSBjYW7igJl0IHVuZGVyc3RhbmQgaG93IHRvIHVzZSBpdCB3aXRo
IElPPyBPbmx5IGZvciBzY2hlZHVsZXI/DQoNClNldmVyYWwgZXhhbXBsZXMgYXJlIGdpdmVuIGlu
IFBSLCBpbmNsdWRpbmcgbmV3IHNjaGVkdWxlciBob29rcyBhbmQgdGVzdHMuIEluaXRpYWxseSBv
bmx5IGZvciBzY2hlZHVsZXIsIGJ1dCBJIGJlbGlldmUgd2Ugc2hvdWxkIGV4cG9zZSB0byBhcHBs
aWNhdGlvbiBjb2RlLg0KDQpTaW1pbGFyIGNvbmNlcHQgZXhpc3RzIGluIENyeXN0YWwuDQoNCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE4MDIwOiBJ
bnRyb2R1Y2UgYElPOjpCdWZmZXJgIGZvciBmaWJlciBzY2hlZHVsZXIuDQpodHRwczovL2J1Z3Mu
cnVieS1sYW5nLm9yZy9pc3N1ZXMvMTgwMjAjY2hhbmdlLTk0MTY5DQoNCiogQXV0aG9yOiBpb3F1
YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1h
bA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQWZ0ZXIgY29udGlu
dWluZyB0byBidWlsZCBvdXQgdGhlIGZpYmVyIHNjaGVkdWxlciBpbnRlcmZhY2UgYW5kIHRoZSBz
cGVjaWZpYyBob29rcyByZXF1aXJlZCBmb3IgYGlvX3VyaW5nYCwgSSBmb3VuZCBzb21lIHRyb3Vi
bGUgd2l0aGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBgSU9gLg0KDQpJIGZvdW5kIHRoYXQgaW4g
c29tZSBjYXNlcywgd2UgbmVlZCB0byByZWFkIGludG8gdGhlIGludGVybmFsIElPIGJ1ZmZlcnMg
ZGlyZWN0bHkuIEkgdHJpZWQgY3JlYXRpbmcgYSAiZmFrZSBzdHJpbmciIGluIG9yZGVyIHRvIHRy
YW5zaXQgYmFjayBpbnRvIHRoZSBSdWJ5IGZpYmVyIHNjaGVkdWxlciBpbnRlcmZhY2UgYW5kIHRo
aXMgZGlkIHdvcmsgdG8gYSBjZXJ0YWluIGV4dGVudCwgYnV0IEkgd2FzIHRvbGQgd2UgY2Fubm90
IGV4cG9zZSBmYWtlIHN0cmluZyB0byBSdWJ5IHNjaGVkdWxlciBpbnRlcmZhY2UuDQoNClNvLCBh
ZnRlciB0aGlzLCBhbmQgbWFueSBvdGhlciBmcnVzdHJhdGlvbnMgd2l0aCB1c2luZyBgU3RyaW5n
YCBhcyBhIElPIGJ1ZmZlciwgSSBkZWNpZGVkIHRvIGltcGxlbWVudCBhIGxvdyBsZXZlbCBgSU86
OkJ1ZmZlcmAgYmFzZWQgb24gbXkgbmVlZHMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgSU8sIGFuZCBh
cyBwYXJ0IG9mIHRoZSBmaWJlciBzY2hlZHVsZXIgaW50ZXJmYWNlLg0KDQpIZXJlIGlzIHJvdWdo
bHkgdGhlIGludGVyZmFjZSBpbXBsZW1lbnRlZCBieSB0aGUgc2NoZWR1bGVyIHcuci50LiB0aGUg
YnVmZmVyOg0KDQpgYGBydWJ5DQpjbGFzcyBTY2hlZHVsZXINCiAgIyBAcGFyYW1ldGVyIGJ1ZmZl
ciBbSU86OkJ1ZmZlcl0gQnVmZmVyIGZvciByZWFkaW5nIGludG8uDQogIGRlZiBpb19yZWFkKGlv
LCBidWZmZXIsIGxlbmd0aCkNCiAgICAjIGltcGxlbWVudGF0aW9uIHByb3ZpZGVkIGJ5IGByZWFk
YCBzeXN0ZW0gY2FsbCwgSU9fVVJJTkdfUkVBRFYsIGV0Yy4NCiAgZW5kDQoNCiAgIyBAcGFyYW1l
dGVyIGJ1ZmZlciBbSU86OkJ1ZmZlcl0gQnVmZmVyIGZvciB3cml0aW5nIGZyb20uDQogIGRlZiBp
b193cml0ZShpbywgYnVmZmVyLCBsZW5ndGgpDQogICAgIyBpbXBsZW1lbnRhdGlvbiBwcm92aWRl
ZCBieSBgd3JpdGVgIHN5c3RlbSBjYWxsLCBJT19VUklOR19XUklURVYsIGV0Yy4NCiAgZW5kDQoN
CiAgIyBQb3RlbnRpYWwgbmV3IGhvb2tzIChTb2NrZXQjcmVjdm1zZywgc2VuZG1zZywgZXRjKToN
CiAgZGVmIGlvX3JlY3Ztc2coaW8sIGJ1ZmZlciwgbGVuZ3RoKQ0KICBlbmQNCmVuZA0KYGBgDQoN
CkluIHJldmlld2luZyBvdGhlciBsYW5ndWFnZSBkZXNpZ25zLCBJIGZvdW5kIHRoYXQgdGhpcyBk
ZXNpZ24gaXMgdmVyeSBzaW1pbGFyIHRvIENyeXN0YWwncyBJTyBidWZmZXJpbmcgc3RyYXRlZ3ku
DQoNClRoZSBwcm9wb3NlZCBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyBlbm91Z2ggb2YgYW4gaW50
ZXJmYWNlIHRvIGltcGxlbWVudCBib3RoIG5hdGl2ZSBzY2hlZHVsZXJzIGFzIHdlbGwgYXMgcHVy
ZSBSdWJ5IHNjaGVkdWxlcnMuIEl0IGFsc28gcHJvdmlkZXMgc29tZSBleHRyYSBmdW5jdGlvbmFs
aXR5IGZvciBpbnRlcnByZXRpbmcgdGhlIGRhdGEgaW4gdGhlIGJ1ZmZlci4gVGhpcyBpcyBtb3N0
bHkgZm9yIHRlc3RpbmcgYW5kIGV4cGVyaW1lbnRhdGlvbiwgYWx0aG91Z2ggaXQgbWlnaHQgbWFr
ZSBzZW5zZSB0byBleHBvc2UgdGhpcyBpbnRlcmZhY2UgZm9yIGJpbmFyeSBwcm90b2NvbHMgbGlr
ZSBIVFRQLzIsIFFVSUMsIFdlYlNvY2tldHMsIGV0Yy4NCg0KIyMgUHJvcG9zZWQgU29sdXRpb24N
Cg0KV2UgaW50cm9kdWNlIG5ldyBjbGFzcyBgSU86OkJ1ZmZlcmAuDQoNCmBgYHJ1YnkNCmNsYXNz
IElPOjpCdWZmZXINCiAgIyBAcmV0dXJucyBbSU86OkJ1ZmZlcl0gQSBidWZmZXIgd2l0aCB0aGUg
Y29udGVudHMgb2YgdGhlIHN0cmluZyBkYXRhLg0KICBkZWYgc2VsZi5mb3Ioc3RyaW5nKQ0KICBl
bmQNCg0KICBQQUdFX1NJWkUgPSAjIC4uLiBvcGVyYXRpbmcgc3lzdGVtIHBhZ2Ugc2l6ZQ0KDQog
ICMgQHJldHVybnMgW0lPOjpCdWZmZXJdIEEgYnVmZmVyIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRo
ZSBmaWxlIG1hcHBlZCB0byBtZW1vcnkuDQogIGRlZiBzZWxmLm1hcChmaWxlKQ0KICBlbmQNCg0K
ICAjIEZsYWdzIGZvciBidWZmZXIgc3RhdGUuDQogIEVYVEVSTkFMID0gIyBUaGUgYnVmZmVyIGlz
IGZyb20gZXh0ZXJuYWwgbWVtb3J5Lg0KICBJTlRFUk5BTCA9ICMgVGhlIGJ1ZmZlciBpcyBmcm9t
IGludGVybmFsIG1lbW9yeSAobWFsbG9jKS4NCiAgTUFQUEVEID0gIyBUaGUgYnVmZmVyIGlzIGZy
b20gbWFwcGVkIG1lbW9yeSAobW1hcCwgVmlydHVhbEFsbG9jLCBldGMpDQogIExPQ0tFRCA9ICMg
VGhlIGJ1ZmZlciBpcyBsb2NrZWQgZm9yIHVzYWdlIChjYW5ub3QgYmUgcmVzaXplZCkNCiAgUFJJ
VkFURSA9ICMgVGhlIGJ1ZmZlciBpcyBtYXBwZWQgYXMgY29weS1vbi13cml0ZS4NCiAgSU1NVVRB
QkxFID0gIyBUaGUgYnVmZmVyIGNhbm5vdCBiZSBtb2RpZmllZC4NCg0KICAjIEByZXR1cm5zIFtJ
Tzo6QnVmZmVyXSBBIGJ1ZmZlciB3aXRoIHRoZSBzcGVjaWZpZWQgc2l6ZSwgYWxsb2NhdGVkIGFj
Y29yZGluZyB0byB0aGUgZ2l2ZW4gZmxhZ3MuDQogIGRlZiBpbml0aWFsaXplKHNpemUsIGZsYWdz
KQ0KICBlbmQNCg0KICAjIEByZXR1cm5zIFtJbnRlZ3JhbF0gVGhlIHNpemUgb2YgdGhlIGJ1ZmZl
cg0KICBhdHRyIDpzaXplDQoNCiAgIyBAcmV0dXJucyBbU3RyaW5nXSBBIGJyaWVmIHN1bW1hcnkg
YW5kIGhleCBkdW1wIG9mIHRoZSBidWZmZXIuDQogIGRlZiBpbnNwZWN0DQogIGVuZA0KDQogICMg
QHJldHVybnMgW1N0cmluZ10gQSBicmllZiBzdW1tYXJ5IG9mIHRoZSBidWZmZXIuDQogIGRlZiB0
b19zDQogIGVuZA0KDQogICMgRmxhZyBwcmVkaWNhdGVzOg0KICBkZWYgZXh0ZXJuYWw/DQogIGVu
ZA0KDQogIGRlZiBpbnRlcm5hbD8NCiAgZW5kDQoNCiAgZGVmIG1hcHBlZD8NCiAgZW5kDQoNCiAg
ZGVmIGxvY2tlZD8NCiAgZW5kDQoNCiAgZGVmIGltbXV0YWJsZT8NCiAgZW5kDQoNCiAgIyBGbGFn
cyBmb3IgZW5kaWFuL2J5dGUgb3JkZXI6DQogIExJVFRMRV9FTkRJQU4gPSAjIC4uLg0KICBCSUdf
RU5ESUFOID0gIyAuLi4NCiAgSE9TVF9FTkRJQU4gPSAjIC4uLg0KICBORVRXT1JLX0VORElBTj0g
IyAuLi4NCg0KICAjIExvY2sgdGhlIGJ1ZmZlciAocHJldmVudCByZXNpemUsIHVubWFwLCBjaGFu
Z2VzIHRvIGJhc2UgYW5kIHNpemUpLg0KICBkZWYgbG9jaw0KICAgIHJhaXNlICJBbHJlYWR5IGxv
Y2tlZCEiIGlmIGZsYWdzICYgTE9DS0VEDQogICAgDQogICAgZmxhZ3MgfD0gTE9DS0VEDQogIGVu
ZA0KDQogICMgVW5sb2NrIHRoZSBidWZmZXIuDQogIGRlZiB1bmxvY2sNCiAgICByYWlzZSAiTm90
IGxvY2tlZCEiIHVubGVzcyBmbGFncyAmIExPQ0tFRA0KICAgIA0KICAgIGZsYWdzIHw9IH5MT0NL
RUQNCiAgZW5kDQoNCiAgLy8gTWFuaXB1bGF0aW9uOg0KICAjIEByZXR1cm5zIFtJTzo6QnVmZmVy
XSBBIHNsaWNlIG9mIHRoZSBidWZmZXIncyBkYXRhLiBEb2VzIG5vdCBjb3B5Lg0KICBkZWYgc2xp
Y2Uob2Zmc2V0LCBsZW5ndGgpDQogIGVuZA0KDQogICMgQHJldHVybnMgW1N0cmluZ10gQSBiaW5h
cnkgc3RyaW5nIHN0YXJ0aW5nIGF0IG9mZnNldCwgbGVuZ3RoIGJ5dGVzLg0KICBkZWYgdG9fc3Ry
KG9mZnNldCwgbGVuZ3RoKQ0KICBlbmQNCg0KICAjIENvcHkgdGhlIHNwZWNpZmllZCBzdHJpbmcg
aW50byB0aGUgYnVmZmVyIGF0IHRoZSBnaXZlbiBvZmZzZXQuDQogIGRlZiBjb3B5KHN0cmluZywg
b2Zmc2V0KQ0KICBlbmQNCg0KICAjIENvbXBhcmUgdHdvIGJ1ZmZlcnMuDQogIGRlZiA8PT4ob3Ro
ZXIpDQogIGVuZA0KDQogIGluY2x1ZGUgQ29tcGFyYWJsZQ0KDQogICMgUmVzaXplIHRoZSBidWZm
ZXIsIHByZXNlcnZpbmcgdGhlIGdpdmVuIGxlbmd0aCAoaWYgbm9uLXplcm8pLg0KICBkZWYgcmVz
aXplKHNpemUsIHByZXNlcnZlID0gMCkNCiAgZW5kDQoNCiAgIyBDbGVhciB0aGUgYnVmZmVyIHRv
IHRoZSBzcGVjaWZpZWQgdmFsdWUuDQogIGRlZiBjbGVhcih2YWx1ZSA9IDAsIG9mZnNldCA9IDAs
IGxlbmd0aCA9IChAc2l6ZSAtIG9mZnNldCkpDQogIGVuZA0KDQogICMgRGF0YSBUeXBlczoNCiAg
IyBMb3dlciBjYXNlOiBsaXR0bGUgZW5kaWFuLg0KICAjIFVwcGVyIGNhc2U6IGJpZyBlbmRpYW4g
KG5ldHdvcmsgZW5kaWFuKS4NCiAgIw0KICAjIDpVOCAgICAgICAgfCB1bnNpZ25lZCA4LWJpdCBp
bnRlZ2VyLg0KICAjIDpTOCAgICAgICAgfCBzaWduZWQgOC1iaXQgaW50ZWdlci4NCiAgIw0KICAj
IDp1MTYsIDpVMTYgfCB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlci4NCiAgIyA6czE2LCA6UzE2IHwg
c2lnbmVkIDE2LWJpdCBpbnRlZ2VyLg0KICAjDQogICMgOnUzMiwgOlUzMiB8IHVuc2lnbmVkIDMy
LWJpdCBpbnRlZ2VyLg0KICAjIDpzMzIsIDpTMzIgfCBzaWduZWQgMzItYml0IGludGVnZXIuDQog
ICMNCiAgIyA6dTY0LCA6VTY0IHwgdW5zaWduZWQgNjQtYml0IGludGVnZXIuDQogICMgOnM2NCwg
OlM2NCB8IHNpZ25lZCA2NC1iaXQgaW50ZWdlci4NCiAgIw0KICAjIDpmMzIsIDpGMzIgfCAzMi1i
aXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLg0KICAjIDpmNjQsIDpGNjQgfCA2NC1iaXQgZmxvYXRp
bmcgcG9pbnQgbnVtYmVyLg0KDQogICMgR2V0IHRoZSBnaXZlbiBkYXRhIHR5cGUgYXQgdGhlIHNw
ZWNpZmllZCBvZmZzZXQuDQogIGRlZiBnZXQodHlwZSwgb2Zmc2V0KQ0KICBlbmQNCg0KICAjIFNl
dCB0aGUgZ2l2ZW4gdmFsdWUgYXMgdGhlIHNwZWNpZmllZCBkYXRhIHR5cGUgYXQgdGhlIHNwZWNp
ZmllZCBvZmZzZXQuDQogIGRlZiBzZXQodHlwZSwgb2Zmc2V0LCB2YWx1ZSkNCiAgZW5kDQplbmQN
CmBgYA0KDQpUaGUgQyBpbnRlcmZhY2UgcHJvdmlkZXMgYSBmZXcgY29udmVuaWVudCBtZXRob2Rz
IGZvciBhY2Nlc3NpbmcgdGhlIHVuZGVybHlpbmcgZGF0YSBidWZmZXI6DQoNCmBgYGMNCnZvaWQg
cmJfaW9fYnVmZmVyX2dldF9tdXRhYmxlKFZBTFVFIHNlbGYsIHZvaWQgKipiYXNlLCBzaXplX3Qg
KnNpemUpOw0Kdm9pZCByYl9pb19idWZmZXJfZ2V0X2ltbXV0YWJsZShWQUxVRSBzZWxmLCBjb25z
dCB2b2lkICoqYmFzZSwgc2l6ZV90ICpzaXplKTsNCmBgYA0KDQpJbiB0aGUgZmliZXIgc2NoZWR1
bGVyLCBpdCBpcyB1c2VkIGxpa2UgdGhpczoNCg0KYGBgYw0KVkFMVUUNCnJiX2ZpYmVyX3NjaGVk
dWxlcl9pb19yZWFkX21lbW9yeShWQUxVRSBzY2hlZHVsZXIsIFZBTFVFIGlvLCB2b2lkICpiYXNl
LCBzaXplX3Qgc2l6ZSwgc2l6ZV90IGxlbmd0aCkNCnsNCiAgICBWQUxVRSBidWZmZXIgPSByYl9p
b19idWZmZXJfbmV3KGJhc2UsIHNpemUsIFJCX0lPX0JVRkZFUl9MT0NLRUQpOw0KDQogICAgVkFM
VUUgcmVzdWx0ID0gcmJfZmliZXJfc2NoZWR1bGVyX2lvX3JlYWQoc2NoZWR1bGVyLCBpbywgYnVm
ZmVyLCBsZW5ndGgpOw0KDQogICAgcmJfaW9fYnVmZmVyX2ZyZWUoYnVmZmVyKTsNCg0KICAgIHJl
dHVybiByZXN1bHQ7DQp9DQpgYGANCg0KVGhpcyBmdW5jdGlvbiBpcyBpbnZva2VkIGZyb20gYGlv
LmNgIGF0IHZhcmlvdXMgcGxhY2VzIHRvIGZpbGwgdGhlIGJ1ZmZlci4gV2Ugc3BlY2lmaWNhbGx5
IHRoZSBgKGJhc2UsIHNpemUpYCB0dXBsZSwgYWxvbmcgd2l0aCBgbGVuZ3RoYCB3aGljaCBpcyB0
aGUgKm1pbmltdW0qIGxlbmd0aCByZXF1aXJlZCBhbmQgYXNzaXN0cyB3aXRoIGVmZmljaWVudCBu
b24tYmxvY2tpbmcgaW1wbGVtZW50YXRpb24uDQoNClRoZSBgdXJpbmcuY2AgaW1wbGVtZW50YXRp
b24gaW4gdGhlIGV2ZW50IGdlbSB1c2VzIHRoaXMgaW50ZXJmYWNlIGxpa2Ugc286DQoNCmBgYGMN
ClZBTFVFIEV2ZW50X0JhY2tlbmRfVVJpbmdfaW9fcmVhZChWQUxVRSBzZWxmLCBWQUxVRSBmaWJl
ciwgVkFMVUUgaW8sIFZBTFVFIGJ1ZmZlciwgVkFMVUUgX2xlbmd0aCkgew0KCXN0cnVjdCBFdmVu
dF9CYWNrZW5kX1VSaW5nICpkYXRhID0gTlVMTDsNCglUeXBlZERhdGFfR2V0X1N0cnVjdChzZWxm
LCBzdHJ1Y3QgRXZlbnRfQmFja2VuZF9VUmluZywgJkV2ZW50X0JhY2tlbmRfVVJpbmdfVHlwZSwg
ZGF0YSk7DQoJDQoJaW50IGRlc2NyaXB0b3IgPSBSQl9OVU0ySU5UKHJiX2Z1bmNhbGwoaW8sIGlk
X2ZpbGVubywgMCkpOw0KCQ0KCXZvaWQgKmJhc2U7DQoJc2l6ZV90IHNpemU7DQoJcmJfaW9fYnVm
ZmVyX2dldF9tdXRhYmxlKGJ1ZmZlciwgJmJhc2UsICZzaXplKTsNCgkNCglzaXplX3Qgb2Zmc2V0
ID0gMDsNCglzaXplX3QgbGVuZ3RoID0gTlVNMlNJWkVUKF9sZW5ndGgpOw0KCQ0KCXdoaWxlIChs
ZW5ndGggPiAwKSB7DQoJCXNpemVfdCBtYXhpbXVtX3NpemUgPSBzaXplIC0gb2Zmc2V0Ow0KCQlp
bnQgcmVzdWx0ID0gaW9fcmVhZChkYXRhLCBmaWJlciwgZGVzY3JpcHRvciwgKGNoYXIqKWJhc2Ur
b2Zmc2V0LCBtYXhpbXVtX3NpemUpOw0KCQkNCgkJaWYgKHJlc3VsdCA9PSAwKSB7DQoJCQlicmVh
azsNCgkJfSBlbHNlIGlmIChyZXN1bHQgPiAwKSB7DQoJCQlvZmZzZXQgKz0gcmVzdWx0Ow0KCQkJ
aWYgKChzaXplX3QpcmVzdWx0ID4gbGVuZ3RoKSBicmVhazsNCgkJCWxlbmd0aCAtPSByZXN1bHQ7
DQoJCX0gZWxzZSBpZiAoLXJlc3VsdCA9PSBFQUdBSU4gfHwgLXJlc3VsdCA9PSBFV09VTERCTE9D
Sykgew0KCQkJRXZlbnRfQmFja2VuZF9VUmluZ19pb193YWl0KHNlbGYsIGZpYmVyLCBpbywgUkJf
SU5UMk5VTShSRUFEQUJMRSkpOw0KCQl9IGVsc2Ugew0KCQkJcmJfc3lzZXJyX2ZhaWwoLXJlc3Vs
dCwgc3RyZXJyb3IoLXJlc3VsdCkpOw0KCQl9DQoJfQ0KCQ0KCXJldHVybiBTSVpFVDJOVU0ob2Zm
c2V0KTsNCn0NCmBgYA0KDQojIyBCdWZmZXIgQWxsb2NhdGlvbg0KDQpUaGUgTGludXgga2VybmVs
IHByb3ZpZGVzIHNvbWUgYWR2YW5jZWQgbWVjaGFuaXNtcyBmb3IgcmVnaXN0ZXJpbmcgYnVmZmVy
cyBmb3IgYXN5bmNocm9ub3VzIEkvTyB0byByZWR1Y2UgcGVyLW9wZXJhdGlvbiBvdmVyaGVhZC4N
Cg0KPiBUaGUgaW9fdXJpbmdfcmVnaXN0ZXIoKSBzeXN0ZW0gY2FsbCByZWdpc3RlcnMgdXNlciBi
dWZmZXJzIG9yIGZpbGVzIGZvciB1c2UgaW4gYW4gaW9fdXJpbmcoNykgaW5zdGFuY2UgcmVmZXJl
bmNlZCBieSBmZC4gUmVnaXN0ZXJpbmcgZmlsZXMgb3IgdXNlciBidWZmZXJzIGFsbG93cyB0aGUg
a2VybmVsIHRvIHRha2UgbG9uZyB0ZXJtIHJlZmVyZW5jZXMgdG8gaW50ZXJuYWwgZGF0YSBzdHJ1
Y3R1cmVzIG9yIGNyZWF0ZSBsb25nIHRlcm0gbWFwcGluZ3Mgb2YgYXBwbGljYXRpb24gbWVtb3J5
LCBncmVhdGx5IHJlZHVjaW5nIHBlci1JL08gb3ZlcmhlYWQuDQoNCldpdGggYXBwcm9wcmlhdGUg
c3VwcG9ydCwgd2UgY2FuIHVzZSBgSU9SSU5HX09QX1BST1ZJREVfQlVGRkVSU2AgdG8gZWZmaWNp
ZW50bHkgbWFuYWdlIGJ1ZmZlcnMgaW4gYXBwbGljYXRpb25zIHdoaWNoIGFyZSBkZWFsaW5nIHdp
dGggbG90cyBvZiBzb2NrZXRzLiBTZWUgPGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2lvLXVyaW5n
LzIwMjAwMjI4MjAzMDUzLjI1MDIzLTEtYXhib2VAa2VybmVsLmRrL1QvPiBmb3IgbW9yZSBkZXRh
aWxzIGFib3V0IGhvdyBpdCB3b3Jrcy4gSSdtIHN0aWxsIGV4cGxvcmluZyB0aGUgcGVyZm9ybWFu
Y2UgaW1wbGljYXRpb25zIG9mIHRoaXMsIGJ1dCB0aGUgcHJvcG9zZWQgaW1wbGVtZW50YXRpb24g
cHJvdmlkZXMgc3VmZmljaWVudCBtZXRhLWRhdGEgZm9yIHVzIHRvIGV4cGxvcmUgdGhpcyBpbiBy
ZWFsIHdvcmxkIHNjaGVkdWxlcnMuDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFu
Zy5vcmcvDQoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5n
Lm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dp
LWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread