Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103984 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 13704 invoked from network); 1 Feb 2019 16:32:17 -0000 Received: from unknown (HELO NAM01-SN1-obe.outbound.protection.outlook.com) (40.107.82.91) by pb1.pair.com with SMTP; 1 Feb 2019 16:32:17 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jxn0Sy1UlceZvUdaH4lYlvE53XSJm1Y41cD55k7NZ+Q=; b=sWdGQhEx+Qs1BHFmUyK49xkmj0iqhYUQTOiqnDZ2s7i6NhAvpGTOv2RJRBevSqDvAu4iAsVYVsrLPIS4eB6Azp02NLe/qot1a8c9lIkUpwXMixmtMIvjPGSAJbWTQYlqS7w4HUs0NjAETWxs6MvKcA4ZslriJeOoFH1Yr5WX1i4= Received: from DM6PR02MB5932.namprd02.prod.outlook.com (20.179.68.220) by DM6PR02MB5771.namprd02.prod.outlook.com (20.179.54.160) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1580.16; Fri, 1 Feb 2019 13:12:22 +0000 Received: from DM6PR02MB5932.namprd02.prod.outlook.com ([fe80::bd59:7d60:3d3d:d5c7]) by DM6PR02MB5932.namprd02.prod.outlook.com ([fe80::bd59:7d60:3d3d:d5c7%3]) with mapi id 15.20.1558.025; Fri, 1 Feb 2019 13:12:22 +0000 To: Joe Watkins CC: Larry Garfield , "internals@lists.php.net" Thread-Topic: [PHP-DEV] [RFC] JIT Thread-Index: AQHUuUlqVOVjmKFgoEm1MWGJHDXwwaXJidMAgAAKfwCAAAJ7AIAABI+AgAAYQQCAAGQxAIAAu6AA///RyYCAAEe3AA== Date: Fri, 1 Feb 2019 13:12:22 +0000 Message-ID: References: <2321148.uWQDsfDpJu@vulcan> <4df2d7cf-31dc-a9cf-eefe-d92bad199312@zend.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1PR0802CA0012.eurprd08.prod.outlook.com (2603:10a6:3:bd::22) To DM6PR02MB5932.namprd02.prod.outlook.com (2603:10b6:5:153::28) authentication-results: spf=none (sender IP is ) smtp.mailfrom=dmitry@zend.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [212.232.72.197] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DM6PR02MB5771;6:jlplRSEOSwRfANqTNTkBUJyXPtua3WbPayOp/7fcgmkC8/kOJZNbgqgOtNt+8Cxe9u+JyOUTEoeyaGjntRkMnvPfMXljtfRsSLOGquqNaHNQTA38HHnqNCXNIKZgPwqtEhopl+EAsPmSd9Edfem2OBT3BvIA4gtP1aSzKZtbCLVkWCSkqrW3C48IIGanLJASgURcExYfr6nypUiocxs7Ctwv6OQO8AbdIQFzENEahVHU6uqdPjEtN/nC3qM3vhOcPY1JH6tvyJOCPXLndV1smfBQQSYEs1SXtg8HqpiJzBfQVSAmoFz73A1m4RbQ7F3np6IvIl9eJ6lPdLSy7nVdCbM1hdqF5DlG6Y/hwYWWYZBl9OJey656cnMBrrH/AMzmtkwYEara+eYsEpghnhA7UX7Xv6rJgC5GdTXy76uCN3lAzS773mRMcjGaiiBscs9bmXy3kbX2W5xzvNBhEytpXA==;5:EEKgUqEDJsWeNG4PgIj1OEtcuZGs5DbZ97SxR+JvDODtEHWXU27lQbPTMKnU93dU2XC2Ix1n2LvW6EShqcJu/91wZOvSKqtlGW5NMHZyjapr+Cs30QOgq1xONtx6lg9O3RyhhaxHjZlxGnI/QPYiieIi8Ck2b/iKu9NTyU4SDzh93GrQTHkVlTveuavEaf7GlE/Lsbs7u7mp3z6rQ/T0xA==;7:MODl0cmhRFpAxkKTU9B3I7KwSqfpJUvCogp80V7UJWy7ZTl7dezE3ojXo/wbbHz9QuXRqhVMpn5NsS/2cFzwjzB4Y69coEPJrG1nSGhEs4Z4hnXQY8cfzrMP0mlE8mGgOufFQaJAs+HtE2pCHWscnQ== x-ms-office365-filtering-correlation-id: 6353abd9-4ce4-4553-9f53-08d68846e6cd x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(2017052603328)(7153060)(7193020);SRVR:DM6PR02MB5771; x-ms-traffictypediagnostic: DM6PR02MB5771: x-microsoft-antispam-prvs: x-forefront-prvs: 09352FD734 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(376002)(366004)(136003)(39850400004)(396003)(199004)(189003)(106356001)(229853002)(186003)(6486002)(52116002)(8936002)(15188155005)(6436002)(26005)(99286004)(105586002)(16799955002)(76176011)(54906003)(316002)(8676002)(81156014)(81166006)(102836004)(1411001)(7736002)(31686004)(3846002)(6116002)(305945005)(53546011)(6506007)(386003)(2906002)(4326008)(14454004)(25786009)(53936002)(71190400001)(71200400001)(36756003)(6246003)(68736007)(478600001)(966005)(6916009)(11346002)(6512007)(256004)(31696002)(66066001)(446003)(97736004)(86362001)(476003)(14444005)(2616005)(486006)(6306002)(39060400002)(93886005);DIR:OUT;SFP:1102;SCL:1;SRVR:DM6PR02MB5771;H:DM6PR02MB5932.namprd02.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: zend.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: XJZ85faRUH6+wYDEDYMiS9pnwMZlJe1oi5wH0GVs/WWwssyg0yWmzsbBEh4uQrpqcDMWOMtXHa69QSwBXCiSARiH75lB14V5azlpxUXVTiwVhiVvozXAwCwTtRMMt+FJVpvLnImtKinqpFiqTGRERRrUUfOSuU1NdsqxPeB/RA8XeNby9MgtPHgiLJIaY5UcwznEyCaKK6rqn2Hq6xNUloOqkv+9rjhO/kUyv9mCu1tD3vbEpi9yMpsoQduffcUD0/vumx+dnh+wp3sIBZPvHFE0N598FqqC8zDPIXi9uonSaBvDyzwfURFMEoxV1UPnjarEL76TMpYimP6s14TjrAT7JeAug1LtWUsdk9Qxg9m9r0mbygApxqXpdEZTRBLl51yhOC9mzurafQNO1BTngzd0WBks8WwEI6nSBPPkXSo= Content-Type: text/plain; charset="utf-8" Content-ID: <3C2C969758641347999C3E051F5ACFFB@namprd02.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6353abd9-4ce4-4553-9f53-08d68846e6cd X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2019 13:12:21.2731 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 32210298-c08b-4829-8097-6b12c025a892 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB5771 Subject: Re: [PHP-DEV] [RFC] JIT From: dmitry@zend.com (Dmitry Stogov) DQoNCk9uIDIvMS8xOSAxMTo1NSBBTSwgSm9lIFdhdGtpbnMgd3JvdGU6DQo+IE1vcm5pbmcgRG1p dHJ5LCBhbmQgaW50ZXJuYWxzLA0KPiANCj4gVGhpcyBpcyBtYXJ2ZWxsb3VzIHN0dWZmLCB0cnVs eSBicmlsbGlhbnQuIEkgcGFydGljdWxhcmx5IGFwcHJlY2lhdGUgdGhlIA0KPiBub24taW50cnVz aXZlIGFwcHJvYWNoIG9mIHNldHRpbmcgaml0J2QgY29kZSBhcyB0aGUgb3Bjb2RlIGhhbmRsZXIs IHRoaXMgDQo+IG1ha2VzIGxpZmUgYSBsaXR0bGUgZWFzaWVyIGZvciBoYWNreSBleHRlbnNpb24g YXV0aG9ycywgSSB0aGluay4NCj4gDQo+IEFzIG90aGVycyBoYXZlIHNhaWQ6DQo+IA0KPiAgwqAg SSBkb24ndCBsaWtlIHRoZSBpZGVhIG9mIG9taXR0aW5nIHRvIHN1cHBvcnQgd2luZG93cywgbGVz cyB3b3JyaWVkIA0KPiBhYm91dCBmYW5jeSBhcmNoaXRlY3R1cmVzLg0KDQpJIGNhbiBwcm92aWRl IGhlbHAgdG8gcGVvcGxlIHdobyB3aWxsIGdvaW5nIHRvIGltcGxlbWVudCBKSVQgc3VwcG9ydCBm b3IgDQpXaW5kb3dzLiBUaGlzIGlzIG5vdCBnb2luZyB0byBiZSBlYXN5LCBiZWNhdXNlIE1TVkMg ZG9lc24ndCBzdXBwb3J0IA0KImh5YnJpZCBWTSIgYW5kICJnbG9iYWwgcmVnaXN0ZXIgdmFyaWFi bGVzIiwgdGhlcmVmb3JlIHRoZSBjb2RlIGlzIGdvaW5nIA0KdG8gYmUgbW9yZSBleHBlbnNpdmUu DQoNCj4gIMKgIEknbSBub3Qga2VlbiBvbiB0aGUgaWRlYSB0aGF0IHRoZXJlIGlzIG5vIHdheSB0 byBkZWJ1ZyB0aGUgY29kZSB0aGlzIA0KPiBnZW5lcmF0ZXMgb3V0c2lkZSBvZiBHREIsIGFuZCBJ J20gbm90IHN1cmUgaG93IHVzZWZ1bCBnZGIgd2lsbCBiZTogSSd2ZSANCj4gdHJpZWQgdG8gZGVi dWcgSklUJ2QgY29kZSBpbiB0aGF0IGJlZm9yZSBhbmQgaXQgZG9lc24ndCBkbyBzbyB3ZWxsLCBi dXQgDQo+IEkgY291bGQgZWFzaWx5IGhhdmUgYmVlbiBkb2luZyBpdCB3cm9uZy4gSSdkIGJlIHZl cnkgaGFwcHkgdG8gYmUgDQo+IGNvcnJlY3RlZCBhYm91dCB0aGlzID8NCg0KSSdtIG5vdCBzdXJl LCB3aGF0IGlzIHdyb25nIHdpdGggR0RCLCBhbmQgaWYgYW55IG90aGVyIGRlYnVnZ2VycyBoYXZl IA0Kc3BlY2lhbCBBUEkgZm9yIHJ1bi10aW1lIGdlbmVyYXRlZCBjb2RlLg0KDQo+ICDCoCBJJ20g bm90IGtlZW4gb24gdGhlIGlkZWEgb2YgbWVyZ2luZyB0aGlzIGludG8gNy40LCBmb3IgdmFyaW91 cyANCj4gcmVhc29ucyB0aGF0IGRvbid0IG5lZWQgdG8gYmUgcmVwZWF0ZWQuDQoNCk9LLiBJdCdz IG5vdCBvbmx5IHlvdXIgb3Bpbmlvbi4NCllvdSBtYXkgdm90ZSBhZ2FpbnN0LCBhbmQgcGVyc3Vh ZGUgb3RoZXJzLg0KDQpUaGFua3MuIERtaXRyeS4NCg0KPiANCj4gQm90dG9tIGxpbmUgdGhvdWdo LCBJIGxvdmUgaXQsIGl0J3MgYnJpbGxpYW50LCBhbmQgbG9vayBmb3J3YXJkIHRvIFBIUCA4Lg0K PiANCj4gVGhhbmsgeW91LCBEbWl0cnkuDQo+IA0KPiBDaGVlcnMNCj4gSm9lDQo+IA0KPiANCj4g T24gRnJpLCAxIEZlYiAyMDE5IGF0IDA5OjQxLCBEbWl0cnkgU3RvZ292IDxkbWl0cnlAemVuZC5j b20gDQo+IDxtYWlsdG86ZG1pdHJ5QHplbmQuY29tPj4gd3JvdGU6DQo+IA0KPiANCj4gDQo+ICAg ICBPbiAyLzEvMTkgMzoyOSBBTSwgTGFycnkgR2FyZmllbGQgd3JvdGU6DQo+ICAgICAgPiBPbiBU aHVyc2RheSwgSmFudWFyeSAzMSwgMjAxOSAxMjozMDo1MiBQTSBDU1QgQ2hhc2UgUGVlbGVyIHdy b3RlOg0KPiAgICAgID4+IE9uIFRodSwgSmFuIDMxLCAyMDE5IGF0IDEyOjA0IFBNIFplZXYgU3Vy YXNraSA8emVldkBwaHAubmV0DQo+ICAgICA8bWFpbHRvOnplZXZAcGhwLm5ldD4+IHdyb3RlOg0K PiAgICAgID4+PiBPbiBUaHUsIEphbiAzMSwgMjAxOSBhdCA2OjQ3IFBNIEthbGxlIFNvbW1lciBO aWVsc2VuDQo+ICAgICA8a2FsbGVAcGhwLm5ldCA8bWFpbHRvOmthbGxlQHBocC5uZXQ+Pg0KPiAg ICAgID4+Pg0KPiAgICAgID4+PiB3cm90ZToNCj4gICAgICA+Pj4+IFdpdGhvdXQgbXkgdXN1YWwg V2luZG93cyBiaWFzLCBJIGRvIGJlbGlldmUgaXQgaXMgYQ0KPiAgICAgY29uc2lkZXJhYmxlIGZh Y3QNCj4gICAgICA+Pj4+IGxpa2UgTmlraXRhIHBvaW50ZWQgb3V0IGFzIFdpbmRvd3MgaXMgYSBm aXJzdCBjbGFzcyBjaXRpemVuIGluDQo+ICAgICB0ZXJtcw0KPiAgICAgID4+Pj4gb2Ygb3BlcmF0 aW5nIHN5c3RlbXMgd2Ugc3VwcG9ydC4gV2hpbGUgUEhQIG9uIFdpbmRvd3MgbWF5IG5vdA0KPiAg ICAgaGF2ZSB0aGUNCj4gICAgICA+Pj4+IHNwZWVkIHRoYXQgdGhlIFVuaXggY291bnRlcnBhcnQg aGF2ZSwgaXQgaXMgc3RpbGwgYSB2ZXJ5IGltcG9ydGFudA0KPiAgICAgID4+Pj4gZGV2ZWxvcG1l bnQgcGxhdGZvcm0uIE1hbnkgZGV2ZWxvcGVycyBkZXZlbG9wIG9uIFdpbmRvd3MgYW5kDQo+ICAg ICBkZXBsb3kgb24NCj4gICAgICA+Pj4+IGEgVW5peCBiYXNlZCBzeXN0ZW0sIGJlaW5nIHVuYWJs ZSB0byB0ZXN0IHN1Y2ggYW4gaW1wb3J0YW50DQo+ICAgICBmZWF0dXJlIGluDQo+ICAgICAgPj4+ PiBhIGRldmVsb3BtZW50IGVudmlyb25tZW50IGlzIGFsc28gYSBsYXJnZSBxdWVzdGlvbiBtYXJr Lg0KPiAgICAgID4+Pg0KPiAgICAgID4+PiBBcyBsb25nIGFzIHdlIGNhbiBhZ3JlZSB0aGF0IHZl cnkgZmV3IGFjdHVhbGx5ICpkZXBsb3kgKm9uDQo+ICAgICBXaW5kb3dzLCBJDQo+ICAgICAgPj4+ IHRoaW5rDQo+ICAgICAgPj4+IHdlJ3JlIG9uIHNvbGlkIGdyb3VuZHMuDQo+ICAgICAgPj4+IEFz IHRoZSBKSVQgaW1wbGVtZW50YXRpb24gaXMgbGlrZWx5IHRvIGhhdmUgYXQgbGVhc3QgKnNvbWUq DQo+ICAgICBzaWduaWZpY2FudA0KPiAgICAgID4+PiBkaWZmZXJlbmNlcyBjb21wYXJlZCB0byBM aW51eCwgSSdtIG5vdCBzdXJlIHdoYXQgdGVzdGluZyBpdCBvbg0KPiAgICAgV2luZG93cw0KPiAg ICAgID4+PiB3b3VsZCBnaXZlIHlvdS7CoCBKSVQgaXMgc3VwcG9zZWQgdG8gYmUgZW50aXJlbHkg dHJhbnNwYXJlbnQsDQo+ICAgICBhbmQgdGhlDQo+ICAgICAgPj4+IHBlcmZvcm1hbmNlIGNoYXJh Y3RlcmlzdGljcyAtIGFzIHdlbGwgYXMgdGhlIGJ1ZyBwYXR0ZXJucyAtIGFyZQ0KPiAgICAgbGlr ZWx5IHRvDQo+ICAgICAgPj4+IGJlIHF1aXRlIGRpZmZlcmVudCBvbiBMaW51eCB2cy4gV2luZG93 cywgYXQgbGVhc3QgaW4gbWFueSBjYXNlcy4NCj4gICAgICA+Pj4gSXMgaXQgcmVhbGx5IHRoYXQg aW1wb3J0YW50IHRvIGhhdmU/DQo+ICAgICAgPj4+DQo+ICAgICAgPj4+IEknbSBob25lc3RseSBh IGJpdCBwZXJwbGV4ZWQgYnkgaG93IG1hbnkgcGVvcGxlIGhlcmUgdmlld2luZw0KPiAgICAgV2lu ZG93cw0KPiAgICAgID4+PiBzdXBwb3J0IGFzIGEgbXVzdCBoYXZlLCB3aGlsZSBhdCB0aGUgc2Ft ZSB0aW1lIEkgdGhpbmsgd2UgYWxsDQo+ICAgICBhZ3JlZSBQSFAgaXMNCj4gICAgICA+Pj4gdmVy eSBzY2FyY2VseSBmb3VuZCBvbiBwcm9kdWN0aW9uIFdpbmRvd3Mgc2VydmVycywgYW5kIEpJVCBp cyBhDQo+ICAgICAgPj4+IHByZWRvbWluYW50bHkgcHJvZHVjdGlvbiBmZWF0dXJlLg0KPiAgICAg ID4+Pg0KPiAgICAgID4+PiBJJ20gcGVyc29uYWxseSBpbnRlcmVzdGVkIGluIHRha2luZyBhIGxv b2sgYXQgaXQgKGFuZCBJJ20gY2VydGFpbg0KPiAgICAgID4+Pg0KPiAgICAgID4+Pj4gQW5hdG9s IGRvZXMgdG9vKSwgYnV0IHNpbXBseSBkaXNtaXNzaW5nIGlzIGEgbm8tZ28gZm9yIG1lLg0KPiAg ICAgID4+Pg0KPiAgICAgID4+PiBJdCdkIGJlIGludGVyZXN0aW5nIHRvIGV2YWx1YXRlIHRoZSBj b3N0IGFzc29jaWF0ZWQgd2l0aCBzdXBwb3J0aW5nDQo+ICAgICAgPj4+IFdpbmRvd3MuwqAgQmFy ZSBpbiBtaW5kLCB3ZSdyZSBwcm9wb3NpbmcgdG8gdm90ZSBvbiB0aGlzIGFzIGENCj4gICAgIHBy b2R1Y3Rpb24NCj4gICAgICA+Pj4gZmVhdHVyZSBmb3IgUEhQIDggLSB3aGljaCByZWFsaXN0aWNh bGx5IG1lYW5zIGFsbW9zdCB0d28geWVhcnMNCj4gICAgIGZyb20gbm93DQo+ICAgICAgPj4+ICph dA0KPiAgICAgID4+PiB0aGUgZWFybGllc3QqLsKgIEknbSBzdXJlIHdlJ2QgaGF2ZSBXaW5kb3dz IHN1cHBvcnQgYSBsb3Qgc29vbmVyDQo+ICAgICB0aGFuIHRoYXQNCj4gICAgICA+Pj4gaWYgd2Ug ZGVjaWRlIHRoYXQgaXQncyBhIG11c3QgaGF2ZS7CoCBJIGFncmVlIHdpdGggTmlraXRhIHRoYXQN Cj4gICAgIHRoZSBrZXkNCj4gICAgICA+Pj4gcXVlc3Rpb24gaXMgaW4gZmFjdCwgZG8gd2Ugb3Ig ZG8gd2Ugbm90IHdhbnQgdG8gaW50cm9kdWNlIEpJVA0KPiAgICAgaW4gLSB3aXRoDQo+ICAgICAg Pj4+IHRoZQ0KPiAgICAgID4+PiBtYWluIHF1ZXN0aW9uIGJlaW5nIHRoZSBtYWludGVuYW5jZSBj b3N0LsKgIExldCdzIHRhY2tsZSB0aGlzDQo+ICAgICBxdWVzdGlvbg0KPiAgICAgID4+PiBmaXJz dCwgb3RoZXJ3aXNlIC0gd2h5IHNlbmQgRG1pdHJ5IChhbmQgbWF5YmUgb3RoZXJzKSBmb3IgZG9p bmcNCj4gICAgIG1vcmUgd29yaw0KPiAgICAgID4+PiAoV2luZG93cyBzdXBwb3J0KSBpZiB3ZSBh cmUgbGlrZWx5IHRvIGZsdXNoIGl0IGFsbCBkb3duIHRoZSB0b2lsZXQ/DQo+ICAgICAgPj4+DQo+ ICAgICAgPj4gTWF5YmUgd2UncmUgdGhlIG9ubHkgb25lcywgYnV0IHdlIHJ1biBwcm9kdWN0aW9u IFBIUCBvbiBXaW5kb3dzLg0KPiAgICAgSSBoYXZlIG5vDQo+ICAgICAgPj4gaXNzdWVzIHdpdGgg dGhlIGlkZWEgb2Ygbm90IGluaXRpYWxseSBoYXZpbmcgc3VwcG9ydCBmb3INCj4gICAgIFdpbmRv d3MuIEkgY2FuDQo+ICAgICAgPj4gcHJvYmFibHkgZXZlbiBsaXZlIHdpdGggbmV2ZXIgaGF2aW5n IHN1cHBvcnQgZm9yIFdpbmRvd3MgLQ0KPiAgICAgcHJvdmlkZWQgdGhhdCB3ZQ0KPiAgICAgID4+ IGRvbid0IGZpbmQgb3Vyc2VsdmVzIGluIGEgc2l0dWF0aW9uIGxpa2UgTmlraXRhIG1lbnRpb25l ZCB3aGVyZQ0KPiAgICAgZmVhdHVyZXMNCj4gICAgICA+PiBzdGFydCBnZXR0aW5nIGRldmVsb3Bl ZCBpbiBQSFAgaW5zdGVhZCBvZiBDIGFuZCByZXF1aXJlIEpJVCBpbg0KPiAgICAgb3JkZXIgdG8N Cj4gICAgICA+PiBmdW5jdGlvbi4NCj4gICAgICA+DQo+ICAgICAgPiBRdWVzdGlvbiBmcm9tIGEg bm9uLWNvbXBpbGVyLWVuZ2luZWVyOiBDb3VsZCB3ZSBlbmQgdXAgaW4gYQ0KPiAgICAgc2l0dWF0 aW9uIHdoZXJlDQo+ICAgICAgPiBmdXR1cmUgbGFuZ3VhZ2UgZmVhdHVyZXMgKGluIDguMyBvciBz b21ldGhpbmcpIGFyZSBvbmx5DQo+ICAgICBwZXJmb3JtYW50IG9uIEpJVC0NCj4gICAgICA+IGVu YWJsZWQgcGxhdGZvcm1zP8KgIEkga25vdyB0aGVyZSB3ZXJlIHNvbWUgUkZDcyByZWplY3RlZCBp biB0aGUNCj4gICAgIHBhc3Qgb24gdGhlDQo+ICAgICAgPiBncm91bmRzIHRoYXQgdGhleSBpbnZv bHZlZCB0b28gbWFueSBydW50aW1lIGNoZWNrcyAoYW5kIHRodXMgYQ0KPiAgICAgcGVyZm9ybWFu Y2UNCj4gICAgICA+IGhpdCk7IGlmIGl0IHdlcmUgcG9zc2libGUgZm9yIGEgSklUIHRvIG9wdGlt aXplIHNvbWUgb2YgdGhvc2UNCj4gICAgIGF3YXksIGl0IG1pZ2h0DQo+ICAgICAgPiBtYWtlIHRo ZSBjb3N0IGFjY2VwdGFibGUuwqAgSG93ZXZlciwgaWYgYSBKSVQgb25seSB3b3JrcyBvbiBzb21l DQo+ICAgICBzeXN0ZW1zIHRoYXQNCj4gICAgICA+IG1pZ2h0IHdpZGVuIHRoZSBnYXAgYmV0d2Vl biBoYXZlLSBhbmQgaGF2ZS1ub3QgcGxhdGZvcm1zLg0KPiANCj4gICAgIEkgdGhpbmssIEpJVCBv bmx5IGFwcHJvYWNoIGRvZXNuJ3QgbWFrZSBhIGxvdCBvZiBzZW5zZSBmb3IgUEhQLCB3aXRoDQo+ ICAgICBvbmUNCj4gICAgIG9mIHRoZSBtb3N0IGZhc3QgVk0uIEFuZCB0aGlzIGlzIGEgdHJlbmQu IEV2ZW4gVjgsIHN0YXJ0aW5nIGZyb20gSklUDQo+ICAgICBvbmx5LCBzd2l0Y2hlZCBiYWNrIHRv IFZNK0pJVC4NCj4gDQo+ICAgICBUaGFua3MuIERtaXRyeS4NCj4gDQo+ICAgICAgPg0KPiAgICAg ID4gSXMgdGhhdCBhIGNvbmNlcm4sIG9yIGFtIEkgbWFraW5nIHRoaW5ncyB1cD/CoCBPciwgaXMg aXQgYSBjb25jZXJuDQo+ICAgICBidXQgd2UncmUNCj4gICAgICA+IGxlZ2l0IE9LIHdpdGggdGhh dCBoYXBwZW5pbmcgKHdoaWNoIGlzIGFsc28gYW4gZW50aXJlbHkgdmFsaWQNCj4gICAgIGRlY2lz aW9uIHRvDQo+ICAgICAgPiBtYWtlKT8NCj4gICAgICA+DQo+ICAgICAgPiAtLUxhcnJ5IEdhcmZp ZWxkDQo+ICAgICAgPg0KPiANCj4gICAgIC0tIA0KPiAgICAgUEhQIEludGVybmFscyAtIFBIUCBS dW50aW1lIERldmVsb3BtZW50IE1haWxpbmcgTGlzdA0KPiAgICAgVG8gdW5zdWJzY3JpYmUsIHZp c2l0OiBodHRwOi8vd3d3LnBocC5uZXQvdW5zdWIucGhwDQo+IA0K