From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: add for_each_port() and use it Date: Mon, 04 Nov 2019 15:20:42 +0200 Message-ID: <874kzj93rp.fsf@intel.com> References: <20191101134333.11612-1-jani.nikula@intel.com> <20191101141032.GH1208@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 108676E428 for ; Mon, 4 Nov 2019 13:20:47 +0000 (UTC) In-Reply-To: <20191101141032.GH1208@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAwMSBOb3YgMjAxOSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gRnJpLCBOb3YgMDEsIDIwMTkgYXQgMDM6NDM6MzNQTSAr MDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IEFkZCBhbm90aGVyIGZvcl9lYWNoIHN0eWxlIG1h Y3JvIHRvIHRoZSBwaWxlIG9mIGN1c3RvbSBsb29waW5nIG1hY3Jvcy4KPj4gCj4+IFNpZ25lZC1v ZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4KPiBSZXZpZXdlZC1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRoYW5r cywgcHVzaGVkLgoKQlIsCkphbmkuCgo+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9iaW9zLmMgICAgfCA4ICsrKystLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaCB8IDcgKysrKystLQo+PiAgMiBmaWxlcyBjaGFu Z2VkLCA5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYwo+PiBpbmRleCA2M2MxYmQ0YzI5NTQuLmEwM2Y1 NmI3YjRlZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9iaW9zLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9z LmMKPj4gQEAgLTEyNDYsNyArMTI0Niw3IEBAIHN0YXRpYyBlbnVtIHBvcnQgZ2V0X3BvcnRfYnlf ZGRjX3BpbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTggZGRjX3BpbikKPj4gIAlj b25zdCBzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm87Cj4+ICAJZW51bSBwb3J0IHBvcnQ7 Cj4+ICAKPj4gLQlmb3IgKHBvcnQgPSBQT1JUX0E7IHBvcnQgPCBJOTE1X01BWF9QT1JUUzsgcG9y dCsrKSB7Cj4+ICsJZm9yX2VhY2hfcG9ydChwb3J0KSB7Cj4+ICAJCWluZm8gPSAmaTkxNS0+dmJ0 LmRkaV9wb3J0X2luZm9bcG9ydF07Cj4+ICAKPj4gIAkJaWYgKGluZm8tPmNoaWxkICYmIGRkY19w aW4gPT0gaW5mby0+YWx0ZXJuYXRlX2RkY19waW4pCj4+IEBAIC0xMjk3LDcgKzEyOTcsNyBAQCBz dGF0aWMgZW51bSBwb3J0IGdldF9wb3J0X2J5X2F1eF9jaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwgdTggYXV4X2NoKQo+PiAgCWNvbnN0IHN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5mbyAq aW5mbzsKPj4gIAllbnVtIHBvcnQgcG9ydDsKPj4gIAo+PiAtCWZvciAocG9ydCA9IFBPUlRfQTsg cG9ydCA8IEk5MTVfTUFYX1BPUlRTOyBwb3J0KyspIHsKPj4gKwlmb3JfZWFjaF9wb3J0KHBvcnQp IHsKPj4gIAkJaW5mbyA9ICZpOTE1LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XTsKPj4gIAo+PiAg CQlpZiAoaW5mby0+Y2hpbGQgJiYgYXV4X2NoID09IGluZm8tPmFsdGVybmF0ZV9hdXhfY2hhbm5l bCkKPj4gQEAgLTE3MjIsNyArMTcyMiw3IEBAIGluaXRfdmJ0X2RlZmF1bHRzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gIAkJCSFIQVNfUENIX1NQTElUKGRldl9wcml2KSk7 Cj4+ICAJRFJNX0RFQlVHX0tNUygiU2V0IGRlZmF1bHQgdG8gU1NDIGF0ICVkIGtIelxuIiwgZGV2 X3ByaXYtPnZidC5sdmRzX3NzY19mcmVxKTsKPj4gIAo+PiAtCWZvciAocG9ydCA9IFBPUlRfQTsg cG9ydCA8IEk5MTVfTUFYX1BPUlRTOyBwb3J0KyspIHsKPj4gKwlmb3JfZWFjaF9wb3J0KHBvcnQp IHsKPj4gIAkJc3RydWN0IGRkaV92YnRfcG9ydF9pbmZvICppbmZvID0KPj4gIAkJCSZkZXZfcHJp di0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF07Cj4+ICAKPj4gQEAgLTE3MzYsNyArMTczNiw3IEBA IGluaXRfdmJ0X21pc3NpbmdfZGVmYXVsdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+PiAgewo+PiAgCWVudW0gcG9ydCBwb3J0Owo+PiAgCj4+IC0JZm9yIChwb3J0ID0gUE9S VF9BOyBwb3J0IDwgSTkxNV9NQVhfUE9SVFM7IHBvcnQrKykgewo+PiArCWZvcl9lYWNoX3BvcnQo cG9ydCkgewo+PiAgCQlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm8gPQo+PiAgCQkJJmRl dl9wcml2LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XTsKPj4gIAkJZW51bSBwaHkgcGh5ID0gaW50 ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIHBvcnQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaAo+PiBpbmRleCAzNTVjNTAwODg1ODkuLjQ1MjJlZjE2 N2E5MSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmgKPj4gQEAgLTMzMyw4ICszMzMsMTEgQEAgZW51bSBwaHlfZmlhIHsKPj4gIAkgICAgIChf X3MpIDwgUlVOVElNRV9JTkZPKF9fZGV2X3ByaXYpLT5udW1fc3ByaXRlc1soX19wKV07CVwKPj4g IAkgICAgIChfX3MpKyspCj4+ICAKPj4gLSNkZWZpbmUgZm9yX2VhY2hfcG9ydF9tYXNrZWQoX19w b3J0LCBfX3BvcnRzX21hc2spIFwKPj4gLQlmb3IgKChfX3BvcnQpID0gUE9SVF9BOyAoX19wb3J0 KSA8IEk5MTVfTUFYX1BPUlRTOyAoX19wb3J0KSsrKQlcCj4+ICsjZGVmaW5lIGZvcl9lYWNoX3Bv cnQoX19wb3J0KSBcCj4+ICsJZm9yICgoX19wb3J0KSA9IFBPUlRfQTsgKF9fcG9ydCkgPCBJOTE1 X01BWF9QT1JUUzsgKF9fcG9ydCkrKykKPj4gKwo+PiArI2RlZmluZSBmb3JfZWFjaF9wb3J0X21h c2tlZChfX3BvcnQsIF9fcG9ydHNfbWFzaykJCQlcCj4+ICsJZm9yX2VhY2hfcG9ydChfX3BvcnQp CQkJCQkJXAo+PiAgCQlmb3JfZWFjaF9pZigoX19wb3J0c19tYXNrKSAmIEJJVChfX3BvcnQpKQo+ PiAgCj4+ICAjZGVmaW5lIGZvcl9lYWNoX3BoeV9tYXNrZWQoX19waHksIF9fcGh5c19tYXNrKSBc Cj4+IC0tIAo+PiAyLjIwLjEKPj4gCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJj ZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED 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 507EECA9EB5 for ; Mon, 4 Nov 2019 13:20:49 +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 2763A21E6F for ; Mon, 4 Nov 2019 13:20:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2763A21E6F 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 B903D6E438; Mon, 4 Nov 2019 13:20:48 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 108676E428 for ; Mon, 4 Nov 2019 13:20:47 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Nov 2019 05:20:46 -0800 X-IronPort-AV: E=Sophos;i="5.68,267,1569308400"; d="scan'208";a="195450964" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Nov 2019 05:20:44 -0800 From: Jani Nikula To: Ville =?utf-8?B?U3lyasOkbMOk?= In-Reply-To: <20191101141032.GH1208@intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20191101134333.11612-1-jani.nikula@intel.com> <20191101141032.GH1208@intel.com> Date: Mon, 04 Nov 2019 15:20:42 +0200 Message-ID: <874kzj93rp.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH] drm/i915: add for_each_port() and use it X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191104132042.koaBiUZf7hCMuUDB6vdHFtArq6jkKoxCIN3xIiem_Bg@z> T24gRnJpLCAwMSBOb3YgMjAxOSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gRnJpLCBOb3YgMDEsIDIwMTkgYXQgMDM6NDM6MzNQTSAr MDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IEFkZCBhbm90aGVyIGZvcl9lYWNoIHN0eWxlIG1h Y3JvIHRvIHRoZSBwaWxlIG9mIGN1c3RvbSBsb29waW5nIG1hY3Jvcy4KPj4gCj4+IFNpZ25lZC1v ZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4KPiBSZXZpZXdlZC1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRoYW5r cywgcHVzaGVkLgoKQlIsCkphbmkuCgo+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9iaW9zLmMgICAgfCA4ICsrKystLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaCB8IDcgKysrKystLQo+PiAgMiBmaWxlcyBjaGFu Z2VkLCA5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYwo+PiBpbmRleCA2M2MxYmQ0YzI5NTQuLmEwM2Y1 NmI3YjRlZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9iaW9zLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9z LmMKPj4gQEAgLTEyNDYsNyArMTI0Niw3IEBAIHN0YXRpYyBlbnVtIHBvcnQgZ2V0X3BvcnRfYnlf ZGRjX3BpbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTggZGRjX3BpbikKPj4gIAlj b25zdCBzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm87Cj4+ICAJZW51bSBwb3J0IHBvcnQ7 Cj4+ICAKPj4gLQlmb3IgKHBvcnQgPSBQT1JUX0E7IHBvcnQgPCBJOTE1X01BWF9QT1JUUzsgcG9y dCsrKSB7Cj4+ICsJZm9yX2VhY2hfcG9ydChwb3J0KSB7Cj4+ICAJCWluZm8gPSAmaTkxNS0+dmJ0 LmRkaV9wb3J0X2luZm9bcG9ydF07Cj4+ICAKPj4gIAkJaWYgKGluZm8tPmNoaWxkICYmIGRkY19w aW4gPT0gaW5mby0+YWx0ZXJuYXRlX2RkY19waW4pCj4+IEBAIC0xMjk3LDcgKzEyOTcsNyBAQCBz dGF0aWMgZW51bSBwb3J0IGdldF9wb3J0X2J5X2F1eF9jaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwgdTggYXV4X2NoKQo+PiAgCWNvbnN0IHN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5mbyAq aW5mbzsKPj4gIAllbnVtIHBvcnQgcG9ydDsKPj4gIAo+PiAtCWZvciAocG9ydCA9IFBPUlRfQTsg cG9ydCA8IEk5MTVfTUFYX1BPUlRTOyBwb3J0KyspIHsKPj4gKwlmb3JfZWFjaF9wb3J0KHBvcnQp IHsKPj4gIAkJaW5mbyA9ICZpOTE1LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XTsKPj4gIAo+PiAg CQlpZiAoaW5mby0+Y2hpbGQgJiYgYXV4X2NoID09IGluZm8tPmFsdGVybmF0ZV9hdXhfY2hhbm5l bCkKPj4gQEAgLTE3MjIsNyArMTcyMiw3IEBAIGluaXRfdmJ0X2RlZmF1bHRzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gIAkJCSFIQVNfUENIX1NQTElUKGRldl9wcml2KSk7 Cj4+ICAJRFJNX0RFQlVHX0tNUygiU2V0IGRlZmF1bHQgdG8gU1NDIGF0ICVkIGtIelxuIiwgZGV2 X3ByaXYtPnZidC5sdmRzX3NzY19mcmVxKTsKPj4gIAo+PiAtCWZvciAocG9ydCA9IFBPUlRfQTsg cG9ydCA8IEk5MTVfTUFYX1BPUlRTOyBwb3J0KyspIHsKPj4gKwlmb3JfZWFjaF9wb3J0KHBvcnQp IHsKPj4gIAkJc3RydWN0IGRkaV92YnRfcG9ydF9pbmZvICppbmZvID0KPj4gIAkJCSZkZXZfcHJp di0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF07Cj4+ICAKPj4gQEAgLTE3MzYsNyArMTczNiw3IEBA IGluaXRfdmJ0X21pc3NpbmdfZGVmYXVsdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+PiAgewo+PiAgCWVudW0gcG9ydCBwb3J0Owo+PiAgCj4+IC0JZm9yIChwb3J0ID0gUE9S VF9BOyBwb3J0IDwgSTkxNV9NQVhfUE9SVFM7IHBvcnQrKykgewo+PiArCWZvcl9lYWNoX3BvcnQo cG9ydCkgewo+PiAgCQlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm8gPQo+PiAgCQkJJmRl dl9wcml2LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XTsKPj4gIAkJZW51bSBwaHkgcGh5ID0gaW50 ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIHBvcnQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaAo+PiBpbmRleCAzNTVjNTAwODg1ODkuLjQ1MjJlZjE2 N2E5MSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmgKPj4gQEAgLTMzMyw4ICszMzMsMTEgQEAgZW51bSBwaHlfZmlhIHsKPj4gIAkgICAgIChf X3MpIDwgUlVOVElNRV9JTkZPKF9fZGV2X3ByaXYpLT5udW1fc3ByaXRlc1soX19wKV07CVwKPj4g IAkgICAgIChfX3MpKyspCj4+ICAKPj4gLSNkZWZpbmUgZm9yX2VhY2hfcG9ydF9tYXNrZWQoX19w b3J0LCBfX3BvcnRzX21hc2spIFwKPj4gLQlmb3IgKChfX3BvcnQpID0gUE9SVF9BOyAoX19wb3J0 KSA8IEk5MTVfTUFYX1BPUlRTOyAoX19wb3J0KSsrKQlcCj4+ICsjZGVmaW5lIGZvcl9lYWNoX3Bv cnQoX19wb3J0KSBcCj4+ICsJZm9yICgoX19wb3J0KSA9IFBPUlRfQTsgKF9fcG9ydCkgPCBJOTE1 X01BWF9QT1JUUzsgKF9fcG9ydCkrKykKPj4gKwo+PiArI2RlZmluZSBmb3JfZWFjaF9wb3J0X21h c2tlZChfX3BvcnQsIF9fcG9ydHNfbWFzaykJCQlcCj4+ICsJZm9yX2VhY2hfcG9ydChfX3BvcnQp CQkJCQkJXAo+PiAgCQlmb3JfZWFjaF9pZigoX19wb3J0c19tYXNrKSAmIEJJVChfX3BvcnQpKQo+ PiAgCj4+ICAjZGVmaW5lIGZvcl9lYWNoX3BoeV9tYXNrZWQoX19waHksIF9fcGh5c19tYXNrKSBc Cj4+IC0tIAo+PiAyLjIwLjEKPj4gCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJj ZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4