From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.7 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 763C91F8C8 for ; Thu, 30 Sep 2021 13:45:34 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 1D75F120D1C; Thu, 30 Sep 2021 22:45:28 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 1E55F120D1C for ; Thu, 30 Sep 2021 22:45:24 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to; s=smtpapi; bh=Z4Qvr10t1wj7kf6Ma4w5L5Y0uBh+YlyjTQoLaDSNNwk=; b=g6AZA5q5aAHPJb7j6MOiUljqeK+aIlISVAGc5p9z768m5taRr4FJqwr7AcNMgY44GDK3 qrCwhVJ/ZenZCqGYunKXtFi6fhB5utokUY9uOslj4b/E+FpoyAsVxrqTY8+yx8UJJu4BWZ TZHJXZ7vTlveY45N6pTNNAfvw5uXKWWlw= Received: by filterdrecv-75ff7b5ffb-7dt9d with SMTP id filterdrecv-75ff7b5ffb-7dt9d-1-6155BF6D-18C 2021-09-30 13:45:17.965108895 +0000 UTC m=+2474681.838786545 Received: from herokuapp.com (unknown) by ismtpd0171p1iad2.sendgrid.net (SG) with ESMTP id F5oKajdfQv69mmBNXItO9A for ; Thu, 30 Sep 2021 13:45:17.853 +0000 (UTC) Date: Thu, 30 Sep 2021 13:45:17 +0000 (UTC) From: "vmakarov (Vladimir Makarov)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 18229 X-Redmine-Issue-Author: maximecb X-Redmine-Issue-Assignee: k0kubun X-Redmine-Sender: vmakarov X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 81713 X-SG-EID: =?us-ascii?Q?qxLRx9rQYpBu2g1z474wetnTqwGoOUrdgypj7uu=2Fe7UBlXgdf3EycnNLdPMSX=2F?= =?us-ascii?Q?lRwIlh3I4Y6Wt7s=2FMt1wiLMs4XndjpheGi65I9k?= =?us-ascii?Q?cDdAp9aL4Q3zjW2gH668HLnZCR5Lw4swSinz1Dh?= =?us-ascii?Q?=2FtZI0ONA2WKuyprtxZ2OyW785WArESZ1p+NpB2w?= =?us-ascii?Q?8UvAEJOBX76cSLw2f7YJGuxeYGtTEzxRrxnKcO9?= =?us-ascii?Q?HH4w5J7R2uxg34OAmh=2F7aOgtSJ3ltuZfy9rcDD2?= =?us-ascii?Q?wTzKAap94x5WPagh5vYsw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 105506 Subject: [ruby-core:105506] [Ruby master Feature#18229] Proposal to merge YJIT X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE4MjI5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgdm1ha2Fyb3YgKFZsYWRpbWlyIE1ha2Fy b3YpLg0KDQoNCm1heGltZWNiIChNYXhpbWUgQ2hldmFsaWVyLUJvaXN2ZXJ0KSB3cm90ZSBpbiAj bm90ZS05Og0KPiAgSSBoYXZlIGxvb2tlZCBhdCBNSVIgYW5kIGl0IGxvb2tzIGNsb3NlIHRvIG1h Y2hpbmUgY29kZSwgdGhlIGtpbmQgb2YgSVIgeW91IHdvdWxkIGNvbXBpbGUgQyBjb2RlIGludG8u IFdlIGFyZSB0aGlua2luZyBvZiBkZXNpZ25pbmcgYW4gSVIgdGhhdCBpcyBtYXliZSBjbG9zZXIg dG8gUnVieSBzZW1hbnRpY3MsIHNvIHRoYXQgUnVieS1zcGVjaWZpYyBvcHRpbWl6YXRpb25zIGNh biBiZSBhcHBsaWVkIG1vcmUgZWFzaWx5LiBPcGVuIHRvIGRpc2N1c3Npb24gaWYgeW91IGhhdmUg aW5wdXQgb24gdGhlIHN1YmplY3QuIFdlIHdvdWxkIGFwcHJlY2lhdGUgeW91ciBpbnB1dC4NCg0K TUlSIGlzIGRlc2lnbmVkIHRvIGJlIHVzZWQgZm9yIGRpZmZlcmVudCBsYW5ndWFnZXMsIGluY2x1 ZGluZyBDLiAgU3RhbmRhcmQgcnVieSBtZXRob2RzIGltcGxlbWVudGVkIG9uIEMsIGUuZy4gYHRp bWVzYCwgY2FuIGJlIHRyYW5zbGF0ZWQgaW50byBNSVIgYW5kIHVzZXItZGVmaW5lZCBSdWJ5IGJs b2NrIGNhbGxlZCBieSBgdGltZXNgIGNhbiBiZSB0cmFuc2xhdGVkIGludG8gTUlSIHRvbyAobWF5 IGJlIHRocm91Z2ggaW50ZXJtZWRpYXRlIEMgdHJhbnNsYXRpb24pLCB0aGVuIE1JUiBmb3IgYHRp bWVzYCBhbmQgdGhlIGJsb2NrIGNhbiBiZSBpbnRlcm1peGVkIChpbmxpbmVkKSBhbmQgb3B0aW1p emVkLiAgU28gTUlSIHBlcm1pdHMgb3B0aW1pemF0aW9uIG9mIGNvZGUgd3JpdHRlbiBvbiBkaWZm ZXJlbnQgbGFuZ3VhZ2VzLiAgSW4gdGhpcyB3YXkgTUlSIGNhbiBiZSB1c2VkIG5vdCBvbmx5IGZv ciBSdWJ5IGJ1dCBmb3Igb3RoZXIgZHluYW1pYyBsYW5ndWFnZSBpbXBsZW1lbnRhdGlvbnMgKGUu Zy4gQ1B5dGhvbikuDQoNCk1JUiBhbHNvIG1ha2VzIGVhc3kgaW1wbGVtZW50YXRpb24gb2YgY2xh c3NpY2FsIGNvbXBpbGVyIG9wdGltaXphdGlvbnMgYmVjYXVzZSBpdCBpcyBhbiBleHRlbnNpb24g b2YgdHVwbGUgYmFzZWQgSVIuIA0KDQpZb3UgcHJvYmFibHkgd3JvdGUgYWJvdXQgaW5saW5pbmcg bWV0aG9kcyAoYmxvY2tzKSBpbXBsZW1lbnRlZCBvbiBSdWJ5IGludG8gYW5vdGhlciBSdWJ5IG1l dGhvZC4gIEl0IGlzIG1vcmUgY29uc3RyYWluZWQgYXBwcm9hY2guICBBbHRob3VnaCBpZiBtb3N0 IHN0YW5kYXJkIFJ1YnkgbWV0aG9kcyBsaWtlIGB0aW1lc2Agd2lsbCBiZSByZXdyaXR0ZW4gb24g UnVieSwgaXQgaXMgbGVzcyBjb25zdHJhaW50IGFwcHJvYWNoIGJ1dCBJIGFtIG5vdCBzdXJlIHRo YXQgdGhlIG92ZXJhbGwgbWFjaGluZSBjb2RlIGdlbmVyYXRlZCBxdWFsaXR5IHdpbGwgYmUgbm90 IHdvcnNlLiAgUHJvYmFibHkgaXQgaXMgYWxzbyBkb3VibGUgYXBwcm9hY2ggaWYgdHlwZSBpbmZv cm1hdGlvbiAodHlwZSBhbm5vdGF0aW9uIGNhbiBiZSB1c2VkIGZvciB0aGlzKSBhbmQgaW5mbyBh Ym91dCBhYnNlbmNlIG9mIGludGVnZXIgb3ZlcmZsb3cgZnJvbSBzdGFuZGFyZCBtZXRob2RzIHJl d3JpdHRlbiBmcm9tIEMgdG8gUnVieSBjYW4gYmUgcHJvcGFnYXRlZCBhbmQgdXNlZC4NCg0KU3Rp bGwgZm9yIGZ1cnRoZXIgaW1wcm92ZW1lbnQgb2YgWUpJVCB5b3UgbmVlZCBzb21lIElSIHRvIG9w dGltaXplIG1hY2hpbmUgY29kZSBnZW5lcmF0ZWQgZnJvbSBzZXZlcmFsIFZNIGluc25zLiAgUmln aHQgbm93IFlKSVQgaXMganVzdCBhIHNpbXBsZSB0ZW1wbGF0ZSBjb2RlIGdlbmVyYXRvciBmb3Ig Z2l2ZW4gdmFsdWUgdHlwZXMuDQoNCkluIGFueSBjYXNlLCBJIGFtIGp1c3QgYXQgdGhlIHZlcnkg YmVnaW5uaW5nIHRvIHVzZSBNSVIgcHJvamVjdCBmb3IgQ1J1YnkgSklUIGFuZCBZSklUIGlzIGEg cmVhbCB0aGluZy4gIEFuZCBpdCBpcyB0aGUgb25seSB0aGluZyB0aGF0IG1hdHRlcnMuDQoNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE4MjI5OiBQ cm9wb3NhbCB0byBtZXJnZSBZSklUDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv MTgyMjkjY2hhbmdlLTkzOTU0DQoNCiogQXV0aG9yOiBtYXhpbWVjYiAoTWF4aW1lIENoZXZhbGll ci1Cb2lzdmVydCkNCiogU3RhdHVzOiBBc3NpZ25lZA0KKiBQcmlvcml0eTogTm9ybWFsDQoqIEFz c2lnbmVlOiBrMGt1YnVuIChUYWthc2hpIEtva3VidW4pDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tncm91bmQNCg0KWUpJVCBpcyBhIG5ldyBvcGVuIHNv dXJjZSBKSVQgY29tcGlsZXIgZm9yIENSdWJ5LiAgVGhlIHByb2plY3QgaXMgbGVkIGJ5IGEgc21h bGwgdGVhbSBhdCBTaG9waWZ5IGluIGNvbGxhYm9yYXRpb24gd2l0aCBkZXZlbG9wZXJzIGZyb20g R2l0SHViLiAgVGhlIGtleSBhZHZhbnRhZ2VzIG9mIHRoaXMgcHJvamVjdCBhcmUgdGhhdCB0aGUg Y29tcGlsZXIgZGVsaXZlcnMgdmVyeSBmYXN0IHdhcm0tdXAgYW5kIGhhcyBmaW5lIGdyYWluIGNv bnRyb2wgb3ZlciB0aGUgZW50aXJlIGNvbXBpbGVyIHBpcGVsaW5lLg0KDQpUaGlzIEpJVCB0cmFu c2xhdGVzIFlBUlYgaW5zdHJ1Y3Rpb25zIHRvIG1hY2hpbmUgY29kZSBhbmQgZW1wbG95cyBhIHRl Y2huaXF1ZSBrbm93biBhcyBbTGF6eSBCYXNpYyBCbG9jayBWZXJzaW9uaW5nIChMQkJWKV0oaHR0 cHM6Ly9kcm9wcy5kYWdzdHVobC5kZS9vcHVzL3ZvbGx0ZXh0ZS8yMDE1LzUyMTkvcGRmLzkucGRm KSBpbiBvcmRlciB0byBzcGVjaWFsaXplIGNvZGUgYmFzZWQgb24gdHlwZXMgc2VlbiBhdCBydW4t dGltZSBhbmQgcmVkdWNlIGdlbmVyYXRlZCBjb2RlIHNpemUgd2l0aG91dCBuZWVkaW5nIHRvIGRv IHN0YXRpYyB0eXBlIGFuYWx5c2lzLiBUaGUgWUpJVCBwcm9qZWN0IHdhcyBbcHJlc2VudGVkIGF0 IFJ1YnlLYWlnaSAyMDIxXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVBCVkxmM3lm TXM4KS4NCg0KIyBMaW1pdGF0aW9ucw0KDQpZSklUIHdvcmtzIGJ5IHRyYW5zbGF0aW5nIFlBUlYg aW5zdHJ1Y3Rpb25zIHRvIHg4NiBtYWNoaW5lIGNvZGUuICBZSklUIGRvZXNu4oCZdCBzdXBwb3J0 IGFsbCBZQVJWIGluc3RydWN0aW9ucywgYnV0IGlzIGFibGUgdG8gZ3JhY2VmdWxseSBoYW5kbGUg dW5rbm93biBpbnN0cnVjdGlvbnMgYnkgcmV0dXJuaW5nIGNvbnRyb2wgb2YgZXhlY3V0aW9uIGJh Y2sgdG8gdGhlIENSdWJ5IGludGVycHJldGVyLg0KDQpUb2RheSwgWUpJVCBvbmx5IHRhcmdldHMg eDg2LTY0IGFyY2hpdGVjdHVyZS4gIFdlIG1heSBzdXBwb3J0IEFSTTY0IGluIHRoZSBmdXR1cmUs IGJ1dCBkdWUgdG8gdGhlIG5hdHVyZSBvZiB0aGUgY29tcGlsZXIgZGVzaWduLCB3ZSBjYW7igJl0 IGVhc2lseSBzdXBwb3J0IGFzIG1hbnkgcGxhdGZvcm1zIGFzIE1KSVQuIFN0aWxsLCB3ZSBhbnRp Y2lwYXRlIHRoYXQgeDg2LTY0IGFuZCBBUk02NCB3aWxsIGNvdmVyIHRoZSBuZWVkcyBvZiB0aGUg dmFzdCBtYWpvcml0eSBvZiB1c2VycywgZnJvbSBQQ3MgdG8gc2VydmVycyB0byBBcHBsZSBNMXMg dG8gY2VsbCBwaG9uZXMgYW5kIGV2ZW4gUmFzcGJlcnJ5IFBpcy4NCg0KIyBBZHZhbnRhZ2VzDQoN CllKSVQgaGFzIHZlcnkgZmFzdCB3YXJtdXAgYW5kIGNhbiBwcm9kdWNlIGdvb2QgcmVhbC13b3Js ZCBiZW5jaG1hcmsgcmVzdWx0cyB3aGVuIGNvbXBhcmVkIHRvIG90aGVyIEpJVHMuIFRoZXJlIGFy ZSBzdGlsbCBtYW55IG9wdGlvbnMgZm9yIGltcHJvdmluZyBwZXJmb3JtYW5jZSBmdXJ0aGVyLg0K DQojIEludGVncmF0aW9uIHdpdGggTVJJDQoNCllKSVQgY2Fu4oCZdCB3b3JrIGZ1bGx5IGFzIGEg 4oCccGx1Zy1pbuKAnSBKSVQuICBJdCByZXF1aXJlcyBzb21lIG1vZGlmaWNhdGlvbnMgdG8gQ1J1 YnksIG1vc3RseSByZWxhdGVkIHRvIGNvbXBpbGF0aW9uIGFuZCBpbnZhbGlkYXRpb24uICBGb3Ig ZXhhbXBsZSwgWUpJVCBuZWVkcyBjYWxsYmFja3Mgc28gaXQgY2FuIGJlIG5vdGlmaWVkIHdoZW4g dGhlIGNvbnN0YW50IHN0YXRlIGNoYW5nZXMgb3Igd2hlbiBCT1BzIGFyZSByZWRlZmluZWQuICBU aGVzZSBtb2RpZmljYXRpb25zIGFyZSBxdWl0ZSBtb2Rlc3QgYW5kIGNvdWxkIGJlIGFkdmFudGFn ZW91cyBmb3IgTUpJVCBvciBvdGhlciBKSVRzIGluIHRoZSBmdXR1cmUuICBZSklU4oCZcyBpbXBs ZW1lbnRhdGlvbiBpcyBjb250YWluZWQgaW4gdGhlIHlqaXRfKi5jIGZpbGVzIHdpdGggdmVyeSBm ZXcgbW9kaWZpY2F0aW9ucyB0byBDUnVieS4NCg0KIyBCZW5jaG1hcmtzDQoNCllKSVQgb3B0aW1p emVzIGEgbnVtYmVyIG9mIGNvbW1vbiBiZW5jaG1hcmtzIHdlbGwuIEhlcmUgYXJlIHNvbWUgcmVz dWx0cyBjb21wYXJlZCB0byB0aGUgQ1J1YnkgaW50ZXJwcmV0ZXIgd2l0aG91dCBNSklULCBbY3Vy cmVudCBhcyBvZiBTZXB0IDIwMjFdKGh0dHBzOi8vc3BlZWQueWppdC5vcmcvYmVuY2htYXJrcy9i ZW5jaC0yMDIxLTA5LTI3LTA3MTA1OSk6DQoNCmFjdGl2ZXJlY29yZDogMS4zN3gNCmpla3lsbDog MS4xMngNCmxpcXVpZC1yZW5kZXI6IDEuMjd4DQptYWlsIGdlbTogMS4wOXgNCnBzeWNoLWxvYWQ6 IDEuMjl4DQpLb2t1YnVuJ3MgcmFpbHNiZW5jaDogMS4xNngNCm9wdGNhcnJvdDogMS42OHgNCkNo cmlzIFNlYXRvbidzIGxlZSBiZW5jaG1hcms6IDEuNDF4DQoNClNvdXJjZSBjb2RlIGZvciB0aGVz ZSBiZW5jaG1hcmtzIGNhbiBiZSBmb3VuZCBhdCBodHRwczovL2dpdGh1Yi5jb20vU2hvcGlmeS95 aml0LWJlbmNoIHVuZGVyICJiZW5jaG1hcmtzIi4NCg0KIyBUT0RPIC8gS25vd24gQnVncw0KDQpX ZSBoYXZlIGJlZW4gcnVubmluZyBZSklUIGluIHByb2R1Y3Rpb24sIGJ1dCBpdCBpcyBzdGlsbCBl eHBlcmltZW50YWwuICBTb21lIGtleSBmZWF0dXJlcyBhcmUgY3VycmVudGx5IG1pc3NpbmcsIHRo ZSBtb3N0IGltcG9ydGFudCBiZWluZyDigJxjb2RlIEdD4oCdLiAgQ3VycmVudGx5LCBhbnkgZ2Vu ZXJhdGVkIGNvZGUgdGhhdCBpcyBpbnZhbGlkYXRlZCAob3IgYmVjb21lcyDigJx1bnVzYWJsZeKA nSkgaXMgbm90IGNvbGxlY3RlZCwgbm9yIGlzIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGF0 IGNvZGUgcmVjbGFpbWVkLiAgVGhpcyBpcyByYXJlbHkgYSBwcm9ibGVtIGluIHByYWN0aWNlIGJl Y2F1c2UgbW9zdCBSdWJ5IHByb2dyYW1zIGdlbmVyYXRlIGEgZml4ZWQgYW1vdW50IG9mIGNvZGUs IGJ1dCBpdCBpcyBhIHByb2JsZW0gdGhhdCB3ZSB3YW50IHRvIGZpeCBpbiB0aGUgc2hvcnQgdG8g bWVkaXVtIHRlcm0uIFRoaXMgaXMgYW4gYXJlYSB3aGljaCBpcyBjdXJyZW50bHkgdW5kZXIgZGV2 ZWxvcG1lbnQuDQoNCiMgU3RhYmlsaXR5IGFuZCBDb21wYXRpYmlsaXR5DQoNCk1SSeKAmXMgZnVs bCBzdWl0ZSBvZiB0ZXN0cyBpbmNsdWRpbmcgUnVieVNwZWMgdGVzdHMgcGFzcyB3aXRoIFlKSVQg ZW5hYmxlZC4gIFdl4oCZdmUgdGVzdGVkIFlKSVQgYWdhaW5zdCBvdXIgcHJvZHVjdGlvbiBhcHBs aWNhdGlvbiAoU2hvcGlmeeKAmXMgU3RvcmVGcm9udCBSZW5kZXJlcikgYW5kIGFsbCB0ZXN0cyBw YXNzIHRoZXJlIGFzIHdlbGwuICBGaW5hbGx5LCBHaXRIdWIgaGFzIHRlc3RlZCBZSklUIGFnYWlu c3QgdGhlaXIgdGVzdCBzdWl0ZSBhbmQgYWxsIHRlc3RzIHBhc3MuICBXZeKAmXZlIGRlcGxveWVk IFlKSVQgdG8gcHJvZHVjdGlvbiBvbiBhIHN1YnNldCBvZiBzZXJ2ZXJzIGFuZCBzZWVuIHBlcmZv cm1hbmNlIGltcHJvdmVtZW50cy4gIFNlZSBtb3JlIGRldGFpbHMgaGVyZS4NCg0KIyBNZXJnaW5n IFByb3Bvc2FsDQoNCkRlc3BpdGUgc29tZSBvZiB0aGUgbGltaXRhdGlvbnMgYW5kIFRPRE/igJlz IGxpc3RlZCBoZXJlLCB3ZSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgbWVyZ2luZyBZSklUIHNvIHRo YXQgd2UgY2FuIGdldCBmZWVkYmFjayBmcm9tIHRoZSByZXN0IG9mIHRoZSBjb21tdW5pdHkgYXMg d2VsbCBhcyBhZGQg4oCcaW50ZWdyYXRpb24gcG9pbnRz4oCdIGZvciBvdGhlciBKSVQgaW1wbGVt ZW50YXRpb25zLg0KDQpXZeKAmXZlIGludGVudGlvbmFsbHkgbWFkZSBhcyBmZXcgY2hhbmdlcyB0 byBNUkkgYXMgcG9zc2libGUgdG8gc3VwcG9ydCBpbnRlZ3JhdGluZyBZSklULiAgV2XigJlyZSBj b21taXR0ZWQgdG8gY29udGludWUgZGV2ZWxvcGluZyBZSklULCBidXQgaW50ZW50aW9uYWxseSBr ZXB0IHRoZSBjaGFuZ2VzIHRvIE1SSSBzbWFsbCBpbiBvcmRlciB0byBlYXNlIHRoZSBidXJkZW4g b24gdXBzdHJlYW0gbWFpbnRhaW5lcnMuDQoNCllKSVQgd2lsbCBiZSBkaXNhYmxlZCBieSBkZWZh dWx0IGFuZCByZXF1aXJlIGFuIGV4cGVyaW1lbnRhbCBjb21tYW5kLWxpbmUgZmxhZyAoYC0teWpp dGApIHRvIGJlIHNldC4NCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8N Cg==