From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A15F135A398 for ; Tue, 12 May 2026 23:29:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778628592; cv=none; b=obO9jpJl3v0U73jHA8jKH1tKrtOcMx8tVz4oDqI7EvB30409Tn8pI5LJlp7wZ7lGRu1wuLH0qQ1x5jx4LsFPtw271NDxYVP+9WEQk+gj0Eff6nY2kZQ38q0j0sI/P3xrHjg9J/LZw6WaqZhETcroCgdwnxaoNj8GbiTEf8DIVN0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778628592; c=relaxed/simple; bh=syKLuGDRGscz2GehBpsOZA1GkzCsscUZh27M1QouD1A=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=XiSoPilk2sQlpHk8/T59RbBTa+7rvUnp5un+ADoa7BHeAL9GdPVqTZXC5C+oeewN81NKmhnsQCMNz36Wg7CPmuYBxZtt97STu4YjYrv9//JxVSSo0ZtXnmUKklejFXQ9sPbLB2o6+FclisI9ykR8yZsZgEtUxLnkalT+HPjNsCA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aanX5/0j; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aanX5/0j" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02E53C2BCB0; Tue, 12 May 2026 23:29:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778628592; bh=syKLuGDRGscz2GehBpsOZA1GkzCsscUZh27M1QouD1A=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date:From; b=aanX5/0jra4bYTzK84s1EysU/5Qfk9f+VBt4aYs7QJgxEh3OzIWAG+RMan9BmyOq3 7pMaUQU7tSdoEHSoNzrtDXjNlJvtpkb413MhuWLWQmsSXZRENojgVmaSAQAtJeWDPv UM1qlSv4Mf0CYzctKIFjXyu9Lzjvk59bK2gyy29AFk0QnliogH5ZsUWZ2z8v1fG1oJ WTCZlgbEcZQT97ujQ+p2kaeGTEtQaSTvW5hgmKOdIUlwZ1JSdk6S+hZxz93z1V8WQI oU43/BL0r73Ars7Gk0y7T+JmIjQLmGL1b50BZMDyy3FcbPEGtbia2v62PdPJsNageC Y6nJHaNJ541FQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v1 5/6] dt-bindings: phy: tegra: Document Nvidia Tegra XMM6260 PHY Reply-To: sashiko-reviews@lists.linux.dev To: "Svyatoslav Ryhel" Cc: krzk+dt@kernel.org, linux-phy@lists.infradead.org, vkoul@kernel.org, robh@kernel.org, olteanv@gmail.com, devicetree@vger.kernel.org, neil.armstrong@linaro.org, conor+dt@kernel.org In-Reply-To: <20260511135703.62470-6-clamor95@gmail.com> References: <20260511135703.62470-6-clamor95@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 12 May 2026 23:29:51 +0000 Message-Id: <20260512232952.02E53C2BCB0@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 4 potential issue(= s) to consider: - [High] The binding models an external USB/HSIC modem as a standalone, vir= tual 'PHY' node instead of representing it accurately in the hardware hiera= rchy. - [Medium] The `nvidia,usb-bus` property groups two unrelated phandles (USB= controller and USB PHY) and introduces a reverse-dependency. - [Low] The compatible string `nvidia,tegra-xmm6260` uses the incorrect ven= dor prefix for the hardware it represents. - [Low] The `nvidia,usb-bus` property is defined as a `phandle-array` but l= acks the necessary `items` description to define the cell count, leading to= a `dt_binding_check` validation failure. -- commit 9a3c0eae039eb5a94c2d0ec7ecce7c586c326f99 Author: Svyatoslav Ryhel dt-bindings: phy: tegra: Document Nvidia Tegra XMM6260 PHY This commit documents the XMM6260 PHY binding, a hardware configuration used in Tegra SoCs to control power sequencing and manage the USB lines for the modem. > diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra-xmm6260.y= aml b/Documentation/devicetree/bindings/phy/nvidia,tegra-xmm6260.yaml > new file mode 100644 > index 0000000000000..0346433c97725 > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra-xmm6260.yaml > @@ -0,0 +1,58 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/phy/nvidia,tegra-xmm6260.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Nvidia Tegra PHY for XMM6260 modem > + > +description: > + A hardware configuration used in Tegra SoCs to provide proper interact= ion > + between the application processor and the modem, as well as control ov= er > + one of the SoC's USB lines for the modem. Is modeling this external modem as a standalone virtual PHY node the best approach for representing the hardware topology? The device tree should describe physical hardware hierarchy. Since the XMM6260 is an external modem connected to the host via a USB or HSIC bus, it would traditionally be modeled as a child node of the USB controller. Handling power sequencing by creating a virtual PHY node is a known anti-pattern. Power requirements are typically managed by the USB subsystem= 's device tree bindings or a generic power sequencing framework. > + > +maintainers: > + - Svyatoslav Ryhel > + > +properties: > + compatible: > + const: nvidia,tegra-xmm6260 This isn't a bug, but the XMM6260 is a modem manufactured by Infineon/Intel. Should the compatible string use a vendor prefix corresponding to the actual manufacturer (e.g., "infineon" or "intel") instead of "nvidia", since this represents an external component rather than a Tegra-specific SoC block? > + > + enable-gpios: > + description: GPIO connected to the EINT1 pin > + maxItems: 1 > + > + nvidia,usb-bus: > + description: > + Contains two phandles; the first is pointing to the Host's USB con= troller > + and the second linking to the controller's PHY. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + minItems: 2 > + maxItems: 2 Does this custom property introduce an unnecessary reverse-dependency in the device tree? Standard bus hierarchy dictates that relationships are established naturally via parent-child nodes. Pointing an external device back to its host controller via a custom phandle is a non-standard way to represent a bus connection. Additionally, grouping two distinct hardware components (a host controller and its PHY) into a single phandle array mixes unrelated references. Can this property definition cause a validation failure during dt_binding_check? Because this is typed as a phandle-array, the dtschema validation framework will attempt to parse the array elements by looking for a "#nvidia,usb-bus-cells" property on the referenced target nodes (the USB controller and PHY). Since those target nodes won't define that custom cells property, the example schema validation is likely to fail. [ ... ] --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260511135703.6247= 0-1-clamor95@gmail.com?part=3D5 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 CBB6ECD4F39 for ; Tue, 12 May 2026 23:29:55 +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=8ZsSFVrMRoc4Lc7SuI62NDcr9mwakjU6CtsjF/47Ig4=; b=PQSBqVDwPOiSF2 91jElj1Stw8eZQazYwP80o3F9QEcJtO9wrevqZCNfuauFv3SzWbau8dekw+2Hsobh5oBOfnuCkbo6 Z91JOvhOx9f5j2OdwLYs5bUpVC/94JQlZHO0XWNngGILVVAtb9Kh8sPiquXhOvlnEPfZS7sFJ0rAA S6mNj+N2XtCTEIVG+7hapVyFjiMfYTp9j9LceMhmaXqi2Ypmd3HldMIHZu6LKYwVELVfB1oCDzIWO OEoM9Ya01ux0KpngFRcg3J51ax+nhcdgzraJwv/1nnYG+bz3zwUG4mZ08hc8eM5ikaB+YyzKK4X6t tJECaAN2ZuxhGHDYA+nw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wMwXz-00000000hH6-2KW2; Tue, 12 May 2026 23:29:55 +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 1wMwXx-00000000hF0-0UWC for linux-phy@lists.infradead.org; Tue, 12 May 2026 23:29:54 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 770FD44403; Tue, 12 May 2026 23:29:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02E53C2BCB0; Tue, 12 May 2026 23:29:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778628592; bh=syKLuGDRGscz2GehBpsOZA1GkzCsscUZh27M1QouD1A=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date:From; b=aanX5/0jra4bYTzK84s1EysU/5Qfk9f+VBt4aYs7QJgxEh3OzIWAG+RMan9BmyOq3 7pMaUQU7tSdoEHSoNzrtDXjNlJvtpkb413MhuWLWQmsSXZRENojgVmaSAQAtJeWDPv UM1qlSv4Mf0CYzctKIFjXyu9Lzjvk59bK2gyy29AFk0QnliogH5ZsUWZ2z8v1fG1oJ WTCZlgbEcZQT97ujQ+p2kaeGTEtQaSTvW5hgmKOdIUlwZ1JSdk6S+hZxz93z1V8WQI oU43/BL0r73Ars7Gk0y7T+JmIjQLmGL1b50BZMDyy3FcbPEGtbia2v62PdPJsNageC Y6nJHaNJ541FQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v1 5/6] dt-bindings: phy: tegra: Document Nvidia Tegra XMM6260 PHY To: "Svyatoslav Ryhel" Cc: krzk+dt@kernel.org, linux-phy@lists.infradead.org, vkoul@kernel.org, robh@kernel.org, olteanv@gmail.com, devicetree@vger.kernel.org, neil.armstrong@linaro.org, conor+dt@kernel.org In-Reply-To: <20260511135703.62470-6-clamor95@gmail.com> References: <20260511135703.62470-6-clamor95@gmail.com> Date: Tue, 12 May 2026 23:29:51 +0000 Message-Id: <20260512232952.02E53C2BCB0@smtp.kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260512_162953_208876_F0C6A638 X-CRM114-Status: GOOD ( 15.90 ) 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 NCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFRoZSBiaW5kaW5nIG1v ZGVscyBhbiBleHRlcm5hbCBVU0IvSFNJQyBtb2RlbSBhcyBhIHN0YW5kYWxvbmUsIHZpcnR1YWwg J1BIWScgbm9kZSBpbnN0ZWFkIG9mIHJlcHJlc2VudGluZyBpdCBhY2N1cmF0ZWx5IGluIHRoZSBo YXJkd2FyZSBoaWVyYXJjaHkuCi0gW01lZGl1bV0gVGhlIGBudmlkaWEsdXNiLWJ1c2AgcHJvcGVy dHkgZ3JvdXBzIHR3byB1bnJlbGF0ZWQgcGhhbmRsZXMgKFVTQiBjb250cm9sbGVyIGFuZCBVU0Ig UEhZKSBhbmQgaW50cm9kdWNlcyBhIHJldmVyc2UtZGVwZW5kZW5jeS4KLSBbTG93XSBUaGUgY29t cGF0aWJsZSBzdHJpbmcgYG52aWRpYSx0ZWdyYS14bW02MjYwYCB1c2VzIHRoZSBpbmNvcnJlY3Qg dmVuZG9yIHByZWZpeCBmb3IgdGhlIGhhcmR3YXJlIGl0IHJlcHJlc2VudHMuCi0gW0xvd10gVGhl IGBudmlkaWEsdXNiLWJ1c2AgcHJvcGVydHkgaXMgZGVmaW5lZCBhcyBhIGBwaGFuZGxlLWFycmF5 YCBidXQgbGFja3MgdGhlIG5lY2Vzc2FyeSBgaXRlbXNgIGRlc2NyaXB0aW9uIHRvIGRlZmluZSB0 aGUgY2VsbCBjb3VudCwgbGVhZGluZyB0byBhIGBkdF9iaW5kaW5nX2NoZWNrYCB2YWxpZGF0aW9u IGZhaWx1cmUuCi0tCgpjb21taXQgOWEzYzBlYWUwMzllYjVhOTRjMmQwZWM3ZWNjZTdjNTg2YzMy NmY5OQpBdXRob3I6IFN2eWF0b3NsYXYgUnloZWwgPGNsYW1vcjk1QGdtYWlsLmNvbT4KCmR0LWJp bmRpbmdzOiBwaHk6IHRlZ3JhOiBEb2N1bWVudCBOdmlkaWEgVGVncmEgWE1NNjI2MCBQSFkKClRo aXMgY29tbWl0IGRvY3VtZW50cyB0aGUgWE1NNjI2MCBQSFkgYmluZGluZywgYSBoYXJkd2FyZSBj b25maWd1cmF0aW9uCnVzZWQgaW4gVGVncmEgU29DcyB0byBjb250cm9sIHBvd2VyIHNlcXVlbmNp bmcgYW5kIG1hbmFnZSB0aGUgVVNCIGxpbmVzCmZvciB0aGUgbW9kZW0uCgo+IGRpZmYgLS1naXQg YS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L252aWRpYSx0ZWdyYS14bW02 MjYwLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L252aWRpYSx0 ZWdyYS14bW02MjYwLnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAw MDAwMDAuLjAzNDY0MzNjOTc3MjUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9udmlkaWEsdGVncmEteG1tNjI2MC55YW1sCj4gQEAg LTAsMCArMSw1OCBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCBPUiBC U0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiArJGlkOiBodHRwOi8vZGV2aWNldHJl ZS5vcmcvc2NoZW1hcy9waHkvbnZpZGlhLHRlZ3JhLXhtbTYyNjAueWFtbCMKPiArJHNjaGVtYTog aHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRs ZTogTnZpZGlhIFRlZ3JhIFBIWSBmb3IgWE1NNjI2MCBtb2RlbQo+ICsKPiArZGVzY3JpcHRpb246 Cj4gKyAgQSBoYXJkd2FyZSBjb25maWd1cmF0aW9uIHVzZWQgaW4gVGVncmEgU29DcyB0byBwcm92 aWRlIHByb3BlciBpbnRlcmFjdGlvbgo+ICsgIGJldHdlZW4gdGhlIGFwcGxpY2F0aW9uIHByb2Nl c3NvciBhbmQgdGhlIG1vZGVtLCBhcyB3ZWxsIGFzIGNvbnRyb2wgb3Zlcgo+ICsgIG9uZSBvZiB0 aGUgU29DJ3MgVVNCIGxpbmVzIGZvciB0aGUgbW9kZW0uCgpJcyBtb2RlbGluZyB0aGlzIGV4dGVy bmFsIG1vZGVtIGFzIGEgc3RhbmRhbG9uZSB2aXJ0dWFsIFBIWSBub2RlIHRoZSBiZXN0CmFwcHJv YWNoIGZvciByZXByZXNlbnRpbmcgdGhlIGhhcmR3YXJlIHRvcG9sb2d5PwoKVGhlIGRldmljZSB0 cmVlIHNob3VsZCBkZXNjcmliZSBwaHlzaWNhbCBoYXJkd2FyZSBoaWVyYXJjaHkuIFNpbmNlIHRo ZQpYTU02MjYwIGlzIGFuIGV4dGVybmFsIG1vZGVtIGNvbm5lY3RlZCB0byB0aGUgaG9zdCB2aWEg YSBVU0Igb3IgSFNJQyBidXMsCml0IHdvdWxkIHRyYWRpdGlvbmFsbHkgYmUgbW9kZWxlZCBhcyBh IGNoaWxkIG5vZGUgb2YgdGhlIFVTQiBjb250cm9sbGVyLgoKSGFuZGxpbmcgcG93ZXIgc2VxdWVu Y2luZyBieSBjcmVhdGluZyBhIHZpcnR1YWwgUEhZIG5vZGUgaXMgYSBrbm93bgphbnRpLXBhdHRl cm4uIFBvd2VyIHJlcXVpcmVtZW50cyBhcmUgdHlwaWNhbGx5IG1hbmFnZWQgYnkgdGhlIFVTQiBz dWJzeXN0ZW0ncwpkZXZpY2UgdHJlZSBiaW5kaW5ncyBvciBhIGdlbmVyaWMgcG93ZXIgc2VxdWVu Y2luZyBmcmFtZXdvcmsuCgo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBTdnlhdG9zbGF2IFJ5 aGVsIDxjbGFtb3I5NUBnbWFpbC5jb20+Cj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGli bGU6Cj4gKyAgICBjb25zdDogbnZpZGlhLHRlZ3JhLXhtbTYyNjAKClRoaXMgaXNuJ3QgYSBidWcs IGJ1dCB0aGUgWE1NNjI2MCBpcyBhIG1vZGVtIG1hbnVmYWN0dXJlZCBieSBJbmZpbmVvbi9JbnRl bC4KU2hvdWxkIHRoZSBjb21wYXRpYmxlIHN0cmluZyB1c2UgYSB2ZW5kb3IgcHJlZml4IGNvcnJl c3BvbmRpbmcgdG8gdGhlIGFjdHVhbAptYW51ZmFjdHVyZXIgKGUuZy4sICJpbmZpbmVvbiIgb3Ig ImludGVsIikgaW5zdGVhZCBvZiAibnZpZGlhIiwgc2luY2UgdGhpcwpyZXByZXNlbnRzIGFuIGV4 dGVybmFsIGNvbXBvbmVudCByYXRoZXIgdGhhbiBhIFRlZ3JhLXNwZWNpZmljIFNvQyBibG9jaz8K Cj4gKwo+ICsgIGVuYWJsZS1ncGlvczoKPiArICAgIGRlc2NyaXB0aW9uOiBHUElPIGNvbm5lY3Rl ZCB0byB0aGUgRUlOVDEgcGluCj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBudmlkaWEsdXNi LWJ1czoKPiArICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICBDb250YWlucyB0d28gcGhhbmRsZXM7 IHRoZSBmaXJzdCBpcyBwb2ludGluZyB0byB0aGUgSG9zdCdzIFVTQiBjb250cm9sbGVyCj4gKyAg ICAgIGFuZCB0aGUgc2Vjb25kIGxpbmtpbmcgdG8gdGhlIGNvbnRyb2xsZXIncyBQSFkuCj4gKyAg ICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4g KyAgICBtaW5JdGVtczogMgo+ICsgICAgbWF4SXRlbXM6IDIKCkRvZXMgdGhpcyBjdXN0b20gcHJv cGVydHkgaW50cm9kdWNlIGFuIHVubmVjZXNzYXJ5IHJldmVyc2UtZGVwZW5kZW5jeSBpbiB0aGUK ZGV2aWNlIHRyZWU/CgpTdGFuZGFyZCBidXMgaGllcmFyY2h5IGRpY3RhdGVzIHRoYXQgcmVsYXRp b25zaGlwcyBhcmUgZXN0YWJsaXNoZWQgbmF0dXJhbGx5CnZpYSBwYXJlbnQtY2hpbGQgbm9kZXMu IFBvaW50aW5nIGFuIGV4dGVybmFsIGRldmljZSBiYWNrIHRvIGl0cyBob3N0CmNvbnRyb2xsZXIg dmlhIGEgY3VzdG9tIHBoYW5kbGUgaXMgYSBub24tc3RhbmRhcmQgd2F5IHRvIHJlcHJlc2VudCBh IGJ1cwpjb25uZWN0aW9uLiBBZGRpdGlvbmFsbHksIGdyb3VwaW5nIHR3byBkaXN0aW5jdCBoYXJk d2FyZSBjb21wb25lbnRzIChhIGhvc3QKY29udHJvbGxlciBhbmQgaXRzIFBIWSkgaW50byBhIHNp bmdsZSBwaGFuZGxlIGFycmF5IG1peGVzIHVucmVsYXRlZApyZWZlcmVuY2VzLgoKQ2FuIHRoaXMg cHJvcGVydHkgZGVmaW5pdGlvbiBjYXVzZSBhIHZhbGlkYXRpb24gZmFpbHVyZSBkdXJpbmcKZHRf YmluZGluZ19jaGVjaz8KCkJlY2F1c2UgdGhpcyBpcyB0eXBlZCBhcyBhIHBoYW5kbGUtYXJyYXks IHRoZSBkdHNjaGVtYSB2YWxpZGF0aW9uIGZyYW1ld29yawp3aWxsIGF0dGVtcHQgdG8gcGFyc2Ug dGhlIGFycmF5IGVsZW1lbnRzIGJ5IGxvb2tpbmcgZm9yIGEKIiNudmlkaWEsdXNiLWJ1cy1jZWxs cyIgcHJvcGVydHkgb24gdGhlIHJlZmVyZW5jZWQgdGFyZ2V0IG5vZGVzICh0aGUgVVNCCmNvbnRy b2xsZXIgYW5kIFBIWSkuIFNpbmNlIHRob3NlIHRhcmdldCBub2RlcyB3b24ndCBkZWZpbmUgdGhh dCBjdXN0b20gY2VsbHMKcHJvcGVydHksIHRoZSBleGFtcGxlIHNjaGVtYSB2YWxpZGF0aW9uIGlz IGxpa2VseSB0byBmYWlsLgoKWyAuLi4gXQoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBz Oi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MDUxMTEzNTcwMy42MjQ3MC0xLWNsYW1vcjk1 QGdtYWlsLmNvbT9wYXJ0PTUKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LXBoeQo=