From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 60AD44D3D0 for ; Sat, 31 May 2025 20:08:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 140F568DE58; Sat, 31 May 2025 23:08:21 +0300 (EEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2102.outbound.protection.outlook.com [40.92.58.102]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id ECA3968D5C2 for ; Sat, 31 May 2025 23:08:13 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lw+SjHVyGC4ncrUXr47S6pt6eIEUnAcSP+5Bv1Lh3TYvMlbnm9JAmE3UdnymOgVYpUtBHlZ/eA6LQlDBPzoHxeC/hBcVGzyjeKBlGqv+LpgMIraRmBcUsGFnoDeHZD++yKIF4mGhvfNvpmNBVrMLBmfBMUD0NjOXDq1GhU6HS7aki66urHaKltGxEq4Z+ucHdEoeReOytMEohCq8Llsac4LW8uuaODk3fd+wwddwG9aqJuF7Cs4wxgNTdDfpzVft0Lrvoulz39KjHN4d7d1Xx/5D2K8pNO68F5v7i0+sndrZzQ67cDX9QTfAsWczPjJI+eDklPxwpeOdrrkJMRGrhw== 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=WQ0LRKVp5Bh8PV9+jJ5QIT0pcn1Ua4z5w5jdNTh5VSg=; b=u3lsRfhDFwq6s+Wq/oYDhBK7FOomuKjP0AAfbnmc+yhvurpQ+bEvtKo95z8lZgHI+IzWHL+CdeCVBaPNFcmFbhQBarLYWnPtqSmEM74R7eL3iTpqb6+KVMbGwaaHb5idDoq5kOn7yfoQQf6F+qG9ZKoDBKB5dvObCmCCEyTKOCfxmAWRfJQ0wVTtiyweJGgw6KAKXdH33Fue/MnqPkogz6m+OOppTELJJ8b2tFmeJBnaXFUrAhiKrcoqSYEgUwOQJCcn/hC3VduBgDxgxbEIXSn+D2rLwWK1tbVsG4tj8Ulj9dpx7to7FVYqVp0qzT3tv97vS/cvuCdhgWaOreZGcw== 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=WQ0LRKVp5Bh8PV9+jJ5QIT0pcn1Ua4z5w5jdNTh5VSg=; b=t3VKn9eTuPtSnX/72gkDCJbcnQzKwhmzWVDPI2gkwKdbm9NKlZgyfle39Q5gQ3vbVT3MTtaLITowkXFsdVtSNoucfVuwIu3PWNQt7zQcVoJL7NKqItA/C4l/ymB2g/IbdAMMZm3scgM8PnuZH4WaVYW3byCrppgSAPw9wd7f8EF6WY/m5vw42oAhthe6C4F7LfBX578Qhb/QYfik5bwYrRkgWdZLToWsikmP+PG0qXrWCHCxJoEecJR+oYA+OfnJClT9zqqQyEXJVWDY/+YNq4aromwwHzVtDYRVCo442ZLEPvPhymbWs8Xc953qVtN2u91cJ4msYgmfdqfHUaRf1w== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU0P250MB1043.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:426::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.30; Sat, 31 May 2025 20:08:11 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%3]) with mapi id 15.20.8769.021; Sat, 31 May 2025 20:08:11 +0000 Message-ID: Date: Sat, 31 May 2025 22:08:10 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250524181408.49384-1-romain.beauxis@gmail.com> <20250524181408.49384-5-romain.beauxis@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-ClientProxiedBy: FR4P281CA0410.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d0::15) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU0P250MB1043:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ccb4f12-d717-4174-f4e7-08dda07eddf6 X-MS-Exchange-SLBlob-MailProps: a+H6FLLcF3qJxlamga53fEWW0rZ5v6J0niZ2rL7txMXu5mcVt25w3ymPt5WxcapSMWvXuPiuyY2wxAziPh4iSYgDsrU62SG1y9oVe314Jx7jpmPe7HwXiFKsode61/4T9hUiufPHeUVH15cfOyuH5XKtUEj7ISj1DGhlCdS/C4fGNMyv7/90qMkLlu3nuO5QHaEJQvb95NydOso+8xRiyLvm7jHeBEGpCfF8yIQII3QAEp+GR/L2mJ6uM+D5a9WfwJIqiQKrGQfwUjo0bRa9cjAqrlbEU8/vCuOrf62TgkVFnSVCMyhYJXTlXl9Re8i6dN5YCINCrNyKWYbp0DbQOR9FVXK9o9ugCZJpZa3cOfxzAjRsT2Phq8QGkuGevbT2wX2ekrTQQLarwbiRAMCVfxfqFwRzPNbQ94i8wRyMIMQI2dIDkaVS6Hz3L7fsMSW7ekZfZvGiHz1pUjBFvDH1UK6WC+A3F8+qT0EL+cSlgeVnwF8NUZ6z1aSNQgGemN7f5KCKkXkZTG23/8/v3VYJQhi5zlqGxHqKKN7PQFQXcLokR7JXIedE+bI5Jenc3RN9lmJY7BxGCIm6Di13jMQq9KXh5Kew+eRE/MH0zoAi2f6t3qm3zPMC86vwB4R8YkPKcvziyA+DC5XbCTjALb3sjZ3I1YFZg94/MUQ+bNEma681EB7XMtbLR1iPxBRnMA6PD06imxQboFDRd1+aZnIeVewZ+StrZ3vPkYmG+45X4OVV0MzjgyffUH41cGRe9DatZMZyg3qVtiLu9CV6sl8HMWc9jpsiuVDcoFoI2hs6f/dSPqEYgkIwl3AxVWtyUzdh X-Microsoft-Antispam: BCL:0; ARA:14566002|6090799003|7092599006|19110799006|15080799009|5072599009|8060799009|41001999006|461199028|3412199025|440099028|12091999003|10035399007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UzY0SEl2YkRNVnZqaWpoM1paV1FSNjZyVHZOdTRBSlQwVnpCaFB2REh3Um4v?= =?utf-8?B?Z2JZWnZVemJNZDVXTjl5Vy9zSEZKVklxUVh3UE04emUybXJUT2ZXT054VUo0?= =?utf-8?B?d2xrMmEzdjljTzFFV1ByazZ6Zy9nVE00QnZmSVhjMzlWTU5jOWY3YUNNeGZK?= =?utf-8?B?eCsrb082UTVoNGloTWF6bWxRc2hlL0VKdDRqZUJQblhrclV6dWl2M2NUeHNi?= =?utf-8?B?SXp6SmVSZnVIb1ZMTlpUeGRWZ2tIcFgrdndqNkpOL2grK3FuRHpWNGNwMVU1?= =?utf-8?B?N0trMjNUU0VpVDZma0g5eTVvVndyUnlXWFF3dGh5azEwYk5rcGxuR0I5U1Z5?= =?utf-8?B?bDBvM2JUTHQ2NmxMc2xZQUFiOFByNWkwcWVYOGtBVVlaL3B2ZUV0WHZiVDAv?= =?utf-8?B?RTBxY3EzV29aQ3FNS0F3T2VyRFNNOVkwdW9ZSnIydWZtVWlIT1EvOGtKVHhz?= =?utf-8?B?emg2ejczZGxaYSsrUzhBZ2JhVFNIRDBDK2Z2T1JqK055VTFvT1VUeXN4ZnBU?= =?utf-8?B?N1k5N0MrenIvaU92SFdKZmcvMnVaUTB6SGtPVVBjLzFqQU1GMERJRDhCUE5C?= =?utf-8?B?NkxDVUR4bnNmcjMvQjU5NFR5MzMxVnJxdGhQd2liRjF2NTFPdHF2QlNNeERU?= =?utf-8?B?eVBEczIyK3E0ejRVT1JCVGpjVzU5b1JQeEVpOHlLTmRvT3d3cTlQaFZubTQ0?= =?utf-8?B?dWhMTUd6M2NQaXpuSXZkQTdNODM5NnhkV212R00vb0J1c2xwcWFPUlZQck1u?= =?utf-8?B?aFAxN1AwWDFNekMvZEpIWHFsWGlpeUQzODRUd0V4N28vMk1VVDZZRE95NlhP?= =?utf-8?B?dmx0ZnVkVDBabUpseUxia1NOdEFxRWRlSkh4QXJYWEY4dmpFZUJnQzlLOWJU?= =?utf-8?B?RmFZL2xBRC9nVUZrMEZNUGlMQW9tOWNNR3Rjb29aV3ZtSExPeXhoWGJWK1l1?= =?utf-8?B?dVQ0V004RHRxdzg0Si80OXY0eWExdTdLaExzUG1seTdGS0lIeDNsaUNTVm05?= =?utf-8?B?MDN0ODhySjFKd3V2MmRlV2hzeUxpTmNzQ3FSK0hTSkh6MHRNbjg0aVdxN0pp?= =?utf-8?B?SGNoN3VwN092Z0MrMUQ0RXI0ZnhKLzgxRVM4dHRQVFVDOEszVHhwWE5hRWhE?= =?utf-8?B?QTdTLzB4VWhkRmVuS1dkM1UzYk1qRE5UTjFBMGQzVFBTbzI1WmtIUXUxZll1?= =?utf-8?B?MjB2N2pESUg2bkdOQVVKcE13NkFTTFRSMFZlNFBsU2poc3J5OE5nMHJicE5Y?= =?utf-8?B?Q0tkdUR2NklyTGwrUXZlU3YwcldVSm1CSTMzYmZYdzlnYlZMcjJNMnNTQS9p?= =?utf-8?B?UVdyYkRoYkNxRXN4R1ZQVXoyNzJ0WnU3WFVLS1hNL0pFM1NIL3BEYU05NHRn?= =?utf-8?B?QXZPRFBXdk12VW9IL0MyMys2cGNJbG45VTNoazVIUmZMcTN2RzdRQ0lkMzZJ?= =?utf-8?B?QWU5TDRKQm9ZVnVjQkRBVnNjWkV5eitmbDg5OVU3aHlBaEZMaUNnay9lU215?= =?utf-8?B?UmtRalQzYzdGNWx6TTRwS25UOUFBS1lKMWJ3dHQ5UDY5WDNhOHhKSEVoYnYv?= =?utf-8?B?Y2FhcjZyenVGUEp3NlE5WlovWXBlbnBlRXJEVThOUlg1MjlQRWxaT2ljcHZy?= =?utf-8?B?SWNDRUd3RFRUeC9tbFFCQ2czUHlWZmZDbGtJRXhtM0NKcGxpNXM5K3kzSW9m?= =?utf-8?Q?ZvxEkafbllXgfRyO1Sb+?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?azhzblc3am1wMFE5REN3VEZYeEk1cHZ2bmtEV1dTYUF3SEVudTZmL015ZzJz?= =?utf-8?B?NXhKVkpDanplSmwwZHRMSWFraSttMjBtb2x6UlN0LzRZVmRXb0NPREU4RXZR?= =?utf-8?B?a2FLTWk5ZWFqS1hFTVQ1NHI5SHYyQTZTelY3Z1Z3b2trVlM3azdRNERZNGZr?= =?utf-8?B?VFg1aW1Lak0ycFFTT0JzMzFKYzNMWjJHNTB0YVA2VGVBSkZjYUcyWkVmTVZK?= =?utf-8?B?aFlkZTJGMGpYVFE5WGJNb1lpY2tneGxyMW5GWVhONFNtNFgwWi9MTGhWZEdu?= =?utf-8?B?RXV1TkE1dHJYQjZnRkVtdnkzRnRaZTZ2eVFiUXB4RDU5TmM3SkR2M0d4Z3Vi?= =?utf-8?B?dU9BdjVqdS9JWU4xaC8yVnB5aFJrM21QSTN6djdlZFozYjk0RlpsVTQ0a2tw?= =?utf-8?B?WVNIbmJxMndmTVdyZDNVQ2dXempWVmZYQzk5WHkvTFJtdUNZL3lXTHlkUitp?= =?utf-8?B?U2ZRZW1jdHFuVW1MSURheTNmZWs2czg3eEVFYitraHN2a0o4ZGVqWWwvYTZR?= =?utf-8?B?ZXFzSUYxMEFoMG90NVloRS9FZmZOOGk0K2NaU0hBTzdRSEk1a1V2VFNlSU9J?= =?utf-8?B?ZEEzZkIzeEVkUTFGT0RtOUxCeVJxVjlOSnprRE1MMjVHVTJsYTIzNzVnZzVD?= =?utf-8?B?dTYwRjhEMHkybU8ybjQ1VTBMNjVHQXpPV0RZMGZteVdsZEpGSk0wWVB3c3V4?= =?utf-8?B?aDVVTmY3TUpmelpGMkZIUVlkYXh5QzljcWVLbGRsV0N6SXk1VitlZ1U0OGEw?= =?utf-8?B?YWQ5cHRuSWU3aWtPZjBlVmt0ZUpReDRnbnoxOG1ZNkdLZFBORmVXeENmbzJa?= =?utf-8?B?RkQwd2VFNys5OEFncWQwYjh3OFJzeXVFa3NQcHJFdmhkSWJNRzlXc2JEb2Ju?= =?utf-8?B?aEVONUk3REkySHcwcUJhdno0L0FzU3VXWERydnJ3bDJlbE9pdUZJRjJYc3F0?= =?utf-8?B?Q3BSR0NwNFRmTzlTTEpUZzhKZU04R3pESUdJekhIT1crWThUdkwwU1dGRUpG?= =?utf-8?B?QXA3NG9VODVrcFdCL3JrSjkrVzhiMUNCWWtmdTJoQmN1YkYxNWQ3cXQzU1Rs?= =?utf-8?B?cmg0OVVkenZhQUNnalpjTVB4S2V2OXdWSm0yMVQwVURtSUpqdkFBaXpYN001?= =?utf-8?B?OHpmZlZZcklGd2w3aFpISWZ6Y3NtQTRZc2hOQUYwMkdmVWFkRkI4cUVVMTZC?= =?utf-8?B?bC9LU3JOalIvOGpoZXVTV1lnU0JCc2dZMTNXOG1NelNJOE1hMGR5cnV0ZFlZ?= =?utf-8?B?cWxlS0c3NkdCTElPd0VoSmtOd0NnZlIwQUxVakZOMEhjREJnVzVTUjA5dWRK?= =?utf-8?B?aUFSTjR2ZVlweit0R1gwUmxJYlZZVzY4WnBYVGlHQ203NEFiSjdZRERQSFRD?= =?utf-8?B?b3BnU1pyUG9nUWkrU2cyOS9WeU5YRVZqcGFZUU53R24xVG4wTVEzaHVIR3hy?= =?utf-8?B?SGtmTDQrenp0STUwaXhHMTlnSmxacVdjbkMzNnNoeldHR3dTOWphYW1yNlJ4?= =?utf-8?B?NENyeTVzcWRXZUJzRjl3ek5Hemx4dXdSREpjLzR1K0FySmdRdkt1dWFqQXpp?= =?utf-8?B?bUZ4OUZuaStJZkl4MEFxcHRCYjY0NEY4WXZPcGNRaHkxaFdkRzRHRXhiNit0?= =?utf-8?B?clNYbTN6Q0dtUWlmblBET3d0WkFwT05qRjlMZkxMYVJENitUdTN4aE1ZZmNa?= =?utf-8?B?Ny80cmxQK25MRzBVbjV0aGNUaW9wZG5VWlZFTEtRWGo5MnJic2ZnTytFOW1C?= =?utf-8?B?NDVEaE5qTG5xVTZCN21iQlRDdjROMUlIYkNKVmxCRkVGWk04cDd2UlVpeGFW?= =?utf-8?B?MlJjTG9PK241c3VLa1ZmQT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ccb4f12-d717-4174-f4e7-08dda07eddf6 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2025 20:08:10.9906 (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: DU0P250MB1043 Subject: Re: [FFmpeg-devel] [PATCH v8 4/5] ogg/vorbis: implement header packet skip in chained ogg bitstreams. 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: Um9tYWluIEJlYXV4aXM6Cj4gTGUgdmVuLiAzMCBtYWkgMjAyNSDDoCAxOTo0NCwgQW5kcmVhcyBS aGVpbmhhcmR0Cj4gPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gYSDDqWNyaXQgOgo+ Pgo+PiBSb21haW4gQmVhdXhpczoKPj4+IC0tLQo+Pj4gIGxpYmF2Y29kZWMvdm9yYmlzX3BhcnNl ci5oICAgICAgICAgICAgICAgICB8IDExICsrKysKPj4+ICBsaWJhdmNvZGVjL3ZvcmJpc2RlYy5j ICAgICAgICAgICAgICAgICAgICAgfCA3NSArKysrKysrKysrKysrLS0tLS0tLS0tCj4+PiAgbGli YXZmb3JtYXQvb2dncGFyc2V2b3JiaXMuYyAgICAgICAgICAgICAgIHwgNjcgKysrKysrKysrKysr KysrKysrLQo+Pj4gIHRlc3RzL3JlZi9mYXRlL29nZy12b3JiaXMtY2hhaW5lZC1tZXRhLnR4dCB8 ICAzIC0KPj4+ICB0ZXN0cy9yZWYvZmF0ZS90cmFjLTI3MzkudHh0ICAgICAgICAgICAgICAgfCAg NCArLQo+Pj4gIDUgZmlsZXMgY2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9u cygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZvcmJpc19wYXJzZXIuaCBiL2xp YmF2Y29kZWMvdm9yYmlzX3BhcnNlci5oCj4+PiBpbmRleCA3ODk5MzJhYzQ5Li5iMTc2ZmU1MzZj IDEwMDY0NAo+Pj4gLS0tIGEvbGliYXZjb2RlYy92b3JiaXNfcGFyc2VyLmgKPj4+ICsrKyBiL2xp YmF2Y29kZWMvdm9yYmlzX3BhcnNlci5oCj4+PiBAQCAtMzAsNiArMzAsMTcgQEAKPj4+Cj4+PiAg dHlwZWRlZiBzdHJ1Y3QgQVZWb3JiaXNQYXJzZUNvbnRleHQgQVZWb3JiaXNQYXJzZUNvbnRleHQ7 Cj4+Pgo+Pj4gKy8qKgo+Pj4gKyAqIFVzZWQgYnkgdGhlIHZvcmJpcyBwYXJzZXIgdG8gcGFzcyBu ZXcgY2hhaW5lZCBzdHJlYW0gaGVhZGVycwo+Pj4gKyAqIGFzIGV4dHJhZGF0YS4KPj4+ICsgKi8K Pj4+ICt0eXBlZGVmIHN0cnVjdCB2b3JiaXNfbmV3X2V4dHJhZGF0YSB7Cj4+PiArICAgIHVpbnQ4 X3QgKmhlYWRlcjsKPj4+ICsgICAgc2l6ZV90ICAgaGVhZGVyX3NpemU7Cj4+PiArICAgIHVpbnQ4 X3QgKnNldHVwOwo+Pj4gKyAgICBzaXplX3QgICBzZXR1cF9zaXplOwo+Pj4gK30gdm9yYmlzX25l d19leHRyYWRhdGE7Cj4+PiArCj4+PiAgLyoqCj4+PiAgICogQWxsb2NhdGUgYW5kIGluaXRpYWxp emUgdGhlIFZvcmJpcyBwYXJzZXIgdXNpbmcgaGVhZGVycyBpbiB0aGUgZXh0cmFkYXRhLgo+Pj4g ICAqLwo+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdm9yYmlzZGVjLmMgYi9saWJhdmNvZGVj L3ZvcmJpc2RlYy5jCj4+PiBpbmRleCBhZGJkNzI2MTgzLi5hNGIxNTliYTliIDEwMDY0NAo+Pj4g LS0tIGEvbGliYXZjb2RlYy92b3JiaXNkZWMuYwo+Pj4gKysrIGIvbGliYXZjb2RlYy92b3JiaXNk ZWMuYwo+Pj4gQEAgLTQzLDYgKzQzLDcgQEAKPj4+ICAjaW5jbHVkZSAidm9yYmlzLmgiCj4+PiAg I2luY2x1ZGUgInZvcmJpc2RzcC5oIgo+Pj4gICNpbmNsdWRlICJ2b3JiaXNfZGF0YS5oIgo+Pj4g KyNpbmNsdWRlICJ2b3JiaXNfcGFyc2VyLmgiCj4+PiAgI2luY2x1ZGUgInhpcGguaCIKPj4+Cj4+ PiAgI2RlZmluZSBWX05CX0JJVFMgOAo+Pj4gQEAgLTE3NzgsNDcgKzE3NzksNTkgQEAgc3RhdGlj IGludCB2b3JiaXNfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAq ZnJhbWUsCj4+PiAgICAgIEdldEJpdENvbnRleHQgKmdiID0gJnZjLT5nYjsKPj4+ICAgICAgZmxv YXQgKmNoYW5uZWxfcHRyc1syNTVdOwo+Pj4gICAgICBpbnQgaSwgbGVuLCByZXQ7Cj4+PiArICAg IHNpemVfdCBuZXdfZXh0cmFkYXRhX3NpemU7Cj4+PiArICAgIHZvcmJpc19uZXdfZXh0cmFkYXRh ICpuZXdfZXh0cmFkYXRhOwo+Pj4gKyAgICBjb25zdCB1aW50OF90ICpoZWFkZXI7Cj4+PiArICAg IGNvbnN0IHVpbnQ4X3QgKnNldHVwOwo+Pj4KPj4+ICAgICAgZmZfZGxvZyhOVUxMLCAicGFja2V0 IGxlbmd0aCAlZCBcbiIsIGJ1Zl9zaXplKTsKPj4+Cj4+PiAtICAgIGlmICgqYnVmID09IDEgJiYg YnVmX3NpemUgPiA3KSB7Cj4+PiAtICAgICAgICBpZiAoKHJldCA9IGluaXRfZ2V0X2JpdHM4KGdi LCBidWYgKyAxLCBidWZfc2l6ZSAtIDEpKSA8IDApCj4+PiAtICAgICAgICAgICAgcmV0dXJuIHJl dDsKPj4+ICsgICAgbmV3X2V4dHJhZGF0YSA9ICh2b3JiaXNfbmV3X2V4dHJhZGF0YSAqKWF2X3Bh Y2tldF9nZXRfc2lkZV9kYXRhKAo+Pj4gKyAgICAgICAgYXZwa3QsIEFWX1BLVF9EQVRBX05FV19F WFRSQURBVEEsICZuZXdfZXh0cmFkYXRhX3NpemUpOwo+Pj4KPj4+IC0gICAgICAgIHZvcmJpc19m cmVlKHZjKTsKPj4+IC0gICAgICAgIGlmICgocmV0ID0gdm9yYmlzX3BhcnNlX2lkX2hkcih2Yykp KSB7Cj4+PiAtICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJJZCBoZWFk ZXIgY29ycnVwdC5cbiIpOwo+Pj4gLSAgICAgICAgICAgIHZvcmJpc19mcmVlKHZjKTsKPj4+IC0g ICAgICAgICAgICByZXR1cm4gcmV0Owo+Pj4gLSAgICAgICAgfQo+Pj4gKyAgICBpZiAobmV3X2V4 dHJhZGF0YSkgewo+Pj4gKyAgICAgICAgaGVhZGVyID0gbmV3X2V4dHJhZGF0YS0+aGVhZGVyOwo+ Pj4gKyAgICAgICAgc2V0dXAgPSBuZXdfZXh0cmFkYXRhLT5zZXR1cDsKPj4+Cj4+PiAtICAgICAg ICBhdl9jaGFubmVsX2xheW91dF91bmluaXQoJmF2Y3R4LT5jaF9sYXlvdXQpOwo+Pj4gLSAgICAg ICAgaWYgKHZjLT5hdWRpb19jaGFubmVscyA+IDgpIHsKPj4+IC0gICAgICAgICAgICBhdmN0eC0+ Y2hfbGF5b3V0Lm9yZGVyICAgICAgID0gQVZfQ0hBTk5FTF9PUkRFUl9VTlNQRUM7Cj4+PiAtICAg ICAgICAgICAgYXZjdHgtPmNoX2xheW91dC5uYl9jaGFubmVscyA9IHZjLT5hdWRpb19jaGFubmVs czsKPj4+IC0gICAgICAgIH0gZWxzZSB7Cj4+PiAtICAgICAgICAgICAgYXZfY2hhbm5lbF9sYXlv dXRfY29weSgmYXZjdHgtPmNoX2xheW91dCwgJmZmX3ZvcmJpc19jaF9sYXlvdXRzW3ZjLT5hdWRp b19jaGFubmVscyAtIDFdKTsKPj4+IC0gICAgICAgIH0KPj4+ICsgICAgICAgIGlmIChuZXdfZXh0 cmFkYXRhLT5oZWFkZXJfc2l6ZSA+IDcgJiYgKmhlYWRlciA9PSAxKSB7Cj4+PiArICAgICAgICAg ICAgaWYgKChyZXQgPSBpbml0X2dldF9iaXRzOCgKPj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2IsIGhlYWRlciArIDEsCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l d19leHRyYWRhdGEtPmhlYWRlcl9zaXplIC0gMSkpIDwgMCkKPj4+ICsgICAgICAgICAgICAgICAg cmV0dXJuIHJldDsKPj4+Cj4+PiAtICAgICAgICBhdmN0eC0+c2FtcGxlX3JhdGUgPSB2Yy0+YXVk aW9fc2FtcGxlcmF0ZTsKPj4+IC0gICAgICAgIHJldHVybiBidWZfc2l6ZTsKPj4+IC0gICAgfQo+ Pj4gKyAgICAgICAgICAgIHZvcmJpc19mcmVlKHZjKTsKPj4+ICsgICAgICAgICAgICBpZiAoKHJl dCA9IHZvcmJpc19wYXJzZV9pZF9oZHIodmMpKSkgewo+Pj4gKyAgICAgICAgICAgICAgICBhdl9s b2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIklkIGhlYWRlciBjb3JydXB0LlxuIik7Cj4+PiArICAg ICAgICAgICAgICAgIHZvcmJpc19mcmVlKHZjKTsKPj4+ICsgICAgICAgICAgICAgICAgcmV0dXJu IHJldDsKPj4+ICsgICAgICAgICAgICB9Cj4+Pgo+Pj4gLSAgICBpZiAoKmJ1ZiA9PSAzICYmIGJ1 Zl9zaXplID4gNykgewo+Pj4gLSAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJJ Z25vcmluZyBjb21tZW50IGhlYWRlclxuIik7Cj4+PiAtICAgICAgICByZXR1cm4gYnVmX3NpemU7 Cj4+PiAtICAgIH0KPj4+ICsgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91dF91bmluaXQoJmF2 Y3R4LT5jaF9sYXlvdXQpOwo+Pj4gKyAgICAgICAgICAgIGlmICh2Yy0+YXVkaW9fY2hhbm5lbHMg PiA4KSB7Cj4+PiArICAgICAgICAgICAgICAgIGF2Y3R4LT5jaF9sYXlvdXQub3JkZXIgICAgICAg PSBBVl9DSEFOTkVMX09SREVSX1VOU1BFQzsKPj4+ICsgICAgICAgICAgICAgICAgYXZjdHgtPmNo X2xheW91dC5uYl9jaGFubmVscyA9IHZjLT5hdWRpb19jaGFubmVsczsKPj4+ICsgICAgICAgICAg ICB9IGVsc2Ugewo+Pj4gKyAgICAgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5KAo+ Pj4gKyAgICAgICAgICAgICAgICAgICAgJmF2Y3R4LT5jaF9sYXlvdXQsCj4+PiArICAgICAgICAg ICAgICAgICAgICAmZmZfdm9yYmlzX2NoX2xheW91dHNbdmMtPmF1ZGlvX2NoYW5uZWxzIC0gMV0p Owo+Pj4gKyAgICAgICAgICAgIH0KPj4+Cj4+PiAtICAgIGlmICgqYnVmID09IDUgJiYgYnVmX3Np emUgPiA3ICYmIHZjLT5jaGFubmVsX3Jlc2lkdWVzICYmICF2Yy0+bW9kZXMpIHsKPj4+IC0gICAg ICAgIGlmICgocmV0ID0gaW5pdF9nZXRfYml0czgoZ2IsIGJ1ZiArIDEsIGJ1Zl9zaXplIC0gMSkp IDwgMCkKPj4+IC0gICAgICAgICAgICByZXR1cm4gcmV0Owo+Pj4gKyAgICAgICAgICAgIGF2Y3R4 LT5zYW1wbGVfcmF0ZSA9IHZjLT5hdWRpb19zYW1wbGVyYXRlOwo+Pj4gKyAgICAgICAgfQo+Pj4K Pj4+IC0gICAgICAgIGlmICgocmV0ID0gdm9yYmlzX3BhcnNlX3NldHVwX2hkcih2YykpKSB7Cj4+ PiAtICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJTZXR1cCBoZWFkZXIg Y29ycnVwdC5cbiIpOwo+Pj4gLSAgICAgICAgICAgIHZvcmJpc19mcmVlKHZjKTsKPj4+IC0gICAg ICAgICAgICByZXR1cm4gcmV0Owo+Pj4gKyAgICAgICAgaWYgKG5ld19leHRyYWRhdGEtPnNldHVw X3NpemUgPiA3ICYmICpzZXR1cCA9PSA1ICYmCj4+PiArICAgICAgICAgICAgdmMtPmNoYW5uZWxf cmVzaWR1ZXMgJiYgIXZjLT5tb2Rlcykgewo+Pj4gKyAgICAgICAgICAgIGlmICgocmV0ID0gaW5p dF9nZXRfYml0czgoCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2IsIHNldHVwICsg MSwKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfZXh0cmFkYXRhLT5zZXR1cF9z aXplIC0gMSkpIDwgMCkKPj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPj4+ICsKPj4+ ICsgICAgICAgICAgICBpZiAoKHJldCA9IHZvcmJpc19wYXJzZV9zZXR1cF9oZHIodmMpKSkgewo+ Pj4gKyAgICAgICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIlNldHVwIGhl YWRlciBjb3JydXB0LlxuIik7Cj4+PiArICAgICAgICAgICAgICAgIHZvcmJpc19mcmVlKHZjKTsK Pj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPj4+ICsgICAgICAgICAgICB9Cj4+PiAg ICAgICAgICB9Cj4+PiAtICAgICAgICByZXR1cm4gYnVmX3NpemU7Cj4+PiAgICAgIH0KPj4+Cj4+ PiAgICAgIGlmICghdmMtPmNoYW5uZWxfcmVzaWR1ZXMgfHwgIXZjLT5tb2Rlcykgewo+Pj4gZGlm ZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L29nZ3BhcnNldm9yYmlzLmMgYi9saWJhdmZvcm1hdC9vZ2dw YXJzZXZvcmJpcy5jCj4+PiBpbmRleCA2MmNjMmRhNmRlLi5mOGU2NmU4MTI3IDEwMDY0NAo+Pj4g LS0tIGEvbGliYXZmb3JtYXQvb2dncGFyc2V2b3JiaXMuYwo+Pj4gKysrIGIvbGliYXZmb3JtYXQv b2dncGFyc2V2b3JiaXMuYwo+Pj4gQEAgLTI1NSwxMiArMjU1LDE5IEBAIHN0YXRpYyB2b2lkIHZv cmJpc19jbGVhbnVwKEFWRm9ybWF0Q29udGV4dCAqcywgaW50IGlkeCkKPj4+ICAgICAgc3RydWN0 IG9nZyAqb2dnID0gcy0+cHJpdl9kYXRhOwo+Pj4gICAgICBzdHJ1Y3Qgb2dnX3N0cmVhbSAqb3Mg PSBvZ2ctPnN0cmVhbXMgKyBpZHg7Cj4+PiAgICAgIHN0cnVjdCBvZ2d2b3JiaXNfcHJpdmF0ZSAq cHJpdiA9IG9zLT5wcml2YXRlOwo+Pj4gKyAgICB2b3JiaXNfbmV3X2V4dHJhZGF0YSAqbmV3X2V4 dHJhZGF0YTsKPj4+ICAgICAgaW50IGk7Cj4+PiAgICAgIGlmIChvcy0+cHJpdmF0ZSkgewo+Pj4g ICAgICAgICAgYXZfdm9yYmlzX3BhcnNlX2ZyZWUoJnByaXYtPnZwKTsKPj4+ICAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCAzOyBpKyspCj4+PiAgICAgICAgICAgICAgYXZfZnJlZXAoJnByaXYtPnBh Y2tldFtpXSk7Cj4+PiAgICAgIH0KPj4+ICsKPj4+ICsgICAgaWYgKG9zLT5uZXdfZXh0cmFkYXRh KSB7Cj4+PiArICAgICAgICBuZXdfZXh0cmFkYXRhID0gKHZvcmJpc19uZXdfZXh0cmFkYXRhICop b3MtPm5ld19leHRyYWRhdGE7Cj4+PiArICAgICAgICBhdl9mcmVlcCgmbmV3X2V4dHJhZGF0YS0+ aGVhZGVyKTsKPj4+ICsgICAgICAgIGF2X2ZyZWVwKCZuZXdfZXh0cmFkYXRhLT5zZXR1cCk7Cj4+ PiArICAgIH0KPj4+ICB9Cj4+Pgo+Pj4gIHN0YXRpYyBpbnQgdm9yYmlzX3VwZGF0ZV9tZXRhZGF0 YShBVkZvcm1hdENvbnRleHQgKnMsIGludCBpZHgpCj4+PiBAQCAtNDMzLDcgKzQ0MCwxMCBAQCBz dGF0aWMgaW50IHZvcmJpc19wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBpbnQgaWR4KQo+Pj4g ICAgICBzdHJ1Y3Qgb2dnICpvZ2cgPSBzLT5wcml2X2RhdGE7Cj4+PiAgICAgIHN0cnVjdCBvZ2df c3RyZWFtICpvcyA9IG9nZy0+c3RyZWFtcyArIGlkeDsKPj4+ICAgICAgc3RydWN0IG9nZ3ZvcmJp c19wcml2YXRlICpwcml2ID0gb3MtPnByaXZhdGU7Cj4+PiArICAgIHZvcmJpc19uZXdfZXh0cmFk YXRhICpuZXdfZXh0cmFkYXRhOwo+Pj4gICAgICBpbnQgZHVyYXRpb24sIGZsYWdzID0gMDsKPj4+ ICsgICAgaW50IHNraXBfcGFja2V0ID0gMDsKPj4+ICsgICAgaW50IHJldDsKPj4+Cj4+PiAgICAg IGlmICghcHJpdi0+dnApCj4+PiAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsK Pj4+IEBAIC00OTYsMTAgKzUwNiw2MSBAQCBzdGF0aWMgaW50IHZvcmJpc19wYWNrZXQoQVZGb3Jt YXRDb250ZXh0ICpzLCBpbnQgaWR4KQo+Pj4gICAgICAgICAgaWYgKGR1cmF0aW9uIDwgMCkgewo+ Pj4gICAgICAgICAgICAgIG9zLT5wZmxhZ3MgfD0gQVZfUEtUX0ZMQUdfQ09SUlVQVDsKPj4+ICAg ICAgICAgICAgICByZXR1cm4gMDsKPj4+IC0gICAgICAgIH0gZWxzZSBpZiAoZmxhZ3MgJiBWT1JC SVNfRkxBR19DT01NRU5UKSB7Cj4+PiAtICAgICAgICAgICAgdm9yYmlzX3VwZGF0ZV9tZXRhZGF0 YShzLCBpZHgpOwo+Pj4gKyAgICAgICAgfQo+Pj4gKwo+Pj4gKyAgICAgICAgaWYgKGZsYWdzICYg Vk9SQklTX0ZMQUdfSEVBREVSKSB7Cj4+PiArICAgICAgICAgICAgcmV0ID0gdm9yYmlzX3BhcnNl X2hlYWRlcihzLCBzLT5zdHJlYW1zW2lkeF0sIG9zLT5idWYgKyBvcy0+cHN0YXJ0LCBvcy0+cHNp emUpOwo+Pj4gKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQo+Pj4gKyAgICAgICAgICAgICAgICBy ZXR1cm4gcmV0Owo+Pj4gKwo+Pj4gKyAgICAgICAgICAgIGlmICghb3MtPm5ld19leHRyYWRhdGEp IHsKPj4+ICsgICAgICAgICAgICAgICAgb3MtPm5ld19leHRyYWRhdGEgPSBhdl9tYWxsb2N6KHNp emVvZih2b3JiaXNfbmV3X2V4dHJhZGF0YSkpOwo+Pj4gKyAgICAgICAgICAgICAgICBpZiAoIW9z LT5uZXdfZXh0cmFkYXRhKQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1Io RU5PTUVNKTsKPj4+ICsgICAgICAgICAgICB9Cj4+PiArCj4+PiArICAgICAgICAgICAgb3MtPm5l d19leHRyYWRhdGFfc2l6ZSA9IHNpemVvZih2b3JiaXNfbmV3X2V4dHJhZGF0YSk7Cj4+PiArICAg ICAgICAgICAgbmV3X2V4dHJhZGF0YSA9ICh2b3JiaXNfbmV3X2V4dHJhZGF0YSAqKW9zLT5uZXdf ZXh0cmFkYXRhOwo+Pj4gKwo+Pj4gKyAgICAgICAgICAgIHJldCA9IGF2X3JlYWxsb2NwKCZuZXdf ZXh0cmFkYXRhLT5oZWFkZXIsIG9zLT5wc2l6ZSk7Cj4+PiArICAgICAgICAgICAgaWYgKHJldCA8 IDApCj4+PiArICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+PiArCj4+PiArICAgICAgICAg ICAgbWVtY3B5KG5ld19leHRyYWRhdGEtPmhlYWRlciwgIG9zLT5idWYgKyBvcy0+cHN0YXJ0LCBv cy0+cHNpemUpOwo+Pj4gKyAgICAgICAgICAgIG5ld19leHRyYWRhdGEtPmhlYWRlcl9zaXplID0g b3MtPnBzaXplOwo+Pj4gKwo+Pj4gKyAgICAgICAgICAgIHNraXBfcGFja2V0ID0gMTsKPj4+ICsg ICAgICAgIH0KPj4+ICsKPj4+ICsgICAgICAgIGlmIChmbGFncyAmIFZPUkJJU19GTEFHX0NPTU1F TlQpIHsKPj4+ICsgICAgICAgICAgICByZXQgPSB2b3JiaXNfdXBkYXRlX21ldGFkYXRhKHMsIGlk eCk7Cj4+PiArICAgICAgICAgICAgaWYgKHJldCA8IDApCj4+PiArICAgICAgICAgICAgICAgIHJl dHVybiByZXQ7Cj4+PiArCj4+PiAgICAgICAgICAgICAgZmxhZ3MgPSAwOwo+Pj4gKyAgICAgICAg ICAgIHNraXBfcGFja2V0ID0gMTsKPj4+ICsgICAgICAgIH0KPj4+ICsKPj4+ICsgICAgICAgIGlm IChmbGFncyAmIFZPUkJJU19GTEFHX1NFVFVQKSB7Cj4+PiArICAgICAgICAgICAgaWYgKCFvcy0+ bmV3X2V4dHJhZGF0YSkgewo+Pj4gKyAgICAgICAgICAgICAgICBvcy0+bmV3X2V4dHJhZGF0YSA9 IGF2X21hbGxvY3ooc2l6ZW9mKHZvcmJpc19uZXdfZXh0cmFkYXRhKSk7Cj4+PiArICAgICAgICAg ICAgICAgIGlmICghb3MtPm5ld19leHRyYWRhdGEpCj4+PiArICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+Pj4gKyAgICAgICAgICAgIH0KPj4+ICsKPj4+ICsgICAg ICAgICAgICBvcy0+bmV3X2V4dHJhZGF0YV9zaXplID0gc2l6ZW9mKHZvcmJpc19uZXdfZXh0cmFk YXRhKTsKPj4+ICsgICAgICAgICAgICBuZXdfZXh0cmFkYXRhID0gKHZvcmJpc19uZXdfZXh0cmFk YXRhICopb3MtPm5ld19leHRyYWRhdGE7Cj4+PiArCj4+PiArICAgICAgICAgICAgcmV0ID0gYXZf cmVhbGxvY3AoJm5ld19leHRyYWRhdGEtPnNldHVwLCBvcy0+cHNpemUpOwo+Pj4gKyAgICAgICAg ICAgIGlmIChyZXQgPCAwKQo+Pj4gKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+Pj4gKwo+ Pj4gKyAgICAgICAgICAgIG1lbWNweShuZXdfZXh0cmFkYXRhLT5zZXR1cCwgb3MtPmJ1ZiArIG9z LT5wc3RhcnQsIG9zLT5wc2l6ZSk7Cj4+PiArICAgICAgICAgICAgbmV3X2V4dHJhZGF0YS0+c2V0 dXBfc2l6ZSA9IG9zLT5wc2l6ZTsKPj4+ICsKPj4+ICsgICAgICAgICAgICBza2lwX3BhY2tldCA9 IDE7Cj4+PiAgICAgICAgICB9Cj4+PiArCj4+PiAgICAgICAgICBvcy0+cGR1cmF0aW9uID0gZHVy YXRpb247Cj4+PiAgICAgIH0KPj4+Cj4+PiBAQCAtNTIxLDcgKzU4Miw3IEBAIHN0YXRpYyBpbnQg dm9yYmlzX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIGludCBpZHgpCj4+PiAgICAgICAgICBw cml2LT5maW5hbF9kdXJhdGlvbiArPSBvcy0+cGR1cmF0aW9uOwo+Pj4gICAgICB9Cj4+Pgo+Pj4g LSAgICByZXR1cm4gMDsKPj4+ICsgICAgcmV0dXJuIHNraXBfcGFja2V0Owo+Pj4gIH0KPj4+Cj4+ PiAgY29uc3Qgc3RydWN0IG9nZ19jb2RlYyBmZl92b3JiaXNfY29kZWMgPSB7Cj4+Cj4+IFRoZXJl IGFyZSBtdWx0aXBsZSBpc3N1ZXMgd2l0aCB0aGlzIHBhdGNoOgo+IAo+IFRoYW5rIHlvdSBmb3Ig eW91ciBmZWVkYmFjay4KPiAKPj4gMS4gVGhlIHNpZGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBub3Qg cGFkZGVkLCBsZWFkaW5nIHRvCj4+IGhlYXAtYnVmZmVyLW92ZXJmbG93cyBpbiB0aGUgZmF0ZS1v Z2ctdm9yYmlzLWNoYWluZWQtbWV0YSB0ZXN0Lgo+IAo+IERvIHlvdSBoYXZlIGEgcG9pbnRlciB0 byB0aGlzIGlzc3VlPyBJcyB0aGVyZSBhIGZhaWxpbmcgdGVzdCBoZXJlOgo+IGh0dHBzOi8vZmF0 ZS5mZm1wZWcub3JnLyA/Cj4gCgpJIG5vdGVkIGl0IHdoZW4gSSByYW4gRkFURSB3aXRoIChDbGFu Zy0pQVNBTiBsb2NhbGx5LiBTZWVtcyBsaWtlIG5vbmUgb2YKdGhlIEFTQU4vdmFsZ3JpbmQgZmF0 ZSBib3hlcyB0ZXN0ZWQgeW91ciBjb21taXQuCgo+PiAyLiBUaGUgc2lkZSBkYXRhIHN0cnVjdHVy ZXMgYXJlIG5vdCBmbGF0IGFuZCB0aGVyZWZvcmUgbm90IHN1aXRhYmxlIGZvcgo+PiB1c2UgYXMg QVZQYWNrZXRTaWRlRGF0YS4gKFRoZSBzZXR1cCBhbmQgaGVhZGVyIGFycmF5cyBhcmUgY3VycmVu dGx5Cj4+IG93bmVkIGJ5IHRoZSBkZW11eGVyLCB5ZXQgYW4gQVZQYWNrZXQgaXMgc3VwcG9zZWQg dG8gYmUgdmFsaWQgb24gaXRzCj4+IG93bi4gQnV0IHRoaXMgc2lkZSBkYXRhIGJlY29tZXMgaW52 YWxpZCB3aGVuIHRoZSBkZW11eGVyIGVuY291bnRlcnMgYQo+PiBuZXcgc2lkZSBkYXRhIChhbmQg cmVhbGxvY2F0ZXMgaXRzIGludGVybmFsIGJ1ZmZlcnMpIG9yIHdoZW4gdGhlIGRlbXV4ZXIKPj4g aXMgY2xvc2VkLikKPiAKPiBJIGNhbiB3b3JrIG9uIHRoYXQuCgpBY3R1YWxseSwgdGhpbmtpbmcg YWJvdXQgdGhpcyBhIGJpdCBtb3JlOiBOZXcgZXh0cmFkYXRhIHZpYSBzaWRlIGRhdGEKc2hvdWxk IHVzZSB0aGUgc2FtZSBmb3JtYXQgYXMgb3JkaW5hcnkgZXh0cmFkYXRhLCBzbyB0aGVyZSBpcyBu byBuZWVkIHRvCmFkZCBhIG5ldyBzdHJ1Y3QgYW5kIEFQSWNoYW5nZXMgZm9yIHRoYXQuCgotIEFu ZHJlYXMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZm bXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9m Zm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9y ZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K