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 87876C27C77 for ; Tue, 11 Jun 2024 15:39: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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:To:Date :From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=FvGRB0T9ZG8QfgWkgKJBIRo3forjRdtWV6/53O+BO6c=; b=RnGEGKITWZGbDC pQgj4ONbas+myeU+CitWcYucOrpbmW6RIpo4MuW6lJhDjfgc5qkO6cE2ABLPMJlkSgsrby+yWUOTx 4v8Uoc8q57BQ7ybSPDIRapbVUrFwyglVPsO5G1nqicCj1G625xpGJ8uLeHDs8MVMfUssPdDl7A6JA AWVBep7gVh0xF9cG7ujICHQFnMiAOnlx9Qea/b2hGTwJE6nsJtxY4CmpM8WkOqsmXMFxGPh4o9NhI QlGqHlNkCVA8IAE9mj4sGhFHRPdjprW3sCneRjSWEjq4kgIighkAjnjCLOCVYCtfmS3QyyasXgOLv 1kXC5jffpfBMeyMs+aCg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sH3af-00000009MSI-23ay; Tue, 11 Jun 2024 15:39:17 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sH3aZ-00000009MR0-2o1a for linux-arm-kernel@lists.infradead.org; Tue, 11 Jun 2024 15:39:14 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-57a31d63b6bso8764702a12.0 for ; Tue, 11 Jun 2024 08:39:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1718120346; x=1718725146; darn=lists.infradead.org; h=content-transfer-encoding:content-disposition:mime-version :mail-followup-to:message-id:subject:to:date:from:from:to:cc:subject :date:message-id:reply-to; bh=hLG3B4Y+fGWVVVSqMDpP2O4ocS16RJ3mfLQLjDGSKMU=; b=BgFVgIT/togygwyz8HUnWLhinGUqwSmMkftiB4dZN860VogFBuvw8X0dV0wdeIQxQr /yrxxnL++7yfoZOtkOMRQofRe9q7y2T/BibkyeTZ2uE7JEvrPtwQV9yzNh3R0Xia76mr nAEzQycPC4xxljIo6MakLgr4cTwQUbwsa0zzLqAqJyw4xELHy5MEkxDzVuQqpO7+D0zB KZKYztT6a4C1LrjQiMTGJMlNLYvS8OJLYvlNm59MeF9FJJfH0fTJSUI6h3WBdUDoabuy r4bosRL1/NbZ2HxrZ1ksbst7YHepGb17L56ttbT1vDOQLm0fp6k5jrQTr3aqv7xpQz7w 6uDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718120346; x=1718725146; h=content-transfer-encoding:content-disposition:mime-version :mail-followup-to:message-id:subject:to:date:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=hLG3B4Y+fGWVVVSqMDpP2O4ocS16RJ3mfLQLjDGSKMU=; b=M1LkEJE6Z0V9YyjcC8bf783oKwwfJGwdKE3iRsaf/howupqzSUYAWVCfIm+GikonDi kGiiZgwFl9yq/k/Kae1VUlh1gp6KSWR14qp6QxCI03Od24T2B1GUCh8tl2dqQDFq6cnZ Ps7uuGOvFrD50aQK8NYyClCWu/Dy7yrHIEoAR7nKTC9WA+wkF+vRaBV1jSPGpV5gOJsw z61h4uOhIuf6thoaKF6KUQScY9HEH0Ap6Tje/m0mlN8yny0ajsA3H7tuST/ohlsrYeDy HHH4kFDeORa5k0s0FA0woK7LwGhaITK6KPyhXJKaVORQww7n/Or/IO7DnRUhbCsc0Rgl l7Tg== X-Forwarded-Encrypted: i=1; AJvYcCXntjSsu9S22nte51MVw3dTGe19SyXB4QQuQFLikzo2rTUseufIsY0XgmjtSVwuRJvk1gv+Es2fR1NqFbwMb+mWTENtp1b6HUJh8egaH6rcoOERh/M= X-Gm-Message-State: AOJu0YxHznCt5aSvW8ObUVQpnEkidllYCVUeh0WClY6Lb85xwZxQ13bH T7T0wnrxDpRq0E4rmnppvvvreWSyGyeDqdV1uBb4n8vTg9N598Qsne6Goz6yMh8= X-Google-Smtp-Source: AGHT+IGAiKP4S1ta0ypfd8GPYxs98AzoX0FvmrkDa7V2d9yDAJ1SdodaZM4gcGz3kq8Xk2Ny5tPKCw== X-Received: by 2002:a17:906:128d:b0:a6f:40d5:e287 with SMTP id a640c23a62f3a-a6f40d5e332mr58510666b.74.1718120346331; Tue, 11 Jun 2024 08:39:06 -0700 (PDT) Received: from localhost (host-79-27-228-9.retail.telecomitalia.it. [79.27.228.9]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6ef7913eb8sm537255666b.178.2024.06.11.08.39.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jun 2024 08:39:06 -0700 (PDT) From: Andrea della Porta X-Google-Original-From: Andrea della Porta Date: Tue, 11 Jun 2024 17:39:23 +0200 To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Florian Fainelli , Broadcom internal kernel review list , Stefan Wahren , devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bjorn Helgaas , linux-pci@vger.kernel.org, Dave Ertman , Lizhi Hou , clement.leger@bootlin.com Subject: Raspberry Pi5 - RP1 driver - RFC Message-ID: Mail-Followup-To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Florian Fainelli , Broadcom internal kernel review list , Stefan Wahren , devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bjorn Helgaas , linux-pci@vger.kernel.org, Dave Ertman , Lizhi Hou , clement.leger@bootlin.com MIME-Version: 1.0 Content-Disposition: inline X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240611_083911_750158_C9C5597F X-CRM114-Status: GOOD ( 21.87 ) 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 SGksCkknbSBvbiB0aGUgdmVyZ2Ugb2YgcmV3b3JraW5nIHRoZSBSUDEgZHJpdmVyIGZyb20gZG93 bnN0cmVhbSBpbiBvcmRlciBmb3IgaXQgdG8gYmUKaW4gZ29vZCBzaGFwZSBmb3IgdXBzdHJlYW0g aW5jbHVzaW9uLgpSUDEgaXMgYW4gTUZEIGNoaXBzZXQgdGhhdCBhY3RzIGFzIGEgc291dGgtYnJp ZGdlIFBDSWUgZW5kcG9pbnQgc3BvcnRpbmcgYSBwbGV0b3JhCm9mIHN1YmRldmljZXMgKGkuZS4g IEV0aGVybmV0LCBVU0IgaG9zdCBjb250cm9sbGVyLCBJMkMsIFBXTSwgZXRjLikgd2hvc2UgcmVn aXN0ZXJzCmFyZSBhbGwgcmVhY2hhYmxlIHN0YXJ0aW5nIGZyb20gYW4gb2Zmc2V0IGZyb20gdGhl IEJBUiBhZGRyZXNzLgpUaGUgbWFpbiBwb2ludCBoZXJlIGlzIHRoYXQgd2hpbGUgdGhlIFJQMSBh cyBhbiBlbmRwb2ludCBpdHNlbGYgaXMgZGlzY292ZXJhYmxlIHZpYQp1c3VhbCBQQ0kgZW51bWVy YWl0b24sIHRoZSBkZXZpY2VzIGl0IGNvbnRhaW5zIGFyZSBub3QgZGlzY292ZXJhYmxlIGFuZCBt dXN0IGJlCmRlY2xhcmVkIGUuZy4gdmlhIHRoZSBkZXZpY2V0cmVlLiBUaGlzIGlzIGFuIFJGQyBh Ym91dCB0aGUgY29ycmVjdCBhcHByb2FjaCB0byB1c2UKaW4gaW50ZWdyYXRpbmcgdGhlIGRyaXZl ciBhbmQgcmVnaXN0ZXJpbmcgdGhlIHN1YmRldmljZXMuCgoKLS0tIENVUlJFTlQgRE9XTlNUUkVB TSBBUFBST0FDSCAtLS0KClRoZSBEVFMgc2hvd3Mgc29tZXRoaW5nIGxpa2UgdGhpcyAoc2VlIFsx XSBhbmQgWzJdKToKCnBjaWUgewoJY29tcGF0aWJsZSA9ICJicmNtLGJjbTI3MTItcGNpZSI7Cgkj YWRkcmVzcy1jZWxscyA9IDwweDAzPjsKCSNzaXplLWNlbGxzID0gPDB4MDI+OwoJcmFuZ2VzID0g PDB4MjAwMDAwMCAweDAwIDB4MDAgICAweDFmIDB4MDAgICAweDAwIDB4ZmZmZmZmZmM+OwoJLi4u CgoJcnAxIHsKCQljb21wYXRpYmxlID0gInNpbXBsZS1idXMiOwoJCSNhZGRyZXNzLWNlbGxzID0g PDB4MDI+OwogICAgICAgICAgICAgICAJI3NpemUtY2VsbHMgPSA8MHgwMj47CgoJCXJhbmdlcyA9 IDwweGMwIDB4NDAwMDAwMDAgICAweDIwMDAwMDAgMHgwMCAweDAwICAgMHgwMCAweDQwMDAwMD47 CgkJLi4uCgoJCXNlcmlhbEAzNDAwMCB7CgkJCWNvbXBhdGlibGUgPSAiYXJtLHBsMDExLWF4aSI7 CgkJCXJlZyA9IDwweGMwIDB4NDAwMzQwMDAgICAweDAwIDB4MTAwPjsKCQkJLi4uCgkJfTsKCX07 Cn07CgpUaGUgUENJIGJhciBhZGRyZXNzIGhlcmUgaXMgYXQgQ1BVIHBoeXNpY2FsIGFkZHJlc3Mg MHgxZjAwMDAwMDAwIGFuZCB0aGUgUlAxIGRyaXZlcgpwcm9iZSBmdW5jdGlvbiBjYWxscyBvZl9w bGF0Zm9ybV9wb3B1bGF0ZSgpIG9uIHRoZSAncnAxJyBub2RlIHRvIHJlZ2lzdGVyIHRoZSBwbGF0 Zm9ybQpkcml2ZXJzIGZvciBlYWNoIHN1YmRldmljZXMgKGUuZy4gaW4gdGhlIGFib3ZlIGV4YW1w bGU6ICdzZXJpYWxAMzQwMDAnKS4KClByb3M6Ci0gcXVpdGUgc3RyYWlnaHRmb3J3YXJkIHRvIGlt cGxlbWVudAotIFJQMSdzIGR0cyByZXNpZGVzIGluIHRoZSBkaXJlY3RvcnkgaXQgc2hvdWxkIChw b3NzaWJseSBidXQgbm90IG5lY2Vzc2FyaWx5KSBiZWxvbmcgdG8sCiAgZS5nLiBzb21ld2hlcmUg dW5kZXIgYXJjaC8qL2Jvb3QvZHRzLy4uLgoKQ29uczoKLSB0aGUgYm9hcmQgZHRzIG11c3QgbWFu dWFsbHkgb3ZlcnJpZGUgJ3BjaWUnIHJhbmdlcyAoaW4gdGhpcyBjYXNlIDB4MWYwMDAwMDAwMCkK ICBkZXBlbmRpbmcgb24gdGhlIEJBUiBhZGRyZXNzIHZhbHVlLCB3aGlsZSBpdCBzaG91bGQgYmUg cmV0cmlldmVkIGJ5IHJlYWRpbmcgdGhlIFBDSQogIGNvbmZpZyByZWdpc3RlciBpbnN0ZWFkCi0g dGhlIHByb2JlKCkgZnVuY3Rpb24gcmV0aWV2ZXMgYSByZWZlcmVuY2UgdG8gJ3JwMScgbm9kZSB2 aWEgb2ZfZmluZF9ub2RlX2J5X25hbWUoTlVMTCwgCiAgInJwMSIpLCBoYXJjb2RpbmcgdGhlIG5v ZGUgbmFtZS4gVGhpcyBpcyBub3QgZGVzaXJhYmxlIHNpbmNlIHRoZSBub2RlIG5hbWUgaXMgdGhl biBzZXQKICBpbiBzdG9uZSwgb3Igb3RoZXJ3aXNlIGlmIHRoZSBub2RlIG5hbWUgbmVlZHMgdG8g YmUgY2hhbmdlZCBpdCBtdXN0IGJlIGNoYW5nZWQgZWl0aGVyCiAgaW4gdGhlIGR0cyAqYW5kKiBp biBkcml2ZXIgY29kZS4KCgotLS0gUk9CIEhFUlJJTkcsIExJWkhJIEhPVSAoZXQgYWwuKSBQUk9Q T1NFRCBBUFBST0FDSCAtLS0KCkEgcHJvcG9zYWwgKHNlZSBbM10pIHByZXNlbnRlZCBhdCAgTFBD IGFkdmlzZSB0byBjcmVhdGUgYSBQQ0kgYnJpZGdlIERUIG5vZGUgKCdwY2llJykgbGV2ZXJhZ2lu Zwp0aGUgY3VycmVudCBPRiBkeW5hbWljIGluZnJhc3RydWN0dXJlLCBhZGRpbmcgYSBkdGIgb3Zl cmxheSAoJ3JwaTEnIG5vZGUgaW4gdGhlIGV4YW1wbGUKYWJvdmUpIG9uIHRvcCBvZiBpdCBkdXJp bmcgcHJvYmUgYW5kIHJlYXJyYW5naW5nIHRoZSAncmFuZ2VzJyBtYXBwaW5nIGR5bmFtaWNhbGx5 LgpUaGlzIHNvdW5kcyBsaWtlIHRoZSBjb3JyZWN0IGFwcHJvYWNoIGFuZCBpcyBzb21ld2hhdCB1 c2VkIGluIGF0IGxlYXN0IGEgY291cGxlIG9mIGRyaXZlcnMKKG5hbWVseSBmb3IgQWx2ZW8gVTUw IGNhcmQgYW5kIE1pY3JvQ2hpcCBMQU45NjYyIFNvQykgYnV0IEFGQUlLIG5vbmUgb2YgdGhlbSBt YWRlIHRoZWlyIHdheQp0byBtYWlubGluZSwgbGVhdmluZyBzb21lIGRvdWJ0cyBhYm91dCB0aGUg YXBwbGljYWJpbGl0eSBvZiB0aGlzIHBhcmFkaWdtLgoKUHJvczoKLSBubyBuZWVkIHRvIHByb3Zp ZGUgdGhlIEJBUiBhZGRyZXNzIG1hbnVhbGx5IHNpbmNlIGl0IHdpbGwgYmUgZGlzY292ZXJlZCBh bmQgYXV0b21hdGljYWxseQogIGFtZW5kZWQgaW50byB0aGUgJ3JhbmdlcycgcHJvcGVydHkKLSBu byBoYXJjb2RlZCByZWZlcmVuY2UgdG8gJ3JwMScgbm9kZSBzaW5jZSB0aGUgZW5kcG9pbnQgbm9k ZSB3aWxsIGJlIHJlcGFyZW50ZWQgdG8gdGhlICdwY2llJwogIG5vZGUgYXV0b21hdGljYWxseQot IHRoZSBjb3JlIE9GIGR5bmFtaWMgaW5mcmFzdHJ1Y3R1cmUgb24gd2hpY2ggdG8gYmFzZSB0aGVz ZSBjaGFuZ2VzIGFyZSBiYXNpY2FsbHkgYWxyZWFkeSBpbiAKICBtYWlubGluZSAoc2VlIFs0XSBm b3IgZGlzY3Vzc2lvbnMpCgpDb25zIChhbGJlaXQgSSdkIGNvbnNpZGVyIHRoZW0gbWlub3Igb25l cyk6Ci0gQ09ORklHX1BDSV9EWU5BTUlDX09GX05PREVTIG11c3QgYmUgZW5hYmxlZAotIHRoZSBk dGIgc2hvdWxkIHByb2JhYmx5IHJlc2lkZSBzb21ld2hlcmUgbmVhciB0aGUgZHJpdmVyIHNvdXJj ZSBjb2RlLCBlLmcuIGluIGRyaXZlcnMvbWZkLy4uLgoKCi0tLSBBVVhJTElBUlkgQlVTIEFQUFJP QUNIIC0tLQoKVGhlIHRocmVhZCBpbiBbNV0gc2VlbXMgdG8gYWR2aXNlIHRvIHVzZSB0aGUgYXV4 aWxpYXJ5IGJ1cyBmb3IgdGhpcyBraW5kIG9mIGRldmljZXMuIEluIHRoaXMKY2FzZSwgaGVyZSdz IHRoZSBkcmF3YmFja3M6CgotIGFzIHN0YXRlZCBpbiBrZXJuZWwgZG9jcyBmb3IgYXV4IGJ1cyAo Y2l0LikgIm5lZWQgYSBtZWNoYW5pc20gdG8gY29ubmVjdCBhbmQgcHJvdmlkZSBhY2Nlc3MKICB0 byBhIHNoYXJlZCBvYmplY3QgYWxsb2NhdGVkIGJ5IHRoZSBhdXhpbGlhcnlfZGV2aWNl4oCZcyBy ZWdpc3RlcmluZyBkcml2ZXIuLi4iLCBhbmQgYWdhaW4gCiAgKGNpdC4pICJBIGtleSByZXF1aXJl bWVudCBmb3IgdXRpbGl6aW5nIHRoZSBhdXhpbGlhcnkgYnVzIGlzIHRoYXQgdGhlcmUgaXMgbm8g ZGVwZW5kZW5jeSBvbgogIGEgcGh5c2ljYWwgYnVzLi4uVGhlc2UgaW5kaXZpZHVhbCBkZXZpY2Vz IHNwbGl0IGZyb20gdGhlIGNvcmUgY2Fubm90IGxpdmUgb24gdGhlIHBsYXRmb3JtCiAgYnVzIGFz IHRoZXkgYXJlIG5vdCBwaHlzaWNhbCBkZXZpY2VzIHRoYXQgYXJlIGNvbnRyb2xsZWQgYnkgRFQv QUNQSSIuIFRob3NlIHN0YXRlbWVudHMgYXJlCiAgb2YgY291cnNlIGF0IHRoZSBvcHBvc2l0ZSBv ZiBob3cgUlAxIGJlaGF2ZXMKLSBzdWJkZXZpY2VzIGRyaXZlcnMgbWF5IG5lZWQgcmV3b3JrIGlu IG9yZGVyIHRvIGNvcGUgd2l0aCB0aGUgYXV4aWxpYXJ5IGJ1cywgd2hpbGUgd2UgbmVlZCB0bwog IHVzZSB0aGUgYWxyZWFkeSBleGlzdGluZyBkcml2ZXJzIHdpdGhvdXQgbW9kaWZpY2F0aW9ucwoK c28sIGZvciBhbGwgb2YgdGhlIGFib3ZlIChhbmQgcHJvYmFibHkgb3RoZXIgY29ucyBJJ20gbm90 IGF3YXJlIG9mIHJpZ2h0IG5vdyksIHRoZSBhdXhpbGlhcnkgYnVzCmRvZXMgbm90IHNlZW1zIGZl YXNpYmxlIHRvIGJlIHVzZWQsIGJ1dCBJJ20gbWVudGlvbmluZyBpdCBqdXN0IGJlY2F1c2Ugb2Yg dGhlIGRpc2N1c3Npb25pbiBpbiBbNV0KdGhhdCBsZXQgbWUgd29uZGVyIHdoZXRoZXIgSSBtYXkg YmUgbWlzc2luZyBzb21ldGhpbmcgcmVsZXZhbnQgaGVyZS4KCgpDT05DTFVTSU9OUwoKQWxsIGlu IGFsbCwgSSdkIHNheSBSb2IncyBhcHByb2FjaCBzaG91bGQgYmUgdGhlIHdheSB0byBnbywgYW55 IHRob3VnaHRzIGFib3V0IGl0IHdpbGwgYmUKZ3JlYXRseSBhcHByZWNpYXRlZC4KCk1hbnkgdGhh bmtzLApBbmRyZWEgZGVsbGEgUG9ydGEKCkxpbms6Ci0gWzFdOiBodHRwczovL2dpdGh1Yi5jb20v cmFzcGJlcnJ5cGkvbGludXgvYmxvYi9ycGktNi42LnkvYXJjaC9hcm0vYm9vdC9kdHMvYnJvYWRj b20vcnAxLmR0c2kKLSBbMl06IGh0dHBzOi8vZ2l0aHViLmNvbS9yYXNwYmVycnlwaS9saW51eC9i bG9iL3JwaS02LjYueS9kcml2ZXJzL21mZC9ycDEuYwotIFszXTogaHR0cHM6Ly9scGMuZXZlbnRz L2V2ZW50LzE3L2NvbnRyaWJ1dGlvbnMvMTQyMS9hdHRhY2htZW50cy8xMzM3LzI2ODAvTFBDMjAy MyUyME5vbi1kaXNjb3ZlcmFibGUlMjBkZXZpY2VzJTIwaW4lMjBQQ0kucGRmCi0gWzRdOiBodHRw czovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjMwNDE5MjMxMTU1LkdBODk5NDk3LXJvYmhAa2Vy bmVsLm9yZy90LwotIFs1XTogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9ZODYyV1RUMDMl MkZKeFhVRzhAa3JvYWguY29tLwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=