From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52822) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cBJ6D-0003sd-PB for qemu-devel@nongnu.org; Mon, 28 Nov 2016 05:23:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cBJ68-0007T6-N4 for qemu-devel@nongnu.org; Mon, 28 Nov 2016 05:23:49 -0500 Received: from mail1.bemta8.messagelabs.com ([216.82.243.203]:13913) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cBJ68-0007Su-J9 for qemu-devel@nongnu.org; Mon, 28 Nov 2016 05:23:44 -0500 From: Ketan Nilangekar Date: Mon, 28 Nov 2016 10:23:41 +0000 Message-ID: <995D8EE5-E13C-45C1-A08C-887772D0DEA6@veritas.com> References: <20161118133611.GC5371@redhat.com> <40265568-6388-e302-0bbf-a08a6746a686@redhat.com> <5DCF5E88-0BC6-443B-B557-9A72D32A4D49@veritas.com> <20161124111135.GC9117@stefanha-x1.localdomain> <20161124160856.GB13535@stefanha-x1.localdomain> <3B08C602-0033-4FCD-AE83-F0962322A7F7@veritas.com> <20161125113508.GC4939@stefanha-x1.localdomain> In-Reply-To: <20161125113508.GC4939@stefanha-x1.localdomain> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <7E9B28510265BB4B8031756179A5398E@veritas.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v7 RFC] block/vxhs: Initial commit to add Veritas HyperScale VxHS block device support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Paolo Bonzini , ashish mittal , "Daniel P. Berrange" , Jeff Cody , qemu-devel , Kevin Wolf , Markus Armbruster , Fam Zheng , Ashish Mittal , Abhijit Dey , Buddhi Madhav , "Venkatesha M.G." , Nitin Jerath , Gaurav Bhandarkar , Abhishek Kane , Ketan Mahajan , Niranjan Pendharkar , Nirendra Awasthi DQoNCk9uIDExLzI1LzE2LCA1OjA1IFBNLCAiU3RlZmFuIEhham5vY3ppIiA8c3RlZmFuaGFAZ21h aWwuY29tPiB3cm90ZToNCg0KICAgIE9uIEZyaSwgTm92IDI1LCAyMDE2IGF0IDA4OjI3OjI2QU0g KzAwMDAsIEtldGFuIE5pbGFuZ2VrYXIgd3JvdGU6DQogICAgPiBPbiAxMS8yNC8xNiwgOTozOCBQ TSwgIlN0ZWZhbiBIYWpub2N6aSIgPHN0ZWZhbmhhQGdtYWlsLmNvbT4gd3JvdGU6DQogICAgPiAg ICAgT24gVGh1LCBOb3YgMjQsIDIwMTYgYXQgMTE6MzE6MTRBTSArMDAwMCwgS2V0YW4gTmlsYW5n ZWthciB3cm90ZToNCiAgICA+ICAgICA+IE9uIDExLzI0LzE2LCA0OjQxIFBNLCAiU3RlZmFuIEhh am5vY3ppIiA8c3RlZmFuaGFAZ21haWwuY29tPiB3cm90ZToNCiAgICA+ICAgICA+ICAgICBPbiBU aHUsIE5vdiAyNCwgMjAxNiBhdCAwNTo0NDozN0FNICswMDAwLCBLZXRhbiBOaWxhbmdla2FyIHdy b3RlOg0KICAgID4gICAgID4gICAgID4gT24gMTEvMjQvMTYsIDQ6MDcgQU0sICJQYW9sbyBCb256 aW5pIiA8cGJvbnppbmlAcmVkaGF0LmNvbT4gd3JvdGU6DQogICAgPiAgICAgPiAgICAgPiA+T24g MjMvMTEvMjAxNiAyMzowOSwgYXNoaXNoIG1pdHRhbCB3cm90ZToNCiAgICA+ICAgICA+ICAgICA+ ID4+IE9uIHRoZSB0b3BpYyBvZiBwcm90b2NvbCBzZWN1cml0eSAtDQogICAgPiAgICAgPiAgICAg PiA+PiANCiAgICA+ICAgICA+ICAgICA+ID4+IFdvdWxkIGl0IGJlIGVub3VnaCBmb3IgdGhlIGZp cnN0IHBhdGNoIHRvIGltcGxlbWVudCBvbmx5DQogICAgPiAgICAgPiAgICAgPiA+PiBhdXRoZW50 aWNhdGlvbiBhbmQgbm90IGVuY3J5cHRpb24/DQogICAgPiAgICAgPiAgICAgPiA+DQogICAgPiAg ICAgPiAgICAgPiA+WWVzLCBvZiBjb3Vyc2UuICBIb3dldmVyLCBhcyB3ZSBpbnRyb2R1Y2UgbW9y ZSBhbmQgbW9yZSBRRU1VLXNwZWNpZmljDQogICAgPiAgICAgPiAgICAgPiA+Y2hhcmFjdGVyaXN0 aWNzIHRvIGEgcHJvdG9jb2wgdGhhdCBpcyBhbHJlYWR5IFFFTVUtc3BlY2lmaWMgKGl0IGRvZXNu J3QNCiAgICA+ICAgICA+ICAgICA+ID5kbyBmYWlsb3ZlciwgZXRjLiksIEkgYW0gc3RpbGwgbm90 IHN1cmUgb2YgdGhlIGFjdHVhbCBiZW5lZml0IG9mIHVzaW5nDQogICAgPiAgICAgPiAgICAgPiA+ bGlicW5pbyB2ZXJzdXMgaGF2aW5nIGFuIE5CRCBzZXJ2ZXIgb3IgRlVTRSBkcml2ZXIuDQogICAg PiAgICAgPiAgICAgPiA+DQogICAgPiAgICAgPiAgICAgPiA+WW91IGhhdmUgYWxyZWFkeSBtZW50 aW9uZWQgcGVyZm9ybWFuY2UsIGJ1dCB0aGUgZGVzaWduIGhhcyBjaGFuZ2VkIHNvDQogICAgPiAg ICAgPiAgICAgPiA+bXVjaCB0aGF0IEkgdGhpbmsgb25lIG9mIHRoZSB0d28gdGhpbmdzIGhhcyB0 byBjaGFuZ2U6IGVpdGhlciBmYWlsb3Zlcg0KICAgID4gICAgID4gICAgID4gPm1vdmVzIGJhY2sg dG8gUUVNVSBhbmQgdGhlcmUgaXMgbm8gKGNsb3NlZCBzb3VyY2UpIHRyYW5zbGF0b3IgcnVubmlu ZyBvbg0KICAgID4gICAgID4gICAgID4gPnRoZSBub2RlLCBvciB0aGUgdHJhbnNsYXRvciBuZWVk cyB0byBzcGVhayBhIHdlbGwta25vd24gYW5kDQogICAgPiAgICAgPiAgICAgPiA+YWxyZWFkeS1z dXBwb3J0ZWQgcHJvdG9jb2wuDQogICAgPiAgICAgPiAgICAgPiANCiAgICA+ICAgICA+ICAgICA+ IElNTyBkZXNpZ24gaGFzIG5vdCBjaGFuZ2VkLiBJbXBsZW1lbnRhdGlvbiBoYXMgY2hhbmdlZCBz aWduaWZpY2FudGx5LiBJIHdvdWxkIHByb3Bvc2UgdGhhdCB3ZSBrZWVwIHJlc2lsaWVuY3kvZmFp bG92ZXIgY29kZSBvdXQgb2YgUUVNVSBkcml2ZXIgYW5kIGltcGxlbWVudCBpdCBlbnRpcmVseSBp biBsaWJxbmlvIGFzIHBsYW5uZWQgaW4gYSBzdWJzZXF1ZW50IHJldmlzaW9uLiBUaGUgVnhIUyBz ZXJ2ZXIgZG9lcyBub3QgbmVlZCB0byB1bmRlcnN0YW5kL2hhbmRsZSBmYWlsb3ZlciBhdCBhbGwu IA0KICAgID4gICAgID4gICAgID4gDQogICAgPiAgICAgPiAgICAgPiBUb2RheSBsaWJxbmlvIGdp dmVzIHVzIHNpZ25pZmljYW50bHkgYmV0dGVyIHBlcmZvcm1hbmNlIHRoYW4gYW55IE5CRC9GVVNF IGltcGxlbWVudGF0aW9uLiBXZSBrbm93IGJlY2F1c2Ugd2UgaGF2ZSBwcm90b3R5cGVkIHdpdGgg Ym90aC4gU2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzIHRvIGxpYnFuaW8gYXJlIGFsc28gaW4gdGhl IHBpcGVsaW5lIHdoaWNoIHdpbGwgdXNlIGNyb3NzIG1lbW9yeSBhdHRhY2ggY2FsbHMgdG8gZnVy dGhlciBib29zdCBwZXJmb3JtYW5jZS4gT2Zjb3Vyc2UgYSBiaWcgcmVhc29uIGZvciB0aGUgcGVy Zm9ybWFuY2UgaXMgYWxzbyB0aGUgSHlwZXJTY2FsZSBzdG9yYWdlIGJhY2tlbmQgYnV0IHdlIGJl bGlldmUgdGhpcyBtZXRob2Qgb2YgSU8gdGFwcGluZy9yZWRpcmVjdGluZyBjYW4gYmUgbGV2ZXJh Z2VkIGJ5IG90aGVyIHNvbHV0aW9ucyBhcyB3ZWxsLg0KICAgID4gICAgID4gICAgIA0KICAgID4g ICAgID4gICAgIEJ5ICJjcm9zcyBtZW1vcnkgYXR0YWNoIiBkbyB5b3UgbWVhbg0KICAgID4gICAg ID4gICAgIHByb2Nlc3Nfdm1fcmVhZHYoMikvcHJvY2Vzc192bV93cml0ZXYoMik/DQogICAgPiAg ICAgPiAgIA0KICAgID4gICAgID4gS2V0YW4+IFllcy4NCiAgICA+ICAgICA+ICAgDQogICAgPiAg ICAgPiAgICAgVGhhdCBwdXRzIHVzIGJhY2sgdG8gc3F1YXJlIG9uZSBpbiB0ZXJtcyBvZiBzZWN1 cml0eS4gIFlvdSBoYXZlDQogICAgPiAgICAgPiAgICAgKHVudHJ1c3RlZCkgUUVNVSArICh1bnRy dXN0ZWQpIGxpYnFuaW8gZGlyZWN0bHkgYWNjZXNzaW5nIHRoZSBtZW1vcnkgb2YNCiAgICA+ICAg ICA+ICAgICBhbm90aGVyIHByb2Nlc3Mgb24gdGhlIHNhbWUgbWFjaGluZS4gIFRoYXQgcHJvY2Vz cyBpcyB0aGVyZWZvcmUgYWxzbw0KICAgID4gICAgID4gICAgIHVudHJ1c3RlZCBhbmQgbWF5IG9u bHkgcHJvY2VzcyBkYXRhIGZvciBvbmUgZ3Vlc3Qgc28gdGhhdCBndWVzdHMgc3RheQ0KICAgID4g ICAgID4gICAgIGlzb2xhdGVkIGZyb20gZWFjaCBvdGhlci4NCiAgICA+ICAgICA+ICAgICANCiAg ICA+ICAgICA+IEtldGFuPiBVbmRlcnN0b29kIGJ1dCB0aGlzIHdpbGwgYmUgbm8gd29yc2UgdGhh biB0aGUgY3VycmVudCBuZXR3b3JrIGJhc2VkIGNvbW11bmljYXRpb24gYmV0d2VlbiBxbmlvIGFu ZCB2eGhzIHNlcnZlci4gQW5kIGFsdGhvdWdoIHdlIGhhdmUgcXVlc3Rpb25zIGFyb3VuZCBRRU1V IHRydXN0L3Z1bG5lcmFiaWxpdHkgaXNzdWVzLCB3ZSBhcmUgbG9va2luZyB0byBpbXBsZW1lbnQg YmFzaWMgYXV0aGVudGljYXRpb24gc2NoZW1lIGJldHdlZW4gbGlicW5pbyBhbmQgdnhocyBzZXJ2 ZXIuDQogICAgPiAgICAgDQogICAgPiAgICAgVGhpcyBpcyBpbmNvcnJlY3QuDQogICAgPiAgICAg DQogICAgPiAgICAgQ3Jvc3MgbWVtb3J5IGF0dGFjaCBpcyBlcXVpdmFsZW50IHRvIHB0cmFjZSgy KSAoaS5lLiBkZWJ1Z2dlcikgYWNjZXNzLg0KICAgID4gICAgIEl0IG1lYW5zIHByb2Nlc3MgQSBy ZWFkcy93cml0ZXMgZGlyZWN0bHkgZnJvbS90byBwcm9jZXNzIEIgbWVtb3J5LiAgQm90aA0KICAg ID4gICAgIHByb2Nlc3NlcyBtdXN0IGhhdmUgdGhlIHNhbWUgdWlkL2dpZC4gIFRoZXJlIGlzIG5v IHRydXN0IGJvdW5kYXJ5DQogICAgPiAgICAgYmV0d2VlbiB0aGVtLg0KICAgID4gICAgIA0KICAg ID4gS2V0YW4+IE5vdCBpZiB2eGhzIHNlcnZlciBpcyBydW5uaW5nIGFzIHJvb3QgYW5kIGluaXRp YXRpbmcgdGhlIGNyb3NzIG1lbSBhdHRhY2guIFdoaWNoIGlzIGFsc28gd2h5IHdlIGFyZSBwcm9w b3NpbmcgYSBiYXNpYyBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gYmV0d2VlbiBxZW11LXZ4aHMu IEJ1dCBhbnl3YXkgdGhlIGNyb3NzIG1lbW9yeSBhdHRhY2ggaXMgZm9yIGEgbmVhciBmdXR1cmUg aW1wbGVtZW50YXRpb24uIA0KICAgID4gDQogICAgPiAgICAgTmV0d29yayBjb21tdW5pY2F0aW9u IGRvZXMgbm90IHJlcXVpcmUgYm90aCBwcm9jZXNzZXMgdG8gaGF2ZSB0aGUgc2FtZQ0KICAgID4g ICAgIHVpZC9naWQuICBJZiB5b3Ugd2FudCBtdWx0aXBsZSBRRU1VIHByb2Nlc3NlcyB0YWxraW5n IHRvIGEgc2luZ2xlIHNlcnZlcg0KICAgID4gICAgIHRoZXJlIG11c3QgYmUgYSB0cnVzdCBib3Vu ZGFyeSBiZXR3ZWVuIGNsaWVudCBhbmQgc2VydmVyLiAgVGhlIHNlcnZlcg0KICAgID4gICAgIGNh biB2YWxpZGF0ZSB0aGUgaW5wdXQgZnJvbSB0aGUgY2xpZW50IGFuZCByZWplY3QgdW5kZXNpcmVk IG9wZXJhdGlvbnMuDQogICAgPiANCiAgICA+IEtldGFuPiBUaGlzIGlzIHdoYXQgd2UgYXJlIHRy eWluZyB0byBwcm9wb3NlLiBXaXRoIHRoZSBhZGRpdGlvbiBvZiBhdXRoZW50aWNhdGlvbiBiZXR3 ZWVuIHFlbXUtdnhocyBzZXJ2ZXIsIHdlIHNob3VsZCBiZSBhYmxlIHRvIGFjaGlldmUgdGhpcy4g UXVlc3Rpb24gaXMsIHdvdWxkIHRoYXQgYmUgYWNjZXB0YWJsZT8NCiAgICA+ICAgICANCiAgICA+ ICAgICBIb3BlIHRoaXMgbWFrZXMgc2Vuc2Ugbm93Lg0KICAgID4gICAgIA0KICAgID4gICAgIFR3 byBhcmNoaXRlY3R1cmVzIHRoYXQgaW1wbGVtZW50IHRoZSBRRU1VIHRydXN0IG1vZGVsIGNvcnJl Y3RseSBhcmU6DQogICAgPiAgICAgDQogICAgPiAgICAgMS4gQ3Jvc3MgbWVtb3J5IGF0dGFjaDog ZWFjaCBRRU1VIHByb2Nlc3MgaGFzIGEgZGVkaWNhdGVkIHZ4aHMgc2VydmVyDQogICAgPiAgICAg ICAgcHJvY2VzcyB0byBwcmV2ZW50IGd1ZXN0cyBmcm9tIGF0dGFja2luZyBlYWNoIG90aGVyLiAg VGhpcyBpcyB3aGVyZSBJDQogICAgPiAgICAgICAgc2FpZCB5b3UgbWlnaHQgYXMgd2VsbCBwdXQg dGhlIGNvZGUgaW5zaWRlIFFFTVUgc2luY2UgdGhlcmUgaXMgbm8NCiAgICA+ICAgICAgICBpc29s YXRpb24gYW55d2F5LiAgRnJvbSB3aGF0IHlvdSd2ZSBzYWlkIGl0IHNvdW5kcyBsaWtlIHRoZSB2 eGhzDQogICAgPiAgICAgICAgc2VydmVyIG5lZWRzIGEgaG9zdC13aWRlIHZpZXcgYW5kIGlzIHJl c3BvbnNpYmxlIGZvciBhbGwgZ3Vlc3RzDQogICAgPiAgICAgICAgcnVubmluZyBvbiB0aGUgaG9z dCwgc28gSSBndWVzcyB3ZSBoYXZlIHRvIHJ1bGUgb3V0IHRoaXMNCiAgICA+ICAgICAgICBhcmNo aXRlY3R1cmUuDQogICAgPiAgICAgDQogICAgPiAgICAgMi4gTmV0d29yayBjb21tdW5pY2F0aW9u OiBvbmUgdnhocyBzZXJ2ZXIgcHJvY2VzcyBhbmQgbXVsdGlwbGUgZ3Vlc3RzLg0KICAgID4gICAg ICAgIEhlcmUgeW91IG1pZ2h0IGFzIHdlbGwgdXNlIE5CRCBvciBpU0NTSSBiZWNhdXNlIGl0IGFs cmVhZHkgZXhpc3RzIGFuZA0KICAgID4gICAgICAgIHRoZSB2eGhzIGRyaXZlciBkb2Vzbid0IGFk ZCBhbnkgdW5pcXVlIGZ1bmN0aW9uYWxpdHkgb3ZlciBleGlzdGluZw0KICAgID4gICAgICAgIHBy b3RvY29scy4NCiAgICA+IA0KICAgID4gS2V0YW4+IE5CRCBkb2VzIG5vdCBnaXZlIHVzIHRoZSBw ZXJmb3JtYW5jZSB3ZSBhcmUgdHJ5aW5nIHRvIGFjaGlldmUuIEJlc2lkZXMgTkJEIGRvZXMgbm90 IGhhdmUgYW55IGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQuDQogICAgDQogICAgTkJEIG92ZXIgVENQ IHN1cHBvcnRzIFRMUyB3aXRoIFguNTA5IGNlcnRpZmljYXRlIGF1dGhlbnRpY2F0aW9uLiAgSQ0K ICAgIHRoaW5rIERhbmllbCBCZXJyYW5nZSBtZW50aW9uZWQgdGhhdC4NCg0KS2V0YW4+IEkgc2F3 IHRoZSBwYXRjaCB0byBuYmQgdGhhdCB3YXMgbWVyZ2VkIGluIDIwMTUuIEJlZm9yZSB0aGF0IE5C RCBkaWQgbm90IGhhdmUgYW55IGF1dGggYXMgRGFuaWVsIEJlcnJhbmdlIG1lbnRpb25lZC4gDQog ICAgDQogICAgTkJEIG92ZXIgQUZfVU5JWCBkb2VzIG5vdCBuZWVkIGF1dGhlbnRpY2F0aW9uIGJl Y2F1c2UgaXQgcmVsaWVzIG9uIGZpbGUNCiAgICBwZXJtaXNzaW9ucyBmb3IgYWNjZXNzIGNvbnRy b2wuICBFYWNoIGd1ZXN0IHNob3VsZCBoYXZlIGl0cyBvd24gVU5JWA0KICAgIGRvbWFpbiBzb2Nr ZXQgdGhhdCBpdCBjb25uZWN0cyB0by4gIFRoYXQgc29ja2V0IGNhbiBvbmx5IHNlZSBleHBvcnRz DQogICAgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgdG8gdGhlIGd1ZXN0Lg0KICAgIA0KICAgID4g VGhlcmUgaXMgYSBoeWJyaWQgMi5hIGFwcHJvYWNoIHdoaWNoIHVzZXMgYm90aCAxICYgMiBidXQg SeKAmWQga2VlcCB0aGF0IGZvciBhIGxhdGVyIGRpc2N1c3Npb24uDQogICAgDQogICAgUGxlYXNl IGRpc2N1c3MgaXQgbm93IHNvIGV2ZXJ5b25lIGdldHMgb24gdGhlIHNhbWUgcGFnZS4gIEkgdGhp bmsgdGhlcmUNCiAgICBpcyBhIGJpZyBnYXAgYW5kIHdlIG5lZWQgdG8gY29tbXVuaWNhdGUgc28g dGhhdCBwcm9ncmVzcyBjYW4gYmUgbWFkZS4NCg0KS2V0YW4+IFRoZSBhcHByb2FjaCB3YXMgdG8g dXNlIGNyb3NzIG1lbSBhdHRhY2ggZm9yIElPIHBhdGggYW5kIGEgc2ltcGxpZmllZCBuZXR3b3Jr IElPIGxpYiBmb3IgcmVzaWxpZW5jeS9mYWlsb3Zlci4gRGlkIG5vdCB3YW50IHRvIGRlcmFpbCB0 aGUgY3VycmVudCBkaXNjdXNzaW9uIGhlbmNlIHRoZSBzdWdnZXN0aW9uIHRvIHRha2UgaXQgdXAg bGF0ZXIuDQoNCiAgICANCiAgICA+ICAgICA+ICAgICBUaGVyZSdzIGFuIGVhc2llciB3YXkgdG8g Z2V0IGV2ZW4gYmV0dGVyIHBlcmZvcm1hbmNlOiBnZXQgcmlkIG9mIGxpYnFuaW8NCiAgICA+ICAg ICA+ICAgICBhbmQgdGhlIGV4dGVybmFsIHByb2Nlc3MuICBNb3ZlIHRoZSBjb2RlIGZyb20gdGhl IGV4dGVybmFsIHByb2Nlc3MgaW50bw0KICAgID4gICAgID4gICAgIFFFTVUgdG8gZWxpbWluYXRl IHRoZSBwcm9jZXNzX3ZtX3JlYWR2KDIpL3Byb2Nlc3Nfdm1fd3JpdGV2KDIpIGFuZA0KICAgID4g ICAgID4gICAgIGNvbnRleHQgc3dpdGNoaW5nLg0KICAgID4gICAgID4gICAgIA0KICAgID4gICAg ID4gICAgIENhbiB5b3UgcmVtaW5kIG1lIHdoeSB0aGVyZSBuZWVkcyB0byBiZSBhbiBleHRlcm5h bCBwcm9jZXNzPw0KICAgID4gICAgID4gIA0KICAgID4gICAgID4gS2V0YW4+ICBBcGFydCBmcm9t IHZpcnR1YWxpemluZyB0aGUgYXZhaWxhYmxlIGRpcmVjdCBhdHRhY2hlZCBzdG9yYWdlIG9uIHRo ZSBjb21wdXRlLCB2eGhzIHN0b3JhZ2UgYmFja2VuZCAodGhlIGV4dGVybmFsIHByb2Nlc3MpIHBy b3ZpZGVzIGZlYXR1cmVzIHN1Y2ggYXMgc3RvcmFnZSBRb1MsIHJlc2lsaWVuY3ksIGVmZmljaWVu dCB1c2Ugb2YgZGlyZWN0IGF0dGFjaGVkIHN0b3JhZ2UsIGF1dG9tYXRpYyBzdG9yYWdlIHJlY292 ZXJ5IHBvaW50cyAoc25hcHNob3RzKSBldGMuIEltcGxlbWVudGluZyB0aGlzIGluIFFFTVUgaXMg bm90IHByYWN0aWNhbCBhbmQgbm90IHRoZSBwdXJwb3NlIG9mIHByb3Bvc2luZyB0aGlzIGRyaXZl ci4NCiAgICA+ICAgICANCiAgICA+ICAgICBUaGlzIHNvdW5kcyBzaW1pbGFyIHRvIHdoYXQgUUVN VSBhbmQgTGludXggKGZpbGUgc3lzdGVtcywgTFZNLCBSQUlELA0KICAgID4gICAgIGV0YykgYWxy ZWFkeSBkby4gIEl0IGJyaW5ncyB0byBtaW5kIGEgdGhpcmQgYXJjaGl0ZWN0dXJlOg0KICAgID4g ICAgIA0KICAgID4gICAgIDMuIEEgTGludXggZHJpdmVyIG9yIGZpbGUgc3lzdGVtLiAgVGhlbiBR RU1VIG9wZW5zIGEgcmF3IGJsb2NrIGRldmljZS4NCiAgICA+ICAgICAgICBUaGlzIGlzIHdoYXQg dGhlIENlcGggcmJkIGJsb2NrIGRyaXZlciBpbiBMaW51eCBkb2VzLiAgVGhpcw0KICAgID4gICAg ICAgIGFyY2hpdGVjdHVyZSBoYXMgYSBrZXJuZWwtdXNlcnNwYWNlIGJvdW5kYXJ5IHNvIHZ4aHMg ZG9lcyBub3QgaGF2ZSB0bw0KICAgID4gICAgICAgIHRydXN0IFFFTVUuDQogICAgPiAgICAgDQog ICAgPiAgICAgSSBzdWdnZXN0IEFyY2hpdGVjdHVyZSAjMi4gIFlvdSdsbCBiZSBhYmxlIHRvIGRl cGxveSBvbiBleGlzdGluZyBzeXN0ZW1zDQogICAgPiAgICAgYmVjYXVzZSBRRU1VIGFscmVhZHkg c3VwcG9ydHMgTkJEIG9yIGlTQ1NJLiAgVXNlIHRoZSB0aW1lIHlvdSBnYWluIGZyb20NCiAgICA+ ICAgICBzd2l0Y2hpbmcgdG8gdGhpcyBhcmNoaXRlY3R1cmUgb24gYmVuY2htYXJraW5nIGFuZCBv cHRpbWl6aW5nIE5CRCBvcg0KICAgID4gICAgIGlTQ1NJIHNvIHBlcmZvcm1hbmNlIGlzIGNsb3Nl ciB0byB5b3VyIGdvYWwuDQogICAgPiAgICAgDQogICAgPiBLZXRhbj4gV2UgaGF2ZSBtYWRlIGEg Y2hvaWNlIHRvIGdvIHdpdGggUUVNVSBkcml2ZXIgYXBwcm9hY2ggYWZ0ZXIgc2VyaW91cyBldmFs dWF0aW9uIG9mIG1vc3QgaWYgbm90IGFsbCBzdGFuZGFyZCBJTyB0YXBwaW5nIG1lY2hhbmlzbXMg aW5jbHVkaW5nIE5GUywgTkJEIGFuZCBGVVNFLiBOb25lIG9mIHRoZXNlIGhhcyBiZWVuIGFibGUg dG8gZGVsaXZlciB0aGUgcGVyZm9ybWFuY2UgdGhhdCB3ZSBoYXZlIHNldCBvdXJzZWx2ZXMgdG8g YWNoaWV2ZS4gSGVuY2UgdGhlIGVmZm9ydCB0byBwcm9wb3NlIHRoaXMgbmV3IElPIHRhcCB3aGlj aCB3ZSBiZWxpZXZlIHdpbGwgcHJvdmlkZSBhbiBhbHRlcm5hdGUgdG8gdGhlIGV4aXN0aW5nIG1l Y2hhbmlzbXMgYW5kIGhvcGVmdWxseSBiZW5lZml0IHRoZSBjb21tdW5pdHkuDQogICAgDQogICAg SSB0aG91Z2h0IHRoZSBWeEhTIGJsb2NrIGRyaXZlciB3YXMgYW5vdGhlciBuZXR3b3JrIGJsb2Nr IGRyaXZlciBsaWtlDQogICAgR2x1c3RlckZTIG9yIFNoZWVwZG9nIGJ1dCB5b3UgYXJlIGFjdHVh bGx5IHByb3Bvc2luZyBhIG5ldyBsb2NhbCBJL08gdGFwDQogICAgd2l0aCB0aGUgZ29hbCBvZiBi ZXR0ZXIgcGVyZm9ybWFuY2UuDQoNCktldGFuPiBUaGUgVnhIUyBibG9jayBkcml2ZXIgaXMgYSBu ZXcgbG9jYWwgSU8gdGFwIHdpdGggdGhlIGdvYWwgb2YgYmV0dGVyIHBlcmZvcm1hbmNlIHNwZWNp ZmljYWxseSB3aGVuIHVzZWQgd2l0aCB0aGUgVnhIUyBzZXJ2ZXIuIFRoaXMgY291cGxlZCB3aXRo IHNoYXJlZCBtZW0gSVBDIChsaWtlIGNyb3NzIG1lbSBhdHRhY2gpIGNvdWxkIGJlIGEgbXVjaCBi ZXR0ZXIgSU8gdGFwIG9wdGlvbiBmb3IgcWVtdSB1c2Vycy4gVGhpcyB3aWxsIGFsc28gYXZvaWQg Y29udGV4dCBzd2l0Y2ggYmV0d2VlbiBxZW11L25ldHdvcmsgc3RhY2sgdG8gc2VydmljZSB3aGlj aCBoYXBwZW5zIHRvZGF5IGluIE5CRC4NCg0KICAgIA0KICAgIFBsZWFzZSBzaGFyZSBmaW8oMSkg b3Igb3RoZXIgc3RhbmRhcmQgYmVuY2htYXJrIGNvbmZpZ3VyYXRpb24gZmlsZXMgYW5kDQogICAg cGVyZm9ybWFuY2UgcmVzdWx0cy4NCg0KS2V0YW4+IFdlIGhhdmUgZmlvIHJlc3VsdHMgd2l0aCB0 aGUgVnhIUyBzdG9yYWdlIGJhY2tlbmQgd2hpY2ggSSBhbSBub3Qgc3VyZSBJIGNhbiBzaGFyZSBp biBhIHB1YmxpYyBmb3J1bS4gDQogICAgDQogICAgTkJEIGFuZCBsaWJxbmlvIHdpcmUgcHJvdG9j b2xzIGhhdmUgY29tcGFyYWJsZSBwZXJmb3JtYW5jZQ0KICAgIGNoYXJhY3RlcmlzdGljcy4gIFRo ZXJlIGlzIG5vIG1hZ2ljIHRoYXQgc2hvdWxkIGdpdmUgZWl0aGVyIG9uZSBhDQogICAgZnVuZGFt ZW50YWwgZWRnZSBvdmVyIHRoZSBvdGhlci4gIEFtIEkgbWlzc2luZyBzb21ldGhpbmc/DQoNCktl dGFuPiBJIGhhdmUgbm90IHNlZW4gdGhlIE5CRCBjb2RlIGJ1dCBmZXcgdGhpbmdzIHdoaWNoIHdl IGNvbnNpZGVyZWQgYW5kIGFyZSBwYXJ0IG9mIGxpYnFuaW8gKHRob3VnaCBub3QgZXhjbHVzaXZl bHkpIGFyZSBsb3cgcHJvdG9jb2wgb3ZlcmhlYWQsIHRocmVhZGluZyBtb2RlbCwgcXVldWVpbmcs IGxhdGVuY2llcywgbWVtb3J5IHBvb2xzLCB6ZXJvIGRhdGEgY29waWVzIGluIHVzZXItbGFuZCwg c2NhdHRlci1nYXRoZXIgd3JpdGUvcmVhZCBldGMuIEFnYWluIHRoZXNlIGFyZSBub3QgZXhjbHVz aXZlIHRvIGxpYnFuaW8gYnV0IGNvdWxkIGdpdmUgb25lIHByb3RvY29sIHRoZSBlZGdlIG92ZXIg dGhlIG90aGVyLiBBbHNvIHBhcnQgb2YgdGhlIOKAnG1hZ2lj4oCdIGlzIGFsc28gaW4gdGhlIFZ4 SFMgc3RvcmFnZSBiYWNrZW5kIHdoaWNoIGlzIGFibGUgdG8gaW5nZXN0IHRoZSBJT3Mgd2l0aCBs b3dlciBsYXRlbmNpZXMuDQogICAgDQogICAgVGhlIG1haW4gcGVyZm9ybWFuY2UgZGlmZmVyZW5j ZSBpcyBwcm9iYWJseSB0aGF0IGxpYnFuaW8gb3BlbnMgOA0KICAgIHNpbXVsdGFuZW91cyBjb25u ZWN0aW9ucyBidXQgdGhhdCdzIG5vdCB1bmlxdWUgdG8gdGhlIHdpcmUgcHJvdG9jb2wuDQogICAg V2hhdCBoYXBwZW5zIHdoZW4geW91IHJ1biA4IE5CRCBzaW11bHRhbmVvdXMgVENQIGNvbm5lY3Rp b25zPw0KDQpLZXRhbj4gUG9zc2libHkuIFdlIGhhdmUgbm90IGJlbmNobWFya2VkIHRoaXMuDQoN CiAgICBTdGVmYW4NCiAgICANCg0K