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 519B843AA8 for ; Thu, 7 Jul 2022 22:45:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CE0F168B8EF; Fri, 8 Jul 2022 01:45:26 +0300 (EEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2037.outbound.protection.outlook.com [40.92.18.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 77CE068B900 for ; Fri, 8 Jul 2022 01:45:19 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QSAcNvYAE6SRGb8bshDsp5ZMRTS8k8n5pc2DOUEeqqj8tnXg0g1XsAmRL2DA01jdcsk033xaoVd+mLW88LWKcCSVf8kCk+vTatcKzQVmL+u4S/nGqyy28ASoubJoRNnELL3uQk4m63Hvunpg03hip4y9iIpscchI6n0FKYj1nz3aPaNWeCeJLNTfKZqhd3lec2MSUdOPtxfeioEEEL+v9QaLQwI2sMF3m+eTbvmBfW/dlEwsQwo/gLK4xFFPdRwExn+y3jZyQv9NJD9EDZ2TtTR4Qq47lq3+tD+PRd2ewzkrdMJAKLuZOaJ5zv2JvP2t+YLzoXiQvj3w/J4SUSEM4A== 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=X6myIO4ZRZMMv6hXsD/vwYjMndES+xs8jSHTepeZ3v8=; b=eHtOR9HQGr/FXsyspQGcrwYbZ5dHNVcHsDVjamUia51RSfE8DUBAuCP29HlXTpNCPRlXzLZi1m8A3dQkzoh8FcPVlgLzKoZcHD0AwtBWr8W+EUfwjZKTeOFx0nTjqJEb5I66xg/OCLdNd9c0nhsPJYPAyNIZBXFprfPTEg3AEwsYYbrSURUfP+KVBnxsjKQ0Ji+0OEPxDBy0O6AbcH8FTPcktthjsjvzEOoKnTZWCKwirUIKdXPMRW/bjvr9AbLAsiblq83cyoutQgmL1vW2s/4gxJRtu6BhjW1xpKwGfOGh1xec+L19TIYiE7amGOwz/ytm8+swhxe0SmxbaAgqnA== 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=X6myIO4ZRZMMv6hXsD/vwYjMndES+xs8jSHTepeZ3v8=; b=aEdcZzE5QO+pD5ecVkvGbkkEHMtsBnEtRqSQ7j/rqP80+FWOo0pL53BAdBFtOdKMlV7PuoA6E+2K8sz+EulDv1ol2hcPe0Yu/H53iaac51CW8Hf8ikQTwP9E38XfMYdPlI38AogY7OQC6oJWLrVdIiMnx1iREtK3GPZihw8f9UfnZfCm7apV5wAFMSoXEcjBmeyrTPPW2blxissIIbPZbROaKenN6ZlYbqM/9clmFadBECfLQDT09lbjozE5USqnKYYJJIUgONUDmhL3Qt16rpVHuVZ0MvWfZFsksSTyJkqHo+O6FP41jOl+/FajeGQzGr6dWikQ/li4aTktGS9FnQ== Received: from PH0PR13MB5921.namprd13.prod.outlook.com (2603:10b6:510:164::14) by BN6PR13MB0962.namprd13.prod.outlook.com (2603:10b6:404:20::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Thu, 7 Jul 2022 22:45:15 +0000 Received: from PH0PR13MB5921.namprd13.prod.outlook.com ([fe80::a0f7:d887:29be:1ac2]) by PH0PR13MB5921.namprd13.prod.outlook.com ([fe80::a0f7:d887:29be:1ac2%5]) with mapi id 15.20.5417.013; Thu, 7 Jul 2022 22:45:15 +0000 From: Raymond Cheng To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] avfilter/drawtext: Support bidirectional metadata in drawtext filter Thread-Index: AdiRPFeHtPnuBHGBRK67ha6e+do/UQ== Date: Thu, 7 Jul 2022 22:45:14 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=058e6da0-177b-47bf-9f3b-be175586141c; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-07-07T22:40:10Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [gAz0FY0vnkXRSqbKDop42qjp2L3yYbxu3ixmy+1VOIM=] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e5d05f0e-0b24-4c0e-8d73-08da606a5bdc x-ms-exchange-slblob-mailprops: S/btQ8cKWiTg+J2w2IFOyzMKDPZ6G0Q1ND39DhOZagtOESEzdO17VQzR7XW2G1gdrDLcJT8AJ5oGO1wfzIiTzvyTLo/smWrAKurO9I4VeDb8dBMV8e2HyKXgaMHM+EfFptjeUPqHof+wZOofRS0B30WC1VeZXGJfR5zD3CBhdJOD5KTNZG1E0+ksmN/Km7DtQL2Mpb+JeS+PyA+/3fd6ZlBR+uL3+DlfLsI7RyXkyeGVtWUAnQV1LKRQtm2lc32tz4EJb5Ev4zKu3QglMftX5tj8AttN6k4eMxmzJH20CvJqzYZ+iu34cnnJQxbFfw6/TziG1kzdCyZsNIhl3mcfj9uEJPPM4T3UzxF3YuAhpsesNuDQyqtZRL3tFCxRb02nyVC0+Adad3AQmSLNgFe2odP8wZbkCsW0aqxbNfwZuF4CFGaoeSavEwoDX6/Lu2egDKE8W0tcAaLhBoqZr5/xj/cR6Pg5o1agUuXcB+gVEHkwngAJ0IsCftlMzZsJKaHWPSaVtm/8dtUoAEhsMrMT1+Ss5Gnw9T19i0EgqdVmkv1eArTxXt31cOcEEOBskW0iLmXfis96C0eli6w9LL7TqNKuaTQRH+bfAvN1qQIg6nrnYVW2lnIfEEg7Jd2Q1egrwJbHErIZsSJ4kN2Bl9sD41/U1CwNDdx7Rof8ht+X5yq7oitRsACwSu/YfEV/0YaJbqIVlXH0HfnroULgGJ9QwEkMCyOrtUaigGOLp3lwPRNk886DsOmWZ5cFC/+Z3v5nf3IUsxA8IWw= x-ms-traffictypediagnostic: BN6PR13MB0962:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BnMBWyRFR2BRaU/2xb0TNOB5acBRzUFLxl6ha9qAESh8NqQChhFfgYEr7A8+xYJULUJwo+WB1v4wAIrodhfszTVQ4sLiUZEUtge5kD/gxO230e1RdsEn5qiyhUoiBPyjwCPXy2qYiF4z1qYqH4sXJClpw5u5IrJEwSEGv19nu0VuZNdA0gp9apEkRd2+4BrDCsv+w51MqFiF1cXigPyB3cIxNlXz1d03qYUKW2jgEh9RMSoHdT4RVMe9qSwM6LJIFGCzmwYf9NT4vOy+CLhNrfuLGm58lT7ZYTwRwav0IX5tIGwNDjg6H+Gn09VXJ3Cx+phVMqWBcwZZjp3+pcKBFUPYra9/q0Qr4BZok1K2sdPApADjx5gu3KTo7bETkjtJA7sw4CeUxss/coGJoAlHKXccLCMd7sFaPPrfC7XK7Z/ppUMr4fms2Qh8z1GTAnvcEPYtyJYsrBJQQo9vAYSnwU5FyAFVbDL7PsdQA8vYh8mfGQdCyeSVs3TR6ix0iTAf0H3oWm4TNK6BmYkwRyAKqmWvqUIQZD9t2vKUULVXuUPspsU+ABX1sXZ9M7sUY9P5O9ThOLk8RbSqfTTzlLScWqj2dCdmukNz+i/84zrBBS02jHSYRplanFHgeL1JEppBEyQmo2d+Dpdff7BO/mzv7LImVeebLtDNDZvuRiSnndDaYIvhwoEzcORZS0zOKAUaJr2545OhSw7G7TNRh79+Fg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bEljQWhEQW5GTWlpRFpwNXNPTFFwUlhNeTFSL3JjS20vQlZYUjFaQWw0MkJP?= =?utf-8?B?UUxZcU5LcjdlVHMrcHIreGhtbGdmOFNlUEZmWERJUmd1L09PTEQ1YlVTRzl2?= =?utf-8?B?eXFlTGNzcndGbStycEU2dVN2VHZQZzZqN1owWVF5cjRGL3dOUE1mYU1RMEF4?= =?utf-8?B?L3A2WC90aFJDVzFFTEtOeWF6NElCOVptaTU4aHllbUMwbTJ3d1pnVU5mNEFy?= =?utf-8?B?NFdvb1Q2QWVObVpsY1BQOTViVVBUUTlMaElCK2tSMjVvUnhjN3JBSHFiRjlV?= =?utf-8?B?bjJwZlM0ZXFGb1JwTDNmZy9lS3ZmcU5yWmFZcWs4WGpDUUdTaUVKYVdVNjUv?= =?utf-8?B?T1k4RURFeTREeFUvejJuK0pUVVVFUVNUTmVJdklIOTBIUVdwTWV3NXFIMmtG?= =?utf-8?B?UFJKaERSbEgxOXVlWWRtSXZPdmNvRXVpSGQxTVhDbVQ4TFAyN0VVWEZCQWYr?= =?utf-8?B?c1F4Y1JHWEMxeHAvbXMyTjJFUEtndExRY2RrMVk3cENieUU3OHp5MFVaZzZP?= =?utf-8?B?QlJUUk5yRjAva0tjem53czA5VEtmWnUvODNDRGZPeEx3NTBBanVmQXE3WEVp?= =?utf-8?B?djd2Yk5oOFhGc2xLMFV4Q1JLSTYrUVNxVXBXQzMvcjQyOFl0Q1J6S2tZRyta?= =?utf-8?B?aTh3THBxekNaeFV0VFRPNlAwcVdlNHNqUnFVUjFCYXBhVU96S0hEYm84YXMz?= =?utf-8?B?NFJTMXp5SkZQU1RmY3cyalRFT2RGaTgwWEo3SHdBS1dhVUIvSVBTQitWQlEv?= =?utf-8?B?QkRKaW9pZ2s4TEpjYVhLcUVNejJZOXhwVk9NenhzMUpDVGRTQk9oZ2I5NTgr?= =?utf-8?B?cFByUldYeEVVY3I2bzNmYkVLVmd2Z2psQU8zQStpZ0d2RHZCekNmRy85WnZM?= =?utf-8?B?MDhidDVZdENCZGN5bERLQU4xQm05TUV3RmNIRFRxb0ZFQkhkWkR3UW42ZFc3?= =?utf-8?B?SG5qSWJqaW9RbktMR2VoZ3dWRTk0Rm5LMThsckpRNUZnZDV0MlYzT2NHT2p6?= =?utf-8?B?cWxPdmJ0cENSRTQ2SU5iT3JmRlRjU0UrSXpZb3JEQ3M2TUJJMU1DY3ZUTU04?= =?utf-8?B?Y3AyQjgwMXl5c0lJaUFQZlNKWWttYi9mTmlxT0lNZitLNWJQaEN0ZXdvZkJQ?= =?utf-8?B?VTdCZ3BTRVhaM0x1Y0lPdm1NMy9UbCtGOWRuRXJvc1U0Q0g1N2crbnJHSVl2?= =?utf-8?B?bFNrZVBXUGk1QlVIeVF0enQ4RzJpbTV4b295MmdZL0dlR0U5MmNSc2dhYXQ1?= =?utf-8?B?eU8rZzlBYm5Ga1BlQTFYeUpacThYWERpSThmRjVtS01jYklIbEtEakZWQ0c4?= =?utf-8?B?c0tGNW1kSmtTc2R6eGxqYlBFMjJSa0cxQitEeTd2Mm4rQkpJM3pvaERNSEtk?= =?utf-8?B?MG9lYzNqRmJ5d3NVcFBFc3F6bUxxZDdiUkowVUp4emJZNnJnSVRBdENISVYx?= =?utf-8?B?ZHE4VzIrZUEwbi9kOGJqWk1BK01rK2U5Y0IwOFlEc2kzVWlYK09rdVR6aFRa?= =?utf-8?B?cENHNlJuNm5IYTIxanFjUzl5QVczMVg1UFFEWWRGQ1RYQjRpWldvNGRLWE1y?= =?utf-8?B?dDNENGFRNUlya0w2SjlublFmTmo1eVJLUktDMGpDejlJT1pJVGtEam1NK0Uz?= =?utf-8?B?WFhNSWdUanE2bTdHR28xUk9GN3l0NmZKOUMzTVlXV0FFVzdTSXI2VEVwSU52?= =?utf-8?B?VmVvNW8wYlpxSWdnbkNtRm1QOXh0dU0xTDZ2MVdlZEwrSldEYlZHR3NnPT0=?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4778-2-msonline-outlook-da780.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB5921.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: e5d05f0e-0b24-4c0e-8d73-08da606a5bdc X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jul 2022 22:45:15.0014 (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: BN6PR13MB0962 Subject: [FFmpeg-devel] [PATCH] avfilter/drawtext: Support bidirectional metadata in drawtext filter 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: VGhlIGRyYXd0ZXh0IGZpbHRlciBzdXBwb3J0cyBzdGF0aWMgYmlkaSB0ZXh0IHZpYSBhIGZ1bmN0 aW9uIGNhbGxlZA0Kc2hhcGVfdGV4dCgpLiBGaXhlZCBzbyB0aGF0IGl0IGNhbGxzIHNoYXBlX3Rl eHQoKSB3aGVuIHJlbmRlcmluZw0Kbm9uLXN0YXRpYyB0ZXh0IGZyb20gbWV0YWRhdGEgKHNvIHRo YXQgYmlkaSB0ZXh0IGlzIHJlbmRlcmVkIHByb3Blcmx5KS4NCg0KQXMgYW4gZXhhbXBsZSwgIkhl bGxvIHdvcmxkIiBpcyAi2YXYsdit2KjYpyDYqNin2YTYudin2YTZhSIgaW4gQXJhYmljLiBUaGUN CmZvbGxvd2luZyBjb21tYW5kIGxpbmUgd29ya2VkIGp1c3QgZmluZSBiZWZvcmUsIGFuZCBzdGls bCB3b3Jrcw0KYWZ0ZXIgdGhpcyBjaGFuZ2U6DQoNCiAgZmZtcGVnIC1pIGlucHV0IC12ZiBkcmF3 dGV4dD1mb250c2l6ZT0zMDp4PTMwOnk9MzA6Zm9udGNvbG9yPXllbGxvdzp0ZXh0PSfZhdix2K3Y qNinINio2KfZhNi52KfZhNmFJyBvdXQubXA0DQoNCkhvd2V2ZXIsIHRoaXMgY29tbWFuZCBsaW5l IGRpZCBOT1Qgd29yazoNCg0KICBmZm1wZWcgLWkgaW5wdXQgLXZmIG1ldGFkYXRhPW1vZGU9YWRk OmtleT10cmFuc2NyaXB0aW9uOnZhbHVlPSfZhdix2K3YqNinINio2KfZhNi52KfZhNmFJyxkcmF3 dGV4dD1mb250c2l6ZT0zMDp4PTMwOnk9MzA6Zm9udGNvbG9yPXllbGxvdzp0ZXh0PSInRnJvbSBt ZXRhZGF0YVw6ICV7bWV0YWRhdGFcOnRyYW5zY3JpcHRpb259JyIgb3V0Lm1wNA0KDQpUaGlzIGNv bW1pdCBmaXhlcyBpdCBzbyB0aGF0IHRoaXMgc2Vjb25kIGNvbW1hbmQgbGluZSBub3cgd29ya3Mu DQoNCk5PVEUgdGhhdCB0aGUgYWJvdmUgY29tbWFuZCBsaW5lcyBhcmUgZm9yIGV4YW1wbGUgb25s eS4gVGhleSByZW5kZXINCnRoZSBwcm9wZXIgdGV4dCwgYnV0IGltcHJvcGVybHkganVzdGlmaWVk IChsZWZ0LWp1c3RpZmllZCBpbnN0ZWFkIG9mDQpyaWdodC1qdXN0aWZpZWQpLiBGb3Igb25lLWxp bmUgdHJhbnNjcmlwdGlvbnMsIHRoaXMgaXMgZWFzaWx5IGZpeGVkDQpieSByZXBsYWNpbmcgeD0z MCB3aXRoIHg9XCg3MDAtdHdcKS4gVHdvLWxpbmUgdHJhbnNjcmlwdGlvbnMgZG8gbm90DQpoYXZl IGEgc2ltcGxlIHNvbHV0aW9uLg0KDQpTaWduZWQtb2ZmLWJ5OiBSYXltb25kIENoZW5nIDxyYXlj aEBtaWNyb3NvZnQuY29tPg0KLS0tDQogbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYyB8IDU3ICsr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAz NyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL3ZmX2RyYXd0ZXh0LmMgYi9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jDQppbmRleCBmZWI2 ODk4ODQ4Li45ZTRhNjNiN2ZkIDEwMDY0NA0KLS0tIGEvbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQu Yw0KKysrIGIvbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYw0KQEAgLTYwOCw3ICs2MDgsNyBAQCBz dGF0aWMgaW50IGxvYWRfdGV4dGZpbGUoQVZGaWx0ZXJDb250ZXh0ICpjdHgpDQogfQ0KIA0KICNp ZiBDT05GSUdfTElCRlJJQklESQ0KLXN0YXRpYyBpbnQgc2hhcGVfdGV4dChBVkZpbHRlckNvbnRl eHQgKmN0eCkNCitzdGF0aWMgaW50IHNoYXBlX3RleHRfYXJnKEFWRmlsdGVyQ29udGV4dCAqY3R4 LCBjaGFyICoqcHBUZXh0KQ0KIHsNCiAgICAgRHJhd1RleHRDb250ZXh0ICpzID0gY3R4LT5wcml2 Ow0KICAgICB1aW50OF90ICp0bXA7DQpAQCAtNjI1LDEyICs2MjUsMTUgQEAgc3RhdGljIGludCBz aGFwZV90ZXh0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQ0KICAgICBGcmlCaWRpQ2hhclR5cGUgKmJp ZGlfdHlwZXMgPSBOVUxMOw0KICAgICBGcmlCaWRpU3RySW5kZXggaSxqOw0KIA0KLSAgICBsZW4g PSBzdHJsZW4ocy0+dGV4dCk7DQorICAgIGlmICghcy0+dGV4dF9zaGFwaW5nKQ0KKyAgICAgICAg cmV0dXJuIDA7IC8vIERvIG5vdGhpbmcNCisNCisgICAgbGVuID0gc3RybGVuKCpwcFRleHQpOw0K ICAgICBpZiAoISh1bmljb2Rlc3RyID0gYXZfbWFsbG9jX2FycmF5KGxlbiwgc2l6ZW9mKCp1bmlj b2Rlc3RyKSkpKSB7DQogICAgICAgICBnb3RvIG91dDsNCiAgICAgfQ0KICAgICBsZW4gPSBmcmli aWRpX2NoYXJzZXRfdG9fdW5pY29kZShGUklCSURJX0NIQVJfU0VUX1VURjgsDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnRleHQsIGxlbiwgdW5pY29kZXN0cik7DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwcFRleHQsIGxlbiwgdW5pY29k ZXN0cik7DQogDQogICAgIGJpZGlfdHlwZXMgPSBhdl9tYWxsb2NfYXJyYXkobGVuLCBzaXplb2Yo KmJpZGlfdHlwZXMpKTsNCiAgICAgaWYgKCFiaWRpX3R5cGVzKSB7DQpAQCAtNjc2LDE0ICs2Nzks MTQgQEAgc3RhdGljIGludCBzaGFwZV90ZXh0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQ0KICAgICAg ICAgICAgIHVuaWNvZGVzdHJbaisrXSA9IHVuaWNvZGVzdHJbaV07DQogICAgIGxlbiA9IGo7DQog DQotICAgIGlmICghKHRtcCA9IGF2X3JlYWxsb2Mocy0+dGV4dCwgKGxlbiAqIDQgKyAxKSAqIHNp emVvZigqcy0+dGV4dCkpKSkgew0KKyAgICBpZiAoISh0bXAgPSBhdl9yZWFsbG9jKCpwcFRleHQs IChsZW4gKiA0ICsgMSkgKiBzaXplb2YoKipwcFRleHQpKSkpIHsNCiAgICAgICAgIC8qIFVzZSBs ZW4gKiA0LCBhcyBhIHVuaWNvZGUgY2hhcmFjdGVyIGNhbiBiZSB1cCB0byA0IGJ5dGVzIGluIFVU Ri04ICovDQogICAgICAgICBnb3RvIG91dDsNCiAgICAgfQ0KIA0KLSAgICBzLT50ZXh0ID0gdG1w Ow0KKyAgICAqcHBUZXh0ID0gdG1wOw0KICAgICBsZW4gPSBmcmliaWRpX3VuaWNvZGVfdG9fY2hh cnNldChGUklCSURJX0NIQVJfU0VUX1VURjgsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuaWNvZGVzdHIsIGxlbiwgcy0+dGV4dCk7DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuaWNvZGVzdHIsIGxlbiwgKnBwVGV4dCk7DQogICAgIHJldCA9 IDA7DQogDQogb3V0Og0KQEAgLTY5Myw4ICs2OTYsMTkgQEAgb3V0Og0KICAgICBhdl9mcmVlKGJp ZGlfdHlwZXMpOw0KICAgICByZXR1cm4gcmV0Ow0KIH0NCisjZWxzZQ0KK3N0YXRpYyBpbnQgc2hh cGVfdGV4dF9hcmcoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGNoYXIgKipwcFRleHQpDQorew0KKyAg ICByZXR1cm4gMDsNCit9DQogI2VuZGlmDQogDQorc3RhdGljIGludCBzaGFwZV90ZXh0KEFWRmls dGVyQ29udGV4dCAqY3R4KQ0KK3sNCisgICAgRHJhd1RleHRDb250ZXh0ICpzID0gY3R4LT5wcml2 Ow0KKyAgICByZXR1cm4gc2hhcGVfdGV4dF9hcmcoY3R4LCAoY2hhciAqKikmcy0+dGV4dCk7DQor fQ0KKw0KIHN0YXRpYyBlbnVtIEFWRnJhbWVTaWRlRGF0YVR5cGUgdGV4dF9zb3VyY2Vfc3RyaW5n X3BhcnNlKGNvbnN0IGNoYXIgKnRleHRfc291cmNlX3N0cmluZykNCiB7DQogICAgIGF2X2Fzc2Vy dDAodGV4dF9zb3VyY2Vfc3RyaW5nKTsNCkBAIC03NzEsMTEgKzc4NSw4IEBAIHN0YXRpYyBhdl9j b2xkIGludCBpbml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQ0KICAgICAgICAgcmV0dXJuIEFWRVJS T1IoRUlOVkFMKTsNCiAgICAgfQ0KIA0KLSNpZiBDT05GSUdfTElCRlJJQklESQ0KLSAgICBpZiAo cy0+dGV4dF9zaGFwaW5nKQ0KLSAgICAgICAgaWYgKChlcnIgPSBzaGFwZV90ZXh0KGN0eCkpIDwg MCkNCi0gICAgICAgICAgICByZXR1cm4gZXJyOw0KLSNlbmRpZg0KKyAgICBpZiAoKGVyciA9IHNo YXBlX3RleHQoY3R4KSkgPCAwKQ0KKyAgICAgICAgcmV0dXJuIGVycjsNCiANCiAgICAgaWYgKChl cnIgPSBGVF9Jbml0X0ZyZWVUeXBlKCYocy0+bGlicmFyeSkpKSkgew0KICAgICAgICAgYXZfbG9n KGN0eCwgQVZfTE9HX0VSUk9SLA0KQEAgLTEwMzQsMTEgKzEwNDUsMTkgQEAgc3RhdGljIGludCBm dW5jX21ldGFkYXRhKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBBVkJQcmludCAqYnAsDQogew0KICAg ICBEcmF3VGV4dENvbnRleHQgKnMgPSBjdHgtPnByaXY7DQogICAgIEFWRGljdGlvbmFyeUVudHJ5 ICplID0gYXZfZGljdF9nZXQocy0+bWV0YWRhdGEsIGFyZ3ZbMF0sIE5VTEwsIDApOw0KKyAgICBp bnQgZXJyOw0KKw0KKyAgICBpZiAoZSAmJiBlLT52YWx1ZSkgew0KKyAgICAgICAgaWYgKChlcnIg PSBzaGFwZV90ZXh0X2FyZyhjdHgsICZlLT52YWx1ZSkpIDwgMCkNCisgICAgICAgICAgICByZXR1 cm4gZXJyOw0KIA0KLSAgICBpZiAoZSAmJiBlLT52YWx1ZSkNCiAgICAgICAgIGF2X2JwcmludGYo YnAsICIlcyIsIGUtPnZhbHVlKTsNCi0gICAgZWxzZSBpZiAoYXJnYyA+PSAyKQ0KKyAgICB9IGVs c2UgaWYgKGFyZ2MgPj0gMikgew0KKyAgICAgICAgaWYgKChlcnIgPSBzaGFwZV90ZXh0X2FyZyhj dHgsICZhcmd2WzFdKSkgPCAwKQ0KKyAgICAgICAgICAgIHJldHVybiBlcnI7DQorDQogICAgICAg ICBhdl9icHJpbnRmKGJwLCAiJXMiLCBhcmd2WzFdKTsNCisgICAgfQ0KICAgICByZXR1cm4gMDsN CiB9DQogDQpAQCAtMTYzNCwxMyArMTY1MywxMSBAQCBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShB VkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqZnJhbWUpDQogICAgICAgICAgICAgYXZfZnJh bWVfZnJlZSgmZnJhbWUpOw0KICAgICAgICAgICAgIHJldHVybiByZXQ7DQogICAgICAgICB9DQot I2lmIENPTkZJR19MSUJGUklCSURJDQotICAgICAgICBpZiAocy0+dGV4dF9zaGFwaW5nKQ0KLSAg ICAgICAgICAgIGlmICgocmV0ID0gc2hhcGVfdGV4dChjdHgpKSA8IDApIHsNCi0gICAgICAgICAg ICAgICAgYXZfZnJhbWVfZnJlZSgmZnJhbWUpOw0KLSAgICAgICAgICAgICAgICByZXR1cm4gcmV0 Ow0KLSAgICAgICAgICAgIH0NCi0jZW5kaWYNCisNCisgICAgICAgIGlmICgocmV0ID0gc2hhcGVf dGV4dChjdHgpKSA8IDApIHsNCisgICAgICAgICAgICBhdl9mcmFtZV9mcmVlKCZmcmFtZSk7DQor ICAgICAgICAgICAgcmV0dXJuIHJldDsNCisgICAgICAgIH0NCiAgICAgfQ0KIA0KICAgICBzLT52 YXJfdmFsdWVzW1ZBUl9OXSA9IGlubGluay0+ZnJhbWVfY291bnRfb3V0ICsgcy0+c3RhcnRfbnVt YmVyOw0KLS0gDQoyLjM0LjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=