From owner-freebsd-net@freebsd.org Mon Mar 22 11:37:18 2021 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 02A185AADD7 for ; Mon, 22 Mar 2021 11:37:18 +0000 (UTC) (envelope-from prvs=57150f9b23=youssef.ghorbal@pasteur.fr) Received: from mx3.pasteur.fr (mx3.pasteur.fr [157.99.45.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4F3st43W7sz3G35 for ; Mon, 22 Mar 2021 11:37:16 +0000 (UTC) (envelope-from prvs=57150f9b23=youssef.ghorbal@pasteur.fr) Received: from pps.filterd (proofpoint02.pasteur.fr [127.0.0.1]) by proofpoint02.pasteur.fr (8.16.1.2/8.16.1.2) with SMTP id 12MBZefI450922; Mon, 22 Mar 2021 12:37:09 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pasteur.fr; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=DKIM2020; bh=jvF6XQQnVwHfIAtXdB7HSE1MbJcgHoeI9SZpz5fEe4A=; b=Sj8AiTTiT72Gouxv1b9aRLwYsPn9WhhvhCZRnI7mxZLV4RqknFAYYMTIHhvBg1D7nAfk 0Dp94UZxeIaek5mCgyaInzcI0Ns4pva0ud3IHO23mQWhGN/7itJ2M/7mUuS+yQQpjIGQ GMCA7V5l4dqsDbKeqmP0otkNJPIo/cKzxerkMUzZyaP1E8YhA5yQdQIxas9c7uvksmSF d4Cm+jQhLFL62vpF+GLiNYJX44HZfdh5Dz60y8H+Ef1nD+bm66flDowzvyyIH/hSwoJg j7ulKwADRK6BddZJtVpNge0+oYTC1DA3WTF8WMIyUh7oeCB9iNSuGaBtHZDdNOAEF+Py UA== Received: from exchange12.corp.pasteur.fr (exchange12.corp.pasteur.fr [10.37.3.12]) by proofpoint02.pasteur.fr with ESMTP id 37d71fna1w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 22 Mar 2021 12:37:08 +0100 Received: from EXCHANGE01.corp.pasteur.fr (157.99.211.31) by exchange12.corp.pasteur.fr (10.37.3.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.2.792.3; Mon, 22 Mar 2021 12:37:08 +0100 Received: from EXCHANGE01.corp.pasteur.fr (2002:9d63:d31f::9d63:d31f) by EXCHANGE01.corp.pasteur.fr (2002:9d63:d31f::9d63:d31f) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Mon, 22 Mar 2021 12:37:08 +0100 Received: from EXCHANGE01.corp.pasteur.fr ([fe80::a1:8d1c:2213:159a]) by EXCHANGE01.corp.pasteur.fr ([fe80::a1:8d1c:2213:159a%18]) with mapi id 15.01.2176.009; Mon, 22 Mar 2021 12:37:08 +0100 From: "Youssef GHORBAL" To: Rick Macklem CC: Jason Breitman , "freebsd-net@freebsd.org" Subject: Re: NFS Mount Hangs Thread-Topic: NFS Mount Hangs Thread-Index: AQHXG1GBS22C4lXrkUeDRWxvsDPYdaqL+8UAgAL97YCAAN5HgA== Date: Mon, 22 Mar 2021 11:37:08 +0000 Message-ID: <88C485CB-CBD1-4E5F-826B-4CEC81498460@pasteur.fr> References: <3750001D-3F1C-4D9A-A9D9-98BCA6CA65A4@tildenparkcapital.com> <33693DE3-7FF8-4FAB-9A75-75576B88A566@tildenparkcapital.com> In-Reply-To: Accept-Language: en-US, fr-FR Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [157.99.101.116] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369, 18.0.761 definitions=2021-03-22_04:2021-03-22, 2021-03-22 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 clxscore=1011 impostorscore=0 phishscore=0 priorityscore=1501 adultscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2103220084 X-Rspamd-Queue-Id: 4F3st43W7sz3G35 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=pasteur.fr header.s=DKIM2020 header.b=Sj8AiTTi; dmarc=pass (policy=none) header.from=pasteur.fr; spf=pass (mx1.freebsd.org: domain of prvs=57150f9b23=youssef.ghorbal@pasteur.fr designates 157.99.45.71 as permitted sender) smtp.mailfrom=prvs=57150f9b23=youssef.ghorbal@pasteur.fr X-Spamd-Result: default: False [-2.90 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; HAS_XOIP(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:157.99.45.71/32]; DKIM_TRACE(0.00)[pasteur.fr:+]; MIME_BASE64_TEXT(0.10)[]; DMARC_POLICY_ALLOW(-0.50)[pasteur.fr,none]; NEURAL_HAM_SHORT(-1.00)[-0.999]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:29110, ipnet:157.99.0.0/16, country:FR]; MID_RHS_MATCH_FROM(0.00)[]; FROM_NEQ_ENVFROM(0.00)[youssef.ghorbal@pasteur.fr,prvs=57150f9b23=youssef.ghorbal@pasteur.fr]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[pasteur.fr:s=DKIM2020]; RCVD_COUNT_FIVE(0.00)[6]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; FORGED_SENDER_VERP_SRS(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_NAME_EXCESS_SPACE(1.00)[]; RWL_MAILSPIKE_VERYGOOD(0.00)[157.99.45.71:from]; MAILMAN_DEST(0.00)[freebsd-net] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Mar 2021 11:37:18 -0000 DQoNCj4gT24gMjEgTWFyIDIwMjEsIGF0IDIzOjIxLCBSaWNrIE1hY2tsZW0gPHJtYWNrbGVtQHVv Z3VlbHBoLmNhPiB3cm90ZToNCj4gDQo+IFlvdXNzZWYgIEdIT1JCQUwgPHlvdXNzZWYuZ2hvcmJh bEBwYXN0ZXVyLmZyPiB3cm90ZToNCj4+IEhpIEphc29uLA0KPj4gDQo+Pj4gT24gMTcgTWFyIDIw MjEsIGF0IDE4OjE3LCBKYXNvbiBCcmVpdG1hbiA8amJyZWl0bWFuQHRpbGRlbnBhcmtjYXBpdGFs LmNvbT4gd3JvdGU6DQo+Pj4gDQo+Pj4gUGxlYXNlIHJldmlldyB0aGUgZGV0YWlscyBiZWxvdyBh bmQgbGV0IG1lIGtub3cgaWYgdGhlcmUgaXMgYSBzZXR0aW5nIHRoYXQgSSBzaG91bGQgYXBwbHkg dG8gbXkgRnJlZUJTRCBORlMgU2VydmVyIG9yIGlmIHRoZXJlIGlzIGEgYnVnIGZpeCB0aGF0IEkg Y2FuIGFwcGx5IHRvIHJlc29sdmUgbXkgaXNzdWUuDQo+Pj4gSSBzaGFyZWQgdGhpcyBpbmZvcm1h dGlvbiB3aXRoIHRoZSBsaW51eC1uZnMgbWFpbGluZyBsaXN0IGFuZCB0aGV5IGJlbGlldmUgdGhl IGlzc3VlIGlzIG9uIHRoZSBzZXJ2ZXIgc2lkZS4NCj4+PiANCj4+PiBJc3N1ZQ0KPj4+IE5GU3Y0 IG1vdW50cyBwZXJpb2RpY2FsbHkgaGFuZyBvbiB0aGUgTkZTIENsaWVudC4NCj4+PiANCj4+PiBE dXJpbmcgdGhpcyB0aW1lLCBpdCBpcyBwb3NzaWJsZSB0byBtYW51YWxseSBtb3VudCBmcm9tIGFu b3RoZXIgTkZTIFNlcnZlciBvbiB0aGUgTkZTIENsaWVudCBoYXZpbmcgaXNzdWVzLg0KPj4+IEFs c28sIG90aGVyIE5GUyBDbGllbnRzIGFyZSBzdWNjZXNzZnVsbHkgbW91bnRpbmcgZnJvbSB0aGUg TkZTIFNlcnZlciBpbiBxdWVzdGlvbi4NCj4+PiBSZWJvb3RpbmcgdGhlIE5GUyBDbGllbnQgYXBw ZWFycyB0byBiZSB0aGUgb25seSBzb2x1dGlvbi4NCj4+IA0KPj4gSSBoYWQgZXhwZXJpZW5jZWQg YSBzaW1pbGFyIHdlaXJkIHNpdHVhdGlvbiB3aXRoIHBlcmlvZGljYWxseSBzdHVjayBMaW51eCBO RlMgY2xpZW50cyA+bW91bnRpbmcgSXNpbG9uIE5GUyBzZXJ2ZXJzIChJc2lsb24gaXMgRnJlZUJT RCBiYXNlZCBidXQgdGhleSBzZWVtIHRvIGhhdmUgdGhlcmUgPm93biBuZnNkKQ0KPiBZZXMsIG15 IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCBJc2lsb24gdXNlcyBhIHByb3ByaWV0YXJ5IHVzZXIgc3Bh Y2UgbmZzZCBhbmQNCj4gbm90IHRoZSBrZXJuZWwgYmFzZWQgUlBDIGFuZCBuZnNkIGluIEZyZWVC U0QuDQoNCkluZGVlZCBwcm9wcmlldGFyeSB1c2VyIHNwYWNlIG5mc2QuDQoNCj4+IFdl4oCZdmUg aGFkIGJldHRlciBsdWNrIGFuZCB3ZSBkaWQgbWFuYWdlIHRvIGhhdmUgcGFja2V0IGNhcHR1cmVz IG9uIGJvdGggc2lkZXMgPmR1cmluZyB0aGUgaXNzdWUuIFRoZSBnaXN0IG9mIGl0IGdvZXMgbGlr ZSBmb2xsb3dzOg0KPj4gDQo+PiAtIERhdGEgZmxvd3MgY29ycmVjdGx5IGJldHdlZW4gU0VSVkVS IGFuZCB0aGUgQ0xJRU5UDQo+PiAtIEF0IHNvbWUgcG9pbnQgU0VSVkVSIHN0YXJ0cyBkZWNyZWFz aW5nIGl0J3MgVENQIFJlY2VpdmUgV2luZG93IHVudGlsIGl0IHJlYWNocyAwDQo+PiAtIFRoZSBj bGllbnQgKGVhZ2VyIHRvIHNlbmQgZGF0YSkgY2FuIG9ubHkgYWNrIGRhdGEgc2VudCBieSBTRVJW RVIuDQo+PiAtIFdoZW4gU0VSVkVSIHdhcyBkb25lIHNlbmRpbmcgZGF0YSwgdGhlIGNsaWVudCBz dGFydHMgc2VuZGluZyBUQ1AgV2luZG93ID5Qcm9iZXMgaG9waW5nIHRoYXQgdGhlIFRDUCBXaW5k b3cgb3BlbnMgYWdhaW4gc28gaGUgY2FuIGZsdXNoIGl0cyBidWZmZXJzLg0KPj4gLSBTRVJWRVIg cmVzcG9uZHMgd2l0aCBhIFRDUCBaZXJvIFdpbmRvdyB0byB0aG9zZSBwcm9iZXMuDQo+IEhhdmlu ZyB0aGUgd2luZG93IHNpemUgZHJvcCB0byB6ZXJvIGlzIG5vdCBuZWNlc3NhcmlseSBpbmNvcnJl Y3QuDQo+IElmIHRoZSBzZXJ2ZXIgaXMgb3ZlcmxvYWRlZCAoaGFzIGEgYmFja2xvZyBvZiBORlMg cmVxdWVzdHMpLCBpdCBjYW4gc3RvcCBkb2luZw0KPiBzb3JlY2VpdmUoKSBvbiB0aGUgc29ja2V0 IChzbyB0aGUgc29ja2V0IHJjdiBidWZmZXIgY2FuIGZpbGwgdXAgYW5kIHRoZSBUQ1Agd2luZG93 DQo+IGNsb3NlcykuIFRoaXMgcmVzdWx0cyBpbiAiYmFja3ByZXNzdXJlIiB0byBzdG9wIHRoZSBO RlMgY2xpZW50IGZyb20gZmxvb2RpbmcgdGhlDQo+IE5GUyBzZXJ2ZXIgd2l0aCByZXF1ZXN0cy4N Cj4gLS0+IEhvd2V2ZXIsIG9uY2UgdGhlIGJhY2tsb2cgaXMgaGFuZGxlZCwgdGhlIG5mc2Qgc2hv dWxkIHN0YXJ0IHRvIHNvcmVjZWl2ZSgpDQo+ICAgICAgYWdhaW4gYW5kIHRoaXMgc2hvdWxzIGNh dXNlIHRoZSB3aW5kb3cgdG8gb3BlbiBiYWNrIHVwLg0KPiAgICAgIC0tPiBNYXliZSB0aGlzIGlz IGJyb2tlbiBpbiB0aGUgc29ja2V0L1RDUCBjb2RlLiBJIHF1aWNrbHkgZ290IGxvc3QgaW4NCj4g ICAgICAgICAgICB0Y3Bfb3V0cHV0KCkgd2hlbiBpdCBkZWNpZGVzIHdoYXQgdG8gZG8gYWJvdXQg dGhlIHJjdndpbi4NCg0KVGhhdCB3YXMgbXkgZXhlcGVjdGlvbiB0b28uIEF0IHRoZSB0aW1lIHRo ZSBORlMgc2VydmVyIHdhcyBub3Qgb3ZlcmxvYWRlZCAoYW5kIGhhcHBlbHkgYWNjZXB0aW5nIG5l dyBzZXNzaW9ucyBmcm9tIHRoZSBzYW1lIGNsaWVudCBhbmQgbWFueSBvdGhlciBjbGllbnRzKQ0K RGVsbC9FTUMgc3VwcG9ydCB3YXMgbm90IHdpbGxpbmcgdG8gZGlnIGRlZXBlciwgYW5kIGp1c3Qg dHJlYXRlZCB0aGUgc3ltcHRvbXMgKHJlY3ljbGluZyBtb3JlIGFnZ3Jlc3NpdmVseSB0aGUgRklO X1dBSVRfMiBzb2NrZXRzKQ0KDQo+PiAtIEFmdGVyIDYgbWludXRlcyAodGhlIE5GUyBzZXJ2ZXIg ZGVmYXVsdCBJZGxlIHRpbWVvdXQpIFNFUlZFUiByYWNlZnVsbHkgY2xvc2VzIHRoZSA+VENQIGNv bm5lY3Rpb24gc2VuZGluZyBhIEZJTiBQYWNrZXQgKGFuZCBzdGlsbCBhIFRDUCBXaW5kb3cgMCkN Cj4gVGhpcyBwcm9iYWJseSBkb2VzIG5vdCBoYXBwZW4gZm9yIEphc29uJ3MgY2FzZSwgc2luY2Ug dGhlIDZtaW51dGUgdGltZW91dA0KPiBpcyBkaXNhYmxlZCB3aGVuIHRoZSBUQ1AgY29ubmVjdGlv biBpcyBhc3NpZ25lZCBhcyBhIGJhY2tjaGFubmVsIChtb3N0IGxpa2VseQ0KPiB0aGUgY2FzZSBm b3IgTkZTdjQuMSkuDQo+IA0KPj4gLSBDTElFTlQgQUNLIHRoYXQgRklOLg0KPj4gLSBTRVJWRVIg Z29lcyBpbiBGSU5fV0FJVF8yIHN0YXRlDQo+PiAtIENMSUVOVCBjbG9zZXMgaXRzIGhhbGYgcGFy dCBwYXJ0IG9mIHRoZSBzb2NrZXQgYW5kIGdvZXMgaW4gTEFTVF9BQ0sgc3RhdGUuDQo+PiAtIEZJ TiBpcyBuZXZlciBzZW50IGJ5IHRoZSBjbGllbnQgc2luY2UgdGhlcmUgc3RpbGwgZGF0YSBpbiBp dHMgU2VuZFEgYW5kIHJlY2VpdmVyIFRDUCA+V2luZG93IGlzIHN0aWxsIDAuIEF0IHRoaXMgc3Rh Z2UgdGhlIGNsaWVudCBzdGFydHMgc2VuZGluZyBUQ1AgV2luZG93IFByb2JlcyBhZ2FpbiA+YW5k IGFnYWluIGhvcGluZyB0aGF0IHRoZSBzZXJ2ZXIgb3BlbnMgaXRzIFRDUCBXaW5kb3cgc28gaXQg Y2FuIGZsdXNoIGl0J3MgYnVmZmVycyA+YW5kIHRlcm1pbmF0ZSBpdHMgc2lkZSBvZiB0aGUgc29j a2V0Lg0KPj4gLSBTRVJWRVIga2VlcHMgcmVzcG9uZGluZyB3aXRoIGEgVENQIFplcm8gV2luZG93 IHRvIHRob3NlIHByb2Jlcy4NCj4+ID0+IFRoZSBsYXN0IHR3byBzdGVwcyBnb2VzIG9uIGFuZCBv biBmb3IgaG91cnMvZGF5cyBmcmVlemluZyB0aGUgTkZTIG1vdW50IGJvdW5kID50byB0aGF0IFRD UCBzZXNzaW9uLg0KPj4gDQo+PiBJZiB3ZSBoYWQgYSBzaXR1YXRpb24gd2hlcmUgQ0xJRU5UIHdh cyByZXNwb25zaWJsZSBmb3IgY2xvc2luZyB0aGUgVENQIFdpbmRvdyAoYW5kID5pbml0aWF0aW5n IHRoZSBUQ1AgRklOIGZpcnN0KSBhbmQgc2VydmVyIHdhbnRpbmcgdG8gc2VuZCBkYXRhIHdl4oCZ bGwgZW5kIHVwIGluIHRoZSBzYW1lID5zdGF0ZSBhcyB5b3UgSSB0aGluay4NCj4+IA0KPj4gV2Xi gJl2ZSBuZXZlciBoYWQgdGhlIHJvb3QgY2F1c2Ugb2Ygd2h5IHRoZSBTRVJWRVIgZGVjaWRlZCB0 byBjbG9zZSB0aGUgVENQID5XaW5kb3cgYW5kIG5vIG1vcmUgYWNjY2VwdCBkYXRhLCB0aGUgZml4 IG9uIHRoZSBJc2lsb24gcGFydCB3YXMgdG8gcmVjeWNsZSBtb3JlID5hZ2dyZXNzaXZlbHkgdGhl IEZJTl9XQUlUXzIgc29ja2V0cyAobmV0LmluZXQudGNwLmZhc3RfZmlud2FpdDJfcmVjeWNsZT0x ICYgPm5ldC5pbmV0LnRjcC5maW53YWl0Ml90aW1lb3V0PTUwMDApLiBPbmNlIHRoZSBzb2NrZXQg cmVjeWNsZWQgYW5kIGF0IHRoZSBuZXh0ID5vY2N1cmVuY2Ugb2YgQ0xJRU5UIFRDUCBXaW5kb3cg cHJvYmUsIFNFUlZFUiBzZW5kcyBhIFJTVCwgdHJpZ2dlcmluZyB0aGUgPnRlYXJkb3duIG9mIHRo ZSBzZXNzaW9uIG9uIHRoZSBjbGllbnQgc2lkZSwgYSBuZXcgVENQIGhhbmRjaGFrZSwgZXRjIGFu ZCB0cmFmZmljID5mbG93cyBhZ2FpbiAoTkZTIHN0YXJ0cyByZXNwb25kaW5nKQ0KPj4gDQo+PiBU byBhdm9pZCByZWJvb3RpbmcgdGhlIGNsaWVudCAoYW5kIGJlZm9yZSB0aGUgYWdncmVzc2l2ZSBG SU5fV0FJVF8yICB3YXMgPmltcGxlbWVudGVkIG9uIHRoZSBJc2lsb24gc2lkZSkgd2XigJl2ZSBh ZGRlZCBhIGNoZWNrIHNjcmlwdCBvbiB0aGUgY2xpZW50IHRoYXQgZGV0ZWN0cyA+TEFTVF9BQ0sg c29ja2V0cyBvbiB0aGUgY2xpZW50IGFuZCB0aHJvdWdoIGlwdGFibGVzIHJ1bGUgZW5mb3JjZXMg YSBUQ1AgUlNULCA+U29tZXRoaW5nIGxpa2U6IC1BIE9VVFBVVCAtcCB0Y3AgLWQgJG5mc19zZXJ2 ZXJfYWRkciAtLXNwb3J0ICRsb2NhbF9wb3J0IC1qIFJFSkVDVCA+LS1yZWplY3Qtd2l0aCB0Y3At cmVzZXQgKHRoZSBzY3JpcHQgcmVtb3ZlcyB0aGlzIGlwdGFibGVzIHJ1bGUgYXMgc29vbiBhcyB0 aGUgTEFTVF9BQ0sgPmRpc2FwcGVhcnMpDQo+PiANCj4+IFRoZSBib3R0b20gbGluZSB3b3VsZCBi ZSB0byBoYXZlIGEgcGFja2V0IGNhcHR1cmUgZHVyaW5nIHRoZSBvdXRhZ2UgKGNsaWVudCBhbmQv b3IgPnNlcnZlciBzaWRlKSwgaXQgd2lsbCBzaG93IHlvdSBhdCBsZWFzdCB0aGUgc2hhcGUgb2Yg dGhlIFRDUCBleGNoYW5nZSB3aGVuIE5GUyBpcyA+c3R1Y2suDQo+IEludGVyZXN0aW5nIHN0b3J5 IGFuZCBnb29kIHdvcmsgdy5yLnQuIHNsdWV0aGluZywgWW91c3NlZiwgdGhhbmtzLg0KPiANCj4g SSBsb29rZWQgYXQgSmFzb24ncyBsb2cgYW5kIGl0IHNob3dzIGV2ZXJ5dGhpbmcgaXMgb2sgdy5y LnQgdGhlIG5mc2QgdGhyZWFkcy4NCj4gKFRoZXkncmUganVzdCB3YWl0aW5nIGZvciBSUEMgcmVx dWVzdHMuKQ0KPiBIb3dldmVyLCBJIGRvIG5vdyB0aGluayBJIGtub3cgd2h5IHRoZSBzb2Nsb3Nl KCkgZG9lcyBub3QgaGFwcGVuLg0KPiBXaGVuIHRoZSBUQ1AgY29ubmVjdGlvbiBpcyBhc3NpZ25l ZCBhcyBhIGJhY2tjaGFubmVsLCB0aGF0IHRha2VzIGEgcmVmZXJlbmNlDQo+IGNudCBvbiB0aGUg c3RydWN0dXJlLiBUaGlzIHJlZmNudCB3b24ndCBiZSByZWxlYXNlZCB1bnRpbCB0aGUgY29ubmVj dGlvbiBpcw0KPiByZXBsYWNlZCBieSBhIEJpbmRDb25uZWN0aW90b1Nlc3Npb24gb3BlcmF0aW9u IGZyb20gdGhlIGNsaWVudC4gQnV0IHRoYXQgd29uJ3QNCj4gaGFwcGVuIHVudGlsIHRoZSBjbGll bnQgY3JlYXRlcyBhIG5ldyBUQ1AgY29ubmVjdGlvbi4NCj4gLS0+IE5vIHJlZmNudCByZWxlYXNl LS0+bm8gcmVmY250IG9mIDAtLT5ubyBzb2Nsb3NlKCkuDQo+IA0KPiBJJ3ZlIGNyZWF0ZWQgdGhl IGF0dGFjaGVkIHBhdGNoIChjb21wbGV0ZWx5IGRpZmZlcmVudCBmcm9tIHRoZSBwcmV2aW91cyBv bmUpDQo+IHRoYXQgYWRkcyBzb3NodXRkb3duKFNIVVRfV1IpIGNhbGxzIGluIHRoZSB0aHJlZSBw bGFjZXMgd2hlcmUgdGhlIFRDUA0KPiBjb25uZWN0aW9uIGlzIGdvaW5nIGF3YXkuIFRoaXMgc2Vl bXMgdG8gZ2V0IGl0IHBhc3QgQ0xPU0VfV0FJVCB3aXRob3V0IGENCj4gc29jbG9zZSgpLg0KPiAt LT4gSSBrbm93IHlvdSBhcmUgbm90IGNvbWZvcnRhYmxlIHdpdGggcGF0Y2hpbmcgeW91ciBzZXJ2 ZXIsIGJ1dCBJIGRvIHRoaW5rDQo+ICAgICAgIHRoaXMgY2hhbmdlIHdpbGwgZ2V0IHRoZSBzb2Nr ZXQgc2h1dGRvd24gdG8gY29tcGxldGUuDQo+IA0KPiBUaGVyZSBhcmUgYSBjb3VwbGUgbW9yZSB0 aGluZ3MgeW91IGNhbiBjaGVjayBvbiB0aGUgc2VydmVyLi4uDQo+ICMgbmZzc3RhdCAtRSAtcw0K PiAtLT4gTG9vayBmb3IgdGhlIGNvdW50IHVuZGVyICJCaW5kQ29ublRvU2VzIi4NCj4gICAgICAg LS0+IElmIG5vbi16ZXJvLCBiYWNrY2hhbm5lbHMgaGF2ZSBiZWVuIGFzc2lnbmVkDQo+ICMgc3lz Y3RsIC1hIHwgZmdyZXAgcmVxdWVzdF9zcGFjZV90aHJvdHRsZV9jb3VudA0KPiAtLT4gSWYgbm9u LXplcm8sIHRoZSBzZXJ2ZXIgaGFzIGJlZW4gb3ZlcmxvYWRlZCBhdCBzb21lIHBvaW50Lg0KPiAN Cj4gSSB0aGluayB0aGUgYXR0YWNoZWQgcGF0Y2ggbWlnaHQgd29yayBhcm91bmQgdGhlIHByb2Js ZW0uDQo+IFRoZSBjb2RlIHRoYXQgc2hvdWxkIG9wZW4gdXAgdGhlIHJlY2VpdmUgd2luZG93IG5l ZWRzIHRvIGJlIGNoZWNrZWQuDQo+IEkgYW0gYWxzbyBsb29raW5nIGF0IGVuYWJsaW5nIHRoZSA2 bWludXRlIHRpbWVvdXQgd2hlbiBhIGJhY2tjaGFubmVsIGlzDQo+IGFzc2lnbmVkLg0KPiANCj4g cmljaw0KPiANCj4gWW91c3NlZg0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCj4gZnJlZWJzZC1uZXRAZnJlZWJzZC5vcmcgbWFpbGluZyBsaXN0 DQo+IGh0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwczovL2xpc3RzLmZyZWVic2Qub3Jn L21haWxtYW4vbGlzdGluZm8vZnJlZWJzZC1uZXRfXzshIUpGZE5PcU9YcEI2VVpXMCEtUFBjaU1O RVB3VTFhSnpNa2UwY0RLQmhvZElPWE0wcC1RemVwNUZmSF93dXpLTGJ0M1EwYnM2OGc1UWV5a09N b3R4VWlVX2kkIA0KPiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhbnkgbWFpbCB0byAiZnJlZWJzZC1u ZXQtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmciDQo+IDx4cHJ0ZGllZC5wYXRjaD4NCg0K