From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3E369C5321E for ; Mon, 26 Aug 2024 02:40:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 79BC010E061; Mon, 26 Aug 2024 02:39:59 +0000 (UTC) Received: from mail03.siengine.com (mail03.siengine.com [43.240.192.165]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8231810E061 for ; Mon, 26 Aug 2024 02:39:57 +0000 (UTC) Received: from dsgsiengine01.siengine.com ([10.8.1.61]) by mail03.siengine.com with ESMTPS id 47Q2d1k6016732 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 26 Aug 2024 10:39:01 +0800 (+08) (envelope-from hongchi.peng@siengine.com) Received: from SEEXMB03-2019.siengine.com (SEEXMB03-2019.siengine.com [10.8.1.33]) by dsgsiengine01.siengine.com (SkyGuard) with ESMTPS id 4WsZch29V0z7ZMnf; Mon, 26 Aug 2024 10:39:00 +0800 (CST) Received: from SEEXMB03-2019.siengine.com (10.8.1.33) by SEEXMB03-2019.siengine.com (10.8.1.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.1544.11; Mon, 26 Aug 2024 10:39:00 +0800 Received: from SEEXMB03-2019.siengine.com ([fe80::23e0:1bbb:3ec9:73fe]) by SEEXMB03-2019.siengine.com ([fe80::23e0:1bbb:3ec9:73fe%16]) with mapi id 15.02.1544.011; Mon, 26 Aug 2024 10:39:00 +0800 From: =?utf-8?B?UGVuZyBIb25nY2hpL+W9rea0qumpsA==?= To: Liviu Dudau CC: "maarten.lankhorst@linux.intel.com" , "mripard@kernel.org" , "tzimmermann@suse.de" , "airlied@gmail.com" , "daniel@ffwll.ch" , "dri-devel@lists.freedesktop.org" Subject: =?utf-8?B?5Zue5aSNOiDlm57lpI06IFtQQVRDSF0gZHJtOiBrb21lZGE6IEZpeCBhbiBp?= =?utf-8?Q?ssue_related_to_normalized_zpos?= Thread-Topic: =?utf-8?B?5Zue5aSNOiBbUEFUQ0hdIGRybToga29tZWRhOiBGaXggYW4gaXNzdWUgcmVs?= =?utf-8?Q?ated_to_normalized_zpos?= Thread-Index: AQHa86hL8lSBehLZ10yeyptgsPvZabIyy0CAgAFWKbCAAbSdgIADA6Eg Date: Mon, 26 Aug 2024 02:39:00 +0000 Message-ID: <6d1e3f8b71ec4b17879c01081f56e147@siengine.com> References: <20240821085613.5408-1-hongchi.peng@siengine.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.12.10.38] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-DKIM-Results: [10.8.1.61]; dkim=none; X-DNSRBL: X-MAIL: mail03.siengine.com 47Q2d1k6016732 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGksIExpdml1LA0KDQoJSSdsbCBpbml0aWFsaXplICdzbGF2ZV96cG9zJyB0byB6ZXJvIGFuZCBy ZXNlbmQgdGhlIFtwYXRjaCB2Ml0gc29vbiwgdGhhbmtzIQ0KDQpCZXN0IFJlZ2FyZHMsDQpIb25n Y2hpIFBlbmcNCg0KLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0K5Y+R5Lu25Lq6OiBMaXZpdSBEdWRh dSA8bGl2aXUuZHVkYXVAYXJtLmNvbT4gDQrlj5HpgIHml7bpl7Q6IDIwMjTlubQ45pyIMjTml6Ug MjA6MzMNCuaUtuS7tuS6ujogUGVuZyBIb25nY2hpL+W9rea0qumpsCA8aG9uZ2NoaS5wZW5nQHNp ZW5naW5lLmNvbT4NCuaKhOmAgTogbWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tOyBt cmlwYXJkQGtlcm5lbC5vcmc7IHR6aW1tZXJtYW5uQHN1c2UuZGU7IGFpcmxpZWRAZ21haWwuY29t OyBkYW5pZWxAZmZ3bGwuY2g7IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCuS4u+mi mDogUmU6IOWbnuWkjTogW1BBVENIXSBkcm06IGtvbWVkYTogRml4IGFuIGlzc3VlIHJlbGF0ZWQg dG8gbm9ybWFsaXplZCB6cG9zDQoNCk9uIEZyaSwgQXVnIDIzLCAyMDI0IGF0IDAyOjUzOjA2QU0g KzAwMDAsIFBlbmcgSG9uZ2NoaS/lva3mtKrpqbAgd3JvdGU6DQo+IEhpLCBMaXZpdSwNCg0KSGks DQoNCj4gDQo+IEknbSBzb3JyeSBmb3IgbXkgY2FyZWxlc3NuZXNzIGFuZCB0aGFua3MgZm9yIHlv dXIgY29ycmVjdGlvbiwgdGhlIGNvcnJlY3RlZCBwYXRjaCBpcyBhcyBmb2xsb3dzLiANCj4gQW5k IHdlIGRvIGhhdmUgYW4gZXh0cmEgcGF0Y2ggdG8gc2V0IGxheWVyX3NwbGl0LCBidXQgdGhpcyBw YXJ0IG9mIHRoZSANCj4gY29kZSBpcyBvd25lZCBieSBteSBjb2xsZWFndWUsIFNvIHRoYXQgSSBj YW5ub3QgdXBsb2FkIGl0LCBzb3JyeSBhYm91dCB0aGlzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTog aG9uZ2NoaS5wZW5nIDxob25nY2hpLnBlbmdAc2llbmdpbmUuY29tPg0KDQpUaGlzIGNhbm5vdCBi ZSB5b3VyIGNvbW1pdCBtZXNzYWdlLiBJZiB5b3Ugd2FudCB0byBtYWtlIGNvbW1lbnRzIGluIGEg cGF0Y2gsIEkgc3VnZ2VzdCB5b3UgcHV0IHRoZW0gYWZ0ZXIgYSB0aHJlZS1saW5lIGRhc2gsIGxp a2UgdGhpczoNCg0KLS0tDQpBZGQgeW91ciBjb21tZW50IGhlcmUNCg0KPiAtLS0NCg0KS2VlcCB0 aGlzIG1hcmtlciBhcyBpdCB3aWxsIHNpZ25hbCB0aGUgc3RhcnQgb2YgdGhlIHBhdGNoLg0KDQo+ ICBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuYyB8IDEwICsr KysrKystLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVk YS9rb21lZGFfa21zLmMgDQo+IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfa21zLmMNCj4gaW5kZXggZmU0NmIwZWJlZmVhLi5hYjc2OWEwYTRhZmEgMTAwNjQ0DQo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jDQo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jDQo+ IEBAIC0xNjAsNiArMTYwLDcgQEAgc3RhdGljIGludCBrb21lZGFfY3J0Y19ub3JtYWxpemVfenBv cyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsDQo+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7DQo+ ICAJc3RydWN0IGxpc3RfaGVhZCB6b3JkZXJfbGlzdDsNCj4gIAlpbnQgb3JkZXIgPSAwLCBlcnI7 DQo+ICsJdTMyIHNsYXZlX3pwb3M7DQoNCkNhbiB5b3UgcGxlYXNlIGluaXRpYWxpc2UgdGhpcyB0 byB6ZXJvPw0KDQo+ICANCj4gIAlEUk1fREVCVUdfQVRPTUlDKCJbQ1JUQzolZDolc10gY2FsY3Vs YXRpbmcgbm9ybWFsaXplZCB6cG9zIHZhbHVlc1xuIiwNCj4gIAkJCSBjcnRjLT5iYXNlLmlkLCBj cnRjLT5uYW1lKTsNCj4gQEAgLTE5OSwxMCArMjAwLDEzIEBAIHN0YXRpYyBpbnQga29tZWRhX2Ny dGNfbm9ybWFsaXplX3pwb3Moc3RydWN0IGRybV9jcnRjICpjcnRjLA0KPiAgCQkJCSBwbGFuZV9z dC0+enBvcywgcGxhbmVfc3QtPm5vcm1hbGl6ZWRfenBvcyk7DQo+ICANCj4gIAkJLyogY2FsY3Vs YXRlIG1heCBzbGF2ZSB6b3JkZXIgKi8NCj4gLQkJaWYgKGhhc19iaXQoZHJtX3BsYW5lX2luZGV4 KHBsYW5lKSwga2NydGMtPnNsYXZlX3BsYW5lcykpDQo+ICsJCWlmIChoYXNfYml0KGRybV9wbGFu ZV9pbmRleChwbGFuZSksIGtjcnRjLT5zbGF2ZV9wbGFuZXMpKSB7DQo+ICsJCQlzbGF2ZV96cG9z ID0gcGxhbmVfc3QtPm5vcm1hbGl6ZWRfenBvczsNCj4gKwkJCWlmICh0b19rcGxhbmVfc3QocGxh bmVfc3QpLT5sYXllcl9zcGxpdCkNCj4gKwkJCQlzbGF2ZV96cG9zKys7DQo+ICAJCQlrY3J0Y19z dC0+bWF4X3NsYXZlX3pvcmRlciA9DQo+IC0JCQkJbWF4KHBsYW5lX3N0LT5ub3JtYWxpemVkX3pw b3MsDQo+IC0JCQkJICAgIGtjcnRjX3N0LT5tYXhfc2xhdmVfem9yZGVyKTsNCj4gKwkJCQltYXgo c2xhdmVfenBvcywga2NydGNfc3QtPm1heF9zbGF2ZV96b3JkZXIpOw0KPiArCQl9DQo+ICAJfQ0K PiAgDQo+ICAJY3J0Y19zdC0+enBvc19jaGFuZ2VkID0gdHJ1ZTsNCj4gLS0NCj4gMi4zNC4xDQo+ IA0KPiBCZXN0IFJlZ2FyZHMsDQo+IEhvbmdjaGkgUGVuZw0KDQpBbHNvLCBjYW4geW91IHZlcnNp b24geW91ciBwYXRjaGVzIHRvIGhlbHAgbWUgdHJhY2sgdGhlbSBiZXR0ZXI/DQoNCkJlc3QgcmVn YXJkcywNCkxpdml1DQoNCj4gDQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6 OiBMaXZpdSBEdWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiAyMDI0 5bm0OOaciDIy5pelIDIyOjA1DQo+IOaUtuS7tuS6ujogUGVuZyBIb25nY2hpL+W9rea0qumpsCA8 aG9uZ2NoaS5wZW5nQHNpZW5naW5lLmNvbT4NCj4g5oqE6YCBOiBtYWFydGVuLmxhbmtob3JzdEBs aW51eC5pbnRlbC5jb207IG1yaXBhcmRAa2VybmVsLm9yZzsgDQo+IHR6aW1tZXJtYW5uQHN1c2Uu ZGU7IGFpcmxpZWRAZ21haWwuY29tOyBkYW5pZWxAZmZ3bGwuY2g7IA0KPiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnDQo+IOS4u+mimDogUmU6IFtQQVRDSF0gZHJtOiBrb21lZGE6IEZp eCBhbiBpc3N1ZSByZWxhdGVkIHRvIG5vcm1hbGl6ZWQgenBvcw0KPiANCj4gSGkgSG9uZ2NoaSwN Cj4gDQo+IE9uIFdlZCwgQXVnIDIxLCAyMDI0IGF0IDA0OjU2OjEzUE0gKzA4MDAsIGhvbmdjaGku cGVuZyB3cm90ZToNCj4gPiBXZSB1c2Uga29tZWRhX2NydGNfbm9ybWFsaXplX3pwb3MgdG8gbm9y bWFsaXplIHpwb3Mgb2YgYWZmZWN0ZWQgDQo+ID4gcGxhbmVzIHRvIHRoZWlyIGJsZW5kaW5nIHpv cmRlciBpbiBDVS4gSWYgdGhlcmUncyBvbmx5IG9uZSBzbGF2ZSANCj4gPiBwbGFuZSBpbiBhZmZl Y3RlZCBwbGFuZXMgYW5kIGl0cyBsYXllcl9zcGxpdCBwcm9wZXJ0eSBpcyBlbmFibGVkLCANCj4g PiBvcmRlcisrIGZvciBpdHMgc3BsaXQgbGF5ZXIsIHNvIHRoYXQgd2hlbiBjYWxjdWxhdGluZyB0 aGUgDQo+ID4gbm9ybWFsaXplZF96cG9zIG9mIG1hc3RlciBwbGFuZXMsIHRoZSBzcGxpdCBsYXll ciBvZiB0aGUgc2xhdmUgcGxhbmUgDQo+ID4gaXMgaW5jbHVkZWQsIGJ1dCB0aGUgbWF4X3NsYXZl X3pvcmRlciBkb2VzIG5vdCBpbmNsdWRlIHRoZSBzcGxpdCANCj4gPiBsYXllciBhbmQga2VlcCB6 ZXJvIGJlY2F1c2UgdGhlcmUncyBvbmx5IG9uZSBzbGF2ZSBwbGFuZSBpbiBhZmZhY3RlZCANCj4g PiBwbGFuZXMsIGFsdGhvdWdoIHdlIGFjdHVhbGx5IHVzZSB0d28gc2xhdmUgbGF5ZXJzIGluIHRo aXMgY29tbWl0Lg0KPiA+IA0KPiA+IEluIG1vc3QgY2FzZXMsIHRoaXMgYnVnIGRvZXMgbm90IHJl c3VsdCBpbiBhIGNvbW1pdCBmYWlsdXJlLCBidXQgDQo+ID4gYXNzdW1lIHRoZSBmb2xsb3dpbmcg c2l0dWF0aW9uOg0KPiA+ICAgICBzbGF2ZV9sYXllciAwOiB6cG9zID0gMCwgbGF5ZXIgc3BsaXQg ZW5hYmxlZCwgbm9ybWFsaXplZF96cG9zID0NCj4gPiAgICAgMDsodXNlIHNsYXZlX2xheWVyIDIg YXMgaXRzIHNwbGl0IGxheWVyKQ0KPiA+ICAgICBtYXN0ZXJfbGF5ZXIgMDogenBvcyA9IDIsIGxh eWVyX3NwbGl0IGVuYWJsZWQsIG5vcm1hbGl6ZWRfenBvcyA9DQo+ID4gICAgIDI7KHVzZSBtYXN0 ZXJfbGF5ZXIgMiBhcyBpdHMgc3BsaXQgbGF5ZXIpDQo+ID4gICAgIG1hc3Rlcl9sYXllciAxOiB6 cG9zID0gNCwgbm9ybWFsaXplZF96cG9zID0gNDsNCj4gPiAgICAgbWFzdGVyX2xheWVyIDM6IHpw b3MgPSA1LCBub3JtYWxpemVkX3pwb3MgPSA1Ow0KPiA+ICAgICBrY3J0Y19zdC0+bWF4X3NsYXZl X3pvcmRlciA9IDA7DQo+ID4gV2hlbiB3ZSB1c2UgbWFzdGVyX2xheWVyIDMgYXMgYSBpbnB1dCBv ZiBDVSBpbiBmdW5jdGlvbiANCj4gPiBrb21lZGFfY29tcGl6X3NldF9pbnB1dCBhbmQgY2hlY2sg aXQgd2l0aCBmdW5jdGlvbiANCj4gPiBrb21lZGFfY29tcG9uZW50X2NoZWNrX2lucHV0LCB0aGUg cGFyYW1ldGVyIGlkeCBpcyBlcXVhbCB0byANCj4gPiBub3JtYWlsemVkX3pwb3MgbWludXMgbWF4 X3NsYXZlX3pvcmRlciwgdGhlIHZhbHVlIG9mIGlkeCBpcyA1IGFuZCBpcyANCj4gPiBldXFhbCB0 byBDVSdzIG1heF9hY3RpdmVfaW5wdXRzLCBzbyB0aGF0IA0KPiA+IGtvbWVkYV9jb21wb25lbnRf Y2hlY2tfaW5wdXQgcmV0dXJucyBhIC1FSU5WQUwgdmFsdWUuDQo+IA0KPiBZZXMsIGluZGVlZCwg eW91IGhhdmUgZm91bmQgYSBidWcgaW4gdGhlIGNhbGN1bGF0aW9ucyB3aGVuIGxheWVyX3NwbGl0 IGlzIHNldC4NCj4gQnV0IEkgd2FzIGFsc28gbG9va2luZyB0aHJvdWdoIHRoZSBjb2RlIHRyeWlu ZyB0byBmaW5kIHdoZXJlIGxheWVyX3NwbGl0IGdldHMgc2V0IGFuZCBJIGNvdWxkIG5vdCBmaW5k IGl0LCBkbyB5b3UgaGF2ZSBzb21lIGV4dHJhIHBhdGNoZXM/DQo+IA0KPiA+IA0KPiA+IFRvIGZp eCB0aGUgYnVnIGRlc2NyaWJlZCBhYm92ZSwgd2hlbiBjYWxjdWxhdGluZyB0aGUgDQo+ID4gbWF4 X3NsYXZlX3pvcmRlciB3aXRoIHRoZSBsYXllcl9zcGxpdCBlbmFibGVkLCBjb3VudCB0aGUgc3Bs aXQgbGF5ZXIgDQo+ID4gaW4gdGhpcyBjYWxjdWxhdGlvbiBkaXJlY3RseS4NCj4gPiANCj4gPiBT aWduZWQtb2ZmLWJ5OiBob25nY2hpLnBlbmcgPGhvbmdjaGkucGVuZ0BzaWVuZ2luZS5jb20+DQo+ ID4gLS0tDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2tt cy5jIHwgMTEgKysrKysrKy0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMNCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jDQo+ID4gaW5kZXggZmU0NmIwZWJlZmVhLi5i M2RiODI4Mjg0ZTQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfa21zLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9rbXMuYw0KPiA+IEBAIC0xNTksNyArMTU5LDcgQEAgc3RhdGljIGlu dCBrb21lZGFfY3J0Y19ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsDQo+ID4g IAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdDsNCj4gPiAgCXN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lOw0KPiA+ICAJc3RydWN0IGxpc3RfaGVhZCB6b3JkZXJfbGlzdDsNCj4gPiAtCWlu dCBvcmRlciA9IDAsIGVycjsNCj4gPiArCWludCBvcmRlciA9IDAsIHNsYXZlX3pwb3MsIGVycjsN Cj4gDQo+IEFsc28sIHRoZSBidWlsZCBib3QgaGFzIGFscmVhZHkgZmxhZ2dlZCBpdCwgeW91ciBw YXRjaCBuZWVkcyBzb21lIGltcHJvdmVtZW50cy4NCj4gc2xhdmVfenBvcyBuZWVkcyB0byBiZSB1 MzIgaWYgaXQncyBnb2luZyB0byBiZSBjb21wYXJlZCBhZ2FpbnN0IG1heF9zbGF2ZV96b3JkZXIu DQo+IA0KPiBCZXN0IHJlZ2FyZHMsDQo+IExpdml1DQo+IA0KPiA+ICANCj4gPiAgCURSTV9ERUJV R19BVE9NSUMoIltDUlRDOiVkOiVzXSBjYWxjdWxhdGluZyBub3JtYWxpemVkIHpwb3MgdmFsdWVz XG4iLA0KPiA+ICAJCQkgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7DQo+ID4gQEAgLTE5OSwx MCArMTk5LDEzIEBAIHN0YXRpYyBpbnQga29tZWRhX2NydGNfbm9ybWFsaXplX3pwb3Moc3RydWN0 IGRybV9jcnRjICpjcnRjLA0KPiA+ICAJCQkJIHBsYW5lX3N0LT56cG9zLCBwbGFuZV9zdC0+bm9y bWFsaXplZF96cG9zKTsNCj4gPiAgDQo+ID4gIAkJLyogY2FsY3VsYXRlIG1heCBzbGF2ZSB6b3Jk ZXIgKi8NCj4gPiAtCQlpZiAoaGFzX2JpdChkcm1fcGxhbmVfaW5kZXgocGxhbmUpLCBrY3J0Yy0+ c2xhdmVfcGxhbmVzKSkNCj4gPiArCQlpZiAoaGFzX2JpdChkcm1fcGxhbmVfaW5kZXgocGxhbmUp LCBrY3J0Yy0+c2xhdmVfcGxhbmVzKSkgew0KPiA+ICsJCQlzbGF2ZV96cG9zID0gcGxhbmVfc3Qt Pm5vcm1hbGl6ZWRfenBvczsNCj4gPiArCQkJaWYgKHRvX2twbGFuZV9zdChwbGFuZV9zdCktPmxh eWVyX3NwbGl0KQ0KPiA+ICsJCQkJc2xhdmVfenBvcysrOw0KPiA+ICAJCQlrY3J0Y19zdC0+bWF4 X3NsYXZlX3pvcmRlciA9DQo+ID4gLQkJCQltYXgocGxhbmVfc3QtPm5vcm1hbGl6ZWRfenBvcywN Cj4gPiAtCQkJCSAgICBrY3J0Y19zdC0+bWF4X3NsYXZlX3pvcmRlcik7DQo+ID4gKwkJCQltYXgo c2xhdmVfenBvcywga2NydGNfc3QtPm1heF9zbGF2ZV96b3JkZXIpOw0KPiA+ICsJCX0NCj4gPiAg CX0NCj4gPiAgDQo+ID4gIAljcnRjX3N0LT56cG9zX2NoYW5nZWQgPSB0cnVlOw0KPiA+IC0tDQo+ ID4gMi4zNC4xDQo+ID4gDQo+IA0KPiAtLQ0KPiA9PT09PT09PT09PT09PT09PT09PQ0KPiB8IEkg d291bGQgbGlrZSB0byB8DQo+IHwgZml4IHRoZSB3b3JsZCwgIHwNCj4gfCBidXQgdGhleSdyZSBu b3QgfA0KPiB8IGdpdmluZyBtZSB0aGUgICB8DQo+ICBcIHNvdXJjZSBjb2RlISAgLw0KPiAgIC0t LS0tLS0tLS0tLS0tLQ0KPiAgICAgwq9cXyjjg4QpXy/Crw0KDQotLQ0KPT09PT09PT09PT09PT09 PT09PT0NCnwgSSB3b3VsZCBsaWtlIHRvIHwNCnwgZml4IHRoZSB3b3JsZCwgIHwNCnwgYnV0IHRo ZXkncmUgbm90IHwNCnwgZ2l2aW5nIG1lIHRoZSAgIHwNCiBcIHNvdXJjZSBjb2RlISAgLw0KICAt LS0tLS0tLS0tLS0tLS0NCiAgICDCr1xfKOODhClfL8KvDQo=