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 D0438C982E6 for ; Mon, 21 Sep 2026 23:44:34 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Cc:To:From:Subject:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=31MsG0Iyu5Snp0iY4Wj0dQ6PPMabT6bbj8xFREHQJsc=; b=NenUUvIe2qE5iw u3utJlMrmUOwxaapKcliPyPsy/JZWZ/SwE5ORxEzjC7c/zCs7HAl3zaqxvWxPT/4K8hN+xkwE9t7X DnrCnQurF4O777562PkpzauJ+rFIHKw0VL7otLr0ArPo0dZZSDBliKIYwjukj7yVlzoekqaJ03tnW W7ovBsxNoCMvNaXZzlErOr2bONRx5gHL4OUHnHoz7b/wdhdxhuTSPUqPLQoK72WBRB48xXvkbqPBe PWbN7RD/246s53dYbOgZry1G5c1Uvzn7gYZjcYN2ErrH33Py86NwrTqr7UN238K6vAH/6POxrjITF 2wdtU6TSz+Ic8RSOKWWg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x8ngU-00000003hr4-2M9o; Mon, 21 Sep 2026 23:44: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 1x8nfo-00000003hOm-40f3; Mon, 21 Sep 2026 23:43:50 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 2B5DE44A0E; Mon, 21 Sep 2026 23:43:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D32F1F000FF; Mon, 21 Sep 2026 23:43:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790034228; bh=Zl7eC8lMz4Pjw1I1o2N00til9DTBdWZKgKdDutJ66sY=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=YmXgLRbQFuCXw5d0EwgEbchKj4+EcLd4fsPiCuF3wrMwpsZCyG23IZfJK8gwJ/xD1 /0hB5qDTqqDsQa+fOa79OY/xk29RnT4rhbXnnOnn+8nOKdMDQpa/0Kr3RwExoLfHSV y3zeDAYyuJDNDWmcRg5OW9+FnnrrRi39s/Pggr8p/eTdT07y6xDV51m+OIzRGnqYz7 lh+vlxYZSqTVrPZkG/F9qCw4BGbjNUVv1Uq0eggSYx5Ehw3Gtwic/kQeQ8sNjGqDLQ Ddn5nCkwcHw1Hkq7FyY8Vjk/bKVdnvxeLf/IAULLZvW9hR9nJnJpHzOEOBRU6Qfbgv 9iDfjJ3Z8OG0A== Subject: Re: [PATCH net-next v7 06/11] net: pcs: xpcs: add ANRESTART support for SGMII link recovery From: netdev-bot+sashiko@kernel.org To: coiaprant@gmail.com Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, vkoul@kernel.org, maxime.chevallier@bootlin.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, prabhakar.mahadev-lad.rj@bp.renesas.com, romain.gantois@bootlin.com, hkallweit1@gmail.com, neil.armstrong@linaro.org, linux@armlinux.org.uk, shawn.lin@rock-chips.com, david@ixit.cz, netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-renesas-soc@vger.kernel.org Date: Mon, 21 Sep 2026 23:43:45 +0000 Message-ID: <179003422590.2160803.6200112625831511615@kernel.org> In-Reply-To: <20260917204624.2427486-7-coiaprant@gmail.com> References: <20260917204624.2427486-7-coiaprant@gmail.com> X-sashiko-severity: Medium MIME-Version: 1.0 X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwKaXNzdWUocykgdG8gY29uc2lkZXIuCgpDcml0aWNhbDogMCDCtyBIaWdoOiAw IMK3IE1lZGl1bTogMiDCtyBMb3c6IDAKCklmIHlvdSBiZWxpZXZlIG5vbmUgb2YgdGhlIGlzc3Vl cyBhcmUgbGVnaXRpbWF0ZSwgcGxlYXNlIHJlcGx5IHRvIGVhY2gKaXNzdWUgb2YgTWVkaXVtIHNl dmVyaXR5IG9yIGhpZ2hlciBhbmQgZXhwbGFpbiB3aHkgdGhlIEFJIGlzIHdyb25nLgpJZiBhbnkg b2YgdGhlbSBhcmUgbGVnaXRpbWF0ZSBhbmQgeW91IHBsYW4gdG8gcmVzcGluLCBwbGVhc2UgbGV0 IHBhdGNod29yawprbm93IGJ5IGluY2x1ZGluZyAicHctYm90OiBjciIgYXMgYSBzZXBhcmF0ZSBs aW5lIGF0IHRoZSBlbmQgb2YgeW91ciByZXBseQoob25lIHN1Y2ggcmVwbHkgcGVyIHNlcmllcyBp cyBlbm91Z2gpLgoKLSBbTWVkaXVtXSBUaGUgcmVjb3Zlcnkgc2VxdWVuY2UgaW4geHBjc19nZXRf c3RhdGVfYzM3X3NnbWlpKCkgY29uc3VtZXMKICB0aGUgb25seSBldmlkZW5jZSB0aGF0IGFuIFNH TUlJIEFOIGN5Y2xlIGNvbXBsZXRlZCAod3JpdGVzIDAgdG/igKYKLSBbTWVkaXVtXSBUaGUgbmV3 IEFOLXJlZ2lzdGVyIG11dGF0aW9ucyBpbiB4cGNzX2dldF9zdGF0ZV9jMzdfc2dtaWkoKQogIChs YXRjaCBjbGVhciArIEJNQ1JfQU5SRVNUQVJULCBwY3MteHBjcy5jOjExMTAtMTEyMSkgYXJlIHBl cmZvcm1lZOKApgoKLS0KCm5ldDogcGNzOiB4cGNzOiBhZGQgQU5SRVNUQVJUIHN1cHBvcnQgZm9y IFNHTUlJIGxpbmsgcmVjb3ZlcnkKClRoaXMgYWRkcyBCTUNSX0FOUkVTVEFSVCB0byB0aGUgQzM3 IFNHTUlJIHBhdGhzIG9mIHBjcy14cGNzOiB0aGUgY29uZmlnCnBhdGggbm93IGNsZWFycyBEV19W Ul9NSUlfQU5fSU5UUl9TVFMgYW5kIHNldHMgQU5SRVNUQVJUIHRvZ2V0aGVyIHdpdGgKQU5FTkFC TEUsIGFuZCB4cGNzX2dldF9zdGF0ZV9jMzdfc2dtaWkoKSBjbGVhcnMgdGhlIEFOIGNvbXBsZXRl IGxhdGNoIGFuZAppc3N1ZXMgYW4gQU5SRVNUQVJUIHdoZW4gdGhlIGxpbmsgaXMgZG93biBidXQg QU4gY29tcGxldGlvbiB3YXMgbGF0Y2hlZC4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Bj cy9wY3MteHBjcy5jIGIvZHJpdmVycy9uZXQvcGNzL3Bjcy14cGNzLmMKPiBpbmRleCAwMzM3ZTJi Y2MwMTI1Li44YzM4NzViNjk4NWI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L3Bjcy9wY3Mt eHBjcy5jCj4gKysrIGIvZHJpdmVycy9uZXQvcGNzL3Bjcy14cGNzLmMKClsgLi4uIF0KCj4gQEAg LTgxNiw5ICs4MjUsMTQgQEAgc3RhdGljIGludCB4cGNzX2NvbmZpZ19hbmVnX2MzN19zZ21paShz dHJ1Y3QgZHdfeHBjcyAqeHBjcywKPiAgCWlmIChyZXQgPCAwKQo+ICAJCXJldHVybiByZXQ7Cj4g IAo+ICsJLyogQ2xlYXIgQ0wzNyBBTiBjb21wbGV0ZSBzdGF0dXMgKi8KPiArCXJldCA9IHhwY3Nf d3JpdGUoeHBjcywgTURJT19NTURfVkVORDIsIERXX1ZSX01JSV9BTl9JTlRSX1NUUywgMCk7Cj4g KwlpZiAocmV0IDwgMCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiAgCWlmIChuZWdfbW9kZSA9PSBQ SFlMSU5LX1BDU19ORUdfSU5CQU5EX0VOQUJMRUQpCj4gIAkJcmV0ID0geHBjc193cml0ZSh4cGNz LCBNRElPX01NRF9WRU5EMiwgTUlJX0JNQ1IsCj4gLQkJCQkgbWRpb19jdHJsIHwgQk1DUl9BTkVO QUJMRSk7Cj4gKwkJCQkgbWRpb19jdHJsIHwgQk1DUl9BTkVOQUJMRSB8IEJNQ1JfQU5SRVNUQVJU KTsKPiAgCj4gIAlyZXR1cm4gcmV0Owo+ICB9CgpbU2V2ZXJpdHk6IE1lZGl1bV0KSXMgdGhlcmUg YW55dGhpbmcgc2VyaWFsaXppbmcgeHBjc19jb25maWdfYW5lZ19jMzdfc2dtaWkoKSBhZ2FpbnN0 CnhwY3NfZ2V0X3N0YXRlX2MzN19zZ21paSgpIG5vdyB0aGF0IGJvdGggbXV0YXRlIHRoZSBBTiBy ZWdpc3RlcnM/Cgp4cGNzX2NvbmZpZ19hbmVnX2MzN19zZ21paSgpIHJlYWRzIE1JSV9CTUNSIGF0 IGZ1bmN0aW9uIGVudHJ5LCBjbGVhcnMKQk1DUl9BTkVOQUJMRSwgcmVwcm9ncmFtcyBEV19WUl9N SUlfQU5fQ1RSTCBhbmQgRFdfVlJfTUlJX0RJR19DVFJMMSwKd3JpdGVzIEFOX0lOVFJfU1RTID0g MCwgYW5kIHRoZW4gd3JpdGVzIGJhY2sgdGhlIHZhbHVlIGl0IHJlYWQgYXQgZW50cnk6CgoJbWRp b19jdHJsID0geHBjc19yZWFkKHhwY3MsIE1ESU9fTU1EX1ZFTkQyLCBNSUlfQk1DUik7CgkuLi4K CXJldCA9IHhwY3Nfd3JpdGUoeHBjcywgTURJT19NTURfVkVORDIsIE1JSV9CTUNSLAoJCQkgbWRp b19jdHJsIHwgQk1DUl9BTkVOQUJMRSB8IEJNQ1JfQU5SRVNUQVJUKTsKCnhwY3NfbW9kaWZ5KCkg b25seSBob2xkcyBidXMtPm1kaW9fbG9jayBmb3IgYSBzaW5nbGUgcmVnaXN0ZXIKcmVhZC1tb2Rp Znktd3JpdGUsIG5vdCBmb3IgdGhlIHdob2xlIHNlcXVlbmNlLCBzbyBjYW4gdGhlc2UgaW50ZXJs ZWF2ZT8KCgl0aHJlYWQgQTogcGh5bGlua19yZXNvbHZlKCkgLT4gcGh5bGlua19tYWNfcGNzX2dl dF9zdGF0ZSgpIC0+CgkJICB4cGNzX2dldF9zdGF0ZV9jMzdfc2dtaWkoKSAgIChwbC0+c3RhdGVf bXV0ZXgsIG5vIHJ0bmwpCgl0aHJlYWQgQjogRVRIVE9PTF9HTElOS1NFVFRJTkdTIC8gU0lPQ0dN SUlSRUcgLT4KCQkgIHBoeWxpbmtfZXRodG9vbF9rc2V0dGluZ3NfZ2V0KCkgLyBwaHlsaW5rX21p aV9yZWFkKCkgLT4KCQkgIHBoeWxpbmtfbWFjX3Bjc19nZXRfc3RhdGUoKSAgKHJ0bmwgb25seSkK CXRocmVhZCBDOiBwaHlsaW5rX21ham9yX2NvbmZpZygpIC0+IHhwY3NfY29uZmlnKCkgLT4KCQkg IHhwY3NfY29uZmlnX2FuZWdfYzM3X3NnbWlpKCkKCnBoeWxpbmtfcmVzb2x2ZSgpIHRha2VzIHBs LT5waHlkZXZfbXV0ZXgsIHBoeS0+bG9jayBhbmQgcGwtPnN0YXRlX211dGV4IGJ1dApub3QgcnRu bCwgd2hpbGUgdGhlIGV0aHRvb2wgYW5kIGlvY3RsIHF1ZXJ5IHBhdGhzIHJlYWNoIHRoZSBzYW1l IG9wIHVuZGVyCnJ0bmwgb25seSwgc28gdGhlIGxvY2sgc2V0cyBkbyBub3QgYXBwZWFyIHRvIGlu dGVyc2VjdC4KCklmIGEgZ2V0X3N0YXRlKCkgc2V0cyBCTUNSX0FOUkVTVEFSVCB3aGlsZSB0aGUg Y29uZmlnIHBhdGggaGFzIEFORU5BQkxFCmNsZWFyZWQsIGlzIHRoYXQgcmVzdGFydCByZXF1ZXN0 IHNpbXBseSBsb3N0PyAgQW5kIGNhbiB0aGUgZmluYWwgYmxpbmQKd3JpdGUgb2YgdGhlIHN0YWxl IG1kaW9fY3RybCBhYm92ZSBkaXNjYXJkIEJNQ1IgYml0cyBzZXQgYnkgYSBjb25jdXJyZW50Cmdl dF9zdGF0ZSgpPyAgU2ltaWxhcmx5LCB0d28gY29uY3VycmVudCBnZXRfc3RhdGUoKSBjYWxscyBj YW4gYm90aCBvYnNlcnZlCnRoZSBzYW1lIGxhdGNoZWQgQU5DTVBMVCBhbmQgYm90aCBpc3N1ZSBh IHJlc3RhcnQsIHdpdGggdGhlIHNlY29uZAphYm9ydGluZyB0aGUgbmVnb3RpYXRpb24gdGhlIGZp cnN0IHN0YXJ0ZWQuCgpOb3RlIHRoYXQgdGhlIHByZS1wYXRjaCBjb2RlIGFscmVhZHkgd3JvdGUg dGhlIEFOX0lOVFJfU1RTIGxhdGNoIGZyb20gdGhlCmdldF9zdGF0ZSgpIHBhdGg7IGl0IGlzIHRo ZSBuZXdseSBhZGRlZCBCTUNSIHJlYWQtbW9kaWZ5LXdyaXRlIHRoYXQgbWFrZXMKdGhlIGludGVy bGVhdmluZyBjaGFuZ2UgaGFyZHdhcmUgc3RhdGUuCgo+IEBAIC0xMDkzLDkgKzExMDcsMTggQEAg c3RhdGljIGludCB4cGNzX2dldF9zdGF0ZV9jMzdfc2dtaWkoc3RydWN0IGR3X3hwY3MgKnhwY3Ms Cj4gIAkJcmV0dXJuIDA7Cj4gIAl9Cj4gIAo+IC0JLyogQ2xlYXIgQU4gY29tcGxldGUgc3RhdHVz IG9yIGludGVycnVwdCAqLwo+IC0JaWYgKHN0YXRlLT5hbl9jb21wbGV0ZSkKPiAtCQl4cGNzX3dy aXRlKHhwY3MsIE1ESU9fTU1EX1ZFTkQyLCBEV19WUl9NSUlfQU5fSU5UUl9TVFMsIDApOwo+ICsJ aWYgKHN0YXRlLT5hbl9jb21wbGV0ZSkgewo+ICsJCS8qIENsZWFyIEFOIGNvbXBsZXRlIHN0YXR1 cyBvciBpbnRlcnJ1cHQgKi8KPiArCQlyZXQgPSB4cGNzX3dyaXRlKHhwY3MsIE1ESU9fTU1EX1ZF TkQyLCBEV19WUl9NSUlfQU5fSU5UUl9TVFMsIDApOwo+ICsJCWlmIChyZXQgPCAwKQo+ICsJCQly ZXR1cm4gcmV0Owo+ICsKPiArCQkvKiBJbml0aWF0ZSB0aGUgbmV4dCByb3VuZCBvZiBBTiAqLwo+ ICsJCXJldCA9IHhwY3NfbW9kaWZ5KHhwY3MsIE1ESU9fTU1EX1ZFTkQyLCBNSUlfQk1DUiwgQk1D Ul9BTlJFU1RBUlQsCj4gKwkJCQkgIEJNQ1JfQU5SRVNUQVJUKTsKPiArCQlpZiAocmV0IDwgMCkK PiArCQkJcmV0dXJuIHJldDsKPiArCX0KCltTZXZlcml0eTogTWVkaXVtXQpDYW4gdGhpcyBzZXF1 ZW5jZSBwZXJtYW5lbnRseSBkaXNhYmxlIHRoZSByZWNvdmVyeSBpdCBhZGRzPwoKVGhlIHdyaXRl IG9mIDAgdG8gRFdfVlJfTUlJX0FOX0lOVFJfU1RTIGNvbnN1bWVzIHRoZSBvbmx5IHJlY29yZCB0 aGF0IGFuClNHTUlJIEFOIGN5Y2xlIGNvbXBsZXRlZCwgYW5kIHRoZSByZXN0YXJ0IGlzIHRoZW4g YSBzZXBhcmF0ZSBmYWxsaWJsZSBNRElPCnJlYWQtbW9kaWZ5LXdyaXRlOgoKZHJpdmVycy9uZXQv cGNzL3Bjcy14cGNzLmM6CmludCB4cGNzX21vZGlmeShzdHJ1Y3QgZHdfeHBjcyAqeHBjcywgaW50 IGRldiwgdTMyIHJlZywgdTE2IG1hc2ssIHUxNiBzZXQpCnsKCXJldHVybiBtZGlvZGV2X2M0NV9t b2RpZnkoeHBjcy0+bWRpb2RldiwgZGV2LCByZWcsIG1hc2ssIHNldCk7Cn0KCklmIHRoZSBsYXRj aCBjbGVhciBzdWNjZWVkcyBidXQgdGhlIHhwY3NfbW9kaWZ5KCkgZmFpbHMsIHRoZSBQQ1MgaXMg bGVmdAp3aXRoIEFOIG5laXRoZXIgY29tcGxldGUgbm9yIHJlc3RhcnRlZC4gIFRoZSByZS1lbnRy eSBnYXRlIGlzCmlmIChzdGF0ZS0+YW5fY29tcGxldGUpLCBhbmQgQU5fSU5UUl9TVFMgaXMgbm93 IDAsIHNvIGV2ZXJ5IGxhdGVyIHBvbGwKcmVhZHMgMCBhbmQgbmV2ZXIgcmV0cmllcy4KClRoZSBj YWxsZXIgb25seSBsb2dzIHRoZSBlcnJvcjoKCglyZXQgPSB4cGNzX2dldF9zdGF0ZV9jMzdfc2dt aWkoeHBjcywgc3RhdGUpOwoJaWYgKHJldCkKCQlkZXZfZXJyKCZ4cGNzLT5tZGlvZGV2LT5kZXYs ICIlcyByZXR1cm5lZCAlcGVcbiIsCgkJCSJ4cGNzX2dldF9zdGF0ZV9jMzdfc2dtaWkiLCBFUlJf UFRSKHJldCkpOwoKc28gbm8gcGVuZGluZy1yZXN0YXJ0IHN0YXRlIGlzIGtlcHQgYW55d2hlcmUu ICBXb3VsZCBjbGVhcmluZyB0aGUgbGF0Y2gKb25seSBhZnRlciBhIHN1Y2Nlc3NmdWwgcmVzdGFy dCB3cml0ZSwgb3Iga2VlcGluZyBhIGZsYWcgdGhhdCBmb3JjZXMgYQpyZXRyeSBvbiB0aGUgbmV4 dCBwb2xsLCBiZSBwcmVmZXJhYmxlIGhlcmU/CgpSZWxhdGVkIHRvIHRoaXMsIHRoZSBjb21taXQg bWVzc2FnZSBzYXlzOgoKICAgIElmIGFuIE1ESU8gYWNjZXNzIGZhaWxzIGF0IHRoaXMgcG9pbnQs IGl0IGluZGljYXRlcyBhbgogICAgdW5yZWNvdmVyYWJsZSBoYXJkd2FyZSBjb25kaXRpb24gdW50 aWwgcmVzZXQuCgpJcyB0aGF0IGFjY3VyYXRlPyAgLUVUSU1FRE9VVCBvciAtRUJVU1kgb24gYSBi dXN5IE1ESU8gYnVzIGlzIHRyYW5zaWVudCwKYW5kIGZvciB0aGUgUm9ja2NoaXAgZ2x1ZSBhZGRl ZCBsYXRlciBpbiB0aGUgc2VyaWVzIGEKcG1fcnVudGltZV9yZXN1bWVfYW5kX2dldCgpIGZhaWx1 cmUgaW4geHBjc19ya19yZWFkX3JlZygpIC8KeHBjc19ya193cml0ZV9yZWcoKSB3b3VsZCBhbHNv IHN1cmZhY2UgaGVyZSB3aXRob3V0IGltcGx5aW5nIHRoZSBQQ1MgbmVlZHMKYSByZXNldC4KCi0t IApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRwczovL25ldGRldi1haS5ib3RzLmxpbnV4LmRldi9z YXNoaWtvLyMvcGF0Y2hzZXQvMjAyNjA5MTcyMDQ2MjQuMjQyNzQ4Ni0xLWNvaWFwcmFudCU0MGdt YWlsLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K TGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1y b2NrY2hpcAo=