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 8C1E2C433EF for ; Wed, 1 Dec 2021 17:26:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B9CE06E8A0; Wed, 1 Dec 2021 17:26:54 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id DBB4B6E89B for ; Wed, 1 Dec 2021 17:26:52 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10185"; a="217200988" X-IronPort-AV: E=Sophos;i="5.87,279,1631602800"; d="scan'208";a="217200988" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Dec 2021 09:26:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,279,1631602800"; d="scan'208";a="500337910" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga007.jf.intel.com with ESMTP; 01 Dec 2021 09:26:51 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 1 Dec 2021 09:26:51 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 1 Dec 2021 09:26:51 -0800 Received: from orsmsx610.amr.corp.intel.com ([10.22.229.23]) by ORSMSX610.amr.corp.intel.com ([10.22.229.23]) with mapi id 15.01.2308.020; Wed, 1 Dec 2021 09:26:51 -0800 From: "Souza, Jose" To: "ville.syrjala@linux.intel.com" , "intel-gfx@lists.freedesktop.org" Thread-Topic: [Intel-gfx] [PATCH 06/14] drm/i915: Use REG_BIT() & co. for universal plane bits Thread-Index: AQHX5sfdk7IPZKxK70e/mCU8DjKnYqweagmA Date: Wed, 1 Dec 2021 17:26:50 +0000 Message-ID: <445772b856d08ae9b5bf92d54159894b0d86cadf.camel@intel.com> References: <20211201152552.7821-1-ville.syrjala@linux.intel.com> <20211201152552.7821-7-ville.syrjala@linux.intel.com> In-Reply-To: <20211201152552.7821-7-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.200.100] Content-Type: text/plain; charset="utf-8" Content-ID: <069EA762CFBF3F4C9BB77DA813BA3BE3@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 06/14] drm/i915: Use REG_BIT() & co. for universal plane bits 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: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gV2VkLCAyMDIxLTEyLTAxIGF0IDE3OjI1ICswMjAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOg0K PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0K PiANCj4gUG9saXNoIHRoZSBza2wrIHVuaXZlcnNhbCBwbGFuZSByZWdpc3RlciBkZWZpbmVzIGJ5 DQo+IHVzaW5nIFJFR19CSVQoKSAmIGNvLg0KPiANCj4gVGhlIGRlZmluZXMgYXJlIGFsc28gY3Vy cmVudGx5IHNwcmVhZCBhcm91bmQgaW4gc29tZQ0KPiBzZW1pLXJhbmRvbSBmYXNoaW9uLiBDb2xs ZWN0IHRoZW0gdXAgaW50byBvbmUgcGxhY2UuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0KPiAtLS0NCj4gIC4uLi9k cm0vaTkxNS9kaXNwbGF5L3NrbF91bml2ZXJzYWxfcGxhbmUuYyAgICB8ICAzNiArKy0tDQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvcmVnLmggICAgICAgICAgICAgICAgfCAgIDEgLQ0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICAgICAgIHwgMTk3ICsrKysr KysrKystLS0tLS0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAg ICAgICAgIHwgIDEyICstDQo+ICA0IGZpbGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspLCAx MTEgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9za2xfdW5pdmVyc2FsX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L3NrbF91bml2ZXJzYWxfcGxhbmUuYw0KPiBpbmRleCA5ODRiYjM1ZWNmMDYuLjc5OTk4ZWI2 NzI4MCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9za2xfdW5p dmVyc2FsX3BsYW5lLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9za2xf dW5pdmVyc2FsX3BsYW5lLmMNCj4gQEAgLTEwMzcsMTEgKzEwMzcsMTIgQEAgc2tsX3Byb2dyYW1f cGxhbmVfbm9hcm0oc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwNCj4gIAlpZiAocGxhbmVfc3Rh dGUtPmZvcmNlX2JsYWNrKQ0KPiAgCQlpY2xfcGxhbmVfY3NjX2xvYWRfYmxhY2socGxhbmUpOw0K PiAgDQo+IC0JaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIFBMQU5FX1NUUklERShwaXBlLCBw bGFuZV9pZCksIHN0cmlkZSk7DQo+ICsJaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIFBMQU5F X1NUUklERShwaXBlLCBwbGFuZV9pZCksDQo+ICsJCQkgIFBMQU5FX1NUUklERV8oc3RyaWRlKSk7 DQo+ICAJaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIFBMQU5FX1BPUyhwaXBlLCBwbGFuZV9p ZCksDQo+IC0JCQkgIChjcnRjX3kgPDwgMTYpIHwgY3J0Y194KTsNCj4gKwkJCSAgUExBTkVfUE9T X1koY3J0Y195KSB8IFBMQU5FX1BPU19YKGNydGNfeCkpOw0KPiAgCWludGVsX2RlX3dyaXRlX2Z3 KGRldl9wcml2LCBQTEFORV9TSVpFKHBpcGUsIHBsYW5lX2lkKSwNCj4gLQkJCSAgKChzcmNfaCAt IDEpIDw8IDE2KSB8IChzcmNfdyAtIDEpKTsNCj4gKwkJCSAgUExBTkVfSEVJR0hUKHNyY19oIC0g MSkgfCBQTEFORV9XSURUSChzcmNfdyAtIDEpKTsNCj4gIA0KPiAgCWlmIChpbnRlbF9mYl9pc19y Y19jY3NfY2NfbW9kaWZpZXIoZmItPm1vZGlmaWVyKSkgew0KPiAgCQlpbnRlbF9kZV93cml0ZV9m dyhkZXZfcHJpdiwgUExBTkVfQ0NfVkFMKHBpcGUsIHBsYW5lX2lkLCAwKSwNCj4gQEAgLTExMDAs NyArMTEwMSw3IEBAIHNrbF9wcm9ncmFtX3BsYW5lX2FybShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lLA0KPiAgCQkJc2tsX3N1cmZfYWRkcmVzcyhwbGFuZV9zdGF0ZSwgY29sb3JfcGxhbmUpOw0K PiAgDQo+ICAJCWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPCAxMikNCj4gLQkJCWF1eF9kaXN0 IHw9IHNrbF9wbGFuZV9zdHJpZGUocGxhbmVfc3RhdGUsIGF1eF9wbGFuZSk7DQo+ICsJCQlhdXhf ZGlzdCB8PSBQTEFORV9BVVhfU1RSSURFKHNrbF9wbGFuZV9zdHJpZGUocGxhbmVfc3RhdGUsIGF1 eF9wbGFuZSkpOw0KPiAgCX0NCj4gIA0KPiAgCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+ dW5jb3JlLmxvY2ssIGlycWZsYWdzKTsNCj4gQEAgLTExMTEsMTQgKzExMTIsMTQgQEAgc2tsX3By b2dyYW1fcGxhbmVfYXJtKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsDQo+ICAJaW50ZWxfZGVf d3JpdGVfZncoZGV2X3ByaXYsIFBMQU5FX0tFWU1BWChwaXBlLCBwbGFuZV9pZCksIGtleW1heCk7 DQo+ICANCj4gIAlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUExBTkVfT0ZGU0VUKHBpcGUs IHBsYW5lX2lkKSwNCj4gLQkJCSAgKHkgPDwgMTYpIHwgeCk7DQo+ICsJCQkgIFBMQU5FX09GRlNF VF9ZKHkpIHwgUExBTkVfT0ZGU0VUX1goeCkpOw0KPiAgDQo+ICAJaW50ZWxfZGVfd3JpdGVfZnco ZGV2X3ByaXYsIFBMQU5FX0FVWF9ESVNUKHBpcGUsIHBsYW5lX2lkKSwgYXV4X2Rpc3QpOw0KPiAg DQo+ICAJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA8IDExKQ0KPiAgCQlpbnRlbF9kZV93cml0 ZV9mdyhkZXZfcHJpdiwgUExBTkVfQVVYX09GRlNFVChwaXBlLCBwbGFuZV9pZCksDQo+IC0JCQkJ ICAocGxhbmVfc3RhdGUtPnZpZXcuY29sb3JfcGxhbmVbMV0ueSA8PCAxNikgfA0KPiAtCQkJCSAg IHBsYW5lX3N0YXRlLT52aWV3LmNvbG9yX3BsYW5lWzFdLngpOw0KPiArCQkJCSAgUExBTkVfT0ZG U0VUX1kocGxhbmVfc3RhdGUtPnZpZXcuY29sb3JfcGxhbmVbMV0ueSkgfA0KPiArCQkJCSAgUExB TkVfT0ZGU0VUX1gocGxhbmVfc3RhdGUtPnZpZXcuY29sb3JfcGxhbmVbMV0ueCkpOw0KPiAgDQo+ ICAJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSAxMCkNCj4gIAkJaW50ZWxfZGVfd3JpdGVf ZncoZGV2X3ByaXYsIFBMQU5FX0NPTE9SX0NUTChwaXBlLCBwbGFuZV9pZCksIHBsYW5lX2NvbG9y X2N0bCk7DQo+IEBAIC0yMjYyLDE2ICsyMjYzLDE3IEBAIHNrbF9nZXRfaW5pdGlhbF9wbGFuZV9j b25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsDQo+ICAJdmFsID0gaW50ZWxfZGVfcmVhZChk ZXZfcHJpdiwgUExBTkVfQ1RMKHBpcGUsIHBsYW5lX2lkKSk7DQo+ICANCj4gIAlpZiAoRElTUExB WV9WRVIoZGV2X3ByaXYpID49IDExKQ0KPiAtCQlwaXhlbF9mb3JtYXQgPSB2YWwgJiBJQ0xfUExB TkVfQ1RMX0ZPUk1BVF9NQVNLOw0KPiArCQlwaXhlbF9mb3JtYXQgPSB2YWwgJiBQTEFORV9DVExf Rk9STUFUX01BU0tfSUNMOw0KDQpNb3N0IG9mIG91ciBwbGF0Zm9ybSBiaXRzIGRlZmluaXRpb24g Zm9sbG93cyA8cGxhdGZvcm0gb3IgZGlzcGxheSB2ZXI+XzxyZWdpc3RlciBuYW1lPi4NCg0KT3Ro ZXIgdGhhbiB0aGF0IHRoZSBpZGVhIGxvb2tzIGdvb2QgdG8gbWUuDQoNCj4gIAllbHNlDQo+IC0J CXBpeGVsX2Zvcm1hdCA9IHZhbCAmIFBMQU5FX0NUTF9GT1JNQVRfTUFTSzsNCj4gKwkJcGl4ZWxf Zm9ybWF0ID0gdmFsICYgUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTDsNCj4gIA0KPiAgCWlmIChE SVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTApIHsNCj4gLQkJYWxwaGEgPSBpbnRlbF9kZV9yZWFk KGRldl9wcml2LA0KPiAtCQkJCSAgICAgIFBMQU5FX0NPTE9SX0NUTChwaXBlLCBwbGFuZV9pZCkp Ow0KPiAtCQlhbHBoYSAmPSBQTEFORV9DT0xPUl9BTFBIQV9NQVNLOw0KPiArCQl1MzIgY29sb3Jf Y3RsOw0KPiArDQo+ICsJCWNvbG9yX2N0bCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBMQU5F X0NPTE9SX0NUTChwaXBlLCBwbGFuZV9pZCkpOw0KPiArCQlhbHBoYSA9IFJFR19GSUVMRF9HRVQo UExBTkVfQ09MT1JfQUxQSEFfTUFTSywgY29sb3JfY3RsKTsNCj4gIAl9IGVsc2Ugew0KPiAtCQlh bHBoYSA9IHZhbCAmIFBMQU5FX0NUTF9BTFBIQV9NQVNLOw0KPiArCQlhbHBoYSA9IFJFR19GSUVM RF9HRVQoUExBTkVfQ1RMX0FMUEhBX01BU0ssIHZhbCk7DQo+ICAJfQ0KPiAgDQo+ICAJZm91cmNj ID0gc2tsX2Zvcm1hdF90b19mb3VyY2MocGl4ZWxfZm9ybWF0LA0KPiBAQCAtMjMzNSwxOSArMjMz NywxOSBAQCBza2xfZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjLA0KPiAgCWlmIChkcm1fcm90YXRpb25fOTBfb3JfMjcwKHBsYW5lX2NvbmZpZy0+cm90YXRp b24pKQ0KPiAgCQlnb3RvIGVycm9yOw0KPiAgDQo+IC0JYmFzZSA9IGludGVsX2RlX3JlYWQoZGV2 X3ByaXYsIFBMQU5FX1NVUkYocGlwZSwgcGxhbmVfaWQpKSAmIDB4ZmZmZmYwMDA7DQo+ICsJYmFz ZSA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBMQU5FX1NVUkYocGlwZSwgcGxhbmVfaWQpKSAm IFBMQU5FX1NVUkZfQUREUl9NQVNLOw0KPiAgCXBsYW5lX2NvbmZpZy0+YmFzZSA9IGJhc2U7DQo+ ICANCj4gIAlvZmZzZXQgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBQTEFORV9PRkZTRVQocGlw ZSwgcGxhbmVfaWQpKTsNCj4gIA0KPiAgCXZhbCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBM QU5FX1NJWkUocGlwZSwgcGxhbmVfaWQpKTsNCj4gLQlmYi0+aGVpZ2h0ID0gKCh2YWwgPj4gMTYp ICYgMHhmZmZmKSArIDE7DQo+IC0JZmItPndpZHRoID0gKCh2YWwgPj4gMCkgJiAweGZmZmYpICsg MTsNCj4gKwlmYi0+aGVpZ2h0ID0gUkVHX0ZJRUxEX0dFVChQTEFORV9IRUlHSFRfTUFTSywgdmFs KSArIDE7DQo+ICsJZmItPndpZHRoID0gUkVHX0ZJRUxEX0dFVChQTEFORV9XSURUSF9NQVNLLCB2 YWwpICsgMTsNCj4gIA0KPiAgCXZhbCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBMQU5FX1NU UklERShwaXBlLCBwbGFuZV9pZCkpOw0KPiAgCXN0cmlkZV9tdWx0ID0gc2tsX3BsYW5lX3N0cmlk ZV9tdWx0KGZiLCAwLCBEUk1fTU9ERV9ST1RBVEVfMCk7DQo+ICANCj4gLQlmYi0+cGl0Y2hlc1sw XSA9ICh2YWwgJiBQTEFORV9TVFJJREVfTUFTSykgKiBzdHJpZGVfbXVsdDsNCj4gKwlmYi0+cGl0 Y2hlc1swXSA9IFJFR19GSUVMRF9HRVQoUExBTkVfU1RSSURFX19NQVNLLCB2YWwpICogc3RyaWRl X211bHQ7DQo+ICANCj4gIAlhbGlnbmVkX2hlaWdodCA9IGludGVsX2ZiX2FsaWduX2hlaWdodChm YiwgMCwgZmItPmhlaWdodCk7DQo+ICANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9yZWcuaA0KPiBpbmRleCAy NDRjYzczMjBiNTQuLjdkNjY2ZDM0ZjlmZiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L3JlZy5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9yZWcuaA0K PiBAQCAtNjIsNyArNjIsNiBAQA0KPiAgDQo+ICAjZGVmaW5lIFNLTF9GTElQX0VWRU5UKHBpcGUs IHBsYW5lKSAoUFJJTUFSWV9BX0ZMSVBfRE9ORSArIChwbGFuZSkgKiAzICsgKHBpcGUpKQ0KPiAg DQo+IC0jZGVmaW5lIFBMQU5FX0NUTF9BU1lOQ19GTElQCQkoMSA8PCA5KQ0KPiAgI2RlZmluZSBS RUc1MDA4MF9GTElQX1RZUEVfTUFTSwkweDMNCj4gICNkZWZpbmUgUkVHNTAwODBfRkxJUF9UWVBF X0FTWU5DCTB4MQ0KPiAgDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiBpbmRleCA0YjJiYzE3 ZDAyMzUuLjlmZmZhMjM5MmJiZiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+IEBA IC03MjMzLDg0ICs3MjMzLDk5IEBAIGVudW0gew0KPiAgI2RlZmluZSBfUExBTkVfQ1RMXzFfQQkJ CQkweDcwMTgwDQo+ICAjZGVmaW5lIF9QTEFORV9DVExfMl9BCQkJCTB4NzAyODANCj4gICNkZWZp bmUgX1BMQU5FX0NUTF8zX0EJCQkJMHg3MDM4MA0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9FTkFC TEUJCQkoMSA8PCAzMSkNCj4gKyNkZWZpbmUgICBQTEFORV9DVExfRU5BQkxFCQkJUkVHX0JJVCgz MSkNCj4gICNkZWZpbmUgICBQTEFORV9DVExfQVJCX1NMT1RTX01BU0sJCVJFR19HRU5NQVNLKDMw LCAyOCkgLyogaWNsKyAqLw0KPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9BUkJfU0xPVFMoeCkJCVJF R19GSUVMRF9QUkVQKFBMQU5FX0NUTF9BUkJfU0xPVFNfTUFTSywgKHgpKSAvKiBpY2wrICovDQo+ IC0jZGVmaW5lICAgUExBTkVfQ1RMX1BJUEVfR0FNTUFfRU5BQkxFCQkoMSA8PCAzMCkgICAvKiBQ cmUtR0xLICovDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1lVVl9SQU5HRV9DT1JSRUNUSU9OX0RJ U0FCTEUJKDEgPDwgMjgpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1BJUEVfR0FNTUFfRU5BQkxF CQlSRUdfQklUKDMwKSAvKiBQcmUtR0xLICovDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1lVVl9S QU5HRV9DT1JSRUNUSU9OX0RJU0FCTEUJUkVHX0JJVCgyOCkNCj4gIC8qDQo+ICAgKiBJQ0wrIHVz ZXMgdGhlIHNhbWUgUExBTkVfQ1RMX0ZPUk1BVCBiaXRzLCBidXQgdGhlIGZpZWxkIGRlZmluaXRp b24NCj4gICAqIGV4cGFuZGVkIHRvIGluY2x1ZGUgYml0IDIzIGFzIHdlbGwuIEhvd2V2ZXIsIHRo ZSBzaGlmdC0yNCBiYXNlZCB2YWx1ZXMNCj4gICAqIGNvcnJlY3RseSBtYXAgdG8gdGhlIHNhbWUg Zm9ybWF0cyBpbiBJQ0wsIGFzIGxvbmcgYXMgYml0IDIzIGlzIHNldCB0byAwDQo+ICAgKi8NCj4g LSNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX01BU0sJCQkoMHhmIDw8IDI0KQ0KPiAtI2RlZmlu ZSAgIFBMQU5FX0NUTF9GT1JNQVRfWVVWNDIyCQkoMCA8PCAyNCkNCj4gLSNkZWZpbmUgICBQTEFO RV9DVExfRk9STUFUX05WMTIJCQkoMSA8PCAyNCkNCj4gLSNkZWZpbmUgICBQTEFORV9DVExfRk9S TUFUX1hSR0JfMjEwMTAxMAkJKDIgPDwgMjQpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1B VF9QMDEwCQkJKDMgPDwgMjQpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzg4 ODgJCSg0IDw8IDI0KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfUDAxMgkJCSg1IDw8 IDI0KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWFJHQl8xNjE2MTYxNkYJKDYgPDwg MjQpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9QMDE2CQkJKDcgPDwgMjQpDQo+IC0j ZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9YWVVWCQkJKDggPDwgMjQpDQo+IC0jZGVmaW5lICAg UExBTkVfQ1RMX0ZPUk1BVF9JTkRFWEVECQkoMTIgPDwgMjQpDQo+IC0jZGVmaW5lICAgUExBTkVf Q1RMX0ZPUk1BVF9SR0JfNTY1CQkoMTQgPDwgMjQpDQo+IC0jZGVmaW5lICAgSUNMX1BMQU5FX0NU TF9GT1JNQVRfTUFTSwkJKDB4MWYgPDwgMjMpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1BJUEVf Q1NDX0VOQUJMRQkJKDEgPDwgMjMpIC8qIFByZS1HTEsgKi8NCj4gLSNkZWZpbmUgICBQTEFORV9D VExfRk9STUFUX1kyMTAgICAgICAgICAgICAgICAgICgxIDw8IDIzKQ0KPiAtI2RlZmluZSAgIFBM QU5FX0NUTF9GT1JNQVRfWTIxMiAgICAgICAgICAgICAgICAgKDMgPDwgMjMpDQo+IC0jZGVmaW5l ICAgUExBTkVfQ1RMX0ZPUk1BVF9ZMjE2ICAgICAgICAgICAgICAgICAoNSA8PCAyMykNCj4gLSNk ZWZpbmUgICBQTEFORV9DVExfRk9STUFUX1k0MTAgICAgICAgICAgICAgICAgICg3IDw8IDIzKQ0K PiAtI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWTQxMiAgICAgICAgICAgICAgICAgKDkgPDwg MjMpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9ZNDE2ICAgICAgICAgICAgICAgICAo MHhiIDw8IDIzKQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9LRVlfRU5BQkxFX01BU0sJCSgweDMg PDwgMjEpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX0tFWV9FTkFCTEVfU09VUkNFCQkoMSA8PCAy MSkNCj4gLSNkZWZpbmUgICBQTEFORV9DVExfS0VZX0VOQUJMRV9ERVNUSU5BVElPTgkoMiA8PCAy MSkNCj4gLSNkZWZpbmUgICBQTEFORV9DVExfT1JERVJfQkdSWAkJCSgwIDw8IDIwKQ0KPiAtI2Rl ZmluZSAgIFBMQU5FX0NUTF9PUkRFUl9SR0JYCQkJKDEgPDwgMjApDQo+IC0jZGVmaW5lICAgUExB TkVfQ1RMX1lVVjQyMF9ZX1BMQU5FCQkoMSA8PCAxOSkNCj4gLSNkZWZpbmUgICBQTEFORV9DVExf WVVWX1RPX1JHQl9DU0NfRk9STUFUX0JUNzA5CSgxIDw8IDE4KQ0KPiAtI2RlZmluZSAgIFBMQU5F X0NUTF9ZVVY0MjJfT1JERVJfTUFTSwkJKDB4MyA8PCAxNikNCj4gLSNkZWZpbmUgICBQTEFORV9D VExfWVVWNDIyX09SREVSX1lVWVYJCSgwIDw8IDE2KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9Z VVY0MjJfT1JERVJfVVlWWQkJKDEgPDwgMTYpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1lVVjQy Ml9PUkRFUl9ZVllVCQkoMiA8PCAxNikNCj4gLSNkZWZpbmUgICBQTEFORV9DVExfWVVWNDIyX09S REVSX1ZZVVkJCSgzIDw8IDE2KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9SRU5ERVJfREVDT01Q UkVTU0lPTl9FTkFCTEUJKDEgPDwgMTUpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1RSSUNLTEVf RkVFRF9ESVNBQkxFCSgxIDw8IDE0KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9DTEVBUl9DT0xP Ul9ESVNBQkxFCQkoMSA8PCAxMykgLyogVEdMKyAqLw0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9Q TEFORV9HQU1NQV9ESVNBQkxFCQkoMSA8PCAxMykgLyogUHJlLUdMSyAqLw0KPiAtI2RlZmluZSAg IFBMQU5FX0NUTF9USUxFRF9NQVNLCQkJKDB4NyA8PCAxMCkNCj4gLSNkZWZpbmUgICBQTEFORV9D VExfVElMRURfTElORUFSCQkoMCA8PCAxMCkNCj4gLSNkZWZpbmUgICBQTEFORV9DVExfVElMRURf WAkJCSgxIDw8IDEwKQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9ZCQkJKDQgPDwgMTAp DQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1RJTEVEX1lGCQkJKDUgPDwgMTApDQo+IC0jZGVmaW5l ICAgUExBTkVfQ1RMX0FTWU5DX0ZMSVAJCQkoMSA8PCA5KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NU TF9GTElQX0hPUklaT05UQUwJCSgxIDw8IDgpDQo+IC0jZGVmaW5lICAgUExBTkVfQ1RMX01FRElB X0RFQ09NUFJFU1NJT05fRU5BQkxFCSgxIDw8IDQpIC8qIFRHTCsgKi8NCj4gLSNkZWZpbmUgICBQ TEFORV9DVExfQUxQSEFfTUFTSwkJCSgweDMgPDwgNCkgLyogUHJlLUdMSyAqLw0KPiAtI2RlZmlu ZSAgIFBMQU5FX0NUTF9BTFBIQV9ESVNBQkxFCQkoMCA8PCA0KQ0KPiAtI2RlZmluZSAgIFBMQU5F X0NUTF9BTFBIQV9TV19QUkVNVUxUSVBMWQkoMiA8PCA0KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NU TF9BTFBIQV9IV19QUkVNVUxUSVBMWQkoMyA8PCA0KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9S T1RBVEVfTUFTSwkJCTB4Mw0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9ST1RBVEVfMAkJCTB4MA0K PiAtI2RlZmluZSAgIFBMQU5FX0NUTF9ST1RBVEVfOTAJCQkweDENCj4gLSNkZWZpbmUgICBQTEFO RV9DVExfUk9UQVRFXzE4MAkJCTB4Mg0KPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9ST1RBVEVfMjcw CQkJMHgzDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTAkJUkVHX0dFTk1B U0soMjcsIDI0KSAvKiBwcmUtaWNsICovDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9N QVNLX0lDTAkJUkVHX0dFTk1BU0soMjcsIDIzKSAvKiBpY2wrICovDQo+ICsjZGVmaW5lICAgUExB TkVfQ1RMX0ZPUk1BVF9ZVVY0MjIJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9GT1JNQVRfTUFT S19TS0wsIDApDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9OVjEyCQkJUkVHX0ZJRUxE X1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTCwgMSkNCj4gKyNkZWZpbmUgICBQTEFORV9D VExfRk9STUFUX1hSR0JfMjEwMTAxMAkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9N QVNLX1NLTCwgMikNCj4gKyNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX1AwMTAJCQlSRUdfRklF TERfUFJFUChQTEFORV9DVExfRk9STUFUX01BU0tfU0tMLCAzKQ0KPiArI2RlZmluZSAgIFBMQU5F X0NUTF9GT1JNQVRfWFJHQl84ODg4CQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfRk9STUFUX01B U0tfU0tMLCA0KQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfUDAxMgkJCVJFR19GSUVM RF9QUkVQKFBMQU5FX0NUTF9GT1JNQVRfTUFTS19TS0wsIDUpDQo+ICsjZGVmaW5lICAgUExBTkVf Q1RMX0ZPUk1BVF9YUkdCXzE2MTYxNjE2RglSRUdfRklFTERfUFJFUChQTEFORV9DVExfRk9STUFU X01BU0tfU0tMLCA2KQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfUDAxNgkJCVJFR19G SUVMRF9QUkVQKFBMQU5FX0NUTF9GT1JNQVRfTUFTS19TS0wsIDcpDQo+ICsjZGVmaW5lICAgUExB TkVfQ1RMX0ZPUk1BVF9YWVVWCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNL X1NLTCwgOCkNCj4gKyNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX0lOREVYRUQJCVJFR19GSUVM RF9QUkVQKFBMQU5FX0NUTF9GT1JNQVRfTUFTS19TS0wsIDEyKQ0KPiArI2RlZmluZSAgIFBMQU5F X0NUTF9GT1JNQVRfUkdCXzU2NQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNL X1NLTCwgMTQpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9ZMjEwCQkJUkVHX0ZJRUxE X1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTCwgMSkNCj4gKyNkZWZpbmUgICBQTEFORV9D VExfRk9STUFUX1kyMTIJCQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfRk9STUFUX01BU0tfSUNM LCAzKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWTIxNgkJCVJFR19GSUVMRF9QUkVQ KFBMQU5FX0NUTF9GT1JNQVRfTUFTS19JQ0wsIDUpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZP Uk1BVF9ZNDEwCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTCwgNykN Cj4gKyNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX1k0MTIJCQlSRUdfRklFTERfUFJFUChQTEFO RV9DVExfRk9STUFUX01BU0tfSUNMLCA5KQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRf WTQxNgkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9GT1JNQVRfTUFTS19JQ0wsIDExKQ0KPiAr I2RlZmluZSAgIFBMQU5FX0NUTF9QSVBFX0NTQ19FTkFCTEUJCVJFR19CSVQoMjMpIC8qIFByZS1H TEsgKi8NCj4gKyNkZWZpbmUgICBQTEFORV9DVExfS0VZX0VOQUJMRV9NQVNLCQlSRUdfR0VOTUFT SygyMiwgMjEpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0tFWV9FTkFCTEVfU09VUkNFCQlSRUdf RklFTERfUFJFUChQTEFORV9DVExfS0VZX0VOQUJMRV9NQVNLLCAxKQ0KPiArI2RlZmluZSAgIFBM QU5FX0NUTF9LRVlfRU5BQkxFX0RFU1RJTkFUSU9OCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9L RVlfRU5BQkxFX01BU0ssIDIpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX09SREVSX1JHQlgJCQlS RUdfQklUKDIwKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9ZVVY0MjBfWV9QTEFORQkJUkVHX0JJ VCgxOSkNCj4gKyNkZWZpbmUgICBQTEFORV9DVExfWVVWX1RPX1JHQl9DU0NfRk9STUFUX0JUNzA5 CVJFR19CSVQoMTgpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9NQVNLCQlS RUdfR0VOTUFTSygxNywgMTYpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9Z VVlWCQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfWVVWNDIyX09SREVSX01BU0ssIDApDQo+ICsj ZGVmaW5lICAgUExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9VWVZZCQlSRUdfRklFTERfUFJFUChQTEFO RV9DVExfWVVWNDIyX09SREVSX01BU0ssIDEpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1lVVjQy Ml9PUkRFUl9ZVllVCQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfWVVWNDIyX09SREVSX01BU0ss IDIpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9WWVVZCQlSRUdfRklFTERf UFJFUChQTEFORV9DVExfWVVWNDIyX09SREVSX01BU0ssIDMpDQo+ICsjZGVmaW5lICAgUExBTkVf Q1RMX1JFTkRFUl9ERUNPTVBSRVNTSU9OX0VOQUJMRQlSRUdfQklUKDE1KQ0KPiArI2RlZmluZSAg IFBMQU5FX0NUTF9UUklDS0xFX0ZFRURfRElTQUJMRQlSRUdfQklUKDE0KQ0KPiArI2RlZmluZSAg IFBMQU5FX0NUTF9DTEVBUl9DT0xPUl9ESVNBQkxFCQlSRUdfQklUKDEzKSAvKiBUR0wrICovDQo+ ICsjZGVmaW5lICAgUExBTkVfQ1RMX1BMQU5FX0dBTU1BX0RJU0FCTEUJCVJFR19CSVQoMTMpIC8q IFByZS1HTEsgKi8NCj4gKyNkZWZpbmUgICBQTEFORV9DVExfVElMRURfTUFTSwkJCVJFR19HRU5N QVNLKDEyLCAxMCkNCj4gKyNkZWZpbmUgICBQTEFORV9DVExfVElMRURfTElORUFSCQlSRUdfRklF TERfUFJFUChQTEFORV9DVExfVElMRURfTUFTSywgMCkNCj4gKyNkZWZpbmUgICBQTEFORV9DVExf VElMRURfWAkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9USUxFRF9NQVNLLCAxKQ0KPiArI2Rl ZmluZSAgIFBMQU5FX0NUTF9USUxFRF9ZCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX1RJTEVE X01BU0ssIDQpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1RJTEVEX1lGCQkJUkVHX0ZJRUxEX1BS RVAoUExBTkVfQ1RMX1RJTEVEX01BU0ssIDUpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0FTWU5D X0ZMSVAJCQlSRUdfQklUKDkpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZMSVBfSE9SSVpPTlRB TAkJUkVHX0JJVCg4KQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9NRURJQV9ERUNPTVBSRVNTSU9O X0VOQUJMRQlSRUdfQklUKDQpIC8qIFRHTCsgKi8NCj4gKyNkZWZpbmUgICBQTEFORV9DVExfQUxQ SEFfTUFTSwkJCVJFR19HRU5NQVNLKDUsIDQpIC8qIFByZS1HTEsgKi8NCj4gKyNkZWZpbmUgICBQ TEFORV9DVExfQUxQSEFfRElTQUJMRQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0FMUEhBX01B U0ssIDApDQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0FMUEhBX1NXX1BSRU1VTFRJUExZCVJFR19G SUVMRF9QUkVQKFBMQU5FX0NUTF9BTFBIQV9NQVNLLCAyKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NU TF9BTFBIQV9IV19QUkVNVUxUSVBMWQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfQUxQSEFfTUFT SywgMykNCj4gKyNkZWZpbmUgICBQTEFORV9DVExfUk9UQVRFX01BU0sJCQlSRUdfR0VOTUFTSygx LCAwKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9ST1RBVEVfMAkJCVJFR19GSUVMRF9QUkVQKFBM QU5FX0NUTF9ST1RBVEVfTUFTSywgMCkNCj4gKyNkZWZpbmUgICBQTEFORV9DVExfUk9UQVRFXzkw CQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX1JPVEFURV9NQVNLLCAxKQ0KPiArI2RlZmluZSAg IFBMQU5FX0NUTF9ST1RBVEVfMTgwCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX1JPVEFURV9N QVNLLCAyKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NUTF9ST1RBVEVfMjcwCQkJUkVHX0ZJRUxEX1BS RVAoUExBTkVfQ1RMX1JPVEFURV9NQVNLLCAzKQ0KPiAgI2RlZmluZSBfUExBTkVfU1RSSURFXzFf QQkJCTB4NzAxODgNCj4gICNkZWZpbmUgX1BMQU5FX1NUUklERV8yX0EJCQkweDcwMjg4DQo+ICAj ZGVmaW5lIF9QTEFORV9TVFJJREVfM19BCQkJMHg3MDM4OA0KPiArI2RlZmluZSAgIFBMQU5FX1NU UklERV9fTUFTSwkJCVJFR19HRU5NQVNLKDExLCAwKQ0KPiArI2RlZmluZSAgIFBMQU5FX1NUUklE RV8oc3RyaWRlKQkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX1NUUklERV9fTUFTSywgKHN0cmlkZSkp DQo+ICAjZGVmaW5lIF9QTEFORV9QT1NfMV9BCQkJCTB4NzAxOGMNCj4gICNkZWZpbmUgX1BMQU5F X1BPU18yX0EJCQkJMHg3MDI4Yw0KPiAgI2RlZmluZSBfUExBTkVfUE9TXzNfQQkJCQkweDcwMzhj DQo+ICsjZGVmaW5lICAgUExBTkVfUE9TX1lfTUFTSwkJCVJFR19HRU5NQVNLKDMxLCAxNikNCj4g KyNkZWZpbmUgICBQTEFORV9QT1NfWSh5KQkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX1BPU19ZX01B U0ssICh5KSkNCj4gKyNkZWZpbmUgICBQTEFORV9QT1NfWF9NQVNLCQkJUkVHX0dFTk1BU0soMTUs IDApDQo+ICsjZGVmaW5lICAgUExBTkVfUE9TX1goeCkJCQlSRUdfRklFTERfUFJFUChQTEFORV9Q T1NfWF9NQVNLLCAoeCkpDQo+ICAjZGVmaW5lIF9QTEFORV9TSVpFXzFfQQkJCQkweDcwMTkwDQo+ ICAjZGVmaW5lIF9QTEFORV9TSVpFXzJfQQkJCQkweDcwMjkwDQo+ICAjZGVmaW5lIF9QTEFORV9T SVpFXzNfQQkJCQkweDcwMzkwDQo+ICsjZGVmaW5lICAgUExBTkVfSEVJR0hUX01BU0sJCQlSRUdf R0VOTUFTSygzMSwgMTYpDQo+ICsjZGVmaW5lICAgUExBTkVfSEVJR0hUKGgpCQkJUkVHX0ZJRUxE X1BSRVAoUExBTkVfSEVJR0hUX01BU0ssIChoKSkNCj4gKyNkZWZpbmUgICBQTEFORV9XSURUSF9N QVNLCQkJUkVHX0dFTk1BU0soMTUsIDApDQo+ICsjZGVmaW5lICAgUExBTkVfV0lEVEgodykJCQlS RUdfRklFTERfUFJFUChQTEFORV9XSURUSF9NQVNLLCAodykpDQo+ICAjZGVmaW5lIF9QTEFORV9T VVJGXzFfQQkJCQkweDcwMTljDQo+ICAjZGVmaW5lIF9QTEFORV9TVVJGXzJfQQkJCQkweDcwMjlj DQo+ICAjZGVmaW5lIF9QTEFORV9TVVJGXzNfQQkJCQkweDcwMzljDQo+ICsjZGVmaW5lICAgUExB TkVfU1VSRl9BRERSX01BU0sJCQlSRUdfR0VOTUFTSygzMSwgMTIpDQo+ICsjZGVmaW5lICAgUExB TkVfU1VSRl9ERUNSWVBUCQkJUkVHX0JJVCgyKQ0KPiAgI2RlZmluZSBfUExBTkVfT0ZGU0VUXzFf QQkJCTB4NzAxYTQNCj4gICNkZWZpbmUgX1BMQU5FX09GRlNFVF8yX0EJCQkweDcwMmE0DQo+ICAj ZGVmaW5lIF9QTEFORV9PRkZTRVRfM19BCQkJMHg3MDNhNA0KPiArI2RlZmluZSAgIFBMQU5FX09G RlNFVF9ZX01BU0sJCQlSRUdfR0VOTUFTSygzMSwgMTYpDQo+ICsjZGVmaW5lICAgUExBTkVfT0ZG U0VUX1koeSkJCQlSRUdfRklFTERfUFJFUChQTEFORV9PRkZTRVRfWV9NQVNLLCAoeSkpDQo+ICsj ZGVmaW5lICAgUExBTkVfT0ZGU0VUX1hfTUFTSwkJCVJFR19HRU5NQVNLKDE1LCAwKQ0KPiArI2Rl ZmluZSAgIFBMQU5FX09GRlNFVF9YKHgpCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfT0ZGU0VUX1hf TUFTSywgKHgpKQ0KPiAgI2RlZmluZSBfUExBTkVfS0VZVkFMXzFfQQkJCTB4NzAxOTQNCj4gICNk ZWZpbmUgX1BMQU5FX0tFWVZBTF8yX0EJCQkweDcwMjk0DQo+ICAjZGVmaW5lIF9QTEFORV9LRVlN U0tfMV9BCQkJMHg3MDE5OA0KPiBAQCAtNzMyMiw0MiArNzMzNyw0OSBAQCBlbnVtIHsNCj4gICNk ZWZpbmUgX1BMQU5FX0NDX1ZBTF8xX0EJCQkweDcwMWI0DQo+ICAjZGVmaW5lIF9QTEFORV9DQ19W QUxfMl9BCQkJMHg3MDJiNA0KPiAgI2RlZmluZSBfUExBTkVfQVVYX0RJU1RfMV9BCQkJMHg3MDFj MA0KPiArI2RlZmluZSAgIFBMQU5FX0FVWF9ESVNUQU5DRV9NQVNLCQlSRUdfR0VOTUFTSygzMSwg MTIpDQo+ICsjZGVmaW5lICAgUExBTkVfQVVYX1NUUklERV9NQVNLCQkJUkVHX0dFTk1BU0soMTEs IDApDQo+ICsjZGVmaW5lICAgUExBTkVfQVVYX1NUUklERShzdHJpZGUpCQlSRUdfRklFTERfUFJF UChQTEFORV9BVVhfU1RSSURFX01BU0ssIChzdHJpZGUpKQ0KPiAgI2RlZmluZSBfUExBTkVfQVVY X0RJU1RfMl9BCQkJMHg3MDJjMA0KPiAgI2RlZmluZSBfUExBTkVfQVVYX09GRlNFVF8xX0EJCQkw eDcwMWM0DQo+ICAjZGVmaW5lIF9QTEFORV9BVVhfT0ZGU0VUXzJfQQkJCTB4NzAyYzQNCj4gICNk ZWZpbmUgX1BMQU5FX0NVU19DVExfMV9BCQkJMHg3MDFjOA0KPiAgI2RlZmluZSBfUExBTkVfQ1VT X0NUTF8yX0EJCQkweDcwMmM4DQo+IC0jZGVmaW5lICBQTEFORV9DVVNfRU5BQkxFCQkJKDEgPDwg MzEpDQo+IC0jZGVmaW5lICBQTEFORV9DVVNfWV9QTEFORV80X1JLTAkJKDAgPDwgMzApDQo+IC0j ZGVmaW5lICBQTEFORV9DVVNfWV9QTEFORV81X1JLTAkJKDEgPDwgMzApDQo+IC0jZGVmaW5lICBQ TEFORV9DVVNfWV9QTEFORV82X0lDTAkJKDAgPDwgMzApDQo+IC0jZGVmaW5lICBQTEFORV9DVVNf WV9QTEFORV83X0lDTAkJKDEgPDwgMzApDQo+IC0jZGVmaW5lICBQTEFORV9DVVNfSFBIQVNFX1NJ R05fTkVHQVRJVkUJCSgxIDw8IDE5KQ0KPiAtI2RlZmluZSAgUExBTkVfQ1VTX0hQSEFTRV8wCQkJ KDAgPDwgMTYpDQo+IC0jZGVmaW5lICBQTEFORV9DVVNfSFBIQVNFXzBfMjUJCQkoMSA8PCAxNikN Cj4gLSNkZWZpbmUgIFBMQU5FX0NVU19IUEhBU0VfMF81CQkJKDIgPDwgMTYpDQo+IC0jZGVmaW5l ICBQTEFORV9DVVNfVlBIQVNFX1NJR05fTkVHQVRJVkUJCSgxIDw8IDE1KQ0KPiAtI2RlZmluZSAg UExBTkVfQ1VTX1ZQSEFTRV8wCQkJKDAgPDwgMTIpDQo+IC0jZGVmaW5lICBQTEFORV9DVVNfVlBI QVNFXzBfMjUJCQkoMSA8PCAxMikNCj4gLSNkZWZpbmUgIFBMQU5FX0NVU19WUEhBU0VfMF81CQkJ KDIgPDwgMTIpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1VTX0VOQUJMRQkJCVJFR19CSVQoMzEpDQo+ ICsjZGVmaW5lICAgUExBTkVfQ1VTX1lfUExBTkVfTUFTSwkJCVJFR19CSVQoMzApDQo+ICsjZGVm aW5lICAgUExBTkVfQ1VTX1lfUExBTkVfNF9SS0wJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NVU19Z X1BMQU5FX01BU0ssIDApDQo+ICsjZGVmaW5lICAgUExBTkVfQ1VTX1lfUExBTkVfNV9SS0wJCVJF R19GSUVMRF9QUkVQKFBMQU5FX0NVU19ZX1BMQU5FX01BU0ssIDEpDQo+ICsjZGVmaW5lICAgUExB TkVfQ1VTX1lfUExBTkVfNl9JQ0wJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NVU19ZX1BMQU5FX01B U0ssIDApDQo+ICsjZGVmaW5lICAgUExBTkVfQ1VTX1lfUExBTkVfN19JQ0wJCVJFR19GSUVMRF9Q UkVQKFBMQU5FX0NVU19ZX1BMQU5FX01BU0ssIDEpDQo+ICsjZGVmaW5lICAgUExBTkVfQ1VTX0hQ SEFTRV9TSUdOX05FR0FUSVZFCQlSRUdfQklUKDE5KQ0KPiArI2RlZmluZSAgIFBMQU5FX0NVU19I UEhBU0VfTUFTSwkJCVJFR19HRU5NQVNLKDE3LCAxNikNCj4gKyNkZWZpbmUgICBQTEFORV9DVVNf SFBIQVNFXzAJCQlSRUdfRklFTERfUFJFUChQTEFORV9DVVNfSFBIQVNFX01BU0ssIDApDQo+ICsj ZGVmaW5lICAgUExBTkVfQ1VTX0hQSEFTRV8wXzI1CQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1VT X0hQSEFTRV9NQVNLLCAxKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NVU19IUEhBU0VfMF81CQkJUkVH X0ZJRUxEX1BSRVAoUExBTkVfQ1VTX0hQSEFTRV9NQVNLLCAyKQ0KPiArI2RlZmluZSAgIFBMQU5F X0NVU19WUEhBU0VfU0lHTl9ORUdBVElWRQkJUkVHX0JJVCgxNSkNCj4gKyNkZWZpbmUgICBQTEFO RV9DVVNfVlBIQVNFX01BU0sJCQlSRUdfR0VOTUFTSygxMywgMTIpDQo+ICsjZGVmaW5lICAgUExB TkVfQ1VTX1ZQSEFTRV8wCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1VTX1ZQSEFTRV9NQVNLLCAw KQ0KPiArI2RlZmluZSAgIFBMQU5FX0NVU19WUEhBU0VfMF8yNQkJCVJFR19GSUVMRF9QUkVQKFBM QU5FX0NVU19WUEhBU0VfTUFTSywgMSkNCj4gKyNkZWZpbmUgICBQTEFORV9DVVNfVlBIQVNFXzBf NQkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NVU19WUEhBU0VfTUFTSywgMikNCj4gICNkZWZpbmUg X1BMQU5FX0NPTE9SX0NUTF8xX0EJCQkweDcwMUNDIC8qIEdMSysgKi8NCj4gICNkZWZpbmUgX1BM QU5FX0NPTE9SX0NUTF8yX0EJCQkweDcwMkNDIC8qIEdMSysgKi8NCj4gICNkZWZpbmUgX1BMQU5F X0NPTE9SX0NUTF8zX0EJCQkweDcwM0NDIC8qIEdMSysgKi8NCj4gLSNkZWZpbmUgICBQTEFORV9D T0xPUl9QSVBFX0dBTU1BX0VOQUJMRQkJKDEgPDwgMzApIC8qIFByZS1JQ0wgKi8NCj4gLSNkZWZp bmUgICBQTEFORV9DT0xPUl9ZVVZfUkFOR0VfQ09SUkVDVElPTl9ESVNBQkxFCSgxIDw8IDI4KQ0K PiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX1BJUEVfR0FNTUFfRU5BQkxFCQkJUkVHX0JJVCgzMCkg LyogUHJlLUlDTCAqLw0KPiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX1lVVl9SQU5HRV9DT1JSRUNU SU9OX0RJU0FCTEUJUkVHX0JJVCgyOCkNCj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9QSVBFX0NT Q19FTkFCTEUJCQlSRUdfQklUKDIzKSAvKiBQcmUtSUNMICovDQo+ICAjZGVmaW5lICAgUExBTkVf Q09MT1JfUExBTkVfQ1NDX0VOQUJMRQkJCVJFR19CSVQoMjEpIC8qIElDTCsgKi8NCj4gLSNkZWZp bmUgICBQTEFORV9DT0xPUl9JTlBVVF9DU0NfRU5BQkxFCQkoMSA8PCAyMCkgLyogSUNMKyAqLw0K PiAtI2RlZmluZSAgIFBMQU5FX0NPTE9SX1BJUEVfQ1NDX0VOQUJMRQkJKDEgPDwgMjMpIC8qIFBy ZS1JQ0wgKi8NCj4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9DU0NfTU9ERV9CWVBBU1MJCQkoMCA8 PCAxNykNCj4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9DU0NfTU9ERV9ZVVY2MDFfVE9fUkdCNjAx CQkoMSA8PCAxNykNCj4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9DU0NfTU9ERV9ZVVY3MDlfVE9f UkdCNzA5CQkoMiA8PCAxNykNCj4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9DU0NfTU9ERV9ZVVYy MDIwX1RPX1JHQjIwMjAJKDMgPDwgMTcpDQo+IC0jZGVmaW5lICAgUExBTkVfQ09MT1JfQ1NDX01P REVfUkdCNzA5X1RPX1JHQjIwMjAJKDQgPDwgMTcpDQo+IC0jZGVmaW5lICAgUExBTkVfQ09MT1Jf UExBTkVfR0FNTUFfRElTQUJMRQkoMSA8PCAxMykNCj4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9B TFBIQV9NQVNLCQkoMHgzIDw8IDQpDQo+IC0jZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFfRElT QUJMRQkJKDAgPDwgNCkNCj4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9BTFBIQV9TV19QUkVNVUxU SVBMWQkoMiA8PCA0KQ0KPiAtI2RlZmluZSAgIFBMQU5FX0NPTE9SX0FMUEhBX0hXX1BSRU1VTFRJ UExZCSgzIDw8IDQpDQo+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfSU5QVVRfQ1NDX0VOQUJMRQkJ CVJFR19CSVQoMjApIC8qIElDTCsgKi8NCj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9DU0NfTU9E RV9NQVNLCQkJUkVHX0dFTk1BU0soMTksIDE3KQ0KPiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX0NT Q19NT0RFX0JZUEFTUwkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NPTE9SX0NTQ19NT0RFX01BU0ss IDApDQo+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfQ1NDX01PREVfWVVWNjAxX1RPX1JHQjYwMQkJ UkVHX0ZJRUxEX1BSRVAoUExBTkVfQ09MT1JfQ1NDX01PREVfTUFTSywgMSkNCj4gKyNkZWZpbmUg ICBQTEFORV9DT0xPUl9DU0NfTU9ERV9ZVVY3MDlfVE9fUkdCNzA5CQlSRUdfRklFTERfUFJFUChQ TEFORV9DT0xPUl9DU0NfTU9ERV9NQVNLLCAyKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX0NT Q19NT0RFX1lVVjIwMjBfVE9fUkdCMjAyMAlSRUdfRklFTERfUFJFUChQTEFORV9DT0xPUl9DU0Nf TU9ERV9NQVNLLCAzKQ0KPiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX0NTQ19NT0RFX1JHQjcwOV9U T19SR0IyMDIwCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NPTE9SX0NTQ19NT0RFX01BU0ssIDQpDQo+ ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfUExBTkVfR0FNTUFfRElTQUJMRQkJUkVHX0JJVCgxMykN Cj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9BTFBIQV9NQVNLCQkJUkVHX0dFTk1BU0soNSwgNCkN Cj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9BTFBIQV9ESVNBQkxFCQkJUkVHX0ZJRUxEX1BSRVAo UExBTkVfQ09MT1JfQUxQSEFfTUFTSywgMCkNCj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9BTFBI QV9TV19QUkVNVUxUSVBMWQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ09MT1JfQUxQSEFfTUFTSywg MikNCj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9BTFBIQV9IV19QUkVNVUxUSVBMWQkJUkVHX0ZJ RUxEX1BSRVAoUExBTkVfQ09MT1JfQUxQSEFfTUFTSywgMykNCj4gICNkZWZpbmUgX1BMQU5FX0JV Rl9DRkdfMV9BCQkJMHg3MDI3Yw0KPiAgI2RlZmluZSBfUExBTkVfQlVGX0NGR18yX0EJCQkweDcw MzdjDQo+ICAjZGVmaW5lIF9QTEFORV9OVjEyX0JVRl9DRkdfMV9BCQkweDcwMjc4DQo+IEBAIC03 NDQwLDcgKzc0NjIsNiBAQCBlbnVtIHsNCj4gIAlfUElQRShwaXBlLCBfUExBTkVfU1RSSURFXzNf QSwgX1BMQU5FX1NUUklERV8zX0IpDQo+ICAjZGVmaW5lIFBMQU5FX1NUUklERShwaXBlLCBwbGFu ZSkJXA0KPiAgCV9NTUlPX1BMQU5FKHBsYW5lLCBfUExBTkVfU1RSSURFXzEocGlwZSksIF9QTEFO RV9TVFJJREVfMihwaXBlKSkNCj4gLSNkZWZpbmUgUExBTkVfU1RSSURFX01BU0sJCVJFR19HRU5N QVNLKDExLCAwKQ0KPiAgDQo+ICAjZGVmaW5lIF9QTEFORV9QT1NfMV9CCQkJCTB4NzExOGMNCj4g ICNkZWZpbmUgX1BMQU5FX1BPU18yX0IJCQkJMHg3MTI4Yw0KPiBAQCAtNzQ2OCw3ICs3NDg5LDYg QEAgZW51bSB7DQo+ICAjZGVmaW5lIF9QTEFORV9TVVJGXzMocGlwZSkJX1BJUEUocGlwZSwgX1BM QU5FX1NVUkZfM19BLCBfUExBTkVfU1VSRl8zX0IpDQo+ICAjZGVmaW5lIFBMQU5FX1NVUkYocGlw ZSwgcGxhbmUpCVwNCj4gIAlfTU1JT19QTEFORShwbGFuZSwgX1BMQU5FX1NVUkZfMShwaXBlKSwg X1BMQU5FX1NVUkZfMihwaXBlKSkNCj4gLSNkZWZpbmUgICBQTEFORV9TVVJGX0RFQ1JZUFQJCQlS RUdfQklUKDIpDQo+ICANCj4gICNkZWZpbmUgX1BMQU5FX09GRlNFVF8xX0IJCQkweDcxMWE0DQo+ ICAjZGVmaW5lIF9QTEFORV9PRkZTRVRfMl9CCQkJMHg3MTJhNA0KPiBAQCAtNzUwMCw4ICs3NTIw LDExIEBAIGVudW0gew0KPiAgDQo+ICAjZGVmaW5lIF9QTEFORV9CVUZfQ0ZHXzFfQgkJCTB4NzEy N2MNCj4gICNkZWZpbmUgX1BMQU5FX0JVRl9DRkdfMl9CCQkJMHg3MTM3Yw0KPiAtI2RlZmluZSAg RERCX0VOVFJZX01BU0sJCQkJMHhGRkYgLyogc2tsKzogMTAgYml0cywgaWNsKyAxMSBiaXRzLCBh ZGxwKyAxMiBiaXRzICovDQo+IC0jZGVmaW5lICBEREJfRU5UUllfRU5EX1NISUZUCQkJMTYNCj4g Ky8qIHNrbCs6IDEwIGJpdHMsIGljbCsgMTEgYml0cywgYWRscCsgMTIgYml0cyAqLw0KPiArI2Rl ZmluZSAgIFBMQU5FX0JVRl9FTkRfTUFTSwkJUkVHX0dFTk1BU0soMjcsIDE2KQ0KPiArI2RlZmlu ZSAgIFBMQU5FX0JVRl9FTkQoZW5kKQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQlVGX0VORF9NQVNL LCAoZW5kKSkNCj4gKyNkZWZpbmUgICBQTEFORV9CVUZfU1RBUlRfTUFTSwkJUkVHX0dFTk1BU0so MTEsIDApDQo+ICsjZGVmaW5lICAgUExBTkVfQlVGX1NUQVJUKHN0YXJ0KQlSRUdfRklFTERfUFJF UChQTEFORV9CVUZfU1RBUlRfTUFTSywgKHN0YXJ0KSkNCj4gICNkZWZpbmUgX1BMQU5FX0JVRl9D RkdfMShwaXBlKQlcDQo+ICAJX1BJUEUocGlwZSwgX1BMQU5FX0JVRl9DRkdfMV9BLCBfUExBTkVf QlVGX0NGR18xX0IpDQo+ICAjZGVmaW5lIF9QTEFORV9CVUZfQ0ZHXzIocGlwZSkJXA0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMNCj4gaW5kZXggY2ZmMGYzMmJlZGM5Li43ZjAwZmQyZjYyYTAgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMNCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYw0KPiBAQCAtNDI4MywxMSArNDI4MywxMCBAQCBz a2xfY3Vyc29yX2FsbG9jYXRpb24oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsDQo+ICBzdGF0aWMgdm9pZCBza2xfZGRiX2VudHJ5X2luaXRfZnJvbV9odyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ICAJCQkJICAgICAgIHN0cnVjdCBza2xfZGRi X2VudHJ5ICplbnRyeSwgdTMyIHJlZykNCj4gIHsNCj4gLQllbnRyeS0+c3RhcnQgPSByZWcgJiBE REJfRU5UUllfTUFTSzsNCj4gLQllbnRyeS0+ZW5kID0gKHJlZyA+PiBEREJfRU5UUllfRU5EX1NI SUZUKSAmIEREQl9FTlRSWV9NQVNLOw0KPiAtDQo+ICsJZW50cnktPnN0YXJ0ID0gUkVHX0ZJRUxE X0dFVChQTEFORV9CVUZfU1RBUlRfTUFTSywgcmVnKTsNCj4gKwllbnRyeS0+ZW5kID0gUkVHX0ZJ RUxEX0dFVChQTEFORV9CVUZfRU5EX01BU0ssIHJlZyk7DQo+ICAJaWYgKGVudHJ5LT5lbmQpDQo+ IC0JCWVudHJ5LT5lbmQgKz0gMTsNCj4gKwkJZW50cnktPmVuZCsrOw0KPiAgfQ0KPiAgDQo+ICBz dGF0aWMgdm9pZA0KPiBAQCAtNDMxMSw3ICs0MzEwLDcgQEAgc2tsX2RkYl9nZXRfaHdfcGxhbmVf c3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiAgDQo+ICAJLyogTm8g RERCIGFsbG9jYXRlZCBmb3IgZGlzYWJsZWQgcGxhbmVzICovDQo+ICAJaWYgKHZhbCAmIFBMQU5F X0NUTF9FTkFCTEUpDQo+IC0JCWZvdXJjYyA9IHNrbF9mb3JtYXRfdG9fZm91cmNjKHZhbCAmIFBM QU5FX0NUTF9GT1JNQVRfTUFTSywNCj4gKwkJZm91cmNjID0gc2tsX2Zvcm1hdF90b19mb3VyY2Mo dmFsICYgUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTCwNCj4gIAkJCQkJICAgICAgdmFsICYgUExB TkVfQ1RMX09SREVSX1JHQlgsDQo+ICAJCQkJCSAgICAgIHZhbCAmIFBMQU5FX0NUTF9BTFBIQV9N QVNLKTsNCj4gIA0KPiBAQCAtNTg4Miw3ICs1ODgxLDggQEAgc3RhdGljIHZvaWQgc2tsX2RkYl9l bnRyeV93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ICB7DQo+ICAJ aWYgKGVudHJ5LT5lbmQpDQo+ICAJCWludGVsX2RlX3dyaXRlX2Z3KGRldl9wcml2LCByZWcsDQo+ IC0JCQkJICAoZW50cnktPmVuZCAtIDEpIDw8IDE2IHwgZW50cnktPnN0YXJ0KTsNCj4gKwkJCQkg IFBMQU5FX0JVRl9FTkQoZW50cnktPmVuZCAtIDEpIHwNCj4gKwkJCQkgIFBMQU5FX0JVRl9TVEFS VChlbnRyeS0+c3RhcnQpKTsNCj4gIAllbHNlDQo+ICAJCWludGVsX2RlX3dyaXRlX2Z3KGRldl9w cml2LCByZWcsIDApOw0KPiAgfQ0KDQo=