From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 9ECB4425A3 for ; Tue, 24 May 2022 09:47:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 533A768B52B; Tue, 24 May 2022 12:47:46 +0300 (EEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2094.outbound.protection.outlook.com [40.92.21.94]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 199EE68B470 for ; Tue, 24 May 2022 12:47:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OBmZZVeQph2Xf7XhLSbtplxdovevDftdJydY2St5a7qV/YIhJ+Acx7iVsDn5HyqvxnAbRWEF5TjMCO8waIvg4uesvg6kVj7bt5OPl8p+EclYtfd7TgmwSaXysgK0lAoEbt9T3tSTeIPCBGQmysGHv0NqORE6yaXiTKT/YlDAMjGx/K017iUdFGESnnEpJOwYghm/XRLj32lvKyj+e1kDbWiypVEZQ0UsE9PTogxkGD0z+9B4ySK6j0y+144ZlGAqxgXElwcuRvQmnLa5yUqkYs7J6vBFbeE7/4t4v4CPN97Gjq+RH08Y5CeeDD3O8ICroQMfaz+hi6gwPU6gaFQyJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RO7nkv7gfZrUmSZyAzFPfCJOBT9ACQa9fTDWS1eK8qA=; b=gCMR3MPiUqHGP4w7q0CRMJ5KSZ09mejucHk7YqlPFaWfuleCg2M9+MxFwhYo3MjdTdW2+097TpbzkaDIsGSqLbaFJ17qTwf3PNPzUMza8Bhw0MLMRmMcSTRE3hwC37DioWdjhgKh+xUq7Q68+1ECirHcfON/a5I+SMod/OCo72V69KOux+l99TQ3IsZ5KoeIZqZS+UrFIUFuFv4y2nHPqxMfjq+vYljSmnwp0inyL2BKVk0K9bBmauJo8QMIDltJgPBxAIPJ/ARu61qtqvuIv7wb5BcIBMqNqSoT58WkRkcxU2ng7JaEf9HmSYAcgvkIWcZqqv1H1Or9KmzodSVfvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RO7nkv7gfZrUmSZyAzFPfCJOBT9ACQa9fTDWS1eK8qA=; b=VC5aUobJelDlMDLT+9PmD6PAxRNeNm8ZLJj0InmY1t9IeCtl/dGU8f7ZCgRrHorEJO20KtkDVzXLCcPiCFCh+gBb2E0ZldWYA8Brvb74+dM/Fm7zECbd5HC0XWYtyK9BvGLSaGXJi/+Mh7cBmaobw7Fz+IPj52E5Lc45kL+Uh6t+Zrs6Ifs+1v4lffgCBC2hP5Bi37cVq5w9M4ZKV3uar+h9dKIv7TGbJq+kTEeoA/UPc0vsZag41OLoKmDsNiHjKcFjdBsv6akJvGp5O/tAhcbLb6cK0oF+RbbBZtl2I33nnHDMR1jwBglffKR4ac1LdrXqQgQmwd4BBGQ/J1uLVw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by CH0P223MB0027.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:fc::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Tue, 24 May 2022 09:47:37 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::c536:493f:7cda:53dc]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::c536:493f:7cda:53dc%3]) with mapi id 15.20.5273.023; Tue, 24 May 2022 09:47:37 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2 1/2] avutil/wchar_filename, file_open: Support long file names on Windows Thread-Index: AQHYaPywrYyA1nT6+EGODV6JkiNpta0h8QeQgAE8egCAAAMJoIAABhkQgATb9YCAAAFvwIABIBkAgAAA5VCAA26DgIAAAjtAgAErznA= Date: Tue, 24 May 2022 09:47:37 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [asotKklZXsqsGAn/orVinskF2UhhqdIF] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 490d3e6c-f76e-4e32-e925-08da3d6a6f8e x-ms-traffictypediagnostic: CH0P223MB0027:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +TchsIK9b6upns6ZIczzRVmPISX3kM/t3UUEyNJtaOPU5nCtroyT20a42Oe+i74OrfgjWTnO3R5qopYk7rO3GBeBDahtbZXqyO+TtUwWR8POul5BCmBKZDMh1G4OV34bUzgaDRVUqfoY52SZ9/Yv/ImGWky73lYoP7dyPzHIp0qXCTSun3qpW8vn2CAsDxV5bN/55knItv+Rig/GF/4LUjOQ4yxVVzECk6byAah+9u+tqmcBM5ShTnWauE2qT033RAgHKskTMpl+lqKu5dI6+XOmI3FtKiCTzmGqGdyC0w7wDKcKB1Ht4ceCxMEpw309S3GyRIjO5P50FTqjUkuHo1t7J0REG371JN7mssvpz1ApuvnIHbXImAhYOqqGTMRDgfpkSalRLCGhwyGzMERL/ZY4MF+Q7GGjKg/gnJ0rvjpX/shP0occpdO/wYdL/uFHOeGW3oSeSyZ8IqxnyY2w0HECxj+OmCf6yMm4wQAW6RIn/9ioPEuV7ITjIVf7GcP+gVxRMC4/UZQ7gfp5GTlYME/aDJOnPSUDRvFzyQ8/cUdn+CS8VE9RJqDc0FMbuXm18P5K89QuqWSaKVd+OvYDCHnDGiDEcIkDNFpb/75r9fTOMlRzYvNVnmC4gtmqzs/o x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MEFoRFFHODJCNDRtSlUrT2ZPSmFRbmN4UW1STEJ4NmltSTBQVHpVTXVvWlZp?= =?utf-8?B?Yzc5Ylk2YzJ4cU5FckorakRMOExORXd1L3FBeEdJTmhGM2hzYnVoUXhscVpx?= =?utf-8?B?WEFrdXNVYXJ0TVp0L3gzKzh3aURjNFRyU084ODFPY2MxNW81cWZnLzFxaXRU?= =?utf-8?B?UVoxQllxdzhsT1Ftc1poSVJ4ZDBmYXhhaVFnWGVWNWV1bENFVDdlQ2lsQSt1?= =?utf-8?B?ZHhhTmpCSlhKWDA0azJMQVZOanIvVlk2cWg1Z1FGVG8zV3BoQ1lUdm0zK1lT?= =?utf-8?B?UjVoYU4zNGYybFJOMS9WSlJ4Vmhsc2xLa21zWTVlL0VhTElCaVYzMzIyZVlQ?= =?utf-8?B?ZWVQalNGcDZ0b04veW5IOWY5c2hHOHBwYlFrV3J1d28yZnJjbVg2UXZpamNh?= =?utf-8?B?bDl3bjZ2bVJqT3pVbEZaTlhQUFNBdWtydGdGREExNTRHUTkxejEyMnhFOVVS?= =?utf-8?B?VzRlNWJjOVRaMkxUaElRdTU1aW9uV0dZYzYzUkRLK1IzTEkwWXZaT2oyaUlJ?= =?utf-8?B?R0pxQWNrOWhJbk9sTnFBWTl2c29kTThwL0lTdjJ2L2NUWDd3ZUxXZmp2c0xS?= =?utf-8?B?dFYvcHpiREp4aklyRzJsUDFzZ1BhWFV4SkZid0V4RjU3Wkt3WHZVbDY5YVVz?= =?utf-8?B?em1vak04K1U5SFhYWWxmMGJqNy9NZVNPSkNtY1NoamtsRkFzanZTaGNXYWpS?= =?utf-8?B?UnNzT09melRxSXQxazBpK1daWTVaQ0dsdDAwVkxFZ1lzMEs2akptQzk2eWVa?= =?utf-8?B?cDZ1eFAwWEE0ZXp6dlhncVNRQVZRaUZtZHRzUE5EVGY2eFdvb1V1aE9yblFt?= =?utf-8?B?QnE0em12L0ljRllZMDhGbVJvSUp1cTl4V3o0ek03VVAzM08yWUFTV005WlJV?= =?utf-8?B?bzNnL0Z0UHJSeExvTzR2YVBxL0VUd0VZVEZSSUtMTGlaTzNKZkZYdzgxbXNT?= =?utf-8?B?WEFURGp4SDRaY2hic0lzcEhYSmV1UjFiTlQrZEdPcXF1MGJ1ekdza3NleHRp?= =?utf-8?B?K3ZNdTlYYmhRZEF3dmZyMmpNVjBhWENJVXZEYXAwVlVhaUZYMzRnY2VIaXgy?= =?utf-8?B?cUhzaCtISG5nd1YrRDJITkhJOUJIa0p4Sm5mOGJobVNFOE1NR0VKeTJKeSt1?= =?utf-8?B?YW1TK3lNTjdxMk1mMU5XdGFsdnRGVnJDNllLSkdpT2NqVWtuREFKZEwxbE9l?= =?utf-8?B?RkN5QjJQZEZPemllQVFyNXNDZUErZnhJOC9XQWNOU3NEa1dPVFFsMkVBM1hl?= =?utf-8?B?Vzl6WFVXSnNiRFdNWS9kb0R0cVBZZ1NIcWx3QTlGbXFwMWFQZU9iSlEyYno0?= =?utf-8?B?bGdTaVdxcnd0NTE3dUhxaWxwZklmeWg2YkpqOEpTeE9CRFdON2ovRnc0Sk9l?= =?utf-8?B?NTVneDdPTXVxdFZlaC9Vbm1QNlVuQkNBSlRybXdsYjgrL29vQlhjU0Ewd2Mx?= =?utf-8?B?WHFBNDJUekxOMzlEaGh2aTA4TnRtSklPdnRZRzBzblJBNWp5R2J1NGh5c0E2?= =?utf-8?B?U084ZkF4c3lVclBZaGxjYlpLV3FDdUpVdlNiOW04eVl6TitXVDlkcHo3c29L?= =?utf-8?B?YnBieGhaeDJWR1lPQTBEaHlraWlmd2dUWWRXRXR5eXdWMVRlZm9zeC9ubTVp?= =?utf-8?B?cmsvWHJxTnlQZGZzVFROdENIQXJDQmJsaGFLWWEvLzIxOVhaR2JqNlJRUWpk?= =?utf-8?B?ZGJZWnhJZ1RiY3JkcXNDNmZqU1QyTXhZTnVNZFNRNFBrTVZJTUwyRkt3SGN6?= =?utf-8?B?R0M0OGk1Wm5iLzFJUlBBREJFVTFxdWZTbWw1U3lSMUFLRktSeE5BbEUwL1kz?= =?utf-8?B?SDZwMGs5SkZRaERvN1VXRE8zNGFQRkF5QUlIUncxMFNyMkRURTJRellDeFpw?= =?utf-8?B?MVZhUXl3VGRrTk81Nm9GM0hmSnA3bHM3QXNTTmVPY015TlFqRjFsamsrSmlm?= =?utf-8?Q?ssnMocJbBQo=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 490d3e6c-f76e-4e32-e925-08da3d6a6f8e X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2022 09:47:37.3186 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0P223MB0027 Subject: Re: [FFmpeg-devel] [PATCH v2 1/2] avutil/wchar_filename, file_open: Support long file names on Windows X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgU29mdA0KPiBXb3Jr cw0KPiBTZW50OiBNb25kYXksIE1heSAyMywgMjAyMiA1OjQ4IFBNDQo+IFRvOiBGRm1wZWcgZGV2 ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Pg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW1BBVENIIHYyIDEvMl0gYXZ1dGlsL3dj aGFyX2ZpbGVuYW1lLA0KPiBmaWxlX29wZW46IFN1cHBvcnQgbG9uZyBmaWxlIG5hbWVzIG9uIFdp bmRvd3MNCj4gDQo+IA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZy b206IGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsLWJvdW5jZXNAZmZtcGVnLm9yZz4gT24gQmVo YWxmIE9mIG5pbC0NCj4gPiBhZG1pcmFyaUBtYWlsby5jb20NCj4gPiBTZW50OiBNb25kYXksIE1h eSAyMywgMjAyMiA1OjM2IFBNDQo+ID4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnDQo+ID4g U3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2MiAxLzJdIGF2dXRpbC93Y2hhcl9m aWxlbmFtZSwNCj4gPiBmaWxlX29wZW46IFN1cHBvcnQgbG9uZyBmaWxlIG5hbWVzIG9uIFdpbmRv d3MNCj4gPg0KPiA+ID4+IE5vdCBwb3NzaWJsZSBmb3Igc3RhdCBwcmVjaXNlbHkgYmVjYXVzZSBv ZiBmdW5jdGlvbiBhbmQgc3RydWN0DQo+IHNoYXJpbmcNCj4gPiBhDQo+ID4gPj4gbmFtZS4NCj4g Pg0KPiA+ID4gVGhhdCdzIGV4YWN0bHkgd2hhdCBpcyBzYWlkIGFib3ZlIGFuZCBiZWZvcmUgOi0p DQo+ID4NCj4gPiBNeSBwcmV2aW91cyBxdWVzdGlvbiB3YXMgbm90IGFuc3dlcmVkLCBzbyBJIGhh ZCB0byBsb29rIHVwIHRoZSBhbnN3ZXINCj4gPiBteXNlbGYuDQo+ID4NCj4gPiA+IEknbSBhY3R1 YWxseSB3b25kZXJpbmcgaG93IGRvZXMgaXQgZXZlbiBjb21waWxlLiBBbGwgc3RhdCBzdHJ1Y3Rz IGluDQo+ID4gY29kZQ0KPiA+ID4gYmVjb21lIHN0cnVjdCB3aW4zMl9zdGF0LCBhbmQgYWxsIGNh bGxzIHRvIHN0YXQgYmVjb21lIGNhbGxzIHRvDQo+ID4gd2luMzJfc3RhdCwNCj4gPiA+IHdoaWNo IGluIHR1cm4gd3JhcHMgX3dzdGF0aTY0LiBCdXQgX3dzdGF0aTY0IGRvZXMgbm90IGFjY2VwdCBz dHJ1Y3QNCj4gPiB3aW4zMl9zdGF0KiwNCj4gPiA+IGl0IGFjY2VwdHMgc3RydWN0IF9zdGF0aTY0 Ki4gQ29udGVudCBvZiB0aGVzZSBzdHJ1Y3RzIGlzIHByb2JhYmx5DQo+ID4gaWRlbnRpY2FsLCBi dXQNCj4gPiA+IGl0IHNob3VsZCBub3QgbWF0dGVyOiBDIGlzIHR5cGVkIG5vbWluYWxseSwgbm90 IHN0cnVjdHVyYWxseS4NCj4gPg0KPiA+IFR1cm5zIG91dCBDIGFjdHVhbGx5IGhhcyBhIGNvbmNl cHQgb2YgY29tcGF0aWJsZSB0eXBlczoNCj4gPiBodHRwczovL2VuLmNwcHJlZmVyZW5jZS5jb20v dy9jL2xhbmd1YWdlL3R5cGUuDQo+ID4NCj4gPiBUaGUgcHJvYmxlbXMgaXM6DQo+ID4gPiB0aGV5 IGFyZSBib3RoIHN0cnVjdHVyZS91bmlvbi9lbnVtZXJhdGlvbiB0eXBlcywgYW5kDQo+ID4gPiAt IChjOTkpIGlmIG9uZSBpcyBkZWNsYXJlZCB3aXRoIGEgdGFnLCB0aGUgb3RoZXIgbXVzdCBhbHNv IGJlIGRlY2xhcmVkDQo+ID4gd2l0aCB0aGUgc2FtZSB0YWcuDQo+ID4gPiAuLi4NCj4gPiA+IElm IHR3byBkZWNsYXJhdGlvbnMgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGZ1bmN0aW9uIGFu ZCBkbyBub3QNCj4gdXNlDQo+ID4gY29tcGF0aWJsZSB0eXBlcywNCj4gPiA+IHRoZSBiZWhhdmlv ciBvZiB0aGUgcHJvZ3JhbSBpcyB1bmRlZmluZWQuDQo+ID4NCj4gPiBZb3VyIHN0cnVjdHVyZSBk b2VzIG5vdCBoYXZlIHRoZSBzYW1lIHRhZyBhcyB0aGUgQ1JUJ3Mgb25lLg0KPiA+IEFyZSB5b3Ug c3VyZSB5b3Ugd2FudCB0byByZWx5IG9uIHVuZGVmaW5lZCBiZWhhdmlvdXI/DQo+ID4NCj4gPiBJ IGhhdmVuJ3QgY29tcGlsZWQgeW91ciBjb2RlLCBidXQgdGhlIGZvbGxvd2luZyBzaW1wbGUgZXhh bXBsZToNCj4gPg0KPiA+IHN0cnVjdCBBIHsgaW50IGEsIGIsIGM7IH07DQo+ID4gc3RydWN0IEIg eyBpbnQgYSwgYiwgYzsgfTsNCj4gPiB2b2lkIHByaW50QShzdHJ1Y3QgQSAqYSk7DQo+ID4NCj4g PiBzdHJ1Y3QgQiBiID0geyAxLCAyLCAzIH07DQo+ID4gcHJpbnRBKCZiKTsNCj4gPg0KPiA+IGdl bmVyYXRlcyBhDQo+ID4NCj4gPiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYcHJp bnRB4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZQ0KPiBbLQ0KPiA+IFdpbmNvbXBh dGlibGUtcG9pbnRlci10eXBlc10NCj4gPiAgICAgfCAgICAgcHJpbnRBKCZiKTsNCj4gPiAgICAg fCAgICAgICAgICAgIF5+DQo+ID4gICAgIHwgICAgICAgICAgICB8DQo+ID4gICAgIHwgICAgICAg ICAgICBzdHJ1Y3QgQiAqDQo+ID4gbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IEEgKuKAmSBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgQiAq4oCZDQo+ID4gICAgIHwgdm9pZCBwcmlu dEEoc3RydWN0IEEgKmEpDQo+ID4NCj4gPiBBcmUgeW91IHN1cmUgeW91IHdhbm5hIGFkZCBhIGNv dXBsZSBvZiBzaW1pbGFyIHdhcm5pbmdzIHRvIHRoZSBwcm9qZWN0Pw0KPiANCj4gVGhpcyBpcyBu b3Qgd2hhdCdzIGhhcHBlbmluZy4gTm8gd2FybmluZ3MsIG5vdCBldmVuIGZyb20gY2xhbmcgZGlh Z25vc3RpY3MNCj4gd2l0aCAtV2V2ZXJ5dGhpbmcuDQoNCkknbSBzb3JyeSwgeW91IHdlcmUgcmln aHQgYW5kIEkgd2FzIHdyb25nLiBUaGUgaW5jbHVkZXMgYW5kIG1hY3JvcyBoYWQgaGlkZGVuDQph d2F5IGFsbCB0aGUgd2FybmluZ3MuDQoNCkZvciBteSBuZXcgc29sdXRpb24gd2hpY2ggSSBoYWQg c3VibWl0dGVkIHRvZGF5LCBJIGhhZCBtYWRlIGEgdGVzdCBpbiBhIGNvZGUNCmZpbGUgd2hlcmUg SSBwdXQgYWxsIHRoZSBuZXcgdGhpbmdzIGRpcmVjdGx5IGFuZCBleHBhbmRlZCB0aGUgbWFjcm9z Lg0KDQpUaGlzIGdpdmVzIGluIGZhY3QgdGhlIGtpbmQgb2YgZXJyb3IgeW91IG1lbnRpb25lZDoN Cg0KLi4uIGZ1bmN0aW9uJzogaW5jb21wYXRpYmxlIHR5cGVzIC0gZnJvbSAnd2luMzJfc3RhdCAq JyB0byAnX3N0YXQ2NCAqJw0KDQoNCkkgaGFkIGV4cGxhaW5lZCB0aGUgd2F5IGl0IHdvcmtzIHRv IE1hcnRpbiBpbiBhbm90aGVyIHJlc3BvbnNlLiBUaGUgDQpyZWxldmFudCBwYXJ0IGlzOg0KDQpU aGUgc3RydWN0Og0KDQogICAgc3RydWN0IHdpbjMyX3N0YXQNCiAgICB7DQogICAgICAgIHN0cnVj dCBfc3RhdGk2NDsNCiAgICB9Ow0KDQptYWtlcyB1c2Ugb2YgYSBNUyBjb21waWxlciBmZWF0dXJl IGNhbGxlZCAiYW5vbnltb3VzIHN0cnVjdHVyZXMiOg0KVGhpcyB3YXksIHdlIGF1dG9tYXRpY2Fs bHkgImluaGVyaXQiIHRoZSBtZW1iZXJzIG9mIHRoZSBzdHJ1Y3QuDQoNCk5vdywgdGhhdCBzdGls bCBnaXZlcyB0aGUgaW5jb21wYXRpYmxlIHR5cGUgd2FybmluZy4gDQoNCklmIHdlIHdvdWxkDQp3 YW50IHRvIGdldCByaWQgb2YgdGhpcywgd2UgY291bGQgZGVmaW5lIHRoZSBzdHJ1Y3QgYXMgZm9s bG93czoNCg0KDQogICAgc3RydWN0IHdpbjMyX3N0YXQNCiAgICB7DQogICAgICAgIHVuaW9uDQog ICAgICAgIHsNCiAgICAgICAgICAgIHN0cnVjdCBfc3RhdGk2NDsNCiAgICAgICAgICAgIHN0cnVj dCBfc3RhdGk2NCBzdGF0Ow0KICAgICAgICB9Ow0KICAgIH07DQoNClRoZSB1bmlvbiBpcyBhbm9u eW1vdXMgYW5kIGluY2x1ZGVzIF9zdGF0aTY0IHR3aWNlOiBvbmNlIGFub255bW91cw0KYW5kIG9u Y2UgbmFtZWQuDQoNClRoaXMgd291bGQgYWxsb3cgdXMgdG8gZGVmaW5lIG91ciB3aW4zMl9zdGF0 IGZ1bmN0aW9uIGxpa2UgdGhpczoNCg0KDQpzdGF0aWMgaW5saW5lIGludCB3aW4zMl9zdGF0KGNv bnN0IGNoYXIgKmZpbGVuYW1lX3V0ZjgsIHN0cnVjdCB3aW4zMl9zdGF0ICpwYXIpDQp7DQogICAg d2NoYXJfdCAqZmlsZW5hbWVfdzsNCiAgICBpbnQgcmV0Ow0KICAgIGlmIChnZXRfZXh0ZW5kZWRf d2luMzJfcGF0aChmaWxlbmFtZV91dGY4LCAmZmlsZW5hbWVfdykpDQogICAgICAgIHJldHVybiAt MTsNCiAgICBpZiAoIWZpbGVuYW1lX3cpDQogICAgICAgIGdvdG8gZmFsbGJhY2s7DQogICAgcmV0 ID0gX3dzdGF0NjQoZmlsZW5hbWVfdywgJnBhci0+c3RhdCk7DQogICAgYXZfZnJlZShmaWxlbmFt ZV93KTsNCiAgICByZXR1cm4gcmV0Ow0KZmFsbGJhY2s6DQogICAgICByZXR1cm4gX3N0YXQ2NChm aWxlbmFtZV91dGY4LCAmcGFyLT5zdGF0KTsNCn0NCg0Kc28gaXQgdXNlcyB0aGUgLT5zdGF0IG1l bWJlciBmb3IgZG9pbmcgdGhlIGFwaSBjYWxscyB3aGlsZQ0KdGhlIGNhbGxpbmcgKGZmbXBlZykg Y29kZSBjYW4gdXNlIHRoZSBzdHJ1Y3R1cmUgYXMgaWYgaXQgd2FzIHRoZSANCmFjdHVhbCBQT1NJ WCBzdGF0IHN0cnVjdHVyZS4NCg0KDQpLaW5kIHJlZ2FyZHMsDQpzdw0KDQoNCg0KDQoNCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21h aWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBh Ym92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1Ympl Y3QgInVuc3Vic2NyaWJlIi4K