Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp171382ybz; Tue, 21 Apr 2020 17:58:32 -0700 (PDT) X-Google-Smtp-Source: APiQypIixrquN7atCJ1w2B5mC4Sy/1Ko0iwvdEcT0LzVf4lLOmNoEtjxSpMLMKUzHiYPi8WpHIXL X-Received: by 2002:a17:907:2155:: with SMTP id rk21mr24698116ejb.163.1587517112572; Tue, 21 Apr 2020 17:58:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587517112; cv=none; d=google.com; s=arc-20160816; b=Inv0VXnpSSPXht6SkbT/PBGm0WKE6RrmJWBelEmceSGtYe8ABr39mWiiqNCOqIyjbJ 0//z3oBlJPiwbRGSVNO27oSXkstVFU+N175ocJRm04PBJ72hsCRfUSUR0C0uViY2aIs2 V64qCT/wOsNI++LYbVXqbIuzDPOlcMO65kkmL7yZxb22gRUaCiHB595x90ItlnJCZ2uy D7P+B7ugr1bQN8IgUDcsbITdU2cDCyzLkd4i6wPS/ZuIIzkTnt4sjl2kOFByprkIUCjE PCGrBjnwLMK0zFqrGLnIUfPgbcYctDc3i+2mjJHBi/HZb7RPEnapobPzMx3TVMiMikCV 9NLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:from:mime-version:in-reply-to :subject:cc:to:message-id:content-transfer-encoding; bh=WHEVh+YHK94oOPfvGkoNJtcnOisbe2yiODIJjyBsR6A=; b=l34QFuubfpmbCQ0ILNCLfmcMclDJAyUhs/TuQ6e2EWgE+gVxF9/v65FhOrD629msSC XJzm2EldIyytgLKfOVmZj914eXnvlhVjl/txZYpAEeA6jLscr5KATsSlQIW5aRAKwx7g 5afxdhHSHy5T91Tm2qQbmRmUB+J6bd0+SVLKRnXkrljNP26K6EZdGEz8cAeOaPVpMMTH 8TIvTQUuKeZDW85BVPLMEzbfmas4NBZo4E0m4Km3CiUiKF18kivmxzBVVGGIXR1foGRr dTwXQXechnlcrLHHZoKUI7Z4C2jRWdSdUcVyGFbqLocMYoNtNWVegH+XIpySMIsMFHOV 8KCg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j2si2539572ejs.138.2020.04.21.17.58.09; Tue, 21 Apr 2020 17:58:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726228AbgDVA5D (ORCPT + 99 others); Tue, 21 Apr 2020 20:57:03 -0400 Received: from m176150.mail.qiye.163.com ([59.111.176.150]:19703 "EHLO m176150.mail.qiye.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726012AbgDVA5C (ORCPT ); Tue, 21 Apr 2020 20:57:02 -0400 Received: from vivo.com (wm-10.qy.internal [127.0.0.1]) by m176150.mail.qiye.163.com (Hmail) with ESMTP id 373021A1513; Wed, 22 Apr 2020 08:56:27 +0800 (CST) Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Message-ID: To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: Alex Deucher , "David (ChunMing) Zhou" , David Airlie , Daniel Vetter , Tom St Denis , Ori Messinger , Sam Ravnborg , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, opensource.kernel@vivo.com Subject: =?UTF-8?B?UmU6UmU6IFtQQVRDSF0gYW1kZ3B1OiBmaXhlcyBtZW1sZWFrIGlzc3VlIHdoZW4gaW5pdCBmYWlsZWQ=?= X-Priority: 3 X-Mailer: HMail Webmail Server V2.0 Copyright (c) 2016-163.com X-Originating-IP: 157.0.31.122 In-Reply-To: <7fdc9db9-f259-e0de-646f-863e438d68ed@amd.com> MIME-Version: 1.0 Received: from bernard@vivo.com( [157.0.31.122) ] by ajax-webmail ( [127.0.0.1] ) ; Wed, 22 Apr 2020 08:56:27 +0800 (GMT+08:00) From: =?UTF-8?B?6LW15Yab5aWO?= Date: Wed, 22 Apr 2020 08:56:27 +0800 (GMT+08:00) X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZSFVNQk9LS0tJT09KT0tNSVlXWShZQU hPN1dZLVlBSVdZCQ4XHghZQVk1NCk2OjckKS43PlkG X-HM-Sender-Digest: e1kJHlYWEh9ZQUhMSE9OQ0NCTUpKN1dZDB4ZWUEPCQ4eV1kSHx4VD1lB WUc6MBQ6Sww4LTg1NAIcLgkxCBRJDDZPCg1VSFVKTkNMTkpNQkNMSE9CVTMWGhIXVRkeCRUaCR87 DRINFFUYFBZFWVdZEgtZQVlKTkxVS1VISlVKSUlZV1kIAVlBSktDTEo3Bg++ X-HM-Tid: 0a719f62d76b93b4kuws373021a1513 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CuWPkeS7tuS6uu+8miJDaHJpc3RpYW4gS8O2bmlnIiA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29t Pgrlj5HpgIHml6XmnJ/vvJoyMDIwLTA0LTIxIDIyOjUzOjQ3CuaUtuS7tuS6uu+8miLotbXlhpvl pY4iIDxiZXJuYXJkQHZpdm8uY29tPgrmioTpgIHkurrvvJpBbGV4IERldWNoZXIgPGFsZXhhbmRl ci5kZXVjaGVyQGFtZC5jb20+LCJEYXZpZCAoQ2h1bk1pbmcpIFpob3UiIDxEYXZpZDEuWmhvdUBh bWQuY29tPixEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+LERhbmllbCBWZXR0ZXIgPGRh bmllbEBmZndsbC5jaD4sVG9tIFN0IERlbmlzIDx0b20uc3RkZW5pc0BhbWQuY29tPixPcmkgTWVz c2luZ2VyIDxPcmkuTWVzc2luZ2VyQGFtZC5jb20+LFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3Jn Lm9yZz4sYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZyxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnLG9wZW5zb3VyY2Uua2VybmVs QHZpdm8uY29tCuS4u+mimO+8mlJlOiBbUEFUQ0hdIGFtZGdwdTogZml4ZXMgbWVtbGVhayBpc3N1 ZSB3aGVuIGluaXQgZmFpbGVkPkFtIDIxLjA0LjIwIHVtIDE1OjM5IHNjaHJpZWIg6LW15Yab5aWO Ogo+PiDlj5Hku7bkurrvvJoiQ2hyaXN0aWFuIEvDtm5pZyIgPGNocmlzdGlhbi5rb2VuaWdAYW1k LmNvbT4KPj4g5Y+R6YCB5pel5pyf77yaMjAyMC0wNC0yMSAyMTowMjoyNwo+PiDmlLbku7bkurrv vJoi6LW15Yab5aWOIiA8YmVybmFyZEB2aXZvLmNvbT4KPj4g5oqE6YCB5Lq677yaQWxleCBEZXVj aGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPiwiRGF2aWQgKENodW5NaW5nKSBaaG91IiA8 RGF2aWQxLlpob3VAYW1kLmNvbT4sRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPixEYW5p ZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+LFRvbSBTdCBEZW5pcyA8dG9tLnN0ZGVuaXNAYW1k LmNvbT4sT3JpIE1lc3NpbmdlciA8T3JpLk1lc3NpbmdlckBhbWQuY29tPixTYW0gUmF2bmJvcmcg PHNhbUByYXZuYm9yZy5vcmc+LGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZyxvcGVu c291cmNlLmtlcm5lbEB2aXZvLmNvbQo+PiDkuLvpopjvvJpSZTogW1BBVENIXSBhbWRncHU6IGZp eGVzIG1lbWxlYWsgaXNzdWUgd2hlbiBpbml0IGZhaWxlZD5BbSAyMS4wNC4yMCB1bSAxNDowOSBz Y2hyaWViIOi1teWGm+WljjoKPj4+PiBGcm9tOiAiQ2hyaXN0aWFuIEvDtm5pZyIgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4KPj4+PiBEYXRlOiAyMDIwLTA0LTIxIDE5OjIyOjQ5Cj4+Pj4gVG86 ICBCZXJuYXJkIFpoYW8gPGJlcm5hcmRAdml2by5jb20+LEFsZXggRGV1Y2hlciA8YWxleGFuZGVy LmRldWNoZXJAYW1kLmNvbT4sIkRhdmlkIChDaHVuTWluZykgWmhvdSIgPERhdmlkMS5aaG91QGFt ZC5jb20+LERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4sRGFuaWVsIFZldHRlciA8ZGFu aWVsQGZmd2xsLmNoPixUb20gU3QgRGVuaXMgPHRvbS5zdGRlbmlzQGFtZC5jb20+LE9yaSBNZXNz aW5nZXIgPE9yaS5NZXNzaW5nZXJAYW1kLmNvbT4sU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcu b3JnPixhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyxkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnLGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcKPj4+PiBDYzogIG9wZW5zb3Vy Y2Uua2VybmVsQHZpdm8uY29tCj4+Pj4gU3ViamVjdDogUmU6IFtQQVRDSF0gYW1kZ3B1OiBmaXhl cyBtZW1sZWFrIGlzc3VlIHdoZW4gaW5pdCBmYWlsZWQ+QW0gMjEuMDQuMjAgdW0gMTM6MTcgc2No cmllYiBCZXJuYXJkIFpoYW86Cj4+Pj4+PiBWUkFNIG1hbmFnZXIgYW5kIERSTSBNTSB3aGVuIGlu aXQgZmFpbGVkLCB0aGVyZSBpcyBubyBvcGVyYWN0aW9uCj4+Pj4+PiB0byBmcmVlIGt6YWxsb2Mg bWVtb3J5ICYgcmVtb3ZlIGRldmljZSBmaWxlLgo+Pj4+Pj4gVGhpcyB3aWxsIGxlYWQgdG8gbWVt bGVhayAmIGNhdXNlIHN0YWJpbGl0eSBpc3N1ZS4KPj4+Pj4gTkFLLCBmYWlsdXJlIHRvIGNyZWF0 ZSBzeXNmcyBub2RlcyBhcmUgbm90IGNyaXRpY2FsLgo+Pj4+Pgo+Pj4+PiBDaHJpc3RpYW4uCj4+ Pj4+Cj4+Pj4gT0ssIGdldCBpdC4KPj4+PiBCeSB0aGUgd2F5LCBzaG91bGQgaSBtb2RpZnkgdGhp cyBwYXRjaCB0byBqdXN0IGhhbmRsZSA8a2ZyZWUobWdyKT4gaW4gZXJyb3IgYnJhbmNoLCBvciB0 aGF0IGl0IGlzIGFsc28gdW5uZWNlc3Nhcnk/Cj4+PiBXaGF0IHlvdSBjYW4gZG8gaXMgdG8gZHJv cCB0aGUgInJldHVybiByZXQiIGlmIGFueXRoaW5nIHdpdGggdGhlIHN5c2ZzCj4+PiBub2RlcyBn b2VzIHdyb25nIGFuZCBpbnN0ZWFkIHByaW50IHRoZSBlcnJvciBjb2RlLgo+PiBFbW1tLCBmb3Ig dGhpcyBwYXJ0LCBpIGFtIG5vdCBzdXJlLCBteSBtb2RpZnkgZmlyc3QgcHJpbnQgdGhlIGVycm9y LCBzZWNvbmUgcmVsZWFzZSBub3QgZnJlZSBtZW1vcnksCj4+IGFuZCBsYXN0IHJldHVybiBlcnJv ciwgbWFrZSBldmVyeXRoaW5nIGNsZWFyIHRvIHRoZSBzeXN0ZW0uCj4+IEkgdGhpbmsgaXRgcyB0 aGUgc2FtZSB3aXRoIHdoYXQgeW91IG1lbnRpb25lZCwgaXMgdGhlcmUgc29tZXRoaW5nIHRoYXQg SSBtaXN1bmRlcnN0b29kPwo+Cj5ZZXMsIG1heWJlIGFuIGV4YW1wbGUgbWFrZXMgaXQgbW9yZSBj bGVhciB3aGF0IHRvIGRvIGhlcmUuIEN1cnJlbnRseSB3ZSAKPnByaW50IGFuZCBlcnJvciBhbmQg cmV0dXJuIHdoZW4gc29tZXRoaW5nIHdpdGggdGhlIHN5c2ZzIGZpbGVzIGdvZXMgd3Jvbmc6Cj4K PmlmIChyZXQpIHsKPiDCoMKgwqAgRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRldmljZSBm aWxlIG1lbV9pbmZvX3ZyYW1fdG90YWxcbiIpOwo+IMKgwqDCoCByZXR1cm4gcmV0Owo+fQo+Cj5C dXQgd2hhdCB3ZSBzaG91bGQgZG8gaW5zdGVhZCBpcyBqdXN0IHRvIHByaW50IGFuIGVycm9yIGFu ZCBjb250aW51ZSBhbmQgCj5pbiB0aGUgZW5kIHJldHVybiBzdWNjZXNzIHN0YXR1czoKPgo+aWYg KHJldCkKPiDCoMKgwqAgRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRldmljZSBmaWxlIG1l bV9pbmZvX3ZyYW1fdG90YWwgCj4oJWQpXG4iLCByKTsKPgo+Li4uCj5yZXR1cm4gMDsKPgo+UmVn YXJkcywKPkNocmlzdGlhbi4KPgoKRW1tbSwgIGkgYW0gc3RpbGwgY29uZnVzZWQgYWJvdXQgdHdv IHBvaW50czoKMSBEb2VzIHRoYXQgbWVhbiB0aGVyZSBpcyBubyBmYWlsZWQgY2FzZSBpbiB0aGlz IGZ1bmN0aW9uPwoyIFRoZXJlIGlzIG5vIG5lZWQgdG8gZnJlZSB0aGUga3ptYWxsb2Mgc3BhY2Uo bm8gcG9zc2liaWxpdHkgb2YgbWVtb3J5IGxlYWsgKT8KClJlZ2FyZHMsCkJlcm5hcmQKCj4+Cj4+ PiBJdCdzIHJlYWxseSBhbm5veWluZyB0aGF0IGxvYWRpbmcsIHVubG9hZGluZyBhbmQgbG9hZGlu ZyB0aGUgZHJpdmVyCj4+PiBhZ2FpbiBzb21ldGltZXMgZmFpbHMgYmVjYXVzZSB3ZSBoYXZlIGEg YnVnIGluIHRoZSBzeXNmcyBmaWxlcyBjbGVhbnVwLgo+Pj4KPj4+IFdlIGNlcnRhaW5seSBzaG91 bGQgZml4IHRob3NlIGJ1Z3MgYXMgd2VsbCwgYnV0IHRoZXkgYXJlIGp1c3Qgbm90Cj4+PiBjcml0 aWNhbCBmb3IgY29ycmVjdCBkcml2ZXIgZnVuY3Rpb25hbGl0eS4KPj4+Cj4+PiBSZWdhcmRzLAo+ Pj4gQ2hyaXN0aWFuLgo+Pgo+Pj4+IFJlZ2FyZHMsCj4+Pj4gQmVybmFyZAo+Pj4+Cj4+Pj4+PiBT aWduZWQtb2ZmLWJ5OiBCZXJuYXJkIFpoYW8gPGJlcm5hcmRAdml2by5jb20+Cj4+Pj4+PiAtLS0K Pj4+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdnJhbV9tZ3IuYyB8 IDI0ICsrKysrKysrKysrKysrKystLS0tCj4+Pj4+PiAgICAgMSBmaWxlIGNoYW5nZWQsIDE5IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4+Pj4+Pgo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92cmFtX21nci5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZyYW1fbWdyLmMKPj4+Pj4+IGluZGV4IDgyYTMyOTllNTNj MC4uNGM1ZmIxNTNlNmI0IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZyYW1fbWdyLmMKPj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV92cmFtX21nci5jCj4+Pj4+PiBAQCAtMTc1LDMwICsxNzUsNDQgQEAgc3Rh dGljIGludCBhbWRncHVfdnJhbV9tZ3JfaW5pdChzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIg Km1hbiwKPj4+Pj4+ICAgICAJcmV0ID0gZGV2aWNlX2NyZWF0ZV9maWxlKGFkZXYtPmRldiwgJmRl dl9hdHRyX21lbV9pbmZvX3ZyYW1fdG90YWwpOwo+Pj4+Pj4gICAgIAlpZiAocmV0KSB7Cj4+Pj4+ PiAgICAgCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgZGV2aWNlIGZpbGUgbWVtX2luZm9f dnJhbV90b3RhbFxuIik7Cj4+Pj4+PiAtCQlyZXR1cm4gcmV0Owo+Pj4+Pj4gKwkJZ290byBWUkFN X1RPVEFMX0ZBSUw7Cj4+Pj4+PiAgICAgCX0KPj4+Pj4+ICAgICAJcmV0ID0gZGV2aWNlX2NyZWF0 ZV9maWxlKGFkZXYtPmRldiwgJmRldl9hdHRyX21lbV9pbmZvX3Zpc192cmFtX3RvdGFsKTsKPj4+ Pj4+ICAgICAJaWYgKHJldCkgewo+Pj4+Pj4gICAgIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3Jl YXRlIGRldmljZSBmaWxlIG1lbV9pbmZvX3Zpc192cmFtX3RvdGFsXG4iKTsKPj4+Pj4+IC0JCXJl dHVybiByZXQ7Cj4+Pj4+PiArCQlnb3RvIFZJU19WUkFNX1RPVEFfRkFJTDsKPj4+Pj4+ICAgICAJ fQo+Pj4+Pj4gICAgIAlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoYWRldi0+ZGV2LCAmZGV2X2F0 dHJfbWVtX2luZm9fdnJhbV91c2VkKTsKPj4+Pj4+ICAgICAJaWYgKHJldCkgewo+Pj4+Pj4gICAg IAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRldmljZSBmaWxlIG1lbV9pbmZvX3ZyYW1f dXNlZFxuIik7Cj4+Pj4+PiAtCQlyZXR1cm4gcmV0Owo+Pj4+Pj4gKwkJZ290byBWUkFNX1VTRURf RkFJTDsKPj4+Pj4+ICAgICAJfQo+Pj4+Pj4gICAgIAlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUo YWRldi0+ZGV2LCAmZGV2X2F0dHJfbWVtX2luZm9fdmlzX3ZyYW1fdXNlZCk7Cj4+Pj4+PiAgICAg CWlmIChyZXQpIHsKPj4+Pj4+ICAgICAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBkZXZp Y2UgZmlsZSBtZW1faW5mb192aXNfdnJhbV91c2VkXG4iKTsKPj4+Pj4+IC0JCXJldHVybiByZXQ7 Cj4+Pj4+PiArCQlnb3RvIFZJU19WUkFNX1VTRURfRkFJTDsKPj4+Pj4+ICAgICAJfQo+Pj4+Pj4g ICAgIAlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoYWRldi0+ZGV2LCAmZGV2X2F0dHJfbWVtX2lu Zm9fdnJhbV92ZW5kb3IpOwo+Pj4+Pj4gICAgIAlpZiAocmV0KSB7Cj4+Pj4+PiAgICAgCQlEUk1f RVJST1IoIkZhaWxlZCB0byBjcmVhdGUgZGV2aWNlIGZpbGUgbWVtX2luZm9fdnJhbV92ZW5kb3Jc biIpOwo+Pj4+Pj4gLQkJcmV0dXJuIHJldDsKPj4+Pj4+ICsJCWdvdG8gVlJBTV9WRVJET1JfRkFJ TDsKPj4+Pj4+ICAgICAJfQo+Pj4+Pj4gICAgIAo+Pj4+Pj4gICAgIAlyZXR1cm4gMDsKPj4+Pj4+ ICsKPj4+Pj4+ICtWUkFNX1ZFUkRPUl9GQUlMOgo+Pj4+Pj4gKwlkZXZpY2VfcmVtb3ZlX2ZpbGUo YWRldi0+ZGV2LCAmZGV2X2F0dHJfbWVtX2luZm9fdmlzX3ZyYW1fdXNlZCk7Cj4+Pj4+PiArVklT X1ZSQU1fVVNFRF9GQUlMOgo+Pj4+Pj4gKwlkZXZpY2VfcmVtb3ZlX2ZpbGUoYWRldi0+ZGV2LCAm ZGV2X2F0dHJfbWVtX2luZm9fdnJhbV91c2VkKTsKPj4+Pj4+ICtSVkFNX1VTRURfRkFJTDoKPj4+ Pj4+ICsJZGV2aWNlX3JlbW92ZV9maWxlKGFkZXYtPmRldiwgJmRldl9hdHRyX21lbV9pbmZvX3Zp c192cmFtX3RvdGFsKTsKPj4+Pj4+ICtWSVNfVlJBTV9UT1RBX0ZBSUw6Cj4+Pj4+PiArCWRldmlj ZV9yZW1vdmVfZmlsZShhZGV2LT5kZXYsICZkZXZfYXR0cl9tZW1faW5mb192cmFtX3RvdGFsKTsK Pj4+Pj4+ICtWUkFNX1RPVEFMX0ZBSUw6Cj4+Pj4+PiArCWtmcmVlKG1ncik7Cj4+Pj4+PiArCW1h bi0+cHJpdiA9IE5VTEw7Cj4+Pj4+PiArCj4+Pj4+PiArCXJldHVybiByZXQ7Cj4+Pj4+PiAgICAg fQo+Pj4+Pj4gICAgIAo+Pj4+Pj4gICAgIC8qKgo+Pgo+Cg0KDQo=