Return-Path: Received: from us-smtp-delivery-194.mimecast.com ([216.205.24.194]:26489 "EHLO us-smtp-delivery-194.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932380AbcHCUeA (ORCPT ); Wed, 3 Aug 2016 16:34:00 -0400 From: Trond Myklebust To: Adamson William Andros CC: Fields Bruce James , Kornievskaia Olga , Lever Chuck , "List Linux NFS Mailing" Subject: Re: Problem re-establishing GSS contexts after a server reboot Date: Wed, 3 Aug 2016 20:33:50 +0000 Message-ID: References: <42FD3D54-79F9-485A-A2B4-FBFA65C2FC16@oracle.com> <9E866C53-DD4B-419E-ABF0-64B04609C066@oracle.com> <20160802180642.GA15324@fieldses.org> <20160803200619.GB5901@fieldses.org> <54E16DA6-1DEE-41FB-B15A-904C93B3AC5E@netapp.com> In-Reply-To: <54E16DA6-1DEE-41FB-B15A-904C93B3AC5E@netapp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-nfs-owner@vger.kernel.org List-ID: DQo+IE9uIEF1ZyAzLCAyMDE2LCBhdCAxNjoxOCwgQWRhbXNvbiwgQW5keSA8V2lsbGlhbS5BZGFt c29uQG5ldGFwcC5jb20+IHdyb3RlOg0KPiANCj4gDQo+PiBPbiBBdWcgMywgMjAxNiwgYXQgNDow NiBQTSwgSi4gQnJ1Y2UgRmllbGRzIDxiZmllbGRzQGZpZWxkc2VzLm9yZz4gd3JvdGU6DQo+PiAN Cj4+IE9uIFdlZCwgQXVnIDAzLCAyMDE2IGF0IDAzOjU2OjMxUE0gLTA0MDAsIE9sZ2EgS29ybmll dnNrYWlhIHdyb3RlOg0KPj4+IE9uIFdlZCwgQXVnIDMsIDIwMTYgYXQgMjo1MyBQTSwgQWRhbXNv biwgQW5keQ0KPj4+IDxXaWxsaWFtLkFkYW1zb25AbmV0YXBwLmNvbT4gd3JvdGU6DQo+Pj4+IA0K Pj4+Pj4gT24gQXVnIDIsIDIwMTYsIGF0IDI6MDYgUE0sIEouIEJydWNlIEZpZWxkcyA8YmZpZWxk c0BmaWVsZHNlcy5vcmc+IHdyb3RlOg0KPj4+Pj4gDQo+Pj4+PiBPbiBGcmksIEp1bCAyOSwgMjAx NiBhdCAxMjozODozNFBNIC0wNDAwLCBDaHVjayBMZXZlciB3cm90ZToNCj4+Pj4+PiANCj4+Pj4+ Pj4gT24gSnVsIDI5LCAyMDE2LCBhdCAxMjoyNyBQTSwgT2xnYSBLb3JuaWV2c2thaWEgPGFnbG9A dW1pY2guZWR1PiB3cm90ZToNCj4+Pj4+Pj4gDQo+Pj4+Pj4+IE9uIE1vbiwgSnVsIDI1LCAyMDE2 IGF0IDI6MTggUE0sIE9sZ2EgS29ybmlldnNrYWlhIDxhZ2xvQHVtaWNoLmVkdT4gd3JvdGU6DQo+ Pj4+Pj4+PiBPbiBUaHUsIEp1bCAyMSwgMjAxNiBhdCA1OjMyIFBNLCBDaHVjayBMZXZlciA8Y2h1 Y2subGV2ZXJAb3JhY2xlLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gDQo+Pj4+ Pj4+Pj4+IE9uIEp1bCAyMSwgMjAxNiwgYXQgMTA6NDYgUE0sIE9sZ2EgS29ybmlldnNrYWlhIDxh Z2xvQHVtaWNoLmVkdT4gd3JvdGU6DQo+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4gT24gVGh1LCBK dWwgMjEsIDIwMTYgYXQgMzo1NCBQTSwgT2xnYSBLb3JuaWV2c2thaWEgPGFnbG9AdW1pY2guZWR1 PiB3cm90ZToNCj4+Pj4+Pj4+Pj4+PiBPbiBUaHUsIEp1bCAyMSwgMjAxNiBhdCAxOjU2IFBNLCBD aHVjayBMZXZlciA8Y2h1Y2subGV2ZXJAb3JhY2xlLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4g DQo+Pj4+Pj4+Pj4+Pj4+IE9uIEp1bCAyMSwgMjAxNiwgYXQgNjowNCBQTSwgT2xnYSBLb3JuaWV2 c2thaWEgPGFnbG9AdW1pY2guZWR1PiB3cm90ZToNCj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+ Pj4+IE9uIFRodSwgSnVsIDIxLCAyMDE2IGF0IDI6NTUgQU0sIENodWNrIExldmVyIDxjaHVjay5s ZXZlckBvcmFjbGUuY29tPiB3cm90ZToNCj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+ IE9uIEp1bCAyMCwgMjAxNiwgYXQgNjo1NiBQTSwgT2xnYSBLb3JuaWV2c2thaWEgPGFnbG9AdW1p Y2guZWR1PiB3cm90ZToNCj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+PiBPbiBXZWQs IEp1bCAyMCwgMjAxNiBhdCA1OjE0IEFNLCBBZGFtc29uLCBBbmR5DQo+Pj4+Pj4+Pj4+Pj4+Pj4g PFdpbGxpYW0uQWRhbXNvbkBuZXRhcHAuY29tPiB3cm90ZToNCj4+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+ Pj4+Pj4+Pj4+Pj4+Pj4+PiBPbiBKdWwgMTksIDIwMTYsIGF0IDEwOjUxIEFNLCBDaHVjayBMZXZl ciA8Y2h1Y2subGV2ZXJAb3JhY2xlLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+ Pj4+Pj4+Pj4+Pj4+Pj4+IEhpIEFuZHktDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+ Pj4+Pj4+IFRoYW5rcyBmb3IgdGFraW5nIHRoZSB0aW1lIHRvIGRpc2N1c3MgdGhpcyB3aXRoIG1l LiBJJ3ZlDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBjb3BpZWQgbGludXgtbmZzIHRvIG1ha2UgdGhpcyBl LW1haWwgYWxzbyBhbiB1cHN0cmVhbSBidWcNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHJlcG9ydC4NCj4+ Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gQXMgd2Ugc2F3IGluIHRoZSBuZXR3 b3JrIGNhcHR1cmUsIHJlY292ZXJ5IG9mIEdTUyBjb250ZXh0cw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4g YWZ0ZXIgYSBzZXJ2ZXIgcmVib290IGZhaWxzIGluIGNlcnRhaW4gY2FzZXMgd2l0aCBORlN2NC4w DQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBhbmQgTkZTdjQuMSBtb3VudCBwb2ludHMuDQo+Pj4+Pj4+Pj4+ Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IFRoZSByZXByb2R1Y2VyIGlzIGEgc2ltcGxlIHBy b2dyYW0gdGhhdCBnZW5lcmF0ZXMgb25lIE5GUw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gV1JJVEUgcGVy aW9kaWNhbGx5LCBydW4gd2hpbGUgdGhlIHNlcnZlciByZXBlYXRlZGx5IHJlYm9vdHMNCj4+Pj4+ Pj4+Pj4+Pj4+Pj4+IChvciBvbmUgY2x1c3RlciBoZWFkIGZhaWxzIG92ZXIgdG8gdGhlIG90aGVy IGFuZCBiYWNrKS4gVGhlDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBnb2FsIG9mIHRoZSByZXByb2R1Y2Vy IGlzIHRvIGlkZW50aWZ5IHByb2JsZW1zIHdpdGggc3RhdGUNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHJl Y292ZXJ5IHdpdGhvdXQgYSBsb3Qgb2Ygb3RoZXIgSS9PIGdvaW5nIG9uIHRvIGNsdXR0ZXIgdXAN Cj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHRoZSBuZXR3b3JrIGNhcHR1cmUuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+ PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IEluIHRoZSBmYWlsaW5nIGNhc2UsIHNlYz1rcmI1IGlzIHNw ZWNpZmllZCBvbiB0aGUgbW91bnQNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHBvaW50LCBhbmQgdGhlIHJl cHJvZHVjZXIgaXMgcnVuIGFzIHJvb3QuIFdlJ3ZlIGZvdW5kIHRoaXMNCj4+Pj4+Pj4+Pj4+Pj4+ Pj4+IGNvbWJpbmF0aW9uIGZhaWxzIHdpdGggYm90aCBORlN2NC4wIGFuZCBORlN2NC4xLg0KPj4+ Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBBdCBtb3VudCB0aW1lLCB0aGUgY2xp ZW50IGVzdGFibGlzaGVzIGEgR1NTIGNvbnRleHQgZm9yDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBsZWFz ZSBtYW5hZ2VtZW50IG9wZXJhdGlvbnMsIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBjbGllbnQncw0K Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gTkZTIHNlcnZpY2UgcHJpbmNpcGFsIGFuZCB1c2VzIEdTUyBzZXJ2 aWNlICJpbnRlZ3JpdHkuIg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gQ2FsbCB0aGlzIEdTUyBjb250ZXh0 IDEuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IFdoZW4gdGhlIHJlcHJv ZHVjZXIgc3RhcnRzLCBhIHNlY29uZCBHU1MgY29udGV4dCBpcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4g ZXN0YWJsaXNoZWQgZm9yIE5GUyBvcGVyYXRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHVzZXIu DQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBTaW5jZSB0aGUgcmVwcm9kdWNlciBpcyBydW5uaW5nIGFzIHJv b3QsIHRoaXMgY29udGV4dCBpcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gYWxzbyBib3VuZCB0byB0aGUg Y2xpZW50J3MgTkZTIHNlcnZpY2UgcHJpbmNpcGFsLCBidXQgaXQNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+ IHVzZXMgdGhlIEdTUyBzZXJ2aWNlICJub25lIiAocmVmbGVjdGluZyB0aGUgZXhwbGljaXQNCj4+ Pj4+Pj4+Pj4+Pj4+Pj4+IHJlcXVlc3QgZm9yICJzZWM9a3JiNSIpLiBDYWxsIHRoaXMgR1NTIGNv bnRleHQgMi4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gQWZ0ZXIgdGhl IHNlcnZlciByZWJvb3RzLCB0aGUgY2xpZW50IHJlLWVzdGFibGlzaGVzIGEgVENQDQo+Pj4+Pj4+ Pj4+Pj4+Pj4+PiBjb25uZWN0aW9uIHdpdGggdGhlIHNlcnZlciwgYW5kIHBlcmZvcm1zIGEgUkVO RVcNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IG9wZXJhdGlvbiB1c2luZyBjb250ZXh0IDEuIFRoYW5rcyB0 byB0aGUgc2VydmVyIHJlYm9vdCwNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGNvbnRleHRzIDEgYW5kIDIg YXJlIG5vdyBzdGFsZS4gVGhlIHNlcnZlciB0aHVzIHJlamVjdHMNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+ IHRoZSBSUEMgd2l0aCBSUENTRUNfR1NTX0NUWFBST0JMRU0uDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiAN Cj4+Pj4+Pj4+Pj4+Pj4+Pj4+IFRoZSBjbGllbnQgcGVyZm9ybXMgYSBHU1NfSU5JVF9TRUNfQ09O VEVYVCB2aWEgYW4gTkZTdjQNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IE5VTEwgb3BlcmF0aW9uLiBDYWxs IHRoaXMgR1NTIGNvbnRleHQgMy4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+ Pj4gSW50ZXJlc3RpbmdseSwgdGhlIGNsaWVudCBkb2VzIG5vdCByZXNlbmQgdGhlIFJFTkVXDQo+ Pj4+Pj4+Pj4+Pj4+Pj4+PiBvcGVyYXRpb24gYXQgdGhpcyBwb2ludCAoaWYgaXQgZGlkLCB3ZSB3 b3VsZG4ndCBzZWUgdGhpcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gcHJvYmxlbSBhdCBhbGwpLg0KPj4+ Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBUaGUgY2xpZW50IHRoZW4gYXR0ZW1w dHMgdG8gcmVzdW1lIHRoZSByZXByb2R1Y2VyIHdvcmtsb2FkLg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4g SXQgc2VuZHMgYW4gTkZTdjQgV1JJVEUgb3BlcmF0aW9uLCB1c2luZyB0aGUgZmlyc3QgYXZhaWxh YmxlDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBHU1MgY29udGV4dCBpbiBVSUQgMCdzIGNyZWRlbnRpYWwg Y2FjaGUsIHdoaWNoIGlzIGNvbnRleHQgMywNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGFscmVhZHkgYm91 bmQgdG8gdGhlIGNsaWVudCdzIE5GUyBzZXJ2aWNlIHByaW5jaXBhbC4gQnV0IEdTUw0KPj4+Pj4+ Pj4+Pj4+Pj4+Pj4gc2VydmljZSAibm9uZSIgaXMgdXNlZCBmb3IgdGhpcyBvcGVyYXRpb24sIHNp bmNlIGl0IGlzIG9uDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBiZWhhbGYgb2YgdGhlIG1vdW50IHdoZXJl IHNlYz1rcmI1IHdhcyBzcGVjaWZpZWQuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+ Pj4+Pj4+IFRoZSBSUEMgaXMgYWNjZXB0ZWQsIGJ1dCB0aGUgc2VydmVyIHJlcG9ydHMNCj4+Pj4+ Pj4+Pj4+Pj4+Pj4+IE5GUzRFUlJfU1RBTEVfU1RBVEVJRCwgc2luY2UgaXQgaGFzIHJlY2VudGx5 IHJlYm9vdGVkLg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBUaGUgY2xp ZW50IHJlc3BvbmRzIGJ5IGF0dGVtcHRpbmcgc3RhdGUgcmVjb3ZlcnkuIFRoZQ0KPj4+Pj4+Pj4+ Pj4+Pj4+Pj4gZmlyc3Qgb3BlcmF0aW9uIGl0IHRyaWVzIGlzIGFub3RoZXIgUkVORVcuIFNpbmNl IHRoaXMgaXMNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGEgbGVhc2UgbWFuYWdlbWVudCBvcGVyYXRpb24s IHRoZSBjbGllbnQgbG9va3MgaW4gVUlEIDAncw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gY3JlZGVudGlh bCBjYWNoZSBhZ2FpbiBhbmQgZmluZHMgdGhlIHJlY2VudGx5IGVzdGFibGlzaGVkDQo+Pj4+Pj4+ Pj4+Pj4+Pj4+PiBjb250ZXh0IDMuIEl0IHRyaWVzIHRoZSBSRU5FVyBvcGVyYXRpb24gdXNpbmcg R1NTIGNvbnRleHQNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IDMgd2l0aCBHU1Mgc2VydmljZSAiaW50ZWdy aXR5LiINCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gVGhlIHNlcnZlciBy ZWplY3RzIHRoZSBSRU5FVyBSUEMgd2l0aCBBVVRIX0ZBSUxFRCwgYW5kDQo+Pj4+Pj4+Pj4+Pj4+ Pj4+PiB0aGUgY2xpZW50IHJlcG9ydHMgdGhhdCAiY2hlY2sgbGVhc2UgZmFpbGVkIiBhbmQNCj4+ Pj4+Pj4+Pj4+Pj4+Pj4+IHRlcm1pbmF0ZXMgc3RhdGUgcmVjb3ZlcnkuDQo+Pj4+Pj4+Pj4+Pj4+ Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IFRoZSBjbGllbnQgcmUtZHJpdmVzIHRoZSBXUklURSBv cGVyYXRpb24gd2l0aCB0aGUgc3RhbGUNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHN0YXRlaWQgd2l0aCBw cmVkaWN0YWJsZSByZXN1bHRzLiBUaGUgY2xpZW50IGFnYWluIHRyaWVzDQo+Pj4+Pj4+Pj4+Pj4+ Pj4+PiB0byByZWNvdmVyIHN0YXRlIGJ5IHNlbmRpbmcgYSBSRU5FVywgYW5kIHN0aWxsIHVzZXMg dGhlDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBzYW1lIEdTUyBjb250ZXh0IDMgd2l0aCBzZXJ2aWNlICJp bnRlZ3JpdHkiIGFuZCBnZXRzIHRoZQ0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gc2FtZSByZXN1bHQuIEEg KHBlcmhhcHMgc2xvdy1tb3Rpb24pIFNUQUxFX1NUQVRFSUQgbG9vcA0KPj4+Pj4+Pj4+Pj4+Pj4+ Pj4gZW5zdWVzLCBhbmQgdGhlIGNsaWVudCBtb3VudCBwb2ludCBpcyBkZWFkbG9ja2VkLg0KPj4+ Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBZb3VyIGFuYWx5c2lzIHdhcyB0aGF0 IGJlY2F1c2UgdGhlIHJlcHJvZHVjZXIgaXMgcnVuIGFzDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiByb290 LCBib3RoIHRoZSByZXByb2R1Y2VyJ3MgSS9PIG9wZXJhdGlvbnMsIGFuZCBsZWFzZQ0KPj4+Pj4+ Pj4+Pj4+Pj4+Pj4gbWFuYWdlbWVudCBvcGVyYXRpb25zLCBhdHRlbXB0IHRvIHVzZSB0aGUgc2Ft ZSBHU1MgY29udGV4dA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gaW4gVUlEIDAncyBjcmVkZW50aWFsIGNh Y2hlLCBidXQgZWFjaCB1c2VzIGRpZmZlcmVudCBHU1MNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHNlcnZp Y2VzLg0KPj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4gQXMgUkZDMjIwMyBzdGF0 ZXMsICJJbiBhIGNyZWF0aW9uIHJlcXVlc3QsIHRoZSBzZXFfbnVtIGFuZCBzZXJ2aWNlIGZpZWxk cyBhcmUgdW5kZWZpbmVkIGFuZCBib3RoIG11c3QgYmUgaWdub3JlZCBieSB0aGUgc2VydmVy4oCd DQo+Pj4+Pj4+Pj4+Pj4+Pj4+IFNvIGEgY29udGV4dCBjcmVhdGlvbiByZXF1ZXN0IHdoaWxlIGtp Y2tlZCBvZmYgYnkgYW4gb3BlcmF0aW9uIHdpdGggYSBzZXJ2aWNlIGF0dGFjaGVkIChlLmcuIFdS SVRFIHVzZXMgcnBjX2dzc19zdmNfbm9uZSBhbmQgUkVORVcgdXNlcyBycGNfZ3NzX3N2Y19pbnRl Z3JpdHkpLCBjYW4gYmUgdXNlZCBieSBlaXRoZXIgc2VydmljZSBsZXZlbC4NCj4+Pj4+Pj4+Pj4+ Pj4+Pj4gQUZBSUNTIGEgc2luZ2xlIEdTUyBjb250ZXh0IGNvdWxkIGluIHRoZW9yeSBiZSB1c2Vk IGZvciBhbGwgc2VydmljZSBsZXZlbHMsIGJ1dCBpbiBwcmFjdGljZSwgR1NTIGNvbnRleHRzIGFy ZSByZXN0cmljdGVkIHRvIGEgc2VydmljZSBsZXZlbCAoYnkgY2xpZW50PyBieSBzZXJ2ZXI/ICkg b25jZSB0aGV5IGFyZSB1c2VkLg0KPj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4g DQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBUaGUga2V5IGlzc3VlIHNlZW1zIHRvIGJlIHdoeSwgd2hlbiB0 aGUgbW91bnQNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGlzIGZpcnN0IGVzdGFibGlzaGVkLCB0aGUgY2xp ZW50IGlzIGNvcnJlY3RseSBhYmxlIHRvDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiBlc3RhYmxpc2ggdHdv IHNlcGFyYXRlIEdTUyBjb250ZXh0cyBmb3IgVUlEIDA7IGJ1dCBhZnRlcg0KPj4+Pj4+Pj4+Pj4+ Pj4+Pj4gYSBzZXJ2ZXIgcmVib290LCB0aGUgY2xpZW50IGF0dGVtcHRzIHRvIHVzZSB0aGUgc2Ft ZSBHU1MNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGNvbnRleHQgd2l0aCB0d28gZGlmZmVyZW50IEdTUyBz ZXJ2aWNlcy4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+IEkgc3BlY3VsYXRl IHRoYXQgaXQgaXMgYSByYWNlIGJldHdlZW4gdGhlIFdSSVRFIGFuZCB0aGUgUkVORVcgdG8gdXNl IHRoZSBzYW1lIG5ld2x5IGNyZWF0ZWQgR1NTIGNvbnRleHQgdGhhdCBoYXMgbm90IGJlZW4gdXNl ZCB5ZXQsIGFuZCBzbyBoYXMgbm8gYXNzaWduZWQgc2VydmljZSBsZXZlbCwgYW5kIHRoZSB0d28g cmVxdWVzdHMgcmFjZSB0byBzZXQgdGhlIHNlcnZpY2UgbGV2ZWwuDQo+Pj4+Pj4+Pj4+Pj4+Pj4g DQo+Pj4+Pj4+Pj4+Pj4+Pj4gSSBhZ3JlZSB3aXRoIEFuZHkuIEl0IG11c3QgYmUgYSB0aWdodCBy YWNlLg0KPj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+PiBJbiBvbmUgY2FwdHVyZSBJIHNl ZSBzb21ldGhpbmcgbGlrZSB0aGlzIGFmdGVyDQo+Pj4+Pj4+Pj4+Pj4+PiB0aGUgc2VydmVyIHJl c3RhcnRzOg0KPj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+PiBTWU4NCj4+Pj4+Pj4+Pj4+ Pj4+IFNZTiwgQUNLDQo+Pj4+Pj4+Pj4+Pj4+PiBBQ0sNCj4+Pj4+Pj4+Pj4+Pj4+IEMgV1JJVEUN Cj4+Pj4+Pj4+Pj4+Pj4+IEMgU0VRVUVOQ0UNCj4+Pj4+Pj4+Pj4+Pj4+IFIgV1JJVEUgLT4gQ1RY X1BST0JMRU0NCj4+Pj4+Pj4+Pj4+Pj4+IFIgU0VRVUVOQ0UgLT4gQ1RYX1BST0JMRU0NCj4+Pj4+ Pj4+Pj4+Pj4+IEMgTlVMTCAoS1JCNV9BUF9SRVEpDQo+Pj4+Pj4+Pj4+Pj4+PiBSIE5VTEwgKEtS QjVfQVBfUkVQKQ0KPj4+Pj4+Pj4+Pj4+Pj4gQyBXUklURQ0KPj4+Pj4+Pj4+Pj4+Pj4gQyBTRVFV RU5DRQ0KPj4+Pj4+Pj4+Pj4+Pj4gUiBXUklURSAtPiBORlM0RVJSX1NUQUxFX1NUQVRFSUQNCj4+ Pj4+Pj4+Pj4+Pj4+IFIgU0VRVUVOQ0UgLT4gQVVUSF9GQUlMRUQNCj4+Pj4+Pj4+Pj4+Pj4+IA0K Pj4+Pj4+Pj4+Pj4+Pj4gQW5keSdzIHRoZW9yeSBuZWF0bHkgZXhwbGFpbnMgdGhpcyBiZWhhdmlv ci4NCj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4gSSBo YXZlIHRyaWVkIHRvIHJlcHJvZHVjZQ0KPj4+Pj4+Pj4+Pj4+Pj4+IHlvdXIgc2NlbmFyaW8gYW5k IGluIG15IHRlc3RzIG9mIHJlYm9vdGluZyB0aGUgc2VydmVyIGFsbCByZWNvdmVyDQo+Pj4+Pj4+ Pj4+Pj4+Pj4gY29ycmVjdGx5LiBJbiBteSBjYXNlLCBpZiBSRU5FVyB3YXMgdGhlIG9uZSBoaXR0 aW5nIHRoZSBBVVRIX0VSUiB0aGVuDQo+Pj4+Pj4+Pj4+Pj4+Pj4gdGhlIG5ldyBjb250ZXh0IGlz IGVzdGFibGlzaGVkIGFuZCB0aGVuIFJFTkVXIHVzaW5nIGludGVncml0eSBzZXJ2aWNlDQo+Pj4+ Pj4+Pj4+Pj4+Pj4gaXMgcmV0cmllZCB3aXRoIHRoZSBuZXcgY29udGV4dCB3aGljaCBnZXRzIEVS Ul9TVEFMRV9DTElFTlRJRCB3aGljaA0KPj4+Pj4+Pj4+Pj4+Pj4+IHRoZW4gY2xpZW50IHJlY292 ZXJzIGZyb20uIElmIGl0J3MgYW4gb3BlcmF0aW9uIChJIGhhdmUgYSBHRVRBVFRSKQ0KPj4+Pj4+ Pj4+Pj4+Pj4+IHRoYXQgZ2V0cyBBVVRIX0VSUiwgdGhlbiBpdCBnZXRzIG5ldyBjb250ZXh0IGFu ZCBpcyByZXRyaWVkIHVzaW5nIG5vbmUNCj4+Pj4+Pj4+Pj4+Pj4+PiBzZXJ2aWNlLiBUaGVuIFJF TkVXIGdldHMgaXRzIG93biBBVVRIX0VSUiBhcyBpdCB1c2VzIGEgZGlmZmVyZW50DQo+Pj4+Pj4+ Pj4+Pj4+Pj4gY29udGV4dCwgYSBuZXcgY29udGV4dCBpcyBnb3R0ZW4sIFJFTkVXIGlzIHJldHJp ZWQgb3ZlciBpbnRlZ3JpdHkgYW5kDQo+Pj4+Pj4+Pj4+Pj4+Pj4gZ2V0cyBFUlJfU1RBTEVfQ0xJ RU5USUQgd2hpY2ggaXQgcmVjb3ZlcnMgZnJvbS4NCj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+ Pj4+Pj4gSWYgb25lIG9wZXJhdGlvbiBpcyBhbGxvd2VkIHRvIGNvbXBsZXRlLCB0aGVuDQo+Pj4+ Pj4+Pj4+Pj4+PiB0aGUgb3RoZXIgd2lsbCBhbHdheXMgcmVjb2duaXplIHRoYXQgYW5vdGhlcg0K Pj4+Pj4+Pj4+Pj4+Pj4gZnJlc2ggR1NTIGNvbnRleHQgaXMgbmVlZGVkLiBJZiB0d28gYXJlIHNl bnQNCj4+Pj4+Pj4+Pj4+Pj4+IGF0IHRoZSBzYW1lIHRpbWUsIHRoZXkgcmFjZSBhbmQgb25lIGFs d2F5cw0KPj4+Pj4+Pj4+Pj4+Pj4gZmFpbHMuDQo+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+ Pj4+IEhlbGVuJ3MgdGVzdCBpbmNsdWRlcyBhIHNlY29uZCBpZGxlIG1vdW50IHBvaW50DQo+Pj4+ Pj4+Pj4+Pj4+PiAoc2VjPWtyYjVpKSBhbmQgbWF5YmUgdGhhdCBpcyBuZWVkZWQgdG8gdHJpZ2dl cg0KPj4+Pj4+Pj4+Pj4+Pj4gdGhlIHJhY2U/DQo+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+ PiBDaHVjaywgYW55IGNoYW5jZSB0byBnZXQgInJwY2RlYnVnIC1tIHJwYyBhdXRoIiBvdXRwdXQg ZHVyaW5nIHRoZQ0KPj4+Pj4+Pj4+Pj4+PiBmYWlsdXJlIChnc3NkIG9wdGlvbmFsbHkpIChpIHJl YWxpemUgdGhhdCBpdCBtaWdodCBhbHRlciB0aGUgdGltaW5ncw0KPj4+Pj4+Pj4+Pj4+PiBhbmQg bm90IGhpdCB0aGUgaXNzdWUgYnV0IHdvcnRoIGEgc2hvdCk/DQo+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+ Pj4+Pj4+Pj4gSSdtIHN1cmUgdGhhdCdzIGZpbmUuIEFuIGludGVybmFsIHRlc3RlciBoaXQgdGhp cywNCj4+Pj4+Pj4+Pj4+PiBub3QgYSBjdXN0b21lciwgc28gSSB3aWxsIGFzay4NCj4+Pj4+Pj4+ Pj4+PiANCj4+Pj4+Pj4+Pj4+PiBJIGFncmVlLCB0aG91Z2gsIHRoYXQgdGltaW5nIG1pZ2h0IGJl IGEgcHJvYmxlbToNCj4+Pj4+Pj4+Pj4+PiB0aGVzZSBzeXN0ZW1zIGFsbCBoYXZlIHJlYWwgc2Vy aWFsIGNvbnNvbGVzIHZpYQ0KPj4+Pj4+Pj4+Pj4+IGlMT00sIHNvIC92L2wvbSB0cmFmZmljIGRv ZXMgYnJpbmcgZXZlcnl0aGluZyB0bw0KPj4+Pj4+Pj4+Pj4+IGEgc3RhbmRzdGlsbC4NCj4+Pj4+ Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+PiBNZWFud2hpbGUsIHdoYXQncyB5b3UncmUgb3BpbmlvbiBh Ym91dCBBVVRIX0ZBSUxFRD8NCj4+Pj4+Pj4+Pj4+PiBTaG91bGQgdGhlIHNlcnZlciByZXR1cm4g UlBDU0VDX0dTU19DVFhQUk9CTEVNDQo+Pj4+Pj4+Pj4+Pj4gaW4gdGhpcyBjYXNlIGluc3RlYWQ/ IElmIGl0IGRpZCwgZG8geW91IHRoaW5rDQo+Pj4+Pj4+Pj4+Pj4gdGhlIExpbnV4IGNsaWVudCB3 b3VsZCByZWNvdmVyIGJ5IGNyZWF0aW5nIGENCj4+Pj4+Pj4+Pj4+PiByZXBsYWNlbWVudCBHU1Mg Y29udGV4dD8NCj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4gQWgsIHllcywgSSBlcXVhdGVkIEFV VEhfRkFJTEVEIEFuZCBBVVRIX0VSUk9SIGluIG15IG1pbmQuIElmIGNsaWVudA0KPj4+Pj4+Pj4+ Pj4gcmVjZWl2ZXMgdGhlIHJlYXNvbiBhcyBBVVRIX0ZBSUxFRCBhcyBvcHBvc2UgdG8gQ1RYUFJP QkxFTSBpdCB3aWxsDQo+Pj4+Pj4+Pj4+PiBmYWlsIHdpdGggRUlPIGVycm9yIGFuZCB3aWxsIG5v dCB0cnkgdG8gY3JlYXRlIGEgbmV3IEdTUyBjb250ZXh0LiBTbw0KPj4+Pj4+Pj4+Pj4geWVzLCBJ IGJlbGlldmUgaXQgd291bGQgaGVscCBpZiB0aGUgc2VydmVyIHJldHVybnMgYW55IG9mIHRoZQ0K Pj4+Pj4+Pj4+Pj4gZm9sbG93aW5nIGVycm9yczoNCj4+Pj4+Pj4+Pj4+ICAgICAgICAgICAgY2Fz ZSBSUENfQVVUSF9SRUpFQ1RFRENSRUQ6DQo+Pj4+Pj4+Pj4+PiAgICAgICAgICAgIGNhc2UgUlBD X0FVVEhfUkVKRUNURURWRVJGOg0KPj4+Pj4+Pj4+Pj4gICAgICAgICAgICBjYXNlIFJQQ1NFQ19H U1NfQ1JFRFBST0JMRU06DQo+Pj4+Pj4+Pj4+PiAgICAgICAgICAgIGNhc2UgUlBDU0VDX0dTU19D VFhQUk9CTEVNOg0KPj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+PiB0aGVuIHRoZSBjbGllbnQgd2ls bCByZWNyZWF0ZSB0aGUgY29udGV4dC4NCj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+IEFsc28gaW4g bXkgdGVzdGluZywgSSBjYW4gc2VlIHRoYXQgY3JlZGVudGlhbCBjYWNoZSBpcyBwZXIgZ3NzIGZs YXZvci4NCj4+Pj4+Pj4+Pj4gSnVzdCB0byBjaGVjaywgd2hhdCBrZXJuZWwgdmVyc2lvbiBpcyB0 aGlzIHByb2JsZW0gZW5jb3VudGVyZWQgb24gKEkNCj4+Pj4+Pj4+Pj4ga25vdyB5b3Ugc2FpZCB1 cHN0cmVhbSkgYnV0IEkganVzdCB3YW50IHRvIGRvdWJsZSBjaGVjayBzbyB0aGF0IEkgY2FuDQo+ Pj4+Pj4+Pj4+IGxvb2sgYXQgdGhlIGNvcnJlY3Qgc291cmNlIGNvZGUuDQo+Pj4+Pj4+Pj4gDQo+ Pj4+Pj4+Pj4gdjQuMS4xMiAoc3RhYmxlKSBJIHRoaW5rLg0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+PiBB bHNvLCBjYW4geW91IHNoYXJlIHRoZSBuZXR3b3JrIHRyYWNlPw0KPj4+Pj4+PiANCj4+Pj4+Pj4g SGkgQ2h1Y2ssDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBJIHdhcyBmaW5hbGx5IGFibGUgdG8gcmVwcm9k dWNlIHRoZSBjb25kaXRpb24geW91IHdlcmUgc2VlaW5nIChpLmUuLA0KPj4+Pj4+PiB0aGUgdXNl IG9mIHRoZSBzYW1lIGNvbnRleHQgZm9yIGRpZmZlcmVudCBnc3Mgc2VydmljZXMpLg0KPj4+Pj4+ PiANCj4+Pj4+Pj4gSSBlbmFibGVkIHJwY2RlYnVnIHJwYyBhdXRoIGFuZCBJIGNhbiBzZWUgdGhh dCB0aGUgMm5kIHJlcXVlc3QgZW5kcyB1cA0KPj4+Pj4+PiBmaW5kaW5nIGEgZ3NzX3VwY2FsbCBt ZXNzYWdlIGJlY2F1c2UgaXQncyBqdXN0IG1hdGNoZWQgYnkgdGhlIHVpZC4NCj4+Pj4+Pj4gVGhl cmUgaXMgZXZlbiBhIGNvbW1lbnQgaW4gYXV0aF9nc3MvYXV0aF9nc3MuYyBpbiBnc3NfYWRkX21z ZygpIHNheWluZw0KPj4+Pj4+PiB0aGF0IGlmIHRoZXJlIGlzIHVwY2FsbCBmb3IgYW4gdWlkIHRo ZW4gaXQgd29uJ3QgYWRkIGFub3RoZXIgdXBjYWxsLg0KPj4+Pj4+PiBTbyBJIHRoaW5rIHRoZSBk ZWNpc2lvbiBpcyBtYWRlIHJpZ2h0IHRoZXJlIHRvIHNoYXJlIHRoZSBzYW1lIGNvbnRleHQNCj4+ Pj4+Pj4gbm8gbWF0dGVyIHRoZSBnc3Mgc2VydmljZS4NCj4+Pj4+PiANCj4+Pj4+PiBJZiBJIHVu ZGVyc3RhbmQgY29ycmVjdGx5LCB0aGF0J3MganVzdCB3aGF0IEFuZHkgcHJlZGljdGVkLg0KPj4+ Pj4+IA0KPj4+Pj4+IFRoYXQgY2hlY2sgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBhbGxvdyBhbm90 aGVyIHVwY2FsbCB0byBiZQ0KPj4+Pj4+IHF1ZXVlZCBpZiB0aGUgVUlEIG1hdGNoZXMgYnV0IHRo ZSBHU1Mgc2VydmljZSBkb2VzIG5vdC4NCj4+Pj4+IA0KPj4+Pj4gWW91IHNob3VsZCBiZSBhYmxl IHRvIHVzZSB0aGUgc2FtZSBjb250ZXh0IHdpdGggZGlmZmVyZW50IHNlcnZpY2VzLg0KPj4+Pj4g DQo+Pj4+PiBBcG9sb2dpZXMsIEkgaGF2ZW4ndCBjYXVnaHQgdXAgd2l0aCB0aGUgd2hvbGUgZGlz Y3Vzc2lvbiBhYm92ZSwgdGhpcyBvbmUNCj4+Pj4+IHBvaW50IGp1c3QganVtcGVkIG91dCBhdCBt ZS4gIElmIHlvdSdyZSB0cnlpbmcgdG8gcmVxdWVzdCBhIHdob2xlIG5ldw0KPj4+Pj4gZ3NzIGNv bnRleHQganVzdCBzbyB5b3UgY2FuIHVzZSwgZS5nLiwgaW50ZWdyaXR5IGluc3RlYWQgb2YgcHJp dmFjeSwNCj4+Pj4+IHRoZW4gc29tZXRoaW5nJ3Mgd3JvbmcuDQo+Pj4+IA0KPj4+PiBUaGUgY2xp ZW50IGNvZGUgaGFzIHNlcGFyYXRlIGdzc19jcmVkIGNhY2hlcyAoYW5kIHNvIHNlcGFyYXRlIGdz c19jb250ZXjigJlzKSBwZXIgZ3NzX2F1dGgsIHdoaWNoIGlzIHBlciBzZXJ2aWNlLiBBRkFJSyB0 aGUgY2xpZW50IGhhcyBhbHdheXMgb2J0YWluZWQgYSBzZXBhcmF0ZSBjb250ZXh0IHBlciBzZXJ2 aWNlIHBlciBzZXJ2ZXIuIFdoaWxlIHdlIGNhbiB1c2UgdGhlIHNhbWUgZ3NzIGNvbnRleHQgd2l0 aCBkaWZmZXJlbnQgc2VydmljZXMsIHRoYXQgaXMgbm90IHRoZSBkZXNpZ24gY2hvaWNlLg0KPj4+ IA0KPj4+IEdpdmVuIHRoZSBjdXJyZW50IGNvZGUsIEknZCBzYXkgdGhhdCBpdCdzIG5vdCBjbGVh ciB3aGF0IHRoZSBkZXNpZ24NCj4+PiBjaG9pY2UgaXMuIFRoZSB1cGNhbGwgY29kZSBzdGF0ZXMg dGhhdCBpdCB3aWxsIG5vdCBkbyBhbm90aGVyIHVwY2FsbA0KPj4+IGZvciBhIGdpdmVuIFVJRCBp ZiBhbm90aGVyIHVwY2FsbCBpcyBhbHJlYWR5IG1hZGUuIFNvIGl0J3MgcHVyZWx5DQo+Pj4gdGlt aW5nIGx1Y2sgdGhhdCB3ZSBoYXZlIHR3byBkaWZmZXJlbnQgY29udGV4dHMgZm9yIHRoZSBtb3Vu dCB3aGVuDQo+Pj4gc2VjPWtyYjUgYW5kIHRoZSBkZWZhdWx0IGZvciBsZWFzZSBvcGVyYXRpb25z IGlzICJpbnRlZ3JpdHkiLiBBbmQgd2UNCj4+PiBkb24ndCBwYXNzIHRoZSBHU1Mgc2VydmljZSBi ZXR3ZWVuIHRoZSBrZXJuZWwgYW5kIGdzc2QgYW5kIHRodXMgbm8gd2F5DQo+Pj4gZm9yIHVzIHRv IHRpZSB0aGUgdXBjYWxsIHRvIHRoZSBzZXJ2aWNlLg0KPj4gDQo+PiBXZWxsLCBJIHdyb3RlIHNv bWUgb2YgdGhlIHVwY2FsbCBjb2RlLCBhbmQgSSB0aG91Z2ggKGluY29ycmVjdGx5LCBJDQo+PiBn dWVzcykgdGhhdCBjbGllbnRzIGNvdWxkIHJldXNlIHRoZSBzYW1lIGNvbnRleHQgd2l0aCBtdWx0 aXBsZSBzZXJ2aWNlcywNCj4+IHNvIHRoZSBjb25mdXNpb24gbWF5IGp1c3QgYmUgbXkgZmF1bHQu ICBTbyB5b3UgdGhpbmsgdGhlIG9ubHkgZml4IGhlcmUNCj4+IGlzIHRvIGtleSB0aGUgdXBjYWxs cw0KPiANCj4gTm8gbmVlZCB0byBjaGFuZ2UgdGhlIHVwY2FsbCwganVzdCBkb27igJkgdCBsZXQg dGhlIDJuZCByZXF1ZXN0IHVzZSB0aGUgbmV3IGRvd25jYWxsIGdzcyBjb250ZXh0IHVubGVzcyB0 aGUgc2VydmljZSBhc3NpZ25lZCB0byBpdCBtYXRjaGVzLiBJIHdvdWxkIHRoaW5rIHlvdSBjb3Vs ZCBzZXQgdGhlIHNlcnZpY2UgaW1tZWRpYXRlbHkgdXBvbiByZWNlaXZpbmcgdGhlIG5ldyBnc3Mg Y29udGV4dCBkb3duIGNhbGwgYW5kIHRoZW4gY2hlY2sgaXQgcHJpb3IgdG8gdGhlIDJuZCByZXF1 ZXN0IHVzZXMgaXQuDQo+IA0KDQpodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjIwMyNz ZWN0aW9uLTUuMi4yIEluIGEgY3JlYXRpb24gcmVxdWVzdCwgdGhlIHNlcV9udW0gYW5kIHNlcnZp Y2UgZmllbGRzIGFyZSB1bmRlZmluZWQgYW5kIGJvdGggbXVzdCBiZSBpZ25vcmVkIGJ5IHRoZSBz ZXJ2ZXIuDQoNCklPVzogdGhlIHNlcnZlciBjYW7igJl0IGxvY2sgdGhlIHNlcnZpY2UgdW50aWwg dGhlIGRhdGEgZXhjaGFuZ2UgcGhhc2UgKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMy MjAzI3NlY3Rpb24tNS4zKS4NCg0KQ2hlZXJzDQogIFRyb25k