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 7F2BCCF9C6B for ; Tue, 24 Sep 2024 18:37:06 +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:Content-Type:Cc:To:Subject: Message-ID:Date:MIME-Version:In-Reply-To:References:From:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Jy/9sjCyBWIKnW86c8vUt12QiC7+6zSf13rftmxVrFI=; b=RezRXQNtfEU3wbTQ7m/Rm4oz4W IQ4JefqIzrpDWodfcHGlFYlY6ky0ZwamkgfCDHYdWsRTi6fx+F6SidX74Vv/BrBDctOQs4Nq8v46H QaQJplomD+b/31yopNMiVZxK+M5r0k6/CmXvViV0Jeb6nQb7eAhVqPC0A1n94OUrfP7jbMn5VtiIr 5STZf+6mx4k36+t5uhOhJiPBw0dofWyr85mBRTlQTh3QYw9BUAQGmUsRGLT/LoHVvGQ6MepTN77jH 4n3FUknZieP/G7G3+ilds1/WX+WpHv5IRYlTCWfmCyekCmdT/rxiXdX+Lvae1k3/Vkp8F3sA4SOas 4qNbXY7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1stAP5-0000000342R-3nXk; Tue, 24 Sep 2024 18:36:51 +0000 Received: from mail-vs1-xe42.google.com ([2607:f8b0:4864:20::e42]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1stANv-000000033si-3MML for linux-arm-kernel@lists.infradead.org; Tue, 24 Sep 2024 18:35:42 +0000 Received: by mail-vs1-xe42.google.com with SMTP id ada2fe7eead31-49bc672bb46so2025304137.2 for ; Tue, 24 Sep 2024 11:35:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1727202937; x=1727807737; darn=lists.infradead.org; h=cc:to:subject:message-id:date:thread-index:mime-version:in-reply-to :references:from:from:to:cc:subject:date:message-id:reply-to; bh=Jy/9sjCyBWIKnW86c8vUt12QiC7+6zSf13rftmxVrFI=; b=cyEy7VGjwWNF1K2BMcNGrEZtO/Bhix51OLjMaRoYoASjiezbPk+3wNaNB3+w/uzzUI jIsaZizwlef3uGx1MPFmuP0+PIbkixuAv73YyFb54i8Qjd20yRC4PfO0xttKpsKwERki AMckROD3uV6Lfvo2euHsULW+Y+S53CkoGbYP0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727202937; x=1727807737; h=cc:to:subject:message-id:date:thread-index:mime-version:in-reply-to :references:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Jy/9sjCyBWIKnW86c8vUt12QiC7+6zSf13rftmxVrFI=; b=jdrunIHTKuB9ZpABBEOPQOGMcwduUOMVQwX1nhs0UcU8mNqkNIKGtwWQRLR9qYJeDg gfi16lNYmzivsLUJ1BV73rS06DTxzvl8BYFdJWhPNCic33ZU1jo3aIwYD2liwcchdWJ2 z5mgOCl1HsiozDlJXw/sa1elbCEV4AZC4BfZ/OTJL11fYnyYXbRYMK7JvnvCeWuwGkHs VLnWLICkw4lp+9iL9FzPs4qma5xOn7qMUJxLZmTxl93x1xtNXSDsbEUCSM1ryaEc+4GC RR3H1ykR3kfu5WDSjNnRYiDgoIdYWw2uGaX6F3NbyB130AhDucT7tSJmJBwqiNqcjQH/ 4n7w== X-Gm-Message-State: AOJu0YyQGtAGwJQC8QIHpgGZvXmg0CqApxfhY3n9fsC49qo6xVJXdRFl WOJlbbqetar5lqp+fNpyWrF7J6BUl4jzwneCY2uH643oldB1HHOQn1J1Ji7kytw3QqzQ2qldwIM UBmfbRXB5BX0hO0O+vK3tmLFx5/eZZ+28lxGa X-Google-Smtp-Source: AGHT+IH5kwvcwsXIB2BSMclf09WBNWoy7cdCWhvA62MFFaVVZKJec6crl7veltADbJfbWgtkYaVBceBDMcAVq+wTG7Q= X-Received: by 2002:a05:6102:d92:b0:49b:cb03:ba38 with SMTP id ada2fe7eead31-4a15dd5491cmr490549137.26.1727202937166; Tue, 24 Sep 2024 11:35:37 -0700 (PDT) From: William Zhang References: <20240923-bcm-arm-bcm6846-v2-1-f4a7191b501a@linaro.org> In-Reply-To: <20240923-bcm-arm-bcm6846-v2-1-f4a7191b501a@linaro.org> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQH9n+JQlXD/SulIKSUDcnbku4eSWrIiIIbg Date: Tue, 24 Sep 2024 11:35:34 -0700 Message-ID: Subject: RE: [PATCH v2] ARM: bcm: Support BCMBCA debug UART To: Linus Walleij , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Russell King , Anand Gore , Kursad Oney , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: linux-arm-kernel@lists.infradead.org Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000008ba9ee0622e1c551" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240924_113539_953238_275E5D94 X-CRM114-Status: GOOD ( 34.98 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org --0000000000008ba9ee0622e1c551 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Linus Walleij > Sent: Monday, September 23, 2024 12:49 PM > To: Florian Fainelli ; Ray Jui > ; Scott Branden ; > Broadcom internal kernel review list list@broadcom.com>; Russell King ; William Zhang > ; Anand Gore > ; Kursad Oney > ; Rafa=C5=82 Mi=C5=82ecki > Cc: linux-arm-kernel@lists.infradead.org; Linus Walleij > > Subject: [PATCH v2] ARM: bcm: Support BCMBCA debug UART > > The debug UART on the BCMBCA SoCs are in a different place > than on the other BCM platforms. Support this with a static > map when debugging is explicitly configured. > > Right now I can only test this on BCM6846 so this is the > only compatible I list for the debug boardfile, but other > compatibles from the BCMBCA family can be added to get > LL_DEBUG support. > > Signed-off-by: Linus Walleij > --- > I could not get debug messaged from LL_DEBUG UARTS > (such as decompress....) and it was really hard to > do early debug without that. > --- > Changes in v2: > - Drop patch 1, it's not needed and was just based on my own > incompetence. > - Rework the UART0 support such that it is generic for all > BCMBCA platforms and the static map is only compiled in when > explicitly using LL_DEBUG. > - Link to v1: https://lore.kernel.org/r/20240917-bcm-arm-bcm6846-v1-0- > 236e29661f4c@linaro.org > --- > arch/arm/Kconfig.debug | 12 +++++++++--- > arch/arm/mach-bcm/Makefile | 1 + > arch/arm/mach-bcm/board_bcmbca.c | 31 > +++++++++++++++++++++++++++++++ > 3 files changed, 41 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug > index 7f47b4f335c3..366f162e147d 100644 > --- a/arch/arm/Kconfig.debug > +++ b/arch/arm/Kconfig.debug > @@ -242,6 +242,10 @@ choice > depends on ARCH_BCM_5301X || ARCH_BCM_NSP > select DEBUG_UART_8250 > > + config DEBUG_BCMBCA > + bool "Kernel low-level debugging on BCMBCA UART0" > + depends on ARCH_BCMBCA > + > config DEBUG_BCM_HR2 > bool "Kernel low-level debugging on Hurricane 2 UART2" > depends on ARCH_BCM_HR2 > @@ -1526,7 +1530,7 @@ config DEBUG_LL_INCLUDE > default "debug/vf.S" if DEBUG_VF_UART > default "debug/vt8500.S" if DEBUG_VT8500_UART0 > default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || > DEBUG_ZYNQ_UART1 > - default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART > + default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART || > DEBUG_BCMBCA > default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0 > default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART > default "mach/debug-macro.S" > @@ -1640,6 +1644,7 @@ config DEBUG_UART_PHYS > default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1 > default 0xfed32000 if DEBUG_STIH41X_ASC2 > default 0xff690000 if DEBUG_RK32_UART2 > + default 0xff800640 if DEBUG_BCMBCA > default 0xffc02000 if DEBUG_SOCFPGA_UART0 > default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1 > default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1 > @@ -1664,7 +1669,7 @@ config DEBUG_UART_PHYS > DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \ > DEBUG_RMOBILE_SCIFA4 || \ > DEBUG_S3C64XX_UART || \ > - DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \ > + DEBUG_BCM63XX_UART || DEBUG_BCMBCA || > DEBUG_ASM9260_UART || \ > DEBUG_DIGICOLOR_UA0 || \ > DEBUG_AT91_UART || DEBUG_STM32_UART || \ > DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \ > @@ -1734,6 +1739,7 @@ config DEBUG_UART_VIRT > default 0xfe018000 if DEBUG_MMP_UART3 > default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART > default 0xfe300000 if DEBUG_BCM_KONA_UART > + default 0xfe300640 if DEBUG_BCMBCA > default 0xfeb00000 if DEBUG_HI3620_UART || > DEBUG_HIX5HD2_UART > default 0xfeb24000 if DEBUG_RK3X_UART0 > default 0xfeb26000 if DEBUG_RK3X_UART1 > @@ -1765,7 +1771,7 @@ config DEBUG_UART_VIRT > DEBUG_UART_8250 || DEBUG_UART_PL01X || > DEBUG_MESON_UARTAO || \ > DEBUG_QCOM_UARTDM || \ > DEBUG_S3C64XX_UART || \ > - DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \ > + DEBUG_BCM63XX_UART || DEBUG_BCMBCA || > DEBUG_ASM9260_UART || \ > DEBUG_DIGICOLOR_UA0 || \ > DEBUG_AT91_UART || DEBUG_STM32_UART || \ > DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \ > diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile > index 2e523f29ec3b..6baedf4c6304 100644 > --- a/arch/arm/mach-bcm/Makefile > +++ b/arch/arm/mach-bcm/Makefile > @@ -58,5 +58,6 @@ endif > > # BCMBCA > ifeq ($(CONFIG_ARCH_BCMBCA),y) > +obj-$(CONFIG_DEBUG_BCMBCA) +=3D board_bcmbca.o > obj-$(CONFIG_SMP) +=3D bcm63xx_smp.o bcm63xx_pmb.o > endif > diff --git a/arch/arm/mach-bcm/board_bcmbca.c b/arch/arm/mach- > bcm/board_bcmbca.c > new file mode 100644 > index 000000000000..b510d959870a > --- /dev/null > +++ b/arch/arm/mach-bcm/board_bcmbca.c > @@ -0,0 +1,31 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +// Copyright (C) 2024 Linus Walleij > + > +#include > +#include > + > +/* This is needed for LL-debug/earlyprintk/debug-macro.S */ > +static struct map_desc bcmbca_io_desc[] __initdata =3D { > + { > + .virtual =3D CONFIG_DEBUG_UART_VIRT, > + .pfn =3D __phys_to_pfn(CONFIG_DEBUG_UART_PHYS), > + .length =3D SZ_4K, > + .type =3D MT_DEVICE, > + }, > +}; > + > +static void __init bcmbca_map_io(void) > +{ > + iotable_init(bcmbca_io_desc, ARRAY_SIZE(bcmbca_io_desc)); > +} > + > +static const char * const bcmbca_dt_compat[] =3D { > + /* TODO: Add other BCMBCA SoCs here to get debug UART support > */ > + "brcm,bcm6846", > + NULL, > +}; > + > +DT_MACHINE_START(BCMBCA_DT, "BCMBCA Broadband Access > Processors") > + .map_io =3D bcmbca_map_io, > + .dt_compat =3D bcmbca_dt_compat, > +MACHINE_END > > --- > base-commit: b97d8c6186d0c4495d2554b09d99cdae59113212 > change-id: 20240917-bcm-arm-bcm6846-62502a146ad0 > > Best regards, > -- > Linus Walleij Acked-by: William Zhang --0000000000008ba9ee0622e1c551 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIIQcAYJKoZIhvcNAQcCoIIQYTCCEF0CAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg gg3HMIIFDTCCA/WgAwIBAgIQeEqpED+lv77edQixNJMdADANBgkqhkiG9w0BAQsFADBMMSAwHgYD VQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UE AxMKR2xvYmFsU2lnbjAeFw0yMDA5MTYwMDAwMDBaFw0yODA5MTYwMDAwMDBaMFsxCzAJBgNVBAYT AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIEdDQyBS MyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA vbCmXCcsbZ/a0fRIQMBxp4gJnnyeneFYpEtNydrZZ+GeKSMdHiDgXD1UnRSIudKo+moQ6YlCOu4t rVWO/EiXfYnK7zeop26ry1RpKtogB7/O115zultAz64ydQYLe+a1e/czkALg3sgTcOOcFZTXk38e aqsXsipoX1vsNurqPtnC27TWsA7pk4uKXscFjkeUE8JZu9BDKaswZygxBOPBQBwrA5+20Wxlk6k1 e6EKaaNaNZUy30q3ArEf30ZDpXyfCtiXnupjSK8WU2cK4qsEtj09JS4+mhi0CTCrCnXAzum3tgcH cHRg0prcSzzEUDQWoFxyuqwiwhHu3sPQNmFOMwIDAQABo4IB2jCCAdYwDgYDVR0PAQH/BAQDAgGG MGAGA1UdJQRZMFcGCCsGAQUFBwMCBggrBgEFBQcDBAYKKwYBBAGCNxQCAgYKKwYBBAGCNwoDBAYJ KwYBBAGCNxUGBgorBgEEAYI3CgMMBggrBgEFBQcDBwYIKwYBBQUHAxEwEgYDVR0TAQH/BAgwBgEB /wIBADAdBgNVHQ4EFgQUljPR5lgXWzR1ioFWZNW+SN6hj88wHwYDVR0jBBgwFoAUj/BLf6guRSSu TVD6Y5qL3uLdG7wwegYIKwYBBQUHAQEEbjBsMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9i YWxzaWduLmNvbS9yb290cjMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5j b20vY2FjZXJ0L3Jvb3QtcjMuY3J0MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFs c2lnbi5jb20vcm9vdC1yMy5jcmwwWgYDVR0gBFMwUTALBgkrBgEEAaAyASgwQgYKKwYBBAGgMgEo CjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAN BgkqhkiG9w0BAQsFAAOCAQEAdAXk/XCnDeAOd9nNEUvWPxblOQ/5o/q6OIeTYvoEvUUi2qHUOtbf jBGdTptFsXXe4RgjVF9b6DuizgYfy+cILmvi5hfk3Iq8MAZsgtW+A/otQsJvK2wRatLE61RbzkX8 9/OXEZ1zT7t/q2RiJqzpvV8NChxIj+P7WTtepPm9AIj0Keue+gS2qvzAZAY34ZZeRHgA7g5O4TPJ /oTd+4rgiU++wLDlcZYd/slFkaT3xg4qWDepEMjT4T1qFOQIL+ijUArYS4owpPg9NISTKa1qqKWJ jFoyms0d0GwOniIIbBvhI2MJ7BSY9MYtWVT5jJO3tsVHwj4cp92CSFuGwunFMzCCA18wggJHoAMC AQICCwQAAAAAASFYUwiiMA0GCSqGSIb3DQEBCwUAMEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9v dCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTA5 MDMxODEwMDAwMFoXDTI5MDMxODEwMDAwMFowTDEgMB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENB IC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMJXaQeQZ4Ihb1wIO2hMoonv0FdhHFrYhy/EYCQ8eyip0E XyTLLkvhYIJG4VKrDIFHcGzdZNHr9SyjD4I9DCuul9e2FIYQebs7E4B3jAjhSdJqYi8fXvqWaN+J J5U4nwbXPsnLJlkNc96wyOkmDoMVxu9bi9IEYMpJpij2aTv2y8gokeWdimFXN6x0FNx04Druci8u nPvQu7/1PQDhBjPogiuuU6Y6FnOM3UEOIDrAtKeh6bJPkC4yYOlXy7kEkmho5TgmYHWyn3f/kRTv riBJ/K1AFUjRAjFhGV64l++td7dkmnq/X8ET75ti+w1s4FRpFqkD2m7pg5NxdsZphYIXAgMBAAGj QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSP8Et/qC5FJK5N UPpjmove4t0bvDANBgkqhkiG9w0BAQsFAAOCAQEAS0DbwFCq/sgM7/eWVEVJu5YACUGssxOGhigH M8pr5nS5ugAtrqQK0/Xx8Q+Kv3NnSoPHRHt44K9ubG8DKY4zOUXDjuS5V2yq/BKW7FPGLeQkbLmU Y/vcU2hnVj6DuM81IcPJaP7O2sJTqsyQiunwXUaMld16WCgaLx3ezQA3QY/tRG3XUyiXfvNnBB4V 14qWtNPeTCekTBtzc3b0F5nCH3oO4y0IrQocLP88q1UOD5F+NuvDV0m+4S4tfGCLw0FREyOdzvcy a5QBqJnnLDMfOjsl0oZAzjsshnjJYS8Uuu7bVW/fhO4FCU29KNhyztNiUGUe65KXgzHZs7XKR1g/ XzCCBU8wggQ3oAMCAQICDDG6HZcbcVdEvVYk4TANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJC RTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8GA1UEAxMoR2xvYmFsU2lnbiBHQ0MgUjMg UGVyc29uYWxTaWduIDIgQ0EgMjAyMDAeFw0yMjA5MTAxMTMxNDVaFw0yNTA5MTAxMTMxNDVaMIGQ MQswCQYDVQQGEwJJTjESMBAGA1UECBMJS2FybmF0YWthMRIwEAYDVQQHEwlCYW5nYWxvcmUxFjAU BgNVBAoTDUJyb2FkY29tIEluYy4xFjAUBgNVBAMTDVdpbGxpYW0gWmhhbmcxKTAnBgkqhkiG9w0B CQEWGndpbGxpYW0uemhhbmdAYnJvYWRjb20uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAyKF+RmY29Wvfmfe3L8J4rZNmBIvRmrWKI5td5L0vlpPMCEzUkVhBdL2N9cDP0rPScvWL CX/9cI1a2BUy/6/ZT5j9PhcUn6A3kwKFGukLY2itfKaDrP3ANVJGhBXPVJ6sx55GF41PkiL2EMnY 7LJGNpl9WHYrw8VqtRediPyXq8M6ZWGPZWxygsE6y1pOkEk9qLpvXTb2Epxk2JWcQFZQCDWVULue YDZuuBJwnyCzevMoPtVYPharioL5H3BRnQi8YoTXH7/uRo33dewYFm474yFjwwnt82TFtveVZkVq 6h4WIQ4wTcwFfET8zMkELnGzS5SHCl8sPD+lNxxJ1JDZYwIDAQABo4IB2zCCAdcwDgYDVR0PAQH/ BAQDAgWgMIGjBggrBgEFBQcBAQSBljCBkzBOBggrBgEFBQcwAoZCaHR0cDovL3NlY3VyZS5nbG9i YWxzaWduLmNvbS9jYWNlcnQvZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3J0MEEGCCsGAQUF BzABhjVodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAy MDBNBgNVHSAERjBEMEIGCisGAQQBoDIBKAowNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xv YmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wCQYDVR0TBAIwADBJBgNVHR8EQjBAMD6gPKA6hjhodHRw Oi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwLmNybDAlBgNV HREEHjAcgRp3aWxsaWFtLnpoYW5nQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAf BgNVHSMEGDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUq65GzwZxydFHjjYEU/9h xHhPWlwwDQYJKoZIhvcNAQELBQADggEBAA2hGG3JPAdGPH0ZdohGUCIVjKz+U+EFuIDbS6A/5jqX VhYAxZlzj7tSjUIM7G7IhyfqPC46GKJ/4x+Amz1Z6YxNGy71L68kYD6hIbBcA5AM42QBUufly6Oa /ppSz3WoflVyFFQ5YXniZ+eU+2/cdnYZg4aVUnFjimOF5o3NfMLzOkhQNxbaDjFUfUYD8hKmU6v4 0vUBj8KZ9Gi1LIagLKUREn8jku0lcLsRbnJ5Ey5ScajC/FESPyYWasOW8j8/1EoJksmhbYGKNS6C urb/KlmDGfVrIRYDbL0ckhGQIP5c6L+kSQZ2sHnQK0e0WgIaZYxaPYeY5u0GLCOze+3vyRMxggJt MIICaQIBATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYD VQQDEyhHbG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwxuh2XG3FXRL1W JOEwDQYJYIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIOhRK1okiWcXPAImW1i/olpsgJ6F Bcv7ctc5QHJ2E2uJMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0 MDkyNDE4MzUzN1owaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsG CWCGSAFlAwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFl AwQCATANBgkqhkiG9w0BAQEFAASCAQA8KIbTH0jbVy6bydc9FOYv6AYFemp1gE4FNc0bawdINXxS 6f/FCFP4RMHDGRUQm0g4o9VGaYqRZPpbCZ5+pwXGu1D2HwqmtOb803C8Tuw+NxaJl9IGkpnoXcdU WJariM90yh84qxmXQ0kpKxLPwgAykKyZH+b0hiDAgTLAbjLxKdgqc401lr9SP+NUZQgrG3LAaxQb NpMU8tK5srpNtJz5TW4Ehkmifg3RCoYGBiJFUOfRqJJ16A0dSHmEZRyyxNba0Yvq7cAAPgs0Ppuv Izv+GrgutRGIanXgGxbcIs5YBlbqehbY8He7TnDRafFURQXh7D3FcbwE9K+AUa/DHJZx --0000000000008ba9ee0622e1c551--