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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 8694EC44512 for ; Sun, 19 Jul 2026 12:41:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=W4M/ri+Nbl9wksgasZiv6wILxZihWH9VDDgcNFupEs8=; b=XeFl41olCNyLax PAT9RmArcZuTjc/q7RUTCjuJKOc8Ax5zOecHGIZogN63U/8DNrcrX6kMx7HN/sNV3EDxKqVCwDKEF bYgwcyHvxu8l+Tk3z7chubgBPFfQODsx87hDJ5IYuQPbmI2ZAwXKGQ75gy4jiExZ33y7vjXg1JgUv fnU9gpYFQiev1PXU31VMhaNi0RKQw0ONYfI5gtRLwcnMpOxwOXrUsaAe+nuJW6N5iMoFGVYz/mpzP W6WdE74WLbCKTLaBkFEeMaUYpJHfaHsJbl+fZIRkwLL+XkTPfgwYNnNGHwgUXOGku8lMc9VX4Toa8 pHtOUkZ7S/FsGSSw+CYw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wlQpl-0000000504D-226i; Sun, 19 Jul 2026 12:41:30 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wlQpj-00000005047-2Ny7 for linux-phy@lists.infradead.org; Sun, 19 Jul 2026 12:41:27 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id C71C9409A7; Sun, 19 Jul 2026 12:41:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 397901F000E9; Sun, 19 Jul 2026 12:41:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784464886; bh=GeFBb3N9J34UxhGdOzpnMX394XWwhLeCIgGjXNPJDAg=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=lzcqtF82MLvka/W9fXL3v3J/L/8ourKoMKWZEbCExBHry7OG3xnGHyaT1of5RIdPc iMr/6KA4DMK463DpWDtKIkbH0fz2mhQtHxShL0mUKntp0wi6T4+yu8YyeLqLuRGH+Q kV5xRkBchyH0CTxLYzgU+6TqOYdI2D+YnLjCaCLZ7H1nHDRo5dJU5Q9fyM6M1lLf4S T5m1MFduFHEhNlA0ae0p1MP6Vmh4ymFS0ne4bkosVS9vjjPzq4AAlCzxlwFFV/HTNF 0grvp32iy4rEa1HhemDiqP7OLAi9iOyVgwayOg2/0efzKpQx50vJKPO1b89Hh1N85Q KnLXCe2dASUHA== From: sashiko-bot@kernel.org Subject: Re: [PATCH v11 2/2] phy: qcom-mipi-csi2: Add a CSI2 MIPI DPHY driver To: =?utf-8?b?QnJ5YW4gTydEb25vZ2h1ZQ==?= Cc: linux-phy@lists.infradead.org, conor+dt@kernel.org, neil.armstrong@linaro.org, vkoul@kernel.org, media-ci@linuxtv.org, olteanv@gmail.com, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20260719-x1e-csi2-phy-v11-2-9d0a1ed0632d@linaro.org> References: <20260719-x1e-csi2-phy-v11-0-9d0a1ed0632d@linaro.org> <20260719-x1e-csi2-phy-v11-2-9d0a1ed0632d@linaro.org> Date: Sun, 19 Jul 2026 12:41:25 +0000 Message-Id: <20260719124126.397901F000E9@smtp.kernel.org> X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIEluc3VmZmljaWVudCB2 YWxpZGF0aW9uIG9mIHRoZSBgZGF0YS1sYW5lc2AgcHJvcGVydHkgYWxsb3dzIHZhbHVlcyB1cCB0 byA3LCBsZWFkaW5nIHRvIGludGVnZXIgdHJ1bmNhdGlvbiBhbmQgb3V0LW9mLWJvdW5kcyBNTUlP IHdyaXRlcyBpbnRvIGNvbW1vbiBQSFkgcmVnaXN0ZXJzLgotIFtNZWRpdW1dIFRoZSBkcml2ZXIg c3RhdGljYWxseSBjb25maWd1cmVzIGxhbmVzIGJhc2VkIG9uIHRoZSBkZXZpY2UgdHJlZSBpbnN0 ZWFkIG9mIHJlc3BlY3RpbmcgZHluYW1pYyBgZHBoeV9jZmctPmxhbmVzYCByZXF1ZXN0cywgdmlv bGF0aW5nIHRoZSBNSVBJIEQtUEhZIEFQSSBjb250cmFjdC4KLSBbTWVkaXVtXSBTZXR0aW5nIGxh bmUgcG9sYXJpdHkgdW5jb25kaXRpb25hbGx5IG92ZXJ3cml0ZXMgdGhlIGVudGlyZSBgQ1RSTDlg IHJlZ2lzdGVyIGluc3RlYWQgb2YgcGVyZm9ybWluZyBhIHJlYWQtbW9kaWZ5LXdyaXRlLgotIFtM b3ddIFVubWFza2VkIGFzc2lnbm1lbnQgb2YgdGhlIGZpcnN0IGJ5dGUgaW4gYGh3X3ZlcnNpb25g IG1heSBjb3JydXB0IHRoZSBmaW5hbCB2YWx1ZSB3aXRoIHVuZGVmaW5lZCB1cHBlciBiaXRzLgot LQoKLS0tIFBhdGNoIFsyXTogW1BBVENIIHYxMSAyLzJdIHBoeTogcWNvbS1taXBpLWNzaTI6IEFk ZCBhIENTSTIgTUlQSSBEUEhZIGRyaXZlciAtLS0KY29tbWl0IGNmZjAyZjY1MDgzOThkZjRmMjU0 YzY3NWIzNTgwYzNjODQ4ZTE3YzIKQXV0aG9yOiBCcnlhbiBPJ0Rvbm9naHVlIDxicnlhbi5vZG9u b2dodWVAbGluYXJvLm9yZz4KU3ViamVjdDogcGh5OiBxY29tLW1pcGktY3NpMjogQWRkIGEgQ1NJ MiBNSVBJIERQSFkgZHJpdmVyCgpUaGlzIGNvbW1pdCBhZGRzIGEgbmV3IE1JUEkgQ1NJMiBQSFkg ZHJpdmVyIGluIERQSFkgbW9kZSBmb3IgUXVhbGNvbW0KaGFyZHdhcmUuIEl0IHBvcnRzIGxvZ2lj IGZyb20gZXhpc3RpbmcgY2Ftc3MgZHJpdmVycyB0byBpbml0aWFsaXplIGFuZApjb25maWd1cmUg ZGF0YSBhbmQgY2xvY2sgbGFuZXMgYmFzZWQgb24gZGV2aWNlIHRyZWUgcHJvcGVydGllcy4KCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLW1pcGktY3NpMi0zcGgt ZHBoeS5jIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tbWlwaS1jc2kyLTNwaC1kcGh5 LmMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20t bWlwaS1jc2kyLTNwaC1kcGh5LmMKClsgLi4uIF0KCj4gK3N0YXRpYyB2b2lkIHBoeV9xY29tX21p cGlfY3NpMl9od192ZXJzaW9uX3JlYWQoc3RydWN0IG1pcGlfY3NpMnBoeV9kZXZpY2UgKmNzaTJw aHkpCj4gK3sKPiArCWNvbnN0IHN0cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlX3JlZ3MgKnJlZ3Mg PSBjc2kycGh5X2Rldl90b19yZWdzKGNzaTJwaHkpOwo+ICsJdTMyIHRtcDsKPiArCj4gKwl3cml0 ZWwoQ1NJUEhZXzNQSF9DTU5fQ1NJX0NPTU1PTl9DVFJMNl9TSE9XX1JFVl9JRCwgY3NpMnBoeS0+ YmFzZSArCj4gKwkgICAgICAgQ1NJUEhZXzNQSF9DTU5fQ1NJX0NPTU1PTl9DVFJMbihyZWdzLT5j b21tb25fcmVnc19vZmZzZXQsIDYpKTsKPiArCj4gKwl0bXAgPSByZWFkbF9yZWxheGVkKGNzaTJw aHktPmJhc2UgKwo+ICsJCQkgICAgQ1NJUEhZXzNQSF9DTU5fQ1NJX0NPTU1PTl9TVEFUVVNuKHJl Z3MtPmNvbW1vbl9yZWdzX29mZnNldCwgMTIpKTsKPiArCWNzaTJwaHktPmh3X3ZlcnNpb24gPSB0 bXA7CgpbU2V2ZXJpdHk6IExvd10KRG9lcyB0aGlzIGFzc2lnbm1lbnQgdG8gY3NpMnBoeS0+aHdf dmVyc2lvbiBuZWVkIGEgbWFzayBsaWtlICYgMHhGRj8KCklmIHRoZSBoYXJkd2FyZSByZWdpc3Rl ciByZXR1cm5zIG5vbi16ZXJvIGdhcmJhZ2UgdmFsdWVzIGluIHRoZSB1cHBlciAyNApiaXRzLCB0 aG9zZSBiaXRzIG1pZ2h0IHJlbWFpbiBpbiBod192ZXJzaW9uIGFuZCBjb3JydXB0IHRoZSBmaW5h bCB2YWx1ZQp3aGVuIHRoZSBzdWJzZXF1ZW50IHNoaWZ0ZWQgYnl0ZXMgYXJlIE9SJ2VkIGluLgoK WyAuLi4gXQoKPiArc3RhdGljIGludCBwaHlfcWNvbV9taXBpX2NzaTJfbGFuZXNfZW5hYmxlKHN0 cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlICpjc2kycGh5LAo+ICsJCQkJCSAgIHN0cnVjdCBtaXBp X2NzaTJwaHlfc3RyZWFtX2NmZyAqY2ZnKQo+ICt7Cj4gKwljb25zdCBzdHJ1Y3QgbWlwaV9jc2ky cGh5X2RldmljZV9yZWdzICpyZWdzID0gY3NpMnBoeV9kZXZfdG9fcmVncyhjc2kycGh5KTsKPiAr CXN0cnVjdCBtaXBpX2NzaTJwaHlfbGFuZXNfY2ZnICpsYW5lX2NmZyA9ICZjZmctPmxhbmVfY2Zn Owo+ICsJdTggc2V0dGxlX2NudDsKPiArCXU4IHZhbDsKPiArCWludCBpOwoKWyAuLi4gXQoKPiAr CS8qCj4gKwkgKiBDU0lfQ09NTU9OX0NUUkw1IGlzIGEgcGh5c2ljYWwgbGFuZSBwb3dlci11cCBi aXRtYXA6Cj4gKwkgKiAtIEJpdHMgWzAsMiw0LDZdIOKGkiBELVBIWSBkYXRhIGxhbmVzKExOMCwg TE4yLCBMTjQsIExONikKPiArCSAqIC0gQml0cyBbMSwzLDVdIOKGkiBDLVBIWSB0cmlvIGxhbmVz KExOMSwgTE4zLCBMTjUpCj4gKwkgKiAtIEJpdCBbN10g4oaSIEQtUEhZIGNsb2NrIGxhbmUoTE5D SykgZGVkaWNhdGVkIGNsb2NrIGVuYWJsZQo+ICsJICovCj4gKwl2YWwgPSBCSVQobGFuZV9jZmct PmNsay5wb3MpOwo+ICsJZm9yIChpID0gMDsgaSA8IGNmZy0+bnVtX2RhdGFfbGFuZXM7IGkrKykK PiArCQl2YWwgfD0gQklUKGxhbmVfY2ZnLT5kYXRhW2ldLnBvcyAqIDIpOwoKW1NldmVyaXR5OiBI aWdoXQpDb3VsZCB0aGlzIGNhdXNlIGFuIGludGVnZXIgdHJ1bmNhdGlvbj8KCkJlY2F1c2UgdGhl IHZhbCB2YXJpYWJsZSBpcyBkZWZpbmVkIGFzIGEgdTgsIHNoaWZ0aW5nIGJ5IDggb3IgbW9yZSB3 aWxsCnNpbGVudGx5IHRydW5jYXRlIHRvIDAuIElmIGEgbGFuZSBwb3NpdGlvbiBpcyA+PSA0LCBs YW5lX2NmZy0+ZGF0YVtpXS5wb3MgKiAyCmJlY29tZXMgPj0gOCwgd2hpY2ggbWVhbnMgdGhlIGRy aXZlciBtaWdodCBmYWlsIHRvIHBvd2VyIHVwIHRoZSBsYW5lLgoKPiArCXdyaXRlbCh2YWwsIGNz aTJwaHktPmJhc2UgKwo+ICsJICAgICAgIENTSVBIWV8zUEhfQ01OX0NTSV9DT01NT05fQ1RSTG4o cmVncy0+Y29tbW9uX3JlZ3Nfb2Zmc2V0LCA1KSk7Cj4gKwo+ICsJLyogTGFuZSBjb25maWd1cmF0 aW9uIGZvciBwb2xhcml0eSBAIENTSVBIWS1iYXNlICsgQ1RSTDkgKi8KPiArCWZvciAoaSA9IDA7 IGkgPCBjZmctPm51bV9kYXRhX2xhbmVzOyBpKyspIHsKPiArCQlpZiAobGFuZV9jZmctPmRhdGFb aV0ucG9sKSB7Cj4gKwkJCXU4IHBvcyA9IGxhbmVfY2ZnLT5kYXRhW2ldLnBvczsKPiArCj4gKwkJ CXdyaXRlbChCSVQoMiksIGNzaTJwaHktPmJhc2UgKyBDU0lQSFlfMlBIX0xOX0NTSV8yUEhBU0Vf Q1RSTDluKHBvcyAqIDIpKTsKCltTZXZlcml0eTogSGlnaF0KQ2FuIHRoaXMgcmVzdWx0IGluIGFu IG91dC1vZi1ib3VuZHMgbWVtb3J5IHdyaXRlPwoKSWYgcG9zIGlzID49IDQsIHBvcyAqIDIgaXMg Pj0gOC4gVGhlIENTSVBIWV8yUEhfTE5fQ1NJXzJQSEFTRV9DVFJMOW4gbWFjcm8Kd2lsbCBjb21w dXRlIGFuIG9mZnNldCB0aGF0IG92ZXJmbG93cyB0aGUgcGh5c2ljYWwgbGFuZSByZWdpc3RlciBz cGFjZSBhbmQKYWxpYXNlcyBkaXJlY3RseSBpbnRvIHRoZSBjb21tb24gUEhZIHJlZ2lzdGVyIGJs b2NrLCBwb3RlbnRpYWxseSBjbG9iYmVyaW5nCmNvbW1vbiByZWdpc3RlcnMuCgpbU2V2ZXJpdHk6 IE1lZGl1bV0KSXMgaXQgc2FmZSB0byB1c2UgYW4gYWJzb2x1dGUgd3JpdGVsKCkgaGVyZSBpbnN0 ZWFkIG9mIGEgcmVhZC1tb2RpZnktd3JpdGU/CgpXcml0aW5nIEJJVCgyKSBkaXJlY3RseSBjbGVh cnMgYW55IGhhcmR3YXJlIGRlZmF1bHRzIG9yIHJlc2VydmVkIGJpdHMgdGhhdAptaWdodCBiZSBw cmVzZW50IGluIHRoZSByZXN0IG9mIHRoZSByZWdpc3Rlci4gVGhpcyBhbHNvIGNyZWF0ZXMgYXN5 bW1ldHJpYwpoYW5kbGluZyBzaW5jZSB0aGUgcmVnaXN0ZXIgaXMgbGVmdCB1bnRvdWNoZWQgaWYg cG9sYXJpdHkgaXMgZmFsc2UuCgo+ICsJCX0KPiArCX0KPiArCj4gKwlpZiAobGFuZV9jZmctPmNs ay5wb2wpCj4gKwkJd3JpdGVsKEJJVCgyKSwgY3NpMnBoeS0+YmFzZSArIENTSVBIWV8yUEhfTE5f Q1NJXzJQSEFTRV9DVFJMOW4obGFuZV9jZmctPmNsay5wb3MpKTsKCltTZXZlcml0eTogTWVkaXVt XQpTaW1pbGFybHksIGNvdWxkIHRoaXMgYWJzb2x1dGUgd3JpdGUgY2xvYmJlciB0aGUgY2xvY2sg bGFuZSBDVFJMOSByZWdpc3Rlcj8KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L3F1YWxjb21t L3BoeS1xY29tLW1pcGktY3NpMi1jb3JlLmMgYi9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNv bS1taXBpLWNzaTItY29yZS5jCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvcGh5L3F1 YWxjb21tL3BoeS1xY29tLW1pcGktY3NpMi1jb3JlLmMKClsgLi4uIF0KCj4gK3N0YXRpYyBpbnQg cGh5X3Fjb21fbWlwaV9jc2kyX2NvbmZpZ3VyZShzdHJ1Y3QgcGh5ICpwaHksCj4gKwkJCQkJdW5p b24gcGh5X2NvbmZpZ3VyZV9vcHRzICpvcHRzKQo+ICt7Cj4gKwlzdHJ1Y3QgbWlwaV9jc2kycGh5 X2RldmljZSAqY3NpMnBoeSA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOwo+ICsJc3RydWN0IHBoeV9j b25maWd1cmVfb3B0c19taXBpX2RwaHkgKmRwaHlfY2ZnID0gJm9wdHMtPm1pcGlfZHBoeTsKPiAr CXN0cnVjdCBtaXBpX2NzaTJwaHlfc3RyZWFtX2NmZyAqc3RyZWFtX2NmZyA9ICZjc2kycGh5LT5z dHJlYW1fY2ZnOwo+ICsJaW50IHJldDsKPiArCj4gKwlyZXQgPSBwaHlfbWlwaV9kcGh5X2NvbmZp Z192YWxpZGF0ZShkcGh5X2NmZyk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ ICsJaWYgKGRwaHlfY2ZnLT5sYW5lcyA8IDEgfHwgZHBoeV9jZmctPmxhbmVzID4gQ1NJMl9NQVhf REFUQV9MQU5FUykKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlzdHJlYW1fY2ZnLT5saW5r X2ZyZXEgPSBkcGh5X2NmZy0+aHNfY2xrX3JhdGU7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KCltT ZXZlcml0eTogTWVkaXVtXQpTaG91bGQgdGhlIGR5bmFtaWNhbGx5IHJlcXVlc3RlZCBkcGh5X2Nm Zy0+bGFuZXMgdmFsdWUgYmUgc2F2ZWQgaW50byB0aGUKYWN0aXZlIGNvbmZpZ3VyYXRpb24gaGVy ZT8KClRoZSB2YWx1ZSBpcyB2YWxpZGF0ZWQgYnV0IGRpc2NhcmRlZCwgbWVhbmluZyB0aGUgZHJp dmVyIHdpbGwgYWx3YXlzCnN0YXRpY2FsbHkgcG93ZXIgdXAgdGhlIG1heGltdW0gbnVtYmVyIG9m IGxhbmVzIGNvbmZpZ3VyZWQgaW4gdGhlIGRldmljZQp0cmVlIGluc3RlYWQgb2YgcmVzcGVjdGlu ZyBkeW5hbWljIHJlcXVlc3RzIGZyb20gdGhlIGNvbnN1bWVyLiBEb2VzIHRoaXMKdmlvbGF0ZSB0 aGUgTUlQSSBELVBIWSBBUEkgY29udHJhY3QgZm9yIGR5bmFtaWMgbGFuZSBjb25maWd1cmF0aW9u PwoKWyAuLi4gXQoKPiArc3RhdGljIGludCBwaHlfcWNvbV9taXBpX2NzaTJfcGFyc2Vfcm91dGlu ZyhzdHJ1Y3QgbWlwaV9jc2kycGh5X2RldmljZSAqY3NpMnBoeSkKPiArewo+ICsJc3RydWN0IG1p cGlfY3NpMnBoeV9zdHJlYW1fY2ZnICpzdHJlYW1fY2ZnID0gJmNzaTJwaHktPnN0cmVhbV9jZmc7 CgpbIC4uLiBdCgo+ICsJY3NpMnBoeS0+c3RyZWFtX2NmZy5sYW5lX2NmZy5jbGsucG9zID0gQ1NJ Ml9ERUZBVUxUX0NMS19MQU5FOwo+ICsJY3NpMnBoeS0+c3RyZWFtX2NmZy5sYW5lX2NmZy5jbGsu cG9sID0gbGFuZV9wb2xhcml0aWVzWzBdOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBjc2kycGh5 LT5zdHJlYW1fY2ZnLm51bV9kYXRhX2xhbmVzOyBpKyspIHsKPiArCQlpZiAoZGF0YV9sYW5lc1tp XSA+IENTSTJfTUFYX0xBTkVfTlVNKSB7CgpbU2V2ZXJpdHk6IEhpZ2hdCklzIENTSTJfTUFYX0xB TkVfTlVNICg3KSB0b28gbGFyZ2UgZm9yIHRoaXMgYm91bmRzIGNoZWNrPwoKQXMgbm90ZWQgaW4g cGh5X3Fjb21fbWlwaV9jc2kyX2xhbmVzX2VuYWJsZSgpLCBhbGxvd2luZyBsYW5lIG51bWJlcnMg Pj0gNApyZXN1bHRzIGluIHBvcyAqIDIgYmVpbmcgPj0gOCBsYXRlciBvbiwgd2hpY2ggY2F1c2Vz IGJvdGggdHJ1bmNhdGlvbiBpbiB0aGUKdTggYml0bWFzayBhbmQgb3V0LW9mLWJvdW5kcyB3cml0 ZXMgaW50byB0aGUgY29tbW9uIFBIWSByZWdpc3RlciByZWdpb24uCgo+ICsJCQlkZXZfZXJyKGRl diwgIkludmFsaWQgbGFuZSAlZFxuIiwgZGF0YV9sYW5lc1tpXSk7Cj4gKwkJCXJldCA9IC1FSU5W QUw7Cj4gKwkJCWdvdG8gb3V0X3B1dDsKPiArCQl9Cj4gKwkJY3NpMnBoeS0+c3RyZWFtX2NmZy5s YW5lX2NmZy5kYXRhW2ldLnBvcyA9IGRhdGFfbGFuZXNbaV07Cj4gKwkJY3NpMnBoeS0+c3RyZWFt X2NmZy5sYW5lX2NmZy5kYXRhW2ldLnBvbCA9IGxhbmVfcG9sYXJpdGllc1tpICsgMV07Cj4gKwl9 CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0 LzIwMjYwNzE5LXgxZS1jc2kyLXBoeS12MTEtMC05ZDBhMWVkMDYzMmRAbGluYXJvLm9yZz9wYXJ0 PTIKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBo eQo=