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 C68DEC25B75 for ; Mon, 3 Jun 2024 20:30:10 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AzIVIAWRouJQf/Fv/4CJuYzq25Hr9f4qkdMYqIZKj4Q=; b=cjHPgjjEFZvcx6 j4NoUZxUQr31XX4AjG0oEiSDGMAhXkIsGOl8kVFM9dtGM8UACw74W+k0/yNFX5/hlxNQvNg3T3693 BO1KNdSU/WjjlhfyeDnelDVWgOJw3+KsDH+OjBf0lnCDuHU4tm9ti+3fI1TWMy0Pxv5lc6/5prQ5J KnxZY3sHds5Pc0F6wHMKa0OGs2v70uGo2KyjI4n3c8bQHE2vodK3PqAvmxs7pR4rms9dYNRHp+ayR JQHJFQ7MGe5Yi4Op1xxZgjTpF6+aIUOp7Gvw9pARZ5fw6Zqm6tAUW0i927zQLO1mhLxHB1ddUBZ5d 7tzHCHP0H4fr+dU1MTFw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sEEJa-00000000IAf-2sOS; Mon, 03 Jun 2024 20:29:58 +0000 Received: from mail-vs1-xe2c.google.com ([2607:f8b0:4864:20::e2c]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sEEJW-00000000I8B-3Gl7 for linux-arm-kernel@lists.infradead.org; Mon, 03 Jun 2024 20:29:56 +0000 Received: by mail-vs1-xe2c.google.com with SMTP id ada2fe7eead31-48bd10e526cso109088137.1 for ; Mon, 03 Jun 2024 13:29:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717446586; x=1718051386; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=5X2AoY/lQVZz1FKCa6KHvqy44zzQ3mhz+ruaolMEMaw=; b=SQmnUMOoXvkQHFYohxrgGKD+OqGHTLywoue4GcrDdS05dr/zlDwbsgoIJz5hoKwd3X Y25bcw9RgWcWt4nGccyq32VFRAMgeCQL/PGbsC/sP4cofUiUI9wul2249Fg95C1MBAJZ nOqLM0dEzFhuSAFs5IHUSDIsSYVRZypdq4hjA6dgBrLWZ5W0/lZ7fuX/kzm1wXt2ZSgP A1VDSkka14b4fDBR1DQQC3BTd2oyoptPnWtqAaQEGjdtNbHU+NYzDGhdrtM8+qUGnIdY LY3mQM1+SAmCB1YldlyIVcbqj5/NBJAOw3YrhflC8wLzoR+1z8XHyEymoou2DAv1YiyD dmJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717446586; x=1718051386; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5X2AoY/lQVZz1FKCa6KHvqy44zzQ3mhz+ruaolMEMaw=; b=F7oo2Chjok18NACmsJZs6z4UAdkyuRE4nl22E2YqCgoDWTEUQWezsKnuC06qh+zgdS 3vJr5b1TY73ILDELmRL/mILYgHxa07NAuVvx3zzR2Wy6oVGvuLrdUmDg/H5+pPeiKsu1 B/roY3yelefY1276oOOgwFaXUOWRCLSZZ4iR4By0N5EPAUI2+T5zbWlZYDGzCqRpe+tA 0K7T+TmjT8O2WRvTkR6K0qzGo7EjzlGaaJ9AKez9ygy5WwBjbjW4rl+njzGfwJmPR11Z JK3yulxUTVN3V44PMWJOvHIKMoWjnGc9XcSnEZ6uILxiuajeu4yR0Zw7sDRgWcBY87FX SzNg== X-Forwarded-Encrypted: i=1; AJvYcCVJgqwdLEICg6yoFuy2mjNS6bdAJdjpATEOq5qFFaaldIxnbVooczHnxqujhtlXr6ybVD6YSvz4tDNB8UNzK15iojhBqZwm+b0r93gC25NgOG3e7HM= X-Gm-Message-State: AOJu0YyFaHfzmMZaIoZhHHvxtKWx4bn1LNMG9ZAmNeisCjN0+lOfNvkP 9UoTH+NX7i4AclYXok+4v3INhOArPSAeG0Hax6u7dlpnRZ3WCGax X-Google-Smtp-Source: AGHT+IGWrKHzvzbDJxYZB9izbaKjENhQiSF4aLl0mt855tkbfFf0g9cOXHABW4R9S8b+9ENLJgRQIw== X-Received: by 2002:a05:6122:309e:b0:4eb:152e:cf92 with SMTP id 71dfb90a1353d-4eb152ed501mr5250710e0c.0.1717446586037; Mon, 03 Jun 2024 13:29:46 -0700 (PDT) Received: from ?IPV6:2a02:2f04:920e:e000:3b36:462:775e:2626? ([2a02:2f04:920e:e000:3b36:462:775e:2626]) by smtp.gmail.com with ESMTPSA id af79cd13be357-794f2efc67csm311044785a.20.2024.06.03.13.29.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 03 Jun 2024 13:29:45 -0700 (PDT) Message-ID: <7edbdb11-5135-4f26-be12-c86f4dc4c0ff@gmail.com> Date: Mon, 3 Jun 2024 23:29:38 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 08/12] PCI: imx6: Config look up table(LUT) to support MSI ITS and IOMMU for i.MX95 To: Robin Murphy , Bjorn Helgaas , Frank Li Cc: Richard Zhu , Lucas Stach , Lorenzo Pieralisi , =?UTF-8?Q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Liam Girdwood , Mark Brown , Manivannan Sadhasivam , Krzysztof Kozlowski , Conor Dooley , linux-pci@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, devicetree@vger.kernel.org, Will Deacon , Joerg Roedel , Jason Gunthorpe , Alyssa Rosenzweig , Marc Zyngier References: <20240530230832.GA474962@bhelgaas> <974f1d23-aba8-432e-85b5-0e4b1c2005e7@arm.com> Content-Language: en-US From: Laurentiu Tudor In-Reply-To: <974f1d23-aba8-432e-85b5-0e4b1c2005e7@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240603_132955_317722_854BD35F X-CRM114-Status: GOOD ( 36.32 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiA1LzMxLzI0IDE3OjU4LCBSb2JpbiBNdXJwaHkgd3JvdGU6Cj4gT24gMjAyNC0wNS0zMSAx MjowOCBhbSwgQmpvcm4gSGVsZ2FhcyB3cm90ZToKPj4gWytjYyBJT01NVSBhbmQgcGNpZS1hcHBs ZS5jIGZvbGtzIGZvciBjb21tZW50XQo+Pgo+PiBPbiBUdWUsIE1heSAyOCwgMjAyNCBhdCAwMzoz OToyMVBNIC0wNDAwLCBGcmFuayBMaSB3cm90ZToKPj4+IEZvciB0aGUgaS5NWDk1LCBjb25maWd1 cmF0aW9uIG9mIGEgTFVUIGlzIG5lY2Vzc2FyeSB0byBjb252ZXJ0IEJ1cyAKPj4+IERldmljZQo+ Pj4gRnVuY3Rpb24gKEJERikgdG8gc3RyZWFtIElEcywgd2hpY2ggYXJlIHV0aWxpemVkIGJ5IGJv dGggSU9NTVUgYW5kIElUUy4KPj4+IFRoaXMgaW52b2x2ZXMgZXhhbWluaW5nIHRoZSBtc2ktbWFw IGFuZCBzbW11LW1hcCB0byBlbnN1cmUgY29uc2lzdGVudAo+Pj4gbWFwcGluZyBvZiBQQ0kgQkRG IHRvIHRoZSBzYW1lIHN0cmVhbSBJRHMuIFN1YnNlcXVlbnRseSwgTFVULXJlbGF0ZWQKPj4+IHJl Z2lzdGVycyBhcmUgY29uZmlndXJlZC4gSW4gdGhlIGFic2VuY2Ugb2YgYW4gbXNpLW1hcCwgdGhl IGJ1aWx0LWluIE1TSQo+Pj4gY29udHJvbGxlciBpcyB1dGlsaXplZCBhcyBhIGZhbGxiYWNrLgo+ Pj4KPj4+IEFkZGl0aW9uYWxseSwgcmVnaXN0ZXIgYSBQQ0kgYnVzIG5vdGlmaWVyIHRvIHRyaWdn ZXIgCj4+PiBpbXhfcGNpZV9hZGRfZGV2aWNlKCkKPj4+IHVwb24gdGhlIGFwcGVhcmFuY2Ugb2Yg YSBuZXcgUENJIGRldmljZSBhbmQgd2hlbiB0aGUgYnVzIGlzIGFuIGlNWDYgUENJCj4+PiBjb250 cm9sbGVyLiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIGNvcnJlY3QgTFVUIGJhc2VkIG9u IERldmljZSAKPj4+IFRyZWUKPj4+IFNldHRpbmdzIChEVFMpLgo+Pgo+PiBUaGlzIHNjaGVtZSBp cyBwcmV0dHkgc2ltaWxhciB0byBhcHBsZV9wY2llX2J1c19ub3RpZmllcigpLsKgIElmIHdlCj4+ IGhhdmUgdG8gZG8gdGhpcywgSSB3aXNoIGl0IHdlcmUgKm1vcmUqIHNpbWlsYXIsIGkuZS4sIGNv cHkgdGhlCj4+IGZ1bmN0aW9uIG5hbWVzLCBiaXRtYXAgdHJhY2tpbmcsIGNvZGUgc3RydWN0dXJl LCBldGMuCj4+Cj4+IEkgZG9uJ3QgcmVhbGx5IGtub3cgaG93IHN0cmVhbSBJRHMgd29yaywgYnV0 IEkgYXNzdW1lIHRoZXkgYXJlIHVzZWQgb24KPj4gbW9zdCBvciBhbGwgYXJtNjQgcGxhdGZvcm1z LCBzbyBJJ20gYSBsaXR0bGUgc3VycHJpc2VkIHRoYXQgb2YgYWxsIHRoZQo+PiBQQ0kgaG9zdCBk cml2ZXJzIHVzZWQgb24gYXJtNjQsIG9ubHkgcGNpZS1hcHBsZS5jIGFuZCBwY2ktaW14Ni5jIG5l ZWQKPj4gdGhpcyBub3RpZmllci4KPiAKPiBUaGlzIGlzIG9uZSBvZiB0aG9zZSB0aGluZ3MgdGhh dCdzIG1vc3RseSBhdCB0aGUgbWVyY3kgb2YgdGhlIFBDSWUgcm9vdCAKPiBjb21wbGV4IGltcGxl bWVudGF0aW9uLiBUeXBpY2FsbHkgdGhlIFNNTVUgU3RyZWFtSUQgYW5kL29yIEdJQyBJVFMgCj4g RGV2aWNlSUQgaXMgZGVyaXZlZCBkaXJlY3RseSBmcm9tIHRoZSBQQ0kgUklELCBzb21ldGltZXMg d2l0aCBhZGRpdGlvbmFsIAo+IGhpZ2gtb3JkZXIgYml0cyBoYXJkLXdpcmVkIHRvIGRpc2FtYmln dWF0ZSBQQ0kgc2VnbWVudHMuIEkgYmVsaWV2ZSB0aGlzIAo+IFJJRC10cmFuc2xhdGlvbiBMVVQg aXMgYSBwYXJ0aWN1bGFyIGZlYXR1cmUgb2YgdGhlIHRoZSBTeW5vcHN5cyBJUCAtIEkgCj4ga25v dyB0aGVyZSdzIGFsc28gb25lIG9uIHRoZSBOWFAgTGF5ZXJzY2FwZSBwbGF0Zm9ybXMsIGJ1dCBv biB0aG9zZSBpdCdzIAo+IHByb2dyYW1tZWQgYnkgdGhlIGJvb3Rsb2FkZXIsIHdoaWNoIGFsc28g Z2VuZXJhdGVzIHRoZSBhcHByb3ByaWF0ZSAKPiAibXNpLW1hcCIgYW5kICJpb21tdS1tYXAiIHBy b3BlcnRpZXMgdG8gbWF0Y2guIElkZWFsbHkgdGhhdCdzIHdoYXQgaS5NWCAKPiBzaG91bGQgZG8g YXMgd2VsbCwgYnV0IGhleS4KClRoYXQncyB1c3VhbGx5IGZpbmUsIGV4Y2VwdCB3aGVuIFNSSU9W IGFuZC9vciBob3RwbHVnIGRldmljZXMgKHRoYXQgaXMsIApub3QgZGlzY292ZXJhYmxlIGF0IGJv b3Rsb2FkZXIgdGltZSkgY29tZSBpbnRvIHBsYXkuIFdlIGNhbWUgdXAgd2l0aCAKdGhpcyAic29s dXRpb24iIHRvIGNvdmVyIHRoZXNlIG1vcmUgZHluYW1pYyBzY2VuYXJpb3MuCgpodHRwczovL3Nv dXJjZS5kZW54LmRlL3UtYm9vdC91LWJvb3QvLS9jb21taXQvMmE1YmJiMTNjYzM5MTAyYTY4ZmNj MzEwNTY5MjU0MjdhYjQ0YjU5MQoKLS0tCkJlc3QgUmVnYXJkcywgTGF1cmVudGl1Cgo+PiBUaGVy ZSdzIHRoaXMgcGF0aCwgd2hpY2ggaXMgcHJldHR5IGdlbmVyaWMgYW5kIGRvZXMgYXQgbGVhc3Qg dGhlCj4+IG9mX21hcF9pZCgpIHBhcnQgb2Ygd2hhdCB5b3UncmUgZG9pbmcgaW4gaW14X3BjaWVf YWRkX2RldmljZSgpOgo+Pgo+PiDCoMKgwqDCoCBfX2RyaXZlcl9wcm9iZV9kZXZpY2UKPj4gwqDC oMKgwqDCoMKgIHJlYWxseV9wcm9iZQo+PiDCoMKgwqDCoMKgwqDCoMKgIHBjaV9kbWFfY29uZmln dXJlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIyAKPj4gcGNp X2J1c190eXBlLmRtYV9jb25maWd1cmUKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgb2ZfZG1hX2Nv bmZpZ3VyZQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb2ZfZG1hX2NvbmZpZ3VyZV9pZAo+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9mX2lvbW11X2NvbmZpZ3VyZQo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvZl9wY2lfaW9tbXVfaW5pdAo+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb2ZfaW9tbXVfY29uZmlndXJlX2Rldl9pZAo+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9mX21hcF9pZAo+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9mX2lvbW11X3hsYXRlCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wcyA9IGlvbW11 X29wc19mcm9tX2Z3bm9kZQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpb21tdV9md3NwZWNfaW5pdAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBvcHMtPm9mX3hsYXRlKGRldiwgaW9tbXVfc3BlYykKPj4KPj4gTWF5 YmUgdGhpcyBuZWVkcyB0byBiZSBleHRlbmRlZCBzb21laG93IHdpdGggYSBob29rIHRvIGRvIHRo ZQo+PiBkZXZpY2Utc3BlY2lmaWMgd29yayBsaWtlIHVwZGF0aW5nIHRoZSBMVVQ/wqAgSnVzdCBz cGVjdWxhdGluZyBoZXJlLAo+PiB0aGUgSU9NTVUgZm9sa3Mgd2lsbCBrbm93IGhvdyB0aGlzIGlz IGV4cGVjdGVkIHRvIHdvcmsuCj4gCj4gTm90ZSB0aGF0IHRoYXQgcGFydGljdWxhciBjb2RlIHBh dGggaGFzIGZ1bmRhbWVudGFsIGlzc3VlcyBhbmQgbXVjaCBvZiAKPiBpdCBuZWVkcyB0byBnbyBh d2F5IChJJ20gd29ya2luZyBvbiBpdCwgYnV0IGl0J3MgYSByaWNoIH44LXllYXItb2xkIHBpbGUg Cj4gb2YgdGVjaG5pY2FsIGRlYnQuLi4pLiBJT01NVSBjb25maWd1cmF0aW9uIG5lZWRzIHRvIGJl IGhhcHBlbmluZyBhdCAKPiBkZXZpY2VfYWRkKCkgdGltZSB2aWEgdGhlIElPTU1VIGxheWVyJ3Mg b3duIGJ1cyBub3RpZmllci4KPiAKPiBJZiBpdCdzIHJlYWxseSBuZWNlc3NhcnkgdG8gZG8gdGhp cyBwcm9ncmFtbWluZyBmcm9tIExpbnV4LCB0aGVuIHRoZXJlJ3MgCj4gc3RpbGwgbm8gcG9pbnQg aW4gaXQgYmVpbmcgZHluYW1pYyAtIHRoZSBtYXBwaW5ncyBjYW5ub3QgZXZlciBjaGFuZ2UsIAo+ IHNpbmNlIHRoZSByZXN0IG9mIHRoZSBrZXJuZWwgYmVsaWV2ZXMgdGhhdCB3aGF0IHRoZSBEVCBz YWlkIGF0IGJvb3QgdGltZSAKPiB3YXMgYWxyZWFkeSBhIHByb3BlcnR5IG9mIHRoZSBoYXJkd2Fy ZS4gSXQgd291bGQgYmUgYSBsb3QgbW9yZSBsb2dpY2FsLCAKPiBhbmQgbGlrZWx5IHNpbXBsZXIs IGZvciB0aGUgZHJpdmVyIHRvIGp1c3QgcmVhZCB0aGUgcmVsZXZhbnQgbWFwIAo+IHByb3BlcnR5 IGFuZCBwcm9ncmFtIHRoZSBlbnRpcmUgTFVUIHRvIG1hdGNoLCBhbGwgaW4gb25lIGdvIGF0IAo+ IGNvbnRyb2xsZXIgcHJvYmUgdGltZS4gUmF0aGVyIGxpa2Ugd2hhdCdzIGFscmVhZHkgY29tbW9u bHkgZG9uZSB3aXRoIHRoZSAKPiBwYXJzaW5nIG9mICJkbWEtcmFuZ2VzIiB0byBwcm9ncmFtIGFk ZHJlc3MtdHJhbnNsYXRpb24gTFVUcyBmb3IgaW5ib3VuZCAKPiB3aW5kb3dzLgo+IAo+IFBsdXMg dGhhdCB3b3VsZCBhbHNvIGdpdmUgYSBjaGFuY2Ugb2Ygc2FmZWx5IGRlYWxpbmcgd2l0aCBiYWQg RFRzIAo+IHNwZWNpZnlpbmcgaW52YWxpZCBJRCBtYXBwaW5ncyAoYnkgcmVmdXNpbmcgdG8gcHJv YmUgYXQgYWxsKS4gQXMgaXQgaXMsIAo+IHJldHVybmluZyBhbiBlcnJvciBmcm9tIGEgY2hpbGQn cyBCVVNfTk9USUZZX0FERF9ERVZJQ0UgZG9lcyBub3RoaW5nIAo+IGV4Y2VwdCBwcmV2ZW50IGFu eSBmdXJ0aGVyIG5vdGlmaWVycyBmcm9tIHJ1bm5pbmcgYXQgdGhhdCBwb2ludCAtIHRoZSAKPiBk ZXZpY2Ugd2lsbCBzdGlsbCBiZSBhZGRlZCwgYWxsb3dlZCB0byBiaW5kIGEgZHJpdmVyLCBhbmQg YWJsZSB0byBzdGFydCAKPiBzZW5kaW5nIERNQS9NU0kgdHJhZmZpYyB3aXRob3V0IHRoZSBjb250 cm9sbGVyIGJlaW5nIGNvcnJlY3RseSAKPiBwcm9ncmFtbWVkLCB3aGljaCBhdCBiZXN0IHdvbid0 IHdvcmsgYW5kIGF0IHdvcnN0IG1heSBicmVhayB0aGUgd2hvbGUgCj4gc3lzdGVtLgo+IAo+IFRo YW5rcywKPiBSb2Jpbi4KPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cj4gbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==