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 3B4A6475A4 for ; Tue, 12 Sep 2023 16:42:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E641E68C76A; Tue, 12 Sep 2023 19:42:05 +0300 (EEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2082.outbound.protection.outlook.com [40.92.75.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC67168C69F for ; Tue, 12 Sep 2023 19:41:59 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OxP7i7thZ6VjcScv6ReoUpOx5ghkaPf4mM2ZB9e8QxOQijfktGOS7IWSB5/gM042J8yj3iod0oWoGuC9Voih+8OQbWidAmECllgm6mNnrB/KN7WQb7ytBK4sTCMjxqTdOs1/S4WuN13NsI3UuRU3p7CbQed1HAXPEQEt7ZTfaxAlL3LfvEBlU5NptawnGQWZ9nRUFR5jISJxbr2byl444PT5gznPu/Me6wzYo2UherapXhcArsEoe67PQtk8gs2f1EmF6JS5SpXrRmDpoBs0sqJPFs1wzVst/3KVyrHVMY+wKRMNOy8+iAYUeRFB0yobfbfXIEYWv5OktlkRfad2tA== 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=bIldXVztOjBrttX3S27go2tz445MsylCgWIwZzWnswc=; b=n67NcRJYjLB7F/URdmG6dgH5mj71e0cnmxUezGN/4Z5BmAUUM/suzucdfnruF4msEmLrqx0QMwHDjB3v4PWiO9EN+cYKWgXj+fw8pXtYEq1iX7ljyBKMlJA/2CGGS1BG8yQEBgRPf4ELjcVZGaBGqUY2sc1/7dvsWqjGZMmpmABjkDZ2aR68f4inHjPmN+k65ySe6qCQcCOCJpPtHOMKjwJZHDS+OxOy+rd9eJ4m/pwTwHtmfxpM4QszmX7VawoDFVp4L2fFfn2S5rLYphfMRQT2UWBBOWtXmE0Uqp066kMF7/Mh4VfRuXUq2OajzN/qQFHLRbwPh2RquGdGITaR3A== 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=bIldXVztOjBrttX3S27go2tz445MsylCgWIwZzWnswc=; b=jv+qnvRMciYCCGioq9eLJzeUr4gWdL9qGEQsYBp3o2SLWf3oEmc0aM0Y+M4Mxk42pZqz2kj3upCUVkTgOL263jmbgtsRl4vd3BXDsxCsjegaR9FbucoxwbFOkNT3Afiw6fyJmvGwb0Mkyt9+8c2JwhrYXAwp18R4tWkRRtLxwGrzmrq5EbECghcN+iB9vpVaB+k+t2Xk+6eNM5A0TGsZ0GauAFe0y+3DpAd++lcu0iTFMOIhSm3CStBhGwWdVY53cTlU/5gc9VlBMet/1OlVjbgDP46/IvAVh5Ddkkkbkn4RuyP47/VET7vNLQiMR31YT+VJg+SIpFFwYbcupNygTw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0029.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:358::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.35; Tue, 12 Sep 2023 16:41:58 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba%4]) with mapi id 15.20.6768.036; Tue, 12 Sep 2023 16:41:58 +0000 Message-ID: Date: Tue, 12 Sep 2023 18:43:15 +0200 To: ffmpeg-devel@ffmpeg.org References: <20230906174431.45558-1-jamrial@gmail.com> <20230906174431.45558-4-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [YP+bT2jlHSWMz7L+bdWgMeMT1/2xJJr/] X-ClientProxiedBy: ZR0P278CA0180.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::7) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <3f7c0efa-165a-70a8-e7da-17f30f7f009e@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0029:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b760e80-0326-4ce6-ad16-08dbb3af2dd2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UjGQamt5ZGAQBW2Gv6Vt3U/hePjS/gvorQvjEYZhVFzPHKCUy9kwodMp8GB+ybKQOylF2chkTnNVuJj2NWAieTHeD78OCAsV4TJNNuTehdN0iINZbujGhGi2nvRi1CE0uCqz6N9an32/5XxOIDlt7bQCY+OS4jExvFFY5VSZef2pmTBKOvxZgp9BAVMgWX2FY501mo8/yqzBFHSjDIN+4hnlYwoHzlbcIm34MRTYbIFo5g5glL6pr0txWZnM5kJdYGv6Ws8giYHFKJsFg6/tkK+aUMPnp2WpRknuXm3e9w9V2tt9hNE0klD5fKAacN1HLjVB4mzwo3hTAeb3wA7cULXN6eil9vubGyv6myRfZ7lt1HbEHIev+pQebKHeNrlcWffmyh4j4UVsbxQoZzLZIB/wUUNQbxuRP5WkmFg5aFs4AHaYACeiW54bv+X3YLR5XdrXu6qzOozsLtlzIZlk4EfyWu3XZ5N6M06t40AJuqOdhXOLjlBfs3U8s/Ub7nIk1yuOMQmZGO+mW8jjNJEPXFBOJEsOrSwVCDkGsQpLcY8KchMmNioHuYFNT2SuX1j6 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UGVqeXFUdE8wWHBDNC8xZW5TNDlaMHVTM3hEa1R4UVVBM0Q5V1pyUTRjU0h3?= =?utf-8?B?SHovUHg3clo5S1RZYWx1S0FKNStCTlBNRTB0VEdMZDltUFROd3VuOG5FSS9F?= =?utf-8?B?RGM1a2w3cFRpbXhWUHcxMFhLczNYSWJGS0tPOGFjSER5aTJwT0JyNmhvQ3dv?= =?utf-8?B?VXc2eEhRZDA4bCtLdzVDTkxGL1EyeUJLeFFQY2dOdGcrTHNTZ0ZSa3Q0TmFu?= =?utf-8?B?R1l0NjFMZTkxYXBERGlHTUpsVjB2S2FkOWxlY1EwNUtDd0tDUER5ZU1taTI3?= =?utf-8?B?Vk96UlZmMTdTY1B6cERYTlBYM0dFOEIzV2l2cktRelVBMkk1NzE0Wmp0bm5L?= =?utf-8?B?QUZMUkp4NVB2ekRTbXNLMFRXR3lhUlZTQ3BBbC94TlhJTWVyTlcxVlJCMFNF?= =?utf-8?B?RmhmYjIxQWJDQVhuN2FXQ1p1NWhuU2pwM0VNNVppN1FyT1ErK1JCZTUxTnVR?= =?utf-8?B?SXhLVTZLNW0xWVNhbC9rTFpoV0ZiQ2lkUzhocEd4cmF2SEdYNWhHdlVlZ0Ix?= =?utf-8?B?OGdNZkxabTR0ZEZZVXl6bGdidjlFRTE5TDJQUlowRHRqYU5IcWFJMUs5dStY?= =?utf-8?B?cUdDdEovRGVkTjcvVkRzNUpBRWVraER2ZXVEMGdQeHFuWDNjb1dGWlFBeWR4?= =?utf-8?B?YXFLKzlyaE9xTHR6dnkvYnhxNWdwOHB2OFhzSFY0Yk5DakZuYzc3bVFTRmFM?= =?utf-8?B?N2tvNzVkR3kwc3dZaWpWVU9HZHc1czFrT3pQRGtGNkUzSHRwUk43QTkxaVN6?= =?utf-8?B?OWtDQXdvVVdEWldHRnFYL3hlUHZ5bkN4L2Q0MU40alNBM0pvZkhkem9OYjNt?= =?utf-8?B?OFdsZzZUSWovSXFBekJtRVM5QzdmRS9EdGNQUFJXZzU1WHlFWGtydEdZc0E2?= =?utf-8?B?ZjN2N3FkbkJaRmwwUk5jcStZd3Buak4vMHRVS2tWMEtRaGsyZ2crQ2NTU3hz?= =?utf-8?B?QWc1dFE1S3JGNmFlTS9DdmVLU080ZFVLRklrdWdGS2h2VnBvQmY4d2Q1MDJj?= =?utf-8?B?MnMyK0pSWm1FcHZRdjlweWFoMWVkZVJaMHZiTU5obHVRczFUQ1lWTUdMMmR6?= =?utf-8?B?c3ZYYUNMRTUvcnN1RnlGVExsSzF1SnA2Q24zQWIvSVFpcWNOOWQ1WnFISlpS?= =?utf-8?B?S3MvZ2Q4TU8rRHE2VFFGdUZ3Q1Z6WCtrSVI3MDEyeWZXOHFWM0orM0lScmNW?= =?utf-8?B?Uy8rSXdUNXhod05BQTAyak51Y3RDb1ZmOVpSMmNrRWdrdFV1OUZYWHFDNVRI?= =?utf-8?B?aDgvWWlTSDhBTDlidW9JQ3hsREs5NHp1YTJDdFhvU3p1b09DU1pxNndjS0l0?= =?utf-8?B?eVNDZjVKbWRDSmZUb2MyL241SUphV2F5NXMzMG10TjJzUVBOVWdaNXc1U1lm?= =?utf-8?B?d1JUb2RrZCtCbDhOSzhMZkYvSU9DeE5RTklGYzlGVitpNTFiZllLV0Y5a3dY?= =?utf-8?B?VyswWmdoWENXOTN6aG9kRkNSdEpVRTN5aHFlcE9CS0JPNGgyM054aVN0MGpB?= =?utf-8?B?SjduV0sxWFV5R1pLVEtidXR3UDVBbzhGSFVOT24wam9sOUsrcmlwNVVLNDZn?= =?utf-8?B?QnpDK3NBMzVjbWEzVGNaUWdVUnUzLzNzZ3BKTFJjUjd1ZVFoeG41SjVRNjgr?= =?utf-8?B?Y2ZFVDJjYjdSdGcyMEZXWm9rZ0ZwandiMDhkMi9selhKSkdyWXFJa0FYUk9v?= =?utf-8?Q?rMzWArjo20bAypR61ibu?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b760e80-0326-4ce6-ad16-08dbb3af2dd2 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2023 16:41:58.0771 (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: AS8P250MB0029 Subject: Re: [FFmpeg-devel] [PATCH 03/10] avformat/avformat: use the side data from AVStream.codecpar 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: SmFtZXMgQWxtZXI6Cj4gT24gOS8xMS8yMDIzIDQ6MTkgUE0sIEFuZHJlYXMgUmhlaW5oYXJkdCB3 cm90ZToKPj4gSmFtZXMgQWxtZXI6Cj4+PiBEZXByZWNhdGUgQVZTdHJlYW0uc2lkZV9kYXRhIGFu ZCBpdHMgaGVscGVycyBpbiBmYXZvciBvZiB0aGUgQVZTdHJlYW0ncwo+Pj4gY29kZWNwYXIuc2lk ZV9kYXRhLgo+Pj4KPj4+IFRoaXMgd2lsbCBjb25zaWRlcmFibHkgc2ltcGxpZnkgdGhlIHByb3Bh Z2F0aW9uIG9mIGdsb2JhbCBzaWRlIGRhdGEKPj4+IHRvIGRlY29kZXJzCj4+PiBhbmQgZnJvbSBl bmNvZGVycy4gSW5zdGVhZCBvZiBoYXZpbmcgdG8gZG8gaXQgaW5zaWRlIHBhY2tldHMsIGl0IHdp bGwgYmUKPj4+IGF2YWlsYWJsZSBkdXJpbmcgaW5pdCgpLgo+Pj4gR2xvYmFsIGFuZCBmcmFtZSBz cGVjaWZpYyBzaWRlIGRhdGEgd2lsbCB0aGVyZWZvcmUgYmUgZGlzdGluY3QuCj4+Pgo+Pj4gU2ln bmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgo+Pj4gLS0tPiBkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvYXZmb3JtYXQuaCBiL2xpYmF2Zm9ybWF0L2F2Zm9ybWF0LmgK Pj4+IGluZGV4IDE5MTZhYTJkYzUuLmY3OGEwMjdmNjQgMTAwNjQ0Cj4+PiAtLS0gYS9saWJhdmZv cm1hdC9hdmZvcm1hdC5oCj4+PiArKysgYi9saWJhdmZvcm1hdC9hdmZvcm1hdC5oCj4+PiBAQCAt MTY0LDYgKzE2NCwxMyBAQAo+Pj4gwqDCoCAqIGRlY29kaW5nIGZ1bmN0aW9ucyBhdmNvZGVjX3Nl bmRfcGFja2V0KCkgb3IKPj4+IGF2Y29kZWNfZGVjb2RlX3N1YnRpdGxlMigpIGlmIHRoZQo+Pj4g wqDCoCAqIGNhbGxlciB3aXNoZXMgdG8gZGVjb2RlIHRoZSBkYXRhLgo+Pj4gwqDCoCAqCj4+PiAr ICogVGhlcmUgbWF5IGJlIG5vIG92ZXJsYXAgYmV0d2VlbiB0aGUgc3RyZWFtJ3MgQHJlZgo+Pj4g QVZDb2RlY1BhcmFtZXRlcnMuc2lkZV9kYXRhCj4+PiArICogInNpZGUgZGF0YSIgYW5kIEByZWYg QVZQYWNrZXQuc2lkZV9kYXRhICJzaWRlIGRhdGEiIGluIHBhY2tldHMuCj4+PiBJLmUuIGEgZ2l2 ZW4KPj4+ICsgKiBzaWRlIGRhdGEgaXMgZWl0aGVyIGV4cG9ydGVkIGJ5IHRoZSBkZW11eGVyIGlu IEFWQ29kZWNQYXJhbWV0ZXJzLAo+Pj4gdGhlbiBpdCBuZXZlcgo+Pj4gKyAqIGFwcGVhcnMgaW4g dGhlIHBhY2tldHMsIG9yIHRoZSBzaWRlIGRhdGEgaXMgZXhwb3J0ZWQgdGhyb3VnaCB0aGUKPj4+ IHBhY2tldHMgKGFsd2F5cwo+Pj4gKyAqIGluIHRoZSBmaXJzdCBwYWNrZXQgd2hlcmUgdGhlIHZh bHVlIGJlY29tZXMga25vd24gb3IgY2hhbmdlcyksCj4+PiB0aGVuIGl0IGRvZXMgbm90Cj4+PiAr ICogYXBwZWFyIGluIEFWQ29kZWNQYXJhbWV0ZXJzLgo+Pj4gKyAqCj4+Cj4+IElzIGl0IGFjdHVh bGx5IGNlcnRhaW4gdGhhdCBvdXIgZGVtdXhlcnMgY3VycmVudGx5IGFiaWRlIGJ5IHRoaXM/IEUu Zy4KPj4gaW4gbXBlZ3RzLCBzdHJlYW0gcGFyYW1ldGVycyBjYW4gY2hhbmdlIGF0IGFueSB0aW1l LCBzbyB3aHkgZG9lcyBpdCBzZXQKPj4gaXQgYXQgdGhlIHN0cmVhbSBsZXZlbCBhbmQgbm90IHRo ZSBwYWNrZXQgbGV2ZWw/Cj4gCj4gRG9lcyBtcGVndHMgY2hhbmdlIEFWU3RyZWFtLmNvZGVjcGFy IG1pZCBkZW11eGluZz8gd291bGRuJ3QgdGhhdCBiZSBhbgo+IEFQSSB2aW9sYXRpb24/IEkgYXNz dW1lZCB0aGF0IHdhcyB3aGF0IEFWX1BLVF9EQVRBX1BBUkFNX0NIQU5HRSBhbmQKPiBBVl9QS1Rf REFUQV9ORVdfRVhUUkFEQVRBIHBhY2tldCBzaWRlIGRhdGEgd2VyZSBmb3IuCj4gCgpJdCBzZWVt cyB0aGF0IHRoZSBkb3ZpIHN0cmVhbSBzaWRlIGRhdGEgY2FuIGJlIGFkZGVkIChhbmQgcG90ZW50 aWFsbHkKZXZlbiByZXBsYWNlZCkgbG9uZyBhZnRlciB0aGUgc3RyZWFtIGhhcyBiZWVuIGNyZWF0 ZWQuCihUaGUgY29uY2F0IGRlbXV4ZXIgbWF5IGV2ZW4gc2V0IGV4dHJhZGF0YSBsYXRlcm9uIGFu ZCBldmVuIGNoYW5nZSBpdAphZnRlciBpdCBoYXMgYmVlbiBhbGxvY2F0ZWQ7IHNlZSBtYXRjaF9z dHJlYW1zKCkgaW4KY29uY2F0X3JlYWRfcGFja2V0KCkuIFRoZSBjb25jYXQgZGVtdXhlciBzaG91 bGQgYWN0dWFsbHkgYWRkIHRoZSBnbG9iYWwKc2lkZSBkYXRhIG9mIGV2ZXJ5IGlucHV0IHRvIHRo ZSBmaXJzdCBwYWNrZXQgZnJvbSBzYWlkIGlucHV0IHdoaWNoIG1lYW5zCnRoYXQgY29weWluZyBz aWRlIGRhdGEgKHdoZXRoZXIgaW4gZmZfc3RyZWFtX3NpZGVfZGF0YV9jb3B5KCkgb3IgaW4KYXZj b2RlY19wYXJhbWV0ZXJzX2NvcHkoKSBpcyBwb3RlbnRpYWxseSBwcm9ibGVtYXRpYy4pCgo+Pgo+ Pj4gwqDCoCAqIEFWUGFja2V0LnB0cywgQVZQYWNrZXQuZHRzIGFuZCBBVlBhY2tldC5kdXJhdGlv biB0aW1pbmcKPj4+IGluZm9ybWF0aW9uIHdpbGwgYmUKPj4+IMKgwqAgKiBzZXQgaWYga25vd24u IFRoZXkgbWF5IGFsc28gYmUgdW5zZXQgKGkuZS4gQVZfTk9QVFNfVkFMVUUgZm9yCj4+PiDCoMKg ICogcHRzL2R0cywgMCBmb3IgZHVyYXRpb24pIGlmIHRoZSBzdHJlYW0gZG9lcyBub3QgcHJvdmlk ZSB0aGVtLgo+Pj4gVGhlIHRpbWluZwo+Pj4gQEAgLTIwOSw2ICsyMTYsMTEgQEAKPj4+IMKgwqAg KsKgwqAgQVZDb2RlY1BhcmFtZXRlcnMsIHJhdGhlciB0aGFuIHVzaW5nIEByZWYKPj4+IGF2Y29k ZWNfcGFyYW1ldGVyc19jb3B5KCkgZHVyaW5nCj4+PiDCoMKgICrCoMKgIHJlbXV4aW5nOiB0aGVy ZSBpcyBubyBndWFyYW50ZWUgdGhhdCB0aGUgY29kZWMgY29udGV4dCB2YWx1ZXMKPj4+IHJlbWFp biB2YWxpZAo+Pj4gwqDCoCAqwqDCoCBmb3IgYm90aCBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdCBj b250ZXh0cy4KPj4+ICsgKiAtIFRoZXJlIG1heSBiZSBubyBvdmVybGFwIGJldHdlZW4gQVZDb2Rl Y1BhcmFtZXRlcnMuc2lkZV9kYXRhIGFuZAo+Pj4gc2lkZSBkYXRhIGluCj4+PiArICrCoMKgIHBh Y2tldHMuIEkuZS4gYSBnaXZlbiBzaWRlIGRhdGEgaXMgZWl0aGVyIHNldCBieSB0aGUgY2FsbGVy IGluCj4+PiArICrCoMKgIEFWQ29kZWNQYXJhbWV0ZXJzLCB0aGVuIGl0IG5ldmVyIGFwcGVhcnMg aW4gdGhlIHBhY2tldHMsIG9yIHRoZQo+Pj4gc2lkZSBkYXRhIGlzCj4+PiArICrCoMKgIHNlbnQg dGhyb3VnaCB0aGUgcGFja2V0cyAoYWx3YXlzIGluIHRoZSBmaXJzdCBwYWNrZXQgd2hlcmUgdGhl Cj4+PiB2YWx1ZSBiZWNvbWVzCj4+PiArICrCoMKgIGtub3duIG9yIGNoYW5nZXMpLCB0aGVuIGl0 IGRvZXMgbm90IGFwcGVhciBpbiBBVkNvZGVjUGFyYW1ldGVycy4KPj4KPj4gSSBoYXZlIHRvIHNh eSwgSSBkb24ndCByZWFsbHkgbGlrZSB0aGlzIChhbmQgb2YgY291cnNlIEkgYW0gYXdhcmUgdGhh dAo+PiB5b3UgYXJlIGJhc2ljYWxseSBjb3B5aW5nIHRoZSBkb3h5IG9mIEFWUGFja2V0U2lkZURh dGEgaGVyZSkuIEFzIHlvdQo+IAo+IEkgY2FuIHJlbW92ZSB0aGlzIHBhcnQsIHRvIGJlIGFkZGVk IGxhdGVyIGlmIG5lZWRlZC4KPiAKPj4ga25vdywgdGhlIE1hdHJvc2thIG11eGVyIG5lZWRzIHRv IGFkZCBoZWFkZXIgZmllbGRzIGluIG9yZGVyIHRvIGFkZAo+PiBjZXJ0YWluIHBhY2tldCBzaWRl IGRhdGEgdG8gYmxvY2tzIGxhdGVyLiBJbiBjYXNlIG9mIHNlZWthYmxlIG91dHB1dCwKPj4gb25l IGNhbiB1cGRhdGUgdGhlIGhlYWRlciBsYXRlciwgYnV0IGluIGNhc2Ugb2YgdW5zZWVrYWJsZSBv dXRwdXQgdGhhdAo+PiBpcyBub3QgdHJ1ZS4gSSdkIGxpa2UgdGhlcmUgdG8gYmUgYW4gZWFzeSB3 YXkgZm9yIHRoZSB1c2VyIHRvIHNpZ25hbCB0aGUKPj4gaW50ZW50aW9uIHRvIHNlbmQgcGFja2V0 IHNpZGUgZGF0YSBvZiBhIHNwZWNpZmljIHR5cGUgbGF0ZXIuCj4gCj4gTWF5YmUgYSBuZXcgQVZG TVRfRkxBR18/Cj4gCgpUaGF0IHdvdWxkIHBvdGVudGlhbGx5IGJlIGEgbmV3IEFWRk1UX0ZMQUdf IGZvciBldmVyeSBzaWRlIGRhdGEgdHlwZTsKdGhhdCBtYWtlcyBubyBzZW5zZS4KCj4+Cj4+PiDC oMKgICogLSBUaGUgY2FsbGVyIG1heSBmaWxsIGluIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24sIHN1 Y2ggYXMgQHJlZgo+Pj4gwqDCoCAqwqDCoCBBVkZvcm1hdENvbnRleHQubWV0YWRhdGEgImdsb2Jh bCIgb3IgQHJlZiBBVlN0cmVhbS5tZXRhZGF0YQo+Pj4gInBlci1zdHJlYW0iCj4+PiDCoMKgICrC oMKgIG1ldGFkYXRhLCBAcmVmIEFWRm9ybWF0Q29udGV4dC5jaGFwdGVycyAiY2hhcHRlcnMiLCBA cmVmCj4+PiBAQCAtOTM3LDYgKzk0OSw3IEBAIHR5cGVkZWYgc3RydWN0IEFWU3RyZWFtIHsKPj4+ IMKgwqDCoMKgwqDCoCAqLwo+Pj4gwqDCoMKgwqDCoCBBVlBhY2tldCBhdHRhY2hlZF9waWM7Cj4+ PiDCoCArI2lmIEZGX0FQSV9BVlNUUkVBTV9TSURFX0RBVEEKPj4+IMKgwqDCoMKgwqAgLyoqCj4+ PiDCoMKgwqDCoMKgwqAgKiBBbiBhcnJheSBvZiBzaWRlIGRhdGEgdGhhdCBhcHBsaWVzIHRvIHRo ZSB3aG9sZSBzdHJlYW0gKGkuZS4KPj4+IHRoZQo+Pj4gwqDCoMKgwqDCoMKgICogY29udGFpbmVy IGRvZXMgbm90IGFsbG93IGl0IHRvIGNoYW5nZSBiZXR3ZWVuIHBhY2tldHMpLgo+Pj4gQEAgLTk1 MywxMyArOTY2LDIwIEBAIHR5cGVkZWYgc3RydWN0IEFWU3RyZWFtIHsKPj4+IMKgwqDCoMKgwqDC oCAqCj4+PiDCoMKgwqDCoMKgwqAgKiBGcmVlZCBieSBsaWJhdmZvcm1hdCBpbiBhdmZvcm1hdF9m cmVlX2NvbnRleHQoKS4KPj4+IMKgwqDCoMKgwqDCoCAqCj4+PiAtwqDCoMKgwqAgKiBAc2VlIGF2 X2Zvcm1hdF9pbmplY3RfZ2xvYmFsX3NpZGVfZGF0YSgpCj4+PiArwqDCoMKgwqAgKiBAZGVwcmVj YXRlZCB1c2UgQVZTdHJlYW0ncyBAcmVmIEFWQ29kZWNQYXJhbWV0ZXJzLnNpZGVfZGF0YQo+Pj4g K8KgwqDCoMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImNvZGVjcGFyIHNpZGUgZGF0YSIu Cj4+PiDCoMKgwqDCoMKgwqAgKi8KPj4+ICvCoMKgwqAgYXR0cmlidXRlX2RlcHJlY2F0ZWQKPj4+ IMKgwqDCoMKgwqAgQVZQYWNrZXRTaWRlRGF0YSAqc2lkZV9kYXRhOwo+Pj4gwqDCoMKgwqDCoCAv KioKPj4+IMKgwqDCoMKgwqDCoCAqIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIEFWU3Ry ZWFtLnNpZGVfZGF0YSBhcnJheS4KPj4+ICvCoMKgwqDCoCAqCj4+PiArwqDCoMKgwqAgKiBAZGVw cmVjYXRlZCB1c2UgQVZTdHJlYW0ncyBAcmVmIEFWQ29kZWNQYXJhbWV0ZXJzLnNpZGVfZGF0YQo+ Pj4gK8KgwqDCoMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImNvZGVjcGFyIHNpZGUgZGF0 YSIuCj4+PiDCoMKgwqDCoMKgwqAgKi8KPj4+ICvCoMKgwqAgYXR0cmlidXRlX2RlcHJlY2F0ZWQK Pj4+IMKgwqDCoMKgwqAgaW50wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuYl9zaWRlX2RhdGE7Cj4+ PiArI2VuZGlmCj4+PiDCoCDCoMKgwqDCoMKgIC8qKgo+Pj4gwqDCoMKgwqDCoMKgICogRmxhZ3Mg aW5kaWNhdGluZyBldmVudHMgaGFwcGVuaW5nIG9uIHRoZSBzdHJlYW0sIGEKPj4+IGNvbWJpbmF0 aW9uIG9mCj4+PiBAQCAtMTcxNSwxMSArMTczNSwxOCBAQCB0eXBlZGVmIHN0cnVjdCBBVkZvcm1h dENvbnRleHQgewo+Pj4gwqDCoMKgwqDCoCBpbnQgKCppb19jbG9zZTIpKHN0cnVjdCBBVkZvcm1h dENvbnRleHQgKnMsIEFWSU9Db250ZXh0ICpwYik7Cj4+PiDCoCB9IEFWRm9ybWF0Q29udGV4dDsK Pj4+IMKgICsjaWYgRkZfQVBJX0FWU1RSRUFNX1NJREVfREFUQQo+Pj4gwqAgLyoqCj4+PiDCoMKg ICogVGhpcyBmdW5jdGlvbiB3aWxsIGNhdXNlIGdsb2JhbCBzaWRlIGRhdGEgdG8gYmUgaW5qZWN0 ZWQgaW4gdGhlCj4+PiBuZXh0IHBhY2tldAo+Pj4gwqDCoCAqIG9mIGVhY2ggc3RyZWFtIGFzIHdl bGwgYXMgYWZ0ZXIgYW55IHN1YnNlcXVlbnQgc2Vlay4KPj4+ICsgKgo+Pj4gKyAqIEBkZXByZWNh dGVkIGdsb2JhbCBzaWRlIGRhdGEgaXMgYWx3YXlzIGF2YWlsYWJsZSBpbiBldmVyeSBBVlN0cmVh bSdzCj4+PiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQHJlZiBBVkNvZGVjUGFyYW1ldGVy cy5zaWRlX2RhdGEgImNvZGVjcGFyIHNpZGUgZGF0YSIKPj4+IGFycmF5Lgo+Pj4gKyAqIEBzZWUg YXZfcGFja2V0X3NpZGVfZGF0YV9zZXRfZ2V0KCkKPj4+IMKgwqAgKi8KPj4+ICthdHRyaWJ1dGVf ZGVwcmVjYXRlZAo+Pj4gwqAgdm9pZCBhdl9mb3JtYXRfaW5qZWN0X2dsb2JhbF9zaWRlX2RhdGEo QVZGb3JtYXRDb250ZXh0ICpzKTsKPj4+ICsjZW5kaWYKPj4+IMKgIMKgIC8qKgo+Pj4gwqDCoCAq IFJldHVybnMgdGhlIG1ldGhvZCB1c2VkIHRvIHNldCBjdHgtPmR1cmF0aW9uLgo+Pj4gQEAgLTE4 NDQsNiArMTg3MSw3IEBAIGNvbnN0IEFWQ2xhc3MgKmF2X3N0cmVhbV9nZXRfY2xhc3Modm9pZCk7 Cj4+PiDCoMKgICovCj4+PiDCoCBBVlN0cmVhbSAqYXZmb3JtYXRfbmV3X3N0cmVhbShBVkZvcm1h dENvbnRleHQgKnMsIGNvbnN0IEFWQ29kZWMgKmMpOwo+Pj4gwqAgKyNpZiBGRl9BUElfQVZTVFJF QU1fU0lERV9EQVRBCj4+PiDCoCAvKioKPj4+IMKgwqAgKiBXcmFwIGFuIGV4aXN0aW5nIGFycmF5 IGFzIHN0cmVhbSBzaWRlIGRhdGEuCj4+PiDCoMKgICoKPj4+IEBAIC0xODU2LDcgKzE4ODQsMTAg QEAgQVZTdHJlYW0gKmF2Zm9ybWF0X25ld19zdHJlYW0oQVZGb3JtYXRDb250ZXh0Cj4+PiAqcywg Y29uc3QgQVZDb2RlYyAqYyk7Cj4+PiDCoMKgICoKPj4+IMKgwqAgKiBAcmV0dXJuIHplcm8gb24g c3VjY2VzcywgYSBuZWdhdGl2ZSBBVkVSUk9SIGNvZGUgb24gZmFpbHVyZS4gT24KPj4+IGZhaWx1 cmUsCj4+PiDCoMKgICrCoMKgwqDCoMKgwqDCoMKgIHRoZSBzdHJlYW0gaXMgdW5jaGFuZ2VkIGFu ZCB0aGUgZGF0YSByZW1haW5zIG93bmVkIGJ5Cj4+PiB0aGUgY2FsbGVyLgo+Pj4gKyAqIEBkZXBy ZWNhdGVkIHVzZSBhdl9wYWNrZXRfc2lkZV9kYXRhX3NldF9hZGQoKSB3aXRoIHRoZSBzdHJlYW0n cwo+Pj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEByZWYgQVZDb2RlY1BhcmFtZXRlcnMu c2lkZV9kYXRhICJjb2RlY3BhciBzaWRlIGRhdGEiCj4+PiDCoMKgICovCj4+PiArYXR0cmlidXRl X2RlcHJlY2F0ZWQKPj4+IMKgIGludCBhdl9zdHJlYW1fYWRkX3NpZGVfZGF0YShBVlN0cmVhbSAq c3QsIGVudW0gQVZQYWNrZXRTaWRlRGF0YVR5cGUKPj4+IHR5cGUsCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVpbnQ4X3QgKmRh dGEsIHNpemVfdCBzaXplKTsKPj4+IMKgIEBAIC0xODY4LDcgKzE4OTksMTAgQEAgaW50IGF2X3N0 cmVhbV9hZGRfc2lkZV9kYXRhKEFWU3RyZWFtICpzdCwKPj4+IGVudW0gQVZQYWNrZXRTaWRlRGF0 YVR5cGUgdHlwZSwKPj4+IMKgwqAgKiBAcGFyYW0gc2l6ZcKgwqAgc2lkZSBpbmZvcm1hdGlvbiBz aXplCj4+PiDCoMKgICoKPj4+IMKgwqAgKiBAcmV0dXJuIHBvaW50ZXIgdG8gZnJlc2ggYWxsb2Nh dGVkIGRhdGEgb3IgTlVMTCBvdGhlcndpc2UKPj4+ICsgKiBAZGVwcmVjYXRlZCB1c2UgYXZfcGFj a2V0X3NpZGVfZGF0YV9zZXRfbmV3KCkgd2l0aCB0aGUgc3RyZWFtJ3MKPj4+ICsgKsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBAcmVmIEFWQ29kZWNQYXJhbWV0ZXJzLnNpZGVfZGF0YSAiY29kZWNw YXIgc2lkZSBkYXRhIgo+Pj4gwqDCoCAqLwo+Pj4gK2F0dHJpYnV0ZV9kZXByZWNhdGVkCj4+PiDC oCB1aW50OF90ICphdl9zdHJlYW1fbmV3X3NpZGVfZGF0YShBVlN0cmVhbSAqc3RyZWFtLAo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZW51bSBBVlBhY2tldFNpZGVEYXRhVHlwZSB0eXBlLAo+Pj4gc2l6ZV90IHNp emUpOwo+Pj4gwqAgLyoqCj4+PiBAQCAtMTg4MCw5ICsxOTE0LDEzIEBAIHVpbnQ4X3QgKmF2X3N0 cmVhbV9uZXdfc2lkZV9kYXRhKEFWU3RyZWFtCj4+PiAqc3RyZWFtLAo+Pj4gwqDCoCAqwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvciB0byB6ZXJvIGlmIHRoZSBkZXNpcmVkIHNpZGUgZGF0 YSBpcyBub3QgcHJlc2VudC4KPj4+IMKgwqAgKgo+Pj4gwqDCoCAqIEByZXR1cm4gcG9pbnRlciB0 byBkYXRhIGlmIHByZXNlbnQgb3IgTlVMTCBvdGhlcndpc2UKPj4+ICsgKiBAZGVwcmVjYXRlZCB1 c2UgYXZfcGFja2V0X3NpZGVfZGF0YV9zZXRfZ2V0KCkgd2l0aCB0aGUgc3RyZWFtJ3MKPj4+ICsg KsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBAcmVmIEFWQ29kZWNQYXJhbWV0ZXJzLnNpZGVfZGF0 YSAiY29kZWNwYXIgc2lkZSBkYXRhIgo+Pj4gwqDCoCAqLwo+Pj4gK2F0dHJpYnV0ZV9kZXByZWNh dGVkCj4+PiDCoCB1aW50OF90ICphdl9zdHJlYW1fZ2V0X3NpZGVfZGF0YShjb25zdCBBVlN0cmVh bSAqc3RyZWFtLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZW51bSBBVlBhY2tldFNpZGVEYXRhVHlwZSB0eXBl LAo+Pj4gc2l6ZV90ICpzaXplKTsKPj4+ICsjZW5kaWYKPj4+IMKgIMKgIEFWUHJvZ3JhbSAqYXZf bmV3X3Byb2dyYW0oQVZGb3JtYXRDb250ZXh0ICpzLCBpbnQgaWQpOwo+Pj4gwqAgCj4+CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwg bWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsg YWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJq ZWN0ICJ1bnN1YnNjcmliZSIuCg==