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 7632246709 for ; Wed, 7 Jun 2023 22:11:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1529D68B8D2; Thu, 8 Jun 2023 01:11:55 +0300 (EEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D2BFE6881DA for ; Thu, 8 Jun 2023 01:11:48 +0300 (EEST) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20230607221146euoutp02f1e7d10db0b16d5c117c4af1bd90af63~mgA2ZmAc-3025930259euoutp02M for ; Wed, 7 Jun 2023 22:11:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20230607221146euoutp02f1e7d10db0b16d5c117c4af1bd90af63~mgA2ZmAc-3025930259euoutp02M DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1686175906; bh=+PDm8AEGNTZqt4c31V6hyeiDOJiWQbhk+0Rh6W4C55o=; h=From:To:In-Reply-To:Subject:Date:References:From; b=DAj+tJaFx6atBBqTPnNiE10HZtquLxaJnkluK9fvR4Tg5aTT5VrF4B/1a4QIpJmvG gbGuoX+JR3N99aafPclPTXOE6VJEmc6Va39lIZHG6RDqXdCAJ5s8JblZB+ThyZbwfN cdDeAlZnNhie/5h2VKxRT9CeoEbmj383M+3hfPMo= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20230607221145eucas1p1204e5f57eb8ed50a3c5dce39ffc31161~mgA1icT8m2002320023eucas1p1C for ; Wed, 7 Jun 2023 22:11:45 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 81.CC.42423.1A001846; Wed, 7 Jun 2023 23:11:45 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20230607221144eucas1p22bd1269a16a46fc70b9e0ac65c1c0e96~mgA0_vUgb1519715197eucas1p2I for ; Wed, 7 Jun 2023 22:11:44 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20230607221144eusmtrp2446feeebef5e5743058866fdf67e4b6b~mgA0_UEYc2716027160eusmtrp2G for ; Wed, 7 Jun 2023 22:11:44 +0000 (GMT) X-AuditID: cbfec7f2-a51ff7000002a5b7-d9-648100a1ef31 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 70.39.10549.0A001846; Wed, 7 Jun 2023 23:11:44 +0100 (BST) Received: from AMDN5164 (unknown [106.210.132.171]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20230607221144eusmtip2cae7852c44f49de7552997935eefa04b~mgA0s2Ydd1754617546eusmtip2q for ; Wed, 7 Jun 2023 22:11:44 +0000 (GMT) From: "Dawid Kozinski/Multimedia \(PLT\) /SRPOL/Staff Engineer/Samsung Electronics" To: "'FFmpeg development discussions and patches'" In-Reply-To: <69268ef2-d432-1bbe-0c3b-0897c8375c67@gmail.com> Date: Thu, 8 Jun 2023 00:11:44 +0200 Message-ID: <009f01d9998d$0b7adca0$227095e0$@samsung.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQIIelptq0D17biTn6AgVzFIzVRndQFTPE9cAhgi0ngC4CXFawJLL3S0AMDnmzIBHHukKa7OhC/g Content-Language: pl X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGIsWRmVeSWpSXmKPExsWy7djP87oLGRpTDDbPFLP49ukMswOjx59F m1kCGKO4bFJSczLLUov07RK4Mma9+85c8CC2omtbK3MD46zoLkYODgkBE4nXazm7GLk4hARW MEosOXeMpYuRE8iZxCTx+LUwRGIik8S2w1+YQRIgDZuXb2OFSCxnlDi15RsLhNPGJDHp9ENW kCo2gTyJx5/XgnWICPhIdK9fDxbnFLCVOLgbwhYWKJWY3zuVCcRmEVCR2Ll/PyPISbwClhJz f4C18goISpyc+QTsImYBbYllC19DHaEg8fPpMlaI8VESn7fcZIOoEZG48aiFEeQeCYGJHBJr X85ggWhwkTjcewbKFpZ4dXwLO4QtI/F/53wmSFAUSxzqd4AwayQO/UiHqLCWeNt4HOwyZgFN ifW79CHCjhJPH59lh6jmk7jxVhDiAD6JSdumM0OEeSU62oQgTBWJvk4xiEYpiafL5jBPYFSa heTDWUg+nIXkk1kIaxcwsqxiFE8tLc5NTy02zEst1ytOzC0uzUvXS87P3cQITAqn/x3/tINx 7quPeocYmTgYDzFKcDArifBm2denCPGmJFZWpRblxxeV5qQWH2KU5mBREufVtj2ZLCSQnliS mp2aWpBaBJNl4uCUamCSf/XeJX9jbOWlKzt8kwTLJT5Ula5RmtKaKzTxju33jYon/zQcmbdj y8cP/10nqGlJ/hefk3Dz8cY4t6lBIZnL7Z+f2CNQ1/nkWoeStt2S4+kzyo713PkZzV/zLZ35 xdedWVvc/l3mExPc8fLWqtXnvjz/9yVWPGX5qemrF5ZaxQpNDUsoLLCPPRlg8KRfoZ19mciF g317tkx2mDGx46XLJbaT7n/OvrzIYqy6qXJHyPM/W0o/xQnNtTdQF5LblPf760FLx9vd56bY mb3LyapbdSA8nrO7zjBQ743nBOvYhX1bVwh3nNHaz/XrdYpEd0nkJqaUqqczd2Svm6Bl/NZk pdF8/hOpv45lpEnN/ck5SYmlOCPRUIu5qDgRAFOzeH55AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrHLMWRmVeSWpSXmKPExsVy+t/xe7oLGBpTDI5P17P49ukMswOjx59F m1kCGKP0bIryS0tSFTLyi0tslaINLYz0DC0t9IxMLPUMjc1jrYxMlfTtbFJSczLLUov07RL0 Mg5NWMxScNeuone+XwPjS4MuRk4OCQETic3Lt7F2MXJxCAksZZRo3bOSDSIhJbF06SJGCFtY 4s+1LjaIohYmiauHFzOBJNgEciTWzp4IZosI+Eh0r18PNek3k8TdziYWkASngK3Ewd0gCU4O YYFiib+3+tlBbBYBFYmd+/cDbeDg4BWwlJj7gxkkzCsgKHFy5hOwVmYBbYneh62MMPayha+Z IQ5SkPj5dBkrxN4oic9bbrJB1IhI3HjUwjiBUWgWklGzkIyahWTULCQtCxhZVjGKpJYW56bn FhvqFSfmFpfmpesl5+duYgRGxLZjPzfvYJz36qPeIUYmDsZDjBIczEoivFn29SlCvCmJlVWp RfnxRaU5qcWHGE2BXpvILCWanA+MybySeEMzA1NDEzNLA1NLM2MlcV7Pgo5EIYH0xJLU7NTU gtQimD4mDk6pBqb6v9Inn/3tTVwyOfiTgMW0lfPOzlOT4+v3+BP4JZn1gfpX40nbvUS4Hopz bU181mNtvWFajbZoyc9TRVHanvJNf3Nm2ZbMP7t+541Pi9zZjX6KTOx0EJJSl3kol8vu1feH xXyjUvMeJv7f+RET//YU7xAI/r59V9gSKb8o6ePvj2zfVP3kTE6go5lR8/KbZ0Jvi5wTfvFO XDHt2xSrdXuWPAzcOln6+9pp+jd+vVPNjNazWPlpRfneeYVBl3Y0OX9Rub5ub1vaswvf5GX2 1yxcv+u8+MG7zTHnqmN75hy/tWXXd4tHs526rS1b/Y8s66vk7plmOuvNpL+paxezty1nPuLP tK609YUJs6Cri22gEktxRqKhFnNRcSIA4Ky7JBEDAAA= X-CMS-MailID: 20230607221144eucas1p22bd1269a16a46fc70b9e0ac65c1c0e96 X-Msg-Generator: CA X-RootMTR: 20230526103158eucas1p1e8b2adfc43aaf57c62e23e78571df817 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20230526103158eucas1p1e8b2adfc43aaf57c62e23e78571df817 References: <20230526103145.1277-1-d.kozinski@samsung.com> <60cedee7-fe0e-8764-42d5-241875adaab5@gmail.com> <007601d99945$05594570$100bd050$@samsung.com> <8a68fbda-6eac-bc06-eaf9-e0235e6a9711@gmail.com> <008601d9995d$56cf6160$046e2420$@samsung.com> <69268ef2-d432-1bbe-0c3b-0897c8375c67@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH v23 04/10] avformat/evc_demuxer: Added demuxer to handle reading EVC video files 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: CgoKCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZm bXBlZy1kZXZlbC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFsZiBPZiBKYW1lcwo+IEFsbWVy Cj4gU2VudDogxZtyb2RhLCA3IGN6ZXJ3Y2EgMjAyMyAxODozOA0KPiBUbzogZmZtcGVnLWRldmVs QGZmbXBlZy5vcmcNCj4gU3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2MjMgMDQv MTBdIGF2Zm9ybWF0L2V2Y19kZW11eGVyOiBBZGRlZA0KPiBkZW11eGVyIHRvIGhhbmRsZSByZWFk aW5nIEVWQyB2aWRlbyBmaWxlcw0KPiANCj4gT24gNi83LzIwMjMgMTozMCBQTSwgRGF3aWQgS296 aW5za2kvTXVsdGltZWRpYSAoUExUKSAvU1JQT0wvU3RhZmYNCj4gRW5naW5lZXIvU2Ftc3VuZyBF bGVjdHJvbmljcyB3cm90ZToNCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBEYXdpZCBLb3ppbnNraS9NdWx0aW1lZGlhIChQTFQp IC9TUlBPTC9TdGFmZiBFbmdpbmVlci9TYW1zdW5nDQo+ID4+IEVsZWN0cm9uaWNzIDxkLmtvemlu c2tpQHNhbXN1bmcuY29tPg0KPiA+PiBTZW50OiDFm3JvZGEsIDcgY3plcndjYSAyMDIzIDE3OjQx DQo+ID4+IFRvOiAnRkZtcGVnIGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzJyA8 ZmZtcGVnLQ0KPiA+PiBkZXZlbEBmZm1wZWcub3JnPg0KPiA+PiBTdWJqZWN0OiBSRTogW0ZGbXBl Zy1kZXZlbF0gW1BBVENIIHYyMyAwNC8xMF0gYXZmb3JtYXQvZXZjX2RlbXV4ZXI6DQo+ID4+IEFk ZGVkIGRlbXV4ZXIgdG8gaGFuZGxlIHJlYWRpbmcgRVZDIHZpZGVvIGZpbGVzDQo+ID4+DQo+ID4+ DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ Pj4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBP biBCZWhhbGYgT2YNCj4gPj4+IEphbWVzIEFsbWVyDQo+ID4+PiBTZW50OiDFm3JvZGEsIDcgY3pl cndjYSAyMDIzIDE1OjQwDQo+ID4+PiBUbzogZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcNCj4gPj4+ IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggdjIzIDA0LzEwXSBhdmZvcm1hdC9l dmNfZGVtdXhlcjoNCj4gPj4+IEFkZGVkIGRlbXV4ZXIgdG8gaGFuZGxlIHJlYWRpbmcgRVZDIHZp ZGVvIGZpbGVzDQo+ID4+Pg0KPiA+Pj4gT24gNi83LzIwMjMgMTA6MzYgQU0sIERhd2lkIEtvemlu c2tpL011bHRpbWVkaWEgKFBMVCkgL1NSUE9ML1N0YWZmDQo+ID4+PiBFbmdpbmVlci9TYW1zdW5n IEVsZWN0cm9uaWNzIHdyb3RlOg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBl Zy1kZXZlbC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFsZiBPZg0KPiA+Pj4+PiBKYW1lcyBB bG1lcg0KPiA+Pj4+PiBTZW50OiBwb25pZWR6aWHFgmVrLCAyOSBtYWphIDIwMjMgMTU6MDgNCj4g Pj4+Pj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnDQo+ID4+Pj4+IFN1YmplY3Q6IFJlOiBb RkZtcGVnLWRldmVsXSBbUEFUQ0ggdjIzIDA0LzEwXSBhdmZvcm1hdC9ldmNfZGVtdXhlcjoNCj4g Pj4+Pj4gQWRkZWQgZGVtdXhlciB0byBoYW5kbGUgcmVhZGluZyBFVkMgdmlkZW8gZmlsZXMNCj4g Pj4+Pj4NCj4gPj4+Pj4gT24gNS8yNi8yMDIzIDc6MzEgQU0sIERhd2lkIEtvemluc2tpIHdyb3Rl Og0KPiA+Pj4+Pj4gK3N0YXRpYyBpbnQgZ2V0X3RlbXBvcmFsX2lkKGNvbnN0IHVpbnQ4X3QgKmJp dHMsIGludCBiaXRzX3NpemUpIHsNCj4gPj4+Pj4+ICsgICAgaW50IHRlbXBvcmFsX2lkID0gMDsN Cj4gPj4+Pj4+ICsgICAgc2hvcnQgdCA9IDA7DQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiArICAgIGlm IChiaXRzX3NpemUgPj0gRVZDX05BTFVfSEVBREVSX1NJWkUpIHsNCj4gPj4+Pj4+ICsgICAgICAg IHVuc2lnbmVkIGNoYXIgKnAgPSAodW5zaWduZWQgY2hhciAqKWJpdHM7DQo+ID4+Pj4+PiArICAg ICAgICAvLyBmb3JiaWRkZW5femVyb19iaXQNCj4gPj4+Pj4+ICsgICAgICAgIGlmICgocFswXSAm IDB4ODApICE9IDApDQo+ID4+Pj4+PiArICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+Pj4+Pj4g Kw0KPiA+Pj4+Pj4gKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBFVkNfTkFMVV9IRUFERVJf U0laRTsgaSsrKQ0KPiA+Pj4+Pj4gKyAgICAgICAgICAgIHQgPSAodCA8PCA4KSB8IHBbaV07DQo+ ID4+Pj4+DQo+ID4+Pj4+IEkgdGhpbmsgdGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBBVl9SQjE2 Lg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgICAgICAgdGVtcG9yYWxfaWQgPSAo dCA+PiA2KSAmIDB4MDAwNzsNCj4gPj4+Pj4+ICsgICAgfQ0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4g KyAgICByZXR1cm4gdGVtcG9yYWxfaWQ7DQo+ID4+Pj4+PiArfQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBb Li4uXQ0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gK3N0YXRpYyB1aW50MzJfdCByZWFkX25hbF91bml0X2xl bmd0aChjb25zdCB1aW50OF90ICpiaXRzLCBpbnQNCj4gPj4+Pj4+ICtiaXRzX3NpemUpIHsNCj4g Pj4+Pj4+ICsgICAgdWludDMyX3QgbmFsdV9sZW4gPSAwOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4g KyAgICBpZiAoYml0c19zaXplID49IEVWQ19OQUxVX0xFTkdUSF9QUkVGSVhfU0laRSkgew0KPiA+ Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgICAgICAgaW50IHQgPSAwOw0KPiA+Pj4+Pj4gKyAgICAgICAg dW5zaWduZWQgY2hhciAqcCA9ICh1bnNpZ25lZCBjaGFyICopYml0czsNCj4gPj4+Pj4+ICsNCj4g Pj4+Pj4+ICsgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgRVZDX05BTFVfTEVOR1RIX1BSRUZJ WF9TSVpFOyBpKyspDQo+ID4+Pj4+PiArICAgICAgICAgICAgdCA9ICh0IDw8IDgpIHwgcFtpXTsN Cj4gPj4+Pj4NCj4gPj4+Pj4gQVZfUkIzMi4NCj4gPj4+Pj4NCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ ICsgICAgICAgIG5hbHVfbGVuID0gdDsNCj4gPj4+Pj4+ICsgICAgICAgIGlmIChuYWx1X2xlbiA9 PSAwKSAgIC8vIEludmFsaWQgYml0c3RyZWFtIHNpemUNCj4gPj4+Pj4+ICsgICAgICAgICAgICBy ZXR1cm4gMDsNCj4gPj4+Pj4+ICsgICAgfQ0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgICByZXR1 cm4gbmFsdV9sZW47DQo+ID4+Pj4+PiArfQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBbLi4uXQ0KPiA+Pj4+ Pg0KPiA+Pj4+Pj4gK3N0YXRpYyBpbnQgZXZjX2ZyYW1lX21lcmdlX2ZpbHRlcihBVkJTRkNvbnRl eHQgKmJzZiwgQVZQYWNrZXQgKm91dCkgew0KPiA+Pj4+Pj4gKyAgICBFVkNNZXJnZUNvbnRleHQg KmN0eCA9IGJzZi0+cHJpdl9kYXRhOw0KPiA+Pj4+Pj4gKyAgICBBVlBhY2tldCAqaW4gPSBjdHgt PmluOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgICBpbnQgZnJlZV9zcGFjZSA9IDA7DQo+ID4+ Pj4+PiArICAgIHNpemVfdCAgbmFsdV9zaXplID0gMDsNCj4gPj4+Pj4+ICsgICAgdWludDhfdCAq bmFsdSA9IE5VTEw7DQo+ID4+Pj4+PiArICAgIGludCBhdV9lbmRfZm91bmQgPSAwOw0KPiA+Pj4+ Pj4gKyAgICBpbnQgZXJyOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgICBlcnIgPSBmZl9ic2Zf Z2V0X3BhY2tldF9yZWYoYnNmLCBpbik7DQo+ID4+Pj4+PiArICAgIGlmIChlcnIgPCAwKQ0KPiA+ Pj4+Pj4gKyAgICAgICAgcmV0dXJuIGVycjsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICsgICAgbmFs dV9zaXplID0gcmVhZF9uYWxfdW5pdF9sZW5ndGgoaW4tPmRhdGEsDQo+ID4+Pj4+IEVWQ19OQUxV X0xFTkdUSF9QUkVGSVhfU0laRSk7DQo+ID4+Pj4+PiArICAgIGlmKG5hbHVfc2l6ZSA8PSAwKSB7 DQo+ID4+Pj4+PiArICAgICAgICBhdl9wYWNrZXRfdW5yZWYoaW4pOw0KPiA+Pj4+Pj4gKyAgICAg ICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7DQo+ID4+Pj4+PiArICAgIH0NCj4gPj4+Pj4+ ICsNCj4gPj4+Pj4+ICsgICAgbmFsdSA9IGluLT5kYXRhICsgRVZDX05BTFVfTEVOR1RIX1BSRUZJ WF9TSVpFOw0KPiA+Pj4+Pj4gKyAgICBuYWx1X3NpemUgPSBpbi0+c2l6ZSAtIEVWQ19OQUxVX0xF TkdUSF9QUkVGSVhfU0laRTsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICsgICAgLy8gTkFMIHVuaXQg cGFyc2luZyBuZWVkZWQgdG8gZGV0ZXJtaW5lIGlmIGVuZCBvZiBBVSB3YXMgZm91bmQNCj4gPj4+ Pj4+ICsgICAgZXJyID0gcGFyc2VfbmFsX3VuaXQobmFsdSwgbmFsdV9zaXplLCBic2YpOw0KPiA+ Pj4+Pj4gKyAgICBpZiAoZXJyIDwgMCkgew0KPiA+Pj4+Pj4gKyAgICAgICAgYXZfbG9nKGJzZiwg QVZfTE9HX0VSUk9SLCAiTkFMIFVuaXQgcGFyc2luZyBlcnJvclxuIik7DQo+ID4+Pj4+PiArICAg ICAgICBhdl9wYWNrZXRfdW5yZWYoaW4pOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgICAgICAg cmV0dXJuIGVycjsNCj4gPj4+Pj4+ICsgICAgfQ0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgICBh dV9lbmRfZm91bmQgPSBlbmRfb2ZfYWNjZXNzX3VuaXRfZm91bmQoYnNmKTsNCj4gPj4+Pj4+ICsN Cj4gPj4+Pj4+ICsgICAgZnJlZV9zcGFjZSA9IGN0eC0+YXVfYnVmZmVyLmNhcGFjaXR5IC0gY3R4 LT5hdV9idWZmZXIuZGF0YV9zaXplOw0KPiA+Pj4+Pj4gKyAgICB3aGlsZSggZnJlZV9zcGFjZSA8 IGluLT5zaXplICkgew0KPiA+Pj4+Pj4gKyAgICAgICAgY3R4LT5hdV9idWZmZXIuY2FwYWNpdHkg Kj0gMjsNCj4gPj4+Pj4+ICsgICAgICAgIGZyZWVfc3BhY2UgPSBjdHgtPmF1X2J1ZmZlci5jYXBh Y2l0eSAtDQo+ID4+Pj4+PiArIGN0eC0+YXVfYnVmZmVyLmRhdGFfc2l6ZTsNCj4gPj4+Pj4+ICsN Cj4gPj4+Pj4+ICsgICAgICAgIGlmKGZyZWVfc3BhY2UgPj0gaW4tPnNpemUpIHsNCj4gPj4+Pj4+ ICsgICAgICAgICAgICBjdHgtPmF1X2J1ZmZlci5kYXRhID0NCj4gPj4+Pj4+ICsgYXZfcmVhbGxv YyhjdHgtPmF1X2J1ZmZlci5kYXRhLA0KPiA+Pj4+Pj4gKyBjdHgtDQo+ID4+Pj4+PiBhdV9idWZm ZXIuY2FwYWNpdHkpOw0KPiA+Pj4+Pj4gKyAgICAgICAgfQ0KPiA+Pj4+Pj4gKyAgICB9DQo+ID4+ Pj4+PiArDQo+ID4+Pj4+PiArICAgIG1lbWNweShjdHgtPmF1X2J1ZmZlci5kYXRhICsgY3R4LT5h dV9idWZmZXIuZGF0YV9zaXplLA0KPiA+Pj4+Pj4gKyBpbi0+ZGF0YSwNCj4gPj4+Pj4+ICsgaW4t PnNpemUpOw0KPiA+Pj4+Pg0KPiA+Pj4+PiBUaGlzIGlzIGluY2x1ZGluZyB0aGUgQW5uZXgtQidz IG5hbF91bml0X2xlbmdodCB2YWx1ZSBpbnRvIHRoZQ0KPiA+Pj4+PiBhc3NlbWJsZWQNCj4gPj4+ PiBwYWNrZXQuIEkNCj4gPj4+Pj4gYXNzdW1lIGxpYnhldmQgZXhwZWN0cyB0aGlzPyBBbHNvLCBp cyBpdCBkZWZpbmVkIGFzIHBhcnQgb2YgdGhlDQo+ID4+Pj4+IElTT0JNRkYgZW5jYXBzdWxhdGlv bj8gUGF0Y2ggMDcvMTAgZG9lcyBub3Qgc2VlbSB0byBzdHJpcCBpdC4NCj4gPj4+Pg0KPiA+Pj4+ IENvdWxkIHlvdSBleHBhbmQgb24gdGhpcyB0b3BpYz8NCj4gPj4+PiBXaGF0IGRvIHlvdSBtZWFu IGJ5ICJQYXRjaCAwNy8xMCBkb2VzIG5vdCBzZWVtIHRvIHN0cmlwIGl0Ij8NCj4gPj4+PiBQYXRj aCA3LzEwIGV4cGFuZHMgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBNT1YgTXV4ZXIgdG8gc3Vw cG9ydA0KPiA+Pj4+IHRoZSBFVkMgc3RyZWFtLg0KPiA+Pj4+IFRoZSBmdW5jdGlvbiBmZl9pc29t X3dyaXRlX2V2Y2MgcGFyc2VzIHRoZSByZWNlaXZlZCBkYXRhLCBleHRyYWN0cw0KPiA+Pj4+IE5B TCB1bml0cyBvZiB0eXBlcyBTUFMsIFBQUywgQVBTLCBTRUksIGFuZCBpbnNlcnRzIHRoZWlyIGNv bnRlbnRzDQo+ID4+Pj4gaW50byB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50cyBvZiB0aGUgYXJy YXlzIGFycmF5LCB3aGljaCBpcyBhDQo+ID4+Pj4gY29tcG9uZW50IG9mIHRoZSBFVkNEZWNvZGVy Q29uZmlndXJhdGlvblJlY29yZCBzdHJ1Y3R1cmUuDQo+ID4+Pj4gQWRkaXRpb25hbGx5LCB0aGUg ZmZfaXNvbV93cml0ZV9ldmNjIGZ1bmN0aW9uIHBvcHVsYXRlcyB0aGUNCj4gPj4+PiByZWxldmFu dCBmaWVsZHMgb2YgdGhlIEVWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVjb3JkIHN0cnVjdHVyZQ0K PiA+Pj4+IGJhc2VkIG9uIHRoZSBwYXJzZWQgU1BTIE5BTCB1bml0IGRhdGEsIGFuZCB0aGVuIGNh bGxzIHRoZQ0KPiA+Pj4+IGV2Y2Nfd3JpdGUgZnVuY3Rpb24sIHdoaWNoIHdyaXRlcyB0aGUgRVZD RGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQgdG8NCj4gdGhlIHN0cmVhbS4NCj4gPj4+Pg0KPiA+ Pj4+IEl0IHNlZW1zIHRoYXQgSSBkb24ndCB1bmRlcnN0YW5kIHdoYXQncyB3cm9uZyB3aXRoIG91 cg0KPiA+Pj4+IGltcGxlbWVudGF0aW9uICggSSBtZWFuIE1PViBtdXhlciBmb3IgRVZDKSBhbmQg aXQgc2VlbXMgSSBuZWVkIHlvdXINCj4gPj4+PiBoZWxwIGluIHRoaXMgbWF0dGVyLiBJIG5lZWQg YW4gZXhwbGFuYXRpb24gb2Ygd2hhdCdzIHdyb25nIGFuZCB3aGF0DQo+ID4+Pj4gc2hvdWxkIGJl IGRvbmUgdG8gZml4DQo+ID4+PiB0aGUgaXNzdWUuDQo+ID4+Pg0KPiA+Pj4gSSBtZWFuIHRoZSBw YWNrZXRzIHRoYXQgZ28gaW50byBJU09CTUZGIFNhbXBsZSwgbm90IHRoZSBldmNjIGF0b20uDQo+ ID4+PiBJcyB0aGUgZW5jYXBzdWxhdGlvbiBzdXBwb3NlZCB0byBpbmNsdWRlIHRoZSBuYWxfdW5p dF9sZW5ndGggZnJvbSBBbm5leC1CPw0KPiA+Pg0KPiA+PiBUaGUgZnVuY3Rpb24gbW92X3dyaXRl X3NpbmdsZV9wYWNrZXQocywgcGt0KSByZWNlaXZlcyBwYWNrZXRzDQo+ID4+IGNvbnRhaW5pbmcg dGhlIEFjY2VzcyBVbml0cyAoQVUpIG9mIGFuIEVWQyBzdHJlYW0uIEVhY2ggQVUgY29uc2lzdHMN Cj4gPj4gb2YgYSBzZXF1ZW5jZSBvZiBOQUwgdW5pdHMsIGVhY2ggcHJlY2VkZWQgYnkgYSA0LWJ5 dGUgcHJlZml4IHRoYXQNCj4gPj4gY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxlbmd0 aCBvZiB0aGUgTkFMIHVuaXQuIFRoZSBlbnRpcmUgQVUNCj4gPj4gaXMgdGhlbiBjb3BpZWQgdG8g QVZJT0NvbnRleHQgdXNpbmcgYXZpb193cml0ZShwYiwgcGt0LT5kYXRhLCBzaXplKS4NCj4gPj4N Cj4gPg0KPiA+IEl0IHNlZW1zIHRvIG1lIHRoYXQgZXZlcnl0aGluZyBpcyBva2F5LiBJZiBJIGFt IG1pc3Rha2VuLCBqdXN0IGxldCBtZSBrbm93Lg0KPiA+IEFzIHdlIGhhdmUgYWxzbyBjb21wbGV0 ZWQgYWxsIHRoZSBmaXhlcyBmb2xsb3dpbmcgeW91ciByZXZpZXcgdGhpcyBpcyB0aGUgbGFzdA0K PiB0aGluZyBibG9ja2luZyB1cyBmcm9tIGNyZWF0aW5nIGEgbmV3IHBhdGNoc2V0Lg0KPiANCj4g SWYgdGhlIDQgYnl0ZSBwcmVmaXggZ29lcyBpbnRvIElTT0JNRkYgZW5jYXBzdWxhdGlvbiB0aGVu LCBpdCdzIGZpbmUuDQoNClllcyBpdCBkb2VzLiA0IGJ5dGUgcHJlZml4IGdvZXMgaW50byBJU09C TUZGIGVuY2Fwc3VsYXRpb24uDQoNCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdA0KPiBmZm1wZWctZGV2 ZWxAZmZtcGVnLm9yZw0KPiBodHRwczovL3Byb3RlY3QyLmZpcmVleWUuY29tL3YxL3VybD9rPWY1 ZGU2MDNjLTk0YTVjYWFiLWY1ZGZlYjczLQ0KPiA3NGZlNDg2MDAwMWQtOWIwNWJmYzA0MzMzNjE5 NyZxPTEmZT1mOTI5MDc1Yi1hMTU2LTRjMWItYTM0OC0NCj4gY2IyOWFmZjY4Y2NkJnU9aHR0cHMl M0ElMkYlMkZmZm1wZWcub3JnJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGZmZtcGUNCj4gZy1kZXZl bA0KPiANCj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsIGZmbXBl Zy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcNCj4gd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIu DQoNCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZt cGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZp c2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcg d2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==