[#83107] Alias Enumerable#include? to Enumerable#includes? — Alberto Almagro <albertoalmagro@...>

Hello,

9 messages 2017/10/04

[ruby-core:83397] [Ruby trunk Feature#12589] VM performance improvement proposal

From: vmakarov@...
Date: 2017-10-19 15:38:17 UTC
List: ruby-core #83397
SXNzdWUgIzEyNTg5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgdm1ha2Fyb3YgKFZsYWRpbWlyIE1ha2Fy
b3YpLgoKCmswa3VidW4gKFRha2FzaGkgS29rdWJ1bikgd3JvdGU6Cgo+ID4gQW4gYWx0ZXJuYXRp
dmUgYXBwcm9hY2ggY2FuIGJlIHVzZWZ1bCBidXQgaXQgbWlnaHQgYmUgYSB3YXN0ZSBvZiB5b3Vy
IHRpbWUgYXQgdGhlIGVuZC4gQnV0IGFueSBwZXJmb3JtYW5jZSB3b3JrIHJlcXVpcmVzIGEgbG90
IGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucyAoZS5nLiB0aGUgY3VycmVudCBnbG9iYWwgUkEg
aW4gR0NDIHdhcyBhY3R1YWxseSBvbmUgb2YgbXkgc2V2ZW4gZGlmZmVyZW50IFJBIGltcGxlbWVu
dGF0aW9ucyksIHNvbWUgdGVtcG9yYXJ5IHNvbHV0aW9ucyBtaWdodCBiZWNvbWUgcGVybWFuZW50
LiB3aG8ga25vd3MuCj4gCj4gQXMgSSdtIGhhY2tpbmcgUnVieSBhcyBub3Qgd29yayBidXQganVz
dCBob2JieSB0byBlbmpveSBpbXByb3ZpbmcgbXkgUnVieSBjb3JlIHVuZGVyc3RhbmRpbmcsIGl0
IHdvdWxkbid0IGJlIGEgd2FzdGUgb2YgdGltZSBldmVuIGlmIEkgZW5kIHVwIHdpdGggZGV2ZWxv
cGluZyBzZXZlbiBkaWZmZXJlbnQgSklUIGltcGxlbWVudGF0aW9ucyA6KQo+IAoKU29ycnksIFRh
a2FzaGkuICBJIHdhcyBpbmFjY3VyYXRlLiAgSSBhbSBhZ3JlZS4gIEFueSBzZXJpb3VzIHByb2Js
ZW0gc29sdmluZyAoZXZlbiBpZiBpdCBkb2VzIG5vdCByZXN1bHQgaW4gTVJJIGNvZGUgY2hhbmdl
KSBtYWtlcyBhbnlvbmUgYSBiZXR0ZXIsIG1vcmUgZXhwZXJpZW5jZWQgTVJJIGRldmVsb3Blci4K
Cj4gPiBTbyB0aGUgc29sdXRpb24gd291bGQgYmUgaW1wbGVtZW50aW5nIGFuYWx5c2lzIG9uIFJU
TCB0byB1c2UgZG91YmxlIHZhbHVlcyBpbiBKSVR0ZWQgY29kZSBvZiBhIG1ldGhvZCB0byBhdm9p
ZCBkb3VibGUtPmZsb251bSBhbmQgZmxvbnVtLT5kb3VibGUgY29udmVyc2lvbnMuIFJUTCBpcyBh
IGdvb2QgZml0IHRvIHRoaXMuCj4gCj4gUXVlc3Rpb24gZm9yIG15IGJldHRlciB1bmRlcnN0YW5k
aW5nOiBEbyB5b3UgbWVhbiBHQ0MgYW5kIENsYW5nIGNhbid0IG9wdGltaXplIGRvdWJsZTwtPmZs
b251bSBjb252ZXJzaW9uIHdlbGwgZXZlbiBpZiBhbGwgbmVjZXNzYXJ5IGNvZGUgaXMgaW5saW5l
ZD8KClllcy4gSXQgaXMgdG9vIGNvbXBsaWNhdGVkIGZvciB0aGVtLiAgVGFnZ2luZyBkb3VibGVz
IG1hbmlwdWxhdGVzIHdpdGggZXhwb25lbnQgYW5kIG1hbnRpc3NhIGJ5IGNvbnN0cmFpbmluZyBl
eHBvbmVudCByYW5nZSBhbmQgdXNpbmcgYSBwYXJ0IG9mIGV4cG9uZW50IGZpZWxkIHRvIHN0b3Jl
IGZldyBsZXNzIHNpZ25pZmljYW50IGJpdHMgb2YgbWFudGlzc2EuICBFdmVuIHdvcnNlLCBwcm9j
ZXNzaW5nIDAuMCBtYWtlcyBpdCBldmVuIG1vcmUgY29tcGxpY2F0ZWQuICBPcHRpbWl6aW5nIGNv
bXBpbGVycyBhcmUgbm90IHNtYXJ0IGVub3VnaCB0byBzZWUgdGhhdCB1bnRhZ2luZyBkb3VibGVz
IGlzIGEgcmV2ZXJzZSBvcGVyYXRpb24gdG8gdGFnZ2luZyBhbmQgdmljZSB2ZXJzYS4gCgo+IElm
IHNvLCBoYXZpbmcgc3BlY2lhbCBlZmZvcnQgdG8gb3B0aW1pemUgaXQgaW4gUnVieSBjb3JlIG1h
a2VzIHNlbnNlLiBJJ20gbm90IHN1cmUgd2h5IHdlIGNhbid0IGRvIHRoYXQgd2l0aCBzdGFjay1i
YXNlZCBpbnN0cnVjdGlvbnMgb3IganVzdCBpbiBKSVQtZWQgQyBjb2RlIGdlbmVyYXRpb24gcHJv
Y2Vzcy4gQ2FuJ3Qgd2UgaW50cm9kdWNlIGluc3RydWN0aW9uIHNwZWNpYWxpemF0aW9uICh0byBh
dm9pZCBkb3VibGU8LT5mbG9udW0gY29udmVyc2lvbiwgbm90IHN1cmUgaXRzIGRldGFpbHMpIHdp
dGhvdXQgaGF2aW5nIGFsbCBpbnN0cnVjdGlvbnMgYXMgcmVnaXN0ZXItYmFzZWQ/CgpZb3UgY2Fu
IGRvIHRoZSBvcHRpbWl6YXRpb24gd2l0aCBzdGFjayBpbnNucy4gIFlvdSBuZWVkIHRvIGFuYWx5
emUgYWxsIG1ldGhvZChzKSBjb2RlIGFuZCBzZWUgd2hlcmUgZnJvbSBvcGVyYW5kIHZhbHVlcyBj
b21lLiAgSXQgaXMgZWFzaWVyIHRvIGRvIHdpdGggUlRMLgoKQnV0IGFjdHVhbGx5IHRoZSB3b3Jz
dCBwYXJ0IHdpdGggdXNpbmcgc3RhY2sgaW5zbnMgZm9yIG9wdGltaXphdGlvbnMgaXMgdGhhdCB5
b3UgY2FuIG5vdCBlYXNpbHkgdHJhbnNmb3JtIGEgcHJvZ3JhbSBvbiB0aGVtIChlLmcuIG1vdmUg
YW4gaW52YXJpYW50IGV4cHJlc3Npb24gZnJvbSB0aGUgbG9vcCAtLSB5b3UgbmVlZCB0byBpbnRy
b2R1Y2UgbmV3IGxvY2FsIHZhcnMgZm9yIHRoaXMpIGJlY2F1c2UgdGhleSBwcm9jZXNzIHZhbHVl
cyBvbmx5IGluIGEgc3RhY2sgbW9kZSBhbmQgb3B0aW1pemVkIGNvZGUgY2FuIHByb2Nlc3MgdmFs
dWVzIGluIGFueSBvcmRlci4KCkluIGFueSBjYXNlLCBpZiB3ZSBhcmUgZ29pbmcgdG8gZG8gc29t
ZSBvcHRpbWl6YXRpb25zIGJ5IG91cnNlbGYgKGFuZCBJIHNlZSBzdWNoIG5lY2Vzc2l0eSBpbiB0
aGUgZnV0dXJlKSBub3Qgb25seSBieSBHQ0MvTExWTSwgd2UgbmVlZCBhIGNvbnZlbmllbnQgSVIg
Zm9yIHRoaXMuICBJIHRyaWVkIHRvIGV4cGxhaW4gaXQgaW4gbXkgcHJlc2VudGF0aW9uIGF0IFJ1
YnlLYWlnaS4KCk9uZSBzaW1wbGUgY2FzZSB3aGVyZSB3ZSBjYW4gYXZvaWQgdW50YWdnaW5nIGlz
IFJUTCBpbnNuIHdpdGggaW1tZWRpYXRlIG9wZXJhbmQgKHdlIGNhbiB1c2UgZG91YmxlIG5vdCBW
QUxVRSBmb3IgdGhlIGltbWVkaWF0ZSBvcGVyYW5kKS4gIEl0IGlzIGFjdHVhbGx5IG9uIG15IFRP
RE8gbGlzdC4KIAo+IAo+ID4gQmFzaWMgdHlwZSBpbmZlcmVuY2UgY291bGQgYmUgYW5vdGhlciBl
eGFtcGxlIGZvciBSVEwgbmVjZXNzaXR5LiBJIGNvdWxkIGZpbmQgb3RoZXIgZXhhbXBsZXMuCj4g
Cj4gVHlwZSBpbmZlcmVuY2UgYXQgUlRMIGluc3RydWN0aW9ucyBpcyBpbnRlcmVzdGluZyB0b3Bp
YyB3aGljaCBJIGNvdWxkbid0IHVuZGVyc3RhbmQgd2VsbCBmcm9tIGRpc2N1c3Npb24gd2l0aCB5
b3UgYXQgUnVieUthaWdpLiBJJ20gbG9va2luZyBmb3J3YXJkIHRvIHNlZWluZyB0aGUgZXhhbXBs
ZSEKCmh0dHBzOi8vZ2l0aHViLmNvbS9kaW5vLWxhbmcvZGluby9ibG9iL21hc3Rlci9ESU5PL2Rf
aW5mZXJlbmNlLmMgaXMgYW4gZXhhbXBsZSBob3cgYSBiYXNpYyB0eXBlIGluZmVyZW5jZSBjYW4g
YmUgaW1wbGVtZW50ZWQgb24gUlRMLWxpa2UgbGFuZ3VhZ2UuICBJdCBpcyBhIGRpZmZlcmVudCBh
cHByb2FjaCB0byBhbGdvcml0aG0gVyBpbiBIaW5kbGV54oCTTWlsbmVyIHR5cGUgc3lzdGVtLiAg
VGhlIGFsZ29yaXRobSBjb25zaXN0cyBvZiB0aGUgZm9sbG93aW5nIHN0ZXBzCgoxLiAgQnVpbGRp
bmcgYSBjb250cm9sIGZsb3cgZ3JhcGggKENGRykgY29uc2lzdGluZyBvZiBiYXNpYyBibG9ja3Mg
YW5kIGNvbnRyb2wgZmxvdyBlZGdlcyBjb25uZWN0aW5nIHRoZW0uCjIuICBDYWxjdWxhdGluZyBh
dmFpbGFibGUgcmVzdWx0cyBvZiBSVEwgaW5zdHJ1Y3Rpb25zIOKAkyB0aGlzIGlzIGEgZm9yd2Fy
ZCBkYXRhLWZsb3cgcHJvYmxlbSBvbiB0aGUgQ0ZHLgozLiAgVXNpbmcgdGhlIGF2YWlsYWJpbGl0
eSBpbmZvcm1hdGlvbiwgYnVpbGRpbmcgZGVmLXVzZSBjaGFpbnMgY29ubmVjdGluZyBwb3NzaWJs
ZSBvcGVyYW5kcyBhbmQgcmVzdWx0cyBvZiBSVEwgaW5zdHJ1Y3Rpb25zIGFuZCB2YXJpYWJsZXMu
CjQuICBDYWxjdWxhdGluZyAgdGhlICB0eXBlcyAgb2YgIFJUTCAgaW5zdHJ1Y3Rpb24gIG9wZXJh
bmRzICBhbmQgcmVzdWx0cyAg4oCTICB0aGlzICBpcyAgYSAgZm9yd2FyZCAgZGF0YS1mbG93ICBw
cm9ibGVtICBvbiAgdGhlICBkZWYtdXNlIGdyYXBoLgoKVGhlIGRlZmluaXRpb24gb2YgYXZhaWxh
YmlsaXR5IGFuZCBkZWYtdXNlIGNoYWlucyBjYW4gYmUgZm91bmQgcHJhY3RpY2FsbHkgaW4gYW55
IGJvb2sgYWJvdXQgb3B0aW1pemluZyBjb21waWxlcnMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxMjU4OTogVk0gcGVyZm9ybWFuY2UgaW1wcm92
ZW1lbnQgcHJvcG9zYWwKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzEyNTg5I2No
YW5nZS02NzM2MwoKKiBBdXRob3I6IHZtYWthcm92IChWbGFkaW1pciBNYWthcm92KQoqIFN0YXR1
czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogCiogVGFyZ2V0IHZlcnNpb246
IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgSGVsbG8uICBJJ2Qg
bGlrZSB0byBzdGFydCBhIGJpZyBNUkkgcHJvamVjdCBidXQgSSBkb24ndCB3YW50IHRvCmRpc3J1
cHQgc29tZWJvZHkgZWxzZSBwbGFucy4gIFRoZXJlZm9yZSBJJ2QgbGlrZSB0byBoYXZlIE1SSQpk
ZXZlbG9wZXIncyBvcGluaW9uIG9uIHRoZSBwcm9wb3NlZCBwcm9qZWN0IG9yIGluZm9ybWF0aW9u
IGlmIHNvbWVib2R5CmlzIGFscmVhZHkgd29ya2luZyBvbiBhbiBhbmFsb2dvdXMgcHJvamVjdC4K
CiAgQmFzaWNhbGx5IEkgd2FudCB0byBpbXByb3ZlIG92ZXJhbGwgTVJJIFZNIHBlcmZvcm1hbmNl
OgoKICAqIEZpcnN0IG9mIGFsbCwgSSdkIGxpa2UgdG8gY2hhbmdlIFZNIGluc25zIGFuZCBtb3Zl
IGZyb20KICAgICoqc3RhY2stYmFzZWQqKiBpbnNucyB0byAqKnJlZ2lzdGVyIHRyYW5zZmVyKiog
b25lcy4gIFRoZSBpZGVhIGJlaGluZAogICAgaXQgaXMgdG8gZGVjcmVhc2UgVk0gZGlzcGF0Y2gg
b3ZlcmhlYWQgYXMgYXBwcm94aW1hdGVseSAyIHRpbWVzCiAgICBsZXNzIFJUTCBpbnNucyBhcmUg
bmVjZXNzYXJ5IHRoYW4gc3RhY2sgYmFzZWQgaW5zbnMgZm9yIHRoZSBzYW1lCiAgICBwcm9ncmFt
IChmb3IgUnVieSBpdCBpcyBwcm9iYWJseSBldmVuIGxlc3MgYXMgYSB0eXBpY2FsIFJ1YnkgcHJv
Z3JhbQogICAgY29udGFpbnMgYSBsb3Qgb2YgbWV0aG9kIGNhbGxzIGFuZCB0aGUgYXJndW1lbnRz
IGFyZSBwYXNzZWQgdGhyb3VnaAogICAgdGhlIHN0YWNrKS4KCiAgICBCdXQgKmRlY3JlYXNpbmcg
bWVtb3J5IHRyYWZmaWMqIGlzIGV2ZW4gbW9yZSBpbXBvcnRhbnQgYWR2YW50YWdlCiAgICBvZiBS
VEwgaW5zbnMgYXMgYW4gUlRMIGluc24gY2FuIGFkZHJlc3MgdGVtcG9yYXJpZXMgKHN0YWNrKSBh
bmQKICAgIGxvY2FsIHZhcmlhYmxlcyBpbiBhbnkgY29tYmluYXRpb24uICBTbyB0aGVyZSBpcyBu
byBuZWNlc3NpdHkgdG8KICAgIHB1dCBhbiBpbnNuIHJlc3VsdCBvbiB0aGUgc3RhY2sgYW5kIHRo
ZW4gbW92ZSBpdCB0byBhIGxvY2FsCiAgICB2YXJpYWJsZSBvciBwdXQgdmFyaWFibGUgdmFsdWUg
b24gdGhlIHN0YWNrIGFuZCB0aGVuIHVzZSBpdCBhcyBhbgogICAgaW5zbiBvcGVyYW5kLiAgSW5z
bnMgZG9pbmcgbW9yZSBhbHNvIHByb3ZpZGUgYSBiaWdnZXIgc2NvcGUgZm9yIEMKICAgIGNvbXBp
bGVyIG9wdGltaXphdGlvbnMuCgogICAgVGhlIGJpZ2dlc3QgY2hhbmdlcyB3aWxsIGJlIGluIGZp
bGVzIGNvbXBpbGUuYyBhbmQgaW5zbnMuZGVmICh0aGV5CiAgICB3aWxsIGJlIGJhc2ljYWxseSBy
ZXdyaXR0ZW4pLiAgKipTbyB0aGUgcHJvamVjdCBpcyBub3QgYSBuZXcgVk0KICAgIG1hY2hpbmUu
ICBNUkkgVk0gaXMgbXVjaCBtb3JlIHRoYW4gdGhlc2UgMiBmaWxlcy4qKgoKICAgIFRoZSBkaXNh
ZHZhbnRhZ2Ugb2YgUlRMIGluc25zIGlzIGEgYmlnZ2VyIGluc24gbWVtb3J5IGZvb3RwcmludAog
ICAgKHdoaWNoIGNhbiBiZSB1cHRvIDMwJSBtb3JlKSBhbHRob3VnaCBhcyBJIHdyb3RlIHRoZXJl
IGFyZSBmZXdlcgogICAgbnVtYmVyIG9mIFJUTCBpbnNucy4KCiAgICBBbm90aGVyIGRpc2FkdmFu
dGFnZSBvZiBSVEwgaW5zbnMgKnNwZWNpZmljYWxseSogZm9yIFJ1YnkgaXMgdGhhdAogICAgaW5z
bnMgZm9yIGNhbGwgc2VxdWVuY2VzIHdpbGwgYmUgYmFzaWNhbGx5IHRoZSBzYW1lIHN0YWNrIGJh
c2VkCiAgICBvbmVzIGJ1dCBvbmx5IGJpZ2dlciBhcyB0aGV5IGFkZHJlc3MgdGhlIHN0YWNrIGV4
cGxpY2l0bHkuCgogICogU2Vjb25kbHksIEknZCBsaWtlIHRvICoqY29tYmluZSBzb21lIGZyZXF1
ZW50IGluc24gc2VxdWVuY2VzKiogaW50bwogICAgYmlnZ2VyIGluc25zLiAgQWdhaW4gaXQgZGVj
cmVhc2VzIGluc24gZGlzcGF0Y2ggb3ZlcmhlYWQgYW5kCiAgICBtZW1vcnkgdHJhZmZpYyBldmVu
IG1vcmUuICBBbHNvIGl0IHBlcm1pdHMgdG8gcmVtb3ZlIHNvbWUgdHlwZQogICAgY2hlY2tpbmcu
CgogICAgVGhlIGZpcnN0IHRoaW5nIG9uIG15IG1pbmQgaXMgYSBzZXF1ZW5jZSBvZiBhIGNvbXBh
cmUgaW5zbiBhbmQgYQogICAgYnJhbmNoIGFuZCB1c2luZyBpbW1lZGlhdGUgb3BlcmFuZHMgYmVz
aWRlcyB0ZW1wb3JhcnkgKHN0YWNrKSBhbmQKICAgIGxvY2FsIHZhcmlhYmxlcy4gIEFsc28gaXQg
aXMgbm90IGEgdHJpdmlhbCB0YXNrIGZvciBSdWJ5IGFzIHRoZQogICAgY29tcGFyZSBjYW4gYmUg
aW1wbGVtZW50ZWQgYXMgYSBtZXRob2QuCgogIEkgYWxyZWFkeSBkaWQgc29tZSBleHBlcmltZW50
cy4gIFJUTCBpbnNucyAmIGNvbWJpbmluZyBpbnNucyBwZXJtaXRzCnRvIHNwZWVkIHRoZSBmb2xs
b3dpbmcgbWljcm8tYmVuY2htYXJrIGluIG1vcmUgMiB0aW1lczoKCmBgYAppID0gMAp3aGlsZSBp
PDMwXzAwMF8wMDAgIyBiZW5jaG1hcmsgbG9vcCAxCiAgaSArPSAxCmVuZApgYGAKClRoZSBnZW5l
cmF0ZWQgUlRMIGluc25zIGZvciB0aGUgYmVuY2htYXJrIGFyZQoKYGBgCj09IGRpc2FzbTogIzxJ
U2VxOjxtYWluPkB3aGlsZS5yYj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQo9PSBjYXRjaCB0YWJsZQp8IGNhdGNoIHR5cGU6IGJyZWFrICBzdDogMDAwNyBlZDogMDAyMCBz
cDogMDAwMCBjb250OiAwMDIwCnwgY2F0Y2ggdHlwZTogbmV4dCAgIHN0OiAwMDA3IGVkOiAwMDIw
IHNwOiAwMDAwIGNvbnQ6IDAwMDUKfCBjYXRjaCB0eXBlOiByZWRvICAgc3Q6IDAwMDcgZWQ6IDAw
MjAgc3A6IDAwMDAgY29udDogMDAwNwp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmxvY2FsIHRhYmxlIChzaXpl
OiAyLCB0ZW1wOiAxLCBhcmdjOiAwIFtvcHRzOiAwLCByZXN0OiAtMSwgcG9zdDogMCwgYmxvY2s6
IC0xLCBrdzogLTFALTEsIGt3cmVzdDogLTFdKQpbIDJdIGkKMDAwMCBzZXRfbG9jYWxfdmFsICAg
IDIsIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggICAxKQow
MDAzIGp1bXAgICAgICAgICAgICAgMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKCAgIDIpCjAwMDUganVtcCAgICAgICAgICAgICAxMwowMDA3IHBsdXNpICAg
ICAgICAgICAgPGNhbGxjYWNoZT4sIDIsIDIsIDEsIC0xICAgICAgICAgICAgICAgICAgICAgICAg
KCAgIDMpCjAwMTMgYnRsdGkgICAgICAgICAgICA3LCA8Y2FsbGNhY2hlPiwgLTEsIDIsIDMwMDAw
MDAwLCAtMSAgICAgICAgICAgICAoICAgMikKMDAyMCBsb2NhbF9yZXQgICAgICAgIDIsIDAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggICAzKQpgYGAKCkluIHRo
aXMgZXhwZXJpbWVudCBJIGlnbm9yZWQgdHJhY2UgaW5zbnMgKHRoYXQgaXMgYW5vdGhlciBzdG9y
eSkgYW5kIGEKY29tcGxpY2F0aW9uIHRoYXQgYSBpbnRlZ2VyIGNvbXBhcmUgaW5zbiBjYW4gYmUg
cmUtaW1wbGVtZW50ZWQgYXMgYQpSdWJ5IG1ldGhvZC4gIEluc24gYmZsdGkgaXMgY29tYmluYXRp
b24gb2YgTFQgaW1tZWRpYXRlIGNvbXBhcmUgYW5kCmJyYW5jaCB0cnVlLgoKQSBtb2RpZmljYXRp
b24gb2YgZmliIGJlbmNobWFyayBpcyBzcGVkIHVwIGluIDEuMzUgdGltZXM6CgpgYGAKZGVmIGZp
Yl9tIG4KICBpZiBuIDwgMQogICAgMQogIGVsc2UKICAgIGZpYl9tKG4tMSkgKiBmaWJfbShuLTIp
CiAgZW5kCmVuZAoKZmliX20oNDApCmBgYAoKVGhlIFJUTCBjb2RlIG9mIGZpYl9tIGxvb2tzIGxp
a2UKCmBgYAo9PSBkaXNhc206ICM8SVNlcTpmaWJfbUBmbS5yYj49PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KbG9jYWwgdGFibGUgKHNpemU6IDIsIHRlbXA6IDMsIGFy
Z2M6IDEgW29wdHM6IDAsIHJlc3Q6IC0xLCBwb3N0OiAwLCBibG9jazogLTEsIGt3OiAtMUAtMSwg
a3dyZXN0OiAtMV0pClsgMl0gbjxBcmc+CjAwMDAgYmZsdGkgICAgICAgICAgICAxMCwgPGNhbGxj
YWNoZT4sIC0xLCAyLCAxLCAtMSAgICAgICAgICAgICAgICAgICAoICAgMikKMDAwNyB2YWxfcmV0
ICAgICAgICAgIDEsIDE2CjAwMTAgbWludXNpICAgICAgICAgICA8Y2FsbGNhY2hlPiwgLTIsIDIs
IDEsIC0yICAgICAgICAgICAgICAgICAgICAgICAoICAgNSkKMDAxNiBzaW1wbGVfY2FsbF9zZWxm
IDxjYWxsaW5mbyFtaWQ6ZmliX20sIGFyZ2M6MSwgRkNBTEx8QVJHU19TSU1QTEU+LCA8Y2FsbGNh
Y2hlPiwgLTEKMDAyMCBtaW51c2kgICAgICAgICAgIDxjYWxsY2FjaGU+LCAtMywgMiwgMiwgLTMK
MDAyNiBzaW1wbGVfY2FsbF9zZWxmIDxjYWxsaW5mbyFtaWQ6ZmliX20sIGFyZ2M6MSwgRkNBTEx8
QVJHU19TSU1QTEU+LCA8Y2FsbGNhY2hlPiwgLTIKMDAzMCBtdWx0ICAgICAgICAgICAgIDxjYWxs
Y2FjaGU+LCAtMSwgLTEsIC0yLCAtMQowMDM2IHRlbXBfcmV0ICAgICAgICAgLTEsIDE2CmBgYAoK
SW4gcmVhbGl0eSwgdGhlIGltcHJvdmVtZW50IG9mIG1vc3QgcHJvZ3JhbXMgcHJvYmFibHkgd2ls
bCBiZSBhYm91dAoxMCUuICBUaGF0IGlzIGJlY2F1c2Ugb2YgdmVyeSBkeW5hbWljIG5hdHVyZSBv
ZiBSdWJ5IChhIGxvdCBvZiBjYWxscywKY2hlY2tzIGZvciByZWRlZmluaXRpb24gb2YgYmFzaWMg
dHlwZSBvcGVyYXRpb25zLCBjaGVja2luZyBvdmVyZmxvd3MKdG8gc3dpdGNoIHRvIEdNUCBudW1i
ZXJzKS4gIEZvciBleGFtcGxlLCBpbnRlZ2VyIGFkZGl0aW9uIGNhbiBub3QgYmUKbGVzcyB0aGFu
IGFib3V0IHg4Ni02NCAxNyBpbnNucyBvdXQgb2YgdGhlIGN1cnJlbnQgNTAgaW5zbnMgb24gdGhl
CmZhc3QgcGF0aC4gIFNvIGV2ZW4gaWYgeW91IG1ha2UgdGhlIHJlc3QgKDMzKSBpbnNucyAyIHRp
bWVzIGZhc3RlciwKdGhlIGltcHJvdmVtZW50IHdpbGwgYmUgb25seSAzMCUuCgpBIHZlcnkgaW1w
b3J0YW50IHBhcnQgb2YgTVJJIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IGlzIHRvIG1ha2UgY2Fs
bHMKZmFzdCBiZWNhdXNlIHRoZXJlIGFyZSBhIGxvdCBvZiB0aGVtIGluIFJ1YnkgYnV0IGFzIEkg
cmVhZCBpbiBzb21lCktvaWNoaSBTYXNhZGEncyBwcmVzZW50YXRpb25zIGhlIHBheXMgYSBsb3Qg
b2YgYXR0ZW50aW9uIHRvIGl0LiAgU28gSQpkb24ndCB3YW50IHRvIHRvdWNoIGl0LgoKICAqIFRo
aXJkbHkuICBJIHdhbnQgdG8gaW1wbGVtZW50IHRoZSBpbnNucyBhcyBzbWFsbCBpbmxpbmUgZnVu
Y3Rpb25zCiAgICBmb3IgZnV0dXJlIEFPVCBjb21waWxlciwgb2YgY291cnNlLCBpZiB0aGUgcHJv
amVjdHMgZGVzY3JpYmVkCiAgICBhYm92ZSBhcmUgc3VjY2Vzc2Z1bC4gIEl0IHdpbGwgcGVybWl0
IGVhc3kgQU9UIGdlbmVyYXRpb24gb2YgQyBjb2RlCiAgICB3aGljaCB3aWxsIGJlIGJhc2ljYWxs
eSBjYWxscyBvZiB0aGUgZnVuY3Rpb25zLgoKICAgIEknZCBsaWtlIHRvIGltcGxlbWVudCBBT1Qg
Y29tcGlsZXIgd2hpY2ggd2lsbCBnZW5lcmF0ZSBhIFJ1YnkKICAgIG1ldGhvZCBjb2RlLCBjYWxs
IGEgQyBjb21waWxlciB0byBnZW5lcmF0ZSBhIGJpbmFyeSBzaGFyZWQgY29kZQogICAgYW5kIGxv
YWQgaXQgaW50byBNUkkgZm9yIHN1YnNlcXVlbnQgY2FsbHMuICBUaGUga2V5IGlzIHRvIG1pbmlt
aXplCiAgICB0aGUgY29tcGlsYXRpb24gdGltZS4gIFRoZXJlIGFyZSBtYW55IGFwcHJvYWNoZXMg
dG8gZG8gaXQgYnV0IEkKICAgIGRvbid0IHdhbnQgdG8gZGlzY3VzcyBpdCByaWdodCBub3cuCgog
ICAgQyBnZW5lcmF0aW9uIGlzIGVhc3kgYW5kIG1vc3QgcG9ydGFibGUgaW1wbGVtZW50YXRpb24g
b2YgQU9UIGJ1dAogICAgaW4gZnV0dXJlIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSBHQ0MgSklUIHBs
dWdpbiBvciBMTFZNIElSIHRvCiAgICBkZWNyZWFzZSBvdmVyaGVhZCBvZiBDIHNjYW5uZXIvcGFy
c2VyLgoKICAgIEMgY29tcGlsZXIgd2lsbCBzZWUgYSBiaWdnZXIgc2NvcGUgKGFsbCBtZXRob2Qg
aW5zbnMpIHRvIGRvCiAgICBvcHRpbWl6YXRpb25zLiAgSSB0aGluayB1c2luZyBBT1QgY2FuIGdp
dmUgYW5vdGhlciAxMCUKICAgIGltcHJvdmVtZW50LiAgSXQgaXMgbm90IHRoYXQgYmlnIGFnYWlu
IGJlY2F1c2Ugb2YgZHluYW1pYyBuYXR1cmUKICAgIG9mIFJ1YnkgYW5kIGFueSBDIGNvbXBpbGVy
IGlzIG5vdCBzbWFydCBlbm91Z2ggdG8gZmlndXJlIG91dAogICAgYWxpYXNpbmcgZm9yIHR5cGlj
YWwgZ2VuZXJhdGVkIEMgcHJvZ3JhbS4KCiAgICBUaGUgbGlmZSB3aXRoIHRoZSBwZXJmb3JtYW5j
ZSBwb2ludCBvZiB2aWV3IHdvdWxkIGJlIGVhc3kgaWYgUnVieQogICAgZGlkIG5vdCBwZXJtaXQg
dG8gcmVkZWZpbmUgYmFzaWMgb3BlcmF0aW9ucyBmb3IgYmFzaWMgdHlwZXMsCiAgICBlLmcuIHBs
dXMgZm9yIGludGVnZXIuICBJbiB0aGlzIGNhc2Ugd2UgY291bGQgZXZhbHVhdGUgdHlwZXMgb2YK
ICAgIG9wZXJhbmRzIGFuZCByZXN1bHRzIHVzaW5nIHNvbWUgZGF0YSBmbG93IGFuYWx5c2lzIGFu
ZCBnZW5lcmF0ZQogICAgZmFzdGVyIHNwZWNpYWxpemVkIGluc25zLiAgU3RpbGwgYSBncmFkdWFs
IHR5cGluZyBpZiBpdCBpcwogICAgaW50cm9kdWNlZCBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgUnVi
eSB3b3VsZCBoZWxwIHRvIGdlbmVyYXRlIHN1Y2gKICAgIGZhc3RlciBpbnNucy4KCiAgQWdhaW4g
SSB3cm90ZSB0aGlzIHByb3Bvc2FsIGZvciBkaXNjdXNzaW9uIGFzIEkgZG9uJ3Qgd2FudCB0byBi
ZSBpbgphIHBvc2l0aW9uIHRvIGNvbXBldGUgd2l0aCBzb21lYm9keSBlbHNlIG9uZ29pbmcgYmln
IHByb2plY3QuICBJdAptaWdodCBiZSBjb3VudGVycHJvZHVjdGl2ZSBmb3IgTVJJIGRldmVsb3Bt
ZW50LiAgRXNwZWNpYWxseSBJIGRvbid0CndhbnQgaXQgYmVjYXVzZSB0aGUgcHJvamVjdCBpcyBi
aWcgYW5kIGxvbmcgYW5kIHByb2JhYmx5IHdpbGwgaGF2ZSBhCmxvdCBvZiB0ZWhjbmljYWwgb2Jz
dGFjbGVzIGFuZCBoYXZlIGEgcG9zc2liaWx0eSB0byBiZSBhIGZhaWx1cmUuCgoKCgotLSAKaHR0
cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUt
cmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMu
cnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next