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 24E7642E06 for ; Mon, 9 May 2022 10:39:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2C90268B3B5; Mon, 9 May 2022 13:39:08 +0300 (EEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2062.outbound.protection.outlook.com [40.92.23.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 52DED680A05 for ; Mon, 9 May 2022 13:39:01 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OK+ddNoApBPqjjdmnBmCcak769NTp6TVENGX/TRDmsC1Du5xARZgdVgZIhLcOPcxd+V7kXdBd5z8x5CDMgJjjr9cFnTFNNFBgIudjzYVTh4+FRenpHzp3ecktKHkhhAz5QhL59KGkWqki/aQZ7J7bWcsFXWbq+iz4L+7bFZlQHL76JWBJ8G/d+7dO8xxmL0fvzy9X89uQ3ouEOuXmlIyG/VA/yf7ZeO4DKu6JDCKHr/SGiCnM2JVge5QcoSh9ZTVJFbeuuUjAEQWEBA+duzZQxju+JbbkqayNvGXaE2SsecBpoYtJVzU7dHEtvu74ISf2g416ROelA23cUkGrIQJNQ== 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=Sa2PyFxK15znX6e3Qa0zjHLzpx6KPF6xUc4I21eZwkU=; b=XjGrZeC91xT5CBGbjzV2faWLqXFf2shAcC8i9qHFdomqMUR3JuQb8SUTtFmPMaVmzUn0Dtly8KsNZQQTfdbyY/AMCzVvhr5e95iA1+nI25BayIElEK+HPK+ohrhzxhYDvtHYqar0KqFl4OswFJ6NyymQYYB6a1WzovZ+BFBI90nwUWcWa3LVyDgseJRQTw0hRdbtPfiOZeecWw9IpA9ifwMwW0Ra5IaqTXrO5Mna1b6T6wVCGDjzOoF1XQjWA51+CEiYRiqyGK1XnxyNIvU/m9E3Ym1rGb7dqnKWJ9z2oF/tesFt8EuWGVrwtA3JVmVyY9z0X/aZiBPpxUmhmXGa8w== 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=Sa2PyFxK15znX6e3Qa0zjHLzpx6KPF6xUc4I21eZwkU=; b=nNX/0UmiL4PxEXonzYaCiLUCkMScVEOOS0DcGJyYM60B/pzvAzMRK3X7FFabKhhlc8PU29FGVCVesX5XjWjRLeR6ag61CvBLAUOKaHq6on3c9Pb7p76QxJvUT57mPq38hG2FBqrNIJwrup/iKevHZMlzpqgARkkoPoBgnnmnZ5bYlyq5fCk3jGR5OuCC6Iji2WDWUqCrNMofOHsSKVwp0mMDo1jXulSqK82VMQPPdKnqJj/b8QMPiHUyN47cEkVJ2ngbiJ9TK2hgb/FRmirruovIk8W38JccarI0kk8rzRZ7olGyhFBlSpAer41NlFjIUcfBijk74f6br0JC7ZVkyw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM8P223MB0094.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.20; Mon, 9 May 2022 10:38:58 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3%9]) with mapi id 15.20.5227.023; Mon, 9 May 2022 10:38:58 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] av_fopen_utf8 and cross-DLL CRT object sharing issue on Windows Thread-Index: AQHYVLToR1KJUGuNukO2WH1LPKjFMK0S36QQgAANyICAAAYuoIACkqyAgABF0UCAAJx1gIAADD/Q Date: Mon, 9 May 2022 10:38:58 +0000 Message-ID: References: <3174427a-8eb7-b2c-eca4-242d8c9d32c@martin.st> <51bd257e-1466-66b5-7130-c05a50979b2b@martin.st> In-Reply-To: <51bd257e-1466-66b5-7130-c05a50979b2b@martin.st> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [skK/5vntkFZitLhKxXop4fNI5m1hMwkU] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7a8cf8e5-3498-49ac-dfb2-08da31a81faa x-ms-traffictypediagnostic: DM8P223MB0094:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: aHwWFkLNatrVz/3nx76xtHlXBz0vNe5Cc+0vRyuOXEl64AUuUSPGfVUYecYEdMT1v84s4eAqpu3ohNSToVkeQczd0Nb85Q0zp/3f0ysERAtjntXmh1aGm/+8vyuiza7pfW/1jjvPF3DmC8ENR/n5hgnRplHT8NciDNUQ7Br0WKFD8AiGaPbHQBh2W0MZDW601AJfy27q/R9hVufLRrQywN9qDNT7lPT+D7wGIyG2Co0LF0mQxJr6zqjh43wZyDbpolBqv7T0LaoidrK7P6j2TLkjEItLlfNNDIfaCP3jw1HUCmxOILyCi8bzmpOW0pJfvGf3/2e09jA9e7067Oi+BDXPSdpHa2VKdNeU1powwtq36MOfZ8k2bQ6obJJ7KcJGoSR1/LDBYxtHvLY/ASweJsNs/T84pybQD4pqr/ZRgMqNXvXPS+fh3yb/uaKkBpz6POFsLhh9sV+efug5znT1nHQQtvMB8VoIKqo5d+8hprQ+oRNeRDz0smC9Ah4t+/dpcEZzZJJk9AlM/HLo45ED3zp+pK9QGWgeXx/T5KMvI434kg315VDIQSRAaE/14CUlFZpDeWvIS8t4CSRu3BtkJ/EqmnO6ppTkI6vPn4UYv82lUmMOZrd8+hWFAss/e+KEemCNHi/saFZGXDcpeMtMYA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TURIdzV0Ry9FRzduY25QaXBDaUkxU3FnTmw0YVBoLzN4Vjh2L0J5clhHN1Vp?= =?utf-8?B?cWcxNDRNOUxkb0p5VkVOalFRbldJQ2NsNElKb2RnRlRhQnl0K1RDbXd1SnVx?= =?utf-8?B?M0ViNnRvZEhsdTF6ZHpIRzZjNnZSdWFzZ0UvRmxaMG5uVGNDSlJINENyNVA0?= =?utf-8?B?cFZnaSswY05hWVdMckZnV2p2U2txYmV5VFBxc1drN25SQmhIWnlVaHU2V1dD?= =?utf-8?B?TEkxMnduaUhscHJJZksxY3NkYmREa3p1YlRJamxiNTA1MW9KRWRFVDdVMFp1?= =?utf-8?B?YzZDVlFwV1NXNURBYlBzK3o1SWsvUTRrcGVFYmduNi8xMjFpU2ZHWnVhaHR4?= =?utf-8?B?VE1qWEpqV3FpODhxUDNJaHRnU3VSUDJpbWxlR2dscEhWTkZzRWxCK0pxU2Rp?= =?utf-8?B?N24rNk5KVzhDdnhiU1htRmo4MTkvUGJDS2FpcTJZZ0lObmRoWW50MmQyVjZI?= =?utf-8?B?STZwaTFoR1BrYmVuSW1oL2I1REoyNkxtMUlDYmRGNVRzcXNld1oyVHpGWk5Q?= =?utf-8?B?MldoLy85RmdpWVEzOFU2M0pWaXF1b2F6WmNsVGZtNDh3Z0J2Zy96Z285bUtI?= =?utf-8?B?eW0yK1pEL1loNTVTMnpJOHdZcHVIdzkrNjZPUmVKV0VpbUtPQ1dsM1NoVHhy?= =?utf-8?B?RzdHK0VkdUN4UWFhVkFJSzhqREdXVXdsSDhWSWdZYzA5amxJcVpYdzlST2dv?= =?utf-8?B?VlpqVjhvMk80Z2xZcFEzV2twUkp2eFpWb01aV2o0ekZSdzVVdXV0aEFBT01D?= =?utf-8?B?WEhrMEd0WUZMT2R2VHJhUUxiWWpSeXQ3NVRpUWpML2EyM2tWZk8vVHczTVJU?= =?utf-8?B?LzQweUtCY1ErY2E2bjlRcHBONWI5YUhSVzJYY3l0QVR6cXRWdktPY1pMV1FF?= =?utf-8?B?WEw2NHJPTHVwcEFTeXYzdkptQUl1NUhSY1cxZG1JMDk5N1pidXhlNFRvYnRX?= =?utf-8?B?cUlCT1lrRlVybzVxb3lpaWh3V1ppb3dMSWpqcGdKaFQ3VUFaUlRhTzN6MDlE?= =?utf-8?B?T1V4QUI2MUs3N2k4S1NHanRVb3BvNVFVcWtuME5lbzFwa3RMdUFEeVc3dXYx?= =?utf-8?B?K2NvNG1SSGl5NGkyOFAzdFl5TlJ5MUxrZkdSa25nUk4vQVMweklkU0RwSEcx?= =?utf-8?B?d0RTZitLaFQzKzZCdEoyc3NlSXdTWE90b2pYZnRkdnAvL3cyMC8zc0Q5Tytj?= =?utf-8?B?QTF6UnNJSEU2bTZ6dXFWWVFqVDViNFE0akYyZ0tGU0tNZzBiREFHSUhnVi9l?= =?utf-8?B?b0daNmpJazhyRmhqKzFmNis1b2FhZmNYTHpnVm5jWHpwQTM1L3FoMTJkRXI4?= =?utf-8?B?N3pzWE93RVRFNmkzdk81bW5rRWVhbGt6Sm16aGlBaFpRWHRxSlF6SUxXdWph?= =?utf-8?B?TzJVQXh0THplb3F6OVM5VHZnWTJ2TC9PcGJPUXJFZ1RuVDBucHNLWTRPTHVr?= =?utf-8?B?cFpoQ2RmQXZNeHp6V3ZSQUtpMHAraGw5U2sxZzVSOTdIa0w0TDBjYW1mNU11?= =?utf-8?B?cUtZNXZ6eTFoM2dXdkVHK2NMQThYRjcxNjdLTnErczE1bEdzQW5CUWtLaVF4?= =?utf-8?B?OEdMeC90bDVsTVluZFFhTm5IK2tIRDdLNFJ4UjRmOFRLcW9xekVvVU9uL005?= =?utf-8?B?QXNXN1dEMjZsRG9ZbUpWbEpnUFc4U2ZiMWo3ejRyU3dHZC81TkxPTk56NXdU?= =?utf-8?B?ZkhCL3dZQnlzb3Mxb1BtdlZZRm9uN3MvbzlGNUp0eklnOXh5QXhBcXl3dlly?= =?utf-8?B?Y1oxeGVGMFFaVnAyL016SlpsN2VLOFlxZHkwMEdkMG40bEFNTTk5YXN2b2Jj?= =?utf-8?B?MHVOY1Z1cDRwMFhyWHJZNHpMbUgwNlBxOGgwc2oxUXNRK250NmxXd2M5OW05?= =?utf-8?B?MmpNblFoeWVKcGJ3bU54b0VKYlNlZVo4eW1ydFhscFNuSmo4dWpvSTFGR0Z4?= =?utf-8?Q?p/aNPsJrz+Y=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: 7a8cf8e5-3498-49ac-dfb2-08da31a81faa X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2022 10:38:58.1279 (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: DM8P223MB0094 Subject: Re: [FFmpeg-devel] av_fopen_utf8 and cross-DLL CRT object sharing issue 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 Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gTWFydGluIFN0 b3JzasO2DQo+IFNlbnQ6IE1vbmRheSwgTWF5IDksIDIwMjIgMTE6NDIgQU0NCj4gVG86IEZGbXBl ZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLQ0KPiBkZXZlbEBm Zm1wZWcub3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gYXZfZm9wZW5fdXRmOCBh bmQgY3Jvc3MtRExMIENSVCBvYmplY3QNCj4gc2hhcmluZyBpc3N1ZSBvbiBXaW5kb3dzDQo+IA0K PiBPbiBNb24sIDkgTWF5IDIwMjIsIFNvZnQgV29ya3Mgd3JvdGU6DQo+IA0KPiA+DQo+ID4NCj4g Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gPj4gTWFydGlu IFN0b3JzasO2DQo+ID4+IFNlbnQ6IFN1bmRheSwgTWF5IDgsIDIwMjIgMTA6MTIgUE0NCj4gPj4g VG86IEZGbXBlZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLQ0K PiA+PiBkZXZlbEBmZm1wZWcub3JnPg0KPiA+PiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0g YXZfZm9wZW5fdXRmOCBhbmQgY3Jvc3MtRExMIENSVCBvYmplY3QNCj4gPj4gc2hhcmluZyBpc3N1 ZSBvbiBXaW5kb3dzDQo+ID4+DQo+ID4+IE9uIFNhdCwgNyBNYXkgMjAyMiwgU29mdCBXb3JrcyB3 cm90ZToNCj4gPj4NCj4gPj4+IEFoIHllcyBvZiBjb3Vyc2UsIHRoYW5rcyBmb3IgdGhlIGV4cGxh bmF0aW9uLiBJIHN0aWxsIHdvbmRlcg0KPiB3aGV0aGVyDQo+ID4+PiB0aGVyZSBhcmVuJ3QgYW55 IG90aGVyIGlzc3VlcyB3aGVuIG11bHRpcGxlIENSVHMgYXJlIGJlaW5nIHVzZWQ/DQo+ID4+Pg0K PiA+Pj4gT3IgYXJlIHRoZSBmaWxlIElPIEFQSXMgdGhlIG9ubHkgIndlYWsiIHBvaW50IHdpdGgg cmVnYXJkcyB0bw0KPiA+Pj4gbXVsdGlwbGUgQ1JUcyBiZWluZyB1c2VkPw0KPiA+Pg0KPiA+PiBJ biB0aGUgY2FzZSBvZiBmZm1wZWcsIHllcy4NCj4gPj4NCj4gPj4gRm9yIGdlbmVyaWMgbGlicmFy eSBkZXNpZ24sIHlvdSdkIGhhdmUgYW4gaXNzdWUgYW55d2hlcmUgd2hlcmUgeW91DQo+ID4+IHBh c3MNCj4gPj4gQ1JUIHJlc291cmNlcyBhcm91bmQgLSBmaWxlIGRlc2NyaXB0b3JzIGZyb20gb3Bl biwgRklMRSosIGFuZA0KPiBpbmRlZWQNCj4gPj4gYXMNCj4gPj4geW91IG1lbnRpb25lZCAtIGFs bG9jYXRpbmcgYW5kIGZyZWVpbmcgbWVtb3J5IHdpdGggbWFsbG9jL2ZyZWUgaW4NCj4gPj4gZGlm ZmVyZW50IERMTHMuIEJ1dCBhcyBsb25nIGFzIHRoZSBsaWJyYXJ5IGRlc2lnbiBpcyBzdWNoIHRo YXQgeW91DQo+ID4+IGRvbid0DQo+ID4+IGhhbmQgb3ZlciBvd25lcnNoaXAgb2YgYWxsb2NhdGlv bnMgYW5kIGRvbid0IHBhc3Mgc3VjaCBvYmplY3RzDQo+IGFjcm9zcw0KPiA+PiBETEwNCj4gPj4g Ym91bmRhcmllcywgdGhlcmUncyBubyBpc3N1ZS4NCj4gPg0KPiA+IFl1cCwgdW5kZXJzdG9vZC4g SSB0aG91Z2h0IHRoZXJlIHdvdWxkIGJlIG1hbnkgbW9yZSwgYnV0IEkgcmVhbGl6ZWQNCj4gPiB0 aGF0IHRob3NlICJtYW55IG1vcmUiIEkgdGhvdWdodCBhYm91dCBhcmUgYWxsIEMrKyB0aGluZ3Ms IG5vdCBDLg0KPiA+DQo+ID4gU28sIHB1dHRpbmcgdGhpcyBhbGwgdG9nZXRoZXIsIEkgYWdyZWUg dGhhdCB0aGUgZXhpc3RlbmNlIG9mDQo+ID4gYXZfZm9wZW5fdXRmOCAoYXMgYSBwdWJsaWMgQVBJ ISkgaXMgcmF0aGVyIHVuZm9ydHVuYXRlLiBUbyBtYWtlIHRoaXMNCj4gPiBjb25zaXN0ZW50LCBp dCB3b3VsZCBiZSBuZWNlc3NhcnkgdG8gcHJvdmlkZSBhdl8gZXF1aXZhbGVudHMgdG8NCj4gPiBh bGwgdGhlIGZpbGUgQVBJcyBhcyB3ZWxsIChidXQgdGhlcmUgYXJlIHF1aXRlIGEgZmV3KS4NCj4g DQo+IEluZGVlZCAtIGZvciB0aGUgZm9wZW4gZmFtaWx5IG9mIGZ1bmN0aW9ucywgd2Ugd291bGQg bmVlZCB0byBkdXBsaWNhdGUNCj4gYWxsDQo+IG9mIGZvcGVuL2ZjbG9zZS9mcHJpbnRmL2Z3cml0 ZS9mcHV0cyBhbmQgd2hhdGV2ZXIgbWlnaHQgaGFwcGVuIHRvIGJlDQo+IHVzZWQuDQo+IFNvIHRo YXQgZG9lc24ndCBzZWVtIHdvcnRod2hpbGUuDQo+IA0KPiA+IFNvIEkgd29uZGVyIHdoZXRoZXIg aXQgd291bGRuJ3QgbWFrZSBzZW5zZSB0byBkZXByZWNhdGUgdGhpcyBhcw0KPiA+IGEgcHVibGlj IEFQSSBtZW1iZXI/DQo+IA0KPiBJIGFncmVlIHRoYXQgaXQgcHJvYmFibHkgd291bGQgYmUgdGhl IGJlc3Qgd2F5IGZvcndhcmQsIHRvIGRlcHJlY2F0ZQ0KPiBpdCBhcw0KPiBhIHB1YmxpYyBBUEks IHdpdGhvdXQgYW55IHN1Z2dlc3RlZCByZXBsYWNlbWVudC4gQSBxdWljayBnb29nbGluZw0KPiBk aWRuJ3QNCj4gZmluZCBhbnkgcmVhbCB1c2Ugb2YgdGhlIGZ1bmN0aW9uIG91dHNpZGUgb2YgZmZt cGVnIGl0c2VsZiwgSSBvbmx5DQo+IGZvdW5kDQo+IGhpdHMgaW4gbGFuZ3VhZ2Ugd3JhcHBlcnMg KHdoaWNoIHRyeSB0byBtYXAgZXZlcnkgc2luZ2xlIGZ1bmN0aW9uIHRvDQo+IHRoZQ0KPiBvdGhl ciBsYW5ndWFnZSkuIFNvIEkgdGhpbmsgdGhhdCB3b3VsZCBoYXZlIG1pbmltYWwgaW1wYWN0IG9u IG90aGVycy4NCj4gDQo+IFdlIGNvdWxkIHRoZW4gYWRqdXN0IHRoZSBmdW5jdGlvbiB0byBiZSBh IGhlYWRlciBpbmxpbmUgZnVuY3Rpb24NCj4gKHdoaWNoDQo+IHRha2VzIGNhcmUgb2YgdGhlIGR1 cGxpY2F0aW9uIGludG8gYWxsIGxpYnJhcmllcyksIGp1c3QgbGlrZSB0aGUgb3RoZXINCj4gd2No YXI8LT51dGY4IGZ1bmN0aW9ucyB3ZSBoYXZlIGluIGxpYmF2dXRpbC93Y2hhcl9maWxlbmFtZS5o LCBzbyB3ZQ0KPiBzYWZlbHkNCj4gY291bGQgdXNlIHRoZW0gd2l0aGluIGZmdG9vbHMgdG9vLg0K DQpUaGlzIHdvdWxkIHNvdW5kIGdvb2QgdG8gbWUsIHNvIHdoZW4gbm9ib2R5IG9iamVjdHMsIHRo YXQgd291bGQgYmUNCnRoZSB3YXkgdG8gZ28gSU1PLg0KQW5kIGluIGNhc2UgdGhhdCBzb21lYm9k eSB3b3VsZCBvYmplY3QsIHRoZSBzZWNvbmQgYmVzdCBvcHRpb24gY291bGQNCmJlIHRvIGRlcHJl Y2F0ZSBpdCBmb3IgV2luZG93cyBvbmx5ICh3aGlsZSBhcGkgZGlmZmVyZW5jZXMgcGVyIHBsYXRm b3JtDQphcmUgc3VyZWx5IG5vdCBkZXNpcmFibGUsIGl0IG1pZ2h0IHN0aWxsIGJlIGp1c3RpZmll ZCBmb3IgYSBuaWNoZSBjYXNlDQpsaWtlIHRoaXMpLiANCg0KQlRXIC0gY291bGQgaXQgYmUgdGhh dCB5b3VyIG9yaWdpbmFsIHBhdGNoIG1pc3NlZCB0byBhcHBseSB0aGUgc2FtZSBmb3IgDQpsaWJh dmZpbHRlcj8NCg0KS2luZCByZWdhcmRzLA0Kc29mdHdvcmt6DQoNCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QK ZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGlu Zm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1h aWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2Ny aWJlIi4K