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 X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4A4B4C433DB for ; Mon, 11 Jan 2021 22:58:20 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id E8E7122D07 for ; Mon, 11 Jan 2021 22:58:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E8E7122D07 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 82D3A89DCF; Mon, 11 Jan 2021 22:58:19 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 12EA189DCF for ; Mon, 11 Jan 2021 22:58:18 +0000 (UTC) IronPort-SDR: 5wpu1jA0G/s/WS+xAGvFrOodaOgI4WdmuwZdFJXTb2caVbOMinBjpWpnkY43X7r3fNKZSbnJ9V eJk9syp7PQPA== X-IronPort-AV: E=McAfee;i="6000,8403,9861"; a="178100064" X-IronPort-AV: E=Sophos;i="5.79,339,1602572400"; d="scan'208";a="178100064" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 14:58:17 -0800 IronPort-SDR: 4CuquBjX6V7CpridWkMiw7SfkWoCvKQO7nmD4VY8ygPx1OCGHQ3So5qLvcf52r7ZGaI+i36DxZ cBSblZrvt1tA== X-IronPort-AV: E=Sophos;i="5.79,339,1602572400"; d="scan'208";a="571522710" Received: from drwaring-mobl.amr.corp.intel.com (HELO [10.254.120.234]) ([10.254.120.234]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 14:58:16 -0800 To: Matt Roper , Jani Nikula References: <20210108231853.2859646-1-aditya.swarup@intel.com> <20210108231853.2859646-2-aditya.swarup@intel.com> <20210108234440.GO3894148@mdroper-desk1.amr.corp.intel.com> <878s8zw7tw.fsf@intel.com> <875z43w7kq.fsf@intel.com> <20210111205743.GC4758@mdroper-desk1.amr.corp.intel.com> From: Aditya Swarup Message-ID: Date: Mon, 11 Jan 2021 14:58:15 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20210111205743.GC4758@mdroper-desk1.amr.corp.intel.com> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/tgl: Use TGL stepping info for applying WAs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gMS8xMS8yMSAxMjo1NyBQTSwgTWF0dCBSb3BlciB3cm90ZToKPiBPbiBNb24sIEphbiAxMSwg MjAyMSBhdCAxMDoxODo0NVBNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPj4gT24gTW9uLCAx MSBKYW4gMjAyMSwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4gd3Jv dGU6Cj4+PiBPbiBGcmksIDA4IEphbiAyMDIxLCBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJA aW50ZWwuY29tPiB3cm90ZToKPj4+PiBPbiBGcmksIEphbiAwOCwgMjAyMSBhdCAwMzoxODo1MlBN IC0wODAwLCBBZGl0eWEgU3dhcnVwIHdyb3RlOgo+Pj4+PiBUR0wgYWRkcyBhbm90aGVyIGxldmVs IG9mIGluZGlyZWN0aW9uIGZvciBhcHBseWluZyBXQSBiYXNlZCBvbiBzdGVwcGluZwo+Pj4+PiBp bmZvcm1hdGlvbiByYXRoZXIgdGhhbiBQQ0kgUkVWSUQuIFNvIGNoYW5nZSBUR0xfUkVWSUQgZW51 bSBpbnRvCj4+Pj4+IHN0ZXBwaW5nIGVudW0gYW5kIHVzZSBQQ0kgUkVWSUQgYXMgaW5kZXggaW50 byByZXZpZCB0byBzdGVwcGluZyB0YWJsZSB0bwo+Pj4+PiBmZXRjaCBjb3JyZWN0IGRpc3BsYXkg YW5kIEdUIHN0ZXBwaW5nIGZvciBhcHBsaWNhdGlvbiBvZiBXQXMgYXMKPj4+Pj4gc3VnZ2VzdGVk IGJ5IE1hdHQgUm9wZXIuCj4+Pj4KPj4+PiBTbyB0byBjbGFyaWZ5IHRoZSBnb2FsIGlzIHRvIHJl bmFtZSAicmV2aWQiIC0+ICJzdGVwcGluZyIgYmVjYXVzZSB0aGUKPj4+PiB2YWx1ZXMgbGlrZSAi QTEsIiAiQzAsIiBldGMuIGFyZSd0IHRoZSBhY3R1YWwgUENJIHJldmlzaW9uIElELCBidXQKPj4+ PiByYXRoZXIgZGVzY3JpcHRpb25zIG9mIHRoZSBzdGVwcGluZyBvZiBhIGdpdmVuIElQIGJsb2Nr OyB0aGUgZW51bSB2YWx1ZXMKPj4+PiB3ZSB1c2UgdG8gcmVwcmVzZW50IHRob3NlIGFyZSBhcmJp dHJhcnkgYW5kIGRvbid0IG1hdHRlciBhcyBsb25nIGFzCj4+Pj4gdGhleSdyZSBtb25vdG9uaWNh bGx5IGluY3JlYXNpbmcgZm9yIGNvbXBhcmlzb25zLiAgVGhlIFBDSSByZXZpc2lvbiBJRAo+Pj4+ IGlzIGp1c3QgdGhlIGlucHV0IHdlIHVzZSB0b2RheSB0byBkZWR1Y2Ugd2hhdCB0aGUgSVAgc3Rl cHBpbmdzIGFyZSwgYW5kCj4+Pj4gdGhlcmUncyB0YWxrIHRoYXQgd2UgY291bGQgZGV0ZXJtaW5l IHRoZSBJUCBzdGVwcGluZ3MgaW4gYSBkaWZmZXJlbnQgd2F5Cj4+Pj4gYXQgc29tZSBwb2ludCBp biB0aGUgZnV0dXJlLgo+Pj4+Cj4+Pj4gRnVydGhlcm1vcmUsIHNpbmNlIHRoZSBzYW1lIHNjaGVt ZSB3aWxsIGJlIHVzZWQgYXQgbGVhc3QgZm9yIEFETC1TLCB3ZQo+Pj4+IHNob3VsZCBkcm9wIHRo ZSAiVEdMIiBwcmVmaXggc2luY2UgdGhlcmUncyBubyBuZWVkIHRvIG5hbWUgdGhlc2UgZ2VuZXJh bAo+Pj4+IGVudW0gdmFsdWVzIGluIGEgcGxhdGZvcm0tc3BlY2lmaWMgbWFubmVyLgo+Pj4+Cj4+ Pj4gUmV2aWV3ZWQtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4+ Pj4KPj4+PiBXZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGUgc2FtZSBraW5kIG9mIGNoYW5nZSB0 byBLQkwgKGFuZCB1c2UgdGhlIHNhbWUKPj4+PiBzdGVwcGluZyBlbnVtKSB0b28gc2luY2UgaXQg aGFzIHRoZSBzYW1lIGtpbmQgb2YgZXh0cmEgaW5kaXJlY3Rpb24gYXMKPj4+PiBUR0wvQURMLVMs IGJ1dCB3ZSBjYW4gZG8gdGhhdCBhcyBhIGZvbGxvd3VwIHBhdGNoLgo+Pj4KPj4+IEZXSVcgSSBo YXZlIGEgd2lwIHNlcmllcyBjaGFuZ2luZyB0aGUgd2hvbGUgdGhpbmcgdG8gYWJzdHJhY3Qgc3Rl cHBpbmdzCj4+PiBlbnVtcyB0aGF0IGFyZSBzaGFyZWQgYmV0d2VlbiBwbGF0Zm9ybXMsIGJ1dCBp dCdzIGluIGEgYml0IG9mIGxpbWJvCj4+PiBiZWNhdXNlIHRoZSBwcmV2aW91cyByZXZpZCBjaGFu Z2VzIHdlcmUgYXBwbGllZCB0byBkcm0taW50ZWwtZ3QtbmV4dCwKPj4+IGFuZCBpdCdzIGZhbGxl biBwcmV0dHkgZmFyIG91dCBvZiBzeW5jIHdpdGggZHJtLWludGVsLW5leHQuIEFsbCBvZiB0aGlz Cj4+PiByZWFsbHkgYmVsb25ncyB0byBkcm0taW50ZWwtbmV4dCwgYnV0IGNhbid0IGRvIHRoYXQg dW50aWwgdGhlIGJyYW5jaGVzCj4+PiBzeW5jIHVwIGFnYWluLgo+Pgo+PiBCdHcgdGhpcyBzZXJp ZXMgZG9lc24ndCBhcHBseSB0byBkcm0taW50ZWwtbmV4dCBlaXRoZXIsIGZvciB0aGUgc2FtZQo+ PiByZWFzb24sIGFuZCB0aGUgQURMLVMgcGxhdGZvcm0gZGVmaW5pdGlvbiBhbmQgUENJIElEcyBt dXN0ICpub3QqIGJlCj4+IGFwcGxpZWQgdG8gZHJtLWludGVsLWd0LW5leHQuCgpUaGUgcmVhc29u IGJlaGluZCB0aGlzIHBhdGNoIG5vdCBjbGVhbmx5IGFwcGx5aW5nIG9uIGRybS1pbnRlbC1uZXh0 IGlzIGJlY2F1c2UKZHJtL2k5MTUvdGdsOiBBZGQgYm91bmQgY2hlY2tzIGFuZCBzaW1wbGlmeSBU R0wgUkVWSUQgbWFjcm9zCmlzbid0IHByZXNlbnQgb24gdGhhdCBicmFuY2ggYnV0IHByZXNlbnQg b24gZ3QtbmV4dC4gCgpUaGUgcGF0Y2ggZG9lc24ndCBhcHBseSBvbiBndC1uZXh0IGJlY2F1c2Ug b2YgYSBjb25mbGljdCBpbiB0aGUgZm9sbG93aW5nIGh1bms6CiAgICAgICAgLyogV2FfMTQwOTgy NTM3Njp0Z2wgKHByZS1wcm9kKSovCi0gICAgICAgaWYgKElTX1RHTF9ESVNQX1JFVklEKGRldl9w cml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9CMSkpCisgICAgICAgaWYgKElTX1RHTF9ESVNQ X1NURVBQSU5HKGRldl9wcml2LCBTVEVQX0EwLCBTVEVQX0IxKSkKCndoaWNoIGNhbiBiZSBlYXNp bHkgZml4ZWQgZHVyaW5nIGJhY2ttZXJnZSBwcm9jZXNzIGFzIEkgd2FzIGFibGUgYXBwbHkgdGhl IHBhdGNoCmNsZWFubHkgb24gZ3QtbmV4dC4gCkkgZG9uJ3QgdW5kZXJzdGFuZCB0aGUgIm11c3Qg Km5vdCoiIHJlYXNvbmluZyBiZWhpbmQgbm90IGFwcGx5aW5nIHRoaXMgcGF0Y2ggb24gZ3QtbmV4 dC4KCkl0IHdhcyBjb21tb24gY29uc2VzdXMgZHVyaW5nIGluaXRpYWwgcmV2aWV3IHRoYXQgc2Vw YXJhdGluZyBzdGVwcGluZy9yZXZpZCBwYXJzaW5nIGluIGEgCnNlcGFyYXRlIC5jIGZpbGUgd2ls bCBiZSBwdXNoZWQgaW4gYWZ0ZXIgQURMUyBjaGFuZ2VzIGFuZCBhZGRpbmcgdGhpcyBwYXRjaCB3 b24ndCBhZGQgYW55IGV4dHJhCmNodXJuLCBqdXN0IGEgbWlub3IgcmViYXNlIGZvciB5b3VyIGFw cHJvYWNoLgoKUmVnYXJkcywKYXN3YXJ1cAoKPiAKPiBTbyB0byBjbGFyaWZ5LCBpdCBsb29rcyBs aWtlIHdlIGhhdmUgYSBidW5jaCBvZiByZXZpZCBjaGFuZ2VzIHRvIHRoZQo+IGRpc3BsYXkgY29k ZSB0aGF0IGdvdCBtZXJnZWQgdG8gdGhlIGd0LW5leHQgdHJlZSBidXQgbm90IHRvIHRoZQo+IGlu dGVsLW5leHQgdHJlZT8gIFNob3VsZCB3ZSBiZSBnb2luZyBiYWNrIGFuZCBhbHNvIG1lcmdpbmcg Lwo+IGNoZXJyeS1waWNraW5nIHRob3NlIG92ZXIgdG8gaW50ZWwtbmV4dCBzaW5jZSB0aGF0J3Mg d2hlcmUgdGhlIGRpc3BsYXkKPiBjaGFuZ2VzIGFyZSBzdXBwb3NlZCB0byBnbywgb3IgaXMgaXQg dG9vIGxhdGUgdG8gZG8gdGhhdCBjbGVhbmx5IGF0IHRoaXMKPiBwb2ludD8KPiAKPiBHb2luZyBm b3J3YXJkLCB3aGF0IHNob3VsZCB0aGUgZ2VuZXJhbCBzdHJhdGVneSBiZSBmb3Igc3R1ZmYgbGlr ZQo+IHBsYXRmb3JtIGRlZmluaXRpb25zIGFuZCBzdWNoPyAgTWVyZ2Ugc3VjaCBlbmFibGVtZW50 IHBhdGNoZXMgdG8gYm90aAo+IGludGVsLW5leHQgYW5kIGd0LW5leHQgYXQgdGhlIHNhbWUgdGlt ZSBzbyB0aGF0IHRoZSBiYXNpYyBkZWZpbml0aW9ucwo+IGFyZSBhdmFpbGFibGUgdG8gYm90aCB0 cmVlcz8gIEl0IHNlZW1zIGxpa2UgdGhlIHdob2xlIHNwbGl0IGludG8gdHdvCj4gdHJlZXMgcmVh bGx5IGlzbid0IHdvcmtpbmcgd2VsbCBhbmQgaXMganVzdCBsZWFkaW5nIHRvIG1vcmUgbWlzdGFr ZXMgYW5kCj4gYm90dGxlbmVja3MuICBXaGF0IGJlbmVmaXQgYXJlIHdlIHN1cHBvc2VkIHRvIGJl IGdldHRpbmcgZnJvbSB0aGlzCj4gc3BsaXQ/PiAKPiAKPiBNYXR0Cj4gCj4gCj4+Cj4+IEJSLAo+ PiBKYW5pLgo+Pgo+Pj4KPj4+IE15IHNlcmllcyBhbHNvIGNvbXBsZXRlbHkgaGlkZXMgdGhlIGFy cmF5cyBpbnRvIGEgc2VwYXJhdGUgLmMgZmlsZSwKPj4+IGJlY2F1c2UgdGhlIGV4dGVybnMgd2l0 aCBkaXJlY3QgYXJyYXkgYWNjZXNzIGFyZSB0dXJuaW5nIGludG8KPj4+IG5pZ2h0bWFyZS4gVGhl IEFSUkFZX1NJWkUoKSBjaGVja3MgcmVseSBvbiB0aGUgZXh0ZXJuIGRlY2xhcmF0aW9uIGFuZAo+ Pj4gdGhlIGFjdHVhbCBhcnJheSBkZWZpbml0aW9uIHRvIGhhdmUgdGhlIHNpemVzIGluIHN5bmMs IGJ1dCB0aGUgY29tcGlsZXIKPj4+IGRvZXMgbm90IGNoZWNrIHRoYXQuIFJlYWxseS4KPj4+Cj4+ PiBJREssIGZlZWxzIGxpa2UgdGhpcyBtZXJnaW5nIHRoaXMgc2VyaWVzIGlzIGdvaW5nIHRvIGJl IGV4dHJhIGNodXJuLgo+Pj4KPj4+Cj4+PiBCUiwKPj4+IEphbmkuCj4+Pgo+Pj4KPj4+Pgo+Pj4+ Cj4+Pj4gTWF0dAo+Pj4+Cj4+Pj4+Cj4+Pj4+IENjOiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9w ZXJAaW50ZWwuY29tPgo+Pj4+PiBDYzogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBp bnRlbC5jb20+Cj4+Pj4+IENjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGlu dGVsLmNvbT4KPj4+Pj4gU2lnbmVkLW9mZi1ieTogQWRpdHlhIFN3YXJ1cCA8YWRpdHlhLnN3YXJ1 cEBpbnRlbC5jb20+Cj4+Pj4+IC0tLQo+Pj4+PiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV9wb3dlci5jICAgIHwgIDIgKy0KPj4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcHNyLmMgICAgICB8ICA0ICstCj4+Pj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jICAgfCAgMiArLQo+Pj4+PiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYyAgIHwgMjYgKysrKystLS0tLQo+Pj4+PiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgNTAgKysrKysrKysr LS0tLS0tLS0tLQo+Pj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAg ICAgICAgIHwgIDIgKy0KPj4+Pj4gIDYgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwg NDMgZGVsZXRpb25zKC0pCj4+Pj4+Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCj4+Pj4+IGluZGV4IGQ1MjM3NGYwMTMxNi4u YmIwNGI1MDJhNDQyIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYwo+Pj4+PiBAQCAtNTM0MCw3ICs1MzQwLDcg QEAgc3RhdGljIHZvaWQgdGdsX2J3X2J1ZGR5X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+Pj4+PiAgCWludCBjb25maWcsIGk7Cj4+Pj4+ICAKPj4+Pj4gIAlpZiAoSVNf REcxX1JFVklEKGRldl9wcml2LCBERzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkgfHwKPj4+Pj4g LQkgICAgSVNfVEdMX0RJU1BfUkVWSUQoZGV2X3ByaXYsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklE X0IwKSkKPj4+Pj4gKwkgICAgSVNfVEdMX0RJU1BfU1RFUFBJTkcoZGV2X3ByaXYsIFNURVBfQTAs IFNURVBfQjApKQo+Pj4+PiAgCQkvKiBXYV8xNDA5NzY3MTA4OnRnbCxkZzEgKi8KPj4+Pj4gIAkJ dGFibGUgPSB3YV8xNDA5NzY3MTA4X2J1ZGR5X3BhZ2VfbWFza3M7Cj4+Pj4+ICAJZWxzZQo+Pj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPj4+Pj4gaW5kZXggYzI0 YWU2OTQyNmNmLi5hOTM3MTcxNzg5NTcgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9wc3IuYwo+Pj4+PiBAQCAtNTUwLDcgKzU1MCw3IEBAIHN0YXRpYyB2 b2lkIGhzd19hY3RpdmF0ZV9wc3IyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+Pj4+ICAK Pj4+Pj4gIAlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3NlbF9mZXRjaF9lbmFibGVkKSB7Cj4+Pj4+ ICAJCS8qIFdBIDE0MDgzMzA4NDcgKi8KPj4+Pj4gLQkJaWYgKElTX1RHTF9ESVNQX1JFVklEKGRl dl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9BMCkgfHwKPj4+Pj4gKwkJaWYgKElTX1RH TF9ESVNQX1NURVBQSU5HKGRldl9wcml2LCBTVEVQX0EwLCBTVEVQX0EwKSB8fAo+Pj4+PiAgCQkg ICAgSVNfUktMX1JFVklEKGRldl9wcml2LCBSS0xfUkVWSURfQTAsIFJLTF9SRVZJRF9BMCkpCj4+ Pj4+ICAJCQlpbnRlbF9kZV9ybXcoZGV2X3ByaXYsIENISUNLRU5fUEFSMV8xLAo+Pj4+PiAgCQkJ CSAgICAgRElTX1JBTV9CWVBBU1NfUFNSMl9NQU5fVFJBQ0ssCj4+Pj4+IEBAIC0xMTAyLDcgKzEx MDIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZGlzYWJsZV9sb2NrZWQoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPj4+Pj4gIAo+Pj4+PiAgCS8qIFdBIDE0MDgzMzA4NDcgKi8KPj4+Pj4g IAlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3NlbF9mZXRjaF9lbmFibGVkICYmCj4+Pj4+IC0JICAg IChJU19UR0xfRElTUF9SRVZJRChkZXZfcHJpdiwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTAp IHx8Cj4+Pj4+ICsJICAgIChJU19UR0xfRElTUF9TVEVQUElORyhkZXZfcHJpdiwgU1RFUF9BMCwg U1RFUF9BMCkgfHwKPj4+Pj4gIAkgICAgIElTX1JLTF9SRVZJRChkZXZfcHJpdiwgUktMX1JFVklE X0EwLCBSS0xfUkVWSURfQTApKSkKPj4+Pj4gIAkJaW50ZWxfZGVfcm13KGRldl9wcml2LCBDSElD S0VOX1BBUjFfMSwKPj4+Pj4gIAkJCSAgICAgRElTX1JBTV9CWVBBU1NfUFNSMl9NQU5fVFJBQ0ss IDApOwo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMK Pj4+Pj4gaW5kZXggY2YzNTg5ZmQwZGRiLi40Y2UzMmRmMzg1NWYgMTAwNjQ0Cj4+Pj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMKPj4+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYwo+Pj4+PiBAQCAtMzAz Myw3ICszMDMzLDcgQEAgc3RhdGljIGJvb2wgZ2VuMTJfcGxhbmVfc3VwcG9ydHNfbWNfY2NzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4+Pj4gIHsKPj4+Pj4gIAkvKiBXYV8x NDAxMDQ3NzAwODp0Z2xbYTAuLmMwXSxya2xbYWxsXSxkZzFbYWxsXSAqLwo+Pj4+PiAgCWlmIChJ U19ERzEoZGV2X3ByaXYpIHx8IElTX1JPQ0tFVExBS0UoZGV2X3ByaXYpIHx8Cj4+Pj4+IC0JICAg IElTX1RHTF9ESVNQX1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9DMCkp Cj4+Pj4+ICsJICAgIElTX1RHTF9ESVNQX1NURVBQSU5HKGRldl9wcml2LCBTVEVQX0EwLCBTVEVQ X0MwKSkKPj4+Pj4gIAkJcmV0dXJuIGZhbHNlOwo+Pj4+PiAgCj4+Pj4+ICAJcmV0dXJuIHBsYW5l X2lkIDwgUExBTkVfU1BSSVRFNDsKPj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF93b3JrYXJvdW5kcy5jCj4+Pj4+IGluZGV4IGMyMWE5NzI2MzI2YS4uMTExZDAxZTJmODFlIDEw MDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5k cy5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRz LmMKPj4+Pj4gQEAgLTcxLDE3ICs3MSwxNyBAQCBjb25zdCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBp bmdzIGtibF9yZXZpZHNbXSA9IHsKPj4+Pj4gIAlbN10gPSB7IC5ndF9zdGVwcGluZyA9IEtCTF9S RVZJRF9HMCwgLmRpc3Bfc3RlcHBpbmcgPSBLQkxfUkVWSURfQzAgfSwKPj4+Pj4gIH07Cj4+Pj4+ ICAKPj4+Pj4gLWNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgdGdsX3V5X3Jldmlkc1td ID0gewo+Pj4+PiAtCVswXSA9IHsgLmd0X3N0ZXBwaW5nID0gVEdMX1JFVklEX0EwLCAuZGlzcF9z dGVwcGluZyA9IFRHTF9SRVZJRF9BMCB9LAo+Pj4+PiAtCVsxXSA9IHsgLmd0X3N0ZXBwaW5nID0g VEdMX1JFVklEX0IwLCAuZGlzcF9zdGVwcGluZyA9IFRHTF9SRVZJRF9DMCB9LAo+Pj4+PiAtCVsy XSA9IHsgLmd0X3N0ZXBwaW5nID0gVEdMX1JFVklEX0IxLCAuZGlzcF9zdGVwcGluZyA9IFRHTF9S RVZJRF9DMCB9LAo+Pj4+PiAtCVszXSA9IHsgLmd0X3N0ZXBwaW5nID0gVEdMX1JFVklEX0MwLCAu ZGlzcF9zdGVwcGluZyA9IFRHTF9SRVZJRF9EMCB9LAo+Pj4+PiArY29uc3Qgc3RydWN0IGk5MTVf cmV2X3N0ZXBwaW5ncyB0Z2xfdXlfcmV2aWRfc3RlcF90YmxbXSA9IHsKPj4+Pj4gKwlbMF0gPSB7 IC5ndF9zdGVwcGluZyA9IFNURVBfQTAsIC5kaXNwX3N0ZXBwaW5nID0gU1RFUF9BMCB9LAo+Pj4+ PiArCVsxXSA9IHsgLmd0X3N0ZXBwaW5nID0gU1RFUF9CMCwgLmRpc3Bfc3RlcHBpbmcgPSBTVEVQ X0MwIH0sCj4+Pj4+ICsJWzJdID0geyAuZ3Rfc3RlcHBpbmcgPSBTVEVQX0IxLCAuZGlzcF9zdGVw cGluZyA9IFNURVBfQzAgfSwKPj4+Pj4gKwlbM10gPSB7IC5ndF9zdGVwcGluZyA9IFNURVBfQzAs IC5kaXNwX3N0ZXBwaW5nID0gU1RFUF9EMCB9LAo+Pj4+PiAgfTsKPj4+Pj4gIAo+Pj4+PiAgLyog U2FtZSBHVCBzdGVwcGluZyBiZXR3ZWVuIHRnbF91eV9yZXZpZHMgYW5kIHRnbF9yZXZpZHMgZG9u J3QgbWVhbiB0aGUgc2FtZSBIVyAqLwo+Pj4+PiAtY29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBw aW5ncyB0Z2xfcmV2aWRzW10gPSB7Cj4+Pj4+IC0JWzBdID0geyAuZ3Rfc3RlcHBpbmcgPSBUR0xf UkVWSURfQTAsIC5kaXNwX3N0ZXBwaW5nID0gVEdMX1JFVklEX0IwIH0sCj4+Pj4+IC0JWzFdID0g eyAuZ3Rfc3RlcHBpbmcgPSBUR0xfUkVWSURfQjAsIC5kaXNwX3N0ZXBwaW5nID0gVEdMX1JFVklE X0QwIH0sCj4+Pj4+ICtjb25zdCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBpbmdzIHRnbF9yZXZpZF9z dGVwX3RibFtdID0gewo+Pj4+PiArCVswXSA9IHsgLmd0X3N0ZXBwaW5nID0gU1RFUF9BMCwgLmRp c3Bfc3RlcHBpbmcgPSBTVEVQX0IwIH0sCj4+Pj4+ICsJWzFdID0geyAuZ3Rfc3RlcHBpbmcgPSBT VEVQX0IwLCAuZGlzcF9zdGVwcGluZyA9IFNURVBfRDAgfSwKPj4+Pj4gIH07Cj4+Pj4+ICAKPj4+ Pj4gIHN0YXRpYyB2b2lkIHdhX2luaXRfc3RhcnQoc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsLCBj b25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICplbmdpbmVfbmFtZSkKPj4+Pj4gQEAgLTEyMTEs MTkgKzEyMTEsMTkgQEAgdGdsX2d0X3dvcmthcm91bmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCkKPj4+Pj4gIAlnZW4xMl9ndF93 b3JrYXJvdW5kc19pbml0KGk5MTUsIHdhbCk7Cj4+Pj4+ICAKPj4+Pj4gIAkvKiBXYV8xNDA5NDIw NjA0OnRnbCAqLwo+Pj4+PiAtCWlmIChJU19UR0xfVVlfR1RfUkVWSUQoaTkxNSwgVEdMX1JFVklE X0EwLCBUR0xfUkVWSURfQTApKQo+Pj4+PiArCWlmIChJU19UR0xfVVlfR1RfU1RFUFBJTkcoaTkx NSwgU1RFUF9BMCwgU1RFUF9BMCkpCj4+Pj4+ICAJCXdhX3dyaXRlX29yKHdhbCwKPj4+Pj4gIAkJ CSAgICBTVUJTTElDRV9VTklUX0xFVkVMX0NMS0dBVEUyLAo+Pj4+PiAgCQkJICAgIENQU1NVTklU X0NMS0dBVEVfRElTKTsKPj4+Pj4gIAo+Pj4+PiAgCS8qIFdhXzE2MDcwODcwNTY6dGdsIGFsc28g a25vdyBhcyBCVUc6MTQwOTE4MDMzOCAqLwo+Pj4+PiAtCWlmIChJU19UR0xfVVlfR1RfUkVWSUQo aTkxNSwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKQo+Pj4+PiArCWlmIChJU19UR0xfVVlf R1RfU1RFUFBJTkcoaTkxNSwgU1RFUF9BMCwgU1RFUF9BMCkpCj4+Pj4+ICAJCXdhX3dyaXRlX29y KHdhbCwKPj4+Pj4gIAkJCSAgICBTTElDRV9VTklUX0xFVkVMX0NMS0dBVEUsCj4+Pj4+ICAJCQkg ICAgTDNfQ0xLR0FURV9ESVMgfCBMM19DUjJYX0NMS0dBVEVfRElTKTsKPj4+Pj4gIAo+Pj4+PiAg CS8qIFdhXzE0MDg2MTUwNzI6dGdsW2EwXSAqLwo+Pj4+PiAtCWlmIChJU19UR0xfVVlfR1RfUkVW SUQoaTkxNSwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKQo+Pj4+PiArCWlmIChJU19UR0xf VVlfR1RfU1RFUFBJTkcoaTkxNSwgU1RFUF9BMCwgU1RFUF9BMCkpCj4+Pj4+ICAJCXdhX3dyaXRl X29yKHdhbCwgVU5TTElDRV9VTklUX0xFVkVMX0NMS0dBVEUyLAo+Pj4+PiAgCQkJICAgIFZTVU5J VF9DTEtHQVRFX0RJU19UR0wpOwo+Pj4+PiAgfQo+Pj4+PiBAQCAtMTcwMCw3ICsxNzAwLDcgQEAg cmNzX2VuZ2luZV93YV9pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0 IGk5MTVfd2FfbGlzdCAqd2FsKQo+Pj4+PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gZW5naW5lLT5pOTE1Owo+Pj4+PiAgCj4+Pj4+ICAJaWYgKElTX0RHMV9SRVZJRChpOTE1LCBE RzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkgfHwKPj4+Pj4gLQkgICAgSVNfVEdMX1VZX0dUX1JF VklEKGk5MTUsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0EwKSkgewo+Pj4+PiArCSAgICBJU19U R0xfVVlfR1RfU1RFUFBJTkcoaTkxNSwgU1RFUF9BMCwgU1RFUF9BMCkpIHsKPj4+Pj4gIAkJLyoK Pj4+Pj4gIAkJICogV2FfMTYwNzEzODMzNjp0Z2xbYTBdLGRnMVthMF0KPj4+Pj4gIAkJICogV2Ff MTYwNzA2Mzk4ODp0Z2xbYTBdLGRnMVthMF0KPj4+Pj4gQEAgLTE3MTAsNyArMTcxMCw3IEBAIHJj c19lbmdpbmVfd2FfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBp OTE1X3dhX2xpc3QgKndhbCkKPj4+Pj4gIAkJCSAgICBHRU4xMl9ESVNBQkxFX1BPU0hfQlVTWV9G Rl9ET1BfQ0cpOwo+Pj4+PiAgCX0KPj4+Pj4gIAo+Pj4+PiAtCWlmIChJU19UR0xfVVlfR1RfUkVW SUQoaTkxNSwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKSB7Cj4+Pj4+ICsJaWYgKElTX1RH TF9VWV9HVF9TVEVQUElORyhpOTE1LCBTVEVQX0EwLCBTVEVQX0EwKSkgewo+Pj4+PiAgCQkvKgo+ Pj4+PiAgCQkgKiBXYV8xNjA2Njc5MTAzOnRnbAo+Pj4+PiAgCQkgKiAoc2VlIGFsc28gV2FfMTYw NjY4MjE2NjppY2wpCj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4+PiBpbmRleCA1ZTVi Y2VmMjBlMzMuLjExZDZlOGFiZGU0NiAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4+Pj4+IEBAIC0xNTU5LDU0ICsxNTU5LDU0IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgaTkx NV9yZXZfc3RlcHBpbmdzIGtibF9yZXZpZHNbXTsKPj4+Pj4gIAkoSVNfSlNMX0VITChwKSAmJiBJ U19SRVZJRChwLCBzaW5jZSwgdW50aWwpKQo+Pj4+PiAgCj4+Pj4+ICBlbnVtIHsKPj4+Pj4gLQlU R0xfUkVWSURfQTAsCj4+Pj4+IC0JVEdMX1JFVklEX0IwLAo+Pj4+PiAtCVRHTF9SRVZJRF9CMSwK Pj4+Pj4gLQlUR0xfUkVWSURfQzAsCj4+Pj4+IC0JVEdMX1JFVklEX0QwLAo+Pj4+PiArCVNURVBf QTAsCj4+Pj4+ICsJU1RFUF9CMCwKPj4+Pj4gKwlTVEVQX0IxLAo+Pj4+PiArCVNURVBfQzAsCj4+ Pj4+ICsJU1RFUF9EMCwKPj4+Pj4gIH07Cj4+Pj4+ICAKPj4+Pj4gLSNkZWZpbmUgVEdMX1VZX1JF VklEU19TSVpFCTQKPj4+Pj4gLSNkZWZpbmUgVEdMX1JFVklEU19TSVpFCQkyCj4+Pj4+ICsjZGVm aW5lIFRHTF9VWV9SRVZJRF9TVEVQX1RCTF9TSVpFCTQKPj4+Pj4gKyNkZWZpbmUgVEdMX1JFVklE X1NURVBfVEJMX1NJWkUJCTIKPj4+Pj4gIAo+Pj4+PiAtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpOTE1 X3Jldl9zdGVwcGluZ3MgdGdsX3V5X3Jldmlkc1tUR0xfVVlfUkVWSURTX1NJWkVdOwo+Pj4+PiAt ZXh0ZXJuIGNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgdGdsX3Jldmlkc1tUR0xfUkVW SURTX1NJWkVdOwo+Pj4+PiArZXh0ZXJuIGNvbnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3Mg dGdsX3V5X3JldmlkX3N0ZXBfdGJsW1RHTF9VWV9SRVZJRF9TVEVQX1RCTF9TSVpFXTsKPj4+Pj4g K2V4dGVybiBjb25zdCBzdHJ1Y3QgaTkxNV9yZXZfc3RlcHBpbmdzIHRnbF9yZXZpZF9zdGVwX3Ri bFtUR0xfUkVWSURfU1RFUF9UQkxfU0laRV07Cj4+Pj4+ICAKPj4+Pj4gIHN0YXRpYyBpbmxpbmUg Y29uc3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyAqCj4+Pj4+IC10Z2xfcmV2aWRzX2dldChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+Pj4+ICt0Z2xfc3RlcHBpbmdfZ2V0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+Pj4gIHsKPj4+Pj4gIAl1OCBy ZXZpZCA9IElOVEVMX1JFVklEKGRldl9wcml2KTsKPj4+Pj4gIAl1OCBzaXplOwo+Pj4+PiAtCWNv bnN0IHN0cnVjdCBpOTE1X3Jldl9zdGVwcGluZ3MgKnRnbF9yZXZpZF90Ymw7Cj4+Pj4+ICsJY29u c3Qgc3RydWN0IGk5MTVfcmV2X3N0ZXBwaW5ncyAqcmV2aWRfc3RlcF90Ymw7Cj4+Pj4+ICAKPj4+ Pj4gIAlpZiAoSVNfVEdMX1UoZGV2X3ByaXYpIHx8IElTX1RHTF9ZKGRldl9wcml2KSkgewo+Pj4+ PiAtCQl0Z2xfcmV2aWRfdGJsID0gdGdsX3V5X3JldmlkczsKPj4+Pj4gLQkJc2l6ZSA9IEFSUkFZ X1NJWkUodGdsX3V5X3Jldmlkcyk7Cj4+Pj4+ICsJCXJldmlkX3N0ZXBfdGJsID0gdGdsX3V5X3Jl dmlkX3N0ZXBfdGJsOwo+Pj4+PiArCQlzaXplID0gQVJSQVlfU0laRSh0Z2xfdXlfcmV2aWRfc3Rl cF90YmwpOwo+Pj4+PiAgCX0gZWxzZSB7Cj4+Pj4+IC0JCXRnbF9yZXZpZF90YmwgPSB0Z2xfcmV2 aWRzOwo+Pj4+PiAtCQlzaXplID0gQVJSQVlfU0laRSh0Z2xfcmV2aWRzKTsKPj4+Pj4gKwkJcmV2 aWRfc3RlcF90YmwgPSB0Z2xfcmV2aWRfc3RlcF90Ymw7Cj4+Pj4+ICsJCXNpemUgPSBBUlJBWV9T SVpFKHRnbF9yZXZpZF9zdGVwX3RibCk7Cj4+Pj4+ICAJfQo+Pj4+PiAgCj4+Pj4+ICAJcmV2aWQg PSBtaW5fdCh1OCwgcmV2aWQsIHNpemUgLSAxKTsKPj4+Pj4gIAo+Pj4+PiAtCXJldHVybiAmdGds X3JldmlkX3RibFtyZXZpZF07Cj4+Pj4+ICsJcmV0dXJuICZyZXZpZF9zdGVwX3RibFtyZXZpZF07 Cj4+Pj4+ICB9Cj4+Pj4+ICAKPj4+Pj4gLSNkZWZpbmUgSVNfVEdMX0RJU1BfUkVWSUQocCwgc2lu Y2UsIHVudGlsKSBcCj4+Pj4+ICsjZGVmaW5lIElTX1RHTF9ESVNQX1NURVBQSU5HKHAsIHNpbmNl LCB1bnRpbCkgXAo+Pj4+PiAgCShJU19USUdFUkxBS0UocCkgJiYgXAo+Pj4+PiAtCSB0Z2xfcmV2 aWRzX2dldChwKS0+ZGlzcF9zdGVwcGluZyA+PSAoc2luY2UpICYmIFwKPj4+Pj4gLQkgdGdsX3Jl dmlkc19nZXQocCktPmRpc3Bfc3RlcHBpbmcgPD0gKHVudGlsKSkKPj4+Pj4gKwkgdGdsX3N0ZXBw aW5nX2dldChwKS0+ZGlzcF9zdGVwcGluZyA+PSAoc2luY2UpICYmIFwKPj4+Pj4gKwkgdGdsX3N0 ZXBwaW5nX2dldChwKS0+ZGlzcF9zdGVwcGluZyA8PSAodW50aWwpKQo+Pj4+PiAgCj4+Pj4+IC0j ZGVmaW5lIElTX1RHTF9VWV9HVF9SRVZJRChwLCBzaW5jZSwgdW50aWwpIFwKPj4+Pj4gKyNkZWZp bmUgSVNfVEdMX1VZX0dUX1NURVBQSU5HKHAsIHNpbmNlLCB1bnRpbCkgXAo+Pj4+PiAgCSgoSVNf VEdMX1UocCkgfHwgSVNfVEdMX1kocCkpICYmIFwKPj4+Pj4gLQkgdGdsX3Jldmlkc19nZXQocCkt Pmd0X3N0ZXBwaW5nID49IChzaW5jZSkgJiYgXAo+Pj4+PiAtCSB0Z2xfcmV2aWRzX2dldChwKS0+ Z3Rfc3RlcHBpbmcgPD0gKHVudGlsKSkKPj4+Pj4gKwkgdGdsX3N0ZXBwaW5nX2dldChwKS0+Z3Rf c3RlcHBpbmcgPj0gKHNpbmNlKSAmJiBcCj4+Pj4+ICsJIHRnbF9zdGVwcGluZ19nZXQocCktPmd0 X3N0ZXBwaW5nIDw9ICh1bnRpbCkpCj4+Pj4+ICAKPj4+Pj4gLSNkZWZpbmUgSVNfVEdMX0dUX1JF VklEKHAsIHNpbmNlLCB1bnRpbCkgXAo+Pj4+PiArI2RlZmluZSBJU19UR0xfR1RfU1RFUFBJTkco cCwgc2luY2UsIHVudGlsKSBcCj4+Pj4+ICAJKElTX1RJR0VSTEFLRShwKSAmJiBcCj4+Pj4+ICAJ ICEoSVNfVEdMX1UocCkgfHwgSVNfVEdMX1kocCkpICYmIFwKPj4+Pj4gLQkgdGdsX3Jldmlkc19n ZXQocCktPmd0X3N0ZXBwaW5nID49IChzaW5jZSkgJiYgXAo+Pj4+PiAtCSB0Z2xfcmV2aWRzX2dl dChwKS0+Z3Rfc3RlcHBpbmcgPD0gKHVudGlsKSkKPj4+Pj4gKwkgdGdsX3N0ZXBwaW5nX2dldChw KS0+Z3Rfc3RlcHBpbmcgPj0gKHNpbmNlKSAmJiBcCj4+Pj4+ICsJIHRnbF9zdGVwcGluZ19nZXQo cCktPmd0X3N0ZXBwaW5nIDw9ICh1bnRpbCkpCj4+Pj4+ICAKPj4+Pj4gICNkZWZpbmUgUktMX1JF VklEX0EwCQkweDAKPj4+Pj4gICNkZWZpbmUgUktMX1JFVklEX0IwCQkweDEKPj4+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCj4+Pj4+IGluZGV4IGJiYzczZGY3Zjc1My4uMzE5YWNjYTI2MzBiIDEw MDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+Pj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPj4+Pj4gQEAgLTcxMTAsNyArNzEx MCw3IEBAIHN0YXRpYyB2b2lkIHRnbF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCj4+Pj4+ICAJCSAgIElMS19EUEZDX0NISUNLRU5fQ09NUF9EVU1N WV9QSVhFTCk7Cj4+Pj4+ICAKPj4+Pj4gIAkvKiBXYV8xNDA5ODI1Mzc2OnRnbCAocHJlLXByb2Qp Ki8KPj4+Pj4gLQlpZiAoSVNfVEdMX0RJU1BfUkVWSUQoZGV2X3ByaXYsIFRHTF9SRVZJRF9BMCwg VEdMX1JFVklEX0IxKSkKPj4+Pj4gKwlpZiAoSVNfVEdMX0RJU1BfU1RFUFBJTkcoZGV2X3ByaXYs IFNURVBfQTAsIFNURVBfQjEpKQo+Pj4+PiAgCQlpbnRlbF91bmNvcmVfd3JpdGUoJmRldl9wcml2 LT51bmNvcmUsIEdFTjlfQ0xLR0FURV9ESVNfMywgaW50ZWxfdW5jb3JlX3JlYWQoJmRldl9wcml2 LT51bmNvcmUsIEdFTjlfQ0xLR0FURV9ESVNfMykgfAo+Pj4+PiAgCQkJICAgVEdMX1ZSSF9HQVRJ TkdfRElTKTsKPj4+Pj4gIAo+Pj4+PiAtLSAKPj4+Pj4gMi4yNy4wCj4+Pj4+Cj4+Cj4+IC0tIAo+ PiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCj4gCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK