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 ESMTPS id 573844E578 for ; Wed, 12 Mar 2025 08:44:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6B5EF68E610; Wed, 12 Mar 2025 10:44:11 +0200 (EET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12olkn2098.outbound.protection.outlook.com [40.92.22.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B990B68E609 for ; Wed, 12 Mar 2025 10:44:04 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hQk0kU/ywDw7Aj6imy7wxN6YVttml0P3940wQnjlr4oT7O1WdnQWdh3lFvQsSsNq5+HknDku9FRNGIWEFLeuh8s/0EN/b9XH6ION4GTknZbpb4nJ0HYuub0F3hy4toshYKAbzN3XaR3LcQQKfLDBcrEqwMOIqMpN8wNmH7pezPAKAOeNk9v+texr1SA02Y6qMPyWpSSvIEldMKpq5WP8EwZn+PVUV8n159e9QC77gCPX8q9L6OoljM207vUtlUU2xFdqhZEk6OI1oNDRh5ZiCTP761OXIJY+9N5jTcU5PQiQTTSL0ttmEIrFX+HKcZ5CWi8kxqYz7ljUrJi+TIOk6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=jML4HU3yzscBqR4dVEw21gvHhhLsXE0gYl1scD6ubM4=; b=BlPcj9Ezz5V5vG7IjKb0DJ5UhRCpAsxA9Abs0NkJtdxOR9pcSXU+79dvFJz23zYZtBUBUEV+UZ+y1LLwCoZTHMB0WAt6JpuCxjbN3rycCkJYS413keG560cTfBtOjPhRRrywuHjzXFOQNb88WZAJlO5u5N36eszvULu5zM4HWZEbVAqW6Iw+fCHA77wlKipG0+88MofYJNRviuhHqTzgYBJWv5s5sSMl1sAzxwUW4ZZTAlEr06GVfvhvVE1L5304yITAeA4ybGCYM+c6xjnH6YEO06ElVetNSKb0hzlOwnquKfFXj6fCmLPtoPSxoLp5rMFaK7ZieX0nGwvv4wvZRw== 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=jML4HU3yzscBqR4dVEw21gvHhhLsXE0gYl1scD6ubM4=; b=uaI2ahX3LYx64O9WoRmlQCQa3g+GrTzNLjHtDEVKe0Gu1fxIRW/7ineigyHcObHJmrC6GRogdfQpEPAXOc9hCSSF7mK2aMZFzRlA/I7q1YrGwaaAs+qW+XYVUafjqpZJ4ZnQnZbPm3kEQc2QFkoAEtqO/MsRUUEI/uMCjQSomeu44ZAYtS2HQJtlfpT+wqCKVhtTD6v/9u0dLsXPAI1ma4NTLkealExXqdyweIvvmeQmJGqeUo6R3dMKheyyMWFCX/uW08hMH6yldypUtntPV5YXLPKO6lbnjZAME4fy+/9moJN9Z3KBoSGq5N+Ulsfb7pvHA/Guh1j2Kk7ibAI/tg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by PH7P223MB0596.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:1ae::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar 2025 08:43:46 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%7]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025 08:43:46 +0000 From: Soft Works To: softworkz , "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] avformat/id3v2: Support null-separated multi-value properties Thread-Index: AQHbiwW2Fn8/hKLC2EuVBGDhnSCh0rNDPdlA Date: Wed, 12 Mar 2025 08:43:46 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|PH7P223MB0596:EE_ x-ms-office365-filtering-correlation-id: 76cbe192-8a5e-4b33-1373-08dd614200e1 x-microsoft-antispam: BCL:0; ARA:14566002|15080799006|19110799003|7092599003|461199028|12121999004|8062599003|8060799006|1602099012|440099028|10035399004|3412199025|4302099013|102099032|41001999003; x-microsoft-antispam-message-info: =?utf-8?B?QmhWUjBVR3dIRGwwa3phaVFtQy9WYy90RVg0cHJxaHVDNmR0Uk1ScS9FbDJD?= =?utf-8?B?VUkvTXM0N2Q2RzJtamhZU3ZYamxDZHVIaHNDcTlTOHpQbklFaVB2MjNDUGQ0?= =?utf-8?B?NW54OERFeFhpZk9HVVl5dFJJck9CcHpzRlZ2WVMwdDhOY21ZVk91S05YczFj?= =?utf-8?B?UGl4Q09nb2p0eXl0dWpVak9raEozYnhNVEpHeFRIR08wczhDMjdmRGVKVlJD?= =?utf-8?B?d0FXcHJmQVluMFF4VjZ2b0QxSzA0SGhVQldadjdCY3M1WnVWU0d5NEdDL0R5?= =?utf-8?B?dXowV1dJaHEwV0dDcmhzY0syZTZ6eE40QWtlaStRWWJadzYwQUdPQzFacGY5?= =?utf-8?B?Z25XdXRSaWFoZUdBZ2lNaHI1Y3hVNXd1bFBlYnU3dTlyeUUveEduSjZBdTY3?= =?utf-8?B?blNtS0lFU1hKR0hyTndINFlsa3BqUUxTcTBmZjN6Zm52RXdYUFFMWUw5eTMr?= =?utf-8?B?STNtM2FudDY3VjhrOG9samN1TVByMGpLK2V4TjJQcmRVTC9FcUJkUHc1Z1Fs?= =?utf-8?B?cXZYOXhaTFpFQ2RIbzdjN3Fuc2ZkeTc2M2F6Z05Xd2FLblZzb3JCa2hrMjVt?= =?utf-8?B?UUVXUXk5WmlsVXh0L2lJQlh1MWJsUVAwSGxvZzNKeTVzSThsVkgwRTBqSG41?= =?utf-8?B?NFBUM3lFV3JNVy95MG9ZRTEySFpIU3hVNEt2QmUrM1M4TFJUaktET1RReUlF?= =?utf-8?B?bFlXQVFIM0VQNXZVMlRldERKL2trUG9TR2lRUWsrV1dVeVlmazd0b0lVQ21W?= =?utf-8?B?d0xHZS9rMGZjNHNNWW4zQ0ZIWG9nVDYxMGYydE9RdHZyZmthSTh1cldzaGQr?= =?utf-8?B?WTNTR3IwTDlQT3A5QVpMSFFzNlR0Z0VMbUVPR1ZQNmZ6OWlvOUJMN2hKcUdD?= =?utf-8?B?aWpRYTJwWFFVdGQvT0hseTFKT0Vnc2MzaitRN2p1SGc3UnR5WUc2VVI0eUJ6?= =?utf-8?B?UHR0OGJBSGczTGswNzg3U1R4QkNwTVN6UWdqT0hqQVRQZnMwUW43NGRITDNs?= =?utf-8?B?Ri8wS1A0R3luR1Mxa2d5YzVGOHVjb3NRSDJzZFBGNS80RXc3QjhPTFdENzZi?= =?utf-8?B?cml4RHYrUlVjajRLUVVYcEFDQVRBaWRXdWV5SjZzaGpDQVk4djdwRE1UR213?= =?utf-8?B?dXdGV3cxZWRiVWluUDNOd2VXWFVjbGtEalgvWkMyTlRVQWdsK2JBTmRiMTRp?= =?utf-8?B?bUdxbjlwZ1AzWWZvVkFEWVhrTVRkZnZCRGNxLzc0aFBKalZTdEdyQktxMFFw?= =?utf-8?B?SzE1UEtibHJRbnlxaFkyM1pvUENWME00ckJjSUYrNHJvSjhaYXJNcjMzUWht?= =?utf-8?B?NHhiQk9QT1VtMnViMTZ1Q2xKWCtmUVVqOVFQSmYrL3Jqak1JM2l2bCs2Vjds?= =?utf-8?B?b3NuTDBDeHdGMmhWK3laSmZwSE9vWXdYdmgwS2tBZnJXdldTbEovTkpGVXda?= =?utf-8?B?UHZYTkxPTCtDTVovOFBvbWVqc3hxZE90U1FXNm1vWEtmR1BxcS9KeHNxdG9T?= =?utf-8?B?SVVFcVpORzE1NGdTcXh6U1hFOUZBQW1rUmExclpOSFM1S0xHM2czSWlRd3l5?= =?utf-8?B?S0tXWGRRbEIrN2k3dDFZZHQ1M0VudXB0YU5ycU9tVGc1M1U4bFp4Zkc4NWxv?= =?utf-8?B?ejhSY1JXcWNaeVNpbzVsNWlObEJUVktIMko0RXk0V3dMa3Y4UWNNYXNNTWRS?= =?utf-8?B?emYxekpTbngzZk1xNWErUDdhaFYwL1k0K0ZOZTVRTzV2cnJMSFozandRPT0=?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bSsvZ01oakREemlHSXFBcHlGblJNMHZVczM1Y1crVHVtSGtjZEJ5VVlpZWdt?= =?utf-8?B?Z0w4aW5JMm1idHR3ZnFPVTViS2xESFR5SVVUdTRtNE56Y3dMSXBtc1o2ckgx?= =?utf-8?B?QjkwZkdoT2d2Yy9BN045Ky9jektoK1h4cHJ1cjFFYi9uWHVwME80TmlaUVJa?= =?utf-8?B?WmpmQ2hJZHhYRzFhUXMzUTl0eThhYSt4MDVETGR5Y0ljRDY0VUlNYVUrQkFQ?= =?utf-8?B?aHdVNEw0T1JHOXhOWnpwa245eW1jTG1STWIyNk1CeXcrME51SDNVTUkzdEkv?= =?utf-8?B?VXI2bzFFL1dNV1dadnlmMnVVaFc1QjFVSENpWFk4d3M1MU1zb3ZPb3hJVEd1?= =?utf-8?B?SjZIalNOaWVHZlU3N2tzR3FZbTM1VFFDVXRGcmZ5ajA1bDNHaWI2dUdscWxI?= =?utf-8?B?L3hYWDN0bVF1VmMxQ29iYzFkSkRkTXdodXhzQk5FWE4rRThMdW5aTmlHekxL?= =?utf-8?B?MC9kVEIyTWw2MU8xb1cvQ0tmOFoyNnVoMEJGaGE4cGN1dGpkbzFuWFoxOGtm?= =?utf-8?B?ZmRkNVNvbzdYa0k3Q2k0QzdsZTVNcFNpaDAyU3RUbCtLNnlLektJRlhqd2RW?= =?utf-8?B?aWk3c0FLRkI2Z2RkLzE4OVkrVktGTGUwejZtN1BBN1JmdkpGWUhwV1BCRmdY?= =?utf-8?B?S1cwd3JjTU93VlFSbms4MS9lR21jZWVjcjEvME8yRWlHM2dNNkFUa0JUeUdz?= =?utf-8?B?TTVEYzdYTmdHMVM4TjJEa2VRZWp0elBzbWhQZnBHUm5QZUNLbm14ZUd6L1Y4?= =?utf-8?B?WHM4MzFEMFZtYjNDM05MNUdJS1QrRFlKSjdTSXVoMHJGV0l3Rk5IYUhmeHlS?= =?utf-8?B?SG9UNkliMXhWWElhZEI4NFhnSWJ4Tmp5Rm82ODY2Z1VneUlHZEwzNE5iMGFh?= =?utf-8?B?cTR4L0s1dW4yYndhSU1SRkN5TXVvc0hlTlY5NDhzY1VabGxidk5oVjV5Q3RW?= =?utf-8?B?YnRaUHl4akt2M0hGakk4SGd6anBtNFczUkVoV0kwdldzSHA1dUIxV3Q1ZFpH?= =?utf-8?B?MmRkNCt4Zk5NNWhkZGRLYmQ1Q2RtWXlqU0s5QzZrT2JhS0VRNTFIMlJGUk5C?= =?utf-8?B?RVNoWW5PaFo5ZUZNbDJxbkRqdzM3WWNBV2dldUNnRW5YSjRZM0VZcEFZS1NM?= =?utf-8?B?eXZqbW5rMzQzNm9yZGlBNDJvYktkcDVVdk0vZlc5b3ZMMjJlcTQ2cmRPenJo?= =?utf-8?B?UzlYcmNyZVJ1MW5wRmhwRFlkOUFISkhKWEtySUdoTlJKNDYybVZjQXBZVTV4?= =?utf-8?B?UE9QcmNQdTlHTkJ4bW5GQks4ME5mWmtzV1JEUEsyQTNrWnJ3R3VIRVAreW5D?= =?utf-8?B?UWd0NzB1VWxYblRBUHB4OVdtckpxQlJVZmpUd3RrT0dGUnNMeFhmUlZoNC9L?= =?utf-8?B?SWlaWnRzQmhOWkh6YVNvU1J0MVpVZVorVHV1SU1LdHVtdVdNZDVURUg3SzBQ?= =?utf-8?B?dDRlYitLV1BQYm5xb0VZMWVTT1V1cWtFUFI5UlF3RTVBVlJEMjF5NUR0ZnAv?= =?utf-8?B?ZU1NM3g2YTlVNUZoQTBRa1RmbE15dnU0UXdCbFArRExBRk5NWlFUajd5UDgy?= =?utf-8?B?dzFndHdUTEcwYWNwOTA1OG4vekhLM0psMzd0K2Nkckl5WGFTT0xCUldWZnBk?= =?utf-8?Q?mL4ePQfbEQc9igvbFj26rhr589Es8TEpVyapOd+6Ao2w=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: 76cbe192-8a5e-4b33-1373-08dd614200e1 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Mar 2025 08:43:46.6705 (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: PH7P223MB0596 Subject: Re: [FFmpeg-devel] [PATCH] avformat/id3v2: Support null-separated multi-value properties 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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogc29mdHdvcmt6IDxmZm1w ZWdhZ2VudEBnbWFpbC5jb20+DQo+IFNlbnQ6IFNvbm50YWcsIDIuIE3DpHJ6IDIwMjUgMDA6NTcN Cj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnDQo+IENjOiBzb2Z0d29ya3ogPHNvZnR3b3Jr ekBob3RtYWlsLmNvbT47IHNvZnR3b3JreiA8c29mdHdvcmt6QGhvdG1haWwuY29tPg0KPiBTdWJq ZWN0OiBbUEFUQ0hdIGF2Zm9ybWF0L2lkM3YyOiBTdXBwb3J0IG51bGwtc2VwYXJhdGVkIG11bHRp LXZhbHVlDQo+IHByb3BlcnRpZXMNCj4gDQo+IEZyb206IHNvZnR3b3JreiA8c29mdHdvcmt6QGhv dG1haWwuY29tPg0KPiANCj4gRml4ZXMgVHJhYyB0aWNrZXQgaHR0cHM6Ly90cmFjLmZmbXBlZy5v cmcvdGlja2V0LzY5NDkNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IHNvZnR3b3JreiA8c29mdHdvcmt6 QGhvdG1haWwuY29tPg0KPiAtLS0NCj4gICAgIGF2Zm9ybWF0L2lkM3YyOiBTdXBwb3J0IG51bGwt c2VwYXJhdGVkIG11bHRpLXZhbHVlIHByb3BlcnRpZXMNCj4gDQo+ICAgICBGaXhlcyBUcmFjIHRp Y2tldCBodHRwczovL3RyYWMuZmZtcGVnLm9yZy90aWNrZXQvNjk0OQ0KPiANCj4gUHVibGlzaGVk LUFzOiBodHRwczovL2dpdGh1Yi5jb20vZmZzdGFnaW5nL0ZGbXBlZy9yZWxlYXNlcy90YWcvcHIt DQo+IGZmc3RhZ2luZy01NCUyRnNvZnR3b3JreiUyRnN1Ym1pdF9pZDN2Mi12MQ0KPiBGZXRjaC1J dC1WaWE6IGdpdCBmZXRjaCBodHRwczovL2dpdGh1Yi5jb20vZmZzdGFnaW5nL0ZGbXBlZyBwci0N Cj4gZmZzdGFnaW5nLTU0L3NvZnR3b3Jrei9zdWJtaXRfaWQzdjItdjENCj4gUHVsbC1SZXF1ZXN0 OiBodHRwczovL2dpdGh1Yi5jb20vZmZzdGFnaW5nL0ZGbXBlZy9wdWxsLzU0DQo+IA0KPiAgbGli YXZmb3JtYXQvaWQzdjIuYyB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDI0IGRlbGV0 aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2lkM3YyLmMgYi9saWJhdmZv cm1hdC9pZDN2Mi5jDQo+IGluZGV4IDI5ZWU1OWUxZjQuLmNlYmI0YWNkNzUgMTAwNjQ0DQo+IC0t LSBhL2xpYmF2Zm9ybWF0L2lkM3YyLmMNCj4gKysrIGIvbGliYXZmb3JtYXQvaWQzdjIuYw0KPiBA QCAtMzI3LDM5ICszMjcsNTUgQEAgc3RhdGljIHZvaWQgcmVhZF90dGFnKEFWRm9ybWF0Q29udGV4 dCAqcywNCj4gQVZJT0NvbnRleHQgKnBiLCBpbnQgdGFnbGVuLA0KPiAgICAgICAgICAgICAgICAg ICAgICAgIEFWRGljdGlvbmFyeSAqKm1ldGFkYXRhLCBjb25zdCBjaGFyICprZXkpDQo+ICB7DQo+ ICAgICAgdWludDhfdCAqZHN0Ow0KPiAtICAgIGludCBlbmNvZGluZywgZGljdF9mbGFncyA9IEFW X0RJQ1RfRE9OVF9PVkVSV1JJVEUgfA0KPiBBVl9ESUNUX0RPTlRfU1RSRFVQX1ZBTDsNCj4gKyAg ICBpbnQgZW5jb2RpbmcsIG5iX3ZhbHVlcyA9IDA7DQo+ICAgICAgdW5zaWduZWQgZ2VucmU7DQo+ ICsgICAgQVZEaWN0aW9uYXJ5RW50cnkgKnRhZyA9IE5VTEw7DQo+IA0KPiAgICAgIGlmICh0YWds ZW4gPCAxKQ0KPiAgICAgICAgICByZXR1cm47DQo+IA0KPiArICAgIHRhZyA9IGF2X2RpY3RfZ2V0 KCptZXRhZGF0YSwga2V5LCBOVUxMLCAwKTsNCj4gKyAgICBpZiAodGFnKQ0KPiArICAgICAgICBy ZXR1cm47DQo+ICsNCj4gICAgICBlbmNvZGluZyA9IGF2aW9fcjgocGIpOw0KPiAgICAgIHRhZ2xl bi0tOyAvKiBhY2NvdW50IGZvciBlbmNvZGluZyB0eXBlIGJ5dGUgKi8NCj4gDQo+IC0gICAgaWYg KGRlY29kZV9zdHIocywgcGIsIGVuY29kaW5nLCAmZHN0LCAmdGFnbGVuKSA8IDApIHsNCj4gLSAg ICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIkVycm9yIHJlYWRpbmcgZnJhbWUgJXMsIHNr aXBwZWRcbiIsDQo+IGtleSk7DQo+IC0gICAgICAgIHJldHVybjsNCj4gLSAgICB9DQo+ICsgICAg LyogUmVhZCBhbGwgbnVsbC10ZXJtaW5hdGVkIHZhbHVlcyAqLw0KPiArICAgIHdoaWxlICh0YWds ZW4gPiAwKSB7DQo+ICsgICAgICAgIGludCBuID0gMCwgZGljdF9mbGFncyA9IEFWX0RJQ1RfQVBQ RU5EIHwNCj4gQVZfRElDVF9ET05UX1NUUkRVUF9WQUw7DQo+IA0KPiAtICAgIGlmICghKHN0cmNt cChrZXksICJUQ09OIikgJiYgc3RyY21wKGtleSwgIlRDTyIpKQ0KPiAmJg0KPiAtICAgICAgICAo c3NjYW5mKGRzdCwgIiglZCkiLCAmZ2VucmUpID09IDEgfHwgc3NjYW5mKGRzdCwgIiVkIiwgJmdl bnJlKQ0KPiA9PSAxKSAmJg0KPiAtICAgICAgICBnZW5yZSA8PSBJRDN2MV9HRU5SRV9NQVgpIHsN Cj4gLSAgICAgICAgYXZfZnJlZXAoJmRzdCk7DQo+IC0gICAgICAgIGRzdCA9IGF2X3N0cmR1cChm Zl9pZDN2MV9nZW5yZV9zdHJbZ2VucmVdKTsNCj4gLSAgICB9IGVsc2UgaWYgKCEoc3RyY21wKGtl eSwgIlRYWFgiKSAmJiBzdHJjbXAoa2V5LCAiVFhYIikpKSB7DQo+IC0gICAgICAgIC8qIGRzdCBu b3cgY29udGFpbnMgdGhlIGtleSwgbmVlZCB0byBnZXQgdmFsdWUgKi8NCj4gLSAgICAgICAga2V5 ID0gZHN0Ow0KPiAgICAgICAgICBpZiAoZGVjb2RlX3N0cihzLCBwYiwgZW5jb2RpbmcsICZkc3Qs ICZ0YWdsZW4pIDwgMCkgew0KPiAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwg IkVycm9yIHJlYWRpbmcgZnJhbWUgJXMsDQo+IHNraXBwZWRcbiIsIGtleSk7DQo+IC0gICAgICAg ICAgICBhdl9mcmVlcCgma2V5KTsNCj4gICAgICAgICAgICAgIHJldHVybjsNCj4gICAgICAgICAg fQ0KPiAtICAgICAgICBkaWN0X2ZsYWdzIHw9IEFWX0RJQ1RfRE9OVF9TVFJEVVBfS0VZOw0KPiAt ICAgIH0gZWxzZSBpZiAoISpkc3QpDQo+IC0gICAgICAgIGF2X2ZyZWVwKCZkc3QpOw0KPiANCj4g LSAgICBpZiAoZHN0KQ0KPiAtICAgICAgICBhdl9kaWN0X3NldChtZXRhZGF0YSwga2V5LCBkc3Qs IGRpY3RfZmxhZ3MpOw0KPiArICAgICAgICBpZiAoIShzdHJjbXAoa2V5LCAiVENPTiIpICYmIHN0 cmNtcChrZXksICJUQ08iKSkgJiYNCj4gKyAgICAgICAgICAgIChzc2NhbmYoZHN0LCAiKCVkKSIs ICZnZW5yZSkgPT0gMSB8fCAoc3NjYW5mKGRzdCwgIiVkJW4iLA0KPiAmZ2VucmUsICZuKSA9PSAx ICYmIG4gPT0gc3RybGVuKGRzdCkpKSAmJg0KPiArICAgICAgICAgICAgZ2VucmUgPD0gSUQzdjFf R0VOUkVfTUFYKSB7DQo+ICsgICAgICAgICAgICBhdl9mcmVlcCgmZHN0KTsNCj4gKyAgICAgICAg ICAgIGRzdCA9IGF2X3N0cmR1cChmZl9pZDN2MV9nZW5yZV9zdHJbZ2VucmVdKTsNCj4gKyAgICAg ICAgfSBlbHNlIGlmICghKHN0cmNtcChrZXksICJUWFhYIikgJiYgc3RyY21wKGtleSwgIlRYWCIp KSkgew0KPiArICAgICAgICAgICAgLyogZHN0IG5vdyBjb250YWlucyB0aGUga2V5LCBuZWVkIHRv IGdldCB2YWx1ZSAqLw0KPiArICAgICAgICAgICAga2V5ID0gZHN0Ow0KPiArICAgICAgICAgICAg aWYgKGRlY29kZV9zdHIocywgcGIsIGVuY29kaW5nLCAmZHN0LCAmdGFnbGVuKSA8IDApIHsNCj4g KyAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiRXJyb3IgcmVhZGluZyBm cmFtZSAlcywNCj4gc2tpcHBlZFxuIiwga2V5KTsNCj4gKyAgICAgICAgICAgICAgICBhdl9mcmVl cCgma2V5KTsNCj4gKyAgICAgICAgICAgICAgICByZXR1cm47DQo+ICsgICAgICAgICAgICB9DQo+ ICsgICAgICAgIH0gZWxzZSBpZiAoISpkc3QpIHsNCj4gKyAgICAgICAgICAgIGF2X2ZyZWVwKCZk c3QpOw0KPiArICAgICAgICAgICAgcmV0dXJuOw0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAg ICAgaWYgKGRzdCkgew0KPiArICAgICAgICAgICAgaWYgKG5iX3ZhbHVlcyA+IDApDQo+ICsgICAg ICAgICAgICAgICAgYXZfZGljdF9zZXQobWV0YWRhdGEsIGtleSwgIjsiLCBkaWN0X2ZsYWdzICYN Cj4gfkFWX0RJQ1RfRE9OVF9TVFJEVVBfVkFMKTsNCj4gKw0KPiArICAgICAgICAgICAgYXZfZGlj dF9zZXQobWV0YWRhdGEsIGtleSwgZHN0LCBkaWN0X2ZsYWdzKTsNCj4gKyAgICAgICAgICAgIG5i X3ZhbHVlcysrOw0KPiArICAgICAgICB9DQo+ICsgICAgfQ0KPiAgfQ0KPiANCj4gIHN0YXRpYyB2 b2lkIHJlYWRfdXNsdChBVkZvcm1hdENvbnRleHQgKnMsIEFWSU9Db250ZXh0ICpwYiwgaW50IHRh Z2xlbiwNCj4gQEAgLTM3Miw3ICszODgsNyBAQCBzdGF0aWMgdm9pZCByZWFkX3VzbHQoQVZGb3Jt YXRDb250ZXh0ICpzLA0KPiBBVklPQ29udGV4dCAqcGIsIGludCB0YWdsZW4sDQo+ICAgICAgaW50 IGVuY29kaW5nOw0KPiAgICAgIGludCBvayA9IDA7DQo+IA0KPiAtICAgIGlmICh0YWdsZW4gPCA0 KQ0KPiArICAgIGlmICh0YWdsZW4gPCAxKQ0KPiAgICAgICAgICBnb3RvIGVycm9yOw0KPiANCj4g ICAgICBlbmNvZGluZyA9IGF2aW9fcjgocGIpOw0KPiBAQCAtMzgzLDEwICszOTksMTAgQEAgc3Rh dGljIHZvaWQgcmVhZF91c2x0KEFWRm9ybWF0Q29udGV4dCAqcywNCj4gQVZJT0NvbnRleHQgKnBi LCBpbnQgdGFnbGVuLA0KPiAgICAgIGxhbmdbM10gPSAnXDAnOw0KPiAgICAgIHRhZ2xlbiAtPSAz Ow0KPiANCj4gLSAgICBpZiAoZGVjb2RlX3N0cihzLCBwYiwgZW5jb2RpbmcsICZkZXNjcmlwdG9y LCAmdGFnbGVuKSA8IDAgfHwgdGFnbGVuDQo+IDwgMCkNCj4gKyAgICBpZiAoZGVjb2RlX3N0cihz LCBwYiwgZW5jb2RpbmcsICZkZXNjcmlwdG9yLCAmdGFnbGVuKSA8IDApDQo+ICAgICAgICAgIGdv dG8gZXJyb3I7DQo+IA0KPiAtICAgIGlmIChkZWNvZGVfc3RyKHMsIHBiLCBlbmNvZGluZywgJnRl eHQsICZ0YWdsZW4pIDwgMCB8fCB0YWdsZW4gPCAwKQ0KPiArICAgIGlmIChkZWNvZGVfc3RyKHMs IHBiLCBlbmNvZGluZywgJnRleHQsICZ0YWdsZW4pIDwgMCkNCj4gICAgICAgICAgZ290byBlcnJv cjsNCj4gDQo+ICAgICAgLy8gRkZtcGVnIGRvZXMgbm90IHN1cHBvcnQgaGllcmFyY2hpY2FsIG1l dGFkYXRhLCBzbyBjb25jYXRlbmF0ZQ0KPiB0aGUga2V5cy4NCj4gQEAgLTEwMDMsNyArMTAxOSw4 IEBAIHN0YXRpYyB2b2lkIGlkM3YyX3BhcnNlKEFWSU9Db250ZXh0ICpwYiwNCj4gQVZEaWN0aW9u YXJ5ICoqbWV0YWRhdGEsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICB0Kys7DQo+ICAgICAg ICAgICAgICAgICAgfQ0KPiANCj4gLSAgICAgICAgICAgICAgICBmZmlvX2luaXRfcmVhZF9jb250 ZXh0KCZwYl9sb2NhbCwgYnVmZmVyLCBiIC0gYnVmZmVyKTsNCj4gKyAgICAgICAgICAgICAgICBm ZmlvX2luaXRfY29udGV4dCgmcGJfbG9jYWwsIGJ1ZmZlciwgYiAtIGJ1ZmZlciwgMCwNCj4gTlVM TCwgTlVMTCwgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM KTsNCj4gICAgICAgICAgICAgICAgICB0bGVuID0gYiAtIGJ1ZmZlcjsNCj4gICAgICAgICAgICAg ICAgICBwYnggID0gJnBiX2xvY2FsLnB1YjsgLy8gcmVhZCBmcm9tIHN5bmMgYnVmZmVyDQo+ICAg ICAgICAgICAgICB9DQo+IEBAIC0xMDM5LDcgKzEwNTYsNyBAQCBzdGF0aWMgdm9pZCBpZDN2Ml9w YXJzZShBVklPQ29udGV4dCAqcGIsDQo+IEFWRGljdGlvbmFyeSAqKm1ldGFkYXRhLA0KPiAgICAg ICAgICAgICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIkZhaWxlZCB0byB1 bmNvbXByZXNzDQo+IHRhZzogJWRcbiIsIGVycik7DQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICBnb3RvIHNlZWs7DQo+ICAgICAgICAgICAgICAgICAgICAgIH0NCj4gLSAgICAgICAgICAgICAg ICAgICAgZmZpb19pbml0X3JlYWRfY29udGV4dCgmcGJfbG9jYWwsDQo+IHVuY29tcHJlc3NlZF9i dWZmZXIsIGRsZW4pOw0KPiArICAgICAgICAgICAgICAgICAgICBmZmlvX2luaXRfY29udGV4dCgm cGJfbG9jYWwsIHVuY29tcHJlc3NlZF9idWZmZXIsDQo+IGRsZW4sIDAsIE5VTEwsIE5VTEwsIE5V TEwsIE5VTEwpOw0KPiAgICAgICAgICAgICAgICAgICAgICB0bGVuID0gZGxlbjsNCj4gICAgICAg ICAgICAgICAgICAgICAgcGJ4ID0gJnBiX2xvY2FsLnB1YjsgLy8gcmVhZCBmcm9tIHN5bmMgYnVm ZmVyDQo+ICAgICAgICAgICAgICAgICAgfQ0KPiANCj4gYmFzZS1jb21taXQ6IDBlN2MyYTYyODdm OTc3YzMwZTA4ZTJhMjExMzg1YzZhODA2MTRmZTgNCj4gLS0NCj4gZmZtcGVnLWNvZGVib3QNCg0K DQpJcyB0aGVyZSBhbnkgbWFpbnRhaW5lciBmb3IgYXZmb3JtYXQvaWQzdjIgb3Igc29tZWJvZHkg d2hvIHdvdWxkIGJlIGFibGUgdG8gcmV2aWV3IHRoaXM/DQoNClRoYW5rcw0Kc3cNCg0KDQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwg bWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsg YWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJq ZWN0ICJ1bnN1YnNjcmliZSIuCg==