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 4803449FDD for ; Tue, 21 Oct 2025 09:41:07 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'P74DaUXDe+upq6qZO4W1n1I2lvt63njC1Wpcw9LPdGM=', expected b'x3gB7L82+2fwrPEWOxrzMalniG7TpZVyWe32lVHZbJw=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761039642; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=P74DaUXDe+upq6qZO4W1n1I2lvt63njC1Wpcw9LPdGM=; b=RU+O4nIDLxDTfP1sNDFPSslGnXfBIxCHYsEhqQbGtZUOaQb6HlOTg/3WmqR97WWETaBPp MfbcyrYsOCRnXQAqH5MKxEbWmZjc6NPff4bI1iSiIq+TxEGZwoLOxqD3iY4NSg27I3DmEUX B+togKoqTVJUO+karB2nj1GfI6yinWL8J/wVdytYL0O8aTcu5BlBtitel1boWOR6+SBz0DO iq8HVD6Bn72AatJneDRVftjwVXMWUiPUkEZX8Sz734qdktUj7Hn4CevAkDLGg7hqwn1Yo47 t08KKwXhZKv7YqDHslCOXfpbceS04ugRUk6ObiZEweiqLU/QzEpzhqPNrAQw== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 239B068F52E; Tue, 21 Oct 2025 12:40:42 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1761039628; b=Yq015uNlZbcZjSd98JE3ZDefBzG1LQCCAqMsAhn6ToYF3iQTEebnX6peCB12FgnIL2a0d N/M573/fW+PM+J66WNrCR48DkR7Lig1V43kdJwSg9mZ18sD3fGkbWkbblpfOOk1oLwDCXuZ Oo9vRSFU+XEhxvPcH9sXoimFMtVIWyBEyYP/UmSk/sc13lBMfHM6HFLWOp39KbzQVEvspGk szuJCXOehEPUK78S7gFxAQrDGWpKqVBk6JvGq9wW6z6goYquKPnJ2GK8393RpD2s9p/hSWQ pruMrPK8o6y9IG6baQoVwWsxGuYfefxO6VkFVtfheqZH/KgitamDzFMjXixA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1761039628; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=P74DaUXDe+upq6qZO4W1n1I2lvt63njC1Wpcw9LPdGM=; b=AVxHmVbLnAwlruXs7mGeVAC2TgxEN5tQZnc87kb0CuKo1y4Xyiq0Jx3UkHdrf6CCXbQIT 9ZfLcXDUdLlkmBYjAKdcrYCJPJGxRmS7Fie/JRZ0Gl09PN6VaIYy2WkPZaqAElIVzr8XC3Z nGb4FOeEn0lPckl+mR2V0r2f3Aqol85mlTelIC10a1KU0MPLCR78RJRnbmZ+M3azZvkwsVS lOK4l6bot/j0WIjAkJ1gyAQuvzTjQd5bvgHjltypf+SSzBF5ED4s9x9N08CgdVACPmcZ88T pFGtWU7MC/kXKzdHsz1Zi9WYLtU5DVb51ikXL4iUglCOQrm8dAwvix9wRPYg== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761039620; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=x3gB7L82+2fwrPEWOxrzMalniG7TpZVyWe32lVHZbJw=; b=oNtC0VDKMpLstFN4IMUiRvJhyxWSdSvMZw+9p5ntMVR4+lgQcacvkWP4QQwwSRyhVL8OF JGRngO88BZixTICn/Lo3pIq6eSuAypq34Df7zNB/qnmpRQDW9NOQ7DQvT53YJSLIVETWAcK 9Q1xBoxC9pYoaHDgjPeXFtnem+4zgB6ClgWT9HPTYEAXRL0+eXKxZ8NpmXDVWYMIfiw1D2W 2lCzthTQ4frBz1KMXP+cu3TJB4liCZDvWod2ROKenYbSeDmhwbbvvrhH0ZnhnlnOOE7Rke4 PgwEbymJ59HLgehowpsWcP2E52HbAtiMzoUs/SrVoqnFULvDrAa7Sqvt2g0Q== Received: from 547bf0a948a1 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id C6D7B68F4C1 for ; Tue, 21 Oct 2025 12:40:20 +0300 (EEST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 21 Oct 2025 09:40:20 -0000 Message-ID: <176103962100.62.8039215404646309233@bf907ddaa564> Message-ID-Hash: RPDGAD3PKEPFX7FA7K5SSF2EOAHTR6TS X-Message-ID-Hash: RPDGAD3PKEPFX7FA7K5SSF2EOAHTR6TS X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avfilter: enhance command processing with chain propagation and direction control. (PR #20731) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: cenzhanquan1 via ffmpeg-devel Cc: cenzhanquan1 Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIwNzMxIG9wZW5lZCBieSBjZW56aGFucXVhbjEKVVJMOiBodHRwczovL2NvZGUuZmZtcGVn Lm9yZy9GRm1wZWcvRkZtcGVnL3B1bGxzLzIwNzMxClBhdGNoIFVSTDogaHR0cHM6Ly9jb2RlLmZm bXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMDczMS5wYXRjaAoKVGhlIGV4aXN0aW5nIGF2 ZmlsdGVyX3Byb2Nlc3NfY29tbWFuZCBhbmQgYXZmaWx0ZXJfZ3JhcGhfc2VuZF9jb21tYW5kIGhh dmVsaW1pdGF0aW9ucyBpbg0KY29tbWFuZCBwcm9wYWdhdGlvbjogdGhleSBvbmx5IGhhbmRsZSBj b21tYW5kcyBmb3IgaW5kaXZpZHVhbGZpbHRlcnMgYW5kIGxhY2sgdGhlIGFiaWxpdHkNCnRvIHBy b3BhZ2F0ZSBjb21tYW5kcyB0aHJvdWdoIHRoZSBlbnRpcmUgZmlsdGVyY2hhaW4sIG5vciBkbyB0 aGV5IHN1cHBvcnQgZGlyZWN0aW9uYWwNCnRyYXZlcnNhbCBvZiB0aGUgZmlsdGVyIGdyYXBoLiBU aGlzbWFrZXMgaXQgZGlmZmljdWx0IHRvIGNvbnRyb2wgbXVsdGlwbGUgZmlsdGVycyBpbiBhIGNo YWluDQooZS5nLiwgYWRqdXN0aW5ndm9sdW1lIGZvciBhbGwgcmVsYXRlZCBmaWx0ZXJzIG9yIGVu YWJsaW5nL2Rpc2FibGluZyBhIHNlcmllcyBvZiBmaWx0ZXJzKXdpdGgNCmEgc2luZ2xlIGNvbW1h bmQuDQoNClRoaXMgcGF0Y2ggZW5oYW5jZXMgdGhlIGNvbW1hbmQgcHJvY2Vzc2luZyBsb2dpYyB0 byBhZGRyZXNzIHRoZXNlIGlzc3VlczoNCkFkZCB0d28gbmV3IGZsYWdzIHRvIGNvbnRyb2wgY29t bWFuZCBwcm9wYWdhdGlvbjoNCkFWRklMVEVSX0NNRF9GTEFHX0NIQUlOOiBFbmFibGVzIGNvbW1h bmQgcHJvcGFnYXRpb24gdGhyb3VnaCB0aGUgZW50aXJlDQpmaWx0ZXIgY2hhaW4uIEFmdGVyIHBy b2Nlc3NpbmcgdGhlIGN1cnJlbnQgZmlsdGVyLCBpdCB0cmF2ZXJzZXMgYWxsDQphc3NvY2lhdGVk IGxpbmtzIChpbnB1dHMvb3V0cHV0cyBiYXNlZCBvbiBkaXJlY3Rpb24pIGFuZCByZWN1cnNpdmVs eQ0KZm9yd2FyZHMgdGhlIGNvbW1hbmQgdG8gc3Vic2VxdWVudCBmaWx0ZXJzLCBjb3ZlcmluZyB0 aGUgZnVsbCBmaWx0ZXINCnRvcG9sb2d5Lg0KQVZGSUxURVJfQ01EX0ZMQUdfUkVWRVJTRTogV29y a3Mgd2l0aCBBVkZJTFRFUl9DTURfRkxBR19DSEFJTiB0byBjb250cm9sDQp0cmF2ZXJzYWwgZGly ZWN0aW9uLiBEZWZhdWx0IChmb3J3YXJkKSBmb2xsb3dzIGRhdGEgZmxvdyAoc291cmNlIOKGkg0K ZGVzdGluYXRpb24gZmlsdGVycyksIHdoaWxlIHJldmVyc2UgdHJhdmVyc2FsIGdvZXMgYWdhaW5z dCBkYXRhIGZsb3cNCihkZXN0aW5hdGlvbiDihpIgc291cmNlIGZpbHRlcnMpLg0KUmVmYWN0b3Ig YXZmaWx0ZXJfcHJvY2Vzc19jb21tYW5kIHRvIGludGVncmF0ZSBjaGFpbiBwcm9wYWdhdGlvbiBs b2dpYzoNClByb2Nlc3MgdGhlIGNvbW1hbmQgZm9yIHRoZSBjdXJyZW50IGZpbHRlciBmaXJzdCwg dGhlbiBjaGVjayBpZiBjaGFpbg0KcHJvcGFnYXRpb24gaXMgZW5hYmxlZC4NClRyYXZlcnNlIGFs bCByZWxldmFudCBsaW5rcyAoaW5wdXRzIGZvciByZXZlcnNlLCBvdXRwdXRzIGZvciBmb3J3YXJk KSBhbmQNCnJlY3Vyc2l2ZWx5IGZvcndhcmQgdGhlIGNvbW1hbmQgdG8gbmV4dC1sZXZlbCBmaWx0 ZXJzLg0KVHJhY2sgcHJvY2Vzc2luZyBzdGF0dXMgKHByb2Nlc3NlZCkgdG8gZGV0ZXJtaW5lIGlm IGFueSBmaWx0ZXIgaW4gdGhlDQpjaGFpbiBoYW5kbGVkIHRoZSBjb21tYW5kLg0KUmVzcGVjdCBB VkZJTFRFUl9DTURfRkxBR19PTkUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbmNlIGEgZmlsdGVyIHBy b2Nlc3Nlcw0KdGhlIGNvbW1hbmQsIGFuZCBwcm9wYWdhdGUgY3JpdGljYWwgZXJyb3JzLg0KSW1w cm92ZSBjb21tYW5kIGhhbmRsaW5nIGZvciBidWlsdC1pbiBjb21tYW5kcyAoInBpbmciIGFuZCAi ZW5hYmxlIikgdG8NCndvcmtzZWFtbGVzc2x5IHdpdGggdGhlIG5ldyBwcm9wYWdhdGlvbiBsb2dp YywgZW5zdXJpbmcgY29uc2lzdGVudCBiZWhhdmlvcmFjcm9zcyB0aGUgY2hhaW4uDQpUaGVzZSBj aGFuZ2VzIGVuYWJsZSBmbGV4aWJsZSBjb21tYW5kIGNvbnRyb2wgb3ZlciBlbnRpcmUgZmlsdGVy IGNoYWlucyxzdXBwb3J0aW5nIHVzZSBjYXNlcw0KbGlrZSBiYXRjaCBhZGp1c3RtZW50IG9mIGZp bHRlcnMsIHRvcG9sb2d5LXdpZGUgc3RhdHVzY2hlY2tzICh2aWEgInBpbmciKSwgYW5kIGNvb3Jk aW5hdGVkDQplbmFibGUvZGlzYWJsZSBvcGVyYXRpb25zLCB3aGlsZW1haW50YWluaW5nIGNvbXBh dGliaWxpdHkgd2l0aCBleGlzdGluZyBmaWx0ZXIgY29tbWFuZA0KaW1wbGVtZW50YXRpb25zLg0K DQpTaWduZWQtb2ZmLWJ5OiBjZW56aGFucXVhbjEgPGNlbnpoYW5xdWFuMUB4aWFvbWkuY29tPgoK CkZyb20gOWRiYTY4MjIyMmJkNTVjOTUyZTE0ZTcxNzg5YTcwODQ1MjlhNzRmNyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogY2VuemhhbnF1YW4xIDxjZW56aGFucXVhbjFAeGlhb21pLmNv bT4KRGF0ZTogVHVlLCAyMSBPY3QgMjAyNSAxNzozNDoyMiArMDgwMApTdWJqZWN0OiBbUEFUQ0hd IGF2ZmlsdGVyOiBlbmhhbmNlIGNvbW1hbmQgcHJvY2Vzc2luZyB3aXRoIGNoYWluIHByb3BhZ2F0 aW9uCiBhbmQgZGlyZWN0aW9uIGNvbnRyb2wuCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0CgpUaGUgZXhpc3RpbmcgYXZmaWx0ZXJfcHJvY2Vzc19jb21tYW5kIGFuZCBhdmZpbHRlcl9n cmFwaF9zZW5kX2NvbW1hbmQgaGF2ZWxpbWl0YXRpb25zIGluCmNvbW1hbmQgcHJvcGFnYXRpb246 IHRoZXkgb25seSBoYW5kbGUgY29tbWFuZHMgZm9yIGluZGl2aWR1YWxmaWx0ZXJzIGFuZCBsYWNr IHRoZSBhYmlsaXR5CnRvIHByb3BhZ2F0ZSBjb21tYW5kcyB0aHJvdWdoIHRoZSBlbnRpcmUgZmls dGVyY2hhaW4sIG5vciBkbyB0aGV5IHN1cHBvcnQgZGlyZWN0aW9uYWwKdHJhdmVyc2FsIG9mIHRo ZSBmaWx0ZXIgZ3JhcGguIFRoaXNtYWtlcyBpdCBkaWZmaWN1bHQgdG8gY29udHJvbCBtdWx0aXBs ZSBmaWx0ZXJzIGluIGEgY2hhaW4KKGUuZy4sIGFkanVzdGluZ3ZvbHVtZSBmb3IgYWxsIHJlbGF0 ZWQgZmlsdGVycyBvciBlbmFibGluZy9kaXNhYmxpbmcgYSBzZXJpZXMgb2YgZmlsdGVycyl3aXRo CmEgc2luZ2xlIGNvbW1hbmQuCgpUaGlzIHBhdGNoIGVuaGFuY2VzIHRoZSBjb21tYW5kIHByb2Nl c3NpbmcgbG9naWMgdG8gYWRkcmVzcyB0aGVzZSBpc3N1ZXM6CkFkZCB0d28gbmV3IGZsYWdzIHRv IGNvbnRyb2wgY29tbWFuZCBwcm9wYWdhdGlvbjoKQVZGSUxURVJfQ01EX0ZMQUdfQ0hBSU46IEVu YWJsZXMgY29tbWFuZCBwcm9wYWdhdGlvbiB0aHJvdWdoIHRoZSBlbnRpcmUKZmlsdGVyIGNoYWlu LiBBZnRlciBwcm9jZXNzaW5nIHRoZSBjdXJyZW50IGZpbHRlciwgaXQgdHJhdmVyc2VzIGFsbAph c3NvY2lhdGVkIGxpbmtzIChpbnB1dHMvb3V0cHV0cyBiYXNlZCBvbiBkaXJlY3Rpb24pIGFuZCBy ZWN1cnNpdmVseQpmb3J3YXJkcyB0aGUgY29tbWFuZCB0byBzdWJzZXF1ZW50IGZpbHRlcnMsIGNv dmVyaW5nIHRoZSBmdWxsIGZpbHRlcgp0b3BvbG9neS4KQVZGSUxURVJfQ01EX0ZMQUdfUkVWRVJT RTogV29ya3Mgd2l0aCBBVkZJTFRFUl9DTURfRkxBR19DSEFJTiB0byBjb250cm9sCnRyYXZlcnNh bCBkaXJlY3Rpb24uIERlZmF1bHQgKGZvcndhcmQpIGZvbGxvd3MgZGF0YSBmbG93IChzb3VyY2Ug 4oaSCmRlc3RpbmF0aW9uIGZpbHRlcnMpLCB3aGlsZSByZXZlcnNlIHRyYXZlcnNhbCBnb2VzIGFn YWluc3QgZGF0YSBmbG93CihkZXN0aW5hdGlvbiDihpIgc291cmNlIGZpbHRlcnMpLgpSZWZhY3Rv ciBhdmZpbHRlcl9wcm9jZXNzX2NvbW1hbmQgdG8gaW50ZWdyYXRlIGNoYWluIHByb3BhZ2F0aW9u IGxvZ2ljOgpQcm9jZXNzIHRoZSBjb21tYW5kIGZvciB0aGUgY3VycmVudCBmaWx0ZXIgZmlyc3Qs IHRoZW4gY2hlY2sgaWYgY2hhaW4KcHJvcGFnYXRpb24gaXMgZW5hYmxlZC4KVHJhdmVyc2UgYWxs IHJlbGV2YW50IGxpbmtzIChpbnB1dHMgZm9yIHJldmVyc2UsIG91dHB1dHMgZm9yIGZvcndhcmQp IGFuZApyZWN1cnNpdmVseSBmb3J3YXJkIHRoZSBjb21tYW5kIHRvIG5leHQtbGV2ZWwgZmlsdGVy cy4KVHJhY2sgcHJvY2Vzc2luZyBzdGF0dXMgKHByb2Nlc3NlZCkgdG8gZGV0ZXJtaW5lIGlmIGFu eSBmaWx0ZXIgaW4gdGhlCmNoYWluIGhhbmRsZWQgdGhlIGNvbW1hbmQuClJlc3BlY3QgQVZGSUxU RVJfQ01EX0ZMQUdfT05FIHRvIHN0b3AgcHJvcGFnYXRpb24gb25jZSBhIGZpbHRlciBwcm9jZXNz ZXMKdGhlIGNvbW1hbmQsIGFuZCBwcm9wYWdhdGUgY3JpdGljYWwgZXJyb3JzLgpJbXByb3ZlIGNv bW1hbmQgaGFuZGxpbmcgZm9yIGJ1aWx0LWluIGNvbW1hbmRzICgicGluZyIgYW5kICJlbmFibGUi KSB0bwp3b3Jrc2VhbWxlc3NseSB3aXRoIHRoZSBuZXcgcHJvcGFnYXRpb24gbG9naWMsIGVuc3Vy aW5nIGNvbnNpc3RlbnQgYmVoYXZpb3JhY3Jvc3MgdGhlIGNoYWluLgpUaGVzZSBjaGFuZ2VzIGVu YWJsZSBmbGV4aWJsZSBjb21tYW5kIGNvbnRyb2wgb3ZlciBlbnRpcmUgZmlsdGVyIGNoYWlucyxz dXBwb3J0aW5nIHVzZSBjYXNlcwpsaWtlIGJhdGNoIGFkanVzdG1lbnQgb2YgZmlsdGVycywgdG9w b2xvZ3ktd2lkZSBzdGF0dXNjaGVja3MgKHZpYSAicGluZyIpLCBhbmQgY29vcmRpbmF0ZWQKZW5h YmxlL2Rpc2FibGUgb3BlcmF0aW9ucywgd2hpbGVtYWludGFpbmluZyBjb21wYXRpYmlsaXR5IHdp dGggZXhpc3RpbmcgZmlsdGVyIGNvbW1hbmQKaW1wbGVtZW50YXRpb25zLgoKU2lnbmVkLW9mZi1i eTogY2VuemhhbnF1YW4xIDxjZW56aGFucXVhbjFAeGlhb21pLmNvbT4KLS0tCiBsaWJhdmZpbHRl ci9hdmZpbHRlci5jIHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tCiBsaWJhdmZpbHRlci9hdmZpbHRlci5oIHwgMTAgKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQs IDY3IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL2F2ZmlsdGVyLmMgYi9saWJhdmZpbHRlci9hdmZpbHRlci5jCmluZGV4IDE2OWMyYmFhNDIu LjY4ZWM5ZjZmNmEgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2F2ZmlsdGVyLmMKKysrIGIvbGli YXZmaWx0ZXIvYXZmaWx0ZXIuYwpAQCAtNjA3LDI1ICs2MDcsNjggQEAgc3RhdGljIGludCBzZXRf ZW5hYmxlX2V4cHIoRkZGaWx0ZXJDb250ZXh0ICpjdHhpLCBjb25zdCBjaGFyICpleHByKQogICAg IHJldHVybiAwOwogfQogCi1pbnQgYXZmaWx0ZXJfcHJvY2Vzc19jb21tYW5kKEFWRmlsdGVyQ29u dGV4dCAqZmlsdGVyLCBjb25zdCBjaGFyICpjbWQsIGNvbnN0IGNoYXIgKmFyZywgY2hhciAqcmVz LCBpbnQgcmVzX2xlbiwgaW50IGZsYWdzKQoraW50IGF2ZmlsdGVyX3Byb2Nlc3NfY29tbWFuZChB VkZpbHRlckNvbnRleHQgKmZpbHRlciwgY29uc3QgY2hhciAqY21kLCBjb25zdCBjaGFyICphcmcs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqcmVzLCBpbnQgcmVzX2xlbiwgaW50 IGZsYWdzKQogewotICAgIGlmKCFzdHJjbXAoY21kLCAicGluZyIpKXsKLSAgICAgICAgY2hhciBs b2NhbF9yZXNbMjU2XSA9IHswfTsKKyAgICBpbnQgZGlyZWN0aW9uID0gZmxhZ3MgJiBBVkZJTFRF Ul9DTURfRkxBR19SRVZFUlNFOworICAgIGludCByZXQgPSBBVkVSUk9SKEVOT1NZUyk7CisgICAg aW50IHByb2Nlc3NlZCA9IDA7CiAKLSAgICAgICAgaWYgKCFyZXMpIHsKLSAgICAgICAgICAgIHJl cyA9IGxvY2FsX3JlczsKLSAgICAgICAgICAgIHJlc19sZW4gPSBzaXplb2YobG9jYWxfcmVzKTsK LSAgICAgICAgfQotICAgICAgICBhdl9zdHJsY2F0ZihyZXMsIHJlc19sZW4sICJwb25nIGZyb206 JXMgJXNcbiIsIGZpbHRlci0+ZmlsdGVyLT5uYW1lLCBmaWx0ZXItPm5hbWUpOwotICAgICAgICBp ZiAocmVzID09IGxvY2FsX3JlcykKLSAgICAgICAgICAgIGF2X2xvZyhmaWx0ZXIsIEFWX0xPR19J TkZPLCAiJXMiLCByZXMpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9ZWxzZSBpZighc3RyY21w KGNtZCwgImVuYWJsZSIpKSB7Ci0gICAgICAgIHJldHVybiBzZXRfZW5hYmxlX2V4cHIoZmZmaWx0 ZXJjdHgoZmlsdGVyKSwgYXJnKTsKLSAgICB9ZWxzZSBpZiAoZmZmaWx0ZXIoZmlsdGVyLT5maWx0 ZXIpLT5wcm9jZXNzX2NvbW1hbmQpIHsKLSAgICAgICAgcmV0dXJuIGZmZmlsdGVyKGZpbHRlci0+ ZmlsdGVyKS0+cHJvY2Vzc19jb21tYW5kKGZpbHRlciwgY21kLCBhcmcsIHJlcywgcmVzX2xlbiwg ZmxhZ3MpOworICAgIGludCBwcm9jZXNzX2ZsYWdzID0gZmxhZ3MgJiB+QVZGSUxURVJfQ01EX0ZM QUdfQ0hBSU47CisgICAgaWYgKCFzdHJjbXAoY21kLCAicGluZyIpKSB7CisgICAgICAgIGNoYXIg bG9jYWxfcmVzWzI1Nl0gPSB7MH07CisgICAgICAgIGNoYXIgKnJlc19idWYgPSByZXMgPyByZXMg OiBsb2NhbF9yZXM7CisgICAgICAgIHNpemVfdCBidWZfbGVuID0gcmVzID8gcmVzX2xlbiA6IHNp emVvZihsb2NhbF9yZXMpOworICAgICAgICBhdl9zdHJsY2F0ZihyZXNfYnVmLCBidWZfbGVuLCAi cG9uZyBmcm9tOiVzICVzXG4iLAorICAgICAgICAgICAgICAgICAgIGZpbHRlci0+ZmlsdGVyLT5u YW1lLCBmaWx0ZXItPm5hbWUgPyBmaWx0ZXItPm5hbWUgOiAidW5rbm93biIpOworICAgICAgICBp ZiAoIXJlcykKKyAgICAgICAgICAgIGF2X2xvZyhmaWx0ZXIsIEFWX0xPR19JTkZPLCAiJXMiLCBy ZXNfYnVmKTsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAoY21kLCAi ZW5hYmxlIikpIHsKKyAgICAgICAgcmV0ID0gc2V0X2VuYWJsZV9leHByKGZmZmlsdGVyY3R4KGZp bHRlciksIGFyZyk7CisgICAgfSBlbHNlIGlmIChmZmZpbHRlcihmaWx0ZXItPmZpbHRlciktPnBy b2Nlc3NfY29tbWFuZCkgeworICAgICAgICByZXQgPSBmZmZpbHRlcihmaWx0ZXItPmZpbHRlcikt PnByb2Nlc3NfY29tbWFuZChmaWx0ZXIsIGNtZCwgYXJnLCByZXMsIHJlc19sZW4sIHByb2Nlc3Nf ZmxhZ3MpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldCA9IEFWRVJST1IoRU5PU1lTKTsKICAg ICB9Ci0gICAgcmV0dXJuIEFWRVJST1IoRU5PU1lTKTsKKworICAgIGlmIChyZXQgIT0gQVZFUlJP UihFTk9TWVMpKSB7CisgICAgICAgIHByb2Nlc3NlZCA9IDE7CisgICAgICAgIGlmICgoZmxhZ3Mg JiBBVkZJTFRFUl9DTURfRkxBR19PTkUpIHx8IHJldCA8IDApIHsKKyAgICAgICAgICAgIHJldHVy biByZXQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIShmbGFncyAmIEFWRklMVEVSX0NN RF9GTEFHX0NIQUlOKSkgeworICAgICAgICByZXR1cm4gcHJvY2Vzc2VkID8gMCA6IEFWRVJST1Io RU5PU1lTKTsKKyAgICB9CisKKyAgICBhdl9sb2coZmlsdGVyLCBBVl9MT0dfREVCVUcsCisgICAg ICAgICAgICJjbWRfY2hhaW46IFslc10gZGlyOiVzIC0+ICclcycgJyVzJyAoZm9yd2FyZGluZylc biIsCisgICAgICAgICAgIGZpbHRlci0+bmFtZSA/IGZpbHRlci0+bmFtZSA6ICJ1bmtub3duIiwK KyAgICAgICAgICAgZGlyZWN0aW9uID8gInJldmVyc2UiIDogImZvcndhcmQiLAorICAgICAgICAg ICBjbWQsIGFyZyA/IGFyZyA6ICIiKTsKKworICAgIHVuc2lnbmVkIG5iX2xpbmtzID0gZGlyZWN0 aW9uID8gZmlsdGVyLT5uYl9pbnB1dHMgOiBmaWx0ZXItPm5iX291dHB1dHM7CisgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBuYl9saW5rczsgaSsrKSB7CisgICAgICAgIEFWRmlsdGVyTGluayAqbGlu ayA9IGRpcmVjdGlvbiA/IGZpbHRlci0+aW5wdXRzW2ldIDogZmlsdGVyLT5vdXRwdXRzW2ldOwor ICAgICAgICBBVkZpbHRlckNvbnRleHQgKm5leHRfZmlsdGVyID0gZGlyZWN0aW9uID8gKGxpbmsg PyBsaW5rLT5zcmMgOiBOVUxMKSA6IChsaW5rID8gbGluay0+ZHN0IDogTlVMTCk7CisKKyAgICAg ICAgaWYgKCFsaW5rIHx8ICFuZXh0X2ZpbHRlcikgeworICAgICAgICAgICAgYXZfbG9nKGZpbHRl ciwgQVZfTE9HX0RFQlVHLCAiSW52YWxpZCAlcyBsaW5rIGF0IHBhZCAlZFxuIiwKKyAgICAgICAg ICAgICAgICAgICBkaXJlY3Rpb24gPyAiaW5wdXQiIDogIm91dHB1dCIsIGkpOworICAgICAgICAg ICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICByZXQgPSBhdmZpbHRlcl9wcm9jZXNz X2NvbW1hbmQobmV4dF9maWx0ZXIsIGNtZCwgYXJnLCByZXMsIHJlc19sZW4sIGZsYWdzKTsKKyAg ICAgICAgaWYgKHJldCA+PSAwKSB7CisgICAgICAgICAgICBwcm9jZXNzZWQgPSAxOworICAgICAg ICB9IGVsc2UgaWYgKHJldCAhPSBBVkVSUk9SKEVOT1NZUykpIHsKKyAgICAgICAgICAgIHJldHVy biByZXQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcHJvY2Vzc2VkID8gMCA6IEFW RVJST1IoRU5PU1lTKTsKIH0KIAogdW5zaWduZWQgYXZmaWx0ZXJfZmlsdGVyX3BhZF9jb3VudChj b25zdCBBVkZpbHRlciAqZmlsdGVyLCBpbnQgaXNfb3V0cHV0KQpkaWZmIC0tZ2l0IGEvbGliYXZm aWx0ZXIvYXZmaWx0ZXIuaCBiL2xpYmF2ZmlsdGVyL2F2ZmlsdGVyLmgKaW5kZXggMDJiNThjNDJj Mi4uZmRlMzgxMWRjMyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZmaWx0ZXIuaAorKysgYi9s aWJhdmZpbHRlci9hdmZpbHRlci5oCkBAIC00NjYsOCArNDY2LDE0IEBAIHN0cnVjdCBBVkZpbHRl ckxpbmsgewogaW50IGF2ZmlsdGVyX2xpbmsoQVZGaWx0ZXJDb250ZXh0ICpzcmMsIHVuc2lnbmVk IHNyY3BhZCwKICAgICAgICAgICAgICAgICAgIEFWRmlsdGVyQ29udGV4dCAqZHN0LCB1bnNpZ25l ZCBkc3RwYWQpOwogCi0jZGVmaW5lIEFWRklMVEVSX0NNRF9GTEFHX09ORSAgIDEgLy8vPCBTdG9w IG9uY2UgYSBmaWx0ZXIgdW5kZXJzdG9vZCB0aGUgY29tbWFuZCAoZm9yIHRhcmdldD1hbGwgZm9y IGV4YW1wbGUpLCBmYXN0IGZpbHRlcnMgYXJlIGZhdm9yZWQgYXV0b21hdGljYWxseQotI2RlZmlu ZSBBVkZJTFRFUl9DTURfRkxBR19GQVNUICAyIC8vLzwgT25seSBleGVjdXRlIGNvbW1hbmQgd2hl biBpdHMgZmFzdCAobGlrZSBhIHZpZGVvIG91dCB0aGF0IHN1cHBvcnRzIGNvbnRyYXN0IGFkanVz dG1lbnQgaW4gaHcpCisjZGVmaW5lIEFWRklMVEVSX0NNRF9GTEFHX09ORSAgICAgMSAvLy88IFN0 b3Agb25jZSBhIGZpbHRlciB1bmRlcnN0b29kIHRoZSBjb21tYW5kIChmb3IgdGFyZ2V0PWFsbCBm b3IgZXhhbXBsZSksIGZhc3QgZmlsdGVycyBhcmUgZmF2b3JlZCBhdXRvbWF0aWNhbGx5CisjZGVm aW5lIEFWRklMVEVSX0NNRF9GTEFHX0ZBU1QgICAgMiAvLy88IE9ubHkgZXhlY3V0ZSBjb21tYW5k IHdoZW4gaXRzIGZhc3QgKGxpa2UgYSB2aWRlbyBvdXQgdGhhdCBzdXBwb3J0cyBjb250cmFzdCBh ZGp1c3RtZW50IGluIGh3KQorI2RlZmluZSBBVkZJTFRFUl9DTURfRkxBR19DSEFJTiAgIDQgLy8v PCBQcm9wYWdhdGUgdGhlIGNvbW1hbmQgdGhyb3VnaCB0aGUgZW50aXJlIGZpbHRlciBjaGFpbi4g QWZ0ZXIgcHJvY2Vzc2luZyB0aGUgY3VycmVudCBmaWx0ZXIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvLy8gdHJhdmVyc2UgYWxsIGl0cyBhc3NvY2lhdGVkIGxpbmtzIChp bnB1dHMgb3Igb3V0cHV0cywgYmFzZWQgb24gZGlyZWN0aW9uKSBhbmQgcmVjdXJzaXZlbHkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLyBmb3J3YXJkIHRoZSBjb21tYW5k IHRvIHN1YnNlcXVlbnQgZmlsdGVycywgY292ZXJpbmcgdGhlIGZ1bGwgZmlsdGVyIHRvcG9sb2d5 LgorI2RlZmluZSBBVkZJTFRFUl9DTURfRkxBR19SRVZFUlNFIDggLy8vPCBPbmx5IGVmZmVjdGl2 ZSB3aGVuIHBhaXJlZCB3aXRoIEFWRklMVEVSX0NNRF9GTEFHX0NIQUlOLiBDaGFuZ2VzIHRoZSBj b21tYW5kJ3MgdHJhdmVyc2FsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv Ly8gZGlyZWN0aW9uIGluIHRoZSBjaGFpbjogZGVmYXVsdCAoZm9yd2FyZCkgZm9sbG93cyBkYXRh IGZsb3cgKHNvdXJjZSDihpIgZGVzdGluYXRpb24gZmlsdGVycyksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLy8gd2hpbGUgcmV2ZXJzZSB0cmF2ZXJzYWwgb3Bwb3NlcyBk YXRhIGZsb3cgKGRlc3RpbmF0aW9uIOKGkiBzb3VyY2UgZmlsdGVycykuCiAKIC8qKgogICogTWFr ZSB0aGUgZmlsdGVyIGluc3RhbmNlIHByb2Nlc3MgYSBjb21tYW5kLgotLSAKMi40OS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwg bWFpbGluZyBsaXN0IC0tIGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnClRvIHVuc3Vic2NyaWJlIHNl bmQgYW4gZW1haWwgdG8gZmZtcGVnLWRldmVsLWxlYXZlQGZmbXBlZy5vcmcK