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 DADBD48E55 for ; Fri, 29 Mar 2024 16:31:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 11F9D68D75C; Fri, 29 Mar 2024 18:31:30 +0200 (EET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01olkn2104.outbound.protection.outlook.com [40.92.66.104]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AD58168D716 for ; Fri, 29 Mar 2024 18:31:23 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EufzdmvzQ5rcEcrqcntnQYzFfE2SracSXHRhVLaWHsQbcOHOyygpKZJUkXqgaqWF0FVNfjKMYdqRD7gZlJB76V3QaI4brxytHUnsP25hR2z0nDIQUTK6d7RNCEcQeuYbPNmei8TRPLTYrkxxt0eGtNL9n+G4hGgm1M/DSz4vw//koOATRanS1nX/L6Nz91omr2Q8INX+ly/3KKu9GDarQzsysVguH0SJONPOgb5qWGNNr4S4oYcIM2zUq9YsO0t4NYRdXiwr/5XGk1BeERYfqW08UgyI2LL3D8y3zBmhO521tK94LfnYlG/KGpjbFqwLA9iAYWgTB16PluYs5oASzA== 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=hEL42exkXKtGyO1HvLnIfnSt4vO2w2UDAvSUsqTAqpQ=; b=KpCFn/KUpMcBxj8dTlC2zO0525PR1zrVwVILLaEM32Talz2PvW8QHcueoYOEOb8NIA3vXWYTL95iCrGPO+Nr4Rl2OAIAB5lzN9hNgWZS3cRtRD1z5nfgFmBZVYgsaiTAMwJXQ/DD1KMC5GGSmDhI5P5cwDSjzEgmNZyHayqn84oqpcWjIbAfIUYHBUosHTIWC5y0gByP6yj+wkIrMjtxOWJ+wiqQxADoOfhB2SmCEz3rMdUpmLD58ecNBOEKk/bJQ+OtIPwdor/jNCgIODyMyBkGd2/cgfip2dUec2DFOp+gzWwbPI0HkUkCM7Sfz2Ikalg8KZDspg+XhiGOX3rkag== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hEL42exkXKtGyO1HvLnIfnSt4vO2w2UDAvSUsqTAqpQ=; b=ajnwrttVDutEQLnDDhlL8tbUTBh9LyaIroGtMAnyGDMvB7Tn3u4zjGi2sMpK72LXKFBcrNR9G0K7SeDjs+C4sgZ+qSUy44r7LL2VWOAc501efF7nyfceKhneseEgKXVVjsAGRVetQ8D15Cguyl7LzpJikUmGB40EpnlG3qqxwSKfAL/OvgLALhNjwOc1CODLhv3QNa4tR4gVlpvEC6U/L9GAP+bt71wrrVgOqnjZu3KtICcwgyLvGBSB/MTmVFDqwQgAk5l3xGfoN4j9Vq66RjRO4ZEP6FvjGf6k9nGEIt3bMk2SFwuDcZCRfyWJzL6tLYvSohUZsByGp5VdTjtFyA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0298.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.38; Fri, 29 Mar 2024 16:31:20 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7409.039; Fri, 29 Mar 2024 16:31:14 +0000 Message-ID: Date: Fri, 29 Mar 2024 17:31:12 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20240329155601.14190-1-jamrial@gmail.com> <88b558f7-df39-4078-b256-ab94a5e20d7f@gmail.com> From: Andreas Rheinhardt In-Reply-To: <88b558f7-df39-4078-b256-ab94a5e20d7f@gmail.com> X-TMN: [oK50jM5vdxVwiUaSKPGC9FOHuuqwlkPIpZEE1o82L1Q=] X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::8) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <266404a2-38a4-467b-b8e7-f905edc4d14b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0298:EE_ X-MS-Office365-Filtering-Correlation-Id: 20fc2c08-8bee-452c-b8b8-08dc500da696 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VedFbsQEVhZsddm+3RRuFlZyqfiBt1wjT1/HxOM8EonYag1m0uaiLFn/HYYzATLYFC6Wero7mCAPjOmF6SyvdbXYZt8M8WVT420gX1x0Yd45L6l2PKXBYslIOGGogROMEkjwuiQeINPzKH8eynsj2SPpGq7xhePeAy64ADHhHkTmXAbN07rz7TzXhfMXzveU4x46u1RJjDf2VJ2+S3EHsazko6AzMjVQ83dHbbHZFdlVW3GQ4E9K8tE7QeHVsbtOTIDQLQAD+yr0Z1XoIDc2hUCmZiSdRVok7XZ49dUtodTqlzRiAxwwy7eizVQjC8b3vPkgyrx826+eOtRrf13Bxa4JnQqqk1TuMdXgat4ScZ5gIrZs05LMAw0vB+hQkO5X5NaKs+xWdMtZRlbkjK1xvnVkHLDDz3unynPMDSPao1kZbvGLqiapeb5VsB8mHzmTib80FjypYXP2aGkTa2ENvmVamhx0RPReL9ACVvG5MXpOyi+VxP/Z48ZWdY3uogSWtio3dMB6ys5jillALTUnxw6Yy2gzP5aQZSIiE3MIqyjDNP51Xy0WbSVxbkJt7n1E X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L0FVUXUyS05xdlVqV2haVGlmdlVpc0JlMFRCMjhhTWR5eGxwZGxGU1dsbis4?= =?utf-8?B?cjI2YVFZUmVKQjNJMGEyY1VaRitXMlJkSXgzb0U2dDN1dWpxUGg1MkZJQ1Jk?= =?utf-8?B?cktpZE9UWGp2ell5MlhmZ2FGajFrelVlWEtud2hvTkxxcitSZW5nbnpxd0dC?= =?utf-8?B?TGNlbGdUaFpyMGV2UkFJc3BLc0VQaU5YaWJUSDc1VmkwakduK3diOUJBMDkv?= =?utf-8?B?RDN0eFh0K0RjblF3ajJOa3l0MXR4TU1UbHdqcmNpU284VWtTSkxtYlY5THJE?= =?utf-8?B?YXEyb0psUjFBQU1oQXRHSjBzM3JzOEtUVlB2Yml4ZnY1dlBDVUJNWElNbTBk?= =?utf-8?B?YjFPSTNrWHI4QmdRRlRTU1lXemNUelh0b2NPelExbmF4MHc5STJqanB2cTNY?= =?utf-8?B?QWtScXF6YXVkQURiTmR0Z2RYU0E3akFRcG9UaDlkKzgwSnFCQ0wwazRFL1JD?= =?utf-8?B?RWd0VUpqRDAzcTg4VnZUOWJjQ2p6K08wdEQvM01iM0hpeVhQeEFVZ2NoUDJy?= =?utf-8?B?TFFWK1VFbDlIZjJ4eDB1VFhpdllmUkRFSng3bERuQVV5dG1XS2d6ODVwNW5n?= =?utf-8?B?MkN4bUtWc0l0YkI3bS9HTHg2SWQrNi93d3J1NFQrbE1RNldENjdQT3poMU1G?= =?utf-8?B?Q2JPQi9FbTdqM3NtM2oxaDh5RGVHS2ZQNlBYRTkwSElMVFVDL1JzN1VmVUZ2?= =?utf-8?B?ZlZzKzJsVXMyNldtbEtvRzc0TUNlUVE2ZkNiN0hTemJxS2pEdG1sZHJuQ1No?= =?utf-8?B?aG1qaVhoTWJjUDJyYktrZ0c3WGgrY1FvMzdJMTJzVUNFazlhSEpGZ2xscDZB?= =?utf-8?B?ajN5R0dMODBrc0UvVDdYaitTaUdMbUJSZVNUNDFYeUplbHF2STNRZS9mRktK?= =?utf-8?B?MXRXQ0gvWkVJMkphMkNjS1h0Ry9KTmJlRVc5cXoxYS9HdWovek50STF3Snll?= =?utf-8?B?TUhsUHZnU1I0TGdqNlRlcU5UUUdLZVFzc0FGMHlHVlpyTHpHemZCWDVSZmFw?= =?utf-8?B?Yk1xMS95bytHSjBLd1NkclFCYkNScEVmVk8rd3dQMllGYndtNW5rK0xjRkxV?= =?utf-8?B?alhVbGpvR0VxaXhETFRZSFh3ZWc0Vlc5RzFnU1hEWWM0USsxWnFoUFB5b1dV?= =?utf-8?B?cHJtaHBKU3N0OFlvN0loY2Ivd3lESXJ5UVhqaVg3NG5rTkxTQzFPMENZN20r?= =?utf-8?B?Mzh1cUpoMzlvWlN1bVZXeGo2UG11OHNJOHpIVk9vREZCaVV1bEJxeWhkYklH?= =?utf-8?B?WkhOdzVJMXZNNlhYazIxQm02dDN2Wk9PNVhJVk1hdGVVWXM1a2RMSDloUGlp?= =?utf-8?B?VmtLd2s4NFIzV0g4eG50RDEvYnFFWkRzZ1ZFMkUxT2MyQkJWdFp5aGlFS21J?= =?utf-8?B?bUpudVFINHhpUDdiNlRDSDJRSnV3Vk5VUHhXanVrZVN2bFhzTWt5UEhLd05D?= =?utf-8?B?YWVpMUNYZkxTZFpjUWthTm14ZG9wR2JNTjVETjEwNXh2K05xL1pHbUtRTzEv?= =?utf-8?B?eWFiL0tPNGx1dTJUem1FNnpSUTdub0xkYjRsWmE0RnJPeDQ3cFlmUGNSS3A4?= =?utf-8?B?eGM3b0VTS1h5V0RGUFZ0OTF6Y2J6blMvZXFvTjZWRnJWVytjNmE2VkN5Y3Qv?= =?utf-8?B?em03d3pDbDRSQ0YrVkIvSEd4cjJKaDYxYmREQTB2ZGFKYWpKanNzd0trUVlo?= =?utf-8?B?UnF0a3MrUUViOHkxY2pDUW43WCt4YUt5dm54bTRabE9ZcDdndDdVZ2ZnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20fc2c08-8bee-452c-b8b8-08dc500da696 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2024 16:31:14.0993 (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: AS8P250MB0298 Subject: Re: [FFmpeg-devel] [PATCH] avocdec/hevc_ps: don't use a fixed sized buffer for parameter set raw data 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: SmFtZXMgQWxtZXI6Cj4gT24gMy8yOS8yMDI0IDE6MTAgUE0sIEFuZHJlYXMgUmhlaW5oYXJkdCB3 cm90ZToKPj4gSmFtZXMgQWxtZXI6Cj4+PiBBbGxvY2F0ZSBpdCBpbnN0ZWFkLCBhbmQgdXNlIGl0 IHRvIGNvbXBhcmUgc2V0cyBpbnN0ZWFkIG9mIHRoZSBwYXJzZWQKPj4+IHN0cnVjdC4KPj4+Cj4+ PiBTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+Cj4+PiAtLS0K Pj4+IMKgIGxpYmF2Y29kZWMvaGV2Y19wcy5jIHwgODQgKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+IMKgIGxpYmF2Y29kZWMvaGV2Y19wcy5oIHwgMTQgKysr KystLS0KPj4+IMKgIDIgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRp b25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaGV2Y19wcy5jIGIvbGliYXZj b2RlYy9oZXZjX3BzLmMKPj4+IGluZGV4IDY0NzVkODZkN2QuLmU0MTcwMzlkNzYgMTAwNjQ0Cj4+ PiAtLS0gYS9saWJhdmNvZGVjL2hldmNfcHMuYwo+Pj4gKysrIGIvbGliYXZjb2RlYy9oZXZjX3Bz LmMKPj4+IEBAIC00NDIsMjAgKzQ0MiwxOCBAQCBzdGF0aWMgaW50IGRlY29kZV9ocmQoR2V0Qml0 Q29udGV4dCAqZ2IsIGludAo+Pj4gY29tbW9uX2luZl9wcmVzZW50LAo+Pj4gwqDCoMKgwqDCoCBy ZXR1cm4gMDsKPj4+IMKgIH0KPj4+IMKgIC1zdGF0aWMgdm9pZCB1bmluaXRfdnBzKEZGUmVmU3Ry dWN0T3BhcXVlIG9wYXF1ZSwgdm9pZCAqb2JqKQo+Pj4gK3N0YXRpYyB2b2lkIGhldmNfdnBzX2Zy ZWUoRkZSZWZTdHJ1Y3RPcGFxdWUgb3BhcXVlLCB2b2lkICpvYmopCj4+PiDCoCB7Cj4+PiDCoMKg wqDCoMKgIEhFVkNWUFMgKnZwcyA9IG9iajsKPj4+IMKgIMKgwqDCoMKgwqAgYXZfZnJlZXAoJnZw cy0+aGRyKTsKPj4+ICvCoMKgwqAgYXZfZnJlZXAoJnZwcy0+ZGF0YSk7Cj4+PiDCoCB9Cj4+PiDC oCDCoCBzdGF0aWMgaW50IGNvbXBhcmVfdnBzKGNvbnN0IEhFVkNWUFMgKnZwczEsIGNvbnN0IEhF VkNWUFMgKnZwczIpCj4+PiDCoCB7Cj4+PiAtwqDCoMKgIGlmICghbWVtY21wKHZwczEsIHZwczIs IG9mZnNldG9mKEhFVkNWUFMsIGhkcikpKQo+Pj4gLcKgwqDCoMKgwqDCoMKgIHJldHVybiAhdnBz MS0+dnBzX251bV9ocmRfcGFyYW1ldGVycyB8fAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgIW1lbWNtcCh2cHMxLT5oZHIsIHZwczItPmhkciwKPj4+IHZwczEtPnZwc19udW1faHJk X3BhcmFtZXRlcnMgKiBzaXplb2YoKnZwczEtPmhkcikpOwo+Pj4gLQo+Pj4gLcKgwqDCoCByZXR1 cm4gMDsKPj4+ICvCoMKgwqAgcmV0dXJuIHZwczEtPmRhdGFfc2l6ZSA9PSB2cHMyLT5kYXRhX3Np emUgJiYKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAhbWVtY21wKHZwczEtPmRhdGEsIHZwczIt PmRhdGEsIHZwczEtPmRhdGFfc2l6ZSk7Cj4+PiDCoCB9Cj4+PiDCoCDCoCBpbnQgZmZfaGV2Y19k ZWNvZGVfbmFsX3ZwcyhHZXRCaXRDb250ZXh0ICpnYiwgQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+ Pj4gQEAgLTQ2MywyNSArNDYxLDIwIEBAIGludCBmZl9oZXZjX2RlY29kZV9uYWxfdnBzKEdldEJp dENvbnRleHQgKmdiLAo+Pj4gQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+Pj4gwqAgewo+Pj4gwqDC oMKgwqDCoCBpbnQgaSxqOwo+Pj4gwqDCoMKgwqDCoCBpbnQgdnBzX2lkID0gMDsKPj4+IC3CoMKg wqAgcHRyZGlmZl90IG5hbF9zaXplOwo+Pj4gLcKgwqDCoCBIRVZDVlBTICp2cHMgPSBmZl9yZWZz dHJ1Y3RfYWxsb2NfZXh0KHNpemVvZigqdnBzKSwgMCwgTlVMTCwKPj4+IHVuaW5pdF92cHMpOwo+ Pj4gK8KgwqDCoCBpbnQgcmV0ID0gQVZFUlJPUl9JTlZBTElEREFUQTsKPj4+ICvCoMKgwqAgSEVW Q1ZQUyAqdnBzID0gZmZfcmVmc3RydWN0X2FsbG9jX2V4dChzaXplb2YoKnZwcyksIDAsIE5VTEws Cj4+PiBoZXZjX3Zwc19mcmVlKTsKPj4+IMKgIMKgwqDCoMKgwqAgaWYgKCF2cHMpCj4+PiDCoMKg wqDCoMKgwqDCoMKgwqAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKPj4+IMKgIMKgwqDCoMKgwqAg YXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJEZWNvZGluZyBWUFNcbiIpOwo+Pj4gwqAgLcKg wqDCoCBuYWxfc2l6ZSA9IGdiLT5idWZmZXJfZW5kIC0gZ2ItPmJ1ZmZlcjsKPj4+IC3CoMKgwqAg aWYgKG5hbF9zaXplID4gc2l6ZW9mKHZwcy0+ZGF0YSkpIHsKPj4+IC3CoMKgwqDCoMKgwqDCoCBh dl9sb2coYXZjdHgsIEFWX0xPR19XQVJOSU5HLCAiVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVk Cj4+PiBWUFMgIgo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiglIlBUUkRJRkZf U1BFQ0lGSUVSIiA+ICUiU0laRV9TUEVDSUZJRVIiKVxuIiwKPj4+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIG5hbF9zaXplLCBzaXplb2YodnBzLT5kYXRhKSk7Cj4+PiAtwqDCoMKgwqDC oMKgwqAgdnBzLT5kYXRhX3NpemUgPSBzaXplb2YodnBzLT5kYXRhKTsKPj4+IC3CoMKgwqAgfSBl bHNlIHsKPj4+IC3CoMKgwqDCoMKgwqDCoCB2cHMtPmRhdGFfc2l6ZSA9IG5hbF9zaXplOwo+Pj4g K8KgwqDCoCB2cHMtPmRhdGFfc2l6ZSA9IGdiLT5idWZmZXJfZW5kIC0gZ2ItPmJ1ZmZlcjsKPj4+ ICvCoMKgwqAgdnBzLT5kYXRhID0gYXZfbWVtZHVwKGdiLT5idWZmZXIsIHZwcy0+ZGF0YV9zaXpl KTsKPj4+ICvCoMKgwqAgaWYgKCF2cHMtPmRhdGEpIHsKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXQg PSBBVkVSUk9SKEVOT01FTSk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgZ290byBlcnI7Cj4+PiDCoMKg wqDCoMKgIH0KPj4+IC3CoMKgwqAgbWVtY3B5KHZwcy0+ZGF0YSwgZ2ItPmJ1ZmZlciwgdnBzLT5k YXRhX3NpemUpOwo+Pj4gLQo+Pj4gwqDCoMKgwqDCoCB2cHNfaWQgPSB2cHMtPnZwc19pZCA9IGdl dF9iaXRzKGdiLCA0KTsKPj4+IMKgIMKgwqDCoMKgwqAgaWYgKGdldF9iaXRzKGdiLCAyKSAhPSAz KSB7IC8vIHZwc19yZXNlcnZlZF90aHJlZV8yYml0cwo+Pj4gQEAgLTU5MSw3ICs1ODQsNyBAQCBp bnQgZmZfaGV2Y19kZWNvZGVfbmFsX3ZwcyhHZXRCaXRDb250ZXh0ICpnYiwKPj4+IEFWQ29kZWND b250ZXh0ICphdmN0eCwKPj4+IMKgIMKgIGVycjoKPj4+IMKgwqDCoMKgwqAgZmZfcmVmc3RydWN0 X3VucmVmKCZ2cHMpOwo+Pj4gLcKgwqDCoCByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKPj4+ ICvCoMKgwqAgcmV0dXJuIHJldDsKPj4+IMKgIH0KPj4+IMKgIMKgIHN0YXRpYyB2b2lkIGRlY29k ZV92dWkoR2V0Qml0Q29udGV4dCAqZ2IsIEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4+IEBAIC0x Mjk0LDM2ICsxMjg3LDQzIEBAIGludCBmZl9oZXZjX3BhcnNlX3NwcyhIRVZDU1BTICpzcHMsCj4+ PiBHZXRCaXRDb250ZXh0ICpnYiwgdW5zaWduZWQgaW50ICpzcHNfaWQsCj4+PiDCoMKgwqDCoMKg IHJldHVybiAwOwo+Pj4gwqAgfQo+Pj4gwqAgK3N0YXRpYyB2b2lkIGhldmNfc3BzX2ZyZWUoRkZS ZWZTdHJ1Y3RPcGFxdWUgb3BhcXVlLCB2b2lkICpvYmopCj4+PiArewo+Pj4gK8KgwqDCoCBIRVZD U1BTICpzcHMgPSBvYmo7Cj4+PiArCj4+PiArwqDCoMKgIGF2X2ZyZWVwKCZzcHMtPmRhdGEpOwo+ Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgaW50IGNvbXBhcmVfc3BzKGNvbnN0IEhFVkNTUFMgKnNw czEsIGNvbnN0IEhFVkNTUFMgKnNwczIpCj4+PiArewo+Pj4gK8KgwqDCoCByZXR1cm4gc3BzMS0+ ZGF0YV9zaXplID09IHNwczItPmRhdGFfc2l6ZSAmJgo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg ICFtZW1jbXAoc3BzMS0+ZGF0YSwgc3BzMi0+ZGF0YSwgc3BzMS0+ZGF0YV9zaXplKTsKPj4+ICt9 Cj4+PiArCj4+PiDCoCBpbnQgZmZfaGV2Y19kZWNvZGVfbmFsX3NwcyhHZXRCaXRDb250ZXh0ICpn YiwgQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEVWQ1BhcmFtU2V0cyAqcHMsIGludCBhcHBs eV9kZWZkaXNwd2luKQo+Pj4gwqAgewo+Pj4gLcKgwqDCoCBIRVZDU1BTICpzcHMgPSBmZl9yZWZz dHJ1Y3RfYWxsb2N6KHNpemVvZigqc3BzKSk7Cj4+PiArwqDCoMKgIEhFVkNTUFMgKnNwcyA9IGZm X3JlZnN0cnVjdF9hbGxvY19leHQoc2l6ZW9mKCpzcHMpLCAwLCBOVUxMLAo+Pj4gaGV2Y19zcHNf ZnJlZSk7Cj4+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBzcHNfaWQ7Cj4+PiDCoMKgwqDCoMKg IGludCByZXQ7Cj4+PiAtwqDCoMKgIHB0cmRpZmZfdCBuYWxfc2l6ZTsKPj4+IMKgIMKgwqDCoMKg wqAgaWYgKCFzcHMpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEFWRVJST1IoRU5PTUVN KTsKPj4+IMKgIMKgwqDCoMKgwqAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJEZWNvZGlu ZyBTUFNcbiIpOwo+Pj4gwqAgLcKgwqDCoCBuYWxfc2l6ZSA9IGdiLT5idWZmZXJfZW5kIC0gZ2It PmJ1ZmZlcjsKPj4+IC3CoMKgwqAgaWYgKG5hbF9zaXplID4gc2l6ZW9mKHNwcy0+ZGF0YSkpIHsK Pj4+IC3CoMKgwqDCoMKgwqDCoCBhdl9sb2coYXZjdHgsIEFWX0xPR19XQVJOSU5HLCAiVHJ1bmNh dGluZyBsaWtlbHkgb3ZlcnNpemVkCj4+PiBTUFMgIgo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgIiglIlBUUkRJRkZfU1BFQ0lGSUVSIiA+ICUiU0laRV9TUEVDSUZJRVIiKVxuIiwK Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5hbF9zaXplLCBzaXplb2Yoc3BzLT5k YXRhKSk7Cj4+PiAtwqDCoMKgwqDCoMKgwqAgc3BzLT5kYXRhX3NpemUgPSBzaXplb2Yoc3BzLT5k YXRhKTsKPj4+IC3CoMKgwqAgfSBlbHNlIHsKPj4+IC3CoMKgwqDCoMKgwqDCoCBzcHMtPmRhdGFf c2l6ZSA9IG5hbF9zaXplOwo+Pj4gK8KgwqDCoCBzcHMtPmRhdGFfc2l6ZSA9IGdiLT5idWZmZXJf ZW5kIC0gZ2ItPmJ1ZmZlcjsKPj4+ICvCoMKgwqAgc3BzLT5kYXRhID0gYXZfbWVtZHVwKGdiLT5i dWZmZXIsIHNwcy0+ZGF0YV9zaXplKTsKPj4+ICvCoMKgwqAgaWYgKCFzcHMtPmRhdGEpIHsKPj4+ ICvCoMKgwqDCoMKgwqDCoCByZXQgPSBBVkVSUk9SKEVOT01FTSk7Cj4+PiArwqDCoMKgwqDCoMKg wqAgZ290byBlcnI7Cj4+PiDCoMKgwqDCoMKgIH0KPj4+IC3CoMKgwqAgbWVtY3B5KHNwcy0+ZGF0 YSwgZ2ItPmJ1ZmZlciwgc3BzLT5kYXRhX3NpemUpOwo+Pj4gwqAgwqDCoMKgwqDCoCByZXQgPSBm Zl9oZXZjX3BhcnNlX3NwcyhzcHMsIGdiLCAmc3BzX2lkLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcHBseV9kZWZkaXNwd2lu LAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBwcy0+dnBzX2xpc3QsIGF2Y3R4KTsKPj4+IMKgwqDCoMKgwqAgaWYgKHJldCA8IDAp IHsKPj4+IC3CoMKgwqDCoMKgwqDCoCBmZl9yZWZzdHJ1Y3RfdW5yZWYoJnNwcyk7Cj4+PiAtwqDC oMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGVycjsKPj4+ IMKgwqDCoMKgwqAgfQo+Pj4gwqAgwqDCoMKgwqDCoCBpZiAoYXZjdHgtPmRlYnVnICYgRkZfREVC VUdfQklUU1RSRUFNKSB7Cj4+PiBAQCAtMTM0MCw3ICsxMzQwLDcgQEAgaW50IGZmX2hldmNfZGVj b2RlX25hbF9zcHMoR2V0Qml0Q29udGV4dCAqZ2IsCj4+PiBBVkNvZGVjQ29udGV4dCAqYXZjdHgs Cj4+PiDCoMKgwqDCoMKgwqAgKiBvcmlnaW5hbCBvbmUuCj4+PiDCoMKgwqDCoMKgwqAgKiBvdGhl cndpc2UgZHJvcCBhbGwgUFBTZXMgdGhhdCBkZXBlbmQgb24gaXQgKi8KPj4+IMKgwqDCoMKgwqAg aWYgKHBzLT5zcHNfbGlzdFtzcHNfaWRdICYmCj4+PiAtwqDCoMKgwqDCoMKgwqAgIW1lbWNtcChw cy0+c3BzX2xpc3Rbc3BzX2lkXSwgc3BzLCBzaXplb2YoKnNwcykpKSB7Cj4+PiArwqDCoMKgwqDC oMKgwqAgY29tcGFyZV9zcHMocHMtPnNwc19saXN0W3Nwc19pZF0sIHNwcykpIHsKPj4+IMKgwqDC oMKgwqDCoMKgwqDCoCBmZl9yZWZzdHJ1Y3RfdW5yZWYoJnNwcyk7Cj4+PiDCoMKgwqDCoMKgIH0g ZWxzZSB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3ZlX3Nwcyhwcywgc3BzX2lkKTsKPj4+ IEBAIC0xMzQ4LDYgKzEzNDgsOSBAQCBpbnQgZmZfaGV2Y19kZWNvZGVfbmFsX3NwcyhHZXRCaXRD b250ZXh0ICpnYiwKPj4+IEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4+IMKgwqDCoMKgwqAgfQo+ Pj4gwqAgwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4+ICtlcnI6Cj4+PiArwqDCoMKgIGZmX3JlZnN0 cnVjdF91bnJlZigmc3BzKTsKPj4+ICvCoMKgwqAgcmV0dXJuIHJldDsKPj4+IMKgIH0KPj4+IMKg IMKgIHN0YXRpYyB2b2lkIGhldmNfcHBzX2ZyZWUoRkZSZWZTdHJ1Y3RPcGFxdWUgdW51c2VkLCB2 b2lkICpvYmopCj4+PiBAQCAtMTM2NCw2ICsxMzY3LDcgQEAgc3RhdGljIHZvaWQgaGV2Y19wcHNf ZnJlZShGRlJlZlN0cnVjdE9wYXF1ZQo+Pj4gdW51c2VkLCB2b2lkICpvYmopCj4+PiDCoMKgwqDC oMKgIGF2X2ZyZWVwKCZwcHMtPnRpbGVfcG9zX3JzKTsKPj4+IMKgwqDCoMKgwqAgYXZfZnJlZXAo JnBwcy0+dGlsZV9pZCk7Cj4+PiDCoMKgwqDCoMKgIGF2X2ZyZWVwKCZwcHMtPm1pbl90Yl9hZGRy X3pzX3RhYik7Cj4+PiArwqDCoMKgIGF2X2ZyZWVwKCZwcHMtPmRhdGEpOwo+Pj4gwqAgfQo+Pj4g wqAgwqAgc3RhdGljIHZvaWQgY29sb3VyX21hcHBpbmdfb2N0YW50cyhHZXRCaXRDb250ZXh0ICpn YiwgSEVWQ1BQUwo+Pj4gKnBwcywgaW50IGlucF9kZXB0aCwKPj4+IEBAIC0xNzczLDE2ICsxNzc3 LDEyIEBAIGludCBmZl9oZXZjX2RlY29kZV9uYWxfcHBzKEdldEJpdENvbnRleHQgKmdiLAo+Pj4g QVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+Pj4gwqAgwqDCoMKgwqDCoCBhdl9sb2coYXZjdHgsIEFW X0xPR19ERUJVRywgIkRlY29kaW5nIFBQU1xuIik7Cj4+PiDCoCAtwqDCoMKgIG5hbF9zaXplID0g Z2ItPmJ1ZmZlcl9lbmQgLSBnYi0+YnVmZmVyOwo+Pj4gLcKgwqDCoCBpZiAobmFsX3NpemUgPiBz aXplb2YocHBzLT5kYXRhKSkgewo+Pj4gLcKgwqDCoMKgwqDCoMKgIGF2X2xvZyhhdmN0eCwgQVZf TE9HX1dBUk5JTkcsICJUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQKPj4+IFBQUyAiCj4+PiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiKCUiUFRSRElGRl9TUEVDSUZJRVIiID4gJSJT SVpFX1NQRUNJRklFUiIpXG4iLAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmFs X3NpemUsIHNpemVvZihwcHMtPmRhdGEpKTsKPj4+IC3CoMKgwqDCoMKgwqDCoCBwcHMtPmRhdGFf c2l6ZSA9IHNpemVvZihwcHMtPmRhdGEpOwo+Pj4gLcKgwqDCoCB9IGVsc2Ugewo+Pj4gLcKgwqDC oMKgwqDCoMKgIHBwcy0+ZGF0YV9zaXplID0gbmFsX3NpemU7Cj4+PiArwqDCoMKgIHBwcy0+ZGF0 YV9zaXplID0gZ2ItPmJ1ZmZlcl9lbmQgLSBnYi0+YnVmZmVyOwo+Pj4gK8KgwqDCoCBwcHMtPmRh dGEgPSBhdl9tZW1kdXAoZ2ItPmJ1ZmZlciwgcHBzLT5kYXRhX3NpemUpOwo+Pj4gK8KgwqDCoCBp ZiAoIXBwcy0+ZGF0YSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldCA9IEFWRVJST1JfSU5WQUxJ RERBVEE7Cj4+PiArwqDCoMKgwqDCoMKgwqAgZ290byBlcnI7Cj4+PiDCoMKgwqDCoMKgIH0KPj4+ IC3CoMKgwqAgbWVtY3B5KHBwcy0+ZGF0YSwgZ2ItPmJ1ZmZlciwgcHBzLT5kYXRhX3NpemUpOwo+ Pj4gwqAgwqDCoMKgwqDCoCAvLyBEZWZhdWx0IHZhbHVlcwo+Pj4gwqDCoMKgwqDCoCBwcHMtPmxv b3BfZmlsdGVyX2Fjcm9zc190aWxlc19lbmFibGVkX2ZsYWcgPSAxOwo+Pj4gZGlmZiAtLWdpdCBh L2xpYmF2Y29kZWMvaGV2Y19wcy5oIGIvbGliYXZjb2RlYy9oZXZjX3BzLmgKPj4+IGluZGV4IDBk OGVhZjJiM2UuLmJlZDQwNjc3MGYgMTAwNjQ0Cj4+PiAtLS0gYS9saWJhdmNvZGVjL2hldmNfcHMu aAo+Pj4gKysrIGIvbGliYXZjb2RlYy9oZXZjX3BzLmgKPj4+IEBAIC0xNzIsMTEgKzE3MiwxMSBA QCB0eXBlZGVmIHN0cnVjdCBIRVZDVlBTIHsKPj4+IMKgwqDCoMKgwqAgaW50IHZwc19udW1fdGlj a3NfcG9jX2RpZmZfb25lOyAvLy88Cj4+PiB2cHNfbnVtX3RpY2tzX3BvY19kaWZmX29uZV9taW51 czEgKyAxCj4+PiDCoMKgwqDCoMKgIGludCB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzOwo+Pj4gwqAg LcKgwqDCoCB1aW50OF90IGRhdGFbNDA5Nl07Cj4+PiAtwqDCoMKgIGludCBkYXRhX3NpemU7Cj4+ PiAtwqDCoMKgIC8qIFB1dCB0aGlzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cnVjdHVyZSB0byBtYWtl IGl0IGVhc2llciB0bwo+Pj4gY2FsY3VsYXRlIHRoZQo+Pj4gK8KgwqDCoCAvKiBLZWVwIHRoaXMg YXQgdGhlIGVuZCBvZiB0aGUgc3RydWN0dXJlIHRvIG1ha2UgaXQgZWFzaWVyIHRvCj4+PiBjYWxj dWxhdGUgdGhlCj4+PiDCoMKgwqDCoMKgwqAgKiBzaXplIGJlZm9yZSB0aGlzIHBvaW50ZXIsIHdo aWNoIGlzIHVzZWQgZm9yIG1lbWNtcCAqLwo+Pj4gwqDCoMKgwqDCoCBIRVZDSGRyUGFyYW1zICpo ZHI7Cj4+PiArwqDCoMKgIHVpbnQ4X3QgKmRhdGE7Cj4+PiArwqDCoMKgIGludCBkYXRhX3NpemU7 Cj4+PiDCoCB9IEhFVkNWUFM7Cj4+PiDCoCDCoCB0eXBlZGVmIHN0cnVjdCBTY2FsaW5nTGlzdCB7 Cj4+PiBAQCAtMjk5LDcgKzI5OSw5IEBAIHR5cGVkZWYgc3RydWN0IEhFVkNTUFMgewo+Pj4gwqAg wqDCoMKgwqDCoCBpbnQgcXBfYmRfb2Zmc2V0Owo+Pj4gwqAgLcKgwqDCoCB1aW50OF90IGRhdGFb NDA5Nl07Cj4+PiArwqDCoMKgIC8qIEtlZXAgdGhpcyBhdCB0aGUgZW5kIG9mIHRoZSBzdHJ1Y3R1 cmUgdG8gbWFrZSBpdCBlYXNpZXIgdG8KPj4+IGNhbGN1bGF0ZSB0aGUKPj4+ICvCoMKgwqDCoCAq IHNpemUgYmVmb3JlIHRoaXMgcG9pbnRlciwgd2hpY2ggaXMgdXNlZCBmb3IgbWVtY21wICovCj4+ PiArwqDCoMKgIHVpbnQ4X3QgKmRhdGE7Cj4+PiDCoMKgwqDCoMKgIGludCBkYXRhX3NpemU7Cj4+ PiDCoCB9IEhFVkNTUFM7Cj4+PiDCoCBAQCAtNDM0LDcgKzQzNiw5IEBAIHR5cGVkZWYgc3RydWN0 IEhFVkNQUFMgewo+Pj4gwqDCoMKgwqDCoCBpbnQgKm1pbl90Yl9hZGRyX3pzO8KgwqDCoCAvLy88 IE1pblRiQWRkclpTCj4+PiDCoMKgwqDCoMKgIGludCAqbWluX3RiX2FkZHJfenNfdGFiOy8vLzwg TWluVGJBZGRyWlMKPj4+IMKgIC3CoMKgwqAgdWludDhfdCBkYXRhWzQwOTZdOwo+Pj4gK8KgwqDC oCAvKiBLZWVwIHRoaXMgYXQgdGhlIGVuZCBvZiB0aGUgc3RydWN0dXJlIHRvIG1ha2UgaXQgZWFz aWVyIHRvCj4+PiBjYWxjdWxhdGUgdGhlCj4+PiArwqDCoMKgwqAgKiBzaXplIGJlZm9yZSB0aGlz IHBvaW50ZXIsIHdoaWNoIGlzIHVzZWQgZm9yIG1lbWNtcCAqLwo+Pj4gK8KgwqDCoCB1aW50OF90 ICpkYXRhOwo+Pj4gwqDCoMKgwqDCoCBpbnQgZGF0YV9zaXplOwo+Pj4gwqAgfSBIRVZDUFBTOwo+ Pj4gwqAgCj4+Cj4+IFRoaXMgaXMgdmFzdGx5IG92ZXJjb21wbGljYXRlZDogSWYgeW91IGFscmVh ZHkgaGF2ZSB0aGUgY29tcGxldGUgZGF0YSBvZgo+PiB0aGUgZWFybGllciBQUywgYWxsIHlvdSBu ZWVkIGlzIGNvbXBhcmluZyB0aGUgZGF0YSBiZWZvcmUgeW91IGV2ZW4gcGFyc2UKPj4gdGhlIG5l dyBwYXJhbWV0ZXIgc2V0Lgo+IAo+IE5lZWQgdG8gZ2V0IHNwc19pZCBmcm9tIHRoZSBuZXcgc3Bz IGJ1ZmZlciwgd2hpY2ggcmVxdWlyZXMgY2FsbGluZwo+IGZmX2hldmNfcGFyc2Vfc3BzKCkuIFNh bWUgZm9yIHBwcyB0byBnZXQgcHBzX2lkLiBPbmx5IHZwcyBoYXMgaXRzIGlkIGFzCj4gdGhlIHZl cnkgZmlyc3QgZWxlbWVudC4KCk5vLiBTUFMgaXMgdGhlIG9ubHkgZXhjZXB0aW9uLgoKLSBBbmRy ZWFzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZt cGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZp c2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcg d2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==