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 2658D42497 for ; Mon, 23 May 2022 10:55:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8029E68B423; Mon, 23 May 2022 13:55:52 +0300 (EEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam07olkn2038.outbound.protection.outlook.com [40.92.15.38]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C67A368B38D for ; Mon, 23 May 2022 13:55:45 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OZRzQl+j8P3tWJHSUYnN5piFeQjRXhZyoic1My+d09FzTZzA98BKIGgzp+qMtn/tq0Cxijvg0GeJybwsDWAOnldydk5GMmgBTdsr6o+rYz4NnZ27HwLFRexMMUkVMkJ/iFCwTbsvPoBDxmwyQxxI6u6erVofVBfd1o4Jt3AM4jNbyfs6GESfr7z6LphSX2EtGZZsfPK6i5T9Bi/Yn3lZK9Y5Fs4X1hKutC5ccGTjVmlw9gBHDUEYAx48w3HwU4jVmBClboq4+Os2AWtt/dMZ1dJzswN75vugtpSaGkHT39nmiPMKWe0O1KL/nGUAHXOvtWy3bLNatCKuq7bXenhxmA== 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=sWaGD7EwEh+KYp5FxELVC+XsW1c7pBLW/xQtgLCY9aU=; b=O4N9FBk00Ks9IwEuQRpcIoZK03SWs38JjLzJKPYhAWXjzH1LpHln/cryqr+BXLB381T/WL4s65loz6xyVcALduNIx9T0/KYlmDRNERVLj07AmF6ZDO0DBmJkzU4HbLOjvBoGbhCGZ10BFY6TCujYcna/F553vOvOSo74w4G5EILWEXj3+a/ptQbgQ1wAkXdtzam4mFz9oRdqQ8kHVVxv0iLTzpwudC+dHlZrIxyDxR5g6u5jgRzlkdcNY0mSyJtqnd9LC+u28jikBG6YapjNDXo5a2x7mYGYUmVjotbPGA8rdeHJ5CmYShaNmaZ8Hno5QWACuW3R7htcz9Fsa45/PQ== 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=sWaGD7EwEh+KYp5FxELVC+XsW1c7pBLW/xQtgLCY9aU=; b=X1/mxhxzL/zUtN8e5Bhb52EOkuEvpPeKoPHpgYdZjd9T0W8pCcVFSkQgtzr9yKV0U6YuoMBdFs7JL4antOj9OAUIwhP5WXnafT8hK4VM8Sa2s6b0TsOEDv0OOBxe8dIofV7J1aXs7XScA0aSPcmegUUlpXoGOt0Mk0Jh34ng1zSVk1aG1HiJ4PjLW60kXchLBMF8owipIPXiTztkBrtB7H/dcgwnMDFsP5WgnEG+8wPo5EWQJBnJGZK0g0adTjvFZoIhZW0OB2QU1VjZittlqQA4HjAkfgU5Yztquf9vsLvPQ8rgktv1Q06tkU4nFFd6+N8ZXnV6QZZ7IKGUOFTwxQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BL3P223MB0018.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:349::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.15; Mon, 23 May 2022 10:55:43 +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; Mon, 23 May 2022 10:55:43 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 1/3] fftools: Stop using av_fopen_utf8 Thread-Index: AQHYbI5nsDA516hzzE2NdpSo7QznPq0oxehwgAOHlQCAAABo4A== Date: Mon, 23 May 2022 10:55:43 +0000 Message-ID: References: <20220520211254.47116-1-martin@martin.st> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [E6/XCaNmtud35BP7bvZVkO/PbcKIsG00] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7de7e907-0e64-443b-2473-08da3caac86b x-ms-traffictypediagnostic: BL3P223MB0018:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: H8KB3FBbnyQXsbO9vpZSbvtARBNP2eeKrTr/tgAwSplWGV2urf9WE+rfKnoQCo8sC+uvruBPd+UrLaXboZnjq3pLznXR6rXLvbY+wQnkUYqFAdtCvaJIOvD9g++V8xIkbB5ttQ6AcPaesJ+kguPivnJBY9UmMkDDFK6OBcIjOfX1spt2GhuOuG6EEuczZDJV2q1YWYamIapQ+gKuVUWmcpYV3xd+VeYOj/7E9VXIQ9XnX7/bp9AwCtrpa9UY/od+ID0tOM+nJcS3YFHwhV56tjVO4uWbJPlSCZkT508WPrBGQU+bq3/MNqLiucJzkPCk2VFNuiY3S+6WhBFmRfQMp3GIy1eBOqyXRa+fI7j+EVcAfQ8WpFPhloKn0N+CWminVu/UHAjkz+mqDJXLdp2ozeKzw+nEZMO2AYKymIOVOKcWbl9sYsmAfCFPV7R8TmtBSBH2iBASmQ/teaLDIxdbMfqj23IezNRTce6G6p3MFmvfqnWNYEovE3IqVDmjN5UbChZVllTBifgJaLXqLih6KYAOaM9Pss5r7g0dQ6aauWrETfQn9zBfoFCavaEKlmlOQl8iwTnJWCE/NqcSYKwQBA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RjJ3WVRLbWx2NUZ2OHpmL0ZRMHdzR1N3ZUkyUVppaldwS1Y0ai9QRE1yTzU1?= =?utf-8?B?MU9taU9CSEFWTFdLckgzS2lKSHIyVFZoVjlSeWNrMytxQ0h6cWM0RUxpM2RB?= =?utf-8?B?QTZzV2NoanlpcVozbm51eDU2OG9ZSVlZY1E5ckJ5ZXR5alRpVXhRM29WMTl4?= =?utf-8?B?WEVOeWl6dWVVN1ZuUG45L2hXQmlXajVQRlBWcmIvOS8yL1FQZWloKzd6V3Mz?= =?utf-8?B?cWxpOVdLK1hHMnZWQ2RTb1J3YlVQVTJrREJ1S29zRFhxY2F0NHAranZvYWxF?= =?utf-8?B?dDNhcmI4d3QxSGlCeG9LdnlmOVVYOUhtcGlWYXA4VFBXczgxUTN3Sm9MZnlw?= =?utf-8?B?WXBlUzRwU2xHWG1wdGx6ZVIwWGxFMU5wblpyMytoOUU4NkdkWDNkWkltS0VI?= =?utf-8?B?V29aOHVWUmRmbCtFSExOT2MxUFdFMXk0NE1QRGN5OFNYMExGbFRKVUdpUW5m?= =?utf-8?B?K2xvM1Eyc0NaY1p4SkNUbnFCSTNLSFFNNTBnUGo4RFo5L0MrMFRUeGxjd1NP?= =?utf-8?B?TGpWYXl4RG1oYm1aRndTS3dBODVSTVE2bzR3Yjg1NUkrbW9YMHJDVVNwNmJU?= =?utf-8?B?MjZCSjJ0czJTblVWU0k5VW54TEJPWkU4dDYyR3dDbUIvSitxSURSZHdVcVBv?= =?utf-8?B?UlQvcHNUcndpekdSUmFqSXlLOE9EU1VobEw0NlEvbmdFSVh2eEZuMEdxa1VD?= =?utf-8?B?YTBnNkpueEx0bFViVzdoL1pNSjkwVElzUTJxM2VPQlo1RE8yTCtYcEdNeVFC?= =?utf-8?B?K1N2ZGJPS0pMR0UyNXZvOE5nc0NweHYrbFZsOHR4RHBMM0NYSDhCTXJRdmo4?= =?utf-8?B?aUUxbjREeUt6MG04RXp3Qmx2UWFnUy9JUGdlUjVtcHF1enM2ekt2NUZ6b2lw?= =?utf-8?B?NDJHbWc0RXdHdy9Udkk1K0Z1bS95ekxyTElnZ0t0TzRWOGdJVU5YNG8zMkwv?= =?utf-8?B?UjRGWDkrVTlVS0EvZWljVzAzSGtsd2dodnAvRTV1QTNCVHdhMXFxQ2RFVDUz?= =?utf-8?B?dFN2QUZySnlWR21TL1crMlM1N1hXWnowVDRVU3l3NUZkZFA2NDRFSElXQ3d2?= =?utf-8?B?aFlYVCsxWFgwSGRGa0ZZYkZraExOS2lDSTNDNk01ekJGYjF4eDc1RlBQYTdK?= =?utf-8?B?RTRDVWczMXYzL2pnenpBSjhDdnp6TTlyVytpL0FlUmkvUE1yUTZCZlcwQlB6?= =?utf-8?B?d2NUa3B5MmgzRXByWnkwZlFYSzhpVFU3SnN6ZkNJNFZoVUNIb1Z0ZkpDS2Iy?= =?utf-8?B?Ym4xUk9DRWRGYkg5dTFkZVhleFlNMWhHZTFZeXRyOGRDQUVzS1YzcFZsT0lx?= =?utf-8?B?NkcxUUU3Sk14anMyS29MK1lHNW03VmJuaEhCamxxWGg0MHlLQmR0UFlvMHd5?= =?utf-8?B?TWJRcnljejExeEkxd2MycC8vU0l4WWpsZmFKa2xLZGNoV2FFS25jMG9XQll4?= =?utf-8?B?UE5sUHE4bWRIblhIYzR3b3JqU043cHNuSFEzbEcrbVpJNS9tbk1sUWp1Skx0?= =?utf-8?B?ZEFLLzNqUm9MYklWd3BhRjEwWFVEbkxPQW1VS1NEMytWeW01R1hhdm1WVThl?= =?utf-8?B?bEFLRmNzaHpUV1ZDRmIyaFgwK3lWRDNQbWhFUWsxTzZ0ekQ1M1lzMUcxQW9C?= =?utf-8?B?WG1Sekk0RWczRXpSNk9ReXNSZ21vTXlzQVQvTFVWUFdFV042QUNJN0J0bVFn?= =?utf-8?B?dk0zRmE4bWg3MUlxNVM2MVB1cUV0VWpqckU1ZisxcVR3WmZ1eElGRThhWC9r?= =?utf-8?B?bmhVQkw5Y2JBK2ZxcHc5ZnQraVBINDdMMnB3eHBGdXhvM1N5N2lmN0NaZU1w?= =?utf-8?B?QTI4bGtNdlprK244dUkzWTI4aXhCcWNBblFiYWtzczdlY0VFT212azErV2xY?= =?utf-8?B?OTYzM2VoTkw1dkh4Z0NhRGVOV3dWVkk4bjdDTyt3UW1GdGxVU1ZCdW15cGtF?= =?utf-8?Q?w3c5AdV24cI=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: 7de7e907-0e64-443b-2473-08da3caac86b X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2022 10:55:43.0762 (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: BL3P223MB0018 Subject: Re: [FFmpeg-devel] [PATCH 1/3] fftools: Stop using av_fopen_utf8 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 Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgTWFydGluDQo+IFN0 b3JzasO2DQo+IFNlbnQ6IE1vbmRheSwgTWF5IDIzLCAyMDIyIDEyOjUzIFBNDQo+IFRvOiBGRm1w ZWcgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW1BBVENIIDEvM10gZmZ0b29s czogU3RvcCB1c2luZyBhdl9mb3Blbl91dGY4DQo+IA0KPiBPbiBTYXQsIDIxIE1heSAyMDIyLCBT b2Z0IFdvcmtzIHdyb3RlOg0KPiANCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g Pj4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBP biBCZWhhbGYgT2YNCj4gTWFydGluDQo+ID4+IFN0b3JzasO2DQo+ID4+IFNlbnQ6IEZyaWRheSwg TWF5IDIwLCAyMDIyIDExOjEzIFBNDQo+ID4+IFRvOiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZw0K PiA+PiBTdWJqZWN0OiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggMS8zXSBmZnRvb2xzOiBTdG9wIHVz aW5nIGF2X2ZvcGVuX3V0ZjgNCj4gPj4NCj4gPj4gUHJvdmlkZSBhIGhlYWRlciBiYXNlZCBpbmxp bmUgcmVpbXBsZW1lbnRhdGlvbiBvZiBpdC4NCj4gPj4NCj4gPj4gVXNpbmcgYXZfZm9wZW5fdXRm OCBkb2Vzbid0IHdvcmsgb3V0c2lkZSBvZiB0aGUgbGlicmFyaWVzIHdoZW4gYnVpbHQNCj4gPj4g d2l0aCBNU1ZDIGFzIHNoYXJlZCBsaWJyYXJpZXMgKGluIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRp b24sIHdoZXJlDQo+ID4+IGVhY2ggRExMIGdldHMgYSBzZXBhcmF0ZSBzdGF0aWNhbGx5IGxpbmtl ZCBDUlQpLg0KPiA+PiAtLS0NCj4gPj4gIGZmdG9vbHMvZmZtcGVnX29wdC5jIHwgIDMgKy0NCj4g Pj4gIGZmdG9vbHMvZm9wZW5fdXRmOC5oIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4gPj4gIDIgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQ0KPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGZmdG9vbHMvZm9wZW5f dXRmOC5oDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9mZnRvb2xzL2ZmbXBlZ19vcHQuYyBiL2Zm dG9vbHMvZmZtcGVnX29wdC5jDQo+ID4+IGluZGV4IDQ3ZThiOWI3YmQuLmE1Y2Q5ODlkMzUgMTAw NjQ0DQo+ID4+IC0tLSBhL2ZmdG9vbHMvZmZtcGVnX29wdC5jDQo+ID4+ICsrKyBiL2ZmdG9vbHMv ZmZtcGVnX29wdC5jDQo+ID4+IEBAIC0yOCw2ICsyOCw3IEBADQo+ID4+ICAjZW5kaWYNCj4gPj4N Cj4gPj4gICNpbmNsdWRlICJmZm1wZWcuaCINCj4gPj4gKyNpbmNsdWRlICJmb3Blbl91dGY4Lmgi DQo+ID4+ICAjaW5jbHVkZSAiY21kdXRpbHMuaCINCj4gPj4gICNpbmNsdWRlICJvcHRfY29tbW9u LmgiDQo+ID4+DQo+ID4+IEBAIC0xODgyLDcgKzE4ODMsNyBAQCBzdGF0aWMgT3V0cHV0U3RyZWFt DQo+ICpuZXdfdmlkZW9fc3RyZWFtKE9wdGlvbnNDb250ZXh0DQo+ID4+ICpvLCBBVkZvcm1hdENv bnRleHQgKm9jLCBpbg0KPiA+PiAgICAgICAgICAgICAgICAgICAgICB2aWRlb19lbmMtPnN0YXRz X2luID0gbG9nYnVmZmVyOw0KPiA+PiAgICAgICAgICAgICAgICAgIH0NCj4gPj4gICAgICAgICAg ICAgICAgICBpZiAodmlkZW9fZW5jLT5mbGFncyAmIEFWX0NPREVDX0ZMQUdfUEFTUzEpIHsNCj4g Pj4gLSAgICAgICAgICAgICAgICAgICAgZiA9IGF2X2ZvcGVuX3V0ZjgobG9nZmlsZW5hbWUsICJ3 YiIpOw0KPiA+PiArICAgICAgICAgICAgICAgICAgICBmID0gZm9wZW5fdXRmOChsb2dmaWxlbmFt ZSwgIndiIik7DQo+ID4+ICAgICAgICAgICAgICAgICAgICAgIGlmICghZikgew0KPiA+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgYXZfbG9nKE5VTEwsIEFWX0xPR19GQVRBTCwNCj4gPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHdyaXRlIGxvZyBmaWxlICclcycg Zm9yIHBhc3MtMQ0KPiA+PiBlbmNvZGluZzogJXNcbiIsDQo+ID4+IGRpZmYgLS1naXQgYS9mZnRv b2xzL2ZvcGVuX3V0ZjguaCBiL2ZmdG9vbHMvZm9wZW5fdXRmOC5oDQo+ID4+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+ID4+IGluZGV4IDAwMDAwMDAwMDAuLmRiNTdmY2FlYzQNCj4gPj4gLS0tIC9k ZXYvbnVsbA0KPiA+PiArKysgYi9mZnRvb2xzL2ZvcGVuX3V0ZjguaA0KPiA+PiBAQCAtMCwwICsx LDcxIEBADQo+ID4+ICsvKg0KPiA+PiArICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgRkZtcGVnLg0K PiA+PiArICoNCj4gPj4gKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3INCj4gPj4gKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMNCj4gPj4gKyAqIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcg0KPiA+PiArICogdmVy c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uDQo+ID4+ICsgKg0KPiA+PiArICogRkZtcGVnIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQo+ID4+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiA+PiArICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUNCj4gPj4gKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQo+ID4+ICsgKg0KPiA+PiArICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0KPiA+PiArICogTGljZW5zZSBhbG9u ZyB3aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KPiA+PiAr ICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQQ0KPiAwMjExMC0NCj4gPj4gMTMwMSBVU0ENCj4gPj4gKyAqLw0KPiA+PiArDQo+ID4+ ICsjaWZuZGVmIEZGVE9PTFNfRk9QRU5fVVRGOF9IDQo+ID4+ICsjZGVmaW5lIEZGVE9PTFNfRk9Q RU5fVVRGOF9IDQo+ID4+ICsNCj4gPj4gKyNpbmNsdWRlIDxzdGRpby5oPg0KPiA+PiArDQo+ID4+ ICsvKiBUaGUgZm9wZW5fdXRmOCBmdW5jdGlvbiBoZXJlIGlzIGVzc2VudGlhbGx5IGVxdWl2YWxl bnQgdG8NCj4gPj4gYXZfZm9wZW5fdXRmOCwNCj4gPj4gKyAqIGV4Y2VwdCB0aGF0IGl0IGRvZXNu J3Qgc2V0IE9fQ0xPRVhFQywgYW5kIHRoYXQgaXQgaXNuJ3QgZXhwb3J0ZWQNCj4gPj4gKyAqIGZy b20gYSBkaWZmZXJlbnQgbGlicmFyeS4gKE9uIFdpbmRvd3MsIGVhY2ggRExMIG1pZ2h0IHVzZSBh DQo+IGRpZmZlcmVudA0KPiA+PiArICogQ1JULCBhbmQgRklMRSogaGFuZGxlcyBjYW4ndCBiZSBz aGFyZWQgYWNyb3NzIHRoZW0uKSAqLw0KPiA+PiArDQo+ID4+ICsjaWZkZWYgX1dJTjMyDQo+ID4+ ICsjaW5jbHVkZSAibGliYXZ1dGlsL3djaGFyX2ZpbGVuYW1lLmgiDQo+ID4+ICsNCj4gPj4gK3N0 YXRpYyBpbmxpbmUgRklMRSAqZm9wZW5fdXRmOChjb25zdCBjaGFyICpwYXRoX3V0ZjgsIGNvbnN0 IGNoYXINCj4gKm1vZGUpDQo+ID4+ICt7DQo+ID4+ICsgICAgd2NoYXJfdCAqcGF0aF93LCAqbW9k ZV93Ow0KPiA+PiArICAgIEZJTEUgKmY7DQo+ID4+ICsNCj4gPj4gKyAgICAvKiBjb252ZXJ0IFVU Ri04IHRvIHdpZGUgY2hhcnMgKi8NCj4gPj4gKyAgICBpZiAodXRmOHRvd2NoYXIocGF0aF91dGY4 LCAmcGF0aF93KSkgLyogVGhpcyBzZXRzIGVycm5vIG9uIGVycm9yLg0KPiAqLw0KPiA+PiArICAg ICAgICByZXR1cm4gTlVMTDsNCj4gPj4gKyAgICBpZiAoIXBhdGhfdykNCj4gPj4gKyAgICAgICAg Z290byBmYWxsYmFjazsNCj4gPj4gKw0KPiA+PiArICAgIGlmICh1dGY4dG93Y2hhcihtb2RlLCAm bW9kZV93KSkNCj4gPj4gKyAgICAgICAgcmV0dXJuIE5VTEw7DQo+ID4+ICsgICAgaWYgKCFtb2Rl X3cpIHsNCj4gPj4gKyAgICAgICAgLyogSWYgZmFpbGluZyB0byBpbnRlcnByZXQgdGhlIG1vZGUg c3RyaW5nIGFzIHV0ZjgsIGl0IGlzIGFuDQo+ID4+IGludmFsaWQNCj4gPj4gKyAgICAgICAgICog cGFyYW1ldGVyLiAqLw0KPiA+PiArICAgICAgICBhdl9mcmVlcCgmcGF0aF93KTsNCj4gPj4gKyAg ICAgICAgZXJybm8gPSBFSU5WQUw7DQo+ID4+ICsgICAgICAgIHJldHVybiBOVUxMOw0KPiA+PiAr ICAgIH0NCj4gPj4gKw0KPiA+PiArICAgIGYgPSBfd2ZvcGVuKHBhdGhfdywgbW9kZV93KTsNCj4g Pj4gKyAgICBhdl9mcmVlcCgmcGF0aF93KTsNCj4gPj4gKyAgICBhdl9mcmVlcCgmbW9kZV93KTsN Cj4gPj4gKw0KPiA+PiArICAgIHJldHVybiBmOw0KPiA+PiArZmFsbGJhY2s6DQo+ID4+ICsgICAg LyogcGF0aCBtYXkgYmUgaW4gQ1BfQUNQICovDQo+ID4+ICsgICAgcmV0dXJuIGZvcGVuKHBhdGhf dXRmOCwgbW9kZSk7DQo+ID4+ICt9DQo+ID4+ICsNCj4gPj4gKyNlbHNlDQo+ID4+ICsNCj4gPj4g K3N0YXRpYyBpbmxpbmUgRklMRSAqZm9wZW5fdXRmOChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBj aGFyICptb2RlKQ0KPiA+PiArew0KPiA+PiArICAgIHJldHVybiBmb3BlbihwYXRoLCBtb2RlKTsN Cj4gPj4gK30NCj4gPj4gKyNlbmRpZg0KPiA+PiArDQo+ID4+ICsjZW5kaWYgLyogRkZUT09MU19G T1BFTl9VVEY4X0ggKi8NCj4gPj4gLS0NCj4gPg0KPiA+IExHVE0uIChhbGwgdGhyZWUpDQo+ID4N Cj4gPiBUZXN0ZWQgd2l0aCBWUyBwcm9qZWN0IGJ1aWxkIChmdWxsIHN0YXRpYyBsaW5rYWdlLCB0 aG91Z2gpLg0KPiANCj4gSSBkaXNjdXNzZWQgdGhpcyB3aXRoIEFudG9uIG9uIGlyYywgYW5kIGhl IHdhcyBvayB3aXRoIHRoZSBwYXRjaHNldCB0b28sDQo+IHNvIEkgcHVzaGVkIGl0IG5vdy4NCj4g DQo+IC8vIE1hcnRpbg0KDQpHcmVhdCwgdGhhbmtzLg0KDQpTaGFsbCBJIHVwZGF0ZSBtaW5lIG5v dyB0byBjb3ZlciB0aGUgcmVtYWluaW5nIGZvcGVuKCkgY2FsbHM/DQoNCnN3DQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGlu ZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUs IG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1 bnN1YnNjcmliZSIuCg==