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 B0897EEAA5F for ; Thu, 14 Sep 2023 18:07:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=DVM5Y9GchlYycYoe4MGIo5Kf5CTVmd8xy8ZARREdE/8=; b=2WFc6x9hrImQf0yOCPLniz4V3W qqSrxEtyVXHnt9xlgTBpCCLVonSE0Tt41ijc2x9GiCIuHbEApB2S54GRVPhiUY+JSIFzIlqlqbXu8 zhb0iuHeTjDQNgf5uVLrxKamSg84CpLxgIBVGa/dH8M7inCMQm4BBrBu7OZp1SAbQmc2UeNaK/i9y A43w4M1lDVnnuwPiYe/6yRimWvkipPv4DZmfYOZr47+y0BrR9WKZ6W/tcWOkyCcrZ4Cq1+TWjBCc/ 98GvVkKscad0C0RzCzbna2NMOtStLk9RsdLaD9PYGPo/42N5MySOtE42uT5sT6wsc7VYjCs4/MInl eTtiqBfQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qgqkU-0092Pm-2A; Thu, 14 Sep 2023 18:07:30 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qgqkQ-0092ON-2H; Thu, 14 Sep 2023 18:07:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=DVM5Y9GchlYycYoe4MGIo5Kf5CTVmd8xy8ZARREdE/8=; b=SAh4R3lRHvnhPlZeNIxjJdVqBc Mk0AoHkAFXaS6l/17Qv/R8L3TzYN2RnNSLENcMR0QLpY9x27DT37TD3jO3c7mn2QectFuXNDTe5K6 XzIJ5v5FqOSKTDgxd5VIyYaWnTLtpZQC7Jhmw4ifTjfeRktttX4bQLJ4ayglE8n4PNFkZ7AB5Wlac zcxe9nw33PhorsMEfgbsPlm1x3F2nLP8YzXK3Xkec7jx0Jn0lPINXCgGnKbjbsxsNaReIGFA+a1iP CjtgY8S6DqsN7dVpdnOSMyY6fPpjxrFdahQTcMJyWy85fyeGU27thT/Hwr8GI8hGyoh53EmBS++x9 m1mZKXvA==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:33982) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qgqkD-0004gP-2T; Thu, 14 Sep 2023 19:07:13 +0100 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1qgqkD-0004zA-Ty; Thu, 14 Sep 2023 19:07:13 +0100 Date: Thu, 14 Sep 2023 19:07:13 +0100 From: "Russell King (Oracle)" To: Vladimir Oltean Cc: =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= , Andrew Lunn , Florian Fainelli , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Woojung Huh , UNGLinuxDriver@microchip.com, Linus Walleij , Alvin =?utf-8?Q?=C5=A0ipraga?= , Daniel Golle , Landen Chao , DENG Qingfang , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , mithat.guner@xeront.com, erkin.bozoglu@xeront.com, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH 2/4] dt-bindings: net: dsa: document internal MDIO bus Message-ID: References: <20230827121235.zog4c3ehu2cyd3jy@skbuf> <676d1a2b-6ffa-4aff-8bed-a749c373f5b3@arinc9.com> <87325ce9-595a-4dda-a6a1-b5927d25719b@arinc9.com> <20230911225126.rk23g3u3bzo3agby@skbuf> <036c0763-f1b2-49ff-bc82-1ff16eec27ab@arinc9.com> <20230912193450.h5s6miubag46z623@skbuf> <6cec079e-991e-4222-a76d-d6156de0daca@arinc9.com> <20230913074231.5azwxqjuv2wp5nik@skbuf> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230914_110726_753632_4ECFA150 X-CRM114-Status: GOOD ( 37.62 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Thu, Sep 14, 2023 at 07:06:11PM +0100, Russell King (Oracle) wrote: > On Wed, Sep 13, 2023 at 04:59:19PM +0100, Russell King (Oracle) wrote: > > On Wed, Sep 13, 2023 at 10:42:31AM +0300, Vladimir Oltean wrote: > > > On Wed, Sep 13, 2023 at 08:52:37AM +0300, Arınç ÜNAL wrote: > > > > On 12.09.2023 22:34, Vladimir Oltean wrote: > > > > > On Tue, Sep 12, 2023 at 10:23:51PM +0300, Arınç ÜNAL wrote: > > > > > > The phylink bindings for user ports I ended up making by looking up the > > > > > > existing devicetrees are different than the phylink bindings for the shared > > > > > > (CPU and DSA) ports currently enforced on all switches. > > > > > > > > > > > > My phylink bindings for user ports: > > > > > > > > > > > > allOf: > > > > > > - anyOf: > > > > > > - required: [ fixed-link ] > > > > > > - required: [ phy-handle ] > > > > > > - required: [ managed ] > > > > > > > > > > > > - if: > > > > > > required: [ fixed-link ] > > > > > > then: > > > > > > not: > > > > > > required: [ managed ] > > > > > > > > > > Right, it should have been anyOf and not oneOf.. my mistake. It is a bug > > > > > which should be fixed. It's the same phylink that gets used in both cases, > > > > > user ports and shared ports :) > > > > > > > > One more thing, I don't recall phy-mode being required to be defined for > > > > user ports as it will default to GMII. I don't believe this is the same > > > > case for shared ports so phy-mode is required only for them? > > > > > > phy-mode is not strictly required, but I think there is a strong > > > preference to set it. IIRC, when looking at the DSA device trees, there > > > was no case where phy-mode would be absent on CPU/DSA ports if the other > > > link properties were also present, so we required it too. There were no > > > complaints in 1 year since dsa_shared_port_validate_of() is there. The > > > requirement can be relaxed to just a warning and no error in the kernel, > > > and the removal of "required" in the schema, if it helps making it > > > common with user ports. > > > > However, phylink pretty much requires phy-mode to be specified to be > > something sane for shared ports, so I wouldn't be in favour of relaxing > > the checkinng in dsa_shared_port_validate_of()... not unless you're > > now going to accept the approach I originally proposed to have DSA > > drivers tell the core (and thus phylink) what phy-mode and other link > > parameters should be used when they are missing from DT. > > You mean the approach that I picked up using software nodes that got > thrown out by the software node people? That approach that I picked > up from you and tried to get merged? > > No, that's not going to happen, and it's not a question of whether > _I_ am going to accept that approach or not. So don't throw that > back on me, please. > > If this is something that we want to solve, we need to stop being so > devisive (your language above is so) and try to come up with a > solution that is acceptable to everyone... the swnode approach > doesn't seem to be it. Oh dear. I must be going mad! -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last! 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 467C1EEAA5D for ; Thu, 14 Sep 2023 18:07:53 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=y+0yxaqZewubxQJubJ+vgRfAszroJZV1R9WldvyrD6s=; b=gWTb3Em/RU/Mvu VnPseD45z+JxPVV2+xV30RMcnBd/Wi+OihQaCf95dEhAgtb8cfInwfqd1lm6YTOP/aUa5/nuzJ7cg boeeAr4EHdcE3P5eKWrQSLX+PmEDg/L43T0wW7DmLEcm5gnEhh1S9RfAOba2JyWHkBS+ey8ryomEQ 9JxPMp2UFZ8ExP9vHCRyN8CPdEYiPxrAQJoleX/5Jt2SK9+1F24+d1tvzK6UC3CjFubUyZGiDpNkm UBMTtOdJ1hpVoeQ8pTogD9V24YqhkIPR7qMZEDIs40t3VBYHXGCClYDrPunvqp85jXdg9oc2lJsLB NtfecBc1+4UxalrFUKxA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qgqkU-0092Pf-0c; Thu, 14 Sep 2023 18:07:30 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qgqkQ-0092ON-2H; Thu, 14 Sep 2023 18:07:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=DVM5Y9GchlYycYoe4MGIo5Kf5CTVmd8xy8ZARREdE/8=; b=SAh4R3lRHvnhPlZeNIxjJdVqBc Mk0AoHkAFXaS6l/17Qv/R8L3TzYN2RnNSLENcMR0QLpY9x27DT37TD3jO3c7mn2QectFuXNDTe5K6 XzIJ5v5FqOSKTDgxd5VIyYaWnTLtpZQC7Jhmw4ifTjfeRktttX4bQLJ4ayglE8n4PNFkZ7AB5Wlac zcxe9nw33PhorsMEfgbsPlm1x3F2nLP8YzXK3Xkec7jx0Jn0lPINXCgGnKbjbsxsNaReIGFA+a1iP CjtgY8S6DqsN7dVpdnOSMyY6fPpjxrFdahQTcMJyWy85fyeGU27thT/Hwr8GI8hGyoh53EmBS++x9 m1mZKXvA==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:33982) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qgqkD-0004gP-2T; Thu, 14 Sep 2023 19:07:13 +0100 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1qgqkD-0004zA-Ty; Thu, 14 Sep 2023 19:07:13 +0100 Date: Thu, 14 Sep 2023 19:07:13 +0100 From: "Russell King (Oracle)" To: Vladimir Oltean Cc: =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= , Andrew Lunn , Florian Fainelli , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Woojung Huh , UNGLinuxDriver@microchip.com, Linus Walleij , Alvin =?utf-8?Q?=C5=A0ipraga?= , Daniel Golle , Landen Chao , DENG Qingfang , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , mithat.guner@xeront.com, erkin.bozoglu@xeront.com, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH 2/4] dt-bindings: net: dsa: document internal MDIO bus Message-ID: References: <20230827121235.zog4c3ehu2cyd3jy@skbuf> <676d1a2b-6ffa-4aff-8bed-a749c373f5b3@arinc9.com> <87325ce9-595a-4dda-a6a1-b5927d25719b@arinc9.com> <20230911225126.rk23g3u3bzo3agby@skbuf> <036c0763-f1b2-49ff-bc82-1ff16eec27ab@arinc9.com> <20230912193450.h5s6miubag46z623@skbuf> <6cec079e-991e-4222-a76d-d6156de0daca@arinc9.com> <20230913074231.5azwxqjuv2wp5nik@skbuf> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230914_110726_753632_4ECFA150 X-CRM114-Status: GOOD ( 37.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBTZXAgMTQsIDIwMjMgYXQgMDc6MDY6MTFQTSArMDEwMCwgUnVzc2VsbCBLaW5nIChP cmFjbGUpIHdyb3RlOgo+IE9uIFdlZCwgU2VwIDEzLCAyMDIzIGF0IDA0OjU5OjE5UE0gKzAxMDAs IFJ1c3NlbGwgS2luZyAoT3JhY2xlKSB3cm90ZToKPiA+IE9uIFdlZCwgU2VwIDEzLCAyMDIzIGF0 IDEwOjQyOjMxQU0gKzAzMDAsIFZsYWRpbWlyIE9sdGVhbiB3cm90ZToKPiA+ID4gT24gV2VkLCBT ZXAgMTMsIDIwMjMgYXQgMDg6NTI6MzdBTSArMDMwMCwgQXLEsW7DpyDDnE5BTCB3cm90ZToKPiA+ ID4gPiBPbiAxMi4wOS4yMDIzIDIyOjM0LCBWbGFkaW1pciBPbHRlYW4gd3JvdGU6Cj4gPiA+ID4g PiBPbiBUdWUsIFNlcCAxMiwgMjAyMyBhdCAxMDoyMzo1MVBNICswMzAwLCBBcsSxbsOnIMOcTkFM IHdyb3RlOgo+ID4gPiA+ID4gPiBUaGUgcGh5bGluayBiaW5kaW5ncyBmb3IgdXNlciBwb3J0cyBJ IGVuZGVkIHVwIG1ha2luZyBieSBsb29raW5nIHVwIHRoZQo+ID4gPiA+ID4gPiBleGlzdGluZyBk ZXZpY2V0cmVlcyBhcmUgZGlmZmVyZW50IHRoYW4gdGhlIHBoeWxpbmsgYmluZGluZ3MgZm9yIHRo ZSBzaGFyZWQKPiA+ID4gPiA+ID4gKENQVSBhbmQgRFNBKSBwb3J0cyBjdXJyZW50bHkgZW5mb3Jj ZWQgb24gYWxsIHN3aXRjaGVzLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gTXkgcGh5bGluayBi aW5kaW5ncyBmb3IgdXNlciBwb3J0czoKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ICAgICAgICAg ICAgICBhbGxPZjoKPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgLSBhbnlPZjoKPiA+ID4gPiA+ ID4gICAgICAgICAgICAgICAgICAgIC0gcmVxdWlyZWQ6IFsgZml4ZWQtbGluayBdCj4gPiA+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAtIHJlcXVpcmVkOiBbIHBoeS1oYW5kbGUgXQo+ID4gPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgLSByZXF1aXJlZDogWyBtYW5hZ2VkIF0KPiA+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgIC0gaWY6Cj4gPiA+ID4gPiA+ICAgICAgICAg ICAgICAgICAgICByZXF1aXJlZDogWyBmaXhlZC1saW5rIF0KPiA+ID4gPiA+ID4gICAgICAgICAg ICAgICAgICB0aGVuOgo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgbm90Ogo+ID4gPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyBtYW5hZ2VkIF0KPiA+ID4gPiA+ IAo+ID4gPiA+ID4gUmlnaHQsIGl0IHNob3VsZCBoYXZlIGJlZW4gYW55T2YgYW5kIG5vdCBvbmVP Zi4uIG15IG1pc3Rha2UuIEl0IGlzIGEgYnVnCj4gPiA+ID4gPiB3aGljaCBzaG91bGQgYmUgZml4 ZWQuIEl0J3MgdGhlIHNhbWUgcGh5bGluayB0aGF0IGdldHMgdXNlZCBpbiBib3RoIGNhc2VzLAo+ ID4gPiA+ID4gdXNlciBwb3J0cyBhbmQgc2hhcmVkIHBvcnRzIDopCj4gPiA+ID4gCj4gPiA+ID4g T25lIG1vcmUgdGhpbmcsIEkgZG9uJ3QgcmVjYWxsIHBoeS1tb2RlIGJlaW5nIHJlcXVpcmVkIHRv IGJlIGRlZmluZWQgZm9yCj4gPiA+ID4gdXNlciBwb3J0cyBhcyBpdCB3aWxsIGRlZmF1bHQgdG8g R01JSS4gSSBkb24ndCBiZWxpZXZlIHRoaXMgaXMgdGhlIHNhbWUKPiA+ID4gPiBjYXNlIGZvciBz aGFyZWQgcG9ydHMgc28gcGh5LW1vZGUgaXMgcmVxdWlyZWQgb25seSBmb3IgdGhlbT8KPiA+ID4g Cj4gPiA+IHBoeS1tb2RlIGlzIG5vdCBzdHJpY3RseSByZXF1aXJlZCwgYnV0IEkgdGhpbmsgdGhl cmUgaXMgYSBzdHJvbmcKPiA+ID4gcHJlZmVyZW5jZSB0byBzZXQgaXQuIElJUkMsIHdoZW4gbG9v a2luZyBhdCB0aGUgRFNBIGRldmljZSB0cmVlcywgdGhlcmUKPiA+ID4gd2FzIG5vIGNhc2Ugd2hl cmUgcGh5LW1vZGUgd291bGQgYmUgYWJzZW50IG9uIENQVS9EU0EgcG9ydHMgaWYgdGhlIG90aGVy Cj4gPiA+IGxpbmsgcHJvcGVydGllcyB3ZXJlIGFsc28gcHJlc2VudCwgc28gd2UgcmVxdWlyZWQg aXQgdG9vLiBUaGVyZSB3ZXJlIG5vCj4gPiA+IGNvbXBsYWludHMgaW4gMSB5ZWFyIHNpbmNlIGRz YV9zaGFyZWRfcG9ydF92YWxpZGF0ZV9vZigpIGlzIHRoZXJlLiBUaGUKPiA+ID4gcmVxdWlyZW1l bnQgY2FuIGJlIHJlbGF4ZWQgdG8ganVzdCBhIHdhcm5pbmcgYW5kIG5vIGVycm9yIGluIHRoZSBr ZXJuZWwsCj4gPiA+IGFuZCB0aGUgcmVtb3ZhbCBvZiAicmVxdWlyZWQiIGluIHRoZSBzY2hlbWEs IGlmIGl0IGhlbHBzIG1ha2luZyBpdAo+ID4gPiBjb21tb24gd2l0aCB1c2VyIHBvcnRzLgo+ID4g Cj4gPiBIb3dldmVyLCBwaHlsaW5rIHByZXR0eSBtdWNoIHJlcXVpcmVzIHBoeS1tb2RlIHRvIGJl IHNwZWNpZmllZCB0byBiZQo+ID4gc29tZXRoaW5nIHNhbmUgZm9yIHNoYXJlZCBwb3J0cywgc28g SSB3b3VsZG4ndCBiZSBpbiBmYXZvdXIgb2YgcmVsYXhpbmcKPiA+IHRoZSBjaGVja2lubmcgaW4g ZHNhX3NoYXJlZF9wb3J0X3ZhbGlkYXRlX29mKCkuLi4gbm90IHVubGVzcyB5b3UncmUKPiA+IG5v dyBnb2luZyB0byBhY2NlcHQgdGhlIGFwcHJvYWNoIEkgb3JpZ2luYWxseSBwcm9wb3NlZCB0byBo YXZlIERTQQo+ID4gZHJpdmVycyB0ZWxsIHRoZSBjb3JlIChhbmQgdGh1cyBwaHlsaW5rKSB3aGF0 IHBoeS1tb2RlIGFuZCBvdGhlciBsaW5rCj4gPiBwYXJhbWV0ZXJzIHNob3VsZCBiZSB1c2VkIHdo ZW4gdGhleSBhcmUgbWlzc2luZyBmcm9tIERULgo+IAo+IFlvdSBtZWFuIHRoZSBhcHByb2FjaCB0 aGF0IEkgcGlja2VkIHVwIHVzaW5nIHNvZnR3YXJlIG5vZGVzIHRoYXQgZ290Cj4gdGhyb3duIG91 dCBieSB0aGUgc29mdHdhcmUgbm9kZSBwZW9wbGU/IFRoYXQgYXBwcm9hY2ggdGhhdCBJIHBpY2tl ZAo+IHVwIGZyb20geW91IGFuZCB0cmllZCB0byBnZXQgbWVyZ2VkPwo+IAo+IE5vLCB0aGF0J3Mg bm90IGdvaW5nIHRvIGhhcHBlbiwgYW5kIGl0J3Mgbm90IGEgcXVlc3Rpb24gb2Ygd2hldGhlcgo+ IF9JXyBhbSBnb2luZyB0byBhY2NlcHQgdGhhdCBhcHByb2FjaCBvciBub3QuIFNvIGRvbid0IHRo cm93IHRoYXQKPiBiYWNrIG9uIG1lLCBwbGVhc2UuCj4gCj4gSWYgdGhpcyBpcyBzb21ldGhpbmcg dGhhdCB3ZSB3YW50IHRvIHNvbHZlLCB3ZSBuZWVkIHRvIHN0b3AgYmVpbmcgc28KPiBkZXZpc2l2 ZSAoeW91ciBsYW5ndWFnZSBhYm92ZSBpcyBzbykgYW5kIHRyeSB0byBjb21lIHVwIHdpdGggYQo+ IHNvbHV0aW9uIHRoYXQgaXMgYWNjZXB0YWJsZSB0byBldmVyeW9uZS4uLiB0aGUgc3dub2RlIGFw cHJvYWNoCj4gZG9lc24ndCBzZWVtIHRvIGJlIGl0LgoKT2ggZGVhci4gSSBtdXN0IGJlIGdvaW5n IG1hZCEKCi0tIApSTUsncyBQYXRjaCBzeXN0ZW06IGh0dHBzOi8vd3d3LmFybWxpbnV4Lm9yZy51 ay9kZXZlbG9wZXIvcGF0Y2hlcy8KRlRUUCBpcyBoZXJlISA4ME1icHMgZG93biAxME1icHMgdXAu IERlY2VudCBjb25uZWN0aXZpdHkgYXQgbGFzdCEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK