From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 966AA425F0 for ; Wed, 20 Sep 2023 14:14:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8EDA940691; Wed, 20 Sep 2023 14:14:02 +0200 (CEST) Received: from m13109.mail.163.com (m13109.mail.163.com [220.181.13.109]) by mails.dpdk.org (Postfix) with ESMTP id D98DC4027B; Wed, 20 Sep 2023 14:13:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=5QR9gkD4OPXGU1AtBGHn8VUMquUfJfSJtSTHUkSl7bc=; b=A zON+eDE/H14Lwrbvlr1YDc0skhk+px+SvXIFyb6/x11TVaqt91OZzjfL6k28BRmL 96CDKl5ZquEtp19zMWkP83frUbHo0jZ0Ws/CRwl+nkCTihGcD44i60MTupXsdVrh w78Gbs8u7nwSIKGkcSssF0LZ582ecXKuGaTryx0sQQ= Received: from taozj888$163.com ( [140.82.19.33] ) by ajax-webmail-wmsvr109 (Coremail) ; Wed, 20 Sep 2023 20:13:54 +0800 (CST) X-Originating-IP: [140.82.19.33] Date: Wed, 20 Sep 2023 20:13:54 +0800 (CST) From: taozj888 To: "Konstantin Ananyev" Cc: dev@dpdk.org, stable@dpdk.org, thomas@monjalon.net Subject: Re:Re:Re: [PATCH v1] examples/l3fwd: relax the RSS/Offload requirement X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20230109(dcb5de15) Copyright (c) 2002-2023 www.mailtech.cn 163com In-Reply-To: References: <510dd6ff.7c7c.18aa8535e75.Coremail.taozj888@163.com> X-NTES-SC: AL_QuySB/6avUgo4iicbOkfm04bju07UMu2v/4l2Y9SOp9wjDvm1iktRlRoAEHm0u2EIR6VrDO8WTtz6f9+TbhWebIbDLPams/dnBq6vMTKlYCpsA== Content-Type: multipart/alternative; boundary="----=_Part_113673_590697480.1695212034852" MIME-Version: 1.0 Message-ID: <795afe54.7848.18ab282db24.Coremail.taozj888@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: bcGowABHcsQD4gplDMYIAA--.54616W X-CM-SenderInfo: hwdr6yqyyyqiywtou0bp/xtbBlxDwx2I0aWZizwADsH X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org ------=_Part_113673_590697480.1695212034852 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 CgoKSGkgS29uc3RhbnRpbiwKCgpQbGVhc2Ugc2VlIG15IGNvbW1lbnRzIGlubGluZQpUaGFua3Mu CgoKCgpUcmV2b3IKQXQgMjAyMy0wOS0yMCAxNjowNDo0MSwgIktvbnN0YW50aW4gQW5hbnlldiIg PGtvbnN0YW50aW4udi5hbmFueWV2QHlhbmRleC5ydT4gd3JvdGU6Cj4KPkhpIFRyZXZvciwKPgo+ Cj4+IAo+PiBBdCAyMDIzLTA5LTE4IDAyOjA0OjE5LCAiS29uc3RhbnRpbiBBbmFueWV2IiA8a29u c3RhbnRpbi52LmFuYW55ZXZAeWFuZGV4LnJ1PiB3cm90ZToKPj4+MDMvMDkvMjAyMyAwNTowMSwg VHJldm9yIFRhbyCn4afap+qn1qfkOgo+Pj4+IE5vdyB0aGUgcG9ydCBSeCBtcV9tb2RlIGhhZCBi ZWVuIHNldCB0byBSVEVfRVRIX01RX1JYX1JTUywgYW5kIG9mZmxvYWQKPj4+PiBtb2RlIHNldCB0 byBSVEVfRVRIX1JYX09GRkxPQURfQ0hFQ0tTVU0gYnkgZGVmYXVsdCwgYnV0IHNvbWUgaGFyZHdh cmUKPj4+PiBhbmQvb3IgdmlydHVhbCBpbnRlcmZhY2UgZG9lcyBub3Qgc3VwcG9ydCB0aGUgUlNT IGFuZCBvZmZsb2FkIG1vZGUKPj4+PiBwcmVzdXBwb3NlZCwgZS5nLiwgc29tZSB2aXJ0aW8gaW50 ZXJmYWNlcyBpbiB0aGUgY2xvdWQgZG9uJ3Qgc3VwcG9ydAo+Pj4+IFJTUyBhbmQgbWF5IG9ubHkg cGFydGx5IHN1cHBvcnQgUlRFX0VUSF9SWF9PRkZMT0FEX1VEUF9DS1NVTS8KPj4+PiBSVEVfRVRI X1JYX09GRkxPQURfVENQX0NLU1VNLAo+Pj4+IGJ1dCBub3QgUlRFX0VUSF9SWF9PRkZMT0FEX0lQ VjRfQ0tTVU0sIGFuZCB0aGUgZXJyb3IgbXNnIGhlcmU6Cj4+Pj4gCj4+Pj4gdmlydGlvX2Rldl9j b25maWd1cmUoKTogUlNTIHN1cHBvcnQgcmVxdWVzdGVkIGJ1dCBub3Qgc3VwcG9ydGVkIGJ5Cj4+ Pj4gdGhlIGRldmljZQo+Pj4+IFBvcnQwIGRldl9jb25maWd1cmUgPSAtOTUKPj4+PiAKPj4+PiBh bmQ6Cj4+Pj4gRXRoZGV2IHBvcnRfaWQ9MCByZXF1ZXN0ZWQgUnggb2ZmbG9hZHMgMHhlIGRvZXMg bm90IG1hdGNoIFJ4IG9mZmxvYWRzCj4+Pj4gY2FwYWJpbGl0aWVzIDB4MjAxZCBpbiBydGVfZXRo X2Rldl9jb25maWd1cmUoKQo+Pj4+IAo+Pj4+IFNvIHRvIGVuYWJsZSB0aGUgbDNmd2QgcnVubmlu ZyBpbiB0aGF0IGVudmlyb25tZW50LCB0aGUgUnggbW9kZSByZXF1aXJlbWVudAo+Pj4+IGNhbiBi ZSByZWxheGVkIHRvIHJlZmxlY3QgdGhlIGhhcmR3YXJlIGZlYXR1cmUgcmVhbGl0eSBoZXJlLCBh bmQgdGhlIGwzZndkCj4+Pj4gY2FuIHJ1biBzbW9vdGhseSB0aGVuLgo+Pj4+IEEgd2FybmluZyBt c2cgd291bGQgYmUgcHJvdmlkZWQgdG8gdXNlciBpbiBjYXNlIGl0IGhhcHBlbnMgaGVyZS4KPj4+ PiAKPj4+PiBPbiB0aGUgb3RoZXIgc2lkZSwgZW5hYmxpbmcgdGhlIHNvZnR3YXJlIGNrc3VtIGNo ZWNrIGluIGNhc2UgdGhlCj4+Pj4gaHcgc3VwcG9ydCBtaXNzaW5nLgo+Pj4+IAo+Pj4+IEZpeGVz OiBhZjc1MDc4ZmVjZTMgKCJmaXJzdCBwdWJsaWMgcmVsZWFzZSIpCj4+Pj4gQ2M6IHN0YWJsZUBk cGRrLm9yZwo+Pj4KPj4+SSBkb24ndCB0aGluayB0aGVyZSB3YXMgYWJ1ZyBoZXJlLgo+Pj5XZSBh cmUgdGFsa2luZyBhYm91dCBjaGFuZ2luZyBjdXJyZW50IHJlcXVpcmVtZW50cyBmb3IgdGhlIGFw cC4KPj4+U28gbm90IHN1cmUgaXQgaXMgYSByZWFsIGZpeCBhbmQgdGhhdCBzdWNoIGNoYW5nZSBj YW4gYmUKPj4gCj4+PnByb3BhZ2F0ZWQgdG8gc3RhYmxlIHJlbGVhc2VzLgo+PiBUcmV2b3I6IEkg dGhpbmsgaXQncyBub3QgYSBidWcgZml4IGJ1dCBhIGZlYXR1cmUgZW5oYW5jZW1lbnQsIGl0IHdv dWxkIGVuYWJsZSBsM2Z3ZCB0byB3b3JrIHNtb290aGx5IG9uIHRoZSBIVy92aXJ0dWFsIGludGVy ZmFjZXMgd2hpY2ggZG9uJ3Qgc3VwcG9ydCBSU1MgYW5kL29yIGNrc3VtIG9mZmxvYWRpbmcuCj4K Pgo+WWVzLiBpdCBzZWVtcyBsaWtlIHNvcnQgb2YgYW4gZW5oYW5jZW1lbnQuCj5XaGlsZSAnRml4 ZXM6IC4uLicgYXJlIGZvciBidWdzIG9ubHkuCj5BRkFJSywgb25seSBidWctZml4ZXMgYXJlIHRh a2UgZm9yIGJhY2twb3J0aW5nIGJ5IHN0YWJsZSByZWxlYXNlcy4KPlRoYXQncyB3aHkgdGhlcmUg c2VlbXMgbm8gcG9pbnQgdG8gYWRkIENDOiBzdGFibGVAZHBkay5vcmcKPgo+QW5vdGhlciBnZW5l cmljIHRoaW5nczoKCj4tIGwzZndkIGRvYyBhbmQgcmVsZWFzZSBub3RlcyBwcm9iYWJseSBuZWVk IHRvIGJlIHVwZGF0ZWQKVHJldm9yPj5JIHRoaW5rIGl0J3Mgb2sgdG8gdXBkYXRlIHRoZSBsM2Z3 ZCBkb2MgYW5kIHJlbGVhc2Ugbm90ZXMsIGJ1dCBJIHdvdWxkIGxpa2UgdG8ga25vdyB3aGljaCBw YXJ0IG9mIHRoZSBkb2Mvbm90ZXMgaXMgYXBwcm9yaWF0ZSB0byBhZGQgdGhlIGVuaGFuY2VtZW50 IGRlY2xhcmF0aW9uLiAKPi0gYXMgeW91IGFyZWludHJvZHVjaW5nIDIgZGlzdGluY3QgZmVhdHVy ZXM6IG5vLXJzcyBhbmQgbm8taXB2NC1ja3N1bQo+ICAgaXQgaXMgcHJvYmFibHkgYmV0dGVyIHRv IHNwbGl0IGl0IGludG8gMiBkaWZmZXJlbnQgcGF0Y2hlcyAoaW4gdGhlIAoKPnNhbWUgc2VyaWVz KS4KVHJldm9yPj5JIHRoaW5rIGl0J3Mgb2sgdG8gc3BsaXQgaXQgaW50byAyIHBhdGNoZXMgaGVy ZSBpbiB0aGUgc2FtZSBzZXJpZXMsIGlmIHlvdSB3b3VsZCBsaWtlIHRvLgpUaGFua3MuCj4KPj4g Cj4+IAo+Pj4KPj4+PiAKPj4+PiBTaWduZWQtb2ZmLWJ5OiBUcmV2b3IgVGFvIDx0YW96ajg4OEAx NjMuY29tPgo+Pj4+IC0tLQo+Pj4+ICAgZXhhbXBsZXMvbDNmd2QvbDNmd2QuaCB8IDEyICsrKysr KysrKysrLQo+Pj4+ICAgZXhhbXBsZXMvbDNmd2QvbWFpbi5jICB8IDIxICsrKysrKysrKysrKysr KysrKystLQo+Pj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQo+Pj4+IAo+Pj4+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZC5oIGIv ZXhhbXBsZXMvbDNmd2QvbDNmd2QuaAo+Pj4+IGluZGV4IGI1NTg1NWM5MzIuLmNjMTA2NDNjNGIg MTAwNjQ0Cj4+Pj4gLS0tIGEvZXhhbXBsZXMvbDNmd2QvbDNmd2QuaAo+Pj4+ICsrKyBiL2V4YW1w bGVzL2wzZndkL2wzZndkLmgKPj4+PiBAQCAtMTE1LDYgKzExNSw4IEBAIGV4dGVybiBzdHJ1Y3Qg YWNsX2FsZ29yaXRobXMgYWNsX2FsZ1tdOwo+Pj4+ICAgCj4+Pj4gICBleHRlcm4gdWludDMyX3Qg bWF4X3BrdF9sZW47Cj4+Pj4gICAKPj4+PiArZXh0ZXJuIHN0cnVjdCBydGVfZXRoX2NvbmYgcG9y dF9jb25mOwo+Pj4+ICsKPj4+PiAgIC8qIFNlbmQgYnVyc3Qgb2YgcGFja2V0cyBvbiBhbiBvdXRw dXQgaW50ZXJmYWNlICovCj4+Pj4gICBzdGF0aWMgaW5saW5lIGludAo+Pj4+ICAgc2VuZF9idXJz dChzdHJ1Y3QgbGNvcmVfY29uZiAqcWNvbmYsIHVpbnQxNl90IG4sIHVpbnQxNl90IHBvcnQpCj4+ Pj4gQEAgLTE3MCw3ICsxNzIsMTUgQEAgaXNfdmFsaWRfaXB2NF9wa3Qoc3RydWN0IHJ0ZV9pcHY0 X2hkciAqcGt0LCB1aW50MzJfdCBsaW5rX2xlbikKPj4+PiAgIAkJcmV0dXJuIC0xOwo+Pj4+ICAg Cj4+Pj4gICAJLyogMi4gVGhlIElQIGNoZWNrc3VtIG11c3QgYmUgY29ycmVjdC4gKi8KPj4+PiAt CS8qIHRoaXMgaXMgY2hlY2tlZCBpbiBIL1cgKi8KPj4+PiArCS8qIGlmIHRoaXMgaXMgbm90IGNo ZWNrZWQgaW4gSC9XLCBjaGVjayBpdC4gKi8KPj4+PiArCWlmICgocG9ydF9jb25mLnJ4bW9kZS5v ZmZsb2FkcyAmIFJURV9FVEhfUlhfT0ZGTE9BRF9JUFY0X0NLU1VNKSA9PSAwKSB7Cj4+Pgo+Pj5N aWdodCBiZSBiZXR0ZXIgdG8gY2hlY2sgcGFydGljdWxhciBtYnVmIGZsYWc6Cj4+PmlmICgobWJ1 Zi0+b2xfZmxhZ3MgJiBSVEVfTUJVRl9GX1JYX0lQX0NLU1VNX01BU0spID09IAo+PiAKPj4+VEVf TUJVRl9GX1JYX0lQX0NLU1VNX1VOS05PV04pIHsuLi59Cj4+IFRyZXZvcjogdGhlIHV0aWxpdHkg ZnVuY3Rpb24gaXNfdmFsaWRfaXB2NF9wa3QgaXMganVzdCBhZ2FpbnN0IGFuIElQdjQgcGt0LCBh bmQgdGhlcmUncyBubyBtYnVmIGluZm9ybWF0aW9uLCBhbmQgaWYgbmVlZGVkLCB0aGVyZSB3b3Vs ZCBiZSBhbiBleHRyYSBvbF9mbGFncyBhZGRlZCBoZXJlIHRvIGNoZWNrIGlmIGl0IHdhcyBhbHJl YWR5IGRvbmUgYnkgdGhlIGV0aGVybmV0IGRldmljZSwgYnV0IGxvb2sgZm9yIGEgc2FtcGxlIGlu Ogo+PiBodHRwczovL2dpdGh1Yi5jb20vRFBESy9kcGRrL2Jsb2IvbWFpbi9leGFtcGxlcy9sM2Z3 ZC1wb3dlci9tYWluLmMjTDQ4Nwo+PiBzbyBJIHRoaW5rIGl0J3Mgb2sgdG8ganVzdCB1c2UgdGhl IHBvcnRfY29uZiBoZXJlLiBJZiB5b3Ugc3RpbGwgdGhpbmsgaXQncyBiZXR0ZXIgdG8gdXNlIG0t Pm9sX2ZsYWdzLCBwbGVhc2UgdGVsbCBtZS4KPgo+Cj5ZZXAsIHBhc3Npbmcgb2xfZmxhZ3MsIG9y IG1idWYgaXRzZWxmIHNlZW1zIGxpa2UgYSBwcm9wZXIgd2F5IHRvIGRvIGl0Lgo+QXByb2FjaCB0 YWtlbiBpbiBsM2Z3ZC1wb3dlciBkb2Vzbid0IGxvb2sgcmlnaHQgdG8gbWUsIHNlZSBiZWxvdy4K Pgo+Pj4KPj4+PiArCQl1aW50MTZfdCBhY3R1YWxfY2tzdW0sIGV4cGVjdGVkX2Nrc3VtOwo+Pj4+ ICsJCWFjdHVhbF9ja3N1bSA9IHBrdC0+aGRyX2NoZWNrc3VtOwo+Pj4+ICsJCXBrdC0+aGRyX2No ZWNrc3VtID0gMDsKPj4+PiArCQlleHBlY3RlZF9ja3N1bSA9IHJ0ZV9pcHY0X2Nrc3VtKHBrdCk7 Cj4+Pj4gKwkJaWYgKGFjdHVhbF9ja3N1bSAhPSBleHBlY3RlZF9ja3N1bSkKPj4+PiArCQkJcmV0 dXJuIC0yOwo+Pj4+ICsJfQo+Pj4+ICAgCj4+Pj4gICAJLyoKPj4+PiAgIAkgKiAzLiBUaGUgSVAg dmVyc2lvbiBudW1iZXIgbXVzdCBiZSA0LiBJZiB0aGUgdmVyc2lvbiBudW1iZXIgaXMgbm90IDQK Pj4+PiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbDNmd2QvbWFpbi5jIGIvZXhhbXBsZXMvbDNmd2Qv bWFpbi5jCj4+Pj4gaW5kZXggNjA2M2ViMTM5OS4uMzdhZWM2NDcxOCAxMDA2NDQKPj4+PiAtLS0g YS9leGFtcGxlcy9sM2Z3ZC9tYWluLmMKPj4+PiArKysgYi9leGFtcGxlcy9sM2Z3ZC9tYWluLmMK Pj4+PiBAQCAtMTE3LDcgKzExNyw3IEBAIHN0YXRpYyBzdHJ1Y3QgbGNvcmVfcGFyYW1zICogbGNv cmVfcGFyYW1zID0gbGNvcmVfcGFyYW1zX2FycmF5X2RlZmF1bHQ7Cj4+Pj4gICBzdGF0aWMgdWlu dDE2X3QgbmJfbGNvcmVfcGFyYW1zID0gc2l6ZW9mKGxjb3JlX3BhcmFtc19hcnJheV9kZWZhdWx0 KSAvCj4+Pj4gICAJCQkJc2l6ZW9mKGxjb3JlX3BhcmFtc19hcnJheV9kZWZhdWx0WzBdKTsKPj4+ PiAgIAo+Pj4+IC1zdGF0aWMgc3RydWN0IHJ0ZV9ldGhfY29uZiBwb3J0X2NvbmYgPSB7Cj4+Pj4g K3N0cnVjdCBydGVfZXRoX2NvbmYgcG9ydF9jb25mID0gewo+Pj4+ICAgCS5yeG1vZGUgPSB7Cj4+ Pj4gICAJCS5tcV9tb2RlID0gUlRFX0VUSF9NUV9SWF9SU1MsCj4+Pj4gICAJCS5vZmZsb2FkcyA9 IFJURV9FVEhfUlhfT0ZGTE9BRF9DSEVDS1NVTSwKPj4+PiBAQCAtMTI1Nyw4ICsxMjU3LDEyIEBA IGwzZndkX3BvbGxfcmVzb3VyY2Vfc2V0dXAodm9pZCkKPj4+PiAgIAkJbG9jYWxfcG9ydF9jb25m LnJ4X2Fkdl9jb25mLnJzc19jb25mLnJzc19oZiAmPQo+Pj4+ICAgCQkJZGV2X2luZm8uZmxvd190 eXBlX3Jzc19vZmZsb2FkczsKPj4+PiAgIAo+Pj4+IC0JCWlmIChkZXZfaW5mby5tYXhfcnhfcXVl dWVzID09IDEpCj4+Pj4gKwkJLyogcmVsYXggdGhlIHJ4IHJzcyByZXF1aXJlbWVudCAqLwo+Pj4+ ICsJCWlmIChkZXZfaW5mby5tYXhfcnhfcXVldWVzID09IDEgfHwgIWxvY2FsX3BvcnRfY29uZi5y eF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYpIHsKPj4+PiArCQkJcHJpbnRmKCJ3YXJuaW5nOiBt b2RpZmllZCB0aGUgcnggbXFfbW9kZSB0byBSVEVfRVRIX01RX1JYX05PTkUgYmFzZSBvbiIKPj4+ PiArCQkJCSIgZGV2aWNlIGNhcGFiaWxpdHlcbiIpOwo+Pj4+ICAgCQkJbG9jYWxfcG9ydF9jb25m LnJ4bW9kZS5tcV9tb2RlID0gUlRFX0VUSF9NUV9SWF9OT05FOwo+Pj4KPj4+U2hvdWxkIHdlIHBy b2JhYmx5IGluc3RlYWQgaGF2ZSBhIG5ldyBjb21tbmFkLWxpbmUgb3B0aW9uIHRvIGV4cGxpY2l0 bHkgCj4+PmRpc2FibGUgUlNTPwo+PiAKPj4+U29tZXRoaW5nIGxpa2U6ICctLW5vLXJzcycgb3Ig c28/Cj4+IFRyZXZvcjogdGhlIFJTUyBjYXBhYmlsaXR5IGZvciBhIGNlcnRhaW4gcG9ydCB3YXMg Z290IGJ5IHRoZSBydGVfZXRoX2Rldl9pbmZvX2dldCgpIGF1dG9tYXRpY2FsbHksIGFuZCB3ZSB0 aGluayB0aGUgdXNlciBzaG91bGQgbm90IGNhcmUgYWJvdXQgaXRzIHN0YXR1cyBiZWZvcmVoYW5k LCBidXQgaWYgaXQncyBtaXNzaW5nLCBhIHdhcm5pbmcgbm90aWZpY2F0aW9uIGZvciB0aGUgZGVn cmFkZSBoZXJlIHdvdWxkIGJlIHByb3Bvc2VkIHRvIG1ha2UgaXQgcnVuIHNtb290aGx5Lgo+Cj5Q ZXJzb25hbGx5LCBJIHN0aWxsIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciB0aGUgdXNlciB3aWxs Cj5oYXZlIGFuIGFiaWxpdHkgdG8gZGlzYWJsZSBpdCBleHBsaWNpdGx5Lgo+U2FtZSBhcyBsM2Z3 ZCBkb2VzIG5vdyB3aXRoICdwYXJzZS1wdHlwZScuCj4KPj4+Cj4+Pj4gKwkJfQo+Pj4+ICAgCj4+ Pj4gICAJCWlmIChsb2NhbF9wb3J0X2NvbmYucnhfYWR2X2NvbmYucnNzX2NvbmYucnNzX2hmICE9 Cj4+Pj4gICAJCQkJcG9ydF9jb25mLnJ4X2Fkdl9jb25mLnJzc19jb25mLnJzc19oZikgewo+Pj4+ IEBAIC0xMjY5LDYgKzEyNzMsMTkgQEAgbDNmd2RfcG9sbF9yZXNvdXJjZV9zZXR1cCh2b2lkKQo+ Pj4+ICAgCQkJCWxvY2FsX3BvcnRfY29uZi5yeF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYpOwo+ Pj4+ICAgCQl9Cj4+Pj4gICAKPj4+PiArCQkvKiByZWxheCB0aGUgcnggb2ZmbG9hZCByZXF1aXJl bWVudCAqLwo+Pj4+ICsJCWlmICgobG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmIGRl dl9pbmZvLnJ4X29mZmxvYWRfY2FwYSkgIT0KPj4+PiArCQkJbG9jYWxfcG9ydF9jb25mLnJ4bW9k ZS5vZmZsb2Fkcykgewo+Pj4+ICsJCQlwcmludGYoIlBvcnQgJXUgcmVxdWVzdGVkIFJ4IG9mZmxv YWRzIDB4JSJQUkl4NjQiIGRvZXMgbm90Igo+Pj4+ICsJCQkJIiBtYXRjaCBSeCBvZmZsb2FkcyBj YXBhYmlsaXRpZXMgMHglIlBSSXg2NCJcbiIsCj4+Pj4gKwkJCQlwb3J0aWQsIGxvY2FsX3BvcnRf Y29uZi5yeG1vZGUub2ZmbG9hZHMsCj4+Pj4gKwkJCQlkZXZfaW5mby5yeF9vZmZsb2FkX2NhcGEp Owo+Pj4+ICsJCQlsb2NhbF9wb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzICY9IGRldl9pbmZvLnJ4 X29mZmxvYWRfY2FwYTsKPj4+PiArCQkJcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcyA9IGxvY2Fs X3BvcnRfY29uZi5yeG1vZGUub2ZmbG9hZHM7Cj4+Pgo+Pj5XaHkgdG8gcmVtb3ZlIG9mZmxvYWRz IGluIHBvcnRfY29uZj8KPj4+VGhlcmUgY291bGQgYmUgbXVsdGlwbGUgcG9ydHMsIGFuZCBvbiBv dGhlcnMgZGVzaXJlZCBIVyBvZmZsb2FkcyBtaWdodCAKPj4gCj4+PmJlIHN1cHBvcnRlZC4KPj4g VHJldm9yOiBZZXMsIHRoZXJlIHdvdWxkIGJlIG11bHRpcGxlIHBvcnRzLCBzbyBpZiBvbmUgb2Yg dGhlIHBvcnRzIGxhY2sgSFcgb2ZmbG9hZCwgaXQgd291bGQgYmUgb2sgdG8ganVzdCB1c2UgdGhl IHJlbGF4ZWQgcmVxdWlyZW1lbnQgaGVyZSwgbGlrZSB3ZSBwcmV2aW91c2x5IHRhbGtlZCBpbiBo dHRwczovL2dpdGh1Yi5jb20vRFBESy9kcGRrL2Jsb2IvbWFpbi9leGFtcGxlcy9sM2Z3ZC1wb3dl ci9tYWluLmMjTDQ4NywgaWYgeW91IHN0aWxsIHRoaW5rIGl0J3MgbmVlZGVkIHRvIHVzZSB0aGUg cGVyLXBvcnQgY2FzZSwgaXQgd291bGQgYmUgb2sgdG8gdXNlIHRoZSBvbF9mbGFncyBhcyB0YWxr ZWQgcHJldmlvdXNseS4KPgo+Cj5CdXQgdGhlbiwgZGVwZW5kaW5nIG9uIHRoZSBwb3J0cyBvcmRl ciB5b3UgY2FuIGVuZC11cCB3aXRoIElQX0NLU1VNIAo+b2ZmbG9hZCBlbmFibGVkIG9uIHNvbWUg cG9ydHMgKGJ1dCBub3QgdXNlZCksIHdoaWxlIGNvbXBsZXRlbHkgZGlzYWJsZSAKPm9uIG90aGVy IHBvcnRzIC0gZXZlbiBpZiB0aGVzZSBwb3J0cyBkbyBzdXBwb3J0IElQX0NLU1VNLgo+SSB0aGlu ayB0aGUgYmV0dGVyIHdheSB3b3VsZCBiZSBub3QgdG8gdG91Y2ggcG9ydF9jb25mIGhlcmUsIGFu ZCBhYm92ZQo+dXNlIG9sX2ZsYWdzIHRvIGRlY2lkZSBzaG91bGQgd2UgY29tcHV0ZSBja3N1bSBp biBTVyBvciBub3QuCj4KPgo+Pj4KPj4+PiArCQkJcHJpbnRmKCJ3YXJuaW5nOiBtb2RpZmllZCB0 aGUgcnggb2ZmbG9hZCB0byAweCUiUFJJeDY0IiBiYXNlZCBvbiBkZXZpY2UiCj4+Pj4gKwkJCQki IGNhcGFiaWxpdHlcbiIsIGxvY2FsX3BvcnRfY29uZi5yeG1vZGUub2ZmbG9hZHMpOwo+Pj4+ICsJ CX0KPj4+PiArCj4+Pj4gICAJCXJldCA9IHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZShwb3J0aWQsIG5i X3J4X3F1ZXVlLAo+Pj4+ICAgCQkJCQkodWludDE2X3Qpbl90eF9xdWV1ZSwgJmxvY2FsX3BvcnRf Y29uZik7Cj4+Pj4gICAJCWlmIChyZXQgPCAwKQo= ------=_Part_113673_590697480.1695212034852 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6MS43O2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE0cHg7 Zm9udC1mYW1pbHk6QXJpYWwiPjxwIHN0eWxlPSJtYXJnaW46IDA7Ij48YnI+PC9wPjxkaXYgc3R5 bGU9Im1hcmdpbjogMDsiPkhpIEtvbnN0YW50aW4sPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAw OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMDsiPlBsZWFzZSBzZWUgbXkgY29tbWVu dHMgPGI+aW5saW5lPC9iPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMDsiPlRoYW5rcy48L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW46IDA7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAw OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMDsiPlRyZXZvcjwvZGl2PjxwcmU+QXQg MjAyMy0wOS0yMCAxNjowNDo0MSwgIktvbnN0YW50aW4gQW5hbnlldiIgJmx0O2tvbnN0YW50aW4u di5hbmFueWV2QHlhbmRleC5ydSZndDsgd3JvdGU6CiZndDsKJmd0O0hpIFRyZXZvciwKJmd0Owom Z3Q7CiZndDsmZ3Q7IAomZ3Q7Jmd0OyBBdCAyMDIzLTA5LTE4IDAyOjA0OjE5LCAiS29uc3RhbnRp biBBbmFueWV2IiAmbHQ7a29uc3RhbnRpbi52LmFuYW55ZXZAeWFuZGV4LnJ1Jmd0OyB3cm90ZToK Jmd0OyZndDsmZ3Q7MDMvMDkvMjAyMyAwNTowMSwgVHJldm9yIFRhbyCn4afap+qn1qfkOgomZ3Q7 Jmd0OyZndDsmZ3Q7IE5vdyB0aGUgcG9ydCBSeCBtcV9tb2RlIGhhZCBiZWVuIHNldCB0byBSVEVf RVRIX01RX1JYX1JTUywgYW5kIG9mZmxvYWQKJmd0OyZndDsmZ3Q7Jmd0OyBtb2RlIHNldCB0byBS VEVfRVRIX1JYX09GRkxPQURfQ0hFQ0tTVU0gYnkgZGVmYXVsdCwgYnV0IHNvbWUgaGFyZHdhcmUK Jmd0OyZndDsmZ3Q7Jmd0OyBhbmQvb3IgdmlydHVhbCBpbnRlcmZhY2UgZG9lcyBub3Qgc3VwcG9y dCB0aGUgUlNTIGFuZCBvZmZsb2FkIG1vZGUKJmd0OyZndDsmZ3Q7Jmd0OyBwcmVzdXBwb3NlZCwg ZS5nLiwgc29tZSB2aXJ0aW8gaW50ZXJmYWNlcyBpbiB0aGUgY2xvdWQgZG9uJ3Qgc3VwcG9ydAom Z3Q7Jmd0OyZndDsmZ3Q7IFJTUyBhbmQgbWF5IG9ubHkgcGFydGx5IHN1cHBvcnQgUlRFX0VUSF9S WF9PRkZMT0FEX1VEUF9DS1NVTS8KJmd0OyZndDsmZ3Q7Jmd0OyBSVEVfRVRIX1JYX09GRkxPQURf VENQX0NLU1VNLAomZ3Q7Jmd0OyZndDsmZ3Q7IGJ1dCBub3QgUlRFX0VUSF9SWF9PRkZMT0FEX0lQ VjRfQ0tTVU0sIGFuZCB0aGUgZXJyb3IgbXNnIGhlcmU6CiZndDsmZ3Q7Jmd0OyZndDsgCiZndDsm Z3Q7Jmd0OyZndDsgdmlydGlvX2Rldl9jb25maWd1cmUoKTogUlNTIHN1cHBvcnQgcmVxdWVzdGVk IGJ1dCBub3Qgc3VwcG9ydGVkIGJ5CiZndDsmZ3Q7Jmd0OyZndDsgdGhlIGRldmljZQomZ3Q7Jmd0 OyZndDsmZ3Q7IFBvcnQwIGRldl9jb25maWd1cmUgPSAtOTUKJmd0OyZndDsmZ3Q7Jmd0OyAKJmd0 OyZndDsmZ3Q7Jmd0OyBhbmQ6CiZndDsmZ3Q7Jmd0OyZndDsgRXRoZGV2IHBvcnRfaWQ9MCByZXF1 ZXN0ZWQgUnggb2ZmbG9hZHMgMHhlIGRvZXMgbm90IG1hdGNoIFJ4IG9mZmxvYWRzCiZndDsmZ3Q7 Jmd0OyZndDsgY2FwYWJpbGl0aWVzIDB4MjAxZCBpbiBydGVfZXRoX2Rldl9jb25maWd1cmUoKQom Z3Q7Jmd0OyZndDsmZ3Q7IAomZ3Q7Jmd0OyZndDsmZ3Q7IFNvIHRvIGVuYWJsZSB0aGUgbDNmd2Qg cnVubmluZyBpbiB0aGF0IGVudmlyb25tZW50LCB0aGUgUnggbW9kZSByZXF1aXJlbWVudAomZ3Q7 Jmd0OyZndDsmZ3Q7IGNhbiBiZSByZWxheGVkIHRvIHJlZmxlY3QgdGhlIGhhcmR3YXJlIGZlYXR1 cmUgcmVhbGl0eSBoZXJlLCBhbmQgdGhlIGwzZndkCiZndDsmZ3Q7Jmd0OyZndDsgY2FuIHJ1biBz bW9vdGhseSB0aGVuLgomZ3Q7Jmd0OyZndDsmZ3Q7IEEgd2FybmluZyBtc2cgd291bGQgYmUgcHJv dmlkZWQgdG8gdXNlciBpbiBjYXNlIGl0IGhhcHBlbnMgaGVyZS4KJmd0OyZndDsmZ3Q7Jmd0OyAK Jmd0OyZndDsmZ3Q7Jmd0OyBPbiB0aGUgb3RoZXIgc2lkZSwgZW5hYmxpbmcgdGhlIHNvZnR3YXJl IGNrc3VtIGNoZWNrIGluIGNhc2UgdGhlCiZndDsmZ3Q7Jmd0OyZndDsgaHcgc3VwcG9ydCBtaXNz aW5nLgomZ3Q7Jmd0OyZndDsmZ3Q7IAomZ3Q7Jmd0OyZndDsmZ3Q7IEZpeGVzOiBhZjc1MDc4ZmVj ZTMgKCJmaXJzdCBwdWJsaWMgcmVsZWFzZSIpCiZndDsmZ3Q7Jmd0OyZndDsgQ2M6IHN0YWJsZUBk cGRrLm9yZwomZ3Q7Jmd0OyZndDsKJmd0OyZndDsmZ3Q7SSBkb24ndCB0aGluayB0aGVyZSB3YXMg YWJ1ZyBoZXJlLgomZ3Q7Jmd0OyZndDtXZSBhcmUgdGFsa2luZyBhYm91dCBjaGFuZ2luZyBjdXJy ZW50IHJlcXVpcmVtZW50cyBmb3IgdGhlIGFwcC4KJmd0OyZndDsmZ3Q7U28gbm90IHN1cmUgaXQg aXMgYSByZWFsIGZpeCBhbmQgdGhhdCBzdWNoIGNoYW5nZSBjYW4gYmUKJmd0OyZndDsgCiZndDsm Z3Q7Jmd0O3Byb3BhZ2F0ZWQgdG8gc3RhYmxlIHJlbGVhc2VzLgomZ3Q7Jmd0OyBUcmV2b3I6IEkg dGhpbmsgaXQncyBub3QgYSBidWcgZml4IGJ1dCBhIGZlYXR1cmUgZW5oYW5jZW1lbnQsIGl0IHdv dWxkIGVuYWJsZSBsM2Z3ZCB0byB3b3JrIHNtb290aGx5IG9uIHRoZSBIVy92aXJ0dWFsIGludGVy ZmFjZXMgd2hpY2ggZG9uJ3Qgc3VwcG9ydCBSU1MgYW5kL29yIGNrc3VtIG9mZmxvYWRpbmcuCiZn dDsKJmd0OwomZ3Q7WWVzLiBpdCBzZWVtcyBsaWtlIHNvcnQgb2YgYW4gZW5oYW5jZW1lbnQuCiZn dDtXaGlsZSAnRml4ZXM6IC4uLicgYXJlIGZvciBidWdzIG9ubHkuCiZndDtBRkFJSywgb25seSBi dWctZml4ZXMgYXJlIHRha2UgZm9yIGJhY2twb3J0aW5nIGJ5IHN0YWJsZSByZWxlYXNlcy4KJmd0 O1RoYXQncyB3aHkgdGhlcmUgc2VlbXMgbm8gcG9pbnQgdG8gYWRkIENDOiBzdGFibGVAZHBkay5v cmcKJmd0OwomZ3Q7QW5vdGhlciBnZW5lcmljIHRoaW5nczoKPGRpdj4mZ3Q7LSBsM2Z3ZCBkb2Mg YW5kIHJlbGVhc2Ugbm90ZXMgcHJvYmFibHkgbmVlZCB0byBiZSB1cGRhdGVkPC9kaXY+PGRpdj48 Yj5UcmV2b3ImZ3Q7Jmd0O0kgdGhpbmsgaXQncyBvayB0byB1cGRhdGUgdGhlIGwzZndkIGRvYyBh bmQgcmVsZWFzZSBub3RlcywgYnV0IEkgd291bGQgbGlrZSB0byBrbm93IHdoaWNoIHBhcnQgb2Yg dGhlIGRvYy9ub3RlcyBpcyBhcHByb3JpYXRlIHRvIGFkZCB0aGUgZW5oYW5jZW1lbnQgZGVjbGFy YXRpb24uIDwvYj48L2Rpdj4mZ3Q7LSBhcyB5b3UgYXJlaW50cm9kdWNpbmcgMiBkaXN0aW5jdCBm ZWF0dXJlczogbm8tcnNzIGFuZCBuby1pcHY0LWNrc3VtCiZndDsgICBpdCBpcyBwcm9iYWJseSBi ZXR0ZXIgdG8gc3BsaXQgaXQgaW50byAyIGRpZmZlcmVudCBwYXRjaGVzIChpbiB0aGUgCjxkaXY+ Jmd0O3NhbWUgc2VyaWVzKS48L2Rpdj48ZGl2PjxiPlRyZXZvciZndDsmZ3Q7SSB0aGluayBpdCdz IG9rIHRvIHNwbGl0IGl0IGludG8gMiBwYXRjaGVzIGhlcmUgaW4gdGhlIHNhbWUgc2VyaWVzLCBp ZiB5b3Ugd291bGQgbGlrZSB0by48L2I+PC9kaXY+PGRpdj48Yj5UaGFua3MuPC9iPjwvZGl2PiZn dDsKJmd0OyZndDsgCiZndDsmZ3Q7IAomZ3Q7Jmd0OyZndDsKJmd0OyZndDsmZ3Q7Jmd0OyAKJmd0 OyZndDsmZ3Q7Jmd0OyBTaWduZWQtb2ZmLWJ5OiBUcmV2b3IgVGFvICZsdDt0YW96ajg4OEAxNjMu Y29tJmd0OwomZ3Q7Jmd0OyZndDsmZ3Q7IC0tLQomZ3Q7Jmd0OyZndDsmZ3Q7ICAgZXhhbXBsZXMv bDNmd2QvbDNmd2QuaCB8IDEyICsrKysrKysrKysrLQomZ3Q7Jmd0OyZndDsmZ3Q7ICAgZXhhbXBs ZXMvbDNmd2QvbWFpbi5jICB8IDIxICsrKysrKysrKysrKysrKysrKystLQomZ3Q7Jmd0OyZndDsm Z3Q7ICAgMiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQom Z3Q7Jmd0OyZndDsmZ3Q7IAomZ3Q7Jmd0OyZndDsmZ3Q7IGRpZmYgLS1naXQgYS9leGFtcGxlcy9s M2Z3ZC9sM2Z3ZC5oIGIvZXhhbXBsZXMvbDNmd2QvbDNmd2QuaAomZ3Q7Jmd0OyZndDsmZ3Q7IGlu ZGV4IGI1NTg1NWM5MzIuLmNjMTA2NDNjNGIgMTAwNjQ0CiZndDsmZ3Q7Jmd0OyZndDsgLS0tIGEv ZXhhbXBsZXMvbDNmd2QvbDNmd2QuaAomZ3Q7Jmd0OyZndDsmZ3Q7ICsrKyBiL2V4YW1wbGVzL2wz ZndkL2wzZndkLmgKJmd0OyZndDsmZ3Q7Jmd0OyBAQCAtMTE1LDYgKzExNSw4IEBAIGV4dGVybiBz dHJ1Y3QgYWNsX2FsZ29yaXRobXMgYWNsX2FsZ1tdOwomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCiZndDsm Z3Q7Jmd0OyZndDsgICBleHRlcm4gdWludDMyX3QgbWF4X3BrdF9sZW47CiZndDsmZ3Q7Jmd0OyZn dDsgICAKJmd0OyZndDsmZ3Q7Jmd0OyArZXh0ZXJuIHN0cnVjdCBydGVfZXRoX2NvbmYgcG9ydF9j b25mOwomZ3Q7Jmd0OyZndDsmZ3Q7ICsKJmd0OyZndDsmZ3Q7Jmd0OyAgIC8qIFNlbmQgYnVyc3Qg b2YgcGFja2V0cyBvbiBhbiBvdXRwdXQgaW50ZXJmYWNlICovCiZndDsmZ3Q7Jmd0OyZndDsgICBz dGF0aWMgaW5saW5lIGludAomZ3Q7Jmd0OyZndDsmZ3Q7ICAgc2VuZF9idXJzdChzdHJ1Y3QgbGNv cmVfY29uZiAqcWNvbmYsIHVpbnQxNl90IG4sIHVpbnQxNl90IHBvcnQpCiZndDsmZ3Q7Jmd0OyZn dDsgQEAgLTE3MCw3ICsxNzIsMTUgQEAgaXNfdmFsaWRfaXB2NF9wa3Qoc3RydWN0IHJ0ZV9pcHY0 X2hkciAqcGt0LCB1aW50MzJfdCBsaW5rX2xlbikKJmd0OyZndDsmZ3Q7Jmd0OyAgIAkJcmV0dXJu IC0xOwomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCiZndDsmZ3Q7Jmd0OyZndDsgICAJLyogMi4gVGhlIElQ IGNoZWNrc3VtIG11c3QgYmUgY29ycmVjdC4gKi8KJmd0OyZndDsmZ3Q7Jmd0OyAtCS8qIHRoaXMg aXMgY2hlY2tlZCBpbiBIL1cgKi8KJmd0OyZndDsmZ3Q7Jmd0OyArCS8qIGlmIHRoaXMgaXMgbm90 IGNoZWNrZWQgaW4gSC9XLCBjaGVjayBpdC4gKi8KJmd0OyZndDsmZ3Q7Jmd0OyArCWlmICgocG9y dF9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmYW1wOyBSVEVfRVRIX1JYX09GRkxPQURfSVBWNF9DS1NV TSkgPT0gMCkgewomZ3Q7Jmd0OyZndDsKJmd0OyZndDsmZ3Q7TWlnaHQgYmUgYmV0dGVyIHRvIGNo ZWNrIHBhcnRpY3VsYXIgbWJ1ZiBmbGFnOgomZ3Q7Jmd0OyZndDtpZiAoKG1idWYtJmd0O29sX2Zs YWdzICZhbXA7IFJURV9NQlVGX0ZfUlhfSVBfQ0tTVU1fTUFTSykgPT0gCiZndDsmZ3Q7IAomZ3Q7 Jmd0OyZndDtURV9NQlVGX0ZfUlhfSVBfQ0tTVU1fVU5LTk9XTikgey4uLn0KJmd0OyZndDsgVHJl dm9yOiB0aGUgdXRpbGl0eSBmdW5jdGlvbiBpc192YWxpZF9pcHY0X3BrdCBpcyBqdXN0IGFnYWlu c3QgYW4gSVB2NCBwa3QsIGFuZCB0aGVyZSdzIG5vIG1idWYgaW5mb3JtYXRpb24sIGFuZCBpZiBu ZWVkZWQsIHRoZXJlIHdvdWxkIGJlIGFuIGV4dHJhIG9sX2ZsYWdzIGFkZGVkIGhlcmUgdG8gY2hl Y2sgaWYgaXQgd2FzIGFscmVhZHkgZG9uZSBieSB0aGUgZXRoZXJuZXQgZGV2aWNlLCBidXQgbG9v ayBmb3IgYSBzYW1wbGUgaW46CiZndDsmZ3Q7IGh0dHBzOi8vZ2l0aHViLmNvbS9EUERLL2RwZGsv YmxvYi9tYWluL2V4YW1wbGVzL2wzZndkLXBvd2VyL21haW4uYyNMNDg3CiZndDsmZ3Q7IHNvIEkg dGhpbmsgaXQncyBvayB0byBqdXN0IHVzZSB0aGUgcG9ydF9jb25mIGhlcmUuIElmIHlvdSBzdGls bCB0aGluayBpdCdzIGJldHRlciB0byB1c2UgbS0mZ3Q7b2xfZmxhZ3MsIHBsZWFzZSB0ZWxsIG1l LgomZ3Q7CiZndDsKJmd0O1llcCwgcGFzc2luZyBvbF9mbGFncywgb3IgbWJ1ZiBpdHNlbGYgc2Vl bXMgbGlrZSBhIHByb3BlciB3YXkgdG8gZG8gaXQuCiZndDtBcHJvYWNoIHRha2VuIGluIGwzZndk LXBvd2VyIGRvZXNuJ3QgbG9vayByaWdodCB0byBtZSwgc2VlIGJlbG93LgomZ3Q7CiZndDsmZ3Q7 Jmd0OwomZ3Q7Jmd0OyZndDsmZ3Q7ICsJCXVpbnQxNl90IGFjdHVhbF9ja3N1bSwgZXhwZWN0ZWRf Y2tzdW07CiZndDsmZ3Q7Jmd0OyZndDsgKwkJYWN0dWFsX2Nrc3VtID0gcGt0LSZndDtoZHJfY2hl Y2tzdW07CiZndDsmZ3Q7Jmd0OyZndDsgKwkJcGt0LSZndDtoZHJfY2hlY2tzdW0gPSAwOwomZ3Q7 Jmd0OyZndDsmZ3Q7ICsJCWV4cGVjdGVkX2Nrc3VtID0gcnRlX2lwdjRfY2tzdW0ocGt0KTsKJmd0 OyZndDsmZ3Q7Jmd0OyArCQlpZiAoYWN0dWFsX2Nrc3VtICE9IGV4cGVjdGVkX2Nrc3VtKQomZ3Q7 Jmd0OyZndDsmZ3Q7ICsJCQlyZXR1cm4gLTI7CiZndDsmZ3Q7Jmd0OyZndDsgKwl9CiZndDsmZ3Q7 Jmd0OyZndDsgICAKJmd0OyZndDsmZ3Q7Jmd0OyAgIAkvKgomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCSAq IDMuIFRoZSBJUCB2ZXJzaW9uIG51bWJlciBtdXN0IGJlIDQuIElmIHRoZSB2ZXJzaW9uIG51bWJl ciBpcyBub3QgNAomZ3Q7Jmd0OyZndDsmZ3Q7IGRpZmYgLS1naXQgYS9leGFtcGxlcy9sM2Z3ZC9t YWluLmMgYi9leGFtcGxlcy9sM2Z3ZC9tYWluLmMKJmd0OyZndDsmZ3Q7Jmd0OyBpbmRleCA2MDYz ZWIxMzk5Li4zN2FlYzY0NzE4IDEwMDY0NAomZ3Q7Jmd0OyZndDsmZ3Q7IC0tLSBhL2V4YW1wbGVz L2wzZndkL21haW4uYwomZ3Q7Jmd0OyZndDsmZ3Q7ICsrKyBiL2V4YW1wbGVzL2wzZndkL21haW4u YwomZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGljIHN0cnVjdCBsY29y ZV9wYXJhbXMgKiBsY29yZV9wYXJhbXMgPSBsY29yZV9wYXJhbXNfYXJyYXlfZGVmYXVsdDsKJmd0 OyZndDsmZ3Q7Jmd0OyAgIHN0YXRpYyB1aW50MTZfdCBuYl9sY29yZV9wYXJhbXMgPSBzaXplb2Yo bGNvcmVfcGFyYW1zX2FycmF5X2RlZmF1bHQpIC8KJmd0OyZndDsmZ3Q7Jmd0OyAgIAkJCQlzaXpl b2YobGNvcmVfcGFyYW1zX2FycmF5X2RlZmF1bHRbMF0pOwomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCiZn dDsmZ3Q7Jmd0OyZndDsgLXN0YXRpYyBzdHJ1Y3QgcnRlX2V0aF9jb25mIHBvcnRfY29uZiA9IHsK Jmd0OyZndDsmZ3Q7Jmd0OyArc3RydWN0IHJ0ZV9ldGhfY29uZiBwb3J0X2NvbmYgPSB7CiZndDsm Z3Q7Jmd0OyZndDsgICAJLnJ4bW9kZSA9IHsKJmd0OyZndDsmZ3Q7Jmd0OyAgIAkJLm1xX21vZGUg PSBSVEVfRVRIX01RX1JYX1JTUywKJmd0OyZndDsmZ3Q7Jmd0OyAgIAkJLm9mZmxvYWRzID0gUlRF X0VUSF9SWF9PRkZMT0FEX0NIRUNLU1VNLAomZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0xMjU3LDggKzEy NTcsMTIgQEAgbDNmd2RfcG9sbF9yZXNvdXJjZV9zZXR1cCh2b2lkKQomZ3Q7Jmd0OyZndDsmZ3Q7 ICAgCQlsb2NhbF9wb3J0X2NvbmYucnhfYWR2X2NvbmYucnNzX2NvbmYucnNzX2hmICZhbXA7PQom Z3Q7Jmd0OyZndDsmZ3Q7ICAgCQkJZGV2X2luZm8uZmxvd190eXBlX3Jzc19vZmZsb2FkczsKJmd0 OyZndDsmZ3Q7Jmd0OyAgIAomZ3Q7Jmd0OyZndDsmZ3Q7IC0JCWlmIChkZXZfaW5mby5tYXhfcnhf cXVldWVzID09IDEpCiZndDsmZ3Q7Jmd0OyZndDsgKwkJLyogcmVsYXggdGhlIHJ4IHJzcyByZXF1 aXJlbWVudCAqLwomZ3Q7Jmd0OyZndDsmZ3Q7ICsJCWlmIChkZXZfaW5mby5tYXhfcnhfcXVldWVz ID09IDEgfHwgIWxvY2FsX3BvcnRfY29uZi5yeF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYpIHsK Jmd0OyZndDsmZ3Q7Jmd0OyArCQkJcHJpbnRmKCJ3YXJuaW5nOiBtb2RpZmllZCB0aGUgcnggbXFf bW9kZSB0byBSVEVfRVRIX01RX1JYX05PTkUgYmFzZSBvbiIKJmd0OyZndDsmZ3Q7Jmd0OyArCQkJ CSIgZGV2aWNlIGNhcGFiaWxpdHlcbiIpOwomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCQkJbG9jYWxfcG9y dF9jb25mLnJ4bW9kZS5tcV9tb2RlID0gUlRFX0VUSF9NUV9SWF9OT05FOwomZ3Q7Jmd0OyZndDsK Jmd0OyZndDsmZ3Q7U2hvdWxkIHdlIHByb2JhYmx5IGluc3RlYWQgaGF2ZSBhIG5ldyBjb21tbmFk LWxpbmUgb3B0aW9uIHRvIGV4cGxpY2l0bHkgCiZndDsmZ3Q7Jmd0O2Rpc2FibGUgUlNTPwomZ3Q7 Jmd0OyAKJmd0OyZndDsmZ3Q7U29tZXRoaW5nIGxpa2U6ICctLW5vLXJzcycgb3Igc28/CiZndDsm Z3Q7IFRyZXZvcjogdGhlIFJTUyBjYXBhYmlsaXR5IGZvciBhIGNlcnRhaW4gcG9ydCB3YXMgZ290 IGJ5IHRoZSBydGVfZXRoX2Rldl9pbmZvX2dldCgpIGF1dG9tYXRpY2FsbHksIGFuZCB3ZSB0aGlu ayB0aGUgdXNlciBzaG91bGQgbm90IGNhcmUgYWJvdXQgaXRzIHN0YXR1cyBiZWZvcmVoYW5kLCBi dXQgaWYgaXQncyBtaXNzaW5nLCBhIHdhcm5pbmcgbm90aWZpY2F0aW9uIGZvciB0aGUgZGVncmFk ZSBoZXJlIHdvdWxkIGJlIHByb3Bvc2VkIHRvIG1ha2UgaXQgcnVuIHNtb290aGx5LgomZ3Q7CiZn dDtQZXJzb25hbGx5LCBJIHN0aWxsIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciB0aGUgdXNlciB3 aWxsCiZndDtoYXZlIGFuIGFiaWxpdHkgdG8gZGlzYWJsZSBpdCBleHBsaWNpdGx5LgomZ3Q7U2Ft ZSBhcyBsM2Z3ZCBkb2VzIG5vdyB3aXRoICdwYXJzZS1wdHlwZScuCiZndDsKJmd0OyZndDsmZ3Q7 CiZndDsmZ3Q7Jmd0OyZndDsgKwkJfQomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCiZndDsmZ3Q7Jmd0OyZn dDsgICAJCWlmIChsb2NhbF9wb3J0X2NvbmYucnhfYWR2X2NvbmYucnNzX2NvbmYucnNzX2hmICE9 CiZndDsmZ3Q7Jmd0OyZndDsgICAJCQkJcG9ydF9jb25mLnJ4X2Fkdl9jb25mLnJzc19jb25mLnJz c19oZikgewomZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0xMjY5LDYgKzEyNzMsMTkgQEAgbDNmd2RfcG9s bF9yZXNvdXJjZV9zZXR1cCh2b2lkKQomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCQkJCWxvY2FsX3BvcnRf Y29uZi5yeF9hZHZfY29uZi5yc3NfY29uZi5yc3NfaGYpOwomZ3Q7Jmd0OyZndDsmZ3Q7ICAgCQl9 CiZndDsmZ3Q7Jmd0OyZndDsgICAKJmd0OyZndDsmZ3Q7Jmd0OyArCQkvKiByZWxheCB0aGUgcngg b2ZmbG9hZCByZXF1aXJlbWVudCAqLwomZ3Q7Jmd0OyZndDsmZ3Q7ICsJCWlmICgobG9jYWxfcG9y dF9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmYW1wOyBkZXZfaW5mby5yeF9vZmZsb2FkX2NhcGEpICE9 CiZndDsmZ3Q7Jmd0OyZndDsgKwkJCWxvY2FsX3BvcnRfY29uZi5yeG1vZGUub2ZmbG9hZHMpIHsK Jmd0OyZndDsmZ3Q7Jmd0OyArCQkJcHJpbnRmKCJQb3J0ICV1IHJlcXVlc3RlZCBSeCBvZmZsb2Fk cyAweCUiUFJJeDY0IiBkb2VzIG5vdCIKJmd0OyZndDsmZ3Q7Jmd0OyArCQkJCSIgbWF0Y2ggUngg b2ZmbG9hZHMgY2FwYWJpbGl0aWVzIDB4JSJQUkl4NjQiXG4iLAomZ3Q7Jmd0OyZndDsmZ3Q7ICsJ CQkJcG9ydGlkLCBsb2NhbF9wb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzLAomZ3Q7Jmd0OyZndDsm Z3Q7ICsJCQkJZGV2X2luZm8ucnhfb2ZmbG9hZF9jYXBhKTsKJmd0OyZndDsmZ3Q7Jmd0OyArCQkJ bG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmYW1wOz0gZGV2X2luZm8ucnhfb2ZmbG9h ZF9jYXBhOwomZ3Q7Jmd0OyZndDsmZ3Q7ICsJCQlwb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzID0g bG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkczsKJmd0OyZndDsmZ3Q7CiZndDsmZ3Q7Jmd0 O1doeSB0byByZW1vdmUgb2ZmbG9hZHMgaW4gcG9ydF9jb25mPwomZ3Q7Jmd0OyZndDtUaGVyZSBj b3VsZCBiZSBtdWx0aXBsZSBwb3J0cywgYW5kIG9uIG90aGVycyBkZXNpcmVkIEhXIG9mZmxvYWRz IG1pZ2h0IAomZ3Q7Jmd0OyAKJmd0OyZndDsmZ3Q7YmUgc3VwcG9ydGVkLgomZ3Q7Jmd0OyBUcmV2 b3I6IFllcywgdGhlcmUgd291bGQgYmUgbXVsdGlwbGUgcG9ydHMsIHNvIGlmIG9uZSBvZiB0aGUg cG9ydHMgbGFjayBIVyBvZmZsb2FkLCBpdCB3b3VsZCBiZSBvayB0byBqdXN0IHVzZSB0aGUgcmVs YXhlZCByZXF1aXJlbWVudCBoZXJlLCBsaWtlIHdlIHByZXZpb3VzbHkgdGFsa2VkIGluIGh0dHBz Oi8vZ2l0aHViLmNvbS9EUERLL2RwZGsvYmxvYi9tYWluL2V4YW1wbGVzL2wzZndkLXBvd2VyL21h aW4uYyNMNDg3LCBpZiB5b3Ugc3RpbGwgdGhpbmsgaXQncyBuZWVkZWQgdG8gdXNlIHRoZSBwZXIt cG9ydCBjYXNlLCBpdCB3b3VsZCBiZSBvayB0byB1c2UgdGhlIG9sX2ZsYWdzIGFzIHRhbGtlZCBw cmV2aW91c2x5LgomZ3Q7CiZndDsKJmd0O0J1dCB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIHBvcnRz IG9yZGVyIHlvdSBjYW4gZW5kLXVwIHdpdGggSVBfQ0tTVU0gCiZndDtvZmZsb2FkIGVuYWJsZWQg b24gc29tZSBwb3J0cyAoYnV0IG5vdCB1c2VkKSwgd2hpbGUgY29tcGxldGVseSBkaXNhYmxlIAom Z3Q7b24gb3RoZXIgcG9ydHMgLSBldmVuIGlmIHRoZXNlIHBvcnRzIGRvIHN1cHBvcnQgSVBfQ0tT VU0uCiZndDtJIHRoaW5rIHRoZSBiZXR0ZXIgd2F5IHdvdWxkIGJlIG5vdCB0byB0b3VjaCBwb3J0 X2NvbmYgaGVyZSwgYW5kIGFib3ZlCiZndDt1c2Ugb2xfZmxhZ3MgdG8gZGVjaWRlIHNob3VsZCB3 ZSBjb21wdXRlIGNrc3VtIGluIFNXIG9yIG5vdC4KJmd0OwomZ3Q7CiZndDsmZ3Q7Jmd0OwomZ3Q7 Jmd0OyZndDsmZ3Q7ICsJCQlwcmludGYoIndhcm5pbmc6IG1vZGlmaWVkIHRoZSByeCBvZmZsb2Fk IHRvIDB4JSJQUkl4NjQiIGJhc2VkIG9uIGRldmljZSIKJmd0OyZndDsmZ3Q7Jmd0OyArCQkJCSIg Y2FwYWJpbGl0eVxuIiwgbG9jYWxfcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2Fkcyk7CiZndDsmZ3Q7 Jmd0OyZndDsgKwkJfQomZ3Q7Jmd0OyZndDsmZ3Q7ICsKJmd0OyZndDsmZ3Q7Jmd0OyAgIAkJcmV0 ID0gcnRlX2V0aF9kZXZfY29uZmlndXJlKHBvcnRpZCwgbmJfcnhfcXVldWUsCiZndDsmZ3Q7Jmd0 OyZndDsgICAJCQkJCSh1aW50MTZfdCluX3R4X3F1ZXVlLCAmYW1wO2xvY2FsX3BvcnRfY29uZik7 CiZndDsmZ3Q7Jmd0OyZndDsgICAJCWlmIChyZXQgJmx0OyAwKQo8L3ByZT48L2Rpdj4= ------=_Part_113673_590697480.1695212034852--