* [Qemu-devel] [PATCH 01/40] pseries: Fix incorrect initialization of interrupt controller
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 02/40] pseries: Use #define for XICS base irq number Alexander Graf
` (39 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
Currently in the reset code for the XICS interrupt controller, we
initialize the pending_priority field to 0 (most favored, by XICS
convention). This is incorrect, since there is no pending interrupt, it
should be set to least favored - 0xff. At the moment our XICS
implementation doesn't get hurt by this edge case, but it does confuse the
upcoming kernel XICS implementation.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/xics.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/xics.c b/hw/xics.c
index 1da3106..edf5833 100644
--- a/hw/xics.c
+++ b/hw/xics.c
@@ -495,7 +495,7 @@ static void xics_reset(void *opaque)
for (i = 0; i < icp->nr_servers; i++) {
icp->ss[i].xirr = 0;
- icp->ss[i].pending_priority = 0;
+ icp->ss[i].pending_priority = 0xff;
icp->ss[i].mfrr = 0xff;
/* Make all outputs are deasserted */
qemu_set_irq(icp->ss[i].output, 0);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 02/40] pseries: Use #define for XICS base irq number
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 01/40] pseries: Fix incorrect initialization of interrupt controller Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 03/40] pseries: Return the token when we register an RTAS call Alexander Graf
` (38 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List
Cc: Michael Ellerman, qemu-devel qemu-devel, David Gibson
From: Ben Herrenschmidt <benh@kernel.crashing.org>
Currently the lowest "real" irq number for the XICS irq controller (as
opposed to numbers reserved for IPIs and other special purposes) is
hard coded as 16 in two places - in xics_system_init() and in spapr.c.
As well as being generally bad practice, we're going to need to change this
number soon to fit in with the in-kernel XICS implementation. This patch
adds a #define for this number to avoid future breakage.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Ben Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/spapr.c | 2 +-
hw/xics.c | 2 +-
hw/xics.h | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/spapr.c b/hw/spapr.c
index ad3f0ea..eafee03 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -801,7 +801,7 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
/* Set up Interrupt Controller */
spapr->icp = xics_system_init(XICS_IRQS);
- spapr->next_irq = 16;
+ spapr->next_irq = XICS_IRQ_BASE;
/* Set up EPOW events infrastructure */
spapr_events_init(spapr);
diff --git a/hw/xics.c b/hw/xics.c
index edf5833..b8887cd 100644
--- a/hw/xics.c
+++ b/hw/xics.c
@@ -549,7 +549,7 @@ struct icp_state *xics_system_init(int nr_irqs)
ics = g_malloc0(sizeof(*ics));
ics->nr_irqs = nr_irqs;
- ics->offset = 16;
+ ics->offset = XICS_IRQ_BASE;
ics->irqs = g_malloc0(nr_irqs * sizeof(struct ics_irq_state));
icp->ics = ics;
diff --git a/hw/xics.h b/hw/xics.h
index 6817268..c3bf008 100644
--- a/hw/xics.h
+++ b/hw/xics.h
@@ -28,6 +28,7 @@
#define __XICS_H__
#define XICS_IPI 0x2
+#define XICS_IRQ_BASE 0x10
struct icp_state;
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 03/40] pseries: Return the token when we register an RTAS call
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 01/40] pseries: Fix incorrect initialization of interrupt controller Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 02/40] pseries: Use #define for XICS base irq number Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 04/40] pseries: Allow RTAS tokens without a qemu handler Alexander Graf
` (37 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List
Cc: Michael Ellerman, qemu-devel qemu-devel, David Gibson
From: Michael Ellerman <michael@ellerman.id.au>
The kernel will soon be able to service some RTAS calls. However the
choice of tokens will still be up to userspace. To support this have
spapr_rtas_register() return the token that is allocated for an
RTAS call, that allows the calling code to tell the kernel what the
token value is.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/spapr.h | 2 +-
hw/spapr_rtas.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/spapr.h b/hw/spapr.h
index efe7f57..971a50a 100644
--- a/hw/spapr.h
+++ b/hw/spapr.h
@@ -320,7 +320,7 @@ static inline void rtas_st(target_ulong phys, int n, uint32_t val)
typedef void (*spapr_rtas_fn)(sPAPREnvironment *spapr, uint32_t token,
uint32_t nargs, target_ulong args,
uint32_t nret, target_ulong rets);
-void spapr_rtas_register(const char *name, spapr_rtas_fn fn);
+int spapr_rtas_register(const char *name, spapr_rtas_fn fn);
target_ulong spapr_rtas_call(sPAPREnvironment *spapr,
uint32_t token, uint32_t nargs, target_ulong args,
uint32_t nret, target_ulong rets);
diff --git a/hw/spapr_rtas.c b/hw/spapr_rtas.c
index 6d5c48a..45294e8 100644
--- a/hw/spapr_rtas.c
+++ b/hw/spapr_rtas.c
@@ -242,7 +242,7 @@ target_ulong spapr_rtas_call(sPAPREnvironment *spapr,
return H_PARAMETER;
}
-void spapr_rtas_register(const char *name, spapr_rtas_fn fn)
+int spapr_rtas_register(const char *name, spapr_rtas_fn fn)
{
int i;
@@ -258,7 +258,7 @@ void spapr_rtas_register(const char *name, spapr_rtas_fn fn)
rtas_next->name = name;
rtas_next->fn = fn;
- rtas_next++;
+ return (rtas_next++ - rtas_table) + TOKEN_BASE;
}
int spapr_rtas_device_tree_setup(void *fdt, hwaddr rtas_addr,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 04/40] pseries: Allow RTAS tokens without a qemu handler
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (2 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 03/40] pseries: Return the token when we register an RTAS call Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 05/40] pseries: Add tracepoints to the XICS interrupt controller Alexander Graf
` (36 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: Ben Herrenschmidt <benh@kernel.crashing.org>
Kernel-based RTAS calls will not have a qemu handler, but will
still be registered in qemu in order to be assigned a token
number and appear in the device-tree.
Let's test for the name being NULL rather than the handler
when deciding to skip an entry while building the device-tree
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/spapr_rtas.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/spapr_rtas.c b/hw/spapr_rtas.c
index 45294e8..e618c2d 100644
--- a/hw/spapr_rtas.c
+++ b/hw/spapr_rtas.c
@@ -301,7 +301,7 @@ int spapr_rtas_device_tree_setup(void *fdt, hwaddr rtas_addr,
for (i = 0; i < TOKEN_MAX; i++) {
struct rtas_call *call = &rtas_table[i];
- if (!call->fn) {
+ if (!call->name) {
continue;
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 05/40] pseries: Add tracepoints to the XICS interrupt controller
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (3 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 04/40] pseries: Allow RTAS tokens without a qemu handler Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 06/40] pseries: Split xics irq configuration from state information Alexander Graf
` (35 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
This patch adds tracing / debugging calls to the XICS interrupt controller
implementation used on the pseries machine.
Signed-off-by: Ben Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/xics.c | 23 ++++++++++++++++++++---
trace-events | 13 +++++++++++++
2 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/hw/xics.c b/hw/xics.c
index b8887cd..33f99c7 100644
--- a/hw/xics.c
+++ b/hw/xics.c
@@ -26,6 +26,7 @@
*/
#include "hw.h"
+#include "trace.h"
#include "hw/spapr.h"
#include "hw/xics.h"
@@ -66,6 +67,8 @@ static void icp_check_ipi(struct icp_state *icp, int server)
return;
}
+ trace_xics_icp_check_ipi(server, ss->mfrr);
+
if (XISR(ss)) {
ics_reject(icp->ics, XISR(ss));
}
@@ -120,11 +123,13 @@ static void icp_set_mfrr(struct icp_state *icp, int server, uint8_t mfrr)
static uint32_t icp_accept(struct icp_server_state *ss)
{
- uint32_t xirr;
+ uint32_t xirr = ss->xirr;
qemu_irq_lower(ss->output);
- xirr = ss->xirr;
ss->xirr = ss->pending_priority << 24;
+
+ trace_xics_icp_accept(xirr, ss->xirr);
+
return xirr;
}
@@ -134,6 +139,7 @@ static void icp_eoi(struct icp_state *icp, int server, uint32_t xirr)
/* Send EOI -> ICS */
ss->xirr = (ss->xirr & ~CPPR_MASK) | (xirr & CPPR_MASK);
+ trace_xics_icp_eoi(server, xirr, ss->xirr);
ics_eoi(icp->ics, xirr & XISR_MASK);
if (!XISR(ss)) {
icp_resend(icp, server);
@@ -144,6 +150,8 @@ static void icp_irq(struct icp_state *icp, int server, int nr, uint8_t priority)
{
struct icp_server_state *ss = icp->ss + server;
+ trace_xics_icp_irq(server, nr, priority);
+
if ((priority >= CPPR(ss))
|| (XISR(ss) && (ss->pending_priority <= priority))) {
ics_reject(icp->ics, nr);
@@ -153,6 +161,7 @@ static void icp_irq(struct icp_state *icp, int server, int nr, uint8_t priority)
}
ss->xirr = (ss->xirr & ~XISR_MASK) | (nr & XISR_MASK);
ss->pending_priority = priority;
+ trace_xics_icp_raise(ss->xirr, ss->pending_priority);
qemu_irq_raise(ss->output);
}
}
@@ -217,10 +226,12 @@ static void set_irq_msi(struct ics_state *ics, int srcno, int val)
{
struct ics_irq_state *irq = ics->irqs + srcno;
+ trace_xics_set_irq_msi(srcno, srcno + ics->offset);
+
if (val) {
if (irq->priority == 0xff) {
irq->status |= XICS_STATUS_MASKED_PENDING;
- /* masked pending */ ;
+ trace_xics_masked_pending();
} else {
icp_irq(ics->icp, irq->server, srcno + ics->offset, irq->priority);
}
@@ -231,6 +242,7 @@ static void set_irq_lsi(struct ics_state *ics, int srcno, int val)
{
struct ics_irq_state *irq = ics->irqs + srcno;
+ trace_xics_set_irq_lsi(srcno, srcno + ics->offset);
if (val) {
irq->status |= XICS_STATUS_ASSERTED;
} else {
@@ -279,6 +291,8 @@ static void ics_write_xive(struct ics_state *ics, int nr, int server,
irq->priority = priority;
irq->saved_priority = saved_priority;
+ trace_xics_ics_write_xive(nr, srcno, server, priority);
+
if (irq->lsi) {
write_xive_lsi(ics, srcno);
} else {
@@ -290,6 +304,7 @@ static void ics_reject(struct ics_state *ics, int nr)
{
struct ics_irq_state *irq = ics->irqs + nr - ics->offset;
+ trace_xics_ics_reject(nr, nr - ics->offset);
irq->status |= XICS_STATUS_REJECTED; /* Irrelevant but harmless for LSI */
irq->status &= ~XICS_STATUS_SENT; /* Irrelevant but harmless for MSI */
}
@@ -315,6 +330,8 @@ static void ics_eoi(struct ics_state *ics, int nr)
int srcno = nr - ics->offset;
struct ics_irq_state *irq = ics->irqs + srcno;
+ trace_xics_ics_eoi(nr);
+
if (irq->lsi) {
irq->status &= ~XICS_STATUS_SENT;
}
diff --git a/trace-events b/trace-events
index 6c6cbf1..6cb450a 100644
--- a/trace-events
+++ b/trace-events
@@ -1022,3 +1022,16 @@ spapr_pci_rtas_ibm_change_msi(unsigned func, unsigned req) "func %u, requested %
spapr_pci_rtas_ibm_query_interrupt_source_number(unsigned ioa, unsigned intr) "queries for #%u, IRQ%u"
spapr_pci_msi_write(uint64_t addr, uint64_t data, uint32_t dt_irq) "@%"PRIx64"<=%"PRIx64" IRQ %u"
spapr_pci_lsi_set(const char *busname, int pin, uint32_t irq) "%s PIN%d IRQ %u"
+
+# hw/xics.c
+xics_icp_check_ipi(int server, uint8_t mfrr) "CPU %d can take IPI mfrr=%#x"
+xics_icp_accept(uint32_t old_xirr, uint32_t new_xirr) "icp_accept: XIRR %#"PRIx32"->%#"PRIx32
+xics_icp_eoi(int server, uint32_t xirr, uint32_t new_xirr) "icp_eoi: server %d given XIRR %#"PRIx32" new XIRR %#"PRIx32
+xics_icp_irq(int server, int nr, uint8_t priority) "cpu %d trying to deliver irq %#"PRIx32" priority %#x"
+xics_icp_raise(uint32_t xirr, uint8_t pending_priority) "raising IRQ new XIRR=%#x new pending priority=%#x"
+xics_set_irq_msi(int srcno, int nr) "set_irq_msi: srcno %d [irq %#x]"
+xics_masked_pending(void) "set_irq_msi: masked pending"
+xics_set_irq_lsi(int srcno, int nr) "set_irq_lsi: srcno %d [irq %#x]"
+xics_ics_write_xive(int nr, int srcno, int server, uint8_t priority) "ics_write_xive: irq %#x [src %d] server %#x prio %#x"
+xics_ics_reject(int nr, int srcno) "reject irq %#x [src %d]"
+xics_ics_eoi(int nr) "ics_eoi: irq %#x"
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 06/40] pseries: Split xics irq configuration from state information
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (4 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 05/40] pseries: Add tracepoints to the XICS interrupt controller Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 07/40] pseries: Implement PAPR NVRAM Alexander Graf
` (34 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
Currently the XICS irq controller code has a per-irq state structure which
amongst other things includes whether the interrupt is level or message
triggered - this is configured by the platform code, and is not directly
visible to the guest. This leads to a slightly awkward construct at reset
time where we need to reset everything in the state structure _except_ the
lsi/msi flag, which needs to retain the information given at platform init
time.
More importantly this flag will make matching the qemu state to the KVM
state for the upcoming in-kernel XICS implementation more awkward. This
patch, therefore, removes this flag from the per-irq state structure,
instead adding a parallel array giving the lsi/msi configuration per irq.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/xics.c | 20 ++++++++------------
1 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/hw/xics.c b/hw/xics.c
index 33f99c7..55899ce 100644
--- a/hw/xics.c
+++ b/hw/xics.c
@@ -179,13 +179,13 @@ struct ics_irq_state {
#define XICS_STATUS_REJECTED 0x4
#define XICS_STATUS_MASKED_PENDING 0x8
uint8_t status;
- bool lsi;
};
struct ics_state {
int nr_irqs;
int offset;
qemu_irq *qirqs;
+ bool *islsi;
struct ics_irq_state *irqs;
struct icp_state *icp;
};
@@ -254,9 +254,8 @@ static void set_irq_lsi(struct ics_state *ics, int srcno, int val)
static void ics_set_irq(void *opaque, int srcno, int val)
{
struct ics_state *ics = (struct ics_state *)opaque;
- struct ics_irq_state *irq = ics->irqs + srcno;
- if (irq->lsi) {
+ if (ics->islsi[srcno]) {
set_irq_lsi(ics, srcno, val);
} else {
set_irq_msi(ics, srcno, val);
@@ -293,7 +292,7 @@ static void ics_write_xive(struct ics_state *ics, int nr, int server,
trace_xics_ics_write_xive(nr, srcno, server, priority);
- if (irq->lsi) {
+ if (ics->islsi[srcno]) {
write_xive_lsi(ics, srcno);
} else {
write_xive_msi(ics, srcno);
@@ -314,10 +313,8 @@ static void ics_resend(struct ics_state *ics)
int i;
for (i = 0; i < ics->nr_irqs; i++) {
- struct ics_irq_state *irq = ics->irqs + i;
-
/* FIXME: filter by server#? */
- if (irq->lsi) {
+ if (ics->islsi[i]) {
resend_lsi(ics, i);
} else {
resend_msi(ics, i);
@@ -332,7 +329,7 @@ static void ics_eoi(struct ics_state *ics, int nr)
trace_xics_ics_eoi(nr);
- if (irq->lsi) {
+ if (ics->islsi[srcno]) {
irq->status &= ~XICS_STATUS_SENT;
}
}
@@ -354,7 +351,7 @@ void xics_set_irq_type(struct icp_state *icp, int irq, bool lsi)
{
assert(ics_valid_irq(icp->ics, irq));
- icp->ics->irqs[irq - icp->ics->offset].lsi = lsi;
+ icp->ics->islsi[irq - icp->ics->offset] = lsi;
}
static target_ulong h_cppr(PowerPCCPU *cpu, sPAPREnvironment *spapr,
@@ -518,10 +515,8 @@ static void xics_reset(void *opaque)
qemu_set_irq(icp->ss[i].output, 0);
}
+ memset(ics->irqs, 0, sizeof(struct ics_irq_state) * ics->nr_irqs);
for (i = 0; i < ics->nr_irqs; i++) {
- /* Reset everything *except* the type */
- ics->irqs[i].server = 0;
- ics->irqs[i].status = 0;
ics->irqs[i].priority = 0xff;
ics->irqs[i].saved_priority = 0xff;
}
@@ -568,6 +563,7 @@ struct icp_state *xics_system_init(int nr_irqs)
ics->nr_irqs = nr_irqs;
ics->offset = XICS_IRQ_BASE;
ics->irqs = g_malloc0(nr_irqs * sizeof(struct ics_irq_state));
+ ics->islsi = g_malloc0(nr_irqs * sizeof(bool));
icp->ics = ics;
ics->icp = icp;
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 07/40] pseries: Implement PAPR NVRAM
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (5 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 06/40] pseries: Split xics irq configuration from state information Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 08/40] pseries: Update SLOF for NVRAM support Alexander Graf
` (33 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
The PAPR specification requires a certain amount of NVRAM, accessed via
RTAS, which we don't currently implement in qemu. This patch addresses
this deficiency, implementing the NVRAM as a VIO device, with some glue to
instantiate it automatically based on a machine option.
The machine option specifies a drive id, which is used to back the NVRAM,
making it persistent. If nothing is specified, the driver instead simply
allocates space for the NVRAM, which will not be persistent
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/Makefile.objs | 2 +-
hw/spapr.c | 33 +++++++++
hw/spapr.h | 2 +
hw/spapr_nvram.c | 196 ++++++++++++++++++++++++++++++++++++++++++++++++++
qemu-config.c | 4 +
5 files changed, 236 insertions(+), 1 deletions(-)
create mode 100644 hw/spapr_nvram.c
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 8fe2123..4492127 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -11,7 +11,7 @@ obj-y += ppc_newworld.o
obj-$(CONFIG_PSERIES) += spapr.o spapr_hcall.o spapr_rtas.o spapr_vio.o
obj-$(CONFIG_PSERIES) += xics.o spapr_vty.o spapr_llan.o spapr_vscsi.o
obj-$(CONFIG_PSERIES) += spapr_pci.o pci-hotplug.o spapr_iommu.o
-obj-$(CONFIG_PSERIES) += spapr_events.o
+obj-$(CONFIG_PSERIES) += spapr_events.o spapr_nvram.o
# PowerPC 4xx boards
obj-y += ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o
obj-y += ppc440_bamboo.o
diff --git a/hw/spapr.c b/hw/spapr.c
index eafee03..d23aa9d 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -657,6 +657,36 @@ static void spapr_cpu_reset(void *opaque)
(spapr->htab_shift - 18);
}
+static void spapr_create_nvram(sPAPREnvironment *spapr)
+{
+ QemuOpts *machine_opts;
+ DeviceState *dev;
+
+ dev = qdev_create(&spapr->vio_bus->bus, "spapr-nvram");
+
+ machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0);
+ if (machine_opts) {
+ const char *drivename;
+
+ drivename = qemu_opt_get(machine_opts, "nvram");
+ if (drivename) {
+ BlockDriverState *bs;
+
+ bs = bdrv_find(drivename);
+ if (!bs) {
+ fprintf(stderr, "No such block device \"%s\" for nvram\n",
+ drivename);
+ exit(1);
+ }
+ qdev_prop_set_drive_nofail(dev, "drive", bs);
+ }
+ }
+
+ qdev_init_nofail(dev);
+
+ spapr->nvram = (struct sPAPRNVRAM *)dev;
+}
+
/* Returns whether we want to use VGA or not */
static int spapr_vga_init(PCIBus *pci_bus)
{
@@ -818,6 +848,9 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
}
}
+ /* We always have at least the nvram device on VIO */
+ spapr_create_nvram(spapr);
+
/* Set up PCI */
spapr_pci_rtas_init();
diff --git a/hw/spapr.h b/hw/spapr.h
index 971a50a..600722f 100644
--- a/hw/spapr.h
+++ b/hw/spapr.h
@@ -6,11 +6,13 @@
struct VIOsPAPRBus;
struct sPAPRPHBState;
+struct sPAPRNVRAM;
struct icp_state;
typedef struct sPAPREnvironment {
struct VIOsPAPRBus *vio_bus;
QLIST_HEAD(, sPAPRPHBState) phbs;
+ struct sPAPRNVRAM *nvram;
struct icp_state *icp;
hwaddr ram_limit;
diff --git a/hw/spapr_nvram.c b/hw/spapr_nvram.c
new file mode 100644
index 0000000..641de48
--- /dev/null
+++ b/hw/spapr_nvram.c
@@ -0,0 +1,196 @@
+/*
+ * QEMU sPAPR NVRAM emulation
+ *
+ * Copyright (C) 2012 David Gibson, IBM Corporation.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#include <sys/mman.h>
+#include <libfdt.h>
+
+#include "device_tree.h"
+#include "hw/sysbus.h"
+#include "hw/spapr.h"
+#include "hw/spapr_vio.h"
+
+typedef struct sPAPRNVRAM {
+ VIOsPAPRDevice sdev;
+ uint32_t size;
+ uint8_t *buf;
+ BlockDriverState *drive;
+} sPAPRNVRAM;
+
+#define MIN_NVRAM_SIZE 8192
+#define DEFAULT_NVRAM_SIZE 16384
+#define MAX_NVRAM_SIZE (UINT16_MAX * 16)
+
+static void rtas_nvram_fetch(sPAPREnvironment *spapr,
+ uint32_t token, uint32_t nargs,
+ target_ulong args,
+ uint32_t nret, target_ulong rets)
+{
+ sPAPRNVRAM *nvram = spapr->nvram;
+ hwaddr offset, buffer, len;
+ int alen;
+ void *membuf;
+
+ if ((nargs != 3) || (nret != 2)) {
+ rtas_st(rets, 0, -3);
+ return;
+ }
+
+ if (!nvram) {
+ rtas_st(rets, 0, -1);
+ rtas_st(rets, 1, 0);
+ return;
+ }
+
+ offset = rtas_ld(args, 0);
+ buffer = rtas_ld(args, 1);
+ len = rtas_ld(args, 2);
+
+ if (((offset + len) < offset)
+ || ((offset + len) > nvram->size)) {
+ rtas_st(rets, 0, -3);
+ rtas_st(rets, 1, 0);
+ return;
+ }
+
+ membuf = cpu_physical_memory_map(buffer, &len, 1);
+ if (nvram->drive) {
+ alen = bdrv_pread(nvram->drive, offset, membuf, len);
+ } else {
+ assert(nvram->buf);
+
+ memcpy(membuf, nvram->buf + offset, len);
+ alen = len;
+ }
+ cpu_physical_memory_unmap(membuf, len, 1, len);
+
+ rtas_st(rets, 0, (alen < len) ? -1 : 0);
+ rtas_st(rets, 1, (alen < 0) ? 0 : alen);
+}
+
+static void rtas_nvram_store(sPAPREnvironment *spapr,
+ uint32_t token, uint32_t nargs,
+ target_ulong args,
+ uint32_t nret, target_ulong rets)
+{
+ sPAPRNVRAM *nvram = spapr->nvram;
+ hwaddr offset, buffer, len;
+ int alen;
+ void *membuf;
+
+ if ((nargs != 3) || (nret != 2)) {
+ rtas_st(rets, 0, -3);
+ return;
+ }
+
+ if (!nvram) {
+ rtas_st(rets, 0, -1);
+ return;
+ }
+
+ offset = rtas_ld(args, 0);
+ buffer = rtas_ld(args, 1);
+ len = rtas_ld(args, 2);
+
+ if (((offset + len) < offset)
+ || ((offset + len) > nvram->size)) {
+ rtas_st(rets, 0, -3);
+ return;
+ }
+
+ membuf = cpu_physical_memory_map(buffer, &len, 0);
+ if (nvram->drive) {
+ alen = bdrv_pwrite(nvram->drive, offset, membuf, len);
+ } else {
+ assert(nvram->buf);
+
+ memcpy(nvram->buf + offset, membuf, len);
+ alen = len;
+ }
+ cpu_physical_memory_unmap(membuf, len, 0, len);
+
+ rtas_st(rets, 0, (alen < len) ? -1 : 0);
+ rtas_st(rets, 1, (alen < 0) ? 0 : alen);
+}
+
+static int spapr_nvram_init(VIOsPAPRDevice *dev)
+{
+ sPAPRNVRAM *nvram = (sPAPRNVRAM *)dev;
+
+ if (nvram->drive) {
+ nvram->size = bdrv_getlength(nvram->drive);
+ } else {
+ nvram->size = DEFAULT_NVRAM_SIZE;
+ nvram->buf = g_malloc0(nvram->size);
+ }
+
+ if ((nvram->size < MIN_NVRAM_SIZE) || (nvram->size > MAX_NVRAM_SIZE)) {
+ fprintf(stderr, "spapr-nvram must be between %d and %d bytes in size\n",
+ MIN_NVRAM_SIZE, MAX_NVRAM_SIZE);
+ return -1;
+ }
+
+ spapr_rtas_register("nvram-fetch", rtas_nvram_fetch);
+ spapr_rtas_register("nvram-store", rtas_nvram_store);
+
+ return 0;
+}
+
+static int spapr_nvram_devnode(VIOsPAPRDevice *dev, void *fdt, int node_off)
+{
+ sPAPRNVRAM *nvram = (sPAPRNVRAM *)dev;
+
+ return fdt_setprop_cell(fdt, node_off, "#bytes", nvram->size);
+}
+
+static Property spapr_nvram_properties[] = {
+ DEFINE_SPAPR_PROPERTIES(sPAPRNVRAM, sdev),
+ DEFINE_PROP_DRIVE("drive", sPAPRNVRAM, drive),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void spapr_nvram_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ VIOsPAPRDeviceClass *k = VIO_SPAPR_DEVICE_CLASS(klass);
+
+ k->init = spapr_nvram_init;
+ k->devnode = spapr_nvram_devnode;
+ k->dt_name = "nvram";
+ k->dt_type = "nvram";
+ k->dt_compatible = "qemu,spapr-nvram";
+ dc->props = spapr_nvram_properties;
+}
+
+static const TypeInfo spapr_nvram_type_info = {
+ .name = "spapr-nvram",
+ .parent = TYPE_VIO_SPAPR_DEVICE,
+ .instance_size = sizeof(sPAPRNVRAM),
+ .class_init = spapr_nvram_class_init,
+};
+
+static void spapr_nvram_register_types(void)
+{
+ type_register_static(&spapr_nvram_type_info);
+}
+
+type_init(spapr_nvram_register_types)
diff --git a/qemu-config.c b/qemu-config.c
index aa78fb9..de10051 100644
--- a/qemu-config.c
+++ b/qemu-config.c
@@ -579,6 +579,10 @@ static QemuOptsList qemu_machine_opts = {
.name = "usb",
.type = QEMU_OPT_BOOL,
.help = "Set on/off to enable/disable usb",
+ }, {
+ .name = "nvram",
+ .type = QEMU_OPT_STRING,
+ .help = "Drive backing persistent NVRAM",
},
{ /* End of list */ }
},
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 08/40] pseries: Update SLOF for NVRAM support
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (6 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 07/40] pseries: Implement PAPR NVRAM Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 09/40] e500: Adding CCSR memory region Alexander Graf
` (32 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
Now that we have implemented PAPR compatible NVRAM interfaces in qemu, this
updates the SLOF firmware to actually initialize and use the NVRAM as a
PAPR guest firmware is expected to do.
This SLOF update also includes an ugly but useful workaround for a bug in
the SLES11 installer which caused it to fail under KVM.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
pc-bios/README | 2 +-
pc-bios/slof.bin | Bin 878640 -> 880832 bytes
roms/SLOF | 2 +-
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pc-bios/README b/pc-bios/README
index 3037130..eff3de7 100644
--- a/pc-bios/README
+++ b/pc-bios/README
@@ -17,7 +17,7 @@
- SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware
implementation for certain IBM POWER hardware. The sources are at
https://github.com/dgibson/SLOF, and the image currently in qemu is
- built from git tag qemu-slof-20120731.
+ built from git tag qemu-slof-20121018.
- sgabios (the Serial Graphics Adapter option ROM) provides a means for
legacy x86 software to communicate with an attached serial console as
diff --git a/pc-bios/slof.bin b/pc-bios/slof.bin
index 84ba6b83f3c7fe523cb0b0e73ae8522872d1feef..3410f4fff40ff4a93d8963bf63fd6c1439f8b19c 100644
GIT binary patch
literal 880832
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	F3DG!R5esGl`O3%!iK!EiX+M
zw#jYqx=e`=a+d-Bgo*NA0Pn`0VjtRIK2Y{wm|wA;P>z_V?j+K#SjB0~hf!t^KP!{4
zp9=cy_aM`Ch96W|w%R*!04isPH@KP7Yo}3C^(^oYo2t$M|A-A%WdnB~YzylyB2LJ`
zS{l|`M69um?r5DxsoX{*<OlWvUZ+_#9kT9%Zt7{A?#reNz4H1FY$cD!QPYpd8b|#e
zJ_n)g<TC@f9zzrSi;S!0_{M#lbrwAb;<1qRivOp8_cd?y(zI3|Dzk47VlNWUA~pz2
z0VXGV?U<upq&|ZfeVbHYr1kBO);Z7Nhtc_3q4Oz}Zt5I#ZLIh2zd}hP)4fE{ed>Vj
zv(7M&rtZ5yZ;1X=Bl;KnrCGZEF%BpZ{ZAMAXI{EsLte_#^^cgC<yJ0xOV|O@h5TKr
zZf9NFDJ{A!cMZnv>R-+6L%wcTSz?Uma{!_((f+g$^UHJ@1JGQ^&(Q5&e?G>xS1y~&
z{e-`PEo=`qEBgL9&K_W1wU_I2Irej0SBx{~I8%To`6mUEpkKsAYzqp{AwYxsaJZD`
z!aX6@Df@NA^HkGe72i9q(dsQ*Q(^x_I7baAdX|fC{8>3pHe+NycYaIfp+!N^xkc0a
zfT|%@&cGOp1<~(!QNmvA&$3Np4=HKrn1Qz66C6hQo?d)2ocZg;_rsMpuaY~jCF;fZ
z!<7vf=l>Bt2)>Br00y7;;@jdZPcObL&U2(*#NWM`SDACFz9I7|$ULE7yX7U!Cq5H)
zyc}a07=V2DhZaEgPOF3E#=4G`_cnSSLE0Nu$5YT%&HL!{Ui9C44lUxct5%@@!v|om
zBh~-)CGssn_=0<{k{O3v-Z-@AmiK|jhk+?-aEYwG0pGR)Yq7ZZuee>_itikvjd7U2
zCpkML+8ZKi<2S!Ab9+AU<96ViTp8GidA7D;5ysHm7WNGi?}_KCp+202v3MTGe4E#g
zI1TffPq~cxc^|$dW|_@p)P9Z?vCfCRKT-C5y=*RMBWC+ZRlAF8us6JM$8$2r8|p5O
zB^_`22yvC}i=J>_w8P7?hGgtR*s)$xiTPk9)*&i8?KmUCKH-@ADUxp4lD6QM?>MgU
zSK>Qml^^hX2g#hTKFRYW>G>KT{B^1^PGKyD?eiJ~zt>DWXBcQd^F?kyi1gfM#InBM
z*!vz4vOmA^oqv+m-+dx8E-b5Od;h2EHE+l)bMDLhEcrGr`95UGh{ymN`3uJ4Ba1Ec
z80*=c4tboEwy|!9-1{-swvuT)=0dmfeg<OS7UZS#xLT5I*mx>@`Ifzq8**%y=HuLz
zmK(tO9QHxst9=a@;_U45@AKMgF4_?|FSuzyCnAq|JwRjOr(YMkxR4}Q&R|`bbp2QA
zXBeQL-Mu%$1|9@Hh!Nzn@g3+x-Q4&2yZYSk|100tXUs6xy~j4<27hiJ$CYQo4H=jx
z15;g|{^uFj1=uJo*xtXp#sM87*5EkDj5iopjybpvV~ZGer}`g=(<zPP*``j&0J-x4
zJ^!S@c*75IT(M2}LuP;G@rQj9)~wTuw9i(VK8f}A&`$a$`x+j%8#CaK;FB6tMSM}k
zeyItu7S5`OZ<os{7^Bfo#W;gL>R+)0>u<U~MIXd_Cw@-?-aVlt&`5B3Bzmz3XTj0m
zoA8YlZin}~!*~WC3k}=w82orcIh2mI9PGizj%CEY3*s3O%Ya|@f5N}B+&nLX4`W|=
zeSjPgkAGs{LilLR8<cmA^=Y0*^LYZUXZ*h&VoeiuyG~L%@G33RKFz6J44#v<&(v+i
zb0!=AKPo1EE)RUzJtTa(d;~mO4=sXx)~!Y8e~=OQZeaXsDrqXOgVf%I^$=bMNnAQt
zK8$M;e4cIT+-eW>{~COp4f})t;Fed_!2gv4*TYNa);x#2DJZi7<w1Xy4ZiL$;;x!m
z@~SfAx71JNvW%_piLYnL{xMg{tL{SlR*o{zQ%M5uKYUl_v8ALwFa_U8JY2F1bZ8=c
z<|nfJA>!qqyJh}nqVk=ah5jHzg0mg|^9`H<!n}*W(+Qo9hkO_5`uoIh#B+C;`r}wG
zU_~4ftv?Zy4aA~)ySK|6r>WbrJ<6+?V_@EixkWyY`H0<8@eP_p9~1}Owy<uweV%U%
z{X%a;*FF%deTKg9HmdMX3SjOg^bK1u<20iW)arfU&o`Pn<UW8nL99<RhE4cC0HXSU
z@@4ygY5%}0iTi+#*`JpiHs4@k#x{@fY9@apyxIplsU!#Yv+A|5r!mm?*Y*C!cEh&9
z`t;kbg5F>!7%znliM2H3!8ZJr&^?cb_&%mT75xPLvAQzpuuM2R;!BWOR;({fU^#(r
zK=d8pB(R0;59&7-9Y=h(?lEPH?o(VdcT~wOc)tPX8I`s0D@Q2}<GIZT95FYs^4U1V
z<BeNWc2xNj;ScV)9plEN&76<+s<=IFYfwAL6KhKtk1^k_Vx0-Spbyq!{>bN|@oob4
z60pv=pH?FOapWiPS`e<5+R7bOPBegL#VJu0uJzah=l&;Q-Dm^mWgC#zuod#+9kU-X
zFAXTi_GPZC#o~$m116yk_N6?J;rPhiK^EqbeJbp3Ir|O8--~@y{Qo|P8<2K&F6P|o
zYk#)aybm9);cU-#oSTEMx~2WlBDP<({m=TDzt_e%%y}vMu0gmY7`RLoF{Ho+-!2ip
zytaaDO|^8yRmr%l7P!>rh<!d2ha-@;%7wiN7X-#VV-Uczg>mUAr3S_b=`!#Um=$U7
zZ)I$l&;Np+`VBpKYm0QfnEC=A7Vsd8b_<{v=m7dr4E@xDmjIp{z(+Fk(Q+O-TKp{L
z%lmcP!JJs^J3>!l9gTIzx<XvBmhA+w+e(bdTUl@VT4?`e&J3){)^(GdAofE&(BWk`
zi|~_@GRHMaS+5;yg|nHiqGDY!knR!trrUTtJ+mBjC64R#y4r3NKjF7VFfJLs;4J;_
z)%6QJg?_!zIq%~V>kv39JpKT$D&Tmer+^xOZvyL6;H%p`>otHh%rD;)>uM%%G3}k_
zK2I6(LsX2<`xwz<rTZ{th&j*iFrH$rd&~QD4dRlAO<C$-p9<!GNGny!aPG1WYmUu0
zCxUqv?2p9!Y?40D3s1tkNa#;rbUwW1cC1BV4p=jd_sCC&)YoTJDfQA5&PT|?`rxw#
zXzxXLJL0Yy{@xY#!nSq4fPH$Y=6&&=!%y_J*^7mJF;7a(pGCjL+3Mr!l3#(})8oV$
z9lYPhH1S-^JolZ}d34`~evLD><{Xj7tiC%S53fn`d~ulZ3F7iEGFLP)V*E@$QWxU)
zJkDJ0LqX^7;E!L+D|QA*#X3`!^V!;$cs-l3<oRGkhxpE%={xv)b8E2<HpqV%Yfi>G
zW-PyY`b+p#>)C$wH)0JSFv31-V!-l8`?N;g=E2i>`!wtDKJA_T0@E+>X~5dU`jAzO
zZQx17JYt{!bg5I-?F(fH_HZNc7vm<<t&Bh03HK-Dv+th<74k2#=Jy5ohokUsMBm_X
z4d2rlG_D2E$GI;HpN%{l@Mpg*Bkgg$e;@yM9~wnJ8qv5G3;(c=KX^KC{B6VIe|#bH
z6|vc2#(t9*9@E%2s9Vx;W&lA$1=gmw@cfhG0e+tuXP=W{FPPUx**R+HYv@>Ksp9%v
zZfL%U2jPoNdo$-oSSx=ZTr2T9a8<ZfIws<mR_RFipmaQZLh9&|q+m~`)ZJ4cg}ro<
z-v|0)Zv<<%m=DZ%zo!4ceykt&30lwN`r|4|Y%9(dwui<?xeosye~1BsSc?{8EBhgi
z1K4iPIcGtcp<|mL`)|3RZ>~KmFJu3W<74<+u^;yXtlMB+hcV;z8#l`KMz7ysJY-up
z-oKcKaq;cBu-ZA;FPejst_#}XKRYl#JwqAp$vF22d30a+mpgeJ(8tWb{2uS<ux=X7
z{(<@a@0E?1zkiQ9au0|#*A1TU(Ax!nN2eD2j;wCPM34L$>mr~1vt088t~jr};Ma`N
zUlP?PTRhDVlf?OqlbZ0FtWLvTbqkHf{@3682)OHOC(XC~+Hnn!#T$R!YgYq%JsYt<
z#P#6ASF_A4FYN6Y)<DF#!hYS{x9fWvXBE!#|IG7mk{te8`~~#)Etqf2UvE_Fj<ZfT
zpwBy4Hs=&gD<OwCvyWwS_-p)E1^O=`fK$i(elXjiTIUdJZNe6}C+!pC0DKL`$7wuI
zsW}PEA%h-E{zX!s=_VtFg#CPR%x?B4%*RqVUH~5r1|Q<W`-02|_C~q|4>*U*@jUuY
z8uU5VX+<9c|J)Z)_d2vG;&!GLGj1^E(@YP%tI@FnbSU;Wj5%1T^8Qu4e}eVVGnqm7
zFfpcCNt%WJf<84??>E|=yl%$j#Cu@aqlA5x!oQ*4AWgTgvF>)@1o~Ka+yg#a`d-!d
z&Dci!euo%@``5X~WUGz^_aDK#!H2n)&;De<S7<kazh?ZukB_<E$2_Q+99YY@sV6_M
zt60a+dIjGvgzlin7S>nIevVf<?M2!r(`#xlMyx^KLHvSsg*jZ0`;~|%>qx|t1<l&q
z{LYiJndch7zn*RA%)c-Oj49)YeS$wSW_-`MAttyQxcmrw@>=j-b3Svf`7-kby*5EK
z{zc}?!WQstL}3d)^xtO@KP5!?SO)!b8!_i_>Mn<{E8&BTc#(C(`0@LiZ08Ejk#Rfh
zpV&7I@=JrylVt)&FWT$i*pU4t_gmIyC+c;=pYfTak^Fy`gYoPAQD-ZG7FFf`1nX}H
zKyykM|DVWiD%h_*Q3IXUyo-699XwBjUV)N&2{5>f-_M|z78gSIx9zB^T>!mPd$GE?
z-Ggs@-qCP5#;O3XM{31gzcI!uPGdVgpyj*Y$2<+|ck047<eD9zzn}fy$K%u|gVg+O
ztg+x74fwBM%^CQ`GiW#cr*>XT-MI5P)-}qWzE1t$?X>Z8%s<k>3;29|JNzZ=ZNcY)
z);nfC`%kvpCbW+jIDH76L~cW^2^RBNAazaBK6kVBXV_JFO&w%E#WD0J_d#!H^Rrd3
zFGwYRlJH^184w<8#k`99yHD@mi#sarhV7J=Y4^=$-vgQx@@Yx&_fPQIu~m3~A?ffM
zTDRUu-xA+1gdJ>fwhG(6(b=BSjdp9feAht=p!__pH>eKEiaG&8`J`^>HGn$Tb)BF9
zuU}#uaT#ONJg~(3f=A#NM6Azc(T6ye?sm41=e90JKYW;dhM0S>jk2$RjYh=|;$7RQ
zX90xiU-9i=@g9IkH2x8BhT#j@2Qo(TMywyO?ejV;+cJ0sP7kQ>;p_$cM3MF<vEIdg
zp7(^+_hAdK@O~k!7VjNDO~ve2inRaytq<++d{f;&QNCsWm_@nUV4pa%&h?=8w;_)n
zU+|h4^T9HKkLVb~EQ573jq!?A&JZcG_vyrhocs3TO*nf1n(pQuEuwE@y;;bIv7hDR
zu}jE@xskhr=i9b3J`k&UO~`N=-}9V|zr)J1a^J>!34d3_=~^t_$Ij!j%A}qb{EHc%
zKmMNUaCxp5UB~mRcFapjnEC>TdSjmu^pGa@4s)@7%W(tqfjDQZ=V?uGw`2d?#0k0>
ziTpy&jT5WIxQWKh@r~u}i<&1h4%`PI%PWi%W5oP&`))-dx5vccj}t&<5Dxx)#4`g}
zc>H*W#Dy^eXAb5!rAPulzsh)gBx3z&45RA;lOsP^E&=y3ncN1S*%AAv0+%t%InBfc
znB-&cWGwTCF+r@4MEV5e686J$+hNAghDq2<#+U%Vw-9tZpp);$o<@zPuY;+T@5*Wj
z-?VawH5Xf<2m3f!|94@JhR^zOJ=p9=&I&QEh<>Qxo!c*32LSv0i@axTj@@G1c@O70
zVVmaJiXrDaOVu;IcKFge`RuTMR>3N4Q|${Ei@pb&#Tl`X4-N49%<$6|bz7Lv#c0q&
zqw0UxuxXm4Y!AP{F`6<NV?AVsUc?;Opu3A{I48qi>%t!P`S9<@oRFE@LD?M6XWY@x
zasH5AK-$Hertf`Q%lW>h1HKyZfoR8AV+0-krVGcoy6@uH|BK=rtce>wNZ7EjXZ{8N
z_gBQs=h)Z15w;wJFW28w;d8F=8F>Df=RN{6*f(UbDN}%h=;NJNGw&P^bKm3fNS%DF
zSe=NzF5;g*3)|1d*vj(>_aYJZ-N9HWYNuF_Dbhk8GYv)Q5g4mK2ovN!<(7db)@*7P
z!^Yl&t<~t`AoIi+6=|Jsay|8#;~v%t+CHVa-m){M>i#3e7<1nd`Ir-^JGn1?dLKXY
zcnLfQ;wL`i&X^)55$ifJ`T(l&PYT$uhl_dHAdK1nn)b*(lE)YWb93&-wrkA8fU_kX
zxIP8j#MwlP;2GbMxYLIQ*ta=%U>=6O62=hewVclQvMnHP=X2eAc`P&MI_KiuoXe;?
zy9|ByEEi{bBKqx}pk_g53laP9Iw^cdk=A`Hx5@m8{_w2UIQKHNy_J^gy3^OvinO56
zzfxo94*iF9r`twQ_<vy=b;55r2JGfT(HG4;wj0ym8~r3*X%4@@<#k;L#kipN7s;?W
z(cgrx6#XOse$n4}90gxLVgA9dhxgXiX6&`&I|J^2#`oH`VU6&l?zd3xZ@HZMOout|
zI;H+!>fQyss_QxzT@o*`ZEx?L*a>+r9u8X;8zg~U8H3nD2ura*st`s=@U4WjK`KJp
z(Zk3Iu1QaB4>_m(KF&G$`f*yPB{z1eHpEwMoCb5!SWZF%ZdzmKMN*$sX<pb#8j?6E
z&Wrnx*Ia9_y*AkHIp4i^8Eft}=a^%TIp&ySjydLIz4#N_uTw$ewaD;~{tLtW3F!vl
z{M+BWuXx^ef%WYDe}2y4u=XMNm(xbXYuI6Q=9Al(WS#O;+mVdkfBL6W)SmbM!MCQa
z)aKadVryjcXx|F%HX&a!`^cfc-}r~Pk1C{_so&y^G}eu97tQv=ZavkbXVp#8XP_G<
zaQ}pN1oNmhf5~Gk-+cyr18Z>J3E}Shb#FIhG>5ybenT?c@DTLoU-FrSH?BDjTsW(F
z|6+_GxWi&|&dcQf#9Q%4%khm#%*O~XXn7WQD|Yg{RQ*3RhG5M40nuX*({Y^Xn4o#?
zwm-w2hI#sKFv9&P6KhFyMw#^0=A73KUy(=mZBf1d5M>c<L=Wi=%TMWHns2Ly{eS`=
zSS;U*Bi_*egd6mH0ZHy5K5e73qY)fa?_22Kw*2zt2i_mxaGCI<T)u|)fmY-rTDAPJ
zy~-%=e{c!;+S?D!$N3aGe}lDaSC<8#JwnTU%PVg<^ghfx(FVc?&?R>VGH#bQlJBL^
z(lGDx<JdR(x@{i>5Bk9)_!@{;;kp9m&jT3f%orH5yXXupjaP>bV|{}B6^AkYEWqB(
z_j$e8FE8Wm((?0D!U13Ge8wT`X#b^Q|GDW)@Aan1*Kz4XSey8eH+|^|>`DKoH~S*3
ztH6)+Vv~0s^72S8h(;eQJO5?;_%0aRfS~jC=gv*r9DsBv*~H&}oX%YQ>ivYv?V)7d
z`X1IN6i=`h;B#*H{r6tN+z;^YnWT7>Ew=q<vHn0d4vkM3Q%dG6=-0+C8gq<iJT`$}
z@Od`TT%_S}MGo_#0>+Xd#{XX2N26uG=QP<f?-qT$v|^U$;AAV)7)IsB%#)~0!gJfQ
z-)H-n%57M1`PX!R5Yd4)zK&>kt_}2I9K?D%*3;ByNqbgcH&ed?zYFjs)Atg);ZvY}
z7X_Mgy?^K<t>h1ejyU;TKg!8@*<*`8()!=;#QqfMAd=k|DMX#_+kfF<;HvoVL$bG#
z(=ZnR505(^NtyZ4{qL*!ulGOu<7a5hMSso`KH48ic?l=wzyH%0upjHf!-SuBL+Qj9
zDu-<47x5mQcM*-iH-IYA<K|Ul1Kjt9X7Szr>UObT?R*m2gWC;f!nqyEe?ojZ4&UBk
zvK<$FuouYIJdX0wZ*KEh=lTdS?tK5h5<P5dBi-rq>aWALX!XF?4fj<q>BRjN9>L&!
z73sEnYp|!K5qyNcBwhKZNauIrFXC~h=tbfM)tkn$EBTs08a>X(L^|>p*jw0(Nb>)z
z-ve2Jt=0H{!3Kq`bvxpTAG8L^_B`x#s`raeTrRx$&C652sJMKX_AmYddl`R0J|y#N
z(;N(ag5-?&1sQ+h_V-rgE*<jfjw}Fwj<eh}-1nZ=&ig-l#)E!bh55%#kfo!?7Nc!3
z9ueGgICDU-EHC&Co}ELR)0zVOZ53EssmM{i54~qeC-M6^&_(V39B6wUw9y{2=Rw=^
zsN?gX@A;SOtMa^?AaA1&&^#%JadiR01Z3`14ecEpxUY)$$I<VhraxP-0^y{F*q_Mn
zJsM)KKfm{DIIbb;%<&xv+mU~i>W)2lN2$#F63tU_Wr7b!Z~I-Gd;UAf3ij;X*Y}Pa
zz?XshDmLG6tP1-KzUx)}=`~*A{e9lM&_`>5uYhp%dg%JwKjdNUy`p!`N0Ilt?*W|^
z!|Ug;9x#VB2FS+xS@^Jg+@t&rzJsU%d-l$Cdkg7qw#Co^OByQBpZ#ClfWEebY%sFx
z-+v$WX#Op11K`BI%pCGO(!CgY-tSezk2ibUErkcByc?%+e(kUB^WTPhQsiC|EUz8H
z6!pO?{STPTmD0m$Sf)cQDtAZX&~iZ>ey^}}Dj!vL<$G|IP+BqkybO3d8s&F6USq%J
zG4Op1ysibW$BfU2f1u$MjUT_pw@2VJ$NA|$eGB+`81hc~1A8qnZr<GsBBt)gyn=mb
zKl>rQ-~Z>ZAwGyZZTc^DV(n)s?7UU<Ju~Vbc&D)(w$!|j{K;AAGuB^7H&DA`yj%gl
zD$m_0549QfA^P3082h0rDhgWOeOw;q$gtPX!OqQCd;clc@fzNXGfS{<8)l(v=3v8t
zQDpDKmOV?jcwUG56aJ){>y!%P2M?!EW<@v-`=aj-%TDgketm}0NiKy~zx)!V)4Uz>
zI}BN!p*??)S6ZL{KqzexY46iC;_=j7&n;=7Gta;0dAHtw*1IiSkNcnb=@jvhX~8lZ
z@#5Xjy=BFHYu|RmbA1(s=i5*}^grUuea{?i_`R0@Ms-g7-hce?6zc3TAGqExK23H0
zy)8&b8^XW&M^+!$6)zN(2{_6JxC+9h{KFXZ;vW$mmhVrs4Xs^(=Y-M5bZP&)A9Qh>
zpe=~L7}{<L(U!ux#E-2E;Ow~y&Z>Bvm%bUoi8lDR4~B5g$L~tC4e0{3!7pFX_bPq=
zHe_H3WuHViiExHw0^u~m9)vWW7Z4sp*pKii!f}L0sPEzTO{D9nt*Gyj&SPDNagcN!
z)`bfqGcOXJ4&>`ZQ_;is60cf;F&X1s)9+XKHUFo#;zhhS^wM0>OKpc<yp6_F#9^J=
zgRJ>$uJIPH`p>wJ_R}~^`=7n*noeDwYx>CLXR!zUJlWvn55yem0i@MZ+hgpSqrOf!
zX`VwN`rRtbk=EURIKyLD`vYWiS3l#*0X*IJg1kpq&sITa9>G2EcV7PUoo~bMg!eki
zpMwrX`s1pHUx(j+dE5TWXLFBTevoYW`+9>iux@pn>Vx@S3hN)F_lZ8NC0-uDUPJN^
zPUSw0xgYkXUz*SLt<>|mTPPp#rs2J~<J$Q1!Qb#cILixK>CAjBY$xJbCD#S*gZE?L
z_5ZJ)WNQ8;A~>0T^Mx?s$<%^enRtvBvG6D2;}=eqiGMUce*Wjm#Gj9kZ`u+czqvg=
zzM1FerS;u%G9G?w8Tz+=J08CE1M%@~6dl9ocHG(>7r%X?OnezWcWj7<?|30TzO$!H
zd>Q_CUW$kR?K0*5b{YDAyA1tZ&&K25@o0Q}H&ja;-?~2#AHQpNeEi!F$H%{8uuS}H
zeEi)rW#Z4r$NwK?=<g-)7&+;ijgRjygMZ*qJp5p9eEd)u`2EB2@WW-=<-i-`;SZGI
z&&axX_>nSlINBW#U$~)6{PFnsvH4}<C*tGBtIEV5D--`heEh_b`1r{sW#Y@o?PQtu
zx~DcC&lE++$kkLCIiD&+=TsSaySEG<-u*y)x$mBfk3UqV-S0aY4}ag8GV$MzkN>?-
z#mC=YCjPx;<n8wl$K&}AbMf(iP)5)H!58A;|KmWJ_%d>JWK}%;kuvRjqzs<-FNw$V
z{tac~50{Cbi;w?LW%S8^Dg*zAH^k%lBZ`iZ=l^yw8lPxs-|CO$he!MSCWb~w{L#q?
ze{`?EXLNF8V0>x9Yw7Ch=vwdZ92x8z85qtFgkdvH)&9i2g}i^$P=X7@pZxINZ2xfI
z(1GlDe&2!o$b=@`Gc*SLdxrP_&RD*0V7=ee-=7~J_xI%Q9UU3)^Y|a74&?6{>d!Bw
zEXDBt-o7CezSJL|=$n`v_cyvC$A?Gv68v5Hv2mime=y&_U%^-TWBmj=0P311Ci?mZ
zOA~hW4ab3dJ5W$5G$sy({777U7itw3pJ*8y8y#Ek-!v{Px~;RmwzhWlB+*RI<jDS!
z(Ssx2YI*e%+wbaX+P2;wA9{Cw<4psr{Jr^!{=tnmO|3%RN5>F1#fbKf<@5e{p|3wL
z8Joe@iJ_5we*fr!1K<Or@e6(6I<@O{)<BZ%c@|MySHE`MEw}zw!);BQo42%VRWdBN
zEI%$w2<HdABcPB1gdAMfKwdZ=@|VIDE|r@*1qZ!fbI5*Em`r_miI?2k(be6W-PO^x
zrM+!Ox5Qu5py{ly>38@^rf;tDs@j`&bW^S%1^BO}H{j(m5%zdhEq67w?`-OBiGzDE
zBk&K-YB(q1Lpcq5HJsA$n1(aO?+?!D`#B9SO8DV|gdeHWa9YB@=+tx#|KftYPp2e&
zs8`>aK1@;RmH3&{u$MwSoQ`;<Z~7=jf<Hcosc9|`zm=a+yc`{ew@UM$)9{jnf2DXZ
zF`d7?ql2j@x}tpl*b;B?j+Sk0%^mF>+bJtQ$<&fx(T`;6W3}Gmw(Z?5U7cMm+~k^W
zc#IzpD;*CVlY9@?O6cm*%Nae7DM_Xt9#ps^5>8wC5{;kMcn<NqO5Q)#YVj(-N9Fy*
zaS2VH{_msSH9MN_YRT^C*xA)=A{EqsCMEC>os)1TqwiA^K71q+pNqWD#KRdMqWKNK
z(wDw@&a2GU5e|Al*8|oe<$b2so4=)_yMvQM?Phe(3<{j_*YLY?EnVBg`0~&o+M8LD
zZ3{Xi%0D9|S$Pl5dGogH?9|9)>bf2+Z`PZ)ylu0Kzt-2E9H3pXlZ1x_eSZ}fl1$Cu
zmhc^&O)6r^R5ahraj(*$rTRwbnO@>81V7rE?<B;aN9=^u%&fPdxv9IkRm(HEoVg@$
z#+OHy$h+fDM&2K3&`{G&ejn-4{3<7w-_orev>&Ie9~hq>OnJ$!mL1(4U11R{l|RE{
zaudb>kjhy!-s!PiF`W-h$$MG&a|*BZH+mns<SpoK?dsS?$su`rq#*CEfA-3|@x%CO
z`q1iQ=}|gN|G9S2`WYWBztQ#Jj8{=hMe;-a#C}tlOg)nE7IkfD>FjO|q>kdRKd$K~
zy?O0zrnw+D6ixZgdleh`x4hr@0STv%d5dZ{cQtKSi4qXV>oH9yIo{ROY4OSV6933W
z^w+LH&t5kt@qb<AEey~BkG9WWXT0m1+uK^Uce8fg+T?VU<cp5Ke~l}|I=cXy-O=6D
zy>kaah1==l4f1aK;Nyex?%GY;`{PFx?xKVrzo2l_6yk~CvGKNKJmW@5rXEr}k5*CU
zWa?30!(Iv9xW*g<yv5U65Iw(9xSWQZj^9eh%z247IV-_`RP!1AO2=OhO8ld<5}G_c
zdd{2w+dEAlg8pdz*W~yUt&;B(hb1(9@(Hc)bcW*bG}51B>Z8Xbw08I#PRDrPOYwNL
z{+4chi`pHIKbI&I<rg;L8f|%>)_0}P>h(8s-l84d5Rf}qF%mEySHJYlO7{uH`^n>y
z{>gJ1YW&|QoZ&s0@m{mJqoX_9($kDy*4D8-+uF2!OM6R~<crGbN%Rkx6WZZWe#DME
zQNVTSnXPTxw^UaX26-Hvfqe98lGfYw#mSQtpG=*+AmL+G8a8NHkkIjciM*SAVEW}_
z+CKJf@-=PzRXmR!QM|Jf8ebmk@fJ!oBtBZt$If{R>YYLe>Sub+Lc@0|1-^8(+||<5
zUd)#W{~qe}=6BpB+$TO<_dY5ARIOK$rJwvHQ>oqbBbhpdZMQ8wL3_OR1&M$7sF!qh
z9ozI0Z{w%&`P5;Fcl=bo8U3eJUM#e6)A(z6{)gr3C46{%`U8E@E8(>1gAdBP+1=Le
z(e^XGeF}C;W1Cs7rFO;NF7XnbO<g-$Tpb0!)$?zau1}{V{?oM*8ve&UZvkmsu^>zF
zKi-R7wv>gRWa?FKq#x+FbKbSh9ostF+QTIWa$tNZ;cutpfBdN8>7@{lPk+#!7mLFv
zzaKv*>Bg`BRqbH<O7vbbW#w3C<vG4xs93nEy#*Gy&}00b9h7&&cdA$34bSWudDs5v
z^p?e&Jz?-x9^K^J#kyGXCkqlz4|<i2tgAG>R>Ij!-ooaV_Vyh$@^17!q3MSAiB8y;
zfMYQ5-@zS`d=75fTiDc0DpK)9`t1{Ey!p$!&B6`jsDi+O_Yn^(kDD>UUWNfaL~qni
zegbwHn>(5>c|r1jCgm++JJ?i%rbqKXa@<=e_LAhgzDL3jH+YL$dRm%yhNs`4Yl$!E
zpMf6P<R%0GAKZA=OK^Cq=ua@t8-Hdlz<zgT8tgM);69Y|5}UhPn(plEfI6Z$dcdDA
zN%)yrud;RnM{@j);&)4(xZut2)Y$;RUpJ%h=e=Z0XH#cawryKec1PPgRQ?j@IX#Vb
zyyk5?w{>R4_)^5l)Vd!?{*M>D>&4D;1D?W2y0yQncSLWM*hxArnY@2CC3vEC%%igs
zZ+g}GZBP!SU%|hic%%70o1<KTpXIZVXUxOY+6>y!^q<)=)^5|a;J-7Jlc^iET|SHX
zwX;WMQpV*Ne?F^n867uFpIi7jl@}X_Ewu7Ka@1ScaVPbO%F+E)6@HSbkDvFh;r`OH
zMLW!*rahx$6ZruGNTxnFjegs)Q$;GMr}6WNUV*du$Z4g+%6)Xko8SHRPIVjv`A_?j
z?=<%t{LbimK|{r3d^|m)_L|6_^LKsph*#Mh>gQ4W;q*zbVkM#ECn(?iDt~v962ON+
z2_2t(c|Wb?eZE%HrzHG*kAzmwhkGh2-bqpXgvwF8pP!|KKz=@U2{&1`bZu+f-qg-n
z_)n1U^OpqP%}>wC`^=1lW@km`sb+t>d^v$PI?q7#S5p)}L3w9dDI%~V%)WN{NZ++=
zZEI(0gM8*UEa6{+;QQ1?3C}3qMqhNEZv1uqH7EJX&YMz_{@AR9me1xB`AUg5`^VMe
zytkmUy|mw&9dTCMH7eI;-<Qa(^3D2#$^Yqslpn=+R^tud*<&i#Ck5X0j?sG-{+v1}
zTX_P$8=g}+N(toZ>>2deRv2oWA%K6fsu=Enq`U=9?d=^hR5&<iCm3FpBNuOUJ(<Bc
zv~$~LH-EWS@ITogp~<J!-`YhSyUCQnJ=s%C*OT~Kd3)RTmaQ!<TPQ^y(D#7;Oi+mY
z&@1&Z<LHS?l5U~V3-PP$%266U$y5>%jAzbUjPmYm+}^ZJl@!OD{x$!g;raV2?-~Ma
zlu05X!Q=RsGP$vF$>nQ+zmVsZ8=KoC6X$#VEWIRCCysgx*1m*!PE<ZV?|TcjHnr~%
z+CzLIw7~oK$1#6$6P<w0FKGH-YZ!eux*zksh3zogZJi=&2mQq*ufmBZ%1f<~a=(Ci
z*p`mKa^+%>{@MpMz1CZlS;6yHN#egD`Xc?x>E&9<Z}U~_cmJU9(^Hae{m}G^tIw1-
zZ+ly(mKl_1`J(*&ha=vi72BPlm*lhZOZ1;FbQnGhjULliHhvo(dpG)Bzu`$K=0iEb
zYw(UQT5lWoO%Cn-ALokmmC&1!bfYsGmZRI~HN9@3m22TY92fjH?<y(3AyU59$JMV&
z(w|C6SfcljM)K>s(QWPj5cF2Clo7PQtzX!9YWmCaeH#5>$DM7RyI8Tt<eQQ5EuXcI
zjdK?Nl*wr?!Q&~=AN2oA5=P-q<s{zZ!R*VYqWsbJvvI-jn0|Hsm|npbZC|VBCos>G
zy>bHQ^sX=OPaVVfNqzu&1>H_hYWc=TE8psE^>`@4rzqUVQi9jUW0Rk!G@p})T7ffp
zGJaeAtvu&9RrxVEE7$mA^*?vAqGC6p<|nA1!CQT-KUuuZr%xWEjLDSwKce&bbC<k%
zJsoDSCR6Ee3;fe5FVVJbTg#R<DBDe3IO8$?KCS$Hx>ezOB{aHcvF@vWl2w!<PeA|E
zM=2(-6P})}Sm4|Wp>~Y=6~3V5nxDY@2g(O$7g)UU!QhR)XJBt^A_AGPfUbuJg)ZZ(
zYu_q~H$Cb6TJM(ls9pC=C&npqlW6~pj#JMZ@e-{~J6f~dO`F@@K%Y##=~sg98TcL8
zZmN-Y<NGsn@^1C`qKEOLiGh$1)Z>defit-?_$Q{s9+Mm)_(BBlQLHaFnWYzkI~R}l
zi*w%mJ6qnak^=Zc1ZPh&^%ptVcjO1*r~u!CvlM}JZiql0PQotka*hD_6)p%Irl|{B
zx|&M*yBn7X4EVm(DxuZ;!E;{K4lEcUZ##qVpMVbQ*JfW?zqHWwo$=GP|0OBM`hkr<
zR_>QNy~>>%tVGPSYX$yGgWfgb&)C*<M_aQ3BvT2sN4|92yJqM1JGXc2+OG59<j#?S
z{NAAv>;O7AIyS&LlBv&J@@{C|74OAod5E;bqwo{7w`X;V8r1*E<3g9sZ%uF5yQ|L`
z*qa?YT03^Zdm7^(u<_RBd*&~&{Gau)evjO!6tbIQ0Uc+Q1zN8!S9z7IWzv9{fKFSl
zv37Yx<-+yTl+?q<6YH-=mz&?`1kUiCF37v-d()?8kJ|c>oA=KOyw&UDG>()1B{CkD
zl)FUo*?iXF(|Q=bhsckRBUpOif1Z%=%e`24g#Tkpq#PTsoqSFSyy5#Y#!1+}TV&%w
zGW8nmA792gY#V{{6XLV-(bi+k9*xTP=~i05Z`YkDz&lNdlBus$d9T{h(wzmRn5A!r
zHz&MPC@AMEIe|C4=1=>IFY(sS*8e_vT;ij2eYL7MzFfX2e+<s>Svdx0@n?Gkzm;S9
z!uWe?&|ARM2LcPptJw`D>jA0<Ois;iu+Z$psJ-ymtl+nDznX$St81r@AmD3czsXk{
zXx<|pXv!&1z<+C3*MBkufqfn4CA9I=>AT-Zyy<JB-_g_S&Fk2@m4NUB<rv*op5c{z
z3_Q=d(UGs}QOW;RT<f3Nxw@JmLioO_^qp5Z{pt~cH#*LD;#i_(i^*s0ZgO{iM)F&K
zJ%35wt)0KtDevcdCA4xLf*-1-r?aKGTjFh;o;fP-W?vT9H<|hx=GRT_ZFk5Dm*bPO
zU%q%w@|zyA@x`^1FX=|_*XHEi+0|Mfqw{l@pih<(3_Z{%4@meI*e_AXaq{l$>k4^4
zecW5LrK83=xI&_zzaZ&fPhot!S))UI{(3>ut^BW(-GTKMo;HTyte&QK9sIO6Z%wly
zcKk_wUE93`Kh_PlG&QLq>(*f|3T4UEKf&Kp6RN+p)04A8r`da_a`GN8r@#Y!*WA>l
zo8~|l^AUNjlYEc#qCf7mfia-l@SRY(vU>j0Al7#}uo16^1&EN~LB2B*{*%h}KQv(6
zCcluSUn}Y6cQAj0;eED>{G+t&EO1ueQ@*@geJ%fE4HADs`5T3M_Nb&s<@n^ZH-Bx6
z-|N{~fw%GVYVVG2j7MuJD?cIr&ZCHA>MXtpiSfo3AO#HZuT^>b=(Kk&uis~}F}0<u
zL~lH){Eznke>yDqpPiG?^)s!v>2VtmjDItO0&njp4$J!^N{_>nk$BVZ7MgxBJ!<xf
z#h=yoaQ!+bcr4xaF_<1OKAybjEnvSOfrt8=`C+X7Hs0B|`b3q$fBB4rhVOrR-lE1=
z;&)PfRxgu(EB6~qq#Wbl|4hld<J(DnpOVn@we=@^w=jzD>`Za~X!<uAB>fxH5}wLQ
zX#6$4e&a%Myz$ZCOix=o{YK%fU5$^QJPQB0C_x|$^n>{cqI&S3u|INq%N@E=A%Hi!
zj1SR#kD(ult`NGd{~P?5dL`cI`sc%5<%ZCDpus=YDsbi>bMP}>6?sc(j!F>n1oT-s
zMyIp8X9+U!FPYtKd^fo`aY^7zPR-9`{zfMsO9amOpST?nS0(W!@U;?e<^Ge(oApNv
z&HggEb#{7A@g6M>&Au`I%=r}+83N%a#21TX%~akm^EAF_?c6fpSNa4YN~Zp9+Doi-
zjv2wua%AI>j@xrR-aPE*QUK(iko<E6Z(i*NlZ=2aYo|HwFIJCFUhpbbSuugUIy=S2
z0~^ObsqJR@=gw6u2&{*oyr^I2>@lIw{50QekoRv!@O`4etGK(Ao|Mi1x%!~<;X%o7
z^cg+>a-;&|VrNTJ#9lLc{^gwH`<5@E<@;8vmuSYYL)+wbv{D*9@Yj4n!cWeMeIrxW
zpq}Q3F+5+a_2xCl_-mf55<I7J5*qxsU{CkNz<=wwz?Hxsh26Bh)NZo&iP}w1_}={H
z7(b8MSta;qz4<*c@a#4OKT6;);)}gv<bq)E#pG1$`|XrB4}K%63?8H(l3(%{ejM06
zo7<bV-^mdHU#-18pAt&_J>Nd!&9~KIN`GBO;J#DkRcxT2{3KI1T%aGx)ORvoqN`)u
z)*ac+=3L_Vg!Y^7w0iT~nm4y`Ho&jb{`m2W-gRzA343a;X_@NJ7x*aGa)BoNpFM~5
zwusk+;!V#!I7_g}R5`!NcY5IuX$|mMzUX*ndiOhL1fTgW3@+LqzH<@#2=8jq77FMw
zd%)<j`G?8n$9w1;gSrzy_iLE6Wa_)Vw}|I8;pNg$Jxva6yfk^Scw0}2miOI3@4CR3
zKwGJ<$N9LBKg^f<es|hi*xAv1ryObt>hoP~=kLx6oY@;DN2WKde;8d+cpIlJ-Nq-w
z<LP)(GVWOXQ7PZ_t>KTh%Og2&{x+<W5;V!hlAMI!y$FA=u9Ao4=X;b4IBTB|p`X&Z
zD~=BF|3l}C;huzCJ2yDsUiT?U2iUxw%S*=zvuD0nD{xkS<L8sJ5+Aikz6bf;5b6&m
zzfn9<K74PM=n$=1RNr&O<vV-8_-y-q70&o_{(@KOsukkPiQ|GVO3&5m^%VHjw7HZ%
z<4cKuvP#M^IXAj4U>@zN8KUcgFYq@1cv|z9t*`cbhqo8!8qCcQ!dpVu5-G>YG25ug
z)P;h?JAAWVWzQ;#qsR3xXAeB5{I~HSY7aaOJG1!;`Oo$UUK@X+`JY?j&BG=oE<IF!
z%J^gUs^gFGYfA8%{91iJhW$r2S`xn02Lx`WN7hNiRCo1s{)ec1e-ZtS{2M|T;3MPQ
zb6Ce*)2w6@-z=RKPcrq~5tN5@jaCLprf$*pcn<n(=XP_y1a#QEBO00<+kD9C`8@W~
zIx!8Gul#xTuy^f_mZq-eR+%_kJ+AfXS2FdXBNFrf&R@(IX1#^2Elrrx3q7Vk&RpPk
zCx7OruzvgWQGqvqhUpj6zh9e^^p7gP6`#|i&o_AU>6|M;h2`z}PI;dhl+gHm7W>BQ
zDT<#^J6BRfGWC2f^jV`#w1W2h%sEMq&a<9}pKwdt9lFs!fIo3b@o7HOH?IFSNxFM~
zhrEAZ>301?>+Rqc37pBdi?1z?xAJV>Z2X*_(sEc{Lg!?BiI2{&rl%<$Pm2Bk{-}h}
z`PAPm@#Y7Xne*?td_RC4xpSNK<bY2`*AI><{tSh9a`Xr5ju#~SGSiVv{lJ%ZH{a8A
zqs!X)2WPx_T`}XZ^*iH(^-p_u`QeY<QbT3Y6VPk<e^@2)mj6^v-Yx$R3pmGFzlI|5
z#N=1H&0po(ag)IRtG4^ok#hc3+u6!_3iHsNW(I`HvHF<Y8vNr^I9F`@2AH;D`l9{Q
z`j5$z&HtayNIs*_$~)U5@mAiyc0%tuA4I^1hqWHoZid(L{V0Wf{X1IQw(2|(pWeWe
zO#LWB^W)O~X>wwI2E+3d^tzi)hxwBee9`{=qn?WSrp?3cX7f*5|2jP*`L8w~o;~SZ
zi}R=*?Kl!0i}#G+F@0F#m+X{u<G;Zvznxw^aY^8uUYOE+$0Rhrm)tRi^Y0gn;jJFg
zeHq5bAD#CWWSt=zw4=>G9v&2Ywm-(+9lgDjjz{I${5BVlQY6m1t2|wtlXuIf^DRg3
zk2SxYzcKoLoT^x`s}-kyD0`@#t=)cHka&|*m+xf7f~Gr~)M5$hW%;bVMGpq&Z+@cX
zMExH>?yZ>L-C8<dGkia36*{8%euDXM;JHYq-tb0&`^gN>(Z=`}exmJnDkpGOpP$UZ
zztB^vXU*QT`IEu_6zh}iG5&&|b_(7o{-5SxC-qPoJ>ZwwN!l*Y&w}1&Go%83n*2IF
z_e#e<U&<|^tJho9)4sL6t<!9MrSDn^PisEs=geum%EeEWpD$=VPHTMBUUvJhXC=S!
z@r7FN+MU>&4^tj%>FrA?mH2am+N&>gdW*Mi;ZwxA$41f<TO@p;fPHe?n(K1(ihS!1
zN%#Wx8LVa)c{jVt`~}ueOs;=cD{xoyEBp+0dTWa{WYA7O8<hNp-|R7~=g+3R%6c)n
z0T|@7^&`_i4j%S#&t__uV)}oseEvC;0J~yJ((V1{$K~Ddd_GsPFjyrI%KiCyfwO*U
z=PXR0S^kHYc-KHbG`9xM2V@M{DTD^^pTFQO5|Cm!s+yDZf1C0awr$5jP#u@7JxmWi
zu5x4L{@ZbHUZ-3#$oLiB=`-sOJk3D)r*cw`%YWWmxNYZ}Z5=8nR-W}Ivqvszxn_?T
zKVAB?;I(wae}?Rbn0ddozsZ;3H@yFLQSe3QpI^&)6%JiUKBD-(r}UbAS`Ob=&p<DB
zv}+Ft+P$0~;2-CNt|w<DG<r>r&#Jsx{a^IF%Jx+ROOM0v+ULbii8p;1o$vm14)bm8
z?Ueu34+{KwwEMOuE-Z}K&4X=y$JzPXAB<kJiyWQg&s$zsOW2uC)4K_IfAO%F*xJ5x
zM{9FabE|r#2<{e!OQud^-t#ujtNB$gnmj~9XO~V1yvdQ#SMJ^D{j`VqK-_#==Pw_E
zzHZ)$b^74&AqoQj&q#SPpG~G-1Rr<C*n9tcRN$ia+h=jUfK6yh4%#zia%_6h=zQ@U
z@OQq1@v2YoS%3B3E$>&IulWKO)r;T9r{FfXbnj|0Q-Q!j^hW)d-#;ShM)$MlyoI~k
zx?9C?adMlo{$%>W-hb2}`JKEik$3Y)*nH0Hu%}uh@F{tZ!hN14GVp8u0{Z0Ul>|#q
zK$ppj(PjQEi~ohmnU>?|)OVA|A8J1_c{P4~<Cr%;>n40bxn<>5@ml^<bMWtA{fONc
zA-Zi|@yLwS$KZc4>s4-xnIA^Wv-(;+Pvr!Ui&r{qo@VtjJW;v%#h^ETr<+&?^)&oH
zyde0EUrt`HGOx6JR=;0Xp<l$zUrjE5<V!gQ|8?wpY!A)XQeTktAD)N3VAJ3bUk%UP
zU@@Mr)Oz!SorppGzLFC-tEcUkH$GZ@&-Mu1X<y-$zXtb9m1}1QHVE7ky%L(;XY<h$
zmn7cdwR5FsBtELA|CRRjg!qu2FK~0maUR~Ltsy?xI1triznrR=XS+ee{pd&9zBW%Y
zy=L~0)XU9NY#g&NW%+D8H2IF&OBc_13u<EKdk<@SS-IAZ7H{)E*MF;|{;F3T9X8K1
zI)1Eh56&@s0C!aKo84pb_Dk4lM4rv~2rA4c>qk-lh0$&GHF+|;7pLexrj{<7M~Z({
zuoM1YWxQ*s-0bF^TerG1|H;&1rSo5KP6DT&+u9@a*!<7hN%-U1DOGMh`K#87%C@aR
z`Njv6gEIIW|H`%Rk1td#*xYhQ$-Gzby8OnMUmXwp7+dsoUx?oh-uP{L%lK?~zIh?Q
z)6vy-ht$mVbBD+JT@>H+6y?A@2gf8dyuZS^Og^t+R}U~^;8i<`)d2E6gYkY>%zXOS
zDu1VP5xh8mv!=atK5h2k*9*n)U&MOOu9*4suNwp|ivQOc%%??I01(jYsowZ?E9SMk
z{{8dXU!RxqO~1X=dF_ii*ta>#OAqYZLlXWR_XEg$Ti#7BZC+>X6rIQYCRH>~&QWf{
zdjs<znfgtwSA}(i&TNa@9K-2}8wBn*IJdKHTXR<}+uWEZZ_)Tcj905=^kzO@EAd9h
z85V$~vyW^&%Ji?(R~gA?@@I1Vxs!@-nnFA(FQ)$=?WM@T4*EtF_CdBZ<1!4_xSVc$
zdTvVKZC(_W=igkyyeH1y*LwWpIgG0@_J_^GOXTbf&L#A`4VQgLxkkrjt*_}p_paqc
z+wU^_S$1>=ce@qivvKytg2X@FDxtN*<umdgwI6<pdtusR`~;UT7U#F|+u>9CRS%@S
z4DiI&Q_GF|)m^^cipu6?R2Dr>AEiuhJ3ESDf_-78e?QYJ`Apv#A8h@~>=9>oDBac{
z&E9bEW@l)>jjVg6J@^G18=I(5JORB?d+IwUy#*c3-719v+~q3CS5E%EhkYX59l^>L
z7ZWPS>gV{fSn!q18<t4CgX6hD;OB7hwE`EB+q4J2vvYrh%C~XN<lxe@<hS;$z`p;T
z+e-Z=uDqPU8=fyq{&dBR#FtxNvhr-)`5OA+u2qzW9>-rB$I_L95^wrH;y*}N7T|wi
zT_$j^7Co4*r1OW%x9US_^Z-APXLJVyzo#p)-w;Q&y1KJn-A&GAg?axQHGLNACC>14
z^tp94n-^Mr9)&*`$E5D0+@boo`{7JaeDb)Y8$V1QqIP(>^EltYykJYIA2B`8<nn^x
zH@d#xK<jCx<M1z4zD`^cc$-(6-Zpv-&g??Po36Y_=Mrq?J>ZYk$MCuFLFjXI8lHJQ
z(8oqzAO|V4k4^7beSU!b1oiGh%b;AN*VaRgUVFFv-}EagZFg6=oy;yYJ74WxlSg-N
zq{_RyPt5v(<%^6*>3M~U%GDX-F+Bmju0K^vyv@rZ<6(N<CD`k@z1oSE;#oW(`F>K1
zbr{+}pz$_7S$#~;PEQNG>RDGWqu=zewaa|03&E7=*c!oWdR_UQp0EAh_-*+YU_SQ_
zccBsXlYT(TKTCGuE^F|BAJ)&KcH!60z|PynMBoqLxgX<aCF4skfW8$!x$DFNr*_O~
zpW#w&{K)BhLBgM2l<>Q?#qlrE&Py+Vz7#uC@+<$-3+WZ~T0f7Bzv%_aH{;jBhOm9N
zOEnwpJE=!{VGr~g*>|k87&+r#Ed4#ba0>mg#ZE#cQ@3h=TX+=fAZFf$<!?&pJJTwm
z`Mdr%+jr@OXYds=BR|}pM(+jKTkR$GR(g@PkI9{TPci-Jg{sGlpNo3DMeVz;YHy`0
zk4gQb_SVk^B|d6z{S5x(*5&m~O_4nM0{^p%D0g%DaxW|2T|EktPy0`Lk-ocn%)l<=
zd5pkW|28}-U#0cGP*HI^W#K32XV!mBFK9VVpZ&ec!zVN}I;t?AX^hz~5#dj|YS3G_
zHO79hal!Po$(gPD*mz-lsZu`K`1EuyRRrfZrM*+Gy*M68+#<=8tz%ffGx$?Ez=Zmv
z`D-oR<|9_$#WcVCU*L~5`fYrFc24McTI4;rZ&&Fz{@D0ua7L%$apSb|!_hqhyDDTC
zz3K%nFI|aowmnC`>A`$-1&8UyXR!Z_?Inpf{c3g+^b5`f(#d*Bzh$?CPj}*;y%>40
z@x<&|qbrfYye>HKLrCxha``=dxBA;YQj;6=^BEtkeT@&UoF3eN5xQUDP2F5hI&l)?
zaLhc#{BP#pa`s9_@?GO|=*E8=pKZJ}IdbE9WS(R2M&C79muzn9YPo}lEBL<}w493-
zl{(lWBH)YlSF;<9Kh}RuzKkA=pUw&07XRadyu0+H#p%XZr8D)dRK@%jyY4E69*1YT
z2v1qN!rJR6#d;<6l}oq}!)*vpre4p6Ofr4#VbY_o*ng9*JS=qCy1303qwA98_9gth
z73)N$^I@lFwH<<Y?T01v{`2IADnB0lyh`Y_b~U|j?P2fMF3)*Ic0!JFbASGlgcmP*
z*LF5-ZSU9`wiF;|pW^iNby#17osgq9%6IEJ4%659SkGR~ksNR1jQM{|j_rO2qv!80
zdKHX<vxe-m`GR+m4?dQT=P4Us&AxwH`C$FzI`Dt<t`a*SW%KW{`Hp#uc3oloReh3P
ze4gnG#t|KF41Z)?OI==qdX)NE+<2|>?d%j+k2Bt)_1im&ZoLclZ}m^Oeq;U0_;3C9
z8DHo%zW*!QYr_VLqbJZ8#utOTbPV@*Y+KXSvaJ}-^oGfug}*o_a5m1IpOJU-6PR4u
zc<uD1wx8+kvT(lOGdR-=(RZW&8yJV(_SaB7qxOT*Z=um`blAI{i?#SN^@z?>Q)gQ-
zuI7k#dT`Ic7bLuVlI%gd7$PM9>Sw5_^={bJh5LE1i}8-^=C|VqmhQXsV3=#SbWNw=
zvvJ7ke>&yO+tJ8Mk;^r?uyN7oSNL=i`;+Rsa)b<z!|&`StGBgpR1Rz&V0^UpG5pu0
zDk|SmI*z7ooV0c^d&}$r!*jMr=!)1|sh^*zsN7MC*PVAXzBqZy2%hLZrbm5=w|;ZA
z@!9xj_5Dgt@<-#1{-|HZ_-XC+U9A6M6-<VA@PDz+-;#qBi!h&V4jsZnK|%Z2IB)&m
z_+#~Wq#$%f>mRjuzvU~OofDds_sG7<bP{?}<`u7K-fZJ*+G`N}FLQiNU%$j#)Viay
z>yA2StO8Lowe|;s?-O%g<&K!~=o1$u-Q;n>1)BfAjPX_TTf3Q`-0)rBfPEOH>+b36
zTcupv=Wp%(_(^=Zo|5<p+VkOBib$rOT_T~itMy-N*N9$EUq40t*9_|bpV1o)uhw7Z
zAFseUSiM#(ByZ*)vi|AnkMT;zxmP9^i)XpM=|vKzR4z*Vxn=CGbjry^ju7dC^(x_G
zI@RDUxY^v(q55e5O{+a^`Y!EVAQWzWDV@T4SG~Jnzm&h__-XpVLgQB&@>1_aIKUUx
zALbWy?KdcNS-issyO;ZgEY!LBul)eSr_;1QPBt}iy;Ppk={Zh!=S&RWt5Vp1-qoQ8
zxJv0O(JLzFR!_%|l;WR~(9&(5YV$C+U;enjmEhNYVSF&XS{Bbq!Q<)!e_(x%;^--@
z&y4cbjTcI<y&IlaHyEFDj7k1L|IE^_WIBBgUo4kMdbjh;j?Ym&a0%<zPAmiXl=3N^
zXkff$<?_{?-h9_gq5LLC<@o5@CnNZ;#>aAatUb(Mel<LfkC4X=&M*r2q<X-uf7tx^
zFp-J+{Yd%Y#<L|7uW%I%1~`)|S03iiG;FNpK8N;V8#tNzWdrW1j@id%a%!RZVXeLv
zTD+E%`aJw7!3PFiy;7f7`8BzX_TN`uRQhsKpS2>7=^LsfUUWq=RsU^HPv3y~5!FXz
z8udwOe1pWx@Cf)n)Of7p^RSuY_f-8!jUSYFTi>teNm(*|!(oj#_+EuS<}GM#>*x~I
zl}y#0*Z3KUXK?VpzDnb9-#ONM0{BB3kNtlXZ}4>|H2xCqi`u+XqJgKbQ{r#LI$8H-
z^F$$jg~n&-`xuG_@U@pTK8N_bLh)bFc=&mCZ0S<#0q_NlFGzfjUJ1`}4%0W{oXEBv
zN<QLO&uaW}j?d8>!LPo^Vfx0C#D^`n<mi>+RsY@y`;Ov`Z>tA5J$>T^j$fCfSAuWg
zFpc{I2!5S|m-O^&mT-JsPTo`5FDZPj#2b9}0gZ3v_*#Qs^C^w*m3V_+GokT^y=(X7
zC$b0jOl9}<jpr$r=vvdtVfr=4y(FdY9qt<+%+fbuHT{j6J{wLq4B+PyO`ntWk$cAa
z@I~Gr{{=~ZEea$2k{-&>Q<-G?wHfc#Ln9OUv5~%E1sWO|V&Z`ynaUbmr<ZbY<3N}n
zxra)SCz-05qhG)`6@nYc4@co{R{4JI@eo|!z(5qPTIK7tXF_mPkx022mCx5+^j?GF
z@)LQjh5Ilr)0JBF1EFup67R<R7#boD4E3!!qHwL=lA)1)d~>%9D1iY!ljAVGq~N`J
zB!4g#E5WUNpTZsYUdQdxcOXAd2AbgC`Z<L^<Gng)zoJS30C2qucfm^>94ctFD2^V`
zH_KuAb-2f0WMCk_XL27!;z9be9Hw7~`LS!?u{^afgEJVxJ*aS<UX|dP5>aOW(2>#f
zf=kbFlBVC(t?5TCeYhz9P1@gIH{;Ta^BewimVU4}|4GGv(WMvVU-2tRe|^f*`-}4*
z*7RDJUY!4&ruTR^;)B}oA~bEu;sThKY<EYtY0H)_N(P@+sQ!EX6z**a!&$oa>(?Lm
zUbSa*bmGAHzAS&ydN_Yiewcw6&+<>v?_~P*kbi?4xo5I4&^Mtvgwy5o0|a+5fJ5UI
zVI#Vh9~OLXSmIr8_*fG9nP5u91Gokb({E_-t~0niec)Qtmnk3L&>P@6*f%zU4^uOQ
z{7I&kJ*s$cuEX#IMIrsLrXTl`@+I)>-tp}4Xx{+Gr<QHd^fTV8g7oph$%z5_n6^H^
zbFIQ%2;(somP{?3mh?BKyz3PYK2e^fPm~)Hgn(1|d}D+6>JVI{K)|g~e5ij2&I(kV
z$&~+s!X5F_3P;_ze{^K;P{1j`%_!WAmkPnX%QU$l1l*Luop<=|83WUu%4a~pwF}&v
zaB_X{9x!y@P(L*Lf&78dP(vqEZ&7{tCitnk+yNlOpV0iZ6rW?P#Gkhu()d=yyA3~x
z*LHeSFU5!8wO!tXd32Xs2ur5k`~}5xl;Q*UH$R~9(}>?}T@&!TH6Htbx;BU4S84p5
zmq0xWlM~qq`%*g5`=%;Me>1+@h4gWJe?Hqk_AZLVlT5ww9Ea&Q<GyI5)5q3})0Lh#
z=NSK39^KSsr~I9ozn9Yo`^NhR`=pZyewC9qL;isuZC{-JhD)0NxX~X;|CFS^rK+NG
z)E!6*>|gV1*#0-0SDAhNZ!?@f^`Y|;ntg5XQG59<*dH_a3d;G;nU`74`HIScS5VH+
zYF}PCzF)DZ3!kO4FE>zbYIpPdobu(}`1bcp<lX#1HqY@pD;5i$HoGjT2#>APJ9zAi
z+T5|_?czBK%Cmi~&zzKUqVp+#)?3g>87VnLXEfiboTR(*@LjFVEv-#=VGcnl@&x5Z
z=i!!b=~P9feI-0x-lKDbA-Lbp_~Yh>G7h_S*asEf_-3K`d#(Jaye(To_ovw&>409F
zXFuu-9j6XU=*n-EcbjjUe>OTFeEeu6pXh^>t#258kIf34y&Hd)^;XP#=gPY&5l=v$
z@yGm#7FxY6ba;+dEPN+jAi<~tJaZz?X&smCKA80KnTo2;jvd{d9ot)^?BepR-#h>Q
zVM(`jdB-PT;;;5SH{(-De(i5oKMSpX7M6=Yaa_tbJ}kdbv8d$p2qC^29`QQ_=Sr*`
zhi9;2@jLb4jI~Z&`$Y4t=)`xU+FJA=ZqN?K&l3NzjNfiQ&WTG>A9vqRPTr&ae+BeC
z))(lezMXPsx4@a+F?qH6teA#hz`+J|Mg74yRq=h^x<xjCD@*?$O1Z`dlUsX_(tQ)=
z>$pi@PXxUL{D+G1Tl+n6zBs<5oO3ug%14jZ6QDj<FYnrR0uAKiliD6p{BOm5^mjFN
zwS~WW5|)p0{E~B00e<6uIexwMsJ8&u-|5BpSEv6P9VZQ+g(dW3{(}3uvAZyQu=pk5
z7kkCYYdQQYGZpwwL(7in_@wQZUYRTAv&reoBXlozkdvUod^P*R^nJPU)zYKm!OD}^
zkAv^I%4cLt>YHA9PRcWSG8u2tiXa116Q-x6KQ~Bz<BQ4bhjlzNx-31~E}33$QQP+B
z_MKZoYB{98RIbvQsbV^-4|`RbZ;KL%z|}8ZJuC30&&__b@U$=Kr+X;GGfjVj{dcy0
zY<^J7XYpod*t@}5c_)tvzNcm+bmNDPm*!u$aoO-k?aEIcm;7!$iRlgKRQX6(Ul2HJ
z$Le!lLe}MJGEHgpfIqBX<c;3{D&tjc!?xQnR193Y8s`aiZjVBi;CszsMxFd)4O1V*
z_oTMBHMg{Fw{M;kfNLjb@0k8JyXT|IKa;1A&PqN@KXF*zE#1aNmwsN-r!yR;YmOGZ
z-|(Z~m3JF|tUV2%wZliWy*@f6@XFuR?0M{qu;ZXqpEI2P$K0Lp{-q<{tK^f$vL7NF
z`JS@uLrkXrSm;XE^m;e0F1wKe_*D=6ajn*4#(S0AdyCtn?%YY|;@qwa=C8tUI5(J|
zO04vUhcVCcCr17Lu>?(+#V<;JOP|%PFA?w<N_ybe^i6I0K^&uySDH{qK`1V<cW=Yq
z+iGiTgT(QCzk24lTz|Je-gi&l?}O98-#a#Xz%LBmTgb1*<ByC^_=p}JzSrMB0>?z6
zz6>TVDj>`!xLUs^C{)rgU(fEz*RiWO5h4jU(e_OaPh<!0fvfhw$Y^4{FF&*S149$O
zA5Hh^Xa+!NVoVcD|Mnoq{`|e0VsZdjXR#4r-}m{Xt(D06`HXOBvB6XqNLE@7rV(vQ
zVGs*EKD9K$qR34exd|kX=f{TNzF-953R877jmgn8{#~5r8xdUG?TP;3eBTJwbdWeg
zPIr9sYQWF<;}c{4aDK!eglovpX8l_KkUu;$vfr;xG>-Z81Cs^$LwUfG$P?suc#7b<
zP#7VuP7op>%=z>q{wYOvGnXoVeczCAWObr#Ydo4zY&nbu62VCIZXAJ&+NVE_s1jUF
z#32M5`-ei@ni!kRAKKeDjQ$yVBIu~5wHrZag02=z(0<m$$WXzj|I0lA#kH{@ks=uJ
zOJKxqZgYR{C~kL7)DMh}7W}bBGzR|gOHo-F-#3;Q#oG&Ls7~akAk<X6#g+-RWYQQ?
zI*P=<@q>LV519<fVRdy;?tlp_JVj~rLQH^|ZLAf!A`TO;fp%#LtVU!+sLLf2%4%t$
zSeAtHWza>g^e`rF7gj#h)yClD?i)szq`on_cdsakPzuyRMu4hGCr}D^Pl{*$pwo(A
zX8frM>ZT)m`}}ICXz(=;oiH&pJWTogiNU<TZ0G=1S%%;;U*_)}$`21LO^7BVm6+uY
z*q`%7m1X=Kmf%ELN+%^w_6-m1qc7rR{r>#$aE&h+!>~{p2Sx`dHR#(}Eru|lfU%sv
zq0#5t{SpM2r3MmwjbjP<T0p|M%_SsmPuL{JKhQV6-_O=bxHO0#oZOesPVAj1u-DwL
z^CJ;UNktwQC)cBZ?HL~J-_OI~Ew?qWj(4NR!ED}LDnGu=58W`o%%8wm=db3LiiJnh
z42JSUwT=u7=f_YwIKOXX6iw2f1&i{Ve9;rPFW&9fZ}zuzbhkC%xpIp?jP@DxhemuX
z?cLKiwtDY4@{+@P?B47|etaT3J~=dzht8ovpH(!PeQ)2;@FwDTv<!5C)yw>CoZYAF
z!nk|-h9@B(%j7MG3c<ht;Pz21N?@g^{>ibi{Ky0b^`QfW;rs#o&JQd_X5?Xk=8B+^
z*88=q$9(hy?!_CH;}<SH@t6B_Ri?kZQJ6<?{Ua0EJwp@YKI(DnI{KMql1PM?Q^LkN
zl^;}KT^*Vecu0QgvOXBfKWjJo&~U7#hJ5}+k<WUE3KP1hq&@uu*@;n<FhXVFjf$W*
zk?OsSj_F<JkBtuw?Va%Z{G0t6u1-A+5ab%6Ji~k5GjbntHL$FXqi!In&hij#S0spN
z0k(RgLh#`wOJtx*TuvR8DRVe~MStH!0pnvGtRk3GqZ7zYamb8er;eJvj(*kCuX-X6
zFKg*#Eihs{#XlkmfuZ6$9vHnR&wUGNmQdsLE_$W`)VO5MN7NHMR%{L&=o2cm?0_Cn
zv5ekUF=fk`$Qq)rrXEDG$x!2?Kdpl3j6v@^iv0Q-zn<Ty4CXu+HeTrKCrJ+~T3T31
zStK}G)}CQ0qkpMi7h3|1Y(Y=7`j9~7B)zT#p3LOxYOc3PgEOh2=e40$p*HLW@ZSlG
zW-RaD?bqj^9USO}dMt8{PxOsUG!hT%U4pOkbs#VloO8Wj@049oPA!1we=UsKBQrFf
zorKkwrSFqgqaI|OWWgc%K{b*wq1w+9yMywC;GCbI%J)w~mk_ph7ls|PnHzg1_YyZS
z0xLJQTZ5TF!%@z$mz;HMkLDdCG2>!EF3D*yvZF{uP%Wqe)xuOjk4Zm}vYDcK2sh)Y
z$6!H(Ak#*{6xTuW@0#pm9Z9@kgcyaOK-RJb5nW8Cm=6)>zRb#m@QT(Iqc7uQ(?Q<>
zCJv;My$8csa#v%D0)59e#}Fnn80+Gm-Toc<2_8E8`bpKV@%P+|MnLCQMGNIWfY~4M
zrM}kR;7gr<EAKb@en%J4OwVq=ZQRFXXLJ((@Ab#}M)u|Xwe>VxsH?x#&unbk(cIPs
zEk{P()+VZ%+-&c+^t5#gVY@Zq044$B>q+}_CgLPaTT!B{P8kV(_)<#l7{Op5plrNB
zP#TGrp>Zfr%}ktIZUzI5R@8zpA87a>!9oPOm_L%=hXGHjsJ}_U>rY1VyQ8AKhcUDc
z$?!l3rbsr2MP-l5ly3QWVHjk<7z)57mx-~ec-4(8$ckbLI8>0<NEJd-IY|W~7Bh0u
z43Is}43$YH$~c-^-Wy>Yu`uq3H6Ms|e+&XKzK9eyhD0d)*+AN;QFXr2B6g9CaAq8F
zIsJVjue=;H#4wOuwIF3JxWLj+)uu`f=P_hbUmY9THz>b?DIzE(JC$J}x8NH0JaA3)
zJ<_3>t!VCkwa{~}>y5eGAy#U^FqmQ27I#2ygE};UDyxCf1Q#gXQGOG{_YC_R{h_`7
zhK+unCTknXKpsJiPJ)Jb^dv~kk1=FYY64bg&G0CC(?%W+#!T2=E=Ph&y%LrXzq3$6
z*oajkrq(81JPdSYsae|jcRT;CP6*Ayd=j6rJnMaIx<PA(c}!}he-IrHP0a1dV~B_>
ztKW5gVW@w9(7YnU6O)L`%76pIBBw&FdOtAkWv<D8nVGxENLv%4Ak^Q`&rwrq3@-Sc
zMC;wqfBIuhaV4l$L*oNO`&bbeM<Q~vw$@*Jo4+SNaWIdDr7UaKzzKvRAfhnH*d|)z
z-;PoShVB^}9~vE51)Bx4WPh>%=>A*{XeFHnI{QtRF#>d8mO?7IhE+j5q5|MLzaQq1
z&nS>UWv?p*=wIviuM5CvFyR4(z#Gbe_uu08-|F}Omfzn{n$=KPC?!*sK^&|}n2|6Z
zN7hk|!mr`qq(!+u$zP_OhlWxVtZ-@Qk(MUVTeYw{zusT#uk&y5Z>7S*ui@X-iCaX(
zt{!j;j?3JXD?@c4E>npO<XgnUmOgr%-NGZWh=<~L3TMNxw3W0h4KavN%v1+-qrL(1
z{-_g>3MkgzP%Y3Z5*M#k2~S3PFg#0naB3Wb#X*`<a4feBOw%me1sNV-YWXiTTb9gJ
z7#$%`6Q&Tg5K|I(%$7t2h9cI521)J)H2#ZEL)xZR272~GQEP@Kb!;mzcZFV1<&@3<
z=AzmI^e36j+9|8GD)3%MpNwxgO>tIZPaL||IL{WN;QAiqs!j}%X*EP62SUdvwTnoc
ztpJzC8jRWs1CI1gnGy(cm!XE_PyIbC*L7NYBybrZyw$=k{^}xgini~L7xMk^)T&lB
zax|72F~l+MP%=e{6l1ThIAU;}-w3T-Q`VzJmSNw(J$)mXIt`7`PB1YiN$R8#mxVY~
zOo}$%GHpC!*jnj>HKZ8vI8sO@^RN%UR;V)0E@~9p9Q=+v4g*z&yTUS>ycmy)3EGq2
zN4DP;o*-v+!m3vW+<{Wb#6)pAW0pxj8`+&;SwpaZ%;u1Ty9W0i(iVxKJs2hWbBSgg
zV>7AG_#Io7$w5!y`-%)=89_KUM@2<IiS7IVlx=m1#$PV0Z(rXKjafPaT^98dQ1iZX
zB0n{;VOiq_zwvGoH+p3|fPe7JDuGEU4DX!HC#>e7a5v9|hK6CD!>q<W@!?fIPtCA3
zdK4O`e<H!96Tum@B1>{MgaDM7m_ReEyxZY1#H(b;#Jsi$G^7r=ulKKF7gB;J5I!O5
zhr)n?f~gwFTP5180EZrCR^_O{go$?c7sm3aI1lLP97LZ@b;5*~{@zVKxrsdHhL{=e
zg-7ppxWm++N(vpCuD=hCvI$<-VI96=@8}r(jiIWcDbzbb-c>L^^aQ*zo)JuTPd~D-
z-DPVfp*$hf(M;%<LH@v93z=os#pL9v97~D(A~7k#BD|s%kC3jla*H6*?Q>i_Jnu5d
z1Pe_f(-{&=)tzkCaTaPjxY5GWVE9K!gux68tFf?+i+N>!D`m*v5PKlNw7w+{_KChd
z!+F*?u346i4&&4T+$I|umkB+hLdc`yYwK|iS^<LJJA=WOO+Jj-?CoKR&%rOlgUV90
zI=;dYIHd{C@X$E<IZ@`sAiHWP!Vgl&F>P-s09-jZgoQCJz*5F}odP6~6X<pt@SP*+
zK;INpJofbVjr9*^QDS}!F6HsT(aB*rO8J|eJjppo6r(V#PGR|gs|zdCt^eWoDEbFn
zM$`x*F!T#O-4bXF;I$#DC`J=3O$?1rj$aX(c=$s|DCa2o58_A&SE8uojDG-|$`4@i
z(>Q_!&!EB(vudUZk;Ac=tqwU@Tj7k+DoWL8m4G=ZxX>cMGvZ@`n|{DlhTs}L8t}sS
zf=N9lKa*w&a@WnN>A_1UI-iHs^SDxkLzY+I7$RQL*%KqBgbwOMXzZSz9sr8X0WCD1
zA18V9Ygb{VB(%iq)6|9<WW1Q>8gBBSjY8`+MRZMKjAX;sG|^I9y2<)lAGVr^Y~rB#
zv%*qsaaJ{Z&#>52eRvhzq6v&;c!*SXNYqqT!P8Jd1btUWbJOOX?M+>8N82@Hjf48P
z^lm2@I&?ZwVye}(8rLI4D7JQVb+<YkVYo==HrbGDtM3`@M=t8sTs@jnVjA9eFZ*e^
zp(qV&cKJMPU=Xz*;Cn^~?ro&0$@u7j`~)WA`=9~#!|or1qfpi^q-*7PJVY6NdnSkb
z#_r`;CJ04RMw%4VYqMu{xiGwr%_~~$dYN1;6CsEa`GSd?!0VVE5RN5@KxYxI@dSoH
zW9PWejl{f?nGkg|W<*p@OtgtLganIF%D(kJ)(L`+C~HZKgI$seD{E5@*5roav;wxJ
zL0cfSlOf!OqVaONuv(-U2~TG4<VZisAn6%MBpkOH4#?{(Q?d*P^o|;^%O6&O{;E!3
z<QSq6$OoAGqWb2^27~QDVKvz|SgXx&0HfFy$?K$QcYqWzK-SZmZ~zk+6T2Zk8~R6w
zM@JgL(;^tEB+S+vq%8w|w%Xq?j?E-tSgBKh45O)o<ut`9b&ZGPG=*~v@N<i0WOnE*
z$zfEs1V|mIvCNPPzXHGzk-|#_R8B(ayT{?=G=(#chA=ufO(RHjE4JrC4P!06!N6!_
zkjCF2C4?fBwor_#SSZdAG=}1YrJ)FEi%>++kfBIvS;zpn#rZMh{su%fBE?MmKxj8u
z6eZX0!OB8Ew)g}YHHuO#F_bD%lsEtpgaas?RiY#j3*q}Ci4>)YqY-KcMkhukY106w
z1@sJzB1+Q4KO3TEV3eaIl~ERxLkYBHB~ltiNgnq97U$t8N!=8aEOCvATi{x9Mq1Nd
zO>OP83p-0+G)Sx?f0Rqa7nZYKP1~~gvSdrwT`lNvWLnWW3Gc6)94GC+cW4ZDW1(*!
zl<j)ovJf_{7WIKP99D+k0oGODJ=hY!`bPE+z=?(3efdIPVJr(fiVw=s$WR=kZXtDz
zg%J0Rk56K<V^)~$5@4h}9lkwLL{drJxZ1L{U$hzTKncifr0op(aSSA+qN0ghj>Eae
zRn8{CF2XNnv>$+CQJ+`RgCeg8%cr6POCC(jqEWDA2Q5C%c6dn?S@MpMMj|=4xcD9F
zg~pN~QY#&X)2I?q!nZVvPb`cQd|^1l7Xe+00f3TNE&__O1-Ny1ET$2gef|M<CLw^e
zCR@r=BnO5eG=MRDK~ZA6IA}wn#&HnO{A0|SO)eI*oPD%_xPe?o(6VC_b=W5}KzkwZ
zyPkg66Zz!lT%)V9vPEPAZ?EH#ycAvI%R$FXk*TJvJIBzMUH&pK%65fYu)YAvXY8)y
z$&ZYmM-5TCdVk!0z-KC}7c?oepO{VX;wkovh|L1mU)C{?NaA*&KQ+W(tZ4Od3#mQ;
z=lFf4?8(E3w~53+HnxQ7t*hm<j!c~&Gm!0ARNqQYT&Ya`8lF;sw4x4J!xINbkn|Bn
zFC0Y;^qiu&30Suf4M64c<zykRhNd&L3xJoiv|!A-V%h@@Oja<@(rLSZ6_yB*S0lVf
zD%K>het`AcFe#{H`{?L?zl)YR#pla@i~9HyA))alTG6q{+p)NJb=)LfZCgQ5GtN&B
z!wm<DwPTF46K=S#kl<>fGP1ux{&Lxgy81e76BryDJ*Y)Rpzw-+G$&dNfg$-=8K?x;
z2-bKT8W#s(wi^JFb0q;J*&~!7n#E7DRfn3@6%$p`<ox5kk72pSt|6Ex#BZL-$=_Pp
zmLYW{Y6d0`6oOoFT8b?4Vi5&rLn5*!N(~DXtv1`f4@Y;-54w($7219wL~-ubviUAl
zN=-ucTwtY<$X@Mm20b8J7iKoqJ*Xe|b~6G@4M&u3q;`-fn?GTg<Bb}!b`Tj<rPhl9
zzMQw7<PX3jO*V?=8c$@@Tp6(#OzY970zQSS%c{avGKb7Y1^N2e;b)_Sys-FGmoiv3
z0YVw=Y;QMOP{n;P9mN^hKU%m~Sie@Ztt)jY2{9K}E!?MV2((iufDnnM{hRw~vD&;}
z5ssH1Qb$<#jxg~fG|Y}q_V>f$L0=&S=L*7R1W0nAVu{b)gV<VgQ1|hQB^bbK*O!VB
zst|K!Td#x7C2Fwn$_w{g3X~kMZ=rQs2g9-glM^0*gM7>b45Y>d6Rpm0;9(mfxWh_9
z5%3Vq1I#MQIMK)6ihOaVqMGKgy2OJXmfL}h25m7wxfe4Bg5H}M8o_2aEIFD?#|pSh
z<ytUj7vm`r><G(?dwD6iZpnJt{eY^A@7vodnxoE?=SK4IptZTe{3lpoV&AgM0lzCo
zb?sM+Sp?Q>)PAx?dYkJcoXSN&q@^Q6%7PAvF|&B!D{d7YI#fzr`AfN%vL(PRACj?}
zKz5eGDNo8v){S}aW?dHOgQ<x%8);o)4fn`**52)?rdWC}>fO9YPyIq_d;5F=OUR1G
zCguVUdwYjR4=z*SEl~C(wXOn?!_fi+=-y?CK%*)!Hol3=i@c_gZ5UMel^3M}b93z8
z^|aer{I^ipR>r+l0^BH^SXaNcXjG-<WStQeTr<PCqK-aO(SfC0oD|U##<m>fi}o=V
z3v`gmy%bW&)>}5A%emC~A?4Tsm2ss6c`z{30KIV|_hucI12{^|!HY!0Kq7NRg{X8D
z2}_0;6Y9p&#d-Gu4=h*2n4kkASbd7o1}ts-hjCpIjX2#I*t~fvU1TQ|(f1NsOPVIe
zLe)+r<E4&QL2Ie<<5U=2j=@X)tXM+X@DRu16mY5D*5xHTx;dt$Ay$(4n!(Pfcl{0v
z6#d{v)xknuv}sGqA^WeSnYe5gBi2l!vy14K;+3mdA38Wz&wHjIezbB%+g4!oQM9}W
z-<oLwy_VL+LyO&Yk#}4CCQT)W0nkX;148ez^@4xN7~MbIH*^382eEp(cW8pf30lg8
zH*TNoyvGY4WyFqw5Q(r)FdxE#iED_cwHFd&oDc{a3@ZnTAsS@1O~OU92g~KyGl)H`
zqX$=+Cc%J+z1n_PeqwTLgl4P#`xDGdNDcmRBSI^?qQmAR3nVp({0ojcP?0Si?eOmN
zh%RG&?FP~YYy$JZ*W5R<5_7YmiS>T>=%~K~YiPqd%7S;A6>}JxIKn~;=f(uXGW)w|
ze`J%K|B>vVhHF5KNB*6X6R|SO;3_#O)gMD6*vSo}3S~*fQD>GbG1>7J^kV*HwJsX3
zcu3*0rJB;d*4}(tbPW_aS`!Lxg!DO2FxJ?tq;KGN(NN~gsU-oyeo>v1P<Me>6mPUm
zgr|5#o-L}bGh3L5EbCt8oK7sIO2Pr^w?H4`Epi=&<rPG{Q>N#47mKTks!S(Ddt{;#
zPDG))Y|{xVb$Nt(f()2Gt^CRsIr4*H%7n!XJ~)&g;G;Yk#hm!ba2FaU*Vfm`;1(L$
zseaO4%%zf9nW$>nHzP6;hb2x)IXc9Oi)dt-6`3`lJ`L*OP%f&`V5gKYTtuA4j*|B0
zmWZ!}8E0HsVXBp^b_g!RB2F&DJPs_R!!7)yZy1Xd1NTA&i^q_8%z_b`7_x}On>U;L
z2G+pG&GUOQGh&LN6I+mT$1QmIp?~&H!i^M^ru<>?c96=~sAU5CvaI<L6tgtcN$FVg
zYGVjy2>KKHyr|O{1kUY69jQx0u;u`-^;cqN0*P*OQ+IPK4fteZaSR=G!|^k!p!POu
zJsHpoeJ}y{VhanLf&N}Rd?KB+P2FDhX`>@XF%uKZVCH%XW*j&zWZ_-Jwh#P}0<ia;
z4s>A~qVr5=Xfp;KP90xfZN6!K^}{K;7|ZVHMA>BVKx17Ws;H5mcvp;SDSD?lBv#9r
zh_x_+rxdSXl)cB?)#<)F%B+2)58F23_?6LDe0x0daxbWpU0flg5oaV`1rrY0jPCm#
z!YP=FYACzuq`!2?2^G6fQ`ZiN?PKblstq~&^f(5Fhw_gQK%0~5Hf#u}2slOhkao7Q
zW|nnmAXFbS?^?jX!kXF5x5}3$DH&>d=6P|s)d>uK^*2NEF&o1WPeqqLL2luGJsfM)
z3OEl~REuz<*ifos9%d4fct<8SFVoQ|-Cj=>W97*A_i3YRYdif&^hu-3K;fD`BxtM(
z9k;~4znu0!@qx`gQnb|Sn0x3_KU1N5p7kV*X4mz8n4_Y$i8PWR*44Ge-GYu(YJb4C
zKi;QO<7>G@Hrf*+L%&$V-V7~=A>Ot(yZDWWzgfUUQ>jBuq_KN+0$YTjq(Ki_)H*Z&
zEa~9J$Y3F80DGSLancyo2qJYJo*lutUQ8fp(*pg(vY~8GkT;P-@V;p?c9JZk<5oBU
zHiVOKf)oxA@P;xj!!l8Lt&Feg;*`ch9$OE2jVv6A%Q!|RN}_RoV|bt>R_DP(v}uFZ
z+Cq3}2S;fvMhTo>q)KD=BOOmJ$>$)b2bQGr)Ou5VbV)3A3hY^m5XN04Hg;|3elf6~
z&I>`^O$?5PFR>`dDQprt@v9x8qmjHBz8W*ifqWy^90~&aU1Yn6$Q$pv!?|TTWyHhG
z?HH}(=9L5YVlirXFD>N;`d{|qDZ7{%+Kg*Pl+VVhMwXS*Xly{FrYue98{0QtCYsLn
z#3XU~rHGbKVv#rw6~)&Dstbn$VO$u!vZa0RP`|$nH7C$zF-1~*eVO>RW#ZQbhh^8e
z(n#0xsd?<a7Iu=-pd(+{Pm5+ea4#{xMkA^d+8U(Ug5G6WmoDRRz+fy|JWagwTl2J8
zS$*P})w7kd9T`{*gPac6Z9CX}sSS?J95k1p+i&Tb7B}OqmWy{tIgnVfz`0D+N)SAf
z_!=6-19aSe7)YbU!4<q`Xx~2QeQX9BDb1tREiT6TE{fs@WZr|Ddte)3OVR`uMurBV
z(b*m?&dBr;*^-g-Dg4dFl_-9bk&JeBmw$o{=Bg;2xcM+{^eBst1Wa1=*h83_Xz?|^
z3|zA5CSWUC35}%N0%O`rHwVVIZf92u?iSs-g9oz`5bOaW0g$ag%s3wAY~EF#5tM>s
z8|<Ord@!XC;D)0i+_!)wy}iN%mL4~_#55Cm<*1(o1gwMy_@HryF{7_Ug$xIaUxAF3
zAtWqlWk8q?&?;UowsWt<8rj8-c}{;n#wT5hXlrR{!9nNWy2bUa_<m)Gi<v_EzKtug
z73QUgE8)6|$kqgde@y$>p&e|`o*@4++J>zzmZqqjq7ef*4O&zzr*c9HxN1Knq@mrg
zuD&wX`8X2Z;rbhIs~-1p=OtbF)`lw=F_;GT5MWCqZ@CMYM!hI<@c}fcmBHIwWSo=+
zc$wK{pA6r?$@yP)`NfwT=oOocDoP2l`HB@WZWb}e&G<H0m8FFmgTc(D=vKYbEV`*L
zE<v_J(v=b9>1Ok56R8%t(Ls$Dy=h8B7q{w2)f&YOL@HYb6&qY+r*P0l8^!e&U1u8@
z9hw-WvSj?~T7Pr%)+UiUOgjW6A&0ZhFk3kRZc@G2d8)XA8fpwx3@XmbAc>S?7*Y;$
z2DJ_yRHD1RcmsgqC3gx(Z0YFkU;`~dw`sUJ9o+yWw8c<}uFO-?0#2&IR<{DB+QJ&i
zWxZA;S^gI19T^>iTUB%NH2QYGZQHh%Ep52L6II=lAMC?X2~25mu8j5$XQdtC-<g25
zH%_n8ibiKdc(_SXGIscl2N*E;xAEPm%`GIHEnWU5x6_+8`3B9AllmAPGA*J_11^88
zIv@zxJYtjj^pmVE$Erq6klu<^vQddYC4ihzuTw(8O1t)h46y8=kl8CyG*3lyU+Doi
zwz5;B5fjmvCxTWu9P)^iWZ8|oJk&V~Cq8e2rxig`(_DiHLi)l96Rm#YGSw#eA<PHI
z=;9_mJLiNAr<*3Re+P0=#DNfIwtM)VlM-?{f@y|hiuN|ZAfy$0X#@q&K(e@>#Amly
ztRzrpD*HqT3@mP|N~5%~>nubU8S9RD=<n~&kBzQE$EOXvL>Et~$`;89n1!^(4v+Zs
z2VF!21Is7?LT7N4+Sy^dgi1Ht*K)hrEzp!RgL6?@$=Fxp-{E&LYHq2nq#%$ziIjC8
zZd|BVeFB`Igy0OJ%vS)&<T*x5w%z^?HYvDJ650VQe~pda>qhKiR5A%fw~4{E+usR4
z7MU+T&F64E4XGTua5JtUqzwXjh>ow+PFyybv}F{?(xBl=K$s4(<fBzW(Z(AYH;TB$
z@~G=*C5i-MMa~wNoq#uqJ!)|*(0px14#)QZO>R`toJHlRH5-7CejAdRRijB6C=GlN
z7AegeOj$>8)J_~mj<99!7ds6695+E>5;p-Fr;1R+9}EGpBw1q%F`h^(VD;Sq><k|A
z;9m$3ISCdYOBsgx@86GY=e}Q5tX&=zMn_q2a~JZUQ(&VM8i)>=xFeh-Qs}UoHql*m
zVOI^>$MCTl!dez@P?Rw}KnuFnxdYUOmgiVjqbTFU<S_3fq7+N0eXuSZVlW?E)?BW5
zS(o6I9M~9P9(1>Mb?g!`2}Pr5a~u(WFp0sHE99LshN<7DTs2_c6z2n=j=tdvp^y?t
zZbz}+xi9e*R<Js#B}h5PO$Y-;<&=_^X1#;g6hwea=aVv}Qy0D~k38Lx>@wpe^N*LV
zkR$w?%Pyb&AP%9?HIsZ2SLrMhI3!fz5;_bKovmeksCTW!AcLBvF%5#up4e6Tlbv?{
zTjfm}7X1lV#?YU#PZ$|iiLo*cr>tR-SsJ?J!C|_wZ<QZ)jum4TT#mhNG<s{ma#B<Y
zxe2U%1wm|xEOFiHrgGGo-yvj@pD(0~uU!ZSSx7gF+Jf(zz#aSWTWm)at|D$q3NzF4
z=!@oIY@~{zJ;*IC77VZIguL`9K|QxP5Kk8v(>~9GyqLp-2CB=^eH_g_1Sc%XkfPN9
zxL*1=9s4;*L_<eob9%{34m-I!aaBK7VW_JSGV%92p%b!MO|f_>&CCW#V+vUFm5{$Q
zAfJq8CJ>l|(FB{8i&q(l9d<OECnHo|5zJEA*AGCZK|~Gf<8(5d=OmbqNV#;>k$q%1
z)W+2#3(H!|Sz8)G)dz2lMpW3yq$_E4t%EDDCy%QeAnVi;6tQxguFZf_!j06$m0{Wg
z?UmpQrUD*QvSSOCPt;;?R5mfsqhuO9%cM#QwY3d~Fp7-P?v{-ev=JIQ(_P5v2i_4)
zszpy@n579`FOcbTexx7u!<qt4Z_yRr1E@LPF$?fz?G8F`ox1@I9i1+NVkwc+3jA}=
zFyDbk_0#;fuCrf+N%r9cm}PGaXXQV`Q_=hwJIRp-LE_DBwCEx~G5_LQhFm;$?hpv#
zar#8>d~t>gB#74vgGEGgZ87R#nTgLKv+YllH99@P%Z0&7dDK`|B(apvq)Yu}R};hH
zj$rKj)1M4dmrVqPB45)TO>Ns*LNkT2NxD@D{TwHgd45Q%34w(Oj?3-Ivb_#<0NVp<
ztY7OQDDSC37QOf&DAe_PT}P$q6A*C+b{dCi36nw+i8Xudb;TV}LMSyWNt|+wZbsnA
z4LtKBQil=xWqpZdnk5W_L$P>~q?-i^l2x4sLklD;fRMdSLSWIwq^Lv)jCrcx5)Dzv
zyk)wI``F7PK}wG)FjP_;FNBM(V;6Cc*hwiN6ehPJ7BT}5g%~XhgGDEvuwX3zuvei7
zBh9buD(GeC$0H)$ik`P1BO@2#<VDsQl_(nL%PlsVAuI$1g94*-g2nWRVg5>MT2v+D
z8rhX1FeHb@IPkkH!^)YgvFJt1zk(ukh>4o_v4sqcz$ApPW#AQ*BMz?O*_&R!vz7*%
zq5@fKxq}d_qqzI?rfYCfSDQ%&bVeYCA|aBzaxTkBia@b0!{~(DU!CVv#uly+<a;%>
z5f36oZAAAw;^qcklRki(A8HeHE@?;<r`+-ZQ|gM3;KNugo-OwSRtC1Y@CDz{wmd3d
z;oZRsx@x+zjjhOj^JJDI0_!V-dAe5;UCdU%V1(7(%D3e5Jrg?2;tDt(Z<!}p_ySqZ
z3&=Jd9Ide0Y7{I1PKZmdT+tj)XRm2UWzcas3q*ZT^Ii>uWuG{xM+(NJN!QsfWwaaH
z9nyky!ynzR5$b2^OU$lgegzF3Pj!%0#^kk}i<$?++7+H4ABL8jaML7R8m?vX<(K92
za#p?wm-FdeUFG2|Mf0JmE9q8n&dk!;Z-QiyG2w2%lbeMH&b2BF?R3*SHx73r;WQ~S
z;TlR38^^e-td%yTYfor9Q5k9C>)i#CiUCPD|B2fgNv0B^#tRzL+EQHm^d$_rT^o%-
z>kw?bkb6H1&97-fyzGr-OWhGq2UQ>!!}y#7kFQ}urB^d;BA;Xq!|*_(mwu&$tr))I
zMNR~eC4uf3>N#v|72Vnv=07hv)z`8gOwB&p=q+ZB-qh>5T__{x8<{+?2a6rFC6k@$
z^kELtNFmypmCQQkWQN~mCQK$=XvEf?Iz=O>Etdq=Tj;tOH;y?=jg@nl$21P>UNlnd
zGHWOzfuQ-yF^4VaIw9h0TM<b&nVc(acTup}7Y4iAI%bnn2o>Mmge@Jos)sN6%3~+t
zyC#Rm@&lVnO$PVv9gH5_ZU~_$*$k)g29}htgv|!Lx&2HmUa|uX&@3@x!ofziFWMAa
z7;0L=lZVZ;%p_s~bgW$ECw+iarMrbsm{4MsvVW$Qn^$pCE?)a1;byG#M`f(Yq(#-(
z|5jRBNY<!tws3Ewjo1^T`yt~rey}FjlawV?F+-R%nIi3xtC4Zlp!>IGI83zlZ__49
zx{Q-AjebF4{0i0J-$g%b7VhVC7@k~rMc-D?J)y2SBTDfVR6`YOX+2(PHIz1C57zq8
z26TIJi2HQiGV!=BV0RtM3q{rkk@Xx|u1=%^WnXk4h}ba`yy(v&7)-VCObv^CgkZ_a
z3tl66Xd{j$0)hMz5LE-*`wT=mijQMZG^P~tP~~_eAT4C-gFZl0nom-HhcrE|Zw=?8
z)$L)!s3ZmDajF$ql#iMhPJFtuDyF<36`70jEhmQ`&NXLA6Ja?Rl`4*suYagPAGW6x
zx(i8@21fJaban}A=UCN@AaP~VZnwbmK`m^1jWIDPE|`}6AR3X#(5hi^3X326=UyV7
zn3}p#C9a-4-28iMsRWX9*Ek+uOQJ4-k{K;i@RCUja=!%btEA!MfV^p(!qxbE1FZ+~
zZ=BV2+Fy(k%^|KbpAA?it~3Ve3bhO;zAO!uwz1q37wwyDDpD^}jKa15&BVpZ&dZ^X
z7*0Y<p)rqtUyXTW{9l!KrIK?M+O(e$*Jvwjac>EE(DWbxE*qp}Xy@-FH;;baEp!Xu
zOT%P&LmAaE#psEoEcUWy$-;YS7_UZ~OetPcHOmo)BU?W4KwE;P4Y2wOBZxnT1gMC{
zmSq-F+0;MvO%^@m1s|*oC2fK=Nuq5BxP6%lj71e4O%T>%uP1~9M^+d$sp_@J&h5e$
z5dqbg0@W7*;STaBmO3+OQ9);BH}d`gst8X`aMV@D1~OE&UPO5YY*u3$&QY;7b%7(;
zSYV5-5f_lmp`4zjf?yQuNP-ph(6Ym_V1|eSWlExjiE_dhpTd*~g**%(+DI>^*42pW
z0Vt}m+b3?zagDm&f{!HOENFBagiFR5WK54r(g`V@bdeDiTf6vMB*FC8WhnMr`ON>K
zN)x6m43ePQ!=p8Ihe$M6<4ZZrZP#ejaAh8vnMoF>(4pKT{EH}v5UTj>fY%`mhv%B$
zbD`4+#pl9tUW#ILL4%#Eay$B3Nnp_{O(m&7Hu2P#Cfn(9YD4lRi)a92kyxQ8hx+4E
znc+c@gUC&~21q!ZxS(+&jHu)5f*kH3f2fI<%185zBG)DXdEr9BVA8zWJkqjg8rVJD
zxDit7>06ALW5L5s_*6XT%S}Z_9DwTK@$TD$TdYN%%pSH}+)J1w+J1&}q+|Q|DsdXx
z8Ea_T1UKa}8yF}}z3bu|4R6?RH1Q8GlD6q^Nq`b+d25jxjO<bkj`fL!z?z2}bQ4;N
zFOOg$2^{mLo0!L-O!c!+hW1tLVZyjnuuZcD(@5US1su6${M|UYB^)@2-dJxBH@?gT
z6d7{MB!Fy~ux-XF7Z)?oN9lNe4{ZU|TpQBeJP0tpcQHc37oaC>w0G8VE;w5og8`QR
zplqz*Ymh?A-hqQf`65HI+&I7tk!EmT=fP}_M;7+c5I}-a*cTDj&~z_EHS?0Ew2_&t
zeHxUhWhkEW;>tRn@yg;L3kOD4-19$*YZ^B}5<?q%@U`rH=mx|Xr<%1E?r@&-rRe&L
zU2>O*j5{)BMk5s)`U`bQSBNx-je=qNP#hZkCVXX-)(>m(A2SOBbQE=nN7RPA(aROU
zo89VjTs5izbQRFz7(av3U2yz^3lS~oB*x)*7d1LuDZ6lOG)Olda^sAz4oO3asTa>s
zwbjJENg!7e4Cal<R#<WZ;#j1wCLGck$_Yntn}ljh=e%A{g;j!#Lz}c_R7Ym3quL4A
z|2KKDnq<nBiK+3~QB0CsIEdrsZiEszieGJ23&}P!(&bzY*A14Q@We}nnsM&DG>bdj
z+XTHjgq7P{vGSgIIonAT>nM%QV{}_K`aeSci~}$Bhy5!w`tZo-CPU=?(u*L`LDq2I
zJbv+RL}rKCnKYQ0V?$K;I#NA>ImKDZ5P?F?B@BA7V+PEXS#Ft9srndDiuAqo7if7(
zlo#@Eu!wO_mLiyg{D)hpJVm<aQUIhtX>mpd6M)QRW~#d=Vwsdih{-jNPLgE^^3A)&
zi7Tu>$R-2SS%x(6JLwlhL=Q1fnE+ZcC+C(}Um%A*P;9Fxl)|j%PMldyo3R2?LZ0}S
zyG#(NR_R(nP!j6Q!gR$Z1fPN&)dBk;2G%mm-ow9GWbfP1_#Ty5{(u8+J|4RdCwXE%
zNCIVokN(kSEfxqGImphW24neD^Hv*nbxA@%mQclVL@hf$xku1YXHvV3LhU{HscRa+
zmriNum9}--nz{pj@XC6)4mOZog^}ag48!7z()?lm|D6SVrl{@^))vUfAt9$)C<1gk
z9Tw@#QK;8hL5gRkU*L;MyVe)z90zFDS6Z^bfQs%Vd#dmoSDcY60^_1ySHQy~#FNSe
zK7746Tc{Cy`av+n7NK;uS13V0XhVe4T`H&@1V-rLA5=k<Nh7o~x^#hp?jU06ay=Q_
z#7ttY*edpUAX#C=DKFyi-S~V6tPm9jE{x5kpsksET$tEndOI%nN44olIBIl(6x*pr
zC$hBux=H9H`CA4?(`OpErSL|NstnsP=hj!1(QF~FgQDlXayZaSg<vZKze)%5X(hTC
zV0hdd1ZW*r)5I%ZE`s2%KM)!~aast(Zj1;JBuXe_-9nt=U8JZNbk8B+*LvZthToW3
zR6wKHbDWRL%?yw8elr?PxeeL17HcLMiBz0G=``a1;qGnQqr8!I(a-5$@nCXo%#b#=
zc?lr|Ou($LR}$DjX6Ed8Cez(+Ll1tNZacub=EtA=zN;ja)K43dnSHKxcFzQN>!l=B
zl}e>jsid|OvYDF#iX_~yb?c!k6C$b&J4vRzVtX9hFlvHS-}7=kV7KAS>zKAX7I-)4
z-4Fta3u}*Hnw}gY>=*Zv&6|Y;56oqr4Re>`(wRcW%<M#1)?C)c0_Rp61jayY)Hi<O
zf&JIn8$4>p&VF5DZe)E;Bp+<&%c>;<vxc$qa{?#!{I%BMxL|apgt5=1kU$vSHn}wU
z@9WL&qy`N=nu6cQt@F5pT)?~2%r@GlpgX*%1)BP`A#FMn`ReL!6#{?sre~v%gGxrG
zOHFa>#ZqY|Z!stx-UCRT@fNMWoTwNy4o>?D6*UM)RL5!B^`O_cF_i7CZ!b0}*%rp{
z<pcL|9{MC-MonslaY{WMaOG2KbKR&i6f9$!h6naHoPLN2{W=I3IO!YWU%hy(SugD?
z8|IcSA_+~7V#7?rcNx=)Z+U|%3}JBq!gFQ(%p<Mq?{zP5!Hbv3S0gDizM)DhU;+(%
zmxkaE;(Hmp!nsY~s+1x$?}Q>sK;(@ip?EzZz!JVFmL`YTf+x;!HZa-I-wDu0Ro0T7
z0=_aR>9om_z{1Lz;4IOj>XB9$>kI@N=GrIp#T-f!eA}1em+$9NdKh6rfL{lwv7$cE
zH{Nu;G~pAV>@{B#*?z%TD$^K3bXd5KB)nYJO_QSBVBD#|EY(kN%n}lMURBFKs``gm
z;!6G0bh-)r2^aa6Zwn<PWMDe>vgHV~lkWUA*77QsPD5;Vf`4?DlCzgLQ}L*n6U(+5
zW}y(@>K|`Zd|rrN@FXJ>LX+dtK<XI?ny8}HF^vfdE7!I(iOr)Y4Kxr;r9umw_*76+
z(Sl&kEOSLDj!06e(eD4zx7c4#kKt82!H9L_riH6?0r8=D+K*1qa?G;?9t`Na4hDz?
z$Q=3Z+vI{4Zu1Ib#U2-#uDIe7mfo6|LOS@|oXDtLxVu@x4Qk;3t_&g3PV8D&Ff)=0
znXTTGMidObpkrVE%jl9Bn~IZ6qxlj+IXsnx);1If2<bMs@99N|&XB_-4fr_m@57}c
zg5rAr9OmWsu+l8k1=vs_)2`Xl?;B%(OA%Jnk^~esj(Q|p54va52UvsOeJg3Q2Si=k
zweZ3P;<{ZoTY)Qq3b@8I$h7VYjTx6md;r2sK;hblCNP>+F0Y)bEi<Gvj@Kd!wF9$L
z^qJmm-D$1DplC5_@V$8W^QFf(p*N*t4l9#&$jkn&A}3Lb6B&}0bVeJWPr0RGF~Lt$
zBaqk#comM9c3H=ddl4{1M?Y~~A$q$pDrdEC+`?D!velE%AZ3!1fLox8NZ@iH5DXj?
zhDR+gp>cYH_hY4?y~PWO0W65hK}%&KM2~$7^kb#u>jR7PQyl<MF@dK20fJO_`WCzr
z#H!fD;?DDQadP;pUUh<})31n#XM;*BNOQJq`!!6vMu2H!4RKabz(6Gi3Zu&>P2Box
zo0r8Fl?3BN@l`Q!X>qc5MV;#UlkJ&OI3s~C(A0?_V|wdS?hpCBKIjX2akY5brRLzv
z0kp=}ZLqz^dg4|H!+a@xP*pU(jBHzux$O*8tL+k{xZozEYAabpk8RvEkkrQ@6`>#Q
zY(xVY%nhyTnyYlt>Z^3^t`QAfwj98C=<$5PNb?h%rLhn!1KBQVYQLIhAZ9f^fidRM
zcMo6u1$K(uasn(>L#sJtT3Y9I0?S=8$<38WyHyO(eXk`Pjf|MmphDl?44zW?)Jh$K
zWr-54Jgd$77}-$th26=({Rzoa>3w`#h%apO9xPn_j$mTsq#yX*j};B$jHp`Enw_X`
zFGcbui^E;S<8Ny&D?3B_8zPc7y5yAKpst|>1!@L1=^GN=8$#R$(3P!VL7C9djB&1P
za9jp56i>R98N*mU7cY(Mu(zQS1gaDkfv?*rl}gVzC<(RPfz(POc339~K*{7c$vd?b
z@sXSD>1t_}XTPmfNqZ`7rz;jTZeE^sSr~hx-Xwc?MP#V^O3?#RD539X@VyMX$q;lu
zKIX*4DFCKbgCD+RE6U;l!iB^v0zhvpa6QkSPT4fcnWxl->T4cb4>M+M3)OFp7+7Xd
zUz*FvQHnxxXJsUY=56)QJ@~IG$Rgv=XNuo7J9hpZ#aTsi7&){29@tWm7na`kbD|Y<
zomW3fl$F?dh43!;!qm<`5~E&>$YS)%6{X<%rO{N`(U4^s({qHXuoc2G+62KYp;d?q
z)pM!sZfv$N?+}UJ$`;?sWK00R^P^k5R+Fi&0<8pfNtcUl5|lPo(=P-1g9Z|>_wKt(
zgKX#N^dhvT-CblJtpVr9dLOmOYNM3}%n!9YTTDvIB`ZQXBIBD`HR5vUJ9M%6%4GtZ
zVLxDK*c_YIf5%J+d*I4G#*Gs+Ahe>nLgX0!puY9bm14Km@d>y$X=sK3q9&T4#E1XF
z+)6#qMx)x8!(VBdLGK~~ja71@4bSOma}RYs+V9jZ3St_DUm39J3x`wO&m`3g{mG@F
zjx#`xKa>DyVxHqAtpXx7lLy<GW|7j<4vZlZ^3s(JGHE}|X$|_Joeqcc!RgWjohZaU
zVir8i;jfpi{8c|SLd^7Z>M62%%j^k`1b9Fnj$TYl!V=PZ#>0h$A9jXk%bHQ)D9848
z=?td6iUyc|5F>qbUFRf{I|y45dH{iA(x~BWiGbW;V#11Hb*!6Z*2<%w=mVvG7zQBt
z{_STqMmNWHo^I?N{_|D3LZsvm)nR!G=;8{l*Infm`UYE=Gu4^Xx(LDgSCe$da!(59
zj3C;<X^H95SwA-d?3o?0l%pDtT*X5m@lK9pRc|GY0RPO3hxW9taCdmU4O)pUrWQP>
z%=cc~MZ@qQa6U!|qCz4t_0M>r6^CLOND?7I?l9YGu-F?YhiD~42k}*l3ef<`DouzB
zVB#1vj<FO9pilX(pV&ytNWxB$wrMp5%9G9apAZf>cU1*;Ok^_AQR=6{5(@DgfHeJl
zMPnMFZ*UU;wPpxS(9!n_KsabLI%*TchE6B5<b^vFUxJC$W$vr^@FInWZcK42p%Pc^
zQ6^v9p-$uyD=NYaDE>%0O&Oq<tViVD3@No<;#ye0-OV6D!i(E_ttSnEPD;NQu($z;
zbDIRLCALHK4Ikpqbho<en3ixpCx0C7bWfg0A?M?AD?2|qcrB&=7YoBq3!A?$2c&#@
zE#T}IqKEal3Hb5ZD{`p0m)wDa#!65TmHD+Mbl&O5y7+aCb66W-{OAx+ohAUz8T{P5
zVQ-x)ZR<`qU%Z(eU~`Y>Du{?1wl${R)-8mbZklN8iDQDz%%+{NeG?ePBVo3UHN73i
z1g%>0(eZ2AoRYV@t~^+xcKnyKDcuq+kkD0l!+*nWBYF&mA-0DeYuyrDJcBsICS#~t
z0xF)?&+hbiH0h2P_z!;*-oW<htK<Q^W_)TSmXyFD7H(NI9yHyLu`ewj?2@nx$z@X0
zMi0?rK#TbF=kffHvko69CF1PoVBK&Kur=_mczJe?#6*MzL;vcECL1LIy)tg0%)uWT
zC71+##I<2UTkd=ku<alS6nVqct=zlbZu#J>P~YJ6tczhR<BhZt>zn}@3%<aSgaQo*
zm1GJO^_>smI(<wIy6EFb(j#JGakm{U)o<GL>SB9JDBqi91t=vzD2RQHE41zLNwsW-
z^ch?kA*~)b5XAA%9@$xDOr9Cq<&m{C{XbS2Fi?MC^_}q>5I&TZkPz;J9guM8#|ou3
z=R5v7pI5-hYoc?y`wACKE1$1eehmuqu@WQw2={UQ9uv6E{%_CGVFp|$Y80mC8n_zY
z{ZV-<rj_M7)^CPjxJ_!~$)-wVpflXP;`j!xAEGA(;Z3YNcr&n`t^SMcXujfKU;)Ks
zCd|{vXomJ3JK~ijWIWJr;2Ar8<Jzo(V(n!4#M82`o_^oV18h<fG&GUEmRZ16fe05Q
zAs`_#&mlpSdI;Y*YL<8^V6<TLT)mQ(zEd-?0!sF;uCL&%0SytQn_4kkU$oJ0!l?vd
zbcIhAaoOXFWfkR2F>G*7V~{{5Nv0W)JlRS7^LPC66saC8J7e^lpr~5Ie}~CTCI<gg
zx}nuWWVUYUKu45QFReOh&xJ*}nf*6M&f#RzgCM5<e~2Uo3V|~;PrwrU@NW;3@GvgY
z_R&K=f;z$_HE|L2jaj6p=(|Kk2LRHGKQ{O4D%;njB{(k%gs2<f@bM%xiJJdX!=vBZ
zuwT5hyKaf!fHKC%#T6H!am(i0+1vv@V5(t$qtJHBu%HjM?vBS?DOWV*=^n8Fj`%|y
z?Je*YjR_6BWyiROlpovtx}6*uEQ9fiwlTp8k<$(0O}Mvkg-Pj!luIqKZK%@}v|2<l
zd#xvzU>!hYi_$Oel_sF3ojS-u!_qxjubBqB3apnd-k5rA3*FL4)ebs_|AQgeQ<M6s
zOA~XbVZRTd!veMQ2~0b%lgix&FsWwbCndCs_#kP0$FUbwPg6;xD@ug08Aas0rXY_f
zBo5Q=OLm)W_>mbIH3qZ-ZI<34{3FMZ#_1#Zbkkejlw7GIel1EPy|@V5o?z$8K(C}H
zv1K~jKNU90cD^u6?ASLekC-ti&j2L35{y$5tVGzAbQ8bq$+GWOz?NUWFmttg7hu0T
zHQ35e9SX4D1=xoxU>`={P=M47J9Fs3tw0a-!wlW-(9EY}9$xxI21|Q0I&4z*XA9~X
z!*_J6*gs*MP+$=Y9N(_ssX12E{=6pVnqR-Mip<2@oq(p*JsmjlfF5{93;c4fl~fIJ
z;l`D{#hb-UUIi?{Z>b}M7xR_53`Tng4x1Ms>Y*IqHD>ykF&8mf5$Z%E9r?LyY$z5<
z`2i_M2d{^WrNSGBNKQ8mH4enT!v6N?6rS_Tnfuf6`D=BcFL!)28DhpR7}%({YcSm}
zP7q?tvr~^#GQ2cZ?JAh%7$KG_`qLij2~;t|r5|1Nbqn0-Ffa(K=;wtMR`5@kA@;IR
z$?oSO+jo=gIg(FiCbx^hz)%BN$z2>H9=_%XQHG>64%CCCGG6C#e2fDFC=|UAR3De-
zb|RnluqiKM98b@1-7{im703FvJQeNbTo;+COg{%Vg;sEKQ))Fwa}@BN`tzU5FcKRl
z?#|;&8JWM4gSXBKhvO{7Slg4uv`FM%Pg>$qWVdM<XvLBpk6LOT_JU0@6^v=27$sr;
z03M4W%}dnWiE=1Wr3FZtLkZ3y<uor>vzL{t(!AUfrvY9}lavf?7bYuh=QJ-@IE)>{
z2QYJ*mkAt}%ak-P6geyb3Ta*{a#$)A(!5mSAYD~uF?1@YHD$nM_6cPU4j_n(2XO3=
z<mlG}L<qO1rp;`3cmgvY_mGI@8q-CeVadIVr@btCV|wHZN~(0GbiIpKLEKxT{yE{x
zyW2_S!mgc(Q1_){Li<BL_j<O4f5^z#&?>F|7L02-sI06V7zVS3SSYkwA1gJziubcJ
zX&3rK_m}Sbr>}NjJp3M}HcAF<4BuO*3)D{PhaR&k)*n7hc5--f?C+8l^PgHBr0(&8
z>Fnrex<7+5zyq}uM>FBYOj5uAMu&sOw=z^5%iIWL;-*io{eV^#p7rH7xI*NY^^Nyu
zec-8*XjCu|;H}#+Vk@H)&^5OFTn6V@L^J=>^TWEHIzOGET$QGHg@~JGu^+PTEE-wy
z8gJ~6Q3{kJr1}2z6bD+jFx32vwgxYgnH21Vw0!Al!RKi{=$HepL5Jr@$Dq%8Nac|I
z(Cu(`1akz?n>Y;mN}B~e0zC=!9V#r&*2!Bqz|ziID!DcaKsc62ce4Wp%!<$h1Kt(9
zAgSFHm*u|C>fYjYmXpa_tfu1ju<bE0{S{B&YA*5V5A2#c{6sVq^x8K`%RN{I;~-#G
zHIt3Jyon`k_P`xdYL_7)WhF379(L#IK(QJG08G$+R#wL|4+pdN4#Ex3q8kp&5ZN?9
z`ZN%}-|HjU1%tRc(A*(owmpx(m%EToyq0(uVRQmA`zq#bX5?`k(9bltrI#Pz)5pR2
z;jF#x@8{SMOpg&ObixROe2s$U8;Jn{mf(VNzW<?b{`Ah9o(@GUEPdb09mvf~b}kiM
zozRCM3fF7U^uV8RPZD7*I>^1n^l0V+89AJUII;Qcv(I|qF9Y6z*r2op%i86Qo?0uC
z`hi^?B>5f@cNLNZ|F4oHk#<%9UrO$6&BIFF+Z@B1K6!&D*ANuSFhxY|7@n|x3VBSz
zQM%@N)e{Ph{8?@Y0dt|L`SA;bB^y|`nBTy(l+1J|4_Vx4b?1Lt5;N$&Ip=dm>p>_O
zzb^O4*Oxd5pDVKedF38Xyq6KxU@F<a3{ynWAVTk>UuU+)d;2F3_D_Vs8u=F3sDc8q
z*m6OFayUD4BK#{*_D}Fi8DeL*j8K%ZAPXs_S9NC}8qUdS51?i4xe&@V2lKBDN|t?e
zrh($({rAz#VgB1dE<i!N6Nc;L8RS~Gw$@B~DMS;wqNnK?DFSjVRq4Smy<?=+N?U|k
zTvl&4J|_<uPN_!nM?EnzrcE9k$V&ymdqMOH_=Hd2%(O5k5xRN&_KL-#GwHYu)+}Np
zu2O9;`kKs&7hd||_t?101#H0^O1SfJz!0{NwWdxA8FTGe{JwkJcuk5I-7#1FfWh+Z
zU&&lUo>!x0ji3%V!p(b>H9w=sFXC!n)eCRO6!ZM1tvx{91HfNbW}nbjDF5Q=!*9Re
z?NSwX(8~Dz{*;keN1KU^lE^M$w~&y5C$ncXtBT{%ZdTrbX>CeeK>7epD6tFaPP(=o
zKB&4%M6;$$Ri)svt|hCiq$s9fAfAx~J+w!KQ}>Y2Ax3@r>Ah8ml8b;m{Ql{~m$?>!
zG!X3N?7Jqfke^=bZi=PXttHls@0|m^C$7{O-pa&)CyW)~2>pZcq9MLR`TWJxADRxK
zw2tGd{U~l4aLbG725o+gkM+`D?OqDggBPoj#Q+t048ivP&@0d03~`Dod%dM;cZq=e
z)6-KNay?kiQjn#d^z+jP5w^k6PH{Qec91>kc##6$v>1nNa#fxFRaBTQ?Y?b3u?vB%
zBQzq*Tc|~I!E!AeA}!ZSgY_CV<XkT0J`jG{f<4+{Iy|1FlV`W}WV!4VmUSF41^c&f
zouNB6NjmGi7teOX@;rbw5h@(aPU&2LZu==lq9-&sG?0FY=0;qzMKMMWUi1d~dr~2+
z5n18*tnN@kO@c|M*>g>I_$d!^>P{ymm{)nm;QhC!Cp=!`Hr$QeI!o~OQ%iOvmzERl
zt27B^A;EkAJM$_HCj>n^|A__*x-1OD9J_5lMsVW<4yZGZo!i{vBiqGBy31|;rr2>{
zpT&RVFF077oO8!DeSZo^_B1EkzvXVZJvdRif`d^+hcQapkx{TB8JV$7DHbH7Y;vlG
zJ`Q!@A_Y42WUqTn^8`kZV<J8Uc_jnqeMWy;K9yei7r{(0-A!X&yNe}+#*d0sGN~#{
zSwm(-sEp*r9vL5o0YS`;BjX3W?F%e@((wKrW9uDQ)9ao-ujn;{RN4u+Huw4`PP5*L
zZA=%ZE+>PLNep7#pJ&iYBK2iJcRIyJ*Pv(F!wsD^`*!-l^c+9KrWb|Q(H)q{A}K52
zdtfMuVZ0l6$cxDsq?Rtw7nZ@<8P56^)+p|Hz!G>3ie{N?F2cE(;iw<45_*EnFT#<n
zcHXCR_Q^(IlHJimAsf(yH+l~6`+RC=?si}<kQKB8jgXUq_AVJp%d}L<&-OaJUL$`s
z+En0aiy4aG{ka$pke@vL^AC6{5gC)W>7M2!_0u}Wjz~%OVVtFGx6Ha1W-RiL*f;gT
zAm9}>`v?&kaMlKpjKM(qJ%=@a(d{Fem_CnB-W@x2{84V6!t)T2lG6&Gr@}w!_6?=N
zbY2%ZNJU=46b!MISUO_li|z{AK0lgXflVJ)ey$O-V|0}$2106xlVym#<?cz?-oNW_
z<CI82%j5V*0{M^;o?YPtAM!oq)ayV&^(T@5n3l?9E_&pfK68>Iw(k$88h!Ohm4qQ^
zPIPeol#gV+)o$d^CoPVd7e1w}Qbw&}rAcO`vZc+em<3PS@vyN8&FE!E8b@qQ3oA*o
zOss;nqrDamVN6T$dc`jC+v=e`Gs;N4*6P^w-P*f`b%$eV+g;y3nVp?n<wk%)kRoD5
z{j}A~cRyD^EJnHv5t28yZ7b=DW)fbsj%1`J(^CfN7E%gz?c&XY>NmGyXC1MvVmZrg
zeWa(klgWIOD`I6#i{mP+rr`?6XP*sdW=n7qK}_@cL`a6*3K3;^)<80O#eQPrpa#I?
zIvz5_RAA&eCOj9-mId&xftwG~U`m4=PqK~0=1OaJ8uf2$E?CL6Zs0)0w?><anqrHe
zmee7l)hw;gNnNn1Kmz(YZQ38_M{vj0I(Cl<+DU5;sfE>T{*DHsn8TowjllR0|4M{6
zOd3Q}P_k{cN_zt9sqYNz&!w8QILb7HVOzw_g=vM<Iec4DtBGLLDk1B~RVp>$5(baP
z&3AnD)n9<a_6vQlD%dG2+h5oA2|<z0<~rHYX0s~mdR()b;ChSM`tU@vlyRPUKd4*b
zDi#&>+<Dc^r%!1axnKm~norrL2om)96F!#Zn-vUweELN<MqqP%HN9j-x00gjS9hQv
z@{^u&W3-&(CH=GpRqs}-!DmDIC+$0-P;0~ucxTj}jT77;FuZD}l!T;aC(hHTUQuaX
z9*-mqU5IMV0Pt_0XMQEIsUj9vhfHg-a{tFv6XR5!IQ!k`vVl)ZPmQ<$t$<Ke%<{k?
zuLALjC3q0}=@>d(fyvBg+hOeQJ+vk)SZ1D(yF%%V@wfR3uM3pb#0>eraIo%{ZNp8Y
zUAFFpJLsR&d4qe*{?A_bAF!41kQ5iml9g~^h&2Ai-r*d<jsXV#U-Ikqm&CEJa4v+C
zF?Je@0S!4gl(geuc|BXCW@(UGFwL3V&PO!Er1GPVhaRA;+u-bneTSAFbWEZS`%he3
z_iHh_P=!Mb_@C*T3`*|V-qgY}VYVOu(DDA_3*76Upl8~mot$(}cXxNUw!ge(9kp)m
zSUkLZIIK3=ob=?j=Lw0i6z!^iAg@7%P<iUgP%B_)eodS$mwoi)p_lL5cCRXLdw5ek
z*bd?$DMXH+j`P@Dqev&?5zZfUS-IT$$(M7q-B?vp=Wi{soV=_1@lB^)m1*5WkOs#t
z9r}BM*i7KD36P6`e285p?s3BFyD3AlH&+v5a9yFDC=p$Qq-DZl%90O)T@&vH9-Kjx
zAR?68OU<(B$w#M$Fu)#u0J9<P0-_PZc?_3m;pUC|FuI>*-{|V{J!l0MWN=6_x#j8`
zb7g@jQRZ8AG2A7lA)Df$-6jzUVs|ZWn|qG`k*`&{ytK#j3!;tQ9+=c;u)ipp(1SrU
z6wYwmSCpzMvfVR75;T*546-F8ZcM@Z<vOjTAJpMA*>Z4yQ+l6KL_6m)**_PyG(UR~
z_R;wYi;E0NpE_CFkwO!<tvp83<{_RQwt9B;3$q>)fL_sRP6OOnHTBV{cca6%iXZmw
z%?TXq_h%DgV>JK30PLAbXpSn6K13E4u1t#y2&P>DumMl%&M}{O54e`o-3B?kXEdss
zSRB4nzs^o@+kj)HM5Fiq$EO62fV{j2wnmEG>(Vh$Tqsx$bI7hfTv?y*P%q^D34FiA
z+uU}NcYS?M=lu0K{JIZ$f+#mi-N`{j46N_RFb-YnuInNTjFBfDYjAji(?RioY?idV
zg8=xtzK*qrQ)g?lNq{LVm#|wyDJ0xJ^aj+JIZ!pB{g&xt(wPt5&8fh!k4txl^nSdD
znFI0zSaTQD_-pWN&zdkwvyCIQ(BFXFNP@(hcV8+tfwn7~+znE2zc=|ke-B)}cjMvB
zl!-etEHlS-nCrM!r0v#r%EWCQW#T5z^>^W{&;d_8dyMRfXQ$255;cr0JHS!Gmi9X$
zZZB;$y)`tc`YQ(4KdS!W%vX$K-ZOy2cIxE%&rhHHC3zd$Y99ER<bp&r4aDRay$^8=
zlEWOK1YGzD1+U4S&9xR{Yy4)8r(S(Q@*)(5q0n}3Ayx^6Zp1=pXRkCur@aG80`=GL
zH>kzrD0^4k0tMu}CZt31lpXk1XX*eM!SH}h6V0{hAwn<%gni%~O)%IvW(SN8fkoxm
zb8nEZkYr^OrwDxrL}9m>eO7hZWf{Exvyg%v&CidX{qX$h_q%_wK7U=85>^l*HCFw6
z--9HVc)f_#IXl7?x)eT{lM-I&*fVP`Z|q;S-%|ck;dQ($*A$$cQXX;6uZ=dw8<P!K
zz=1xCg!9i1mnLyD^7uw~eAB|*TpcX+!Q9_KG5Ei4g#Tbg&d$P4Gh2vC7mCNTp95^b
zeHW^T@ugkk%tHi0!}=NqlA)NZ?tf2EiBK5DYAi@U%IL9KJ3GZ*16mCBb~vdH^Z=QX
zhj$-UHoJS5JNsY82v%x5E=1#0PlknB?8yi<7Tsm|lqOzN2UGugx(BvOxmeMt27Em@
z9UUCv;)k6YZKZ%L^ySr+Gi<&fW6QmXeS}dNPp1dwZGU*lo~eV(#y!Dr%1ws{;~C;)
z<8HxmE`U0*01W46hf^<8ifayHb{<}Wn>C`x;7-Q);1DMh7$jB`PNu^hWnqo+EGE9o
z<=^G<5X{Q5@>q5}i;0l%se$*o0>!>%T9r8#InPycU#GYzSf<yh`-RmZwNpCAB|~-I
zd7Zj%Xl9JDm*MJ{Jvt0<{8fggUzUfiC^L46*>iNsn)Ce7yz<ff*8`J>1@)zQ62d|F
zXiD?UQ}u$<J}gG`#qP0s?4Evy?%8kazK?DNOK>1H>K#=mUoc-f?s$tV(bquiY{F$=
zJCc{lRU?tSsuRikvlbMf`SRc4Jitkc+u698eR<4?ypSR9=@pXIMiK6^#k<AMvJ|sg
zD5?_`kE6s@4_%Sv(?Pt4ii5dB0*v`^oN<D#6z`vp4u^6RVJ>~zuyGhpaEx(`Yi9>1
zRtZ;ij~1_o$G@JRB7~L&AR8@?xII1d1waxksouxG&PPXwC$ERH4i9<98_+j;k}-DO
z0GE289kODh_LYPT>PZINCe@dy;>%*NsY~e?fg!h&m1EG<RbR})qtG1ML8@CMnF(DY
zs;TCx0M>%@qcOG{wmO*I$6Zw+_$}`CWsAIU`F__n?j7%eZ#hGpnKz?q`eEe;xK^=D
zfNsAxm93Fdy;w^NL{-EVd|YmmE1=mvQM=o|b<3jxre~XE-Ghw*O-va6VDe@<aR(~V
zgqIe{SIA^H*58eAHT?KBH6O&DKb-zLJ?u{XN?s=7D-e&?SHjg7wk>X#sTW&B|IjRO
z>dqeK?}(jks#>~@s|R*Kum_9D{AhMe2EVemd8I&4{q+86iS_Srm@Iw$Sv%9U`*>K7
zSNCD7I%BkJYUuQtn!-p3V}|tIJXGpqxCH-&87ndh+*DDioMzGlw*K29NZ6g2OSitG
zv%eQZsXjtM)F{dsy*QfA=O@yg!9o9>ct`yb=jhw-#flHFL5Za<<0CO{65Io91uzu{
zFA*N|(JMRHfAVzq`^Q)@=(3|T<CK7ig>}Mqn{cCsaI?+7)h66-6TYk=+-dW_Y7<~z
zsXMi`RfE_<FY968nff{b{j3viH6YN<y1<uh0y<ik_^Jj$2dJvRHn3SIwEf&}u({oK
za~tTaLA3qcZqT{ic5@r}tU%mo`+1{ACsv%g#(S)86^O&O#N=#V;bJidYsE&9uvI1O
zj~bZ!i`im6$S(Ag8NyXAbUPZW#Ksne4K~=^K-@KRZe3{k*dX`ZNhx=F3fv?dbbpSp
zRapzb4F*8GqaH1;+2ZWV3>w2-&*?rwc;K$Hd90z0?!_jI>D>!(MgF|FqoggeynS8(
zDobsH|56fY%A^}xYi>Nuz1Xn65l^8Hk{26#q!wyg(~Czh5Pa^>yDt)S{QaIuk6wkO
zmoL!S>mB}ZI_vZJAxk}e`Sj(BH4aJ&BMA*m5QX|pvKnUWx2PBsNHqP<AjlfA1Q?<E
zExLOFXv-op3*50$=Fv4MZ%6O90yf^f8&2O(;H+tJTA++9PH>N&@o{td@YqebI02;3
zHHRh_Z(No$D-$9F&~}9UA4Z4{jm7#Al@vTfDuX2gZ+iCQ(b))2#V7O8>uJutQ|C@!
zAK`>A<=)J7pTg(iT&DOI!p#ifDK72gLN%aU8PF~sK${<r4pS4ibIwDa)Wz1n%vsOp
zC$FK7r#g3X#uIGmX@(z~Py6|Ch(=?>|0<V#JcYVP`1G~(%-r|yU`Ck#Izv#LuBY6i
z4CLhpc+ean(92;S!Q-4MFM$O6Nltz~olBd>aa;Gp30!qgatEG3${Owd_`{#OpO(A7
zRjBJt?@~KRjcgV4{ebt=;l_d+s+qW31yQeXd<DZ^sz)xec7Hm4dkmM=l#vXN;3hbL
zCf@v+&i>@EznGW*#-irjUT*EJkF&bj>(@9++sCE}27jCj9n9uO&?WIKj%Lw#I&9{}
z&tYQxrDtYf;$uc}NZK8B^}OQ#2R9XBhh^hMEp!9IbVJjYd$zV|Y}aB}5YdQFa?Gjc
zv*%^<rW|Uu@3(MD`TlsRpPp_f)O1y1fAN3`z8+6sQ?<q(;w!uF08BH|JZ)R1RO`@U
zcw4UG=s5EKbmQjM*4^&W;S3zzjZX2D3{1}yB<9OA-A5r5HAWxamZ!8;-MxW%eYbmx
zGf)KGr+o}+{$hqZW;Bu+O%Qkr2So6z!EqPZc8$)<>7{W#s7ljy_s8dt)rjA<8{Qt1
zsd6J*XyjW`SP`^5c-g`EA&yT$(S5wnfkptspwsCHVNCJR3yPox+ko1DCR04KWdq7>
zG3sGyYrAR-n|fFzIWib7s<!I>egzo5C=w~RFT^MC0gmD18;t1hyv7YDq`#fqlAItV
z;L9nxcxPz;jbv-t4z0w1i86Ppfo$Ho+tn`_S7iLME_{=PL4Hw<w*;MFc;_b2{&rpI
z&fV_G2pcxpL??%%*->{iJvy0xkoyS<YpzoY8VfiX<+o}$U*7G$N1PfMo(ZgKQAcQ*
z5jJmt5m2yzC63m*9yH3F8=BOyNCEWKT?k1DtnSIP7q7nS{^ZW}iO+RBSIT3CJS44n
zQcK4E;***!(ve)Ty#zx(?O4N{9SW+G^fdZH@Ys_p`e|-rE5wG+yJd+2S)-G%p*RoX
zMSo34ShMfoLJUvmE9HG{IV#}bh8J}O!1is&3eZRY3XB2Jw8=kO%y&906`MRH#Siyu
z@@Rf53n#;Rt^rdy22g?ilHoM)0b9C>!W20ED;GvMVjwH6%LA-mj3Ahxl)@^%t6aMR
zF+V>&8z9`g;v?PKymOOb*kSn2pS=z`3owLoy!3SfCr`R<EZ!p4QmD20@mfON(GkKf
z!5V1x9k&?L<YV?h%LYajpC5*u*NDX<W(JCBIZ=Q@3xv4|fQa|RT`a7bQ(W@Gzi^ny
zHq2MNPCVTG^X{XcUhSrb9v?s3ed&IrRI#DwyVI0TB;h8E6+~;DAd=;<rATHhcwj-z
zgxk!#O~SKDZ4%8=O+|PMp|4W}g73D*rK6L@tW)Z(kVqTW5EZCPIft<#<lh}kdFu$W
zDJ@yw5B|UfI(ZBQutk}t<44qf6v8n<f0&Qn4LxeExHwewuNa5C$-}#Lp>G2(#i)#-
zLI9KA64f%yuA&qFxdxAqJU(#-S2S#FF6xl{O#|czqQ4tWn~)DHs*?r1af=q2a1J48
zSGU5gN^+R`j3AoRIefDa92VvECnAxU^Y*|WhD2>B#asDcG@+2x^x~`umtgRuBW%aE
zENXdqsH|zO9(2_+-Uy8|8xOGp;ZlRN`Oz$qL|p|AF>5`G_08F;B&0kxQ{^!skWqN@
z$H*K{5k<|I<+ad{9W|tjuVsL#6M^|ERLB@yiYL?rd^mcaGZtrNJ@k3mF7{@&xX%#N
z(WJpNx-zwC=qskana@}TM(1M0xQ>)881Q}g23lN|a0X4FN<fFfpYR13qCECJ9};(l
zvB5nA>{6JD&7=Vncl6;rJelA{_oD$@Wh1P?RXYF17Y!1g3KD|Mr26i?G)IzL8VrS3
zkR1oS5P+pGB@tCj3J^4`(BoW|-9u5&A~8icLI&niI!lR%IaiS<JS0T0PsF2nlBiX4
zmf`%h5ein-=8kO**p9lplisuT<0nQO&{JKhwRN^@t9=+3*@-`WH$rgi>rU!8=RQso
z5-I`)DtSbz#PJ5EPD2+_%o8BWLT1O`?2x8*D^tPP>0bPUv(XsW_u)~GsFx{`X}Z9U
zwwDvp3^4yWU-2!6M08L=d_v^mU;R)F@8LGl6f@HWL*r8^BG^p>!#HY`?-0O3(V&y4
zR3f@hKq1@kNOofEJ*;EkTAVeSg_~*_F$)`@2UAg#DV8`K?)Wk$-b@<cpwFE9Ql2`@
zK6yYn59*JY^*t%>Ol2Y60TeGZ7=m>)m_nz2PV~u%Qy%10p?bY=ff$vt9S@XE_$opb
zO^&=gvz4m}xTDQN=tZ{8Wa{Gbnv|n@kN@``PV?YPB95mcsXEoVf5OKU+fy}e{<3)!
z`@kG}-I);hd&-NGjOmXrmt-9sL?)sv(do0)HFJfR`UDO29x!uX|5)IFg|{+;-v^#4
z8$`bA@(+-x=C(Zry)>s`4nMob!j`&0=gg{V{LQ&!pFNhP)23lE#p#?+PvO~ZyjD3G
zYhGP0^n!2g8+g>gCI5qA6z;I_Xg+}7@&1E;*VoTbCpo?*$`y<o5zEBH<kjr}yP%B&
z=IJ~7<0v4eG*&1Ea)8$|>PN3&897#q<@61)7Ok{dO0YHA#u8vjU`v(JKRoDOFf?N<
z&ZPo3k>_+;BNta7@yMQx({LonA1iWgi#ZvRq<Gj%5E7>%HE>X;9;s<ybcs)+)c~R2
zM}%~?t5OlWpbwZRXgV5tRu$fn_HlZ?c!N^rHE&pJO4YS&bUQY4@KDG@douB*h`{Lt
zAE|dRm~;C8PvW}rH9Rs<LEm<C@SO<j{3&LoI&D2#>U4Of(c0vdmDFej8&(r_qHZyT
z(Ayb6BsW>?0XA-hsmwBEIEQp!=R(NWEop<(g%lu+fAPRDBs~QxNLW?k(ia~Qgiw}M
zE<drz0-}MXDC$+wQ<TfcT_HdCW}XT1kk88!<{uiU?r**lm8z7UC1`-VcdV@rVus-U
zt_wH3P}bx4pN39h!M73Zs)W7~1(MI@szimg70|Bq!Li9{OQLoL=6zU3FNu1=rHYlE
z?`_WR%&56a$e98kq#R_ntxiQwF)GG|Hz_uVGon*d44w|x{UvGP(iSKZ+w`)6G6gWD
zeawj^<qPsMNdl0~rJSTNp$*N81BZXu|4UY7ZKaff2M!pz{C3ZeHX)Qi4T97QXr-7^
zeRpLK44L<jzlxDoY4wY3Qjir@z>p##+QS$?l^V*bz(=sQ%)OX37p>uC7>+W@<ZY}M
z+gK8)PUFjcfH)fA5e}GUM~6pnR>7pgIfq_+m+K4zDbvFXIvGg#f6=<1-RJ3cE6$6v
z;5RP*70(7H;40ZWQCsr2`jmFUL6zdHTtH3683kiNyqBf9C|44@V2CjyqMMT-=Nt7h
zQC-@Ywsq8(^$UD}AggeOLb<3fNyY_z3i^{NF)%br-^@oHy1|u~JWcf-G>MS5xbJnq
zyFxgV;z<Ww(J*ses{{k01d2$V<-{12DP!6*x)VsjqSMhFcLD&)*ECz7aPGB$;x@l;
z01u{$^TORHRSas?*jC{3<ZB%4*{(q{6+LKs4P=yynCu)*^g^qz4^PHGyQ|SuH8r{V
zdK+&tv1_e7U_Sou)Pbmk75{U-I3%KEEtXnq{vmA`Wj?OwHYzSpBJ38J?WiQ6{E6|u
zJ_PZBC*P9-v62bN?x>x%PV0t${Wcj}SST&G7Ktp>h84^#e2>@Qxf%>~Hna%vG1Lgs
zCYjHI0R~lL$=%envt?*6wh*g4Nmba}u;VtPS^!Ylu2|Un|7dNw$KOSuwrDrDs)W{W
zp^)aWRS18YV34?_V}<>}gF4M@WWk`ePA={2^DV+y&rUrv3xy_^SW8O*<dpkLYFbx&
ztg=ZX6<lDH0W@5M%_mB6n+2TGgbjhA;97&W=e9ed?M)%Tok!CKIF3d#K-L0`$YM2F
zl(AYErOUXSOBL$>({K9*>WBV=Go+bB$|ZYH<gD*$r;+XHVv1B8{G&{6WG_f#)aL|~
z<;?9)lFCe%4NE<D45z}iC8`?N^HsoUnuHlD1DDC~Hv<1(WQoToQ0!=xG5${Ou~>t2
z`9-#f57V=a0b@u+qj*HzizU)mDEg_AMC6`UGPRr&s~;SzZRyaQlR!{){Np_zK6?2S
z?I7e=O8D#Z>er9euP5CX@MkEK`U~_a{}*x|mec@w7qvrq*8P`%_YMjg!RTLtoX2=@
z{2Tk2YXY%7Rbi;L<zx5dqv11>NIJ^RJ30&*B+NcEK}D9odArWqwKZD{qx7@DQUrQy
zoT1*}8_m*(zkBw>Zs7-<CPKSg=qYrHv@h|9S?U)SKu!<!>V`i!4SwJKzEn@0d>l&N
zOfBK4db#9oDY>N!!l^ZKpXOiw$8^qmOnE>!4&;CmntZsqzc+b@s?L74s%5drQmeh(
z#Q1l3OjZoF*Zp<pZq4Z7*SAh_lzJ3PJw|$FjK6XklwX`uoD`_@AF<ANRVnZiN<hq~
zvi~!d{m-iG_XXk)I9%mvbz(cY*c?IelPNUx0@FM}eik7=uOR=g>eq`>=jGj0`&F#{
zQz`MsT;fmp+n@8d|L3ktNz;FQXX<GA-vJ~@USRI!`hUsa{+hr2a+l^CThM5{;R;VF
ziaiGY(9&%yF@i-<h4ht=XA|WY>R@2ycaIddd|#CY=@k3MmpaXMJB=a<VJ_ok(-g-;
z6YMKL(^M02Wj9qzR#I#*VCKOg{E>NKs^XW%>9+5_lS+Rl(Zb2v!2t`K4Me`AE7rF!
zHxylZeDeByq59*)j!!|PY3Lm8rzz+t{1>UJ_yNucmor%!tuoc;KWC61igB+f#ZMDT
z^D!)XVTK2b2F+*b^e(A@L~lVh$fH+rlJc#6UnrXChsUqv1(Rr<K@8yLNOy=F-C+Ox
z=oDN(+3|1(SCo*P68HmGySRO-lDNUEQ`j}evhj0nS$OPd510j-{GFv>$I6#liK61^
zpeCccfsW_U4eCP_|K_aiwK1C+wix!x>#PW0WqL^uY(p$iRxJ$!5b#y|Q}2-|>fkka
zcb=L$#O*)GIb0;PHjpCt3*)lfisdTeNKVt~k7aB*YfAws<~xukm)>^3w7<HycOLlf
z8G(_5T{pl@hizk%TW4RTFs(Dm1cXZndiKHYnqH!{Fc&OE<}|GNDUglT{VX{*()h$h
z`Ii_-En7Nf<}u9Xdg~?^B2T%~%A4u?d~Qnu()l`fTwg>}1R1noJmD_={<#|*$&Rec
zs7<utS--8rK4h-4EJSmRf=*yw=(E*@67NzG-p;~ZO?|dwiNja|w@mf98B4s6C2(z6
zpF6Px%xKmT1-}?uk<gC`_82_#u^SIC(rn>`e6M>8r*B+^dxu9IaJWxNi86PG2xxLs
zGe5d59L%Qh-h^}L!Qwujt<>HEZnrw3iJA1Z>QA+s7E2ZE#kYJb<GR{_U)RaobIfE@
zABJN%8@x?kS9OUo0;;fEy;a<vTNk*vhR&%#Tr(5vkwl%4>53#ZKHAxIn!LxeU>#<`
z*kkg>{2~yy+Yfy1;GD()BIUnM4;irzwi+@|>=W4T;F!nY{NwAaoYpjr%F#gECxbx_
z#&aSO2jdF7MMqTZz~N+Ig0(Hr{wwXi8uoB%B}LTp{hvpUk~HQ}X5*tTBD__@!IJg*
zjlA(dELg*4|20LBdI~TzIPh8SG76%UoyA%#L0HO7@sxnYcxA7#O!*yU879rS(PHUX
zFpn17xQ8qU?WJzlo;s1Mb&!R~fXkfCK`f^lQ!nv4QOo$;%M}##s+|Orapsew5m#6E
z68CV5=A#bO^i60@sFZYrb<$2uWUK@y8d=5G|7E8I#?jwQX4;wisY=6?l=C>+MdjgS
ztlro`7TSUZQlcT@Nz-9R{~Eh(VL^HE>`%6=T%%Wlt26C*RyX32YEthLF2R!+k)p?1
zA2fcu*AFt_Nobluuq5d$iD+Wr$1<n#Q>=R1v%}@K^4Q)UJPf9YP=X_QLc+<lAc+tT
zNh%?uIrM$tV;~Fi+R^CsY_hd|V{LGI|Mu4HFK>T!`^Jr}8{60=nh{a8;U0^SA!^AT
zS8%91LqsU*h<%?uj^l)Hl<7bf1M{ibQ<!Bvq^M?_G|QfHO4@_J8T3MbD`yN`%S(sa
zlbw*kNtTJ*Z_aVDQ&8(ix)t8Bn1DLK5Mt8UP&jLuSm55qubZ;)3ZFNtOcvcPnJims
z@)5R>N$Qo%amgH28Pk%njax5yd~$2J1ka6-b_-?Uz6dc>$`KmUZotVu*WI_YlCVXm
zVs6eRhv)n7?AP2465ijH)3J%oA78^XZ=h|`s!!6Vzf+#^1M9voXBK^M?Sbo)Q)~dl
znY^aL8414#24cZssJ0fNFYF4=Q;+cvRx?~FAK@*TArBvNZ`Jh&-gkAKZw0QXMAs>>
zZXT)hNSm*1(+>y>vEy*b2VC+Ih~<&21lopfpe^u$FeK$UH??jLibx!ooZ{6LMb#;?
zQUmw9Jwo_c+B=xZRdywkpLV+2Z5Ei}TIZrOAvr8F(6=~DHDSGw9EMgkciq&EfLC>t
z6C_JdQ&a7d%GZ2**qqci77VTf|MwHWEtBT*#>U@pFAR@w;RBBYe)uJ2=Tu9u0=Vae
zu7R2OAprb$<qG}-q$^kcrq2exB`C~ABK|>&eaFuTgmC`$w{GL^mF~)27Ewb;EI?43
z%_)h=_Gy3s{NFaN+}*hH^#;E2!$vcZ@{Jwhe=O1V#DQG7%Ldg9JA`u9B)VtcJe8fo
zr|k*Qf`WfT&c+pf!H1(qC4TH1e;^gvD8>&j&~0zRbw(EpFjc8EJE~uCdS2lj7}Vwt
zNG_B~N^^6AGe>_vqGK_tpStC>(3M9}jh+#BBK9q=k1nn+j_^}qGIewc2~xL&eER0h
z(cDsNXiU~Ffk&$cv)AWyyS#?`ndfLq)2jw(juluDy#GFcY6SSft^*Z3JM6mLb%26s
z;;h*i3or1;BzidJzHl+ARAKyF5hyleg*|g76tK}D971urlBVLe?Q8Zgcei+llOMNb
zoI#(NPyca_@T(ut$32|e9E{En&yt@PPLrk-;aF_DHDVd)g1CH3rzi{lI5|BpATTD)
z&hhyS&x;{sg!O<5KDGO+gKB}qqKbWkFriuuXSv`dJG8U8xrGP(s0Kpy7-HYcj3KBu
z<hoPCk)}nC=+;0>URmar0z6|vbGc0{P};soZ&tiU`;Bx!`2t{gjy%wc<}1ApmMh>=
z>C}1N9UM-qNeoyTsqBReJEV1;a?Lc+3Ew@>r(|0|0P|cYRDXt?IJaHcopDnufqFIu
z`V7X|_#95xV{DrBjf;@{Q!`jwCX!c1j+nW;O*k<=JVFe_nfVaA>(S8yeP`p~8TkkO
z0lx~JVMHQr5NCLPQq|+lqF9fd)?bwkVOpM@;2IOmQ(Q6tFZAP@W2{QlII{^uOCUQ!
zUG@ka@!o^eYFI3TuA#~ErpbB?(0~oa)yV2bO*H|Hz7&nplZbfzWstughzSvit!vZh
z+qC7g%StUE{BU()yGq1f39egJq+%#Ra4AHjp6X>igW>5GoYj)%V?36uV6FPSV-`$I
z-;(VPVG72Mn+&|MN$KFOmgc=Gp+F9JgJY7Ln_u1D2Pz*}_Yjf6SQ9R7|4chs18)VO
zQ+%Tt@_<e!w_)8Oop~yqi)*WhgDfkSL)`V0%wh7Z1v-@Bi3TB>-%}G%$EZb{&<6h^
zhMr)X$hPt%jB6>@?UHQHrQ|0B$Ws}LEk5HTDD<aOhQFtW?^Z(_z*ObxzyZK~Xf;&%
z@3gHQSM|MIRZJ33k+X99Ud*~l%95cU&@YE3DLSxQUr&zz3CyFzX8rd*!`Xf4D)b2g
zTk~Kbbr9qYpTc6)YM~X;u?VX1DI{X~P+)CPqZ5t`>UK(z6@W@v!RrI$jFUiJ2*}H(
zI23h{Y+5Ba-GzX>Yzv51MRj=x2NiEdh_wv=_lp4SWIWYFBelSPSdo_ru>{WxV$CIQ
zuK)?9!e{c%;3E)*{i7=oyue4{^rJh#u>v23!`Zh?|IP&yb1z*0<058+lBM~n=@G;l
zE*S5_Iu4TyQF@s|NQ<=j;3J;;$y?mKF$s9hrYZsn4s(23)PyHo{`tU{cmx(ayVj;&
zwW!pX(Rfi=u;fJ80E^Yon;N?LGvkg8P$A3J5W8gDP3FEgL-n_(zd+wy7QunX;-h(%
z8b6r0F7!o+pOy-cODA|@h1V_?a7Q~qc<Tw=;lHqxUa~C_YOi&)I4HQ}Sw}{o<C>8e
z!<dU$O~6X^cJRx<V3b8j2}s_fqbUNQLVSHaXyTjZiC%x%>%N`6hEm9|sXDEN3GCqf
zSixiPO~-bwW2!?#EG21Kqu_^yHm@+324#(bBN^0E3F%UR2AW5g5J7|Y&ha)uPmwRJ
zh>pto@@a?p2nZT}P$URnE`KKK1u}Q&1`b@v>%Vy*TtGk43mS($Qsm!&4sH-W(h61R
zj}-Zrkm@n5YqnbYwTI9b@3heapCSnFDwfki0M5xY`rXXtoOBVhIRREO+b5vT3Gk`R
zMt6zd!*HKIn2W~y2|VeXy%Hrpxh`tu6S(PLLTrv^TPE{mo5xQcY4yUfLy|1oT*An*
z33v7B*}EzB*ihWecFHo5%|t`fM39ru2ApJ9li0Eiw<Mc$Il<Mr5$pxIkUz@Jjat3D
zQ3j_J%RnAeoLlxfidTRIfq^U}(#)FRWYYEzdVzhaI$Gv^2hBQc585%7=GctB!&8c8
zDH=TV!U`kt+ihAruz?Dv(1g`?=`+_)IByrdo`ClBoBEle*I*6Dv&;PI!+;-^2#GZ;
z8&T{nH$xA*oE=AE2A|7YK!8BslQrC^Ykf*@9{5HfRuc;3;)W=dyOov|rZv?rm?pmQ
zD`D!&j_|VjpR7+^t@Sl>W!hle!6V?Z`tcQT>?nR-LzF>J`U{fO1@_wX0+@2@ZOy|U
zACsl=k^TXVEk-Y0-8av{^@*f2FrdtuqUB)2jXe<TNsOO?7gK5lnnbOh8aGcFbu>NW
zW<T<VT)QQ>M*5a0VqZi<{$M!~oP*%IOX)o&&A`=9K6NF@D>wN_aU-`livV}7BZ4b0
zZcyBUlNqpPQ&xQ0?4pUfz>7S%>8q9cQ@Vqx&-Y`59ZPj>74$&-61M{u?PYTlp#x!>
z;1#RCgOGpdZr{3fg9{vPuDca$ypFY($EdynCFxM)D7CvA+k=|Jz+J8ne^E?&<Mp*h
zB1YM@456smI44BtKziz%GH%Drq7u<CUcb@@__Ab}%>jw;Pw3+V$(?;f^R!rqnaJc|
zg;25wMQOdk-OVsp_PR$v3ZuN?;;S4S5TJ~4-w@f%%urFi^nG6ffWzA7j4v=cBw`Ua
zZ;CjN6mqm!;k9Mlw?7|4*5Q#rPn5%h==&hGGEo1p!BH}9Jf6X$5;6de4?H6`BOJ#;
zndDar%GtSP^K=j;?7o3Sy0d@ZqT_qhG*OBLi^q-4QfX#mrE(qABAcBXyC)2$2o@ws
zvy^$li+@|Uhln_j(dv;mZ?RDRfxV{-2Gs$era(*P*cZop#u=qZz*J!|ylI9|C(>y$
z+szJ)gi7@muM&dsvBR!cF0NfK-(n$^!PARyg8RX1z>^QIWx)*38n>|*5lsHiNchC@
z4?aGAyOmatU#>E~8YV&Di`uuaN(z_MYgEgv2I{W<QR>ogyN?XFe$i&Ue(z{Bf9nG2
z>axtpv>H!eLn-J(*7|)2+>=9lv8oqgg$tl!tN`-$)xo{+7;suaq3QiP9UT_Cz|Vtr
z1b1`q(-W(?@?Vw;PvDNl^0;I}5zId!XghP4szB>dt<nciSt@yQ5MZ4g^vn~9O|mfQ
zCfmvWY%v+(Xy2K&9UPjfpz8Muz)StvKMDQWKl#*Zu(5=C`1Pq38HFU&<j+s7su#*a
zUH$&l$_mpGD(iQJjdYZVB@q7GXN>v!024j@bp0ELVW7?rm=joRVD!Q1#EkC~=rX9B
z&%HVfk_f<dFq>=)r1L;a3eX;C$zbdSTP^|f{Fp9Xc;ethS9)o&$yT0$t;ag=OM;-x
zY`!9)r6b$91RdQ|VBl=};@o5JFKA~Ocshmjy;fR)>o+F|)emAu$<GSXfExxl_cDk{
zcz2LT)p&g{557i4t;q5y^Zi=d8)5NW?%-wm%9!x$*3a>BmQFdbc4J+|i70)(OprGX
z64{0tUry}&i9)r;oQc=vh8;5=xzG>;*DLqvf<2OfBC!`kLt(HcA*Do}!K+2VNGNG~
z6)J5&f<l$Bzx>zWfFaH9y0ctjIVIQG$@T7OrM!=|#ZO~(`o`bSUgYKG{`dqclMcOx
zODn=4>!EpRxMUb~bDx%_d&VvIqXXS?2OT@=ohH#ki@);p7~RCdJQWGP&B5b#9_~MR
z^z892v{N9~H)YhV*irfct^Pzrc;FgC<Gmyd94$DUwwabQ96!jgO`c8m-`r0_=|z2H
z@2#JyPxM6v--F^y3RtE=Sy}I=YF$Zl!j!B?qTZ!kcz_2)5R+t!OiqM@tv|3S2Iq_Q
z)QJaI;p+m5P2Z1rEq{>l>4^Sfux=cZ#qkj5(pLxe-d!t8jipjmT$57YT{Ex^OFGs5
z_w+sXcRu5x^L<^;`aPY_^&!RkdQOKLEJ$b2f6`YphW~}}<(I5+xQ?ey={bb|!&31R
z)+SuG#%%d7EG^2kmFf*{N8#cUqiQSC>AnRxhEI>~TbqInWx`K}$9QK3fdAdt^V#!-
z-oI%E(e)$KM|}|^B&Z2PSr9cX7@HV>7`Fk(iBU+<T=AIU(*nN7>+&zB_}*1CMp=w$
zT)37dC9<B}jeAE5dCR=!PTol!{la8znzW_aYrQHjv>vIvcE~qgw>yK<a?u&IGLmOE
zJBJ>qEv+yAj!9b>-&!S>mgt16i)X6$m~3ng$?beyoI`tpo0QlP<FNISMDPznuYrMS
zra?pzN)SCmun$uh+`Xp<P`h|Z0CCa3#*G+K*f5_CDj4ezmE$&2rQAgew{NUT*^jK0
zd$@!Y18F*_>lthblXZT!nIPzbV+A4gq`%??O<!EmkIAZ$d7m$?=ngGc2R92!K2{O5
z$s_EQ7buWN!otEX1PFq?C(Q6YIV=FoG+E^*16UaHY2^-lG$6$k1rh=EX_B~<96MD!
z*^#LMDEN5_YL8l?;mf;lh(M&~HwNhie$K;hy!nBr3?M8m0=>Fv=0U09#()ci#ePC#
z6d#F`KZOls6DQ4C<+d=05+*RWz_l0qH+Q3h{vrm3`ijdObVph8WPu7h$Ag^;8)U-=
zVqja$OzIS&KI3=WwN*@a#yEjWVLI2CM(iM~!PxN8lV!W7Wx=KkeFn?=5{Vuj!MW*N
zuXXFbnUx<MFj^<AOd9s5QHVHq3q`+AiDUxDH-U>_nyble2(k>x)QDv31$uSZ!`&HC
z^uyC1hc6!fFnsy+fA1=WN{5PeWf#?iEK&+kbgi#Ikr(|1P*9wm=54?T<sQNGK(Pkc
zqhiXGD<Vyq5rFOv766AQ*il~44HQ>5@HaxaM=(85&<*6cNzVtaOE0DDerj?B`cPag
z;%{tGG3fod#zct=`i-Zr1qIb26uiF4ehc}Z00qU32sIQuOiCyk$R|KSal>H^MG@~2
zC!z(j3NH=?)#8Y7Q{m7kA)jF}CuIPh<?K#pxT)F0p{k=U>01P+kUZFO&nMkJZYS^%
zP!gpd7|_5E4CH*ah_zB6+on}3mkR>)K-;{|o_|+g)HM5IB78ob4u74^&+tSjk<G6`
z#lUWzciph{mG?31^1Od_Y$4K_!<&PscKYVSVgoOg!h=887O1O(qYtp0jBwM^EE)!I
zhEpzV>sxpeDLT9n2ADty0tIkWuD^D;iVm6VV-}eLh0UCRb`ahj!R_#f0Yn|{Cnk09
zj}Kow<$D3$WnMo<j{ZUsE*T6vjC5}CFF}sLMu*#>=(s&gfX+C5unIl4_g*ZEmwV`S
z2wY}hujePaD~mI{&93|~z(>&K7^|BDOiYx}k0W5LZK*^bf-poL|0eWkQe?bX*2j<m
zeP#@IV;nio@54);{m2ROL8I$Db1!2bO3}jaETuzAz7=t~`_=sT#j#iebA17HcXSk|
z9jE+)@7bDwt>IpR(Mj<4=Q!U{3wbyKT)VZSF6}N&T>zSZ0pLHXQ*!hYRXG6tgrk)4
zxIdqi9QK{L=zwIWP(E#z|Lk@D^BmK2gf-~s=z||ZnY`tZplg=_o-Osz=XGVkS_hx<
zffedKrs9zAv3XM}9vONL9`ZAR4U7QAUcP$x=s(3;bX>PJnc`|wu`3Lkq{&9neV}p~
zMESsDfxz1kxUitp$GZj*z+V!o0hA(!3#5(yR0{Z0Q64Q}Gr`>=+^v5b+%3Tc@8Zha
z7NZ4h!QS{D+g|C6=h*C~hN%FZPG-ZSquGhs`O-YNs_o|7AKAv+CGhdcdYtFk>)g!4
zdxGg?-}3yOapv7z$}9D5wR!LDQE$}SMx2HkroTGQyeA>g*J>8V0WqE%yJ$2Fy5Bn#
z%jg-0W%LZfGI~a!jK1z$M%#B&Xl1}O&s1sBpQJ}GSG}Um0tV?H=;H;8cx%i~&Xu{v
zyRLQS6{;mE6NmO0|E#$dGb1w~)6e=?6<{M4k(rJ|Ei+<L9pZUMYBOS!nRcS#U~e}a
z!U>D&sm(8&OrF13E;@wAEyGY|UW<P=yREOP%)i%}535X|kHPE(7+}9`GI7Y{wUPO#
z%5)2oveD+_DzjY2R)-?vU#X7sQ8RMS6?jLK4;Z_q=k=0DuCM6{f0&%j8C5#e;Q|RA
zlGBG1rq0FwG=GpAD9XBgG(CNg8%WAr4{f3X$PF}QuD`pUasyGB>p>7wZlEf2@82J#
zW;xtIR_0z014eG3D|637HgapidH|QyY#=PFj>Zs~{z271S>_($geQHF8%V2Mgp*1i
z<ObR@7ivKMY<75YHZw7Ep$Oy;aszdhyOT44j3~RAJAIEOz(2@s$O}J={6TI*-c8!~
z{e#?wyjV{22e}P-HxV8_eURIb7mH*5Ah#j!CVX7d2e}P-L$e%jATJS_>ftXkYw8xL
z$_&&+%`jHh48%p|d4P+|KwD<kLv2WV9{Rh9+g3Gc&#R%{Y)Bh2(Wjfu%ni*lw;^rv
z9VJ4L+mP0yKnYvOZAkn01wtbE2f2Z?81CbravlK($|CdGA9r7bnt`y$eEFw`xhiS~
zx+3$%vsbAi!PaCQhFoOUWPSD1qyJ1*ky(=!PmrWMf(>Nl?9krR^N}0qs+o0yU2Dm0
z2&+iHIrmmWSkn?MdlOf5YqHyA&Yas2R`){+<c6@@^5n^N8^T&Z>zvyVcAIxj3gkdo
zj(0mOBj|IWEOXC8HgW@LRX40p$PKh*?se?g(g(RUaj#<!oIc15#8uTy0`l>#Kwae)
znakXUypvH`Z;{)O_g$UakoU04#ogUXBp=tg4S5+3F15Vb-EPSHZiFj@{y}a--orY#
zA+H_YT4mI2$jf%q5{2A`yw~3q8X>nK@Abnfw;?av4Uil1!rGiafE>t68o}Nka~t|z
zqnXM-sN2wYCuQL;avS=ZA<v2+x1q0D8*^?$U*yV6$^6ak%Z9$lo$N3RALKUl4P9n#
zLtpkPl|XJoU-l~GHuPn?A-AFL_KrHFe*n3m?{=zaeQxLr$SIOF``pkMxw5hmG;$mI
z(m_m(T5dyMod$X~>IV9P_=oQ--ahk@*^u|$A@7t~UF0_8Jsekc8}g3px(#{XjSmi!
z=-*@*%WC?bpB90H+=je-$|-%2+mM$LDnf2UUULmjBf8U&m!2X?l>p?1yyo?g>o(-A
zjUzzjorc1&6Xtn{+=jyE$9nWi(2?6vc={ghS-vzNx1q3XZhRjPwUJv>7_laBU0Hd|
z3={_W5%3g2a_oc5hQJJmnm)*F2&@p7rEWuDGg&3bUo`~AA#4JSPJI;!j826-W;XPd
z88bKgRiH1bn(Z^U8pw;xHzx=ySZX%Zy>~g~5s6<l)IGnP_(HiYY3Y7mAh)EgAvdHw
zznlcOAUC8v-$-zk8%Rsh%}X8WgFXk^GB;G^h#KOCs?2SOi&Mt@L2g4_MHuq@&F*1C
z+|S|iKc>+WALKUl+n>G8TOQ;F`mxWr1Cc+-tqBNd`Gd?rK-7e}BY%(?=*P_MoX0K&
z@-g#9l^Ljq%yFgPJPgERW`(7P4ej)(uY*RT4ek5}u=0`H&`!RSrEWtzILOG~odr<0
zq20SmE<bE(_b$rxZyVZW4{AW(>b|Wf<~aC9BQp>dxXAvB>eIJ@IHaqbINh~#v-`HD
z&UhW}ApQZ|nmXfk^WtJYG6Qu8m$~MWbd|Y*JeHe$kd)if$6Z0#HtM$YaUUXYx1mq)
zV`1HfKH1^MAUE{EVxAn!Q1{Ui1-=f*cvK@<&VuX_KB(GEp7FZ*gL`g0dB*EFqxXDN
z4fGKjk?BS=WY**f;tSmNs3uR4Ud#;S0oWiknHi{q%-U_0`3-$OXKW=6m0bQP&<C}X
zmk9Hb*^nps3V3cH531s>ef~hAJPrgv?z<+po&twWZcUz$iB5Ho1APGb{3xpM-Q$`*
z=SRiz#kw_t_Vbp6!|fi|c-~JJg@lamagFG5)z9iSXfB$UWd}TS4)G|Ev9$PM%MsH!
zi-ptKVm5~B(s<5*1Vpdj7EBdt<d>)(2CkVK?vA9^>>srGq^6L{1ZgioPii`;Oc453
zrlyw4+zd@|d{1hcxf4(*#4-T~7;tvO%B5JQ9yX>|)nn^V5Y2#-4@U!>E!;GY1OmpN
zjTx~Fccfs`{E$wGQx({yH^V4Nz<flV%3zpVo6Rt*gK`#RnVJQ81nuXu4vA$BF6dr5
z3C#@?YID?4j!;u6mI;H#2&_z)0fG~Tnad1$R9|}6oPX4Zt}Mp3>S^d@czW%CSf<9r
zeEK?dHndd>O*>eQ#Rw<JPG(iaOh?6~4r_#ozEp!ZX%9<rd}EDz^81UIK^<qAAOe6p
zJD=R<p|*cmCddJl;qq><Vwr}4XQS80xP&?5UKUTLsXxt8Nb7uHWdgkko>x{rz*q7l
zu=*6vk{^bk3L@>D&mfY}$9PzRJ_dJ$GLGuVM6lxo8ZGi>(W($?%@Guz7U;}@s^yv^
z=(JFO2&d)<-n>DC;DAJy2^@hD_`z_^#RwCeMF7gkRRLl*31!1zpcXr_*S)|QGwxv{
z3J+sF;%4Y<GR1j3Ul~DVd(sNRA$hsv-lJ3TfCCNI9uO?ZGD{?@(3;&>94=}!%Dgis
z6~kPH!7JlXDc=~qwR~_k6XhFvNAWg2EG8`WZo3t4P$VF{6uQ!2u}n>7#<X27Q<Hge
z2((v)2xp1R``B;e*~y~2Y;V?NcHf|;KQ)=715xR7J-JOJ^S)C0us`+Wp4l@X_fPFF
z3bIUK7sH`^5fT(DQ?FpwpExkW3ClO&e7=N4mZ^nA>(!#R;-cW4sAMCe1|7YFZ&q<i
z0pPew^j4CSMRsGck#B`%qp#9B-ZDF1Oy`PFEJd6x)vQwcdlL%F)T{y}-&|R|5i3)(
z%4EbRALEB`YF0UWGp7?;_^?dPDw0saLCo5!*}x@BCF8dn8SiC0Xa<{PTeY$yU!G%Z
zPa%Rar;<+^3kH5c3{DC&y(E~+7`VVODn)=kHEVD++f49UaxJRSWL#U=;=A5LL8h?K
zVQ-<x7AQ11g*F?IuD(}GiJI#x6nMp&>njwPMTOoKbEvh-(FJZ%p<pvDg#x>jLXF65
zRuFm@*B`Xj2>m&nU+WLc1XS`?6=ijwr%zoGi_uG5{DKD)ZUMc!gnthC?U3K#pi2*j
z`TI-6rv}*cy*;@;6sp=n4HoRd?${0Xz7~3VemfQ+x8JC_UDqfB1B(rs!)L0B=0Kl-
z5l&!pjEsn?S2C8VIs9;Xz?nc-F`t1b6Az>TXZ*exZ>%+ziB!2lH*tAZr{1W~@o*Y&
z4twF$dxCepWde5t&ilCIRfFtLU~ZH_f8@Pg_b2eSm#O)UZ~{?L=6dnaa8N8$OTz2#
z%NE-Tu}r;az7J=ErA#d?--lDaQl{pg_kGi`Io`H14YS5mZsKrUj!{ZmHUGRn?2!*Q
zYyPn^O<VEYn{6HTv=vXkS*A}G-3szCmucIo`R9E&TFT?P75N9pK6Y@KA0zqx*`tTw
zzZ}X%RM#N}ODWyAKRtP}3)fD0N-wa9pS;BltwH_MBV~s~yFj6Y9s0D&=NYC&_{mx)
zLRs_X9(sg7FtGB5TSL^`B11bEcX+hiZRT#T%Dutd8>@0}GWX`H+*{1OwJP^Eb8oN8
z{gSy~uFAc`+&e3BF(K^=ue*n@M3Y6DOlSd`P_v-vQgU%kXhLp5Q<HmxbqkuB+?&iT
zXlinAF}I+p$-T|of~F?-OXe0dHMw_~ThPSZ6oLV|BA<hTM!#SPhIL@!^c>qfOM(Ik
zpJ!Yfa1`EghPPbtF5)TSf^bNPoE+1^<lV4mKHx65-827Qy`aGkC!o{!6WwIS^(KGw
zdXRcTTez+(;7Ph!raeX&KUlLFJC{-RVXZEga;>8bqjs%+2%{c&o?%x95ksk~j}?bP
zH{ppbm|6^OcZ5LrGhC4D&Spo`1v;<$dO%Qwf|0<zU3c637HYZ|ESKjc8YGKk@>myv
zHl0LV9-F@Vv{tdLTudAtXq(ttN!z)YSbJ5m8@ZTxd{wcVxtN%JRk2&Sn7DpbvD>+r
z*nd^AFLN=?gH^@u<YJl-eZ@|AbA~g5T%hX?_R}~s%>jjC3mF&kJ&1HKG0*pr&vi)}
z_jJH2Q5r9X^sKCT5BFv)y!7z2^f2>=E)6kXE}1#G20C6xV4ui}yo~cPpce1E<zdz$
zxXilV5>-XRO5Zhr#HpEkx8SoF^`z7p%Am}<EEE-`SSWKY3q?&S7Rr3fLZe`#iG?!P
zve0-%q0F-^G+9w7b1Vz(uPBuHm4&7&3T19(p@Zc@!n784_!mYiM53w{;M&dtQPcLJ
zTLCWbED+VCssLAb7Kl1hRe*~;3q%E}D!_G~1)_Fc72s0O0#UWD3UIY&fgXNIc(|kj
zJ-m|eU<G>kB;mmd^zeuk;1bS0^zerj;401nJ-lHBxRA3z4_{aTuH`Jy!xL73%Q*|I
z;s+BRSS6!BcEu2jp{6dL+KB}JI_-(o3}3y#iP!?Ff=;kI#u2D~*ejKAAkV?@F6X<$
zJ5VP4s=|<Ooyffi;xu0)ORvgFzP4Af(~^%E+_gpC-Wd48K{FB*w39Wu+(`cM9u}P4
z=h&6=9-sV%JWU#dJ=}t9N-6knrE^w~C%K}z$0x_r(1>o2cgZg)-DC8}{&@2Y&J9pK
zU_QmYJiKN%)ghN$2-02Bkc`kb%Yz)~yaR3GG?Ia-7;PPfa|6dqVi@NJ-d5tvGiohh
z!tQz78(8@!DX(VfsUOe+-J%1GC;{y2uLa=2VnE1#S8Fu7b<4xvE%%UZKeo%3FP{C7
zqEJ~!M`yW<i7>p}Y7g4^#n0uQB@S8Y8}CpiZb?CFx8U^oBV4-U^^&Om@dV*1aSx3Q
zcLcF=&v8@mjE@=F%}%+mj1U;B!VE_5(QJtam?`lZpIuywr*~)wmum4stP$35=jCqR
zz?OBryYl=IUjBBk|5zA-G@d_tfK8j+thY1#TioWO-qROe&m%xBW1b;#Q%I)gkDhjq
z@lYlPI6t49ozJI%A4nJYkDS52jtiQ&25VCUCQpAul+PtAvBq5WEB4(63JH&1k9Xkj
zfUEh{XRrGY7|O)l#<*l-h>U00>9f;kIPQCY=XUq)(`PSnvyo3A#rd-P<Kt&f5QYK&
z^vwy3`xzhZd*a4)zp&X%j*9tw$fTt+4C6-S4?_KOuYq_63>`*%S>HXr2zj7TC~&}D
z_Z)tu48wq`76xmbq`=+XZj7@U&c?}`jjudxG}h%zXTC{C8&6_SFgGGp4@3$Z|F)y+
zyXW2Whuw>(FCVQ$)eSGY`{e1$G8}~A|EJ@($0zR)Ck{keSsZ;JT_p#wR2!vBB-4bt
zy>1s02~n!`?z6D=z~;AUi<z|yP(T0<REU9uO-8Ij#16x|rs*I=B<AEytBA>mMtC92
zV3KT>&*56^W4i>AJCb_7@^4t16nKeC1c6sKTC3V%1Ap?A#OJH<xEr6JiqL|aI$xH+
zM-N{;`cC0K6f(-V=U{|Kc`PUt9@NAPHO7Uu%wAk<qUKSlVtOEO3oos9Km73Y*>Z32
z`qUKmDm+pTccW)N!bJ7stL`7?v*}_o9lk%ioE|VONsE~68-FgVXM>B&q*tM_unbE{
z%FGm+rKB>LBDV1*VbMMHro<ttGn&swA5Im9o#cfQ7_V9xN$P^!b?5h@u&Q0c1LoZB
zcQ(%$Q>5=x192HG#UYkfDGViaYlk8HmOgtNaEf^>676>n23%w*gJX{<nU|^?!mb)C
z$XMa=N|#F_MZJ<T1v&Yr(VSs2?<NYeBY3V2^Nb97c!(kji%<%nzA6_=e4I2D0!SH)
zx?Xip-MR|-w)^O(SG%U0^bQ}Ep=Zyr2S(6ta%r(ojp1^DC(MS7fb6fE*)xKO)Qb4e
zu(LcU;T`<6csM>kd^<!y>0_v&=ZgeFZ=DiV3|m39LPIY33bM>mNd1EDqL>^eNV39G
zirdqvw7~|D{J9FO?wOftN0n93g^a3+G<2Ob<B*cqZZM3+o0E4uVWeFwQLCV!LONC#
z95#3F;DK_i;j^5vUIkQ=9?o7|Ah!2Atv~p+r?$E)!z);fm3eEjl(}~WVNR6!<#Ogf
zuSo6_?7>pa>sJP8m5~qrosNG7v1i!3T!R^vi#1l*m}9enwg$cd81QlIXpd;J#}CyN
zdz3I-;DinCuzpw0Uh+oJ3EY&fpfG94Lk90&;_V~MD83MZxcOWRQSfMy)~}@+z!pD@
zHjJ5w)8)|z*?jg-5OriW!h56BGd)|1uHktedX^}@ioRGN5#FzZBLlRR_vB&Dx$r4b
zVF^wE6w*{LobsRhr>Gh#pf5PShW`{&?aWSrtkj!WEPn@IVcADNr7)=+hL9Nc<PDZf
z8wv(Mmc`;#5;;pWGfEPp>uWQED{C+?H5q8uP@&i>%v>9^$O_F*FqMu%`>9)S*?L=&
z(^$ylSj{kQZVh;0^)7Y#p-Qv+7W2?V4OA4%$f&_{<$MVW8&M1U%cwMO?<#iM2cT!<
z@zWd$@{O}TI2N!2u)sUF#>W0s(K!HY?zlQMAK)RegS`}3Xvz#|+qgny%i?;?)jcvf
zz{X=2e7S_N`K@_Ki3X2>K5Y&F1p;~Z19bbk*L|2S7<-UR`HeMW3jxNw7*FU@wlwP4
zvBhLD8;-G`f9u|74;r?vP_Q(9Y$hrO;H;s1fn=$36yXPD_0n7%2G|~)q8?!0{t8dD
z1vrLD7H}Ak(-G1dLm5XtVI)0Hc&#f8z?ykxLrrJpAhQdU1BKp2-)dM8w!qe#{r%E8
z^lE>f#pWYNF0x_1&+Yv5@>?|nl@deNy5k|NHU=hiDV`;Km!_4LJMG%xyu8*uc<=yw
z`s%|N+P0xEl$d1Bn#^h;wz@aBFdQre)J>K;M3K*>*8|nMm?7_5OOPySRlho5+@m##
zlRvN7dwAFQ>Q4C-6@VKUEwMvtm>mvgDU<ME(*5pduDpMNhH5YK;T8J=fSjM&V<nG!
zNeQS$S@ScLk>JzFWrk69wsL_wrspFn6-j08A359nkW>Yudd#2PVKQN@)ozRmD29iq
zkD!U4X{&c;PhGqBn`@v0dAosln&IF$cSYnh2(_JM8vi+*uTiIX19w>&8Rodm&QQ4W
zFeFT%Er2u+c=kA$rxaL8X&f|MN9YO2-?mP{EfSXoIpu|RIMi|XZ^aZeoG&|THnPX$
z4K5KI2lz2No*bUTbCekzWeV4Y5jqYaD<9gi<FoIud1E11MYs#oL*ZfkKJZkNAT`P*
zn1jkgc5r@N1|X_L=2`k)bCa>4reD|&atdgPB!~I(0Zm?nz+C4!t@L`GIRg1&L@CIz
zIoIx7sUjmWR3Xj0s8S2WPz|;6La9=E_c|_^zz117)xp&YM%qI3N?fkkhrj;>4tJ`F
zXCt`@N`Y*8THRBK-gorT^Jak%T*(W(V|=ccUs8*Ge-V`rwo_VaC>A9&Tq%SRxL2Hz
ziu=A)YX;U}@h%Du2B$DcrrA%;tcVR$BFi2@q93CLo&F$7>G^^;=VOqn2twq#9oxp0
zsf@ip?7z)ty)*|Y1=T6WcZp?F!E0NPPi|I04JsHQ_maY8Y0V-pey3uxiBPcxHKCb;
z63j+;fI*owZI!bcL+6As%_c^VZ~(BnNcYtej%swftbkB3n(7dmOkZ80)JDp7)hVa_
z>m{|U83k8P5LE@gpPzz*VbNKdDQPLPX=v+Ajh!rE(|TZJ#qJg^pV-~r?KVcoP-;eJ
zXLAOY@3u?}q*eXrP3VB#*X#wXY%d?d`S2g-xYhyhcWNQvWrPC4CUb=M>c{82<^cd1
z;uufwXaEu7jhg`33lXzo%4-K;`N_#4rpPx?bMSai>fmc!tO0w&A0~A0#`bRjCkPpy
zjzyN>ZT)U|<8&uF_K)B`ak#AC7!^Pkk{(-2#0Ne;qgRX+P^fkYL`(|3eDw0^aQDRv
znCRDaA>o*TjlYIpSuB{06o99N7A6?~NHlU2#a#z>R9LQHHNXoCI&dSd7@L*$8uw6h
z<~5!H3Z?#{h+k5MngR9V-3(W>ums@mG5t%VN!T6({<G4nHul+l1%5T?h$o0i4+Gpr
zhXZz%*`An2D056oOg&G3_qr?N1q=XRS)G)e{v!M86~>vanx_nW#Pf*vXN+U0qX{5|
zQetDU)A>dS=UUzq*9L8&W994JBYWON)%~TDjX^z?(5!aV8wq~V53hPrVo*IBq|FyR
zqYXjbjgbvM)!qSW>i*cE+EytOM15%zMiFfBxO1tviKkXv{TA5zq)f!0th5&Dmf$u)
z;zP*=FbuT`$NqP{1EtG?-!^A*CwGkXecc6;ZXoPTFtr`*Q`v&4ZNP7~+;8dtP*3~G
zkzeu?D<2M<5W!qw`Mdil{^l1Pw#_C@+8M*)H)&S+7s{*}05YJA^kmEzzv7xtPljKO
zXy9-wJUaV@nN804<mBuZ1R!maz2Vh;RgM<TH<!Ep&CUG-n&7}8z!5aoXHR~4{OXtQ
zb{{_8eK9}@|KM=FE}<vre)$oPri4=4Z7G<>+A=rVGS3k}E5Nwf=Kok_f7NEAi9%wt
zj$sZO84Gzj1hKy6NB_nUqB^H5|I5XlXg$S|v(T!Hxj_gM21qW?$ZAVeSdBo9-8k2O
zL=5snoaLE<50l1p+S#KSBt&6I8uab#A2u<KN-Rvh15lo{ApBh=0N%tyM-n~UDI!k2
zn|xUdx5~iFiH`hxHy01g&JioTFsq!MoMBBSr+B@#isnL9#jb!;>o%k>wNld}H&xXm
zj@zc3p;2x{dp4t%+A9;Ssuyn{X>f`{n^_=b0~@%2gM++7V1))s2x4MJCxkXBb=4Tn
z8s-g^VY;%_B@l(zLPOh~y;Di}oYmc<=RY~#mx-08eIAsASTEcg0j^<jQE0jX&7yf?
zh1H<pwN(1-1TXB;0~;dtmu1*Z1IDRnJqjUzPXNeS=6{&rusJ@#D`AMoW3|n@N0ZBR
zXg=gBX`c^IB_xbqfeJWDWX$9KiH3&Gx$<FggRo4sKGF&|Ch$UPWQB_lU1m8Oy~gU8
zd{>yH?@UHS>Cc=A{O@PoXNWDY=+G>H!w^Vp9QboDsBlHeorE&wv(H$V!X<57JA+D2
zIowgU-U-B2V$adhAl)JOh1G%DxgJNc9-0njq=8H(U4HuU)zk0UEw!&_IAt_GM!RN1
z;^+^ixLG&UoyIa)4fJzulnn3z?cEdO(=_tEP9}Xz6z`h#5B4wglW&zD*k>YBK76w*
zTs&LFRv@*BJ<q9mx9A)9a}w8n#V%a%P16pJBB>5;Wb><bb20Y3zQ37aoZQqkH#Qy4
z3NUzRMGG+1tb!mPCGoxwfrB0*#k$Qe+J)kh9xGVU1;$TuM$AcDguJ?a6WULSYh4U7
z*m^NK9iWo}DUiOtYcK@3?Q;%rB9wC8IZ(`@9d6aRP^B0{u+DGdf7-yN%PpGX*ruz7
zzY)f9TOa*`f8dR_N2R|Qbl8f=J_aZ&`{<Xf_{txxp>21FRX4^0ZylG>fInD+9=+Io
z_-Yp(YLB1ozPyiP`(-32aylIJN^nB&R>KK}%#|Je5#QkktWg^m_<i;`|E6SjWRmoP
z6^3)(PJ6O8k+?ejO|Lspa@bxCAnCZXHB9qs0>1=3<nl3y3D$p2=LnT<+j(9k7+7!s
zslj4OV%SH?fwiOIoFFgvj2l83=5DWRqc$>olEOnIn}p4%^JD5;a27L@6WN~!W8iw+
z!N-)vf^j}y;57hEr!0%v0~2sXz4f^OhWOKThR0MXMyYQ3$@dx^@eDf7OljaM+E-e7
z)HgF!mB<ZhxrjzBO1?o64fPMUiEE}1;_l(nokYBb%;TFOrKsuyQ)}I2PG*>ThMMUX
z@ZZhRz1MqD$;6Q?w9fUsn#^#p_zw?Z)?y&ZJ43l<yRn_-x-hp2t!Y01qz2bSLpk>W
z+MwCG4O)~%3`qY%vQEne`55-2E&kuQpSl)k#}j3&U|5iZSgja%kz30oP6fRdw4iRZ
zohznwk4v6aBR*&Qp`sdNwOKd1LH0R0Q{Ui|04FrOC-y7tS@1`<0t*yr*_~A|e_7^q
z)Zv7EW@U^6jH}s$P~v#h9TSu$2KWyv8ur;|b3NW{*2g?&@@l7aqYS4R-zXVe!=`_E
zxzrpI+Ll;8KM!3|0A0C>OHUkGJ->?3&085`c`<~UYE2n|p8@AS$hm@1Wg%X{rdn9Q
z^X6s=22BDZ2yS*R$X{b@b)!1Zz&e_wbr}k`Wg1=Fbp4bh3HBy&|5kZwvsDlVO0EQ0
z0jc3|$V+hPhV6Smb<Y&VQd6BVVP@Bm5j7GqSAe$b_RS60CIXNw?jYtaM4_p|5KL;+
zaVZ7Jrf^8%b2_ywf!4*hz2NlN-Mg2bfUieJl0a4eL7mn7;|58)J+)Z9BBYsDr3^6)
zyd{8_vQu{?;2^YJldf>#8}Y-@><H=};zYPSmpE=r0eQy?D-kQ0IA(WkCs1z}uSI7Y
zl);^8b(Zt!{f^7(EW=3t%riDyp+XZ6FRWLL?1GgCPZt|DkW-_j>J&X}{eZ)!OI{Bg
z2^v5eaR-~HS!dVT505N@Ts$i@neJb89n*i~`XCl*zO6H4pP*9E=FCliv<-<@eRCxv
z<>tKwkkRwG5KM-5)n&d=Nz}`iID>0|um?@2*u870lx6oVi%Kqeb;G_3_#rgS7eDRt
zRA>cOY_a3a6kp<oi=T_*+b|t3nfOSOBB2lm7YWUafI!VV?JM|FpB^A8n8y6v(Frj}
zq=%!-ua_iCa4XVSw<<8Uh_8Ya<RbS$uD506rY{A_^zGBx8xQ69_M-y46P2lK-``SS
zx%4ow`lP2TWK<qj^_<E>!okOAB+BR?JaA}k1g2e}EoY@0Z1x4*F<-#V`}r<xmVPpL
zLsB=9?qK#_axu}3j9<|!zX`j7T`(M<S)YLaKD@C-+k^tq+{|rL^#<N~e@AMb&Lh>S
zx_)mxm7CL8bk+BSiHj=kOpumfq%COwaA^l&zkD?zH|Nnefn=D6x6aPrf3dQJO|_o8
zA2?HiB+Tx;k8x;3CnFz8Y7+ZlEFtI)$863N$-G$@#JR+zdZfDdO1EDN#mP0CdM#h9
z;IdUrCLVJo+}5a;l&O)_4X7`OVu<&N5BbQft^+`rDJ>+W6wq=E6Hoey<0fEwI<%4y
z>?F_xUMrB4W@^v|Ih{UpyCY}A>sH1!24NviLv1*zIb=`~!p{=I0{j;oBip@zRbZvL
z1qt^x^_5yv2|FMlONZf8e2H6`N>v-w6;4jMyZlWRrpFLCI7N+30Km7HJ-8*4)5%ng
z*Gp--(;NUTa0{zxJnLMreS7SrMbl|02Xy$G&U0hhvOU$sg-5$szx~-jvxX0rGt6O-
z7Sx{1qtSc0hcCcdec2z(->@fZwBJ_&(h1DP6FZK&G>zkY+><sJBHvM_3n0GSl>0KK
zV3xXglMt|CPk%eKSR3#H@OVWMYO8WkV$&nj;;T*-DH!DLgj11JY9|a3W}S2sQj=oA
zFjus0cCd|MHbJpG!>y>R@MZY(pZ^RO+v)tx2zxo~1L0$R4o!+)SKaJD9>u&3KR^6{
zjl;mLPkz_|&pUhLPW`+FBkPDZKY!j>iI*V-Qz|69S8V!f&ofEk;mCAzRkf*>NR@L~
zmpv6jK<q)jzX_NiN2rk;z?`lLUIOImV5%(*n2tJ3zl65ti5_7zl$uZ`a6yyIf7u5C
z4b<r)&&EIp4P+~J%EWmnf>q#}T5B)?i{4Ou+0oNdY#F`d8xAz~@u$C5#s1<I4W_Wu
z`0A*|w_ZzzL)8#;MHoDSqYv|pA_(tE95)1D>P(oKC<$Men%l0&(bf$8hfnRcD?A+8
z4)Gn(rCzr^yBNbZBm-97Zv_&uL5(ppqlB|rZ<`S9gUoICaD<@ixJY-o+q!)NuRGY$
z3@0(pB;b+)i<}}~8apf~ALOy8dbOn7?1D)A9*TXgj5*$uMK>fYaVs)yf4EffkU-5<
zU{yuR-=%u{Ck#4+Lsq=8nEOQ+#HM3~hgRe*Co@c0e=1eT9)a#t4FW2KVz(n%Mvw76
zLTi{Hn#|>%+HYofaupx=^d#coxLq!XJ*8b4u)9o~IG@cf0x<IppFJ5qhQrq&ocH4j
z=!;iRUp;;H<M8R@0iuQF3V(d|{g9bMM3@@9#MbT6tHIV7F->Mu2-TzU9M656FcilK
zVsdc(Fl2~j==2HEJf9BmKvJo6jN4%YSWZhy9+$r<Srs?0k9?o-I@(R0!J|wDL_DIc
z{C$RTg@EbH5{Jn-;DT(@;ezbRhr{07*?w;_^v~4|GIM2f%v56utznGDD``4q#4nc+
zn+yu>3ZjK9>JyrhSPu3#VC3O)y1&6!0&(k=^Ukx=xzYYLS?II^qYk3v@??mA>ZN$#
zGkr<!P!!4*gDnQ3aB89}ShNM>8`|*kpa*gdc1qAr0-}g@>O~Q1IIr#%8TEi|a4BIE
zQVqT_TbC(6A6-NHz*XiWt<S07T+mY|(IDnOTids`d@=tG9k!+1Kwu-LVW%F8S8zCl
za}&u5-fZF{BHB<CF$O1Ky23+8l7&i}O}Lsefqo#WYKvN2^>pl<D)9c;h?lS^l0@<K
z4Y7l`<|-*q=Fl&2itQLnlFz}rX`hQ#1LRoB?<R0=*<Y?*rl}w-)h_uLLtytWg24QX
zAz=R5AXfAN`3RrUKZ@CY9zXH01OeOX6*ZI0@cK(NQ~pKu^VoY@PGaYx`g!Cl>T~2P
zx^G<Lk|R0d1maiu@Or?S+0O>zKKKk{r2{IK(BN>CAHg`kaxZt428!|YH55D^yFnWz
zBkpwf=!krLALm-;EAjs9zBbojWEnBcr<C)Kaot=ob`M$1=`z<Y+ATe_yB`=i<_S)t
za9i>uRE4n6?8cld@Tis{>h>MFVOwk&Gnjj-U3*V8dL<t{WlE>-2G|fPr6GzalvIMm
zm%dT-!lf!po#T@sR@(=d?~pOvtK|#to2DWg4GfGF0(1AVcqR(&0&_g^cshYq1t-6_
zFjKTK0xpbUP8DrKCI7z77)~bC!w<7JGk%QrD9W(R(A8Y-;No&^6})WLbKkzY_!p{#
zuej1b=P6A4sj8YA4#y^48}_p-P7NhWCe}j^UaKE=*K;KozkdkWFL`I9F{YKR);aaQ
zNlqtP(@;GvZTVm7T<OjIy1b^bD6RQ8?AN}HkuEQ*<)CHaH7wq6R>>}xc=QqnT#ui%
z=xl$lckmt1OuLGRjb+HC$4!k=Arvu|TEVO^zm}qX<7W#6tfSdL$_kbCF<ghkwkB3e
zCpv0K<f<lG9)qvYyWhUR{dpEPQdI;-f48pLkuNV*pWsS2ebTfgDs_0o&|5zR#jLuj
zE3Kh(Zd&>t(JnX#Or%Mumg8rWCvx_uC|IXyj{K3E<+st%f_epngwk!pr=B^VV=lNd
zY7*b{{0Bu4s8>=+dTGPc7e7qGX^CmQrHTual8|7;<t2)l48sbPip!9!r(7-(<fau?
zB!2I>Dv0Grl!BQXnlCFLN)(a;I@72qfKIRpG0|m;9i!_%`@04}BDO9L<a(I4HJ6v)
zz8eTd@$$1Ky4Nsq*V-v7k#J$j0{LcVpb`8i-#SMSjU&Y2DnopL-FvB$zXdToSk0wo
zw3Oef&QNl7IJpdggp1@At(J{R;<w5z(pq3NPjYScA}i!lxBFMzPZDA)+V~9;Z3To+
z6>q5iX%dd@@RMRC6k<pcKmgiybJYQA4<^$goG@x4IEvVU=#TP98-C~ifT$G*ax$8b
zT`hUdb3-$%=yz~^s3kEti*oku2ydQNOR{b8aAV@}vzNghXki1PNFu+Ty%#D1Z~^F7
z5mqX-Pk4inyMSK1p6jzqs~fa+yCd*Ci8n}K7#H#{=)p<jEs0y0#4FmlHt>h%%~Qbe
zQh;C9S?Shr4Z>g*1UcRWbQwKL>pkKbv(~&GvV^70GpO@_$g<aEt$0G*(a;<lk>PA{
z^40Czn|v^Ny7++DGI$nOl&5>fKkd{V+9n>fRUoxbH7BriWk=A&jHU$JWlVOU(tYDL
z2+UA~YsIy_$D5m5Yd8RbE8PGgV6^eU8bP2Kbr@^jp3v|(l%F+GEn8&4qMx;Zopr;Z
z;^rk!To*P!eEUK!>$*iG7ygFb%@+CpJI-Fs&C;zI;+)s6iN%6I;NCxu%3d`^N(G+R
z_(q6JHNxM%$~tMt^rEOKjfJWgG=Ful^29>tIa)sU&nL96(~`yM64ke=74M>Haz4td
z7tSs^)HfzJgIJHY0iv0Z2jy%T7YWT*lhjoQE7%^bO|w8swXAlV+I*E6k+Ey4mG`U6
zhEj5Q?%0l9&#Vy4?Dzmq<h&N@P<ReSNZIw@%%f}FJ+-=+%x9-(_uau@aXx0jY6t`X
z`!4;2Rn<JjY#hG(GoeUD21kZyi>`Y(?{W=(2|L!aE!tl*R0x&-VcrE_<MN$2yy^^r
zRQ1p$l>ca_zCtfP>4N|!Z{e-Yz@KZOCqM^JpMT@nwmG)#)H#gp-u2bkrjxjjP4#Y|
zUZ0(u)}mcT_fg~w!qa@gK9ORzOVr;0_3w69){I)_W50&qdFkY?LL4=DGe0#+%(W#k
zOkq15gF?d4Al5#*mi>r$;&^xO^mMWpo0kopKK*mz%|6bKg%9Z*0iREcHlqdFJs_e*
z0sK@zTtr6)uOs^xcfG$vBszdTa=h|@YQokOkP(1pdxQdJ4v}n1rKN96P-L6I6G#a?
zHaC~*F~RE|;2JSVddzue{Ws*u9nUA6ZQV5;;YrNd!q7z6r7_Zxl3`07GQ^S1MV|R%
z?ao5Ar>Rr6ikB)Zcu5wl)twPyk^|wHDvx)Pzmr`zfQO;v+$XS&jlZWC8oLjjtmT|!
zuKJ)|!&DWV!dk*WZ_gQxr0RJO7h;-O<R6)SxFS9J?!|Kr+$S7LnBZ?%^^+J4bpBWP
z%U2@VX(jcG5>V|2@`he(3ii-R8+DztBoHD!)%BnkO7XAm%K7(xVPwj5Imx4%uE!+Z
zGI5t)6a)oRb_Ndruq=jhGk#@9R*GUvOm#fy))$4#Z944HLXXSBN23P=^?b5}*me7}
z*N7KJ7s#xn?CHT8#wlbnE{^2wgdNE}C^iCPr|_@U#hQSa9A{T}C{ROy*Ak;%Y3RoM
z(h9gZ=DDEG<x$vsRlQh-q>5s&#s_pHjMw7D0U}~~9iN3egm7KfP3v@z5CY5Z=K&8!
zsvn!aUnZL~bWy>%vxsqwHYKtF%Bvdd?KJE`X#YzS4l4$3;!r6~Z<3->4V(Xnm1xk*
zV9H5p+S6)p1Big6@ZHUZw(V!$nM}X(yJaP1%!^U>6S2C%6kp-0#eEq0skXL&B(E@Q
z4@Puk#r|roThHB$qZN-x)nb=n_}sSKrqA2`24HcNZ(EFnxCuR-tC!waoF(154JmD>
zF^L6XDfxfdd)MwZjwMU<bK_T(sI#s}OQ87D!!L=HMD@|SvUEnW-F>g+I|~Fs5+f3z
z0Z<Q*=fBV1J0f3I1%Q-vZo8+AWs5*nW@Kb!WMpJyL?k1BtEs2c7#!W%wjS5JLaU0G
zauRZBPKaKvW5r&xGiUc{OlqXm<uZYasNLmO^>S^sjd|o3YonY37z49_SWOIP%lp)0
zN`RIEMHgGjs9$lUqp+YqV9uQZmsr3+eRQ@+b1K0zw@HC%SMYeq_ZSKD6eq<Tm2%_q
zW5M#^4<*Gt@~3MY7GlC{Ol%s2W6I!{sm^iTvo4WF@u)DJM)LS1m*<{EU7hd@NiwUd
zp_~dDrublLM++pEhAnLsY>3+wUDAP)R-ypky*uuA$_8mdWCjq6<Enbc@cvY{sOO<u
zQUjAB+tvuRX_gL$-q~qt<U;6Eih=Rd;pYT?$f&dTw<(K*J!ZxF82b!Xz<Qf)I_)S*
zD>q)TocTd6*%qUhYElcd7M8gcjI4f{0JpA&(wrF#B&Zj&`|wyVHUUa;w_!nQ+?XUr
z)<CO@tT@yIlL12TFrrQ=*dF;lTWd9zD~6^ZEpUb`1#<3lp1A|MySE~jZ=12Z&B0E7
z3Det1{|L)jo2T}54|_B3t}&7XH5<8(^`Z4S!$)MuN80?BdNU@0>0USN+6tTvaIpn8
zLADF$8rAS;_sX|{!h*Nl6~1kGf1L?#+FHJTGCVxQ25dfVTodKc-^9s?KA)zn>S|`Q
zvS>E<tplB3{koT!Vizl`4mTzIQaWzQ`P^(cc+W45_f6Ceadk=?5%nBLaS%COedj-L
zP4SGZ)ph?JBrKiN_2`=9aKuHGA)b79C4pedQ-EA)yKC^^6doK)99k#1_F2b+mQYpQ
zEm`z@_L2OyMzY^()M*tmnmWD#Z_z3IfU>j*j><Y5bj*`Fut{F%XwEP*jE$PcV|3R?
zOlOs98QNkjZ*DT1)pgU1`9d~}UAV?=-R6IM<P^g`wxq$rj-z6&->F%3<34q%_Rgwq
z-q(aObjky}OPJssS;|xHy}t?_k%0_qxb=(i?$i*p1J??s_usZ~n^Gx+x#e{9pEX*V
zb)cAxV9Kuoy)&Zej-x0AQAnf1u|OUN+T}4$>_MDdD5C5{=9Y-upj>ow%n-7`y@A0Q
z($6s;<u&t1uq8g5@Bn)~mznqt`^8rY9Za0E6|H0TJ`h2;u<>=~vPH|v^aArOf}V*t
zOh&dF>Kuf@*s3<xCn0|`E+S)6X`Ey@&$YhANa}e?b)pWhgJ=ue{5n9rcff$yoxEk_
z&REcLc-z`6GlQb5`XiBX7o>ux4Mz=G9I(43cOhK*@2{Uf*~7^jBPfPI0NhH|0qUX+
zqA<9?w4yoMiiwtoxV}oquxtfE8ES;karL2~U}{?{0v+`NC@Js8r`V4ou@{0BZuuUW
z@<&Pm+8@}pVb)k)(E=e6^25S7*;8kFXl{#h?7i*=_nq@~Bb|}cT>h}(VM-Ee%VD|*
z03*yZ05)Ql-%;<m&C1`4i?a6`HX?8;1e~qH4qG$0SAm^ugY7vjfeg$j479XdDmmrW
zHEOAa`;}sF%}@s$oyd!M@V(L;i_8j+q5aNNKWHH)OiM#?<@&4&t<Q<MZp4)65_6a}
zOM02hCCskC5zuX%Cp_uXM)lA+Z)nrkk|=>>uG5qEp6~DdjOcO7jR@&u3)2B~DLJA@
zu};>ODv;@R0!Y*fd9mwZMYV^58RUnPlw1!BMi)8B6gL*E8G-r1*pJ8OA6bShMw89q
z<W{BPedbqCjJWQNLk4RQWXQR8ao)F4L~?lAWN#K-_SKT7IPzgV&=Sw(@~rn3x<z<i
zv#rGE2b{*3EvIJOkHeW;fECXTWAAN8eB0u=0%$T&>NZt;4g3AFR4PF-t;)E=SxU1H
zBtsx2AIZLh97|xAhqmGV!;KSIpG;5kkpvIcM)M|8E?FEH88quAvjEx~a@b9u2CV`@
z6Oz@HfM6$0T)ha=3+Lk$U(CqF4X-UL;&n4*#6=}`6+Pt)2wl~9(L8>I?w5mFW9*!$
zm^U`#YkX_8sXc6CX6uCJvTPn@cWCv#N_PYz8$}S;X11L{SYy~fLyVlyKH5!|IGc)o
zpt{Qt1L6Gn29gb{(`IBzR-Gab<O#exJo7+SJJvFda0?518Wh803yPJ=tb|Ln7yxKO
z1?M0fbNmMktV(-j4)%B52jpl>MjG8(zyOALh9KAp<dYd#n*C-sQZphaiyzYp%F8f0
zsc@r(tbjJ7kgO1#?w;D5C1LJ}fwSc*-|!-0)F%{f71k;ec8h^)5#sw1X~cYk4DG01
zfcj#oK_-~+NzNC_#!fjkkJ+W>wNcI<Gsj?td#U@yhH!~+QLNlHXW)4MAlRzDYtBm4
z*7nd_>bI%6nt~7tX%C$ht0^M3mCoK%Pslr0?x<0)){nS6noyKn%fwZ!v~3-c8IfT<
zQ*Qq;dcM9o0A`xZ0OUozb`2)AZ%d~WtsMZ0L&BmF8^m2OMz>Rrm}~1bmb!gA0}&W+
zx4JE9opuzUKjg^K(H%>(r+I{%!l;`f1EoI&Bbh?tTMo&wxXrre@kdYheuVuKYcQ}6
zdRZ*QB)q1Y0sCfeYsi0<Z!fQPLf=b@gehWA(P&YNhpYJ>2T<DfIJJgn7f3t`(qZ#M
zBT}}(EvF-Bj)4d(ZYamySJQr><=97H-fJvjEw9`kA2-Rj8H@0gG3OFXzN2ml=?@|L
z9Oeujc8WP(pkBU!S(d2G>XBl@qgka}*YVhbrh+-z)y(__eAgW4!4kSagmmylDNI}-
zfvNQQ;%-rWI?;0FX1C}LCk&&|al2Y?bYljg4l^fj{(^de{DtgmC)iT*Rzp23XK&aR
zvPH^kO}A}9_KcK!!sU5c(NFHNmMNb6js2mkiiQNw^YVzpXDC%Z1bmbifgtdP<jqr4
zFoIbtA1CZKa{zAG()7eyxP+1%FLXPpfu`)3qXGxO2efXA@!<(ptDw;$I){^|OPH8?
z50Hw%b$VOi9U<DPeQ2Sxadde~8OKy3&xW&SE#@GY{d5hGtmWJYu(++@cA%5Yf+B-*
zeuT9hi+VW6mI@<9%!IgAcD*fXP7xOjn7#*js)QGQqyPYmt>?@G%-XOAEViB-8@9*;
zaRfoMyyLy^t)_H)VYk4y3#S%n>ZMLNTB^{E7?V_oRW{4v=nC5^MlEZM=`*6G)SkyV
zu5$<cB8M8uy#V(2>PN^(5pA~xFE_;kjVxrHhB<k@U|e9KMjSWIZ{$jCFrsZ39E&}e
zb8U8%RCVUyZ|qFRgR)<nm?yEyO-y5Li~3Lu)qRNL-_4hj{a&{#OzA|3nd55`P%%p*
zuAIXGKepVkJ;DAFe_}Xrf1F^)NM;vs_f5cZvG3dsQV&`vJp^+Y9ce>#YREu=(?6lc
z8%n}u0k9Qe7`nb1cDoux{OKlA@<+@gD+mP8S<k@ekj{jXSui?z|0R>`h(YMbDFGWy
zB(|+g9KXtQ8ip`c6Gg;4-{^s=`9{(y{0EbMatDwPw221iUlUw1G1+nomS*t``*so<
zY9>omeYXR?(tb?ak}y9g$)%uWC?G)zBD@4)NtX@EE<-7QQbKcScj4*A_w>EcBTt)Y
z<3af>0d3|+p$A{#<aMYEHTr`G@+H~I_LGe~zP7dN<fP{Kp*eNc2E%mAlFaIJjd_u-
z7r8$2F6+TAk;PdZ?w>*)fiOEXcO7-@dpExfG_KD<+f%yS+5{_b$&nCm+Cl5$RU)}c
zEL$ezvtp6eEfRc4Z_s&CKY1z4t2w>R3#ZOoUhBC|N9RFLCFsS>!&{fa3q-EyGgpc?
z7a^%w&Bs!pT9Aet)R31c%q7=ht;BzxbH&6k5`dq6u-Fbr1Cve`{cy>ASYie&Ek=o{
zv==LW5{fW`jA@RVc(vuZCJ@%FmREw_wkz_KU@cYtzh!k`Gd-f!*UBM%sWeqHuiFu@
zC)@HiRGz7}cCcS`==>RU6>M#CuA{xae4?{gCT$0C)M&88Y8!xM$TsVa53vJf*_fUL
z9f{i>idE>{0SRBrL!K}=z)eqvsGaw$fYH#iVD-L0{Ci6mT3^iVN!eknkFjf7Bs;bD
zyPk%^mid^7SQILY^4h5K2}y4sq<I=MS1V2jxLC$=*8h-6RZE}OX#DYn-W#_Rdl0UE
z6U}(_EU&qY!;GT{xM;VKs`bTOQq@FIlUDTti-^@aN~BpGNFZ9BW(MG&O*#?uy1Vgt
ztj`oo9yYrn!Jn~x<WlKHk{X&2H=S#OynvN2e&vZF@1!<0i?*Er6BZ%8Vtbra*=~h3
zrhpRPhlvFaOO^baiGc{seqyKZ_6S@?rlrRxA2^<Qg<(LVMk3uL7a!To&1Y*sH2{a^
z7U0|=9LoXIHcjjxsX$fP^kQ`yOtb3kjI#_1?x-uEv~vE`4j$vYF%&2iK@p!8I9%0F
z*FQifO9uI-x{eo>REt~or@Bt%`YZd9xodGe?PdV$Rx$ox!OW9GG8~la!=l^tAaKi9
z091JQn9Q(B@NADd7Mj#@!S@mj>y!5%Any-`xE(TGUOhbOPS4>6fkc)5_n{r>(-DO-
zZzmk*<6r_wRb_R>SL~VMR=}K!zyNsuzF9<@IJ`CY1G8%I_)|t9xfu{BQeL><0H7dY
zSgj%37N|;eCOV@&$-~nr)0=a$C>i#{^ZvubhX)V44^JOXaRE8v3Q|EKqg4pISUv|y
z^e66K`(bH15<*#B9V!rEErNGLxqB+7dBeC?_Tt{QZCy!o72a+syfd$G6#WKSDD%um
zkarSfE$izx^zJU~#%?UU!M7!FhJc#axb+*ZvD}Wbe^CN#@+`v&-J$CO43NXo+e#b%
zSZHG_7W&!>T_90jXh+)`1L1Fvv$q>Oi?B)HZz%<9zB9ophN01@kWl<z!bEDemTUwZ
zCurH$15%QuLzyIuPBWFm=2JZDk?1qL)R8dRV}YF{l+2=xv>z%N0EvgaO$k7wK~ctL
zOm?heEvDT`0G9U#-Mm?@7+-bjHFiy7%W0E}_?8D`5qebO+Em`m4h)S`vg3=}yR$YR
zp9(Q(LN%(ACNhma8g~`W<9A_2!0m9bT2WF_;{?+i!suZ&LF}R|xjrN{(>P4O6mB^_
znVRfy2mlNi4gIdtUe-LFb}w`6({09Rd2B8@G|4mx9an1!kd-E$XBR!o&oMsB*q!%i
zuC;sJ4V2M8MwI3(lpy2DYk${Lvc+{5`Uq&QxuR8<b$u72hc@-a0#MDe{znZdS!?`o
zAmQqAV+fWIb;B_Mhcg2uj?aE48-FV(D=w42S^4R`RCK~Sz{hOL*hXg=St~f4Fg`X`
z*MSA)ym@rMrpc=JWdoH_)jDHDanWzj?O&GG0BF^rcr-B-JY#}41P#e#?^+h_+%9Hw
zDYrt}`24|3LFjC8=}x8oSZ7?xbWYg98B{PeCSM3T92rR>PcQCLs%i<plPgGMtOb3M
zhzTP_P&p;Ux7nCQrJwwp&TE#n!_J%b6GC*M>HG({##rcv4)hYyF6kcwHI8+N_~m?B
zSh8?uvA`f>;F`V~=$b8WVeP_=E;RlnBVWe39o5s?Ckb)c-5N(vr*N(-&{FOI_%-aR
zuxz>qj_Ei-6OW?D<QA6KaD+$RwSlJTU5de0%lTd!2S0JD9rBriEzWEaf&?vbhL#rF
zZ^sAc-PzIXe3|vOk4+)MFzvj@X#;_V70`1BRUI#)ooniUQ4vOh6a*Ppo5FH$<*Tw9
zwx`y<fJ;Ni(M^gX&u+~~wAFq9qR6fRVqpv1URF3eJ2-)KI>lut_7`5s;pUSfE}X|m
z349jO&RZ^NBpwZBiey5>x5S0Tpo97EZrBIjTzuBK`zT8UDj7<>g-~J@FL`otJkY=?
z88;XnlMgLnALY9v{@B0|Q9;1*WOHYGE3_3DQtyh3P}J}SZ{f9#mATP`@r_4*<w&KG
zK?pyj0REE-W_Y!c$DMSfph)>`t;J)TJlMWbi;|Oc^C6Mr3rV3SVHKU8<DL>6w&T%~
z3s^+{C}$`E?6B8&8jDym)Ux~R&UwUdvqLwu=y!@>*H{)5ht7?qVmLj44C75}c~*bm
zonm71llXAo7~fiOA}-rJ2G;3;PGW&bI0fd8smk870*5)Ak!oLU=Un0&2#?ST{8MHp
z-PysZL|n^bo@b@U@<+m&St|`M|Jsv~9`E4Pj9v+ZHORE4>6vXdn<ja-Bm`Ps@eGVi
z+hSv%cm8s27M3P3Tj<CA7Fc?v4QsO+wi0%zY-hDCwWovAHUwcZ#>KwjJPJ7*=jC6o
z$lnzCHJ5^D-H(T)wT+7^avf=_7#GjL%v?xCOh}xC9~^SVq6p-9^3y*mGFo&QGKUw0
z-cm}XqV95-bbs!LqZ5H-jCTDAu}Yv@a4Bo4>YDph!7Q2<C>)hUOlgr{jn}-a#W1lJ
z@ZnK?On47960g_8>9Wnm`il12Mn=*xxKY`@+5tnu_A6qdBUlz_mTfQqj^x5Vgh_q6
zoMCdkU`IeJ=;N?|d0w}Wug$#hQon)3{ri<!Uk(P9rTNIFJ8<&M19CpHT*Kn^0>;-n
zb71JKJHj{^9wSN!L90j;li+1U0Xn^{43vE61tT1p0G(sVBW&^EEk{}7R%=|%361M$
zTmswZ(R76!gZHfvPU;(Uf)Ih!tbV7~tsuluQ=cqsN0#`q@%wpCaKzIPc!gli7?TSd
zZ%#~du#~}-MLovqA`nOTtE#jDYZXVtI0sZ&qHA!R@61??9`V|d*@+c}$EM{A?0T4d
zAK@%wILSNhn!st<0>ke&XkWR(t)M#L&iLPIKcpl>kOduT!u8La>Lr8Q=#>a|9>TzQ
zT&;YIEP)fOi&NY<#_@jk`Xw_&Xn!tG7;6UEiNNmhV@ToZFbX`d+c`X;aB~41Kpy{n
z@71qx@YOD-sKd&!Gr*s}-{AI8c}zxx4spG`6c+u%$%kHUvnGz(H0k&^{J$o3igXYy
zSezQD++uLXKgM0wsEKbe9eQ|`JU0wJv5B9oO03)bLTPk*1R+BwdaMulel2gUStC9X
ztx#|8#S;_VY<gj<s)1&{UWDWgb(LeXX6Xg`JpO<cBYaw#$m@vaZZ3j-FMdFLh(PFj
z{X{m>I<Y;%)O!<zWW)iccvNbJKm4Y4=Glsq#J;+|LlpCOHaUbjg0>RG!12%E-X`-3
zB#zc_3_(kFdBZ+c57TJP;=-zDpbJ`lR`qu~Nvm_Mjmal46`-Xe&Z(#PGNNd{VMyJ!
zLw=KHhk`dMW-(<3xA-I_b3?P3Xy5m7tv0MnTBjpj=X^;xOT&GlGeb(>9~kyBIJ^c)
zjU7m)Ynm=fa7A5XPZXr41Lj=v$?HCY_h1z3`5N)e+#l+oQr(Qn>vQpDKF;JX(*+}D
z2?)oUL5jvhSysn-yYcs`74>|M&zf=|maKnCtv0#*rgB0GmyYE*t=FFWdo?mXw8v*7
z+zf{7o?@cg*@B93Ow6ZY)B<4B$@E%U#}bY$6Dug_)OUQ1ijT@cPhj9M>S{d&SboOS
z>`+lF>T_spg8@js^m9UBL!CaU7CFL%5*vDOsY#G(YYs@oBq0C`QoTtvw3}DSItME!
zY6YL8gde}<RV4hdO)j)9xSi%5hCB+Nyy~-RlW8pbyA@^)r#TEI5-bXB;{&SaMQgTr
z2Vm`gQxj1KKyKG+i|Y;kct}@E-Ij`l=8!mUzPO_b@(JQD(_E6|t4Y0tp2qemTaqj4
zwU%+s3!CIOhI2+Qd!Gsm4`_^73FFstE~J{N7Rj44wW^BuV%@y3$ptNQ30m`86ip__
zIy9_jN)A^b^Ky}Wt;3!@tM1_}jp{+SeQ}y17pj{+IP-MLmzie}hvtzk77dk_B3s@+
zNum|Pj8sYapD<>NM3^LAA{x{J$<aSVHM&&CMF5Tnu0`>iuUR^KXp(gPlhl-n98JZi
z9kcvjQiK=1t@af|o0k6;Cbf9hR85qA`SboO4((+>33I9OYatl`qjPIBs2yYifO$m+
zehLczg4Nc}!P=_k6=QHO+)_@Ng=6j~)r!Ies*pt@FjvBIq~}4fwZFaw>O3mP#^+Vi
zFwNqx9&@;CM;265a1@TM(ILrV6UN$032AH6`J>U2wOSir4f5W<?mc^9!Rk)oG;EQA
zoS}0ll1NZ)?Wp`LB>>R+EE=eOX!p`&P%WcWo;}+rA)+M9CL}QS3ANJ*o0!s|xn=Jg
zb!-3f6jX=NQGD;#w%$|_v#<-imgS~^vuX#;ZlP+ddo=7lV*E9#;%d#&0I5!xs+oY0
z+E(hkiC0f?CvlWk1+<w?t24XNHM1KPChp9vW_~@Go_2*A3>OyRV@#q9bb)(aV-8!T
zU<-%bEUXtHoWMh|WL2+izY0?z>YHVZ7f1&!9A6```8@TLziM_?9J_5MaUG<!^+UXl
zZh*QC(;04%Jq4NDR*iaD>y(p*vMdlP9{BkTk!;4iPD_0&uY`p<uE&xWb}kxLhT0r&
z>o$7D(@S(B7)v~>svRcSaY3%i>w@jM*5y1Zw@GBqa5HS@nhd&^yb&YAx0p-Y?be|N
zg^%6#txbm**ykPRDAwv|Cr!Mdz}4L1jtxX+D*)^aM7-e}h64*!Li`Y1hA#U_p#EqB
zg`ptQb@O^Fbbty*Ury;dJImfse+aEFt5$!z+uDvjjH4DCZE+r*TR&@b@#)pU#VJlD
z@{_9~7*i({CWXF51faQWCiA>qXN^Nu9PpEeb(^$3>>s?hLm$LITntZ<hVtOO5A0xy
zyP$Bk6+)u5x5I`DF*P(Io?hU7NTz*8x?$&{wa%UDe29o($gBW3u*nsn!4Bq_RU1cU
zr3Dp@O+FnI_p!(a#LuNcWtb?p#}%q)Rq5ThyydKdyehAOvUOCmGV;!>ms#uVZ0~H{
z*}iipjlro3r7lBxlhq|H;QeXjgWjlj`tf%-{!VjFfRMmB@bD1V)frPDSuN(|6r5mg
z70?kd>H$pn;yy-q0!mVGJMpc^g4_{QoJ{+r=~7S)$5b@AnX-ss0$O;3aH9@>ujw@r
zU4!x2*|ak66XI{_WW@;apR%6sTeNh9MI#pFm^hk+f;6wR_^l`z@!shB83YZjoaQ`k
zhi#h%5a_Xp!JLfygG1a0jyCmve8E(whm5>NX&f%-$Hnv@8o#yOUI?p{q*xWoqx15Y
ziyApV63ZZHTpXeK&h|a5py&9r$v=MUdAwqKGV4tr%*JmK)>S?m(KDg`3@Tdf5ld~f
zJlkw}w$<`%yXDzV%d<Nz&+fK7yT@mbaYkhKsH=M|Jvlh-Ww(g46z=66%_cZqG-q4S
zLS}Ccs@u&X=5*g#RKiZMf{TGl(n%efoJn{+(K%!B#BO>k9?>-iL%78ubicdb24@#t
zLICqY0<3l50K%VsGmLS7*<k7F55-N*2@=ve4@VatZs`e8!Xi!@@TID_Iz<jg<~QW8
zf@YU^D$5-uVRZ_hRtK;CwSc!Yh7lf+RfFvO7i(LTEZP<&F9SakB6h?EK~kgMM|;)Q
zP`#JhiY2<)WIpW1p~H}F+mHh0U{VaHQ0gBTofO-EC;$$Unnz-l)6;I>&OSNw^@`Sh
zO=j=}HkEP%2XEM;Kd`rfU+%JTMk)5%e4{Y3zMb?I&d2Y8C%w!mXg^dR$$L?S{e`=^
zSi}jRkovWH{_My7S9{M5Tko8SpX&4)t`p2VjVr7nT=;ym_8ek}kBh<*M6FM8iPE)B
zqHnVrZWP*;_8l>2-#Dk}z2Q_(?;^GR<ajcW_nTEINl}!zGC92EK&DS4$D)pdGS+cX
zQkg=#{qqa<{v0PIv<pnOn*$sRUb#m&MJ@&{>r(B-ydlO|wG6z5xPTnlp+-bL-(JQL
zD3H^Ild6yFi9RBS5vA<~?ofw;SH1==d4~sQx2PJVat+!P=-G@!SLU&N4eil9dMxO9
zHu8~Wf4e|BP+TGxmkfV!No?y_g$Y`J?${O>Y*aXZgNl02h$)vQ@Gi!(djyA>U7+M&
zWpt9c2*gz#u5F|+H=5n^{?IF366u{9YXzk1q<5rE757UP%c_xi*av20(?`cm#ptq}
z7**wPO5_3GjY1kdZ*Z;I*2XeM-2tOYL+A3$Z9~Axd=K=f(dZp=cPZ7=IM98<#;GwH
zVHDm^hO@!dhv81yzijFk7zR!cXe4fEA&_SB7ak1jy;(j>lsT*#l7L$aMi`OBiw&tC
zh767iuYTNnU5TR3{@8L%V47R!9Z+c<E{Ds9=Ab@l!hFFp?@MMHSVX%hsME|$R00B&
z_92&GYe2cysQ!Kd5<bI9B<7&;egPT{I88J_)KY+Cv~U4XM}u>PbGOl@(*>wBU>Pbf
zt;JQ*m?r)FwsRxtMAR=&dZ#ly6WbRWf|O5b6PcREWkpK+yuBVgqLl<_HbmO>ph9{C
z8YD2BR_s7X?Mac;@r*Ukgxr>xBB_?CAo6a5I++5yeQ!sbNn99}Z6-(6(`Wn7pH%M-
zA4vbl7A!uX0YBSny^}=>^8eisX~_{>BFoo1If=bHgwA@=pV@ZC;u`u0*CwkTVw)ge
zmbgO+I}<yxwR2!-pYR5C#s*8sK6Xm7FdP7f8MIGr>);dzyD*J&vg36J@k`^bXoESu
z8#)35J7l+h>Kp=7TN?t*+lvtr)1HqfGuWW5D;Nc+@JC4gg)?+aUd)}Mrlv5R8-O^7
zx_u-P!uNSL8T@vE7<8%ZSP^*RCmvz};r*E4V|fTbbN8rp{#C{%C4ffvB_{0jOcLMo
zf__^m78v7%onf&n?Cc<d7ti567(DVpxwEqi-q{Cxj}N%KAN{+AQE@jolVKu8P!*;|
zs{1|=7}G2VU2cphO%@q9?ev`nN5c=Wf6fkYw(=XXg%Ucwy^Bk-P!*YKENB1?<1PaZ
z67EO_$q*6ovCb5*p!N_s5^&<S)i^`rhPZIB59~5ZMlw4{a6C7b#wbIO#+MAUokQU}
z93kT%Hp)j9E3$qx?c9OGfVSr6<MRtK+`Hj8?##h2|FGwD_`LnjT0oB8*~$12Bm}ph
z)Bd>VbmIB`2~5D22~;Owys@ogk&+y;C?)s<5a}~F8zQ&>N)q^mQ>U?~=NVB@99T_v
z7WKh;z|wq9SE`eDVCpk?s75wLjTNx`xNEP_dnji{kwa4}#6xhndi2Ascim}!I&7=`
zjxQEhKE>r;qt?10-2AHCUEe}T==r2OdN=8v)gef{=}jvPPEYZ{`2cBUJWg4YwqT56
zpgVVLLfz?!4SwG9o0q7o%A-w@0MSMX59G-}x7KM7;jYJLJ!IKG>=c!GnH64_4-Mkk
za2x@`kUAQV!1fKOWle!Y#qz1(<<RIA{OtBiOJ!J=B?QzD#wm92-~xstOTv>sc52Ok
zGeypdspXNQQyR}iX4T`Dy4~r=ijW<|yFtHbFg@n!2IP)9zzQU@tJ9F1uEQ0BK)IBP
zlZFe*^L0^SVR0`E>9U2%0=Seje*D4*{EB!vdWB3M9BNvAcOB*h-ivVEu0XhMX<~^n
zk>3JoGyL#t1SfAUalWB=iaR9X+D05>9Z)B$!(VIFqflY9rNR*}xf88GGb@k0ewHu7
zvTy|WKwwJ+Y3?R2D2;y;sUKCIXTn@wpe!4hn+1wpn8~vy&4WDR&pz92GZxnU6d(1{
z?llRx9A4n|gM_!jKzQ2=g(Fj750yperetM+t%e2FjX<{dgrcA*^N#$ow1h$;hlbw4
zh(5+rp4#FS@oDP$H%XPGc|@!O7?28)Z&wAAhC0B3UOBs%=5Xvuh7!+PYUniKgouM2
zQmtb=*2&>uzY(yITDDtdMA4HB3AuLXwMAuTs|cnCXX*ls_We0^AJ0ePgi1+KTUuIP
zd%syb_5pXNcbkLDr-2Sz^~TYM#=x>db8we|NdwXVC_Qp=aXu@$7N3H~+fSO^3M9qR
ze)kv(T3K69A&y9!?G~cM+7RzhUy7C~^6|{acKhl4w)?&F-T|UoW-u~6%$Z~359Dr@
zhzjhBeUym?OMMjD2LvsctjzC0EJ<YZ0WHsA+ikNKT>12IAqE2wt33~rKtq^XT3d>U
zP|vsLCaSwyn;>Lwnw}kQgNba!S`A?Y`9Y1!p=LyZ_O#8b94y~n-l}2CTDXiO)9gy&
z1*aX}#wm52W%C&ZN|@k8>!!EJ{Rg;PmRY}plL}`xP}&WdHS-WoQ&N32kC=eN_A0iz
zu%pz+!=%S7f#k<i8z$w(klg>Qo=YQb>zKS3zPAk+&pQoMrP5`rmA$ZC(1yJWOf~ob
z#b^qSOd{ME5|c2DfI7xoP(q~-&EgyP<`;L#5C5rVJ+={X2=Gm0;6|XSbU;6Ez&6!Z
zJ<9O<_(J;JgHj<EN-q0p8z0sk%XZ23&X8^&2Q_Y`z9jS=CMUiG)GH#*)R31$dT@3X
zjA44(YQ-3~q(EluQ?5V*K-^pg@oM1iEd@83jIT6K#Bpb18Q4t4k}ET2DpaI9rqWM4
z%3Y947D|e0)%`7%m<|utN?F75VZqEUnd|U*SON7Mi7my&)2KuZC%<)Z<Xo=Sd<X}6
zG_ze_XfstKRK3PEfyKj`&{i!CJk&_+hlXdg<v~YHm6W8dWomI9e)^Of5lk)anM2yF
z%vK7^U|_5Oe>amVrk&T-CMgZY0>!%1{^;;ZxNU5>9!%WsC(U}%d<_j<3dyMS*LD>G
za&a)e0=C38!xnNjZUmO1i<T~hZmvPqsY_I$fsHFt8Jq3lS;hc{K}kf?w1MS(PVuxR
zm*$kbLp8jhfwV9T`LoeMA<j4Tk<yFWsF|zMR$8tp0jf<-v^mVrPPK}ajO(!#2Wcft
zpdLU(_%ep)E<7@60AXQKXKc{7bPy`;)!l*Sr43sWAFSXPa&~MPw0l0aFUz-NJ-8rf
z4=GG2x_Hfba2F>)DU37+Kw8>W45-h7XV}y?3v#DlFNpw{X31K)APs1Kqdg-N28gx=
z9+W#<Ad-j<H1iK{$2slemN(RMGf7DcIdA4QV3%R+ICi8A6z5k^3_0CvM8_DrLu07?
zMl<B%9HDe@1xoc0=%kOY`lgbHO8Dz2B5^8nb3n1T5OqSZkr(!P^RnuYjq(pt2*71S
zxA*`Qy%DpHT8*+eXO^9cq2&YK+Z`x<Fc}`g!b^g4D9vb}6g#83jlK`6b?`cZKac4#
z9zLG&fn9-D@dPI&)z3PhX4@*v<Cx7K9#y)(vN!n{Rr&-Ti&D$Ss9oZpW^+r0>=7<5
zirqp^D#UeF<I(9y4VqoU34UfGTM<1N^uWBfdina5)8DXphAcq{y&>@G`H)!%Ryij4
zi(UeZ$15qMG2c{R^4C7K-eF@p7Iro=a|i0w8cl*&9Z00a^qV_UvX#bR@)O$HFn!+W
zASMnUBA}U4>vH^w(ZMC8q}q5ifJG0-No1F|gTcAodP-@d(UFGLq~>nLHrST8gH*Hw
z-lRC543CF!@3qtSPEf>~5X$kGHyE!5$E_m)4O_=t?K8&YB{4*BN`1mW7|;PjWBq9}
z2H;EVGrBfsyiu@j%!2w``#?sW4B**5JgV;QP*VBH98TZ})MCwQb&8)bc0WZ`j$5p&
zGmPZ9QIzM8H`O2cs3Y%~MqMkh66&_kAyzAT8fVWVo@@QYdv>?Cx`IU!srju@Y2rdy
z#ycqGbDGOd3sVO4wk!sqY1i^$3Fw)$9vDz<rW*ukdGH3OzRbqsmYtRo*`qf(`NE_r
zyIjo3T%v*c8rdMyK%hk;t<FMUM5JLNEs|(|s+rVC0+WqH{?(<M^(zXv8PWr$HSj<0
ztgP=b6B`7!k1KYZm13)MTGBw46K&pi&4z-7=at0s*4fZbYHTMdpBF75(qqyRvV{NV
zEg|#Q^Mz`cX~^v>h<bXNMP%pyo~L#J{G2t!r9vD;sg0tcc0Gka-mQ;Cwuo$R<qN@;
z77>%P<sz~`Ad>G|REHo1MahDLObD_XTz;s|6&fM;1V6x7FQ&Ed^KE9RD0&`=H=pU#
zQnY#3mZB^1eB7OqO{3MKPVgGf-!FAqb=_*WXtb<b5Ws4e{nyABU9aiLj!{DaD`!uW
zcOnG^;FD(0f|cXXHGRJL%CXsUbX8-Gf8JCq=2F?}oT(@#YEGivP?^<g`g_Sf&AP@u
z^JibS<b2ZfD`ri=v*mBG<oNWPD=m$3^EWMJr@#E1;hrUTg)oms3d%NnK->!EFMa2u
zU1#>(*Rr<Fl4j}UT2;|`&DzTvvS`<yf7^Mo{}gFTjxI)hc~!%C?EujR7rdx1tE9(;
zeTinZtN=|SMyHn1=A$>&>%r`&b9&lTl<~;?cZ~Z!2e=YYV4@!n4@KQZL*uX6rV5~x
zzkP;TA`6XNe<*uVmZPM@MnO!*L0PgA)Y=O}E<#M!C9|oSjSB{+^Vx}LT%fY#2TV^h
z*pGr!sLlb7u#S3<uXVuG+O;i#6JLXhuq;n-a~ExCkKnEH!YF`57l1n&zjuoY|Hvbf
z^oG^f$zv9(jIK*t=eXg7?+_*^U{SP4Qo)N;?l^`;ni(=ZqMc>kdsF=b266-50zPc@
z2`S=Uu7Qy@%`dh*`hM~ZTvHm0I0}BC)~ws|<V}dXfob>lvzO+IiuiuIqNeHR$18Ao
zZ_KG2rr~DuiiAY6CZ{s`T0nCi*GPq_LOXs=2D5R3H(s{z26`RnSf4MgGX<F&3ma*$
zq!WEyhBxrJw{)fm*<>+wiIx)~eb2?ia~bQBe2`OAD!TL=l&bLrPN!xpGDi*aV-&M4
z0l*j#V!1JDSxd}DJ3<5#yY9!{n$xh8(z*8#EXMl=bbN5jf*4`e;pMb6|C1ipbm9AH
z{fWE^loDktMA#}W7J##-@Y){4-lX;9|M%Wl)0gOt6}(JuKu;%9F*3<pynXngw_!zq
zOzcS{`3RFvqMs%d*C;#LDPe>If-t6LC8j*pp@G4|YzHibG{o5{fIL9SJ_(qPR<N6k
z#e>UORvPn3JJP@J?>*Un)%}t23X3*<vKBsi_3X*N?$>k)j6FWo>?rS?iHz(P%9FR6
zeSag*qFfHxv}gh|IxIBE$?Q;g+-EI?ug2+?EFkf8H;q*|Z4n}E%n)>sHiD*B8ia+L
zwA*Cwn>*E}-QW<a@NdxnIr?W8r?VlYI3+xsfV1q6d6n$@8}p=<Cd-8v$5vDN!D}th
zI#I0-kSi9sweRzoN{1_(S~WYv{9HYQ$*;hQhjq@?0i_T`CD|5e5_}|b2%%FjQon;?
z9WGg+Q!?ZvNBq2!nx$j6Rhf=+smdl{>NUToB-etr24zdt3#}@xJ=TwD?I_OQt0Ko~
zinB$Yc8E7Ku|UxJ7$f0LAsX#GD4(<fX2(r%&y|lE4|M~Wd4J*74v(rtt7VG=;S@`c
z50{1~@U-dIj$P)-4EJ1fW{z5pIXlloE_?3G!BGgqvWOY7n(=EeL;Ngv<L<L3P)wnk
zD$pkuTKJ{TVxCB5VI94MGJhm5Kwq;l-U^ptcM1V82bAhNi)uYjBBgZ1i#r>vD^Rfl
zwJniaT$!cxPqVftpea!$&3ltc52vAHL|`EV!-8!NdG%;?{vK+T&qp~qc4NgxFdmvp
zs6f$bs)@e!vQiWyLYT)fM7#@kS~)>vNcz_|)ngq-u?|XVKg4u)p%zz#vHb!p(tR+1
z)&kKsU*T)ELM}I&BvR*lr4IbyhXEp+P7}KU%vQ^woj$^_gjkLeqj?|#CQszx?wcW7
z8B@b0$uk^E9UMv=u+3LOZ<RTVaY*-kfA8o0v|@<y-h1X+s2x71-w$p;Y8~PLLj#|+
zw)89Z7pL6QQtA*B%8XUx0(RkKJjEVc`t;fymgsC8;$AbToCx}=_6~dJ++Smrfzz%6
zm0=FvSf4;u3b-&B2-_kFP?a$BPsii8j26SSNlo4}U+To20hawWn!fLyz7^0p6kRA;
zq~wgoPSLQZkN$&YdyQXIftZfadj(gW^NShtxxc`eFx;(CBY(i!vjOH0dHel%atddc
ziwXH1%D_V1Cx;TgOCOTxmszDYiY<dE_X|$+<cERHrlvms(!#=EQI-hjAlPqc<m8Q{
zZ%D(<*~2se%RZQYy?2%tLAnto9eWOSTN6PZ5(`c}a`+C*s`ILK_m2sS5_=ECyO#t9
zDI?qn&--i2dk)V$IOZSiFTyVpGzUlo@nY^V&m4e6knrYVNXM6azn+6h-?JV|2qY$G
zpm;febs7p_iQ^mr!)wOCM3>_t_CS(Y8XFl8vMUeA!zFE81&U|z<9^$C*oTsJrl)3p
z1V476u`16L!q_ZKfnONU28iYj$V<OYaKiy!Q1h`5G!owtsy^e1J28lxd+G<4HWZlC
zR-hjM!0^-5s>9+R6Kr9E2q{VEi_u${-I#3+P~@ISM)w}O(JK5RcF7PKs1kHT!DLN<
z$*l{T*_Y8ig=NF`q3tY{^&GEOOsuz9*n)YLb1$n!BL>j3s9rvAB@{{Jq-Xs^Db}z)
za_m2&lW1UZF9UDM@i7rRKDO~}bThnXKl%OhJ1TzuXZAEsm|9oU^ErKu1=v~r`0U=c
z_7fb>arc<L%tPn#9`2ss*sNYY1%@@&*njcl<<k!CJFmUu+^Fm&8CY*?6T{x(U%?Mk
z>v%Bg(w84$&RzPJz?mP>MJ7)4jq*e)KArqA;aXn%{WCWa+ljl|ZLTc;cX3O&TLy}X
z;t-N>dLRj{=}NgT4_;lsWDRq34KpnK%ij-w|6SKOMKl(-W)%j9)}F5KEbr`yaOQn!
zh5rh9B!r4VCUlV!StA}G`q#bh{SHZJn>Voz_^-P=vJ~Xa(ZbAVRfCb<T()Vonl+Xn
z@LPmVEVIvLps#6&Y{)_f*c}7Io4w@7>o=OFPO41V<ye@6BAFH->|g_l6^2r^b1+6?
zO^XueQ{Z{oEZfW1R+(0&*VGJbSY!QGs`=P=8P+i8g8&JdO<UW$gD5EMAl+MVm_wLf
z&A?$u&3qEN?$h12;KYZ*A`*zJR|xQFm0fw^v#Iv&<#_?p8dJ7~*u;pd;zv1mfsbw*
zW-5@<7e=n6s};dw6qx)IWs$Ze4}BNBqRcnj-yoP(7UjFucMMlVx)uiY`y?Y@*oo!z
zI?5%k!Vb`qnEiGgO=gKxLQa`*L(vbfp9Kivbk!3=$#ABBf>Z^h4@!4}R@GZ+Dw~__
zRJjsSK4etkRVcLK<sVTc7W!s$;~VCeq-d;v3W9{em`9lIhm17M4wGYw@YOa&%~!m@
zFwy)UsU_Q3<U&g_MD?@_Z=*y==%SXjK?{MepV7U^y&=LP%B9ehmh;md64R8QV#P$U
zpt7D0j(h!&ZehpW##(jjOJ|PX=BMGeQ8|8=k0l^y?Lh_bw?pPxiXVTw72X~l_M2~!
z)6sf9JO@+9kJsG^Z*kor?~L+~zr7RQ;)bX6(y6d<H@uw|uf6WQ^cM7tAA9Sn30@!&
z7QuGd6(KLsW$3&0ne;_!ngMRHfQBB_q(oh1ee8076EJ~(<<vVmJdEV?9!ARcW=LY=
zAAc9=I-DLNM~;2`U8JgvCr3lvejag&?+{LX1~l}k(+udNDs=By4<!m^F6YSYWfYSk
zo6^Ik3LKO|r{5jt!ya2hiO7-n?`-Zs5T$fR-bse#JLx{mfwGl~Y$JQViTKmOB#|Sr
z3HBQGX=@EF>iN#Hp0~@2i1<59x3Q0b1|kkq?EZ9oG0Nsm8j-{~u$2wYPsXE6<{0X!
zcREHp8{kgbD@d9<pV>PYV{l_)(Y-KsVdRk6Y<g0ZD7O}zzk*VX-tvLD`<bZI&Re3D
z5k8I$Lid}6g7AtHd(c|UDG{gmS$_enIN71<%x^JG?fzMR*Z}7(Mxi>ofMK`+%}Yh$
z+V4#co8`O|ZZ$R0kE@vn?;DGrm%@FiR%!~nIL?@nJkIoKdb>qIxED&{f@0hie*k%r
zBWJJ@M`Qh@#m8*%v7nX0zjKAvy=9y+Us%E6de}RSZTW=F7$cKfn|F8aY``|ttl>o2
zNb`5|?ww_2Bb#jAy}PVzWR}gl_m-87EVFs{{<5->aW?OMy|`>9nlaEg2^+Lf&FQe2
zB>e$gbHWuSy;G#Ci&bOUG^zUM-OY7qzNwIpM=Tp@HXIBFn_Ks}ib%=#6#(T!*{A!F
z`9fLS0B3{kWwSL!LX{~X8{_O{x6}FqYsDa~;Th`$9JUi3jCa~<M7WU-#ybnkMmiYp
zEG%2&odsogQs0ixhX)y<vd%faOpX{t0Q?N8zw7?ctYjDqPVi8cSA!tcHVn(~{U`>{
z;Nsu8)BOIYPji?Gkb)QKms*<46%&YcWUt5-V)n<ooK0`a|7O8Z4#$B`8l2Vi=EK7Q
zcP#gzrJ%#hrrzOMujqkMJC@5=u`bHiMlhC(tfqc63VOM0S};kcR4i-I|BdB}c0K!T
zRwb4z+ieu|a@iD{%<5yorenFH-DX)Ym$CK97%4MPFOEwhdbymX5A9eO(q%FmL)g{y
z%P?-<1q65wVV(*S(ct0Vxvc#4GFD!qWWF7IJQx=f&ifE4f}7OZM?a3i+4zEYgk&Fw
z5rxaN-y4mJarY8Yq#R>=O=+3HSc$Zz4@WpAF34>q@b6se?0qJ64#$1l=Y+o1kzxUC
z*qGj#awzC4i*S1MnK*6Vznh2@SvU^YPV4J9Rv69M@FFfY)}JJ1dZ*yN1m0dJ>7r{c
z&f`q7*9c;9;d3@T&viz7jci2zx<95Zs*jVdF=v6jP6LdzzNzK#8inSL?&D>YoUg4N
zL6vxq|Ghy&Wh0Z1y*}||oP~;bflQE1OZDChWD<w>I$fMZl{^$kv}S>Evp}LY3k;eC
z;3eq<MS&*8Hnx+(LI|0z;y7et>}Yr}!G&Rn;T=&8^8&g2I%{j<Zd$Wz3b{kLmlZgN
zUOznxYhf%9Id;ebZx6zv9}7gDRe^)knXemOfVVI^9iU0~$BFa2z}Kk`JW&SWc)
zIL|ckIM|^8ip}M{C(C$miQFAd4zqdY;>8h<l)<7gy})`2BX}BTE0ox1a#RRK1LcJx
zqyyZoF&mF(#dg{YMLHi$#=XP#tyN-5o}zc}Z)~k^Zl(?xB;0%M1CkX=>|=!z)j9u|
zBcnjy3gO?ml;8g(%BN<j!JQ)83j`rNT>{T9YVqkOwU|_P7$^rwdpYRN-q|o(C(|A;
z7U*3Z5~VN?)A|`8yc^@-Eft8%XM}(hJ{lHlBK0~I7`%fBzC^ddVV`8{j<eG3gz&rQ
zPd=X8@|bgHA`pfG;mW<?=!}Dsm#=ptf9I2?m^%xG5vLxX*B_k9*35AU10T^i0dyyB
zq43nprU`t8KsnqJ$iAmpUi2!>K3v+_I~J9iyQDg;$O>V>rH+zsaINfoYPFJz+@#|)
z-nzhqJmD}*bJeA7EYJ-nCIxNkuQvm)n-r?Q-U_d6D%4+Zhu1a{>aTagYqMn3U*8F@
z&3I9NeK))|b65TKz3|%XT=mz8U@#vEGjP>ke;r<%Wvl*rFT8#vky?NKD7=2$`ug$W
z*H0F|-e3Is>B84w3h#F-YM6xf+9i{GL$GrDfmf7lC{!!}2gvEh<j=dB7jSvS?{J_Q
z-XVcq7x_7nOSGQTpcdyJPDevU`V%q-Uk+5hg1r93oM}T*+@y>i^0dN}mf}E@S|&ew
z+<-kqzQP)8?B$inx(R#dDxhmn1B%^A@4cTu*ZQq<=nzQ|GfF8qTPVUwA2hH-@i~-)
zdxlb6J=%L!O-~TaY8`1*=kV5A*T|WVp2ft|_pG)0fu62)<e*SMF%Qk;$tc|8L2aY}
z1`oM5$^i{8K^o4c_)}=vKY=tPAW`Tv$2t_W)O;*sWACG108{RcQ{ISJg$zp#?x6Gk
z=i@0Hs1KKniNX3(c!Huxfi)M?urk!CTBj&34a~_QhGhPk+K4o&St64_MJ$IgVQ5Bi
zbeH{ym4F`7XNaVL+bE7(FExyfk%2$(-0s%UjX2ct?sV%D+KYaXfnh*vU2Gw9_4@kG
zA9ujz#l*2o#Ui5iC7{cR$cX<vOnvC%A+C2}oMV81C~L}shj0fX@ezgL7ldxcK#VsQ
zMR#Lk^9J)3Dimm8#AAT{gAVr`zKK`UG*AF%My?yM^qb1df<+!7x&n~|-G5})o#1M9
zRdIcxtx8cG>I7SG{h=t1Y0%mNmOEB)ouaLZTIiq5n9*B4Cn)Z#r4@ex|EHb@06ywX
z6l)q5!sylm)eD&_5%b48L?kHr6@EQ96u~UTz$-c3E<v_`-sBYp0pUGX7hx1g;TNKP
zaE}r^`*FXF=4mtIUj$!340!lk_!A#nXf(0&_<l)O3XLs+mY{EV1`(<QV;31<tPT<|
zRw?T|0ICIqc1KJX`0-~j^NS#aD?P{2&`=rI0hgH*2$Q10sZRL@{=FE4<)s*b9S~pY
z$AYAS3Y`(rA5<HiY%rZ%_J=_(l0Ja|xEZE_9U?elmy5|BR!PF3!&d}N7@X|r21mk(
zyL2jg0CIMPSOmx~#I=7q07#|MSQ>((kQ+|0MIQuOQ2FvSwv4I?p_8~@-O`e@j!Rgi
zigCIBA2%*7eYCN4#x`xsmTBzIc-N^OspE`y>rHGv&mG_rP#EFoT4!<oiBzPP3b-6|
zF1ng}SWEMSj5%@-9)QaoL0pjlV3t?G7ULYYGm-$#MO2)~H6q~Hgu~wIy1Ev!g-8Dk
zZsh8)=yOGG#H_r#Lk-jBaNMYn59^u|MH-kke8Q3}0ZBC@#!rP3+21!5SDeVS-yRQw
zG(p2Aq%ydwl>%h2MB?B*pFu!_nME5oQ>L}y4AzLBFN$;ym@O<s8bMZ{N@)PLZAgvO
zjN58{z9^~D#FwV^r(t~+S}Rzv&e5&hQ6peGooj^x#h20fDi||Rt;x_W?95GA_9+l1
z?=M)+!9{o**K@7@2-~QCC{`6KNqi(ynZCkO8+p{%2g_KV)nui`6Fg9ZC4*#TIup3X
zXK><I7R$o2sJA1k<``+SCcCY>b*=3-OHdg50U(V~h`NXm&3mdQY8bCx{%|!(9+8Y+
z2(_+P<Pxhnw9pL9uu_h(?UN$h;)`#@NQ!uA(xTxGl{M@SHagsoglBDk*$I_-9aA45
zllKYKFiRwZEr9EQKEDV=7BYTe?QTdHgEYI(UUnZ*A>c;Ct1)2Ig~{A%ma_DRAH4c@
zUOkHa`K@~O{U6vk<K5FWl54ojrNqU>@myRi2Y1BfPF_7OoAYt;>g~ArUWt@z{g9md
zulF7=<;+mqb&b78FJJu_p0)fX+#gRSu!dob1|Ry!M8|wI+_JTlZaj)H=su)anf=g~
z;)@vuO*53-pcd6Z3UOE==V!Zl!#y)HyUnQo;chlJS@L2C{Mx#w6@3U5u>SGs(9lF-
zAHe)~{5bK7Pq9QJfy>P$$y-n!+c#Y&bwBI~nGoQEgcwpAoOhHM)7uMjJZ}>k8TK-e
z%`R-1E2H<WH$2tmI@__4nC1pLkC?b%<ui!6`JaK9yh7%)h{<rRsMUsmqL$z=utwB&
zTV7v60gi(lR$+?f*W3&G2N7+W2<Hq4HEVUS7cX0@0|*Ik!Q>ts%QY(&i`s4|iocxQ
zTD!H%bD6aju`p#~k~YwSp<w-VTrv0(_`7MKk!?FQ#fA)YVeZUO;n(>MvAvUFYA-jF
z21|CXo3K6Ehp|s!PHP!9Opjp72|St8p7)3qAdK$A=Y=0C2PtYR$rd)VKjI?na?BJU
z0Z;!F-6|VM!Iv$;sDO|)U`!5MkXR%^$G6r7@=(;Jz%~8_%=n`KzIN61#VjikSmO&j
zh<r6S5FH7l&FCYN-XRCVm6n%fJKWHw?R3XStC)6cNH2B2dh~HNuuL};0_T580m`Dk
zq`)M|8J7Z&|B?cwi1|NR3PfYkr>g?3mIJ{JqA30S)2jluat4Hp#lSQau9Q&^Xj_Xz
zUH*;hGPd`hvo6C~^{;g~)5`vgGcs9za}H>JudmBEglw$KW(N3cO6tP2KjoBs{MVHH
z^DmNLYD$_x?+Z`Ixn}cdr7bqgr66fpnEqq7&R3kA=0uZkU5kEwsr3@kAAhZv|3%hI
zw<&)5>@1HMXc~YMOL2@8cyylj8s6LA|D<!X@H}jpp<ill{<U!a`4`UMLJ8YjHyGlA
z*AB67=JQ)(F3uOH;BvX>FfYug+M!-}-1yrz=Xfr+w)9x94hng_c@W4$T{%<wapJUI
zuBF8_q@lwRn$B!%sz*FTGca#(7C6dW1c_>etp6|y;<0RkO4g{{YE11rG4aOQEueTB
zh(jG6Cc1q;-$Arh`C<Qu?X8Z^4}&o<uhP<pYGCNok)fR!dV_Xa=xDZAzq`}XAz^4R
zuQIPj*&s?SJEkqh38#KIBrNA!V8y`W7F5|_^T9N%C^A6nu+DAbb{JPQ)c%7RzsJn|
zL+?JZ6lV_Nqj<ej_VHk*V!`&Dd^$ZN!HQ)rs~f)JBu?(6;##g>V49_;i=lG(`=&yY
z^%EW$+)ejsfVHM6MPND&2$hPz*@PwC;DcPejz5}RjuOP3979gd#>hk%{>9ELL8HNh
zm(p<7lFZCy9_R4VgUlw-n6dVm&NB}_!lQO}fs9{=bhTh6*ScgJ;8`5ty61*r8SgAb
z=wjpY47o%|I@(1}P5A#zmJCC@%_GK7=D1}?uuVD#jswGo8(gl)aZO%ww`V)Rv?!6*
zrL2a{|FN8;;iO|>O%yW4y{-zA6N_^3O4{i}c8%w$a)avD=oEhXWN)0N)z(Hdq9U)p
z(K=`P_QrSfow3rX?sssjPoHIQ?eq<YjJ3%})z!VFv|kM}serfKrszH-h!Zn^Tm74`
zV=KMG|8X(J1tz+Q&|kT4zwQ&rM0}(MJhs{nTV*_cd@{tX2qIf-Xc;_TIUHs>3nhLA
zuawNo;H5)bCD)C35Z*s54R3+q9C$dOg~rps3g9w81!fK?quF8@`*t*4uw!kAmz}gm
z2cAp}bMh#eKN6a02H6y8>cG$u=DmWW4{{0Pc1oP&m$_+i%eOvZZ}~H066}%wZ3;KA
zuzT{-#(`~{1&hJ+B_^gtO`n^&zx@JuV$L;-4l$qzgTwM!`#4aEjJO{_nI@6~Xrcvb
zaoF?KsA>cyt~`Z}E4aHWw1G_-m)#RcgM-T;zR1|j^XT}*vC)pYg^FQpj64WInpWGJ
z$f?^xMvk?Lt*b;Dp?Tw;4LgII0^}CZ8CVWhXkf?rlv+TWBTb-%Ikr4PO&n}Npf*{c
zwE;DCcl#S0h+$4dmIbTTq$xSi_(F~?Y$!5gv#kIY0C}Nhy)%z5)tTq4s@`0(0c)$Z
zHxbwLCF_k^3U8J-h8CD{dFP)yjbP>e60@jzC-koMG;q$9B^(5j1O&w$`QE3Lv%1kz
zyuNv7*(_3tY!(5Y!M@)nJjHYw<he{Pu;M{)z-LkOQt%ord=_a2kxEToFdnNlkd^?-
z7!fCle=f5U-A<rl>MU)9pw$x>I11=vD<r;JDwl;~6bRiv&7LHv)+cX(shR})%P$UM
zXYHBF%e`F*nY)jlzi+pIbK9QP^aATQFSyAzqPWwsuwaDX)_o+X{MY~%*D<GI4Onh_
zSqLc3<S-aDK#24;1eUp3N)d;fT4nbb0f8w}o9LpnbE;VnHZYfPmkAZ4eDlk8snsps
z?p`TAEOaIPWdm6ZgzvnEaB;homRH*&B)I+!;ws&2?0RW^hn`YM;`Ref-cPg=WjFXl
z`#}Sr_@JiJ#(S3f+AG9j^S+>8@X(f-1gX=oSy@uAXb#b7hqz*Ot@CLAU!T2@x9z|E
z{n_({ffGUmx3$6<93~Uw4d7*WQz78s5FN?OPk$dwV!&2=tK?T~O6}5?c^$;_H`Tv-
zd~CQOdO=~lDq52c4;P=<R|+OhcHUnB_Sfa?ZSZV?_gx6hP?0_8;y#0?XV`dJ?V{D#
zpd4Ax2S_!s>|?zg4G@KLz>D*ieTw#C?_TZyV}I|*Wp&eg2}fqsLsT{5mc>1G@pCGZ
ze`{}b+3d?9@Ov>EM;Ev>aPg;TRYEEb1}`Sc40Ww=Y$zF+5H};O<-$Xs`kP^Yi^h0I
z#P!r@ADPPPA`-o_rAU*3C9ZdlnEb;RC_>49+^qd#>jelXue=B0txTU5`e9qr)hB~@
z%H6QmxtBqQB?EVr#5}kl42Z+KxH2&m8+i8Wzg_?SUb$5Z<s=v#>*!L*Y1P~%!??F7
zu;6Omgtj*TL~Z(4b*Q2cT1++(6|MPZ`O>jqL{Q)mQsCoTa8ntn0C5zzx6q8z$ho1M
zt5g|t;6qN#C~DH(MafhX*h+s1L795aaLFV$%7{dusLZZ1YOl$P-WdDyC-h~nost#Z
z&VMKhs{0&aBHts}XmxuFO1YT=oZfV1_t?4rB1{)IgMTsI6$2=~7}J60V#xZ{1>Mym
zsQw&+Zc${wUxF@|Sn0b=%9jt?;p$_84yo<$?z9QI|5{A9^B2=$)&J*4iY;L}_dRIW
z=gNrY7CCr%|GF?~pzO=@o7ww<Hl{%5%jj?k2uf4Q!tN4D?GJgHxlmI}6+c&F%OQP|
z=9UAH<fq!_svI|#S5oH^Fx@}6EJQIC|C~_81m)?od~@Kr5f&?H9CO$qaSjH9N()D|
z?h)qtQ~x=Z&S2&IOI`bqQrF;M)GooI=TSSi@iimVOF8xl-iu$(7qMkOYDWU|91v^n
zb+8&-&H>T4S3YYssoOy14v1bQZO9rfi)uY{Ky2>e>K==!Mqy1i2gKB%D@Jo03=W7{
zgP}@WuYe-r>2s@l=ZiQX8Z!m|L#Dc+jBCpdLVKqpOIuLmgTohPn!AAK8}gL6nLZWc
zHLy$qT)0p~i&DGQ0JPSc#dQYuepsL`VWBW2WpR<|1oqvH;POE8=?OhVb`xUy7MA(H
zBU2^Joj=kEHvhC>FGmyJ-OB}WzBZt9i$^-9$pOaiEsz0pPWBLPY?#T!e4&tqL@8N9
z?_%y17SmD_#Yt>VUs~D>8Jc~FDWLSp3^#BFo=S_!fwh4$rfSL8LSWICkw*CF&&UzR
zQj40QGxGh*TZ)}R7AX1{%dpt1%=rQZ+b|Kw#ru$h?iisKol|-#0gmrmKwj203&);^
z!%+_gdUNWHFx&84kb8$H{#O}s`Xl9^IU^nk+A=&fHvTdrewj189Pj$~7Ch~&a)8Tl
zDQ}x@*fge7uJ96JB~5|MH7DIrzIK~5?ybYIRS@3ddz}DMY*Xr`%X2Gb@^x2p-lpIj
z+ND5?SsC9Ut<xCpfcRumA0~Qx(Tx`?Cw#mmgWOWno19;BGI%$fV(mcPvd!=!wAyIX
zugPv=Yu%=TWS3yXn%lJ|u9IZCHl{orfjBC0xz0tU>qjVPFhY!!wuGxVkb1~vp?(g-
z>)16QR!pbaB7MdRWVkpIa1EGUOn3GB>yTD;Tij7%2Kr71r`;(I>~M`~f!DoIFRoS_
zI8eZ79`&X(#B}uEc4v(3;Jsv_qB3o()w}a*-@SWw^1I!PehLDYHSf%;b#Zvqox<A$
z_p;@PruIahUjM{bX}`R^HV%Cj=$;No1D%l6TPKWonzUQB!-xey34O{Q1hvQ+moH1_
zjWpzG_Qi2K8;-iia7UQsKDDHIe8EOTi>X@gL-(|YO7%%_W-l=2xZk)@ZF&*z<eJx6
zl<?~SIRgWLlInyKW_~-#5|m63v;%Xp%?TZl$4OK;>)s56*iLKQxV76U8UK7T#1)?(
z?WV1OORdaw0QK~6X{n0?TeoqolCJiO(85r&dGqPcaLBxg!BRTOL^*R|OQcqhohZ}O
zF+3GB5a0_w)Acs^-fY(#eKI$q$T9AII*-nP7Wv%Ho1>cszl4?`t8yoxqKX~YnYBi;
ziL-0&*vac?*vAdEGb{=2e5J*R)d~W@4wiqAkAeX|GAn@?Rc|useZ*O@hr4(x@Gum-
zt2M5985lruj|(dihzWO`>R<p*8W^p3b7VM|#Zb|62*|DEOJN3)t1*$1$`2(NiZ^ba
zo>nWYQy&Kq^q|;0xR(pHb?ZELN~1v^(vNuxnOYTevf=C2GYbj}>k$h926nT!;=Hn}
z1Wo@B6hXh`8A7R;qn{`ehZU~1qlh`{^?T>NgCQ;yBbodY+hynT0y(FUfnp6-G|eUY
zo)KqfGCD-Th5yHwQb`I<2u*rzdUsh?dCm%BgeW7tVx7-y{}~VT%|?=u)vIA^<LJ7-
zAQ8lVVp@=c4mSUMGKPV3)UHU%WsWO_qe?~{Bjot}0_)6x7ot<vO)>25I<ivThGqcI
zET63KBZOd5sy+I3nZuQ+wNZWdpd+s<{Ujf;oPMlSR4(C>hw+o3fp*b5Mtecw-M|St
zgpPVaLL5<B?@wnF=Ao048fGP)4Su_THz<nRv+nuH!TOOzTmSUp5GHlWC5b5eO1Gts
zI~1{rj?)-=E&6}n?0tvVPxj9{H_X@kw+nD<A4%B|ckJK0A7-7qxOfzW?tX25dj99W
z9v;}Q1N+t2FW`6^caTnR?{2JAQ1wS7YEAO%j#5p+lQFy+*~i;9&F5ALud`Zr2WpU)
zWCBCNU~?ch?q$tJlW$%>fBE#5R-7Y@J;oH8b%jf9AQ|7odvJ1wSS$a1I?jrWhUeAa
za5;9s-v&!c4Tc?8eTKn>oksd4?qY;F=v};L0YjS=%7%pK;>r!U*5g}_?KdJ?Rm~=_
z!BZpapMpmCR;!GAyXO;&?=njLy!Yza-XpjQ_C;?dA%#fo4o`q|<Iy#=xmrFwKUuT6
zf@^Kv39&2yNUnx$h{w^VFkqYtR#?mrwd8O>O|>Fz`9G&Z1KPFD(3*PSP1=&YVd|T_
zS8E0A4GFf&p2sw{ntw!}LscodPHQtzjAd3jEghCVxbfWspe<U4p{{h4)1Or9E7jv3
z^GV97)B9-MhBFi*kGs`M2ZcsRHyM)ZMuw@(@f4bA-|wcN1hA>hPF$Sh;z6)csF=hE
z6pZw6rb}x~^h3FbZys>hw%fsIU{4#LR(n71J$p`0=)QjT|L%hW1ElIJ*diW$Pv>>W
zob(v0SNhQn)8K$vvs&q_Vd9#XfxcP2+JF4htJnLN>0N4VJ_T%6^oG3j>lbsf`;~#g
zP#1Vh4u+Th?zpi9yI~Ys42ZX<vb5`M1VjFS3TDq2)t>tf1E`C(X{E!w#l_Z0kBh$n
zdM64--*r$(O=qy6t!V97IAOv@MS?-nRcnF%scF~-F&70YMFNg5X1wF;iU^|Cm&Q;a
zGhr1m<f-Bu@@cg+3R^$0#BElOetP<JAI`k1xCiyDi-QxmBTgXikJixN@C;YA6D-D<
zZ*j781<F%YNx(sF?*IF<A5G?9-pM7q(`*;k5P;`(Q22M3O9>KbpW!~W@gY`>2c4f@
z{P^s7TfP1+Cy~~1r^k(=2hgL@k+NG4y<c28{y6HLateG}@1&w+U4)Wq0r;?=5Uh^G
zKfvJ?`NARH#JFTKp7TS8HXEKV74_W==wU0_f9LK(WT{JXlhvFvoG)q3DYkE`wnE~d
z92c}!@Qfcha%&w(FyU#!XcKan_-l>dl-A`JHfT3;JmLn4Zp~e?2yECo&LML|rOa-&
z<_w)^d9$6N-*=61c*y%4L^N`R#2lLBV1p{S3hT6sLbo7}2E7qj$Y{yi?)z_VA=N#0
zL_z&Sxr1?!mw0<y6<%@STD7sn`?MxJY^9!*3F9#?U8Zk>>Md1seyl26VvTf_$?CjY
z?9u!Vh)WICP|0{j^W;sqnlvB#IpA_mGc2^=+K9GIhKC$S^zLDY{@YLm?`&3&U%q(#
z<KBxOtI@kj@2tyfmax;q?wL&2h5mUuK86Ckq};SO?c7}kY<h-5gC&p-2L~5u@MuXf
zoH$|feC*s?hMDd3JNK3W<mGcRxpttrFD43he-|GhQ6|4@+m8rvpMY8pHLbBBpUMBZ
zq6TnFf~|T#oSitCA+>m+g0@3EoHOG0lZDQJy5Jok<kNUAZicfjRuq~Ix&NmZx(p%C
zt`2`f=7;E=v-8(L_6~+0b8b9SFLZe{=FRWy2l^1YW6ILZszljM(H_y|4{|a7Amaea
z^so7@kEq}DZB~%bAyI?25<=I3^MUrBJe%yE=%}^Ze~ZiLf!6rw2oh84ke(P?0fi1?
z3b#l~y9qC+<xT7S`-AB@tQUMUv{rBy<c&Nm;2)j#j@^S|D~!qe-9YMy2_z^ku|Yvw
z;llg)Hx~3U(FR4cTSX|KG&@PPW``3-Fk_1bHz?7#`vQqWx4khOAbFwcM*6zefim9q
zS*^T_)N9s_&Z#}JFBqk*qMqgb0_r&xAwI(=D+QIlf&t}8_4oa~C;P8Bga}NMb!`m&
zo_iaN3;YIQGn0BRvRD{j09X9YU>9t-Rc)*%yt7gUs}*8aim>tl2TOg0n>7hCD|I<o
z4A0-_2iZ`=-ogQ#@X@LQlG`TfM>!X~#)hP-UeH9s(Et&@pYvIP5V07yqMh&~!@ZzZ
zc(1>)kYw3fX0r+WQ54S!(n>ZR)JC8-cgesB1NmNLiB)1@J3%)&mZnQ+K294m-B_{k
zvi_HaMOH}_*$lgyI>29SE_3Gy`bPFnWe+dT&eJL=xWC-^wKnfIt5ud;li5KF<!Ee?
zfwj$1lJd{M7l{V_U007y7kd7BKea$<Z~C%iH%kb!yd7bPzQ{60dEFn)w0F|^E>%3{
zdCL}<X44{|DSq3QP66U9e5)Q*doP~I4nff_`!)=C>Z1v-D2RGytn<_%5{V{@H@i^&
zaW<utD(a`iyy-vIVl1)^V<2=um7-Y?|64OEUD9Fo@N6)pJCd%5q``ul*l692KW^BD
zm&EAxXI-!&h=Qq2CHHuYO2~8qeaNJs_;Zt!*E)ubCnVW}Nhb#%;h<4$pW;vJuvQ@b
z<H>i>Sb&FRgzMuXXc3%YK;RlpzsY4Qhb0N6HKA*Zsz{ro8p(j=96Fs}RAzY3ZwYI;
zpmGdK?7LX!#fIx5f1T=Uo%*n#vzUQ7(-xiQxD_NMxyvSz+v7nAK+Bd7Kku4qnE<KZ
zn&&N8K}*4ZN*Mt7=v56(n_J|-oSvV8uOOLJF_xW!GcY|J9L>6MHtScI((nNSZMZ+B
zhrpx#4QS+MTA&&I(BxVsvdk3DvXB4q(<KVqUL<LZrkhZiw4pY7xDhh-W((98i6dg0
zS3&F&g|YIz7{kZu7_Nc7E5Rd-)_hzOdJXI@K?(24<;eDF*xkRcjn{h|CZA#plXe<|
z(K}qeIE7xu=lJC|inWgH!WWYXlNxv_vs3xAiokGiCCiXK6B$h9M=<z1&|<}oTr^-g
zz;=j_Um@ChzX=ksWRd2wh&Wb_e}(0tf6Fb3x3K2yzkVQ#5$*t^l@Vu|yILn%+3caL
z+>^;d_-v*66au%h^9KIbMx~-rqSFSPMRv9IfPW4}hC0v2ur5;9L}Ot`!{#b1a=_PK
zmiXF6h(d<dr7EkVN8ZsLR>Xff8eGYtZHG$mCOD%-8*QF>tvl_tSmSVT)Vnyv(X9K;
zlBU^6k<69bzcr45{(0RxNsIa!4<z#EwG)kOKo-^ZvU&BKMn%;Y#8o!0T+pgsyM}ov
z%lc&WvF<zsneB_bBg9euf~&qUm)0}4_F4}*b_+aaJI=vq>%ceJf^-%^erh|&Fy+LA
zrTr^GNrYG#<OMdIWr4AK@M*>XV-dGy5dNA>kR$^ZN^`bX@5cSE4n^3iAEB&Pd%OUW
z$067p)tskMOBcqk021sFZy!_-4#tNceZpZ~TUAdW5eAbrh>}!-Eof72D|{bUu-am8
zI$)6Ru~Rs>z>35jF&+6~8w&l>cJ_~GLktEvK9(^KbME{8&=y!ymWI&$#dx9_D)?bo
zFV_U}ZxoQUhKKfP=z+O4Z%OZo0&JEm9UFY2hO?U-3C_O72uLpl#fH<v;jvkBMTG%v
zyk@<FBg9Bjfb`d1DhHYKMIvT=s`Abnftfgi+CFeNfs+RmSMiN%;>vYnC~2|TUc9Y7
z-7t>E7jPl%Nx6F12}7TjRrOc1#Mm|Q0+fp#8`^f*gnlp{)BGvu##|bsV!#3C&H^~}
zFEK&N4%UHizyJXDYU-)Y&l~wQ9m8F}t+opRkZD^dlrSHW=_8moc>aA{AGYw_#Waa7
zY1?7D+5SXxhL14+Ot$zc^f!nq6AUebF7dR(X_*9CCvcCNsQzXPv0`%2UF7W^FyxFG
zgaKB|hQ)-uss8=n|NWclJ)8=sK(`OKw^JQHY<yT>Ux%wItH$+Lbu6zoAG%z(r@COb
zXhkx>UMe$o@iGikfyM-9*T*B8F*swfWZKlcrHL5AQzQg%yDxX*qjyxVqo5RJm_yt8
zoYaVQi@CA>gvSzWTKgsHcTK*nSD~=-huhMw*^>3Mze`aMP0oauPRsGjMV7cC>o`g~
zOfb3VZ8ogw$Fqa+>5!)wAB*0thu*oh5q(tGaF7kD)a`OjA5O-jGpcq$vg5Hno*vk)
z$qWzmH?X6k5ADrLM_mKpZ#z%+akf{D;kqHa@kaIY-t(XKEB@$;3~+yehQptbm-eW5
z3x)0`c|ETY;Yr4=+tu4@Ai~_J*Xhu3LLhLiL%!}I#4eyl#KPMQ3vX1cv3@w5@^;;_
z5mpKi3b1U)>d8(=<J#!r>|ij##vh)~JtPA%;%lXaeS_O1JvQlL1`0l~iOqH0#;*$=
zb}c#zYz^afweAok-w0R&Nkg&OH$LpfLP4-oX3<K}X{BN|Bibpj*((PoHIS+rA;f+1
z8w8(q>dXi?Skpo1v3}ECw`BFmY=Evnu-_g2^T1_AjWXc7%qpkW1M7Dn`Cy&l9z_-v
zGZ2{q<xnthNM9R=KqU>+_m@(IWMGor1$#qG-^aEI`lec85;&JHZc2S(8h7noRC?qQ
z<MRtU1s<v&!MQ7O&I7SPP70UNW-c;aOxuyche7`Wf*M*@5@qOSlG;}n%c$Lu#uVVb
zR+<pTziRN?j&v07jaBSj(3^ieo;{=l;sLX5KzvyF#$Eg7zdstD4)~UZ+ab8TZv}BU
z>>V#^Lhsdt=~V$k^;<8eI7jQBJZ$ORkzA&9g4o_aIYKOIU8c85zZLT_G9MnmI~X&!
z1-10{AuO*Ok+QZu<69Uq#`9|OT|3I=wGnVea@7c#TF?~RBsdOU?~hL}&PKQaVa|J8
z7C!}Aftaca_M8l7AG_Cakc0MzsGdp$mcm~v#a(SHSz?KEc+_&5XHcx2(<7;V*UtvW
z(>4Mi@qrn!CjEzP?+=GiC}6>qgFxH3!)*l4B0#Y1C875|;6NK;JP$k3!Ef}A2H`j1
zba6Ox6*}3PumG%%-nr)z)_}T-vZD2u8?iLMgHEzrt*)=-%8Hg3@`dRWnNDI4q;{D)
zf~l3MBltC69f^%xQX$E^1AVs?Z%|&%@(hVx_yEY8-duf49|3^iM;o2lx{TGVyUxw`
z(>)w&{PE)}XdW>0g7GLu*E+tng<TKSgKO!FpI`0$0GSObIUiQ6-ITsoEBxDv2^6dK
z9@VRLrX<%=9Tpkxe9AHIaJiW9V2JL$T$MO-TG3)bGJ+I<tCDL@=R3F)Bus(Kj;n@S
z7HL?!xHwu$OMbIOx)|H~Y8+k$%t7(^2w@B3gDJLbvjHAUg)|$BON)F359kEDg*Kd6
z(!FPkEf$7nvBVl-x&QITri{sL=p}QyT!5;|KIiWMwCK^aQ@%|+U<b6mYojO#stfFS
zZ-?jar?4Mx9NLQtPKrG^A|CsmFK+e%W$k#7*4E6LdsUwC14Va&0D-%<dH;jvA^*OH
z=}(qUvMZcwLCM9KVzz0XX(PsDzhQ#YF$MYv9DXnve@9oaSriMzS&$!(rU}rwYA<Y;
zWk^g1gEM4S#a?=V813=f!ANapeu7fRBr(1Be%p?wIRkF6oK-zI4Y>5q;tnRi+fGkY
zgylU^fGapWVF@CizIjR_!1youJelGfgh}={9#Q)+K){&?h@{CcG^_nen}PgH(Bx}<
z@iyrcuNZ|XeQsC3hYZq2HG|KubK1aIx#>-sCq?U8C$L%p0?oor#%7OfI>lT5C`pGq
zJA&Fb!0O+*N&k}i$0K1zgZF{fKFv&n*B}*jqVF4~wy{3uo}5&`tdp?Lv%3<Z`PyG;
zPqtF+OLOMLI>Mpw_&vW-vonuGvEHN)4W8<V|5{0g5k?^xe?qD0D!H>;IJ&m)UcH8u
zIW{4{h>YzIkA^s^fF2M*%6Nn=1)5P@1nCQL`#tn#y=vXRwc@0$Zm`^7JMiP<zpJw%
zVyD<=Bb(=wmsNG&HqMofz5$a+KPC+lg3uC%$1rjM>%oWqK$h%vP(?hcPSgnyj0Dx@
zmSy3XvTu8cY-HZw&~ZTH&INYy6-9*4C8nsr1!Eq8G>_YNv1!M}Jq=_R1W<1(6^mcG
z=kRIJqu>dSdzZlYibUC9gK&-2dkltgG2+x_uxaT66aSOFAc{pvJct7wELuJ>i4NkB
z4^TbYMrjU!{PUO?DV)l(OpG}(g|NPGhSGzbJ;*%S0Zfnh*Cw$^fn`0iQj2=hD1ilv
z5=jKvzyU(|UiLwbyr0{L9SH#MLk&K4#YsOB2wgBr1p@IwAkYWInk(8!2$^W`>k0f1
ziJ$mHdPmz3Do_UD8Cdv)n(xBfMMXwc>QUwqnL~9sE6W7MC%m|s!`c`Rded|^q}R#-
zh!wH}wr%m@qCbwA5H_cgb|gz)29HM#w#(esP^u7{rIXGsRvK!wH#_V}pTSE=aFh2Z
zFuI*(m5@1oXqv({!2Sye%1Od?oQz_t3|zXULm`eaeK~CAYNEEb$^)l>>Edo=?Wnss
zxUl%qW0!qQ_PW1~TqgLO1eEzKr{zcHcS`3ub34v>mlbftWXKddO2XPc4PWwQY^4fp
zlPOG`8wtA=BNgSvchv(-f?*%Y3Vacod^Z@MKA?RV0xwfRv#&CaDd4IT`W((k=(l0Z
z3IsF#FRP!X2(HXpU%5={*1RutfJAvsU{cu8<^{G$AVQFS1*L^Jh_X_Zlr1Dqld=tJ
zr8Y{8o1{qy2|t>NMq^A)%mG>jfF*FsjYm-9i=S|irXOvtqIB+CBqwG!4w5+RxpmB*
za*vol{igbDaCQNoLO2-nxm-M4)8Xd74rN8<Z)G5gm?3VbAjr(r<|d#_(~%Y_DQ8Ai
zEQ&+sMXzH8jUJ^C>sf!HML3=MZB!34kHP+~*)2nQaULO=t-|%)UgOC@<4K=S0$%m@
zOK^u)v>ny5=*WtW2CzR?bD+8vl<G<DK6s;Tgs>MWhOBenqIbj5i7bjplrzNYMDy)n
za)fgN7?WN;-h1@Z^SxL94<a=568mB-6aPku%wQSF;qWF_Q?v^YHr#KAi|2ah?!Eh8
zSIHX)hP|%BU3TtmZq}ZE91aj_9SvEb0Ukfer}0g-XBlgtvHQy#Q?;tsM;D_$l{>2C
zhP2{>sy?i2xclM3WZV69kfVxsLF9!_d)OktHB!<H;U}%Hvocv-rjbz`PbYhblh)H7
zTqM<!*iZX5v>@JAa~wTeuh^<U5LO1IfM~ErLhdGxc7ZQj&~IyDb^*uF(`(i3Q@Dbb
z&`Cpw44EOUsI7QgnQnp=G7;=vbuIgKSHFz1s?j|kWAH)LNZ~uxwN4*iUi3hX4>$1;
z3*`Tx|FJcwUi;oQ>ux(GK{MO>c3^mW8Biua{*7u=^^aHkKR<i<)9YZdK@YGghv^b~
zkxq!M<hmkbrn4XCnFI_F(_ab;pNl9WPFz&RCm~jkS1<p~*6G#(41vNrIfFHzdhznd
z>gmg$UOZW`T4+BKYP%r!4hWmm%pwKN6XSGvZal}q+^k^Sz?rzYt>LeJZqgwv#EEWF
z09HfuMHXjh*^^!yrWbXc6_}#6WNQJ(QoRCJx!@`8^t=8fEZsh2p(5~vXsACFZ^#<L
zOd4TsGWZ#rH;onVxXXBFi@mq4J_d`Geth{Dx6(?!RI3jkK3wadc*e-zviz$7EPS3p
zCA0#mfE5829^67qy9j}K!#5Dv?($@frke1ByC9fLuwA@BaG01}k&_rQH?-s}pY+bp
z70pN42yw>{aA-<u$TU2R2ZKMR>zEHNemI~xkZ+N9q0y#rD)EqTpu?XMR$Ux%)lQy&
zh;0r2OPJ9NNRVDB%c~MmoMB^4_Q$+X{3AH-+s0JF(fYF&&whM{m^m~@0bK=24IdKl
zxcJVd1z*^=^oHjkKq>@Uoegmt_UQN_u<^M&XQiPQKqJ|Z(YXL&8}qpT);hj;+Q$u%
z?DDy?NE5xOcha3GEKDKI5KWP#m&P-L(}pcyccZ_Z^cRyb-A#*q;G~27NVy1L*7q1$
zQLZ_bwqbG8A2%^=A2EZx@xXi9g9oS;cP|w5gp5!Xh9HIoCa&Ae*%k&NAhuF%lV{*-
zvQphJW!b)()S~?>BtuvPl`zagT7C7E-2TkQ`_)$~MhsWLE#Qo+gsFb0hVSHD{Z6cF
z<BNCr&kS|lO+zUoD?41HEVN`k4eY3ik$1v_R=CNOuZ$0txE{LglEGr&&mX8_!9c(^
z`@rFg37*h;NY54gT2ZKmC7ZF(2z@h*%?gsU0BSW0%0xq{mo|oh3lK46jswP*I>dLh
z`~`-FhoCg*(-ap!5bNMiT)PWN8Fq1pR+uQ1NgV0gHWO-muE8t;G6dVy$1x0i2(vyl
zP#DYF2l<pN-IPZHlfbuNR`2&HWpQUYl35u$^@gYGn%;PV0{|C6&50yKMB*b?DP&b3
z=g{E59@R&LfWSLCqvv4+26?F6?%^%$dXQM>7JQ1vZ|NVGjS!*5`N0W*9{zrQ3e_5=
z#b0<}`y2Dn`?dlOOb8J=fHplOKJx6MdFCQi5ZZ)N$TeY<QZ|{@*Z|tPjA*bVG}!V;
zE`*62Gf)V$-8h&)bN5Uxw&{n($;O$24BKdx#tA9>3%Q>zLeb5X4AR*w-xjs<S;>73
zCr}{M;-**{OZlfYg>#*^c~d7tUIK+aLFGf9$_m|*nDTD1_^0;D(v_fFn#m*`tPy!a
zlS^=c!B~NN7War+LOEvSL&-goQUtex(P&>qiCUR(mh#GxX%vjZVFlF&r%}k5lHq?z
z?g}*vwEdx23tk+v-U!wtY?0v1#=KhD=%bY+?dr)Sh?!Th+K6#ZlD8=<wlJG12OpgG
zP;v`%)pWW{|02i|Bf$*J*bXyPxB^@)(l{YNG?b7@{Jx}#-xlL8J=8Nqm@XMmhr(|g
z2>b<AA+Zt1fj_g0iR~=>>l)nVxQ#wadyz}4P<iWZ;))ZgT_SXRze_u~Z`>GSDg!p5
z!dR_j1RDWk;dnUKV&Rx`HvpS(|HM0|%?Q95Xxl1vcXoDc3oYKZS6Nq+&LIz=NXfv2
zlt!T5r|Q9;Af{CvCUK->dZVsmQFS4%&}1}U&S1bF!i5P(z>rYIFETGC6JjTk1tXgY
zk~y%FXv$&^;6K`ev3-#^vy^sW+0Qgv?9lBXL2h~OF_9X`$Hf=VFj-9ttf(vCKl-yq
zv?Qg7X~;?kM1|OLCDv=`ykEoT4_uDG%7qYHZdbTb4qFyybUq4N;w5CQ%}+vW<74u0
zJee?qglG@7h(wXq3Ksprdv09WJ2(LAD>OE<v&3R<II2Is1`RbBK&pHbXO4V4nT1FF
z=@FEE<iVl?A3yf^l!=h_9FNVF8tP#8VDc7Jk9FXkc1!~R$R++zkULNvOeW)r&X{e-
z*@-o@pFohT4$o2}2!DeXnf*3hApWbZKh`N8FM2^+cr-uZ&|%p)ZWV|y7`(nh*>2_s
z%NdHJd1zcuF=JqtR31~R0v~zW3{~=)cqC`rwrai8ybcbc#Z+QYEs=IAp@(uW4^-T+
zLj@A%bPU6}Eu#qS1umxMA3`4%RY6d_MFLLjf@NK+5bA&}3Nt6HnM)|Bl8B6s7vvO`
zpdd*yMxx>iZeuvYNuD?K{rA*iAp%FxVW2?)h7gdQgoFxF<5Y&lzX5wuFsfz7Uj;_y
zD^*h+V&~OqtletuvS370uu{e~)U@1}vS=MLMDv>s24w<CM9B6=R0$8u(nXOe=kT0P
z{=KM^svF+6!3%Ryp&7dg#=@!@sOj$*(ST#Bp1u`;X!Rn(5V$R$)#?Q|8^~0rNxJ6w
z#9VrMxGRrg-1LEvRG_VVzF0?EUdV9N$tr3EZB{ED7nQ{8;^VSb^SM<EixEbSa~paG
z^<J9;8nm-15~tleDnAMWf>-bcgWiITZ9192+MHY2#1pov06s31ncqS?uz9A+(w4_-
zdKtZD7IDa#V7CO1u8+@|f7KlINO7uWTv+W;OKZ6uy!ukE9U@1No223hEiNXhlFc`-
z3AKaY1i%wz76GCGATfZ`2-hJ?zZ%fP$y1J@4x&<9!JJNgnC)B&wjmfAAat@$$Gr|W
z+~ttq?6A)^e4*zQ8|h@wByVf81ls7*`l>IOJo2Z3J8&2HYSPCnWR;P2YiCDONa^ug
z;$a8S=e;9lf)(>rN8mK@+D$EU;^ac0*=R|5F*fsdc><N&BqcV3@_3`F;Rj|Z5C+ez
zXB}wbAJ1Lc`?4++1HjK~1A6uourazYY)rWsa(a+I;#1BC_L;#Z@)xB?#+oI=m8mG>
zl^igK8bD<B0_YV<d`{{ANs`e{^}l|(CGWrKuR8J8NEB^|8!VDZ2niN6EN!#t2d9ps
zk-)4)&$K9G>kF$$a1n5HA}YVA;va`6{qtMD2DE;;H660VufN>thcCzBiz;Acft$x*
ziW0M<*?IO8%EW)~4}Vo+qf8$lEs%CxvHC0j)BPbh`@Z?be{ke({mOF}M05?$Z~fw=
z9G?Gr>z88$MB)?y&)MSeY=EGNU;mf837ma|ZU&hNHN9!y!?ORHc1JJNDaaelL0VU^
zlah=BdjyCie|-}jjDwsq?2&B=+IMMk0ki>lfmNob3OX6KPK!#iA=p%C4wz{6Wyqz*
zv>r;E;BG#cCGkD$HAwc#?UR9O-{QbrnXQ>PK{0zr@cn`norf@8i(rW!pOhtvT0vj~
z4*|@NL`QI>aU{B#%*^7dMF5t;k6rpo!oh|$Wvb}_Gldvt;=`z=ZhQ-C@*IRZ_bn;+
z#q^-dtpA<+mX;eQVUTf5BUA0z%-&#bH6_T63K=bldU6EI>flfcvfG8&uJ+uW`-jT)
zVJn*Zw<B6|L|=RI2L#2%hg--A3JS??Q8<5)-z*2TnN@6_a*{YG_{0hnW7%|=B_$aA
zG#uk_i`FYK3{Zvtx0lV#(<|^RX&DGIHFx>GPe!4XX)_zIdNI!yg~l#;q~(yS|0}Bv
z%u<WS6a{nzXBo~b)yX^N7%f<Y1YxgY8=;H<hac#C=r$d^N8?B?ovEbVuK2^5gsfg4
zp!=3IJ?!~B2nl>`9zSG|xFM{+<nAw54w0_nkjahqo<D#2BV^qw#UyS4IfJHb!A%ja
zHjciuqNk5gko45X1I}*9d5OKZdQq<_mK9*Ob`8kIA3Q_8MwW|DFl~;<h;M;5mgx;B
zp<NypbEMR!GaUedy@EnT5Fsr0J#9mWNX`Q|cXzTfPSg7X7YXKBrIy(XcAIeMDP^8d
zZxL|A6!AQ1YR%`Ys9K*4FeO-&Ei3|?)d*?FDmn(&-`0PJ(xdHa1dmeHu}PxEatrqr
zd`A@-bg9!-gSoVn_yGg+1YtC~zyonjV1D+Dxj;!bMX|+!)^M$pn^&7J#RWQ6)G^qa
zIlGI7G0(-{EJX?x54|8eVHn_8=K{kAqK*Fd5&MSxug-~7`Lu<=u<S?A_~d+_w@bhK
z{I@AOt?uUTZ=aV=Y+{=<WMYF+h$SGQl)uA*#%X$CmIE_D2LBA!u{%V9Zz^KGK|s~-
z&1QqM^I(G=91_tUUE5bk4>}bf=>={Mp``#4g948Kw|(B2&D6+fQ*V>@2FI$S0F<Df
zf`-ANg2{`WmOMmdrd=*+_-kG@cVJh7M-2|QUOajEv~v$fh}lnyRQwDfg2{IVSAJ1J
zTE(psP-T9*fMTy;L=0JLGdo9uTSLp*ymP>JLWyWeA#W|X6dU;H!x#vYd(J(3qw2==
zMs)(u&;taf;+RuKkT!u{a};DRd3^VDI5~UYgM-{ZAP~-HD|15(tm7Qthp`!KHgE=s
zY7b?uP9e?O>w?~z4xVH6TQ`E3;cgWvh-G9N9KuZ|H~#5OOsS8Tm<lMYn?y__@Ldnq
zMu|uWih3QRre<B^)i2MU{z{m){e%TywVImp)`4*|g!o#+5DDfL%#8pBpK6gcOjfW%
zM)VD_Tho(J(`(?k6|)4fY0zt9bEw3=GuF#uaKe<=%uP{;mi8G%C5>w@$;=*NKfXZt
z5dBl7iM{^ebqXq@(a<8jc&$SXM1qfgq8j>n9V_G34(+>!Swbd6i$0Z-McM2kkL_6#
z*dSS~s>i*^R#Jy!>X>vSw0er8`jvnAmw$ol&PuiEcVIE%lUe}8XIVPmz@U~Y-MLhy
z1Nh*-r65N&v~*{4Ygsk&dE6~ot*tvt8?&9z3Q!Yr&{@~B|ChCCTPhs->H|Epx`eZ=
zzVE#pz}4$xcY4;N*K%kdJzfw0U!r}~r#P665dt5^XDQOGL}!KRm1@}hx>6P2rE(Ih
z9$9V~MW_Ag5WxW09Gr)??p~_S@UXiPYTUbQjm<09*t&9!?WHxO(GIZU!~Fn@vt%ep
zMUhn#AlUqEaWjKcZsvO_g_=t_SSK`*W7@+Is!t`S4Jb~pA<FcRj;gZwZxiYix@;<l
zh|hu?fN1dzkg5Dq_(aISHK461`adkBeh&W9Pb2ODSPq;#Zyao*AF2bzQhIFU4pp(v
z{q4{)=x{%1X42ebYEEBHlLQ68E%V;Ltgb^fsI}m+Y8fT#C~8_ZFto|4A^3Cz1Lzj~
z9R70jf~aX=7+!oX6$6}hI)=Bw$d~hEPD!qD1&Uhq7SYe#E^UDQdjLp&b$~U}8Pvs8
zD;Bkg6B(m;vyg6B5A4*QTl*^h$`LGpMdBe1hcRLCdKvZdH9um^$&$ZVh;WXsf6tN4
z;WTm0-(CvUsA)uGNnU}8uRa^y2x$(&@%=KCZA~;(<&BKQn6{O-&AFtVB!_D@b+%m{
zp40w}C~k6tY4Kb!3W*e3$w5p0qdJbe&w8_>jm1oCTGC~34*C>lW+tjGg>!6W3C^L7
z#W=fWb{V9j689-sr*@X09a~w9HzKdGoLmNN6f@oNQ_zmhEWtW9vKZ@3(<@Prhbf7#
zxmsrB%c+^miL4NSMo6Z{*xH>HSvK)9#nMo86(D<FqEgcV?q)LBzvswiU;w_hQe-bL
zg(eJ-4g=q$s0ad7Tsu)=<|8}dD(6|Qvs?yWwS#{QU2{;?nn8sSLUci^L5&ME;B4o}
za;ZV6Ivi<aRg0r0n*s_X8nbjz$-F<b5qzWbHYmCb$quaTvH?Sq$uChLD9gCEv#61A
z1~s@#lx4BYLJzb43RQ|VScht`Lh2A%*|LP7M7k8?dELra$5>BCbFfapWJkjld^JJF
zz-R*OZ=zY~MqE|OF@ure2tJ%NtHgnX^8YuEgS`F$Ia*b2<LQc)9T|LNU2y}Co2zIm
zidW335KqNveu`0Nim6j?QzJYu%<MyM2L-L|*x%N?R1ru36B(<1dHnK+e>{7>|0~Qe
zegST>3wh2wP$-zM0ybu7V<&@^lO2e>ONoP|NqAlM(Ib@2C`79ad^-3nTGF(!bF3B6
z8iq9*1X)W*8nn#fIK+~EhSLQ&0CAoj;*MXP{dMSdoamI%s6!9rfIQ9v6rjgDeczpX
zkoNHG9Ohv4lsz$z1+#o>s)uJVsF#EYGyG`6*ltBAoZ;xi=C`y6man~Sf$|Hv``56Q
zq#Hy4v5bIAFi6#(zWNECs0qdP@%Xm$3&-Ktj@BfzjpAtD{O<zk9}-ddY9P$b4+t72
zZI1<q?<`E$tC>yM%*~rHH`@nB=b8cg@tzX=s-_=LVpT-qXb8_E1k!}zu;Y!8P0#Jp
zvhiXPSu?>_Zod{6!4Q~*7)D+(W1ZzH+h}u&w9sVTQ$T*pg9m;1=S}q(m?Me<&Z3s>
zNS;mcfKaY5I!FrViQ)7u1#;(yZZ^U5C)dJxA}Y#_rSuxBKMg)(f1?m%c^%qV#dyn{
zPD;u8^@Iu8F%1t<A$Pox*0uCD0*InAy)$J&6ejly5zI>CB%hwNi^+{`P3YOvYRf$N
ztW}uHij`{ts+9lM7hhEqGIl16w?fp~$=(V}HS>l?7O=G+s-z<X36u_DgE*n<p079N
z@MV5kb#AgWG`a6APUDG%8~CrepR8th&>l2SDR@=-9=Vz%$$Zy%e#OT`UodTa>Ftc;
zBFfFIyOigs90HBjqL&&%`W+~)V@m5U^HoH^VPvjBdLkUR0UC3q_KX-{`B;R(zhKsk
zM^JL$qk*$NtYNbWwyoo8g=qUA)fgij1#++~t#gL5(5>Skgd3QkmD)4RRde`GE~w}O
z?!3ZXQNBpvoZA>E=G*F8T<XM~dU^La<Bnq$K)}r0PIu*G2kW~SPBa>vG7(X54J400
zcW`1KXZ3D8tp|}9l0c6pSMcOKmynk8b8wrL_j7t@0<U}5xEmQJJZ)In4Xu!9T5h0P
z`Ex<^xo89GKNWF_T98MY3PuidLOd@=L@6}r()6N_gy3`>Xpyug*4zJm17{lMYNuxe
zV%Oo1F`)K>K!oT)jY)cm551_cWWdWvRS}T`?~WV{yD(=M19)V8#Mz`RI_$O$uX%9r
zzDT&Rw|^2<R5&9IqjTA^s3^=@A=Ch5y_ZV~dC*<*!zvH;fJ&{+2CdT>;AP-2pAbGF
zO~HYHi#`d6>js2kQyYQ+X_-x}ws^fvxvm<G1f&t3;P*xc-9vyVz0gG?0=_50Xor%|
zqib?wL9di445A=T_G`9UnR|+sCdzYDyeH#h_<6WM>crI@L0EfFx{shyiOS_1Ft0V2
zoaVgInE6hDe0vePO64XV_o_p-?B~);XRAyda}9o$kX+P=e%2&eWwgXv^^8#(#-FiA
zhhwoBIs;jsEltD!P1?K1IaXEa-_=diU5!wkZW;&|G2Gg45o2>PB51e>CBr3hjfixb
z1}qdI(hZajYIJZWqs;s=Gk%~%;LVH(C4xjnED<mwVu^qe0V9JD5G8UmB47l@-}^i#
zd+n@sdY^g!c+ZE!s`brt)?Rz<eJ(jUNq_W1?w_l}8RD?$LLNH@|0!^M7ZyJ$fgj-B
z_`-|_(|ymxkM85FCs(k;_T+KR@B^T(m$BzSacy^k|CdTxO+I8ds&+KDdHu)z&pv-g
z%5O)x&!he0jKkA+>=Dw)O?-qjdhE%MLg<gt_Z(FPci#*>j;;iFeIQSZ<1zuK_dPS~
z3K@6Jet>)Ljlj`Q24(Q$5`0>YZ=CRHKEA1mpSyEk&D(5rkq`}a6w1emK77Kz{2PsI
z^uOS<=NmmvKPqTY&pzOy00ZhCzaLF<aE=Ooe_^=$aDT=nf&Vw--EVASPP}FRw<n#m
zhr4@pvmx4<hr1mIDi=Let@pU$Yk`x+@cM4}g|W~OX{L81rmqS%EFr&g&TChB_=DG>
z%m?EV?b6XZi0BgSE&J#H_ihbSjRxa?d6rjaXZ{X7<jb!I^9PZc3U=D)L2X_I51+L5
zr&R2;#YiU)X{n3Q=pVP^GbF=*wssiL|JxAJPg>(&T|5Kd`-*;D4!_dojuFwQME_`P
zG+yq~6yvK8sk}7d?{8!>#}Ci%{D+@D9+htR!E$s#JG=?vf5q8d`$qL0ejR5g^$!dV
zf9=-Yz~CjZ(G8~!kIud(=+fGcuK(olH~c=y$Le%p4voIAh-10?4KW#6{X2g?v)J!T
z%K==f6a5f{s;!&8d_*=Hc7Gup9Sg9>sL^u=GfuVWZI3I0zkMQIihg2pc(yU!a6i41
zS&N_ck1ltI&p~gds^i~f^1Y*JdUzu}*zV}<hnl}k=3M+95@y|y@{(Skz42CqCr|!k
zHhd^`cmJ$;luq=Z<+?&<zjgT5-*EgQghLuAp8Ukmmk<A~+ejWgdWj>6`vFb0SKumz
zm`^Fl_uQf}i4L)xccZO_<p9D|AKj)K#mBh_|HT&fBbvh|hAoV?z(4nf0t}x^$M?KO
zFGRmqgh;1mj>fNd41X4Tcv&d=&5T~gc+@!d^$YND8NTn0=fTge;AcRi?-~2w*JKBV
zQ)+neHTrjV{PXZ{+5a6$hofjNz7zNH)NdkUKsj-vE)CC6nYZk}Us8lo0poA3W8*&j
zt+Zin_~RnO-^kzSo??6}_lwq}J3DT7W{v;9vt$3FH{2h`)24WDfI&YISM_g>93=da
zH)D6lzvzir!&}9;-yFRby{Y7vdh8~6IbjQ))Uhw(|LzH2`92bFdqg3zEgDh#m-#*m
z_qfeu_@g&@&_|sdrJ^@bGY*sW@S_ese)27&Q?Q(qxGyn*C=deTw!1r;s667wm*H1R
zqDdTWAN>`b-J+cx&rstn*6_Hq`$jEG*3uPJpEp3Wn9(Pnc@CZ<j(&*8JZQ>)4cv<k
zJ+Ja{{Ibpz?rP%OZv1&<j6w7z62`#yx%S-)|HtnxzW0!$ap`+L?i#P<FD7OV#?LuM
z8?MJa*60J7Gxm=Do$;vc6Q=luMt6bE+h*LO)~-W76}(gAv#<EfIr=wD@V!#JZTu)c
z2N>NbAH~5x&4*(uH-;JyV&YdE=^S$WVVR?FX?89qm%qJ^N6SYWPHoswIpD2tz38Hg
z@Lfvi@KeR>&fNRF^FQ=f{NrTYZv9(NUw;O^<{LSCSEee_wx|p~43QhX!(Eyu*{EJS
z<83Ow2#&i{W3nuiKN9Q$aISutxa_VvoT3LCzuuMCk2v&D9L<k7=EU7I`|iE}-usM=
z?Tvq4ZNu8rVK<yVv{UjI-X5>rdp*8=xHsp|ndgt~9gz*#_1&NNCdAm@A39H5-YOZ}
zn@^hK9opF5r>|eHa{B-KX9fYJ--{V+A|<Zav7^Y<;$HyU9_u3Y+UU<s$8*l<!)}39
zwi|am4ZB)#*S-vu*#9Uyy%^b^{#&pnw7)b%!PwZ*HT;k5Z$b}?Y|r)&!YX-1uTP{d
zqXvuE@!rt)|Cj9v@>mnvKWTQj#qu^R+uwBPoAwU@i?x5XYfr4(YGic#9Gm}r`$a_;
z&j--k9|4+>|I~D}#e#RSPRw7n6H9&^R%t&P?}?RvWPcIW*|D+Zkw5yM=xINIRpJfn
zzp_76%J!dm=xw7-`BzH2j4k7;Iop52fwFzU=S$2SWTIKwqL*A=ThLBml|03=|4Xrk
z+uwA7OLWPbpwWx;U$c$=M$lnBQZ_xnXdaE`>2Oo<D6ff>oj2fbpkhMm>RJMi@)+&!
zKF*Rzzj2)CXzIszC||H*l+SR!jO}|3UK$_qs|!QvSQΠ#tQJgH5AYNQuXvcb941
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%0A?;wF8HmUHZUNP$|Wu|8<AN5hb7I;rqib?x1~6
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
literal 878640
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℘8
z-d3rG>JS=N9m54Du!HoC8P;&;1^4e@eQRJa+l!6g{*7!Pu=fz>jdAIAE>><)s;Uw>
zp9>Z`1-=@gH~-|g`KK|iras^6W8YTP0#~4{eWDt&&})30=0kd@)_Y+lB#3RO@KJri
zMpVzeD<{8It&Adw-Zi)z?*PC<Zt^kM)ioO}FAUPBwr8NmNCiYgYI&ZmqdDJ=S0bgU
z(d*7lQWNdYPcfw!LtP-!$olV9JKLRYT1GfSCcu|5@y^Nco{luTJnVuqTC43LrZ!?R
zA)WNMsHI$NkqQmHb)Lm?tl=;qf`Kd-?t{*-++zzCF0lC*t5fV-WTzob$L9p;KHX;o
z)#6|RP7Gn5M%fCPd47nIA&q)^mJI9e<~FQFqFYtVU+SF(knOh_;twr<PsB`6;A-Ut
zC`;magEfuCxZb7QSHq^U7zelZX8JON*|gL?ybZgQyODZ^S=D6}&CM`P_(dOj^xw_0
zqH`+SC<oPz1tTg^Foeo@gc(G<*y1*M4dWsV5gO7Jvs7lBCT3s@bE#I41`qqo8A@IR
zD5j@2Eu;t30+sAZY>gM&GrnLRejj;lJs=!6^E*5C(Y!}Zy30GsykTAe#@HdVEO>=C
z-QP3Z+qX<@4b!i^Wc#p9G?&>J1vcSD*-WNyW4tAy*~=&}7r({GU#3LnLb0&{B8O*D
z)n}-eYjSAZx|;Njt_)wX=^E_Vk42J>K~⪻KJShn$5B?8Y>qVS?Ki-wee{%uA)fG
zp_RI*2t)mQ_x9j5Yf<Q;V#vV%Qj+L|MKGr&hPtQ}#Ne3Iy_6U^yhC2JRqmqF!A4ee
z!j~EgV^yXl#e6BrTtWnvdr$w~{)HEie;e9_fu>Lq;_-{`FE-*~Z+XOBv<@LUh6fF*
z?730AQBUJ>gAV*twx}RR$Tcxg3Q5p&JfP`FQkOY<7zpmW7`bYXT3EE{F<r^<a=a^P
zyw)gft0}6hXmNDdB}y07m1PmxPN5ZFUR0bG379kxY-;Dqy4M$~%y@sksXq+KyJ~&9
zn({tAd>~^C(@+q@OgNUu2YZ9|$OhL0sLClFs@QVr-0Sx1HZEf|Niq-z3!!=F815P3
z9J6|xqA_mE7JI2(5PjG);uxiwRtV8qzIF<0E}X=gOH5;pY<J=q&&mcim~>$sQu5L0
zKg7oIJy;!Y3TxLPYvWNm<6)m|xo+>Ebbn9RK)>v?glL>Kik9$~mQenXLg3dOU5|F)
z1)ZXdPVDZ&Mz<14L&JDv5a)A*tt<*tt!cJT+7rywNcnN#DE$zU<(NVhOi6R)7845v
z9YrsfX+_@3mAY=k#aDcc<|s~eQR=C<r3vPPr8EJ4B5k5HR%)Tp+{7G=an&xo1s7bP
zc^?=Ec|R)W0Ng!bP^YF&yr8jnkd}(ys=G?TF|x^MT<xe56!}O0NM*75cr)Ir!2j$0
z&dkt$^tP<d#amd3MWe<filUU}nuFbp+!!Af9k+_niyErv9PMJ*Dds87LTRGv@y*r5
ziRo{+o%#l23R!09!+Wf7augOFTCJL@_JRs98-b_mlTc>tI-(|KOv9;5!r!t9um0+&
zoBaFk)Wz-822;}hwtKhUcc<ZRCSSXZ@)D;4L`T~q(OiEnjcPnSl;&1OHg`(3G<QOA
zwlPkFf9LjH_iVe(-=cc3d%0Y7HyTQm^Sv;8SEj??&yS^a^=EQE+L2zqM1%)c<?wUn
zFCI#650b-{vv4CAn8Iji-)6aMJS?j1S0}2KMo_~_q-Ki0Iix1_up9F=;qu-XDMIpI
zH1BqNKwuEB2hx=4*@PSaw1@Rjf)iomnp^OqWq1E@PnX|~VlbnHAX0a9q;3;QRzmbZ
zAc%AqB8AJ&YA}n9UQjHd)=d>Q8bEVf)tz805D&G@;Ue2XZA16NM!cK%!`{J3&S2me
zX5SOR4yhXQykrDh%MKnEa^VEpBceofCw8^(WfaG8*w9FO1~<m=Fr?K0`MO!tL-&nr
zr~_wo?!`?L$hQ+v0>P!6n9;v#Q$q<o5|xl1J#vb(D9fnv3nw+qq^!YK;3;NEtb1uB
zX)3%@ReByY+ql8Ll49(qAZ<Bt*)Rvy)V7u$E(X?Pg~eQ9=}4>uS)+O{d6JfKoZa}}
zN>!BOLpM8XCIbO%fROPMzo<oY)9?`Eo8C!xabc6;zME;NB!i5w+2T67Dtb4LjMhqQ
zQ)<68X3}*zCUtc;jPzv4sR!tK(QIfx_WY(Zm`1=0bX*nU$1Jd~I*dx25VuhEbU(De
z6T6JfxMzQ7nnN`e739ve5-IBxqO@R^6sSZI#c_>X;UiiSVq9kk5;3?=%fcC}tc(fO
zR$;YihZ|lw(%=Ljhl{vs#Jhle?vp1S8NABKHYcx>WHAwF@+FTB@J2YSZK$HRwaB2s
zl(Y6-RnC~|#=aQ3fn+r7W%SHFc+*(C#Ar<rBUu%_6JL$v-H7V69^KQ<O`GxTi~C0I
zt(e(tQkyziDT4v_29B&?G|h9HewEl}NPO2$B~VqGjTC}xTfK&qiPmlld&oOg1j(L?
z70RjVHPqyW$y5$1FElDcHdAR96_o(!s!ptQ)yhbap_V2q4<=XA2*`iMtU|@k9%pU|
zMPICi=u%nO4kaF_rynBJb<V#-M#<7^BA?+x(?ep*%+kdmEoqcQGnv&3Khax{8tl=U
zx-)n+0K2kv{Sj<`whPOU2HJyf#i?mcU0e0+SQB3jH9N}ra*cd}Mo+J0b4_??6AB*e
z$;1;zcL$b(@xBCFZu>qKy48!jO{x+F8C91Y#v6hNk{-Yk5V~s=k~)S;+)}ig5+~NA
zOi19`C||y9@R!TCZe*t&rjk`A9>p>jYb?Kl1D&nQrG5ra`kbJ?&6nF4`*w9^GJ9;2
zdX6$Tr2Ub!rRqw3=5&BGrmaPRDru$a@*rp0FnAG>ZzL4iu#B0|@;T35yxOv9=ax2B
zr!|tO`rl2AJNr5C&^3k<LVyyYET$9Hmeb!Mf#K9*TG(<5W4+)?TR3Je)3ZnK^j#jD
zhoc8DB$)F+$OAj?e{jprIH$|;K(g)btr#Tt4c)=bs3o9sWS6R4-i7t^Q;86??=p{B
za%0)vo{@p>Ts-&+<Z5aXH?>5~3gOAQ53{F3gPlG5d?D!GP0t$H_vLXk$PF5CdFN_L
z5tjVm%^w$6Ir6#d(Y>W}g?ixLG5Nv@j=3jk>umX0kJC|#_0LuswFc`lrmw?WUj4m$
za+q7~--i}fTG^t{Z`-wfr|MwWp?g=ehFGDwj~{5$Yx;O^IG@Pl?Ncg|^OxY2S#i8#
zR6B8F(W15Zl9j5uoQxB*uIkM8L5gl%?C7ZetFSVxriS<?p|M~Sw)J-Ou|vRKW0ebO
zgxM>pI-A+cPs*s81Tm~WR01+&KeQ?$EzTG}FtxF*_`9u;$&d1omD*F9<6G~;gRoi}
zQe7AJF3anS8jY_E-g@QyXOMLxkL4gX(i$bP<4j(cvK#+^q?AvxwJUZ6rhduH9QF<2
zCMBvafz81kI{%C!!ybMOMD4ULrxJ1@S_Otdmk3R<8BJhgrj@cQAlt`PPjk<T(iDKk
z&`Hcr8e))RyQEj}of1hyN-K$_ZWgQR@WZ#v=oQ{?85ZS?!n=f`h9Ruzrd(7x%Q8MQ
z&Jte9ed&1n6YqKI61U2>I6=5)u%kDldpT^u9}N0w)rh+tx<*w?Xu5O_c40G9v7g_M
zy$twn8zvY7ks9jB>?w{AU`@KcEFd*48|>eYtq)=oIc<#NKF5C{ZIn0Z0$HsrZbq<_
zhk9!Z)NOt6+(C+rXXtH)XvRpAwz+VVR}O9Y^4y7QF>|KBr!!$qxE7zSsT=QEGo{XR
zw@kW|BF)PhsX#EDo*#o(EmKfq$XqK-j#XZQODR0rd8pFWx);S7o0JH?fFNqOMjRY3
zG~-;pJtNn6h$#*kk#x~x@FbwiC0cmg^;$%*oXbQud0HvYRy36w(W|!!tcR;cF|{?T
zJScA+6l=+<j!x4N<IT3-jsY_+#PcP-C%ZzAR`HGsHVQq8`h*uel^e@@wm#xZi<D4{
z3<))tO*A3>fU<<jEE+`Kkmncm#5{<dl~@W<JzmgNFh4Zl8l@4EV?(4XtU4Dnqrk#C
zH^#%)_)3>u5PTzBEn}eVuzX#<;pG}pS{Za^QlG$YVr(mt%1oS^DQ{fi7oSws!;5V)
z`5uA{Q1pl4IMEWW1=4L2vx-YnNB;FoM0=PNpBK?@U|0D-7K=L^x~orps@Kr9e<>G%
zyYWMC#lEk27BW@fN5z4$aq7}09CmNyca5m4&ByNXoP7BRUnIna3Tr?eh!3x=N|S_F
z(WUZGTCqy0O1VtZ2-jGADaoo_%C1(qgtET^V?*;D3h6gH@x`+iKaYni8L|y_!g}h9
z6s93ouIfm^4kV@-d9TT`u4&uEDvTn#Cg8w4S8FQhyX<~WzKe!R&h6#&u;TJke2u6m
z-xFhJr$!I75``7(MzI_*mbgSyLNhD6@v?C9r7SFUq`VP&2l=_h3)m1@FE4=~ZcvsK
zzfltj%7u`5Wrd(`qZL9^*}+G2jThx~`;IiDY(i(y1F4nn<h?6`MdPddK@;A!8r#6L
zLv!W7j5?~u>dr1w7b=c?1uDrmFUsjvIx8P27iE|^>K)R=Zq1U#Vet$#0mJ8XDyJG*
zY80-zFrPGX2vx}zpIKyZSsFvCKq)Mf7ES77ASfQWgcVE+tp`xbb8nV%7Wb4I7V3YU
zdaeZtPc@wss&;;vil|0d;>e+Nn2c_cow6{!c4YIhQb|`%AG9Ctt{_xY{gvo{H-)wm
zJ^+)6^GY$(rT>?dplWlQ{#O)aXqHHIcPPrc@tlCyqOdm#lV-AyF2grJ(5o5;2u;xH
zZn9)(sGV1PVaTsbM!$|r2F+Gzr3<RDZ!aB$UP?+*s;l$(QlhGVQvLElzbjv&8q6>8
z^Y}`LYVeDn%%ql~S#@nP;$clo5o5aIT&1dS+B`waReX$S#FPPsadsP^J6#Lb(Je&8
znyyYg*x^~51SLASW!g$}S6`d^TC&}eXx&zz!&$SM5{pj`CYH*S)sF@lD~TnKqnxXx
zvBD!Shz<d=`It0k<N{t835cQY7c~1iAcZ<b%CdI$1f<d)swj^6lrdB;pqH*07X?Sq
zLp2FZ`#O*r@;Q*~>wpw?K+zE!xy+<+KnqoQu<YxAR2(*g5nSk6$)Sx*x1&DJ>BDM_
zFI5(Ov#Jsjlan_P9P(^aKV$*De;>Y;5WF!>AF*cnWv{l6>f6$?Mds~>NEh9~(lgqc
zB&@BaEHfQ#$>Nvzv34KG(#~!KAw-JUv+S@;Eed#KVU{)|OZAEYMax>_u#~7}7LBrQ
zc38n|M8G3!Z8XcQ@9Px#5`mq^aOI&u%DUBI*)F0IB@5HnAz7gcD>Sm!J1pD3i?TL3
zEZf10tj!K9?D6C=#S))TdrFFRPgt%`lvZ2Ha(%*XMT&Z114PIYb~6&N@HtI~6|DFu
zj%dHm^_-GkmD;a!Jty1&QXW~Z=V+Fyvyv!TuICinbXzaibL?3k#iOisZXT^E(;~|)
zZQ6ws6(&8Uy<6JSr<m?es7%o<ZDCnCRI=RCRu8Mi^c2f2?c(H#VKPOxv?IDD(80t^
zO1Q+yjI2wEl2R|}5vc)Xx+PDUk##EJmOh!0^(x_d0GW|>E8%*9VmdDth@P$|kQrIW
z5^if_$z-#s-^gR$-4@4^=`h_^N0?FdE#dm2PF?kHrr0G%wm;$x8{{V_UH-8YNn*Gc
z6O=Mfi5Vs}o1i@wgUzncYK#In`b;PJS{Ej)@Ih|8FPPye{tb0wy&AJW@)0pelTfYU
z+R4%3_2f%ar<yjRDum4>jH_C!{!6Lh_kyZo>Sdrx{vAd8Xm(!F@-Ve({vZ)eAYZcx
zOm(4?;%X!QjuW%5UIlFG!*U3|s=E}n#vf;I!lxWMa(MAe%`)AP#wJRx)emFQjwG2$
z<^sR`wWgtw0sY=?a8KU!TIwTWPY>T0;I~x$;&%axufZ{f{hpf>Cs-7=Is8VKyksY0
zIN>a_kaAW03MU3W%gDkLOYexX64FvHRO0ieDsDJA`2d(7-!6ZSaLYDq=D2_Rrp@>x
z8(kTp<J%T`r-D3r^zZAy7epGd&V#0gqBRLZxt&2iBiOMwBa<G%P0YyB?3mzX*0HL(
zuc@a4dxkJ!%C}(o>NVqF?FU-pV{AEj?3KTmgw6lzbKdf7D&H>WuuW|f&<|(Dbdu^u
zAd%EuCbJLbf*^jdlL5Zf2}AJ>QhZ<lpM_c~94j+eOH-xTn;Giv?~-RwF{`zX00|g|
zW0RJWz}s_5Ku)u{ZtcYJa6OQ}&kX;M{f1o$aNbP6R34{Zk>k$gK7QY~=p^`qU3l%c
zt4Ev^_8S<^LKB`S7@r6eS5!G-uJISfLeUX{CRKk73-iG~MQ}b%OY?W$ryyL*H|9A-
zF@(BOjDpd%AxZHlS^O&smnaKSqGjQabX}?}M2VJ#Iqpl9g(%Uo_~p+_&0{%P{5r-Z
z%0iTAy}HmbTv(X+7nzO_*5$ZS1+7?c;PqF$63L!|uhvKcth7Qk9ze2sw;Pq7Ou37v
zFP<xJ&iQTlQ+J(%*{;2rIF(TElQ(7h<OB4KzX@;e=*!Khr}xMU=QsKI>?L0kzh~P$
z@=XnV{H<eeN49U3l9K5yiV!Wdgx*ZArV9_B(hX8l+UiSu`B1-PZW)9OIrwhByyK?w
z&2?ybKvk{Luhw3or|xXfVk)!nYqxkoUSAf?$){V}`cc}lUUv23&$aSffM^iqYh-A}
z9?jx2LegKD1_P4VhvBnA=+p7VL}|25%nLOw=ow1lo22*Ptz4umDVpRjDrH9eWfJBp
zE+(Yxq|+Vvcm%DA&z53;40?LC_rz*AOY*_a3wBV_ep!9^#R{#EN&S*+LM<TU7gj^Y
zF<AT7ADJ{8vZOyOb~_I*W%X9AK2f!mk$+ef-SZko;y{TW^0166hQf5^z)^I0@m}Ie
zhtboK%gv!on)h8@1e8zO>%S1RrbMZ5Di}JVMG8g@9LPzUq5WrEjOVVQVC*LgF_PBB
zl0z1gm};ykgT^%-YEvuLgF`%B*UiXRbX61bdXcYKDEx8(U02!&`GA^k&WaM(u9Y#Z
z`6Jc%nuqF=#mn*iv23<s`PSv~O-y9hd0)R$|NZdFcSVgyRIB|zc|5|*;<Lbf_m*Fw
z#6yWaWWgP}97$#jB3+3Tcknd_eq;qZ=sC)lGB0s)l@r&k{wKM3$oT@rF2eOfUUISC
zq_T#uu&Pg8C~pc$Qqux!@aE?)<X>3WgZ1b1ug!sfks9jZo!&a!DdSl&JU%{jO8McT
zLykWtC|Lik`fMhre3BgeDG>SwTMemtP1w7m2k$cUSDR1qg<!+tSMhZ#f>#CD%gSDO
z{PkJBx4?#9?FDte3u153CvCWIUtj-z><-0d&-92MyDxR#kztD$q^$L8`Nj0Zmt&QF
z{M=AcIi*%nd%W9Mys5RpHyd@_JzeS2yEmJ=*#S$iiM!U^#UG!-<AynOy0@6S_y9`r
zriqJ>dup9Sw{_fGi+5qq;BXBMcgo>YSN(%{a=aM(@?Cgo{4TBh1N-7h5Pz{ggZ|bx
z`3QVNX7HQ%C&7#+wr#rt^XVK0mhBkA7i#pO?*(?v=DPaKO?@x0D!wDt)3ql%VCfRv
z!w#rks3C`IGpLWK_#O-nbr1iGpGSG*%@?wm{4LC4RpIMbx?msOYZrTv8W@4i61TLh
zMdRH&fag(kWr5-NmrAshd>JYH{*0#FjE}Qm8h5b2rzbO5GzVuJ%2wM8=X~vjavt4Q
z1X?|c>ejEzKnlW`yO{kP-?@*Z1hsMqOM?U5{e2@vnp>c~*sqSiP>Mf&bqOuaEx%;$
z@GONtiC$EySiC{u;^SDk?hr%!Td`o2lu+qixM0@(lB##(p);%&i$|qfEE^22N=b$l
z6i+6Srey_Hyf;0Ete~=^Gbo>8v1+G#)7cVnI>n$-?Hk7Es6?7(1&u4eZCA?EEc{&z
zReShqCH}UQBTci`8&(eQR;fQhuBMurBs-e5$*{8cTkCz<PP7-cIK?Wu1^Q2RpKACL
z5ETpmmu;+Wy^v>=Z>+GEknO-+Wa*)^V6|FUySk+rv+$)c0&d_SE$eQ%5I1lWtYck>
z8#qhLx?3;A4P2&WUE)IAz;RmEt)H7~HO(k!%n)z}*FCfyT8h=F6H}O3>}%#{74c51
z6*b@nHp`?3np#%nZIVtP;089!W-^(UH3{}2b`Jo);oi9|a6ZFTPg$1Qnrrnb(x~!}
z@0FCZ=H6WFfA~SaVjphXBH#v%qVk=n7y&o1gYum@xq%&&@65?{d}j_WH@WM|zjq+p
zX&K7OoYohA%i3^r_}V1iRYRlV#!y^VaKq&{F|mMyX#+S!sPGgQ|Cg=iiC?^$%W}ft
z@Bq}b{6%NQs^b4YdvCWK*O8<Na?8qkRB3Hvvay~S?ONH|Atf6DQYD21Knh|>6n-h9
z3k1*rSf%Pln;J+Yh-~7oG6DXy$z<~g`w+XgYkR$Ku$TJ=W41T@0DHAJyWi*T@q6NA
zCMc>~)y*swk$FypM}&umhll?K*m@g6R5lJ@&QB5ff4!h9$9oNwheFqgY=}+p5JBh5
zy($zmc+t|M1}Ywb&WkVS$&KAZ+449#K|qyp)CwBBXj#am-x)N&)MmqSXS>7KNZxtY
zj;eTgDgJ5&tz5Lk23I-mIAUKe8E?I;m5a#w<l?G*d3p`qW<&-KUQE(QZHfylHn=Lt
zmu}u{2*{4whXU1cL~R%UHj**}<A2P71ZngSFOmgkWAzw;4nLbOE8*wh3@NtbgJHm{
zA01*Ep+bn@7!1!+o<YAtZW)SbiLj^l&o6QDcZ_Z=fqxsZgS#t#6n2hqV@K$bCz#MF
z7NCY(3}P2R)c8Iz@xYInvAKo&ahJ5guyE#!ul-zMHm~~EezVcqfz2G8g8Bk@eI2;V
zB`*uU^eahUBZZeSpR@jDEHmnB<l(Z{-3yl(?}DVDuLCZ-m)D_X_Zo#7XO|fnMq;vA
zTEjiZy_fjEHK<*giTI=1Z>T(!B32+`WW!Xvw*nEzxgH+2uTQ*4?g|84v%p2YK)^N&
z^y&rRo?{3_fjY)!=7PXN2$8H}eTdlDasQCH7B%Cuqu!aAf1Q<@U=X$2a8iNXn)o~_
za0$77c;@ylU%)e%J_|fQbep~};AvJ09G+eo|F8l`_UrlpNxFLxD9;Lf5ek6)xS0%W
zKTw`Z;(oFxp}o~{v^VB(-ya-B>x`Yk$2#sY17<h8KEr*H{fKpHp+H81<Af>3kUAdH
z;puhn>f+)mIZhiSkLSa|1+qvKk5+*wp$figFU-u|?R3Hb6w<73E-DnrM+*h4bN!tn
z6L->mErfp?SN+->VLmiV2@YmS=(MkJMV+JhQ7tm{+(<rCo@<YdA$)&u!FaEI^+K1c
z4l)Q&zQDot5xe9F!3*cUz>5o5n?eD<efk1S$InKzi7@I=p!Wi~NhcUKDC~`f?N_Dg
z31L*~4qjhUOxMx7&V@Y-Qvru>*x%1MDRKFH81Xx$boZ~8#J^31gT?UU#&d+53)~1?
ztM0G19!4bhrzQfAE9pib7BJEj4w0vwW3Pc%xMB4nulvC>!BYK{q-DdDlN8*BD^~bO
zQq{8fw*gy4R1vf{IK&oH0b<<N7w{GnZOd?zzwS6%S1y#lcKHi&={)zF{PmoxtqUQ4
zJ?~ztCL@1+&%IXVMgID}d#&oO{PpMVwd%R@*9g;=d`L5@;L2Zr;a;m|D}TM@UN0BN
zz3g7E6ko55e!V*S_1fsymj1CdQ*0Y#ZR0M#cJpmyDsG|Jxy|4O`q$d{H=)c!L<!Tc
zVNsS5qHFQnv1IoSVP1$q);OrhuZ+G;@y|tZ#3RC8#Wu9ai=g-zC?09f{b?aOSCrva
zdSQb48PlXpDU%<u_c;@YtAH&AeNJKHEH6G9=y2Q(z@8Tv6N1j5`WE3X3{M;)I2*S_
z1LB^U-c|P`-1+)@IH$r16<vgzDsZ3<EDe~1N7dQE^Io;Qw4?Wz=|F1L3$4q{sq2yU
zfR0DS>WA`lx+USF$r#|-hEH&ylD>=cRE$W@=Nv6{@q{|`05x%00cig?)DVH}LaRR4
zS`vN`xS34L=-k`vN6_|hLtXEZ_ZGqN0KI{CwO)Q1w~i4qf%lK?r}TmHFwJOzdVr|6
z)lXm)@fM9ebvuJcasx&)bO=Gt!w)pZ399B3VfWlSEMhy<#0;nzf0VeOC7_Go83Xae
z+&a-T7S?U^aI^0EKIHvw)fTiBeJc~gYYTI>HS>Mv?%nzC?}5sbg`??>d`I<*>n<1K
zGVWYn!qSI4zGD~VAc~Xp1b^$s&psU~$qT;5O?6fn8vqg-A$bNJLRizT&iZ(!^D&~~
zn4%t@!cwLYu2y>@CPITByHnsbgaMNclCmI?Wu*Gsgi3gOfOM1KbmHQKJ(^WaUMN*b
zibI@Wag!gC;#da77O>s1ipdnED$+vt<VreZ`=9NWT6_~x+6Rgs%*S94!2wL&C>x<q
z(Ex`9gfzEbAb7&OFZmVj2r!CZm15#0IAM_>%b)$YqOe*di_y9g9KiI=;_EGrmVl}G
zPd>!FJv&GK&iW^T==x#Bq?Y*XvUldbE8LYR&?pJZ3y=XOR0GB#GI&D<$YR)~bngH_
z*Dv2w-6b+;`ZI!w+qTmWyqkc0*yP|yz>YEz4`Gru7}m+(K)=^Lx4md5YzF3md=WoJ
zEE%jAI09jFL0%u+4jv{m>C1lgy>cIifN4f#WxYf8b3f!{vAbQ8FhCe#poGE2j$v?s
zirleFabFV-X=Vu#*lK;{CGZ2rLUf;Nghf&!{jra%i7hU$Q6D&d6Gyl<TKkJ@9VnPk
zTj1{TD$a}Bq>_1A_?MfP!WeaKjj&bP(rp^rp5y*A6>DYSV3wFEUC)gZoC0z)ydh!-
zjHFiqhw+?q)0N#9d#O3BNmt{}J$wi%w+`akGFs(jHm)yuhg%HW2uT1oc2p>ldxYy_
z9S%o3Ze#c<sFAzFsLu_l5v%h4JWm(8hW$Z>beKy@WN9E;_i<aYFi46S=eXoR*q$p9
z{oN-+;6kSU77-9RlZxO<EtQXmer%C2yvHjD-I$v#^qD-Z)Mt=}|Gd>s$AH<w$WEX2
zFWwZ>UdYT)4Um3d;mcb^HJW(axPG%<-vrk<wALxQNF5mh%hZt-a+n^6=bQ8xXRAV&
z3*^j0SoBFcOxho@or8+v{aki`guLY+vQ>$AA_|42@?s5*7LwzrF7tF2S!whFci3P_
z$65PVjn}HO7}~|DNccGAcDwO+fEc$_N1`K;8lo;hVVnohX~YO6MImgs<}Lb(JNC}j
zlbdn!9AgSKmn&k9Ri{Qs2Bxz~SeBlX>J9LT9mI$VhE+(tQPb_9$h1G4X;C(J&q{xZ
z8Y#0YK_f)Xfceg~wGK}V#<gvI5s0Y3_=U9*Vv6|!72+<N^{w_Y1%jyBSzsoO)#eya
zT|IeX)#u{sp6xfcYSq`CuyI}r8_reJ5ahxT*cW5RjeWU4pY-KkT-|S*&3&=z<-XWi
ziI^*Xh|aa$rIoRi>1vy-v9!Fkv*(@_{u1uq3DVDUj(AtR7(2!a!VZ!M#L*!GJF^*W
z$-Wq*t&*Ye4N6h1*@X&P$ki<eA^*G2Gc)eszM}kx0CZDX^44Vhn*ChJyq{@L2*j2{
zO%fG_UnF0o4JKPO;(#=5a9Sq*h4MJQ&6ArfxDz37`F<r#jOhYe@G1DztqjM<QxLW)
zjM*>|!NH4zJ_5oK(3Bz5qF5S`iQ7GY1Ts5+4#-^ivB-q6R0UO1q=d?VDj6}OvaNjM
zEhBvE$h7c!0s+`hvfG8pns<2?v=7>q7B00tYO9^Tc-&s?KnU{|m^_1HyJp2?Q(JUJ
z@t3Px_HGJ_LZPa@PBgnjN8T+c3YaTk2gw6a(^LaIcr`S|h7`1(jIg_dR}Q1D@N08J
zY!68Ze0#B))M>I~*@W$hei-KjGG$S0$N*)yc+$|GwZIBsMhozH;fKo^=2<8u5hQyR
zG_!1GO`aPcQvpbThkue`r42yhFu3>U1K3bCYC!i==%{2aLJ@o`HUKT@<iKVA6PW%-
z0vz|PPysr@CppVDm*)VFF3vyZ&32fd*H^eU`q|C4mvJXt*SMZ^FOH|M?51%?;zG5I
z%*blEAQQOsXWMsNK;+_gTtK<N$~!KQvY3C(T)-=f-kb>(H3tIMv7+$zXD<rq&gnXw
zYzAsi=Nj?*a%nGib@|ut%PIi8@xBaa)pz@HB$fRfS7gxq#uQNhp6|;rLe}<W)hWJP
zlCm%VESKcUyCwPa-z4AGl2nD>TV9ThYI8j}=7;5!krXzjf0?864Hu_+#l=V0WL$4+
zzeM!MyZ!Rt$bM-$#W!D_<IPBpMw_Hp_g?@0nXb*m^RTc&-`3iEw{iabH%{k53Ef-U
zDdI#M46hyb{>JL!cyn?tm!ph%ZbfBAJ@>fwx3uPH1)Lsh*2_WdtC5dJT^b~~4HHnV
zyG`fNxmwTA1}1)0ndsq-XxiL9Y=P&Iiy&L5hPdVcu4;(vqE1i@iqzA^!Ut;?K+zfq
zqplbeO}`(XAWBt`E^}_SCH6z742-K38j%{9`d~6ti=j2B)<WgN4GrF(Z;6r6H5gYZ
zHwblh(jZEWGt(yX39T%QgxOq)@^@M+OC&{0vzL>3Z|HUuQ9z5a&UDvmj7u6S|JdhB
zVeTJ#_t9Q2D+lpWuha4t%#>`{c2AO6&xo*On@g+9FIeKl15v1!ZV)iwjI}Q2aQ3U0
zy$V-r_p19$j67r_CNV&Qw&W(glBF>L5-nKbjr^kcsSnv3oXp8loGFS7C<CZAOW+7O
z=yCNQS1lRTP!Miwc&s5ag9*(IvIZiDGg6_ii#_x3H9Tssu95NUh^`jQHdrSaWFSP#
zGQqibrS?)U--bN~c9l5&ZFPl&rk*6t%2|j1Q<9{c;yIca-<aaYnPBU9b`%E+dqaw=
z(~`M8s{vD^ME*@vl1wKZ3o}+o@;>dKfgWWC0+UO45TrnHgKFoqX1{H**Q{yTZj45x
z$j$?4Mdj_8FPojQf>rlRWR(w}ad7=zh}q(!=xW|la$a>jDS<a$r)V}l#EGfDt^6B$
z$5sxG{_%QvrS8-2jrsN;64?=YJvQL6RWi1U@_2>mmUVI*I832nvk{)L>YAaI{Zn`;
zXC4PH*i{o_u=H<RQ_0J`x(+tL<E`$vKtavQiTRfuGeAkt3{Zr#(J<E3G@X!RHpMQG
z#q~A+>m7JRNR<?_OqtrIKU8~QD~O#GMxVJ%VEHt?f}@Xaps?hZy$0Ob^7k6U=Q~zs
zZXjXv<fV=S$2JWXgXfEdQb}D~o1_vix${LCo)8m~|KcXxN`WE_4)RL&F`&XSVyJbX
z0#I2C?uKw@z6`61P?|~T^5}PPb5|(!HHd8?pDo>4-p<@Kd33zt+{lT#fJKZ~oHZ0Z
z%XAEx>pTFXtD})~EyeCii7-P=^Bzq*gPR=W0_X@VC(AVeiJMm@!!K<#ovLHYGHR-4
zOTF*K2BfL`a}Qt;!<z6U3sTFtDJf6sLU6@~JTcbWa$o_F+gU!Cm5Bzk!KyNv2^-M1
zilgy;4PT<sNK5X`_{Pw}4A3?I(=Ma8#Nluu-e}6XF^2;~5(YtbN4mEqWu&gS6k6}x
z8@Gz2M6`+kPhl^Vn5Ph31i5h)30R>)Yrs~KoZd=4VveKOD)PQzby`pw%Nht<0C|ic
zC$N8Rv%<O!LCMk~(T!|`pk*Y+a3r9Qtq}RrQo1c9v*1X&*hqk?W3mRAs!3qK{mnu4
z7dbQe`;jI($2XtbHQ>A`7wFjc!#2jF=lR7sB!!?dsh(&c>>3hOzODiD`<US|12!=r
zzmna2WPlLqs~s5UW+{R=+|(+&?|~`eafuZi$8o-fC*;E!tff1Z;2D4Y;g{`FsvCXW
z9p_s&#;1-AL@^N7II_Nv^`{dlFFPYRRQbPHq9MS-<kI|v&ICjQNg;{LH?XcIqAuTp
zeZdNXq9M{;)D=WYl}x1dH$chNEJ?}Y4~z>Q+M*^w>NFfy#?(uivm2zQTgz+TtZ$09
z?H?Ym<8rWZpZ#hB&frj)AaB6=GydiBFmQ;D#6oHRQ*Yn{w#u!NUU4XWsN~q(=6>~!
zMaK9W4w?(&P12gk@Nn_*V<ltaA)r6_6EYfM;Woh14c<;69G)i+27X*YtLqM)3Lt6K
zHz<y*mp#N~j{E2+&wGeMIlQ<YUp{Hik8Wpedu?fNTwCG2Fvl(xdyI5a>LH_pmb3UN
zw>ob1<)D()cz%6)nit4^C#?#T@{_^qdNN*>Rd$jm0~7pVq*f+=U`xN_&bMfcmp^<M
z8to!eS<WKCBlSEii-9FRY#lTChn<oMCI0bg_KQ78KtOm!QkUU#QGIIYhaO3%R(mh1
zi}Tah)2+`V=+I=`2~;Zg7_oYS9pAwE&fk3a)#vF^&2fBTjMi&${j+dAzRym{uvF+1
zYMbh>Z{|&?X9GZ#L;n=5CmKSF#U@Cl{YDi|6UTzFg8~jA1vbYCHL0=3S+u~8{P7l&
zQJ6XNZ|5$R#vIs`vu9*AxF5?ZB}$P%U4$T+dd_eO9}miiL?El2$l=`@<9L3CzU-Nm
zEQ~q(CQ(rB4TPn9g<zwpxmgJ1stPdF(V5)`;ufgtUmwx=!{9rjyI}yuTO&HqoDW&Q
zInCWHg6ikN=te~bykm43)3Tp(*qA(Mhnz|o9a7uhpD!`Ge_KR1|BmRe>;JToVq=KT
zh3!HNstassM026Q<o<PT0YTUo&u?b$W7kA_8K<jomEB*_U7$7-l_9D95u-y#N@}6v
zkCoVBNN*&$#Q=o!Q|vQQjt9#diE{xM6)wm@ggJE2M*Jl|fAdg92iP0bOi)vACLXx!
zl*Fl)!#BS`4~blsH#j3S`cwZrwoa$zd?&8`ONnc6Fe=lX_dF_78(%X*J>_F>;Jx_v
zd=U%hQ8fuPIUr{4b<i42=75;4T3OU3P_YA|RS5^On#-cJ9yuUdjpz)QI}nB%;2S}k
zt`3NyK@*G`8*~ncQG>2ZX;kRqPvU^6#N>Qznd*kju#_Eyd!BWcx}e$zs$<DCcMZ=s
zBxN@>eJF-}Bf?M<7mD%v2HCT?&p_V~4b%i03hkt5TtsyO{qBr&d7%3AgdQS`p=0vR
zZS#+N2S-qM?$HT0{uFv|4n*V9nd;szW||nF|6YJR-D+}O<3`9#Ch7}?lrCkDNEVZ=
z#<LUOoO~&?>D-2GipiklLr@;05ML<8#Geu<C8|Qc76S9Wj8wvVe@4zQK%=IcD)Ie`
zTk?ZK7AX1{i(>JhQs)a4EcHYvZn|ZIa<Zd`nhZ|TO9^2Az5sGk*DRPlkNW2aP|&MW
zuZLOc=ZM@p?Bc(b8K*x|{ArkRkI=&OWMuqyW_%J)t+?O$_d-9_R@uX4xa7AbE1Ozy
zc!@BKH<6RBD=+!jyb+N1*1>G$n77cqSOCek$@Ri@)0JfMHCJ=FfZV>5q4^YN?xJyw
z#a55m5%fjdU#uMZV=XDPMIs@sY0Wg(9Q0oFhuAw%H?8SjxK?Xz%IKuYtfmf|0+L>W
z;cL!i1wSOpm<TpAj({Ddeff}^iYtXNdWas=ns5~csjul)n%iOehiAW$3DII=K5P^9
z5h+MoW(SX#fL#w4WoEu`X;tS$`=0g;_#O66+d~-aaMNMZug_gQzgx|~pa6r*@d0j;
zJ4Axr_7yWR@?J7mQ8H~ytM{8~-@ku$@=v%~@sjzm@|yRWYF!^4w}<dH!M$v8M?-sp
zo`dd*?b2Tp6ToCT+Aa&UPy6RRIg{tD6Na~VEmmb1z5p;GpLFa_EHc97%hY+pO;No1
z{0chjpSPdE9pNhWsU^<+3pVOn4Al-^wNDRFDPII<`T|(Mowv1W!)tdZSJPlo!mb14
z3UmNctP_e``DK&^C=nwl12eQWgbs+ui5ECMBQsx0LM-DNH*PJu4c%DM<)Du%K40ri
zTdprznPCs&>CxCy*N3`q<60%T+RH<8Q_bcztSTbM$eS2l5=$n^sUv7WwT#%1GCaM2
zLu3R3birqGy$!zC+f_%O$c@NT%;*peI>mT8S9`N})8H4^5>{C31e8=!bDe5ygg0?@
zHO`$l&-S~xq4o+3*F3yrGh(#_0nmfRALOH8z>lbvfQ;&3FgSP(Td{?^SSoNg74fRe
zpqR&nmT<^~J5F`jgC`A?R=hdV*<~?RL=rl8$AmTE$1zA8`q(KE`5^>D@W##4!|D#}
z<nsW89wvte^KzlIu7l@E=^S?sBYX#uH%zSxJn1rNGfksSC}ePR(g0p8TPI-PG>a?F
zE4@lk<$s3}loHPna>cm&TAw5E(+bzxbKi5;6E5Dzg<?dLeSEvD8W)Hug#_elu%b#X
z-i4auHX@@#6kPcCwnQXJD8V&pwdviZ`DD2&ln^|Ru!=dI>G{(e^i@X^q1CFzXjO%#
zJ4XHUqtUf!UArMF$7xR!N0kUWK;$ia{y+Qh`>k88DgFDa|4aY+e;2rFt+rC;-QywO
zKClyi8?HAz)kKNr@dOK=SA{`Ub$JbEfo!Gw>DDj%)$YMDLQ+t&1ve?FK`LR*!Ux4c
z9ac~y1&GOGeBiONw7FW%e3gXs>{pMW1|Uy1OdnsL%bnj~2vDa%Wa{>h`@N&D*}8gk
zZKda2*Nc7J0`h=Ld^WEo`{%e&_~1xf{j@W^SH12vyy(gw_!8QCF00rj_tmS)b<C}k
z1`G(~{b~nF5%M!=qF(fIU#?=1a*La=#e8b~yj0cSef;-H^M{MB8s;wo^71A?P}tf|
zft=n12nrX093n6Dl+sm9Zrof7!?|4s^71A?P`KC=-2XLsPf)lB<mmbgr!!j~Io*5u
zl3kM}jdij-XXgka4bo!bx^lR|s&5rFFF?lS$?GALgx<Y-SHB~HC&PYDdatkmLM@>p
za9n+c?RCI#?`7wIo`peRH#q4ZD_7QKbbfty2yK~#k7^3);pN3u%e%0r4%%ey$k9u(
zcXX~Gxa_bxnKIV`hpb|#fY(-*M;A(5`Nu91bA$g1#lF(v!&^x<50keHW3FI~B_NM)
zar5#(zo;(jynk8o|4pBS(;gyhUc91)vcdXmJk?(<L8^JIKQeA)16=keC-tY#TeVuN
zSo7VU)tTsq7}w72uc#3vHN+UvW<=?tPQXeJ)yqD{gT^+m&wlgh9RH5>-ZF1#VyshW
zrlAS?1X??jxlMBsz=0CyJkY<JP5DdrH2DI;7bP&}^+g|Pt05FXT#>mPHJ=7fmJN3n
z1U7J2;a89-0+Rl)zV{eT$D3Pw8Z3n9iZ35Z8Hmx{L3J1MBo`qdd{y14?!vFSwZw$q
zIR0sm1*`qj)7~>gIVg89ow;cu?&yXhVJ3{MU<aB$*p+bT7q3dU%e9ZsKZS_i$KHfo
z#)#?=Vl*~HW?cUGk$=pneKHZ1qdu4R=P{ZF=SAqbhjIf*MLPyq5>&Kb>vqUkw$SkD
ztAD(}jJeN#wFH)+!6)wamjFRXt%a#lWIPg#kHQ4NB5j6T90b?$e)j<TW4I-cxWB+n
zZc|DPjx@j<g)D?g9Gx9d3cu*06j_5SWb`Ai80Y5;%Y{}oh<ut9^OQ=U0!$!_9)tRm
zuSI0)z2NkdTeC;LjjZEfzf#Qg%?%)_Gkkr{F-TKmD?kZ(j>v!5xn<)&y?}(HVqzvI
z{=5HMCBuLBzj_H#zsy`;Lg4FtcYJy<JfVnqd~gaNYCM;RxOV0xmaLX*>!Xw2sgG9B
zbrZkF)^c&m{Y45_Cl{~*J^BL{6qXZ~Sn_EfS6?3Y!LJX_dJpx@gX$4GQynu21>aRu
zy}Qru!dv|6!TupGuKo@$?jH8fr^^uQp4|z=Q(SBfrP&awuTp>NqH9w70@2ijAR$iG
z6#YUfWOl$5p7$F1(@h4<9|^>(9)tuS3;N`<a+lKMb`1b4%5Dxo0)Vuj^MoDYs4WeM
zfBEpbOTYWCL8w$BNSPtCi*%GjXeFUhk0mu)=^H3)o~h!l8k}M864KMfE@Y$2J!@XN
zH@bO|`&)0j^&yyb_XK)I43LrF_=624!T}G^0S7bK3a|}8r?3JwgL4Ci%tK;i?K`ST
z0KMyA#TkZ+FCTUfH?<FN!#5{(l7Z_AvR0)zA%@%4u8cr59?11UaO}tJJIL*$$cl!j
z(~x#2S(H=Nohzuf@6;xL^dXO&d6)VfQohGU3rrtz;V+?gt5LT+0Ky@Ri5!OC`wY(q
zThVwSlURj$b93%4N|pQ{1tC@1xYdg6_3!xi@8No&a}|%TEj$Urwr&b*->&cJydc{`
zLj&3%nh`CdYeTMBw1$q6jwv20W(xFibkXMWxKn|jpI(D|8tKOKj&rb15xJ-M2Dr|j
z5~jY3Dx_tOLYc4-!#54%t+)ioLFxubff-=E`OY!Y6J!s*?8qKQDF^~2x8H#0s=AA8
zmnuCWLY+mjns_D56lhY^j>+f;S$~8(==!g9f$!>FkQ(JKl$J%*1=5;)I04+|4C&~g
zOuBZXNK`_rfu_P#C>}LTQR-8Od?fpqK0L-nB*5YA+p_<u;vQ6*@*V-NeJlMNR0ioH
z<W`^RgZ|x&ZtH*X|K$7pt1}!s&rAt~m$-v{WovVHZ)tO{`u0hCck3})#!{DiVsPc)
ziTG5sX6BP(YY?4TZ0-E0eR15rf@XVo)<>SFi}TjZ{iNv9%I~D;Quq1!#Y^A-x6*a)
zB}F!uw8&-;+dIryzT8ap`=yPiYt<{{W$592E6Pn`fw6Pli|g|%xRm%JhY<Uoe~3*_
z$B0lnSjUhOnP>g0{#lQ*BRD@FeUH1WAsT;(0|9hSp8(40R_l51wHW>Iw|cs{v9+~b
zajJE$I@Q^*#b>xWSOhz3Wbmqei7rE<g;uy_GN3KpUpn;;5qIC9j&!-QQy}RQClM|~
zWnL<SNgq&tPlsUKtQqDxvDgH7PDpG7V4lrqa^k}!&!^8ntbUMx-5|Rs&xhB%Ty}wH
zdf=}<&M+c@I0}qR)O1Vxr^B~7c(lZ;Gs2=H&^b*m(S;r-d?o;I8FyUfozZna?H~k<
zWBeF{l&PON#+5?nM}?8<Mx?#3b(n|NhELLGyAKA`uB2?+n_?q_+5itk7){l53mtw1
z&i<8<?3B?g*%nl83B3~kLyWUS5z_Yn3qya}^5Zd7Lw0rX)Toe?^Kc*ziY;R&;Ie#L
zTQ4AUlpuTPVWS}xr4A%+gxvpeX_cA=<WfA5Oqo0%i_hpL>!+(5{}t|uHOHYi?%@Yo
zfh2TtlkuZIj>ay5o4W+r7>x*i7y{Xs3?X7u0GA*xffM&2+Lr)|d=>bL@uJ%%F{m$o
zRBH;%ZFJawtj(`lQQw6vRu8|bwsu-iH}}>zVk{=#<EbIv!);<RP5f@jF`80-kx+%?
z2EA^t{{ma1#^FUIN(wc8O>in6|KR{eF2rQQ5~y^+%WS`WvbDPQ1ZPuHHcser{0W<L
zLibn++!NFN@-G(o?AEQn&_Chdg`?i_!SyK)2p8v9JZy$n`M3A&bL)M5Gi5dzSMH;a
zevtp{_j|woWNPZyt=1>MeovpwJf8W*U(PK4<$w4~{k^cdx_D>r@!lP)@V>#dpSRw7
z|9wuz`|n%*_uqT(m-xK*UMTne``^DG_kzE}TLtvqdmluPzIV{0zcVxP;}-%OZ7%9N
z^iMwv`un{P-qX*o{d?4Szgm3dexr9E{PLHpR(^4D@$usySViCefCsOB`HNrt(#rq3
z;sZ2c<$qY_*f?ef53kq*d(ZD*q6zn#rPy`rzEslRIs)n2V)g!ezf^em_XqsXfA|Ky
z!3gxxukYa32f&}9>w}M$H+MD{7eD$y-+%DIN0{GbeDwGC`1Za0qrbnr^A8x%;y>K^
zQh&c%W!dHBRU0qI|AYLa@BQyZtG~?Zo6E~qpLKtT+WYbY``CLD13#{R%d3yK|KT6D
zAFo>f2u(gV=H=rb{+2LZ|CbLBcXs~zuOB_K@))mt9K6fNtE-PM2|@d3@BjLv|3QE2
z`_SJ1SS>DA9{{D+-Vd(7hChXlf1~j&1EsD#d;hn`)}Lj(B+h+*<u`$9`=A$2UbSrP
z%{bPj<a}#U)(+OpFRcGYzVEsD{L;0g@8f?3WMza9y;xZN<(I1u^Z_yR?a}J$(YK+%
z!s_CpqfgGwmm90A8#Z2+T3CJM-~Z)*c>nzc;VGg1{Ko3WyivG;2i3dx@7<Cm`0Mc7
zhV+<2MtM*GX2tL~;~3V0D}U?O-Y59{WBC0o@&6+H{`DPvJp5a?FutR20oaw${{7Og
zs8<+oczf&C2Oquvo|{iJFT?vQTmOW?<{bU-HwHH~6``5k`{b|qMn8D{{*)j8ty_2Q
z{MBE9NmTCrm!ts2FPH~E;F92zeD8+OzxWA8iVqkJJ{8~d^U>a8{bK)y{-pcIfBv7e
zz<-YBTAs|%{&#tD=nq`(yn<)2<{e%?`<iF&?TgE6_>FO6gYDtv5mk~uosIC&+36B<
z7Dbew&PMpQ?S3@Sv|~#VB!!zA{}RKWSbShHVT7D~r`?faSCa`)4SAflU=Vdjxlu;I
zxE?h7umZYT&I~wPQM430S4U2t;9RIxx9g$$hrc;K|B%WXeis|k*R9Mp2#Lp0otddY
zTTnb)Uy84WBwnI3GtbMCeuZDm>F2dNW3<fhj4&36wa(Zr2NS3Di~uGM3{4jD*mdF%
zcTKBjku#5*#R>ihjVAUO0LqmC&{j4{4^XZQfKCgO06@7i06Hv80s!U80O+hR2>_JK
z0C=O7qisjm-n{8dP-Y$rOo@g<6}SxuoUNd{c|ddMkZ<JNBFY4sV&9o#u|#X1f4$~d
zQTUPbwZRKaA=FB#2fLb)4uXGs8R0nNf6<&<gu{|W8dU9w=r>~H?*x<`iWdRH9}OA_
z{wp^uU|XntVE#VsKZ6Szq6)|uC6U$q^9otC#9g@+?9JRs2#ec`>e>HrFrXJJws~)}
zeg@^+_4xr|;y|pvqPOKRE6a^oW8t#RIz^i<USIkr8)0NAcbg0weF^*h#Y=ejUmSXG
z0j6$y2BZFIwf@-_JssS>SExwCtVg#~M?1|UPW%er?`u($G8e8YYI15&fo@Ay=|MHs
zr<+hz=>^PEq7j1>p-H|F=n>vy3NVwHEEtEFM?2XdF`M+#9$5iqGUhu>>N%H^b6nTq
zG3K0Y;Ues=E;m;a+kxQ&Oc&fxLvb8!(CJ$uvhgKx75OSmb?JK1jF*{W%lT7jF@Gp6
zIr`;pGYffz3Le>cfOY&7wH~zc9vPZF3kHjLxI!79`t@!+#zB(Vr&mV7DWhqDjN0MK
zl%jq}j>yV?W1o`gmT-ij_#ideSyAEBq2hzOP1}-1L?6wH92bK2t;mEth(<m}?0q`?
zSlax!idz2~YW-+FlI84%y^mDMSmmw0%u<+J_ul=*O&Ax42PlTiV#@BhQgXj~a_}6N
zszXl;r-kajXzou=XSKJo);f6sq4lbL1*zFwvL1i8{dDg;yn_{zHa3{WY1EMjRyyLc
z|E^c91`<!miCc}MCr6e-SHc`dQBmV2)j&q0#3n;qk&GNlOMfFWG8ODUFZE2feiEW7
z4K+OD*7A}u=Jb`5{Tj!S>Z^wcnSgB`{)BHpI^#%1JhX03CsM7r9gFoyC{g^m>JD8G
zAh#dF+(?%TO_hu0g(#uhqM|{pBgkKJ8yllMVAxswTM9s~NJ}ISv<R*#$jayw>~z|4
z<8hIml<F&KUGyhOvY%s0Mt7VE3C1MJ`sy|)Zf?cTK3q%b`RooZEtkuw$(s=AV*00a
zp5&5ra)a~u_fW*#?-Huu#;s8w*nuFm2#Bv;e{me9TnCPxU|+%bK5wtAtDBe;l*3`V
z+2D@>gsj0PKGf@jy?vTYv>$<QT{zc&(ToBh2Zsy^0&?`SXs7&m6pM70Rp74JZD=8u
zmv)BL8Sf_HbRt%Y3k{;LB$AAbSuVx=SgbPJBK%BL*sbH&cS(rU4-a4b2>C{&f;xVF
zEPiLJ&)f{hO~<WMpvQ9V$|2yh*??DeYY`YEg>V#Hi#7-ivXWYy5<c~Px6;uv%v$Ei
zU!L^4Crn61v33ZbNhU&m@&x&~Mfys}f>(}I&>>_W^FwF*QqgrlO@wZJjh#O8_Qenw
z*JjJZnd<C-V`aDwbP1Ald=PQ<x_1Sym}pJib<q)6U*de7nk_Zau*t2-c1%^OCm4*n
z694V^$)W<Za-0$==F7P!X*rz?%#ttXpQHs@owFGV`X_0@Fun9J_dS%kN=pg=PN8qx
zKe2-TY)D+F8cvQWIC6{+--^8Y)Y%tjC2E_-M{=PimcFxzOPzdsf;Yj8BzZsVwK+z*
z09$~hWTzexB?c4*cc(l;sxZ)0AOG+FtLo$b{S*D`|DB@NkjnVE&*9y1+1lOPdAhRK
z`s@@wi9MX``1;}1#dDx8eTHlx&xZLk81l16EHzVj)+s!jEj*hmJew~(yH|L2zwqpH
zK3l0iiHBDh$>Hfi%e#Sn<}|BUgA2s7(yOYqvV+{-YZh>JSQUyet`@;VTDM#R_v+y=
z>Q4Jo(hiI2!zEATq?nYEROx9os;OIZpU-j%;p7ZuL;Fv?v+Fh?IGN~<_7Z6l_!@#d
zHSJ!<jV()>6G(S(ggL){^&8(MNI8HMX~W^-MW1Ic%iz$j5D|oP6uF7Xh681?125w%
zfIsS;_Mkm;@LJX&2mjXE7EC5>3nnLl?-Ah#qLUylFZmetRjHwTl&UnAnIPUE>!wqO
zDV@_P1<c+cnNI0a_fRKBwtEDUagwBYQP8xz65KB$w7lYM%VGviI6q{_%lhbh@FsAf
zar2B)VvTX5_S{x#UgFp>fD7a?_|;VPs(LNHf0FbA!2gbJ!oG+hK6L8utBv)&wVkC6
z9f%E1*-v$P8&O`;hI=k7h|fFObFd*kP6`VnDn9M-X~1v2+H7^YC^+;zH%}aB$i$3C
zl!bTH>PXX;pkmMyFJWDVn*YS1A}MiWbl80VICP8}I549F*WrlQS@-gqqrb!%l2Jv2
zx%vdFdm0MfctmqmHj|t+o#E_7(-dQ_3KK6=TqcJMiEMCg96_K!j2AAdE>di~zC?UJ
za3c|!h}@xyMoy!u4TU5Um8;<<>7K4g45f+Wvu>X^;bX+eqnY<4`=@L86k}VkWAvTM
z9!%KVyjO1e^5@puqz5w=TqS~&tsq1cnBj8~U9ztf%+<mG<cf?ojqQT^X3>yQuF{ed
zc6vS|E!XKB_10+%PL^ZjbXwIDkC-Q+W|EJXIFi|AIU!Ujhs)Xq>Ss_ZB(rA?7TQ95
z@o3I94?>mm7Pn`5-MT($RE#{THF}TKopSXs54SN7Di_yg!_9*D_ltOYqiH~fCGycp
zxtZ%mpoRj1WF^1l$<WbDvxOFAN?hLx?=d5zr;ONlQ-)L7&fe0l-S(u|tZ*+9jn4Fl
z3Hxw5T{bm``J!>_1>28pnPFlV&D}Q$3l2(o%7wAjpxmxihbKb1a-&Yz3QIeoHo-ca
z5#6Z4sdocNZS00IfV>-AE8^YmxuanOjs<Rp?TJu>V5A01yMmYyzbh)8ho8S~eH>&W
z%9kexr&o9;%OQ~vMEDeGA`;WMt%%V6pel#GK7i5}t({->X`d!kbpHT66deW!hL%Eu
zqNP0%B*j3Y&C^;a@l^6ti-&^kiiW2k_(NWur@V^eWqSVnPv%4TAOBB(^3*Sqk3|7|
z*O{H0|E_}%&!e!Tt8Rq++*(L-<j~=sSNiBt>8L-vgpu{=>V(hlr_WD#lM@mXeF&j+
zA+B)LyF>-(_1w(jpu*6d%#vTJ$(y=WZSD9_B4rW!Vh<$yHqLSyNTP-ML&Wj}@$?h<
z8ZzOFX9rNOv|ovX6eK8QjN=q2Cutdk3LqJkE}mB9zJMy7;R?j!S{4rAfT%f;4Z@4Y
z(W+~3x|Q@~@bWgYFw1(A3S20zsPej6g~hl69DT;MaHxxb;DslR27jos)r-U4?O!>_
zII;F#sW8=ncw!^#96@N1L2CC8dyA;y%evl|YG@lrNQ93_sxDT?GsaWPvf!cRWp$#h
zC6mZ`nW<>bnWqvnF3$C&6|tDO)0SRN!`O$28#u1v(la4eC?Y<EUWb}bb)3V=2@9H;
ztq>+YfFkqo`uG@X`>CndDA}Jz1+D*`*8jA6HC?r&Byx_hDBMp50u+QrhEaQ$_w4xa
zJ5~Xhjz$q#Fi~GRC%nL(<TX+4J9fA-5HG<=Gyobyy10BzEkcS_X{e4M3n!W<=2SG1
zuX=j*dmCcjPm|fwI5ETfL=%?ONPhTfOP)qQelC+2b?K!!j0o9c{@hjAI*qurOEcOi
zUD^-MfUk$?B2qztTnTQvO4Z8fnQY!fEPuDkMy;}j1!n8Yud|<cfpsrVF9u}igX&pz
z=*Wk1P1Ty~E(os$FK0;PT=xt2Q#nNV9lfIDBtW^T7+C?Ff=_|^T8n7PU?*P*i?WWu
zb0Unv{80Z&ps587M*Wozf@u%1`FPkE#>k%%-xw^=R8oy^Ih1!{QkMtNYa$XJMpfvF
z(20Jf|5IFR7$yCYy|(%H%WL1QuJ3NIf49E5y7ujN>#N|)jc>o*S=+_BZ+!npzMpG;
zzr4MTWdDuT*EW}yH`ZEFcyivo<)zKvwW0{;{Qd9OclN&f!}{vpV_cBf*p8HXyte+$
z<2|I?YAp8ccUzAh?XK;$zGyD<M_1;cxy<Hr3-eKE28ic?S6eehoGUu;wutd>*7jDG
zwlN(=&<o4!d*7`tt+eKguQwhof9Jp>^s~^n&8?M<wWS?go`97g4toq;2kFdpRSd$?
z4A^%gslp?rCvBvnctsmRMr{tmP469c^?i`K>wrLbQ6Uw<Yo$n@Q7MtfYlT3gS|)VX
zFclSb=%wp_C|4SCgf7ff^h>yvc>Jk|)iN=^iiRm)Z7}j(yZkvMt_9e}Kf(W?&f%u2
zCs_JyfosVfwRDT5RpvKHq<jg3wTgi1IMRhF5IKv)j3O!R==uTaEowT7F316ChbDkz
zJs$x|#xnv^?A>nRAYZj4P~#W}my3aZ$B`=h0G9cKgL5O&gO^xOpyYUp#4wgYn+{8`
zcH>y~8|0;A{LjMS<s}pzB2+`?A=0212_fU+Eb{E2`x=7bvoVnyXx}o#$>CcCO?x7-
zw+h^!JP({F4Ek=xFe{YTd8zWC2mLp4f<nvt8`%2#Fy+CM*}25Dc<8W7ynb{({vmk)
zRfic;bpEK;<_?p~N4h_8YhXCh*f77*ukzrW`^$J#e%X1l>~3=x4M6KaZn2M=5MWJh
z(jzOmiU3hul2-Ii@>rH9RwjdfaO%LN1<dCgEjMeA>kuI2v<2Ih7JaP+Z8fDO-C9hG
z>S?XWG1BThG6^x}jVYr^3)^D#O`)UfyITtj_r7R%kcQ`6IEf`b#5-mQIzXo80a;Rj
z4}$I^8yPN%xjKOh4gR}$j-YX_CU*Gr04dsQuuNx@=KA*>Zg_Rn#>u=;4_T})5!i=S
z6FMMsVNGFONeV5sKveSTgzkY*ro6x`wUswRo}^q_Kl#><yK^l&aNBIzFL(U5pNid2
zs?T0kpF!S&SM90#=F@$}QrBrW4lzT|vtE=sSa_C<({w{_AgQ8(sTjeoz#G?9g+xyH
zH)~Ix;;1e04{mEJ9PnG}wXOq$axTQ{S1k(AjNFe2U5HYV6F(-gn34iMUsSId0_BB$
z|4eHr_S_~2EnEFFrAr9;bEu1}J|vwFs}CUt!wa1Jo|Ad#G-fSk^DSVITVg^7QNd(l
zP%i%6l4O9aoG9h|K5~RyGUv?JW8M-<9oAQzeZ6)u#)M-bNU#X*Puf?Un}>xwHAlke
zo%gt)()J<N!igMf6o%}Gq6J~sNc|uI$_zYg$;49~imSxAh}Fa>4t5~Y_$Ty$_A=Wb
z<tXmuksw4mDsjh^8e{y}u>v<k5hkIl&K57QtjkykPKRcS-%Kz3zv<)ubT&#aJky!`
zZf53i;b*KDey12l^6!`bJc?mxe7ghODN<1N&K=D=wZz=fJ^gCxWUUpH)m}}^Bun*L
zL1jJc{i)nmH`MCZ+Cr^zTZLMot%IwEafKt^T(^^t3$+^B@(080m_x1kv*T9{<5C4X
zj+1lU<Gd}@YG|uoOULz2$qtq4J0&}fDrGHlq;GzwWEay>gb^Z5bdh6>Bkz>#V^`Uq
zosxaFdiXHbSc@V%f0+M%Bb|FSTYdRuq<Am?emg4oyu;MPPx9=aS0f**Sm%xoY#UTH
z)IKx}kdTqs6{#MMPjNh)ImSHAYN6XW{LuahTMAq!j-VZa9Tx{^)fDky-I=YB6qI|g
zNC_x?eNM0P3VDd_7}A=#=gP>Ai!!D)6qr>NAG{d0g#zr79HpQ_N1O^&*fXDpRy1aW
znS1%T{st<$rdLq#@YNTES}t`SoD!fEkB4LqkWe4M1}r{dt(k)gc~j#;7AB*L?76C=
z{e^S~B*G}!ABq#Doi1v}u=LpZ2?A*!J`|m#I_^}RIcdy+!&Men7YL2w^#Su-S{O2;
zl{$x^7_P<w2S$;&F~UVI@IvZ7;F!aa7H}<(7;dztogG=rdXt`sK?70E-<NBC&W2~j
z2}zEi5m4z9ObHl33xtND;NMXnn{n&v)}xKBKQJ36F6WK<v9Z3n_T9?XlkKIQH5w`~
z=h53IOW%ICyRx*|nptoYY2bGMxViEjlIHI0aVZ!j*t_Kon26j<fb4pZG{Vdrg`aFt
z1!<vqko+-%!D!@INNHo=mXkYow&vy{MLtP~HE}NkvSW*!&z2$)m`g)vP8OgChhK82
zPc$e_)gm(x>G5nb<Z(`k@2mjO)sZOQSpl5t^qm!;I(TOVfP<niEx0sN=jl|YpExQp
zbHksv6@YT0?b#)DzI*l4X~3O2ldA4NBc=DBvy!^o9}JMe2-3n&sHRT#WjDz`t<E~t
zSO4O_s-F56Yni@U@><IM+~3X2Qcn$yKQ89MMIg_szk~T&E?f1MWr<P2WeA9<WURWp
zM1|__wO}v`H#$EjphUrrWEWSoL0GHF?XSoc-CCDR4UiS)_e(qLbaJUK4lmnR$5$|b
zYBVQSttQ$K+uFtR1El|lHx=(vO0LOr;?l5U1Up3d-@pr5B<W>PfEp*{Cn9F92QaB1
zrg)8GlE@l#(KURh`iRh7`~JCqaJzVuPIRf0vz|GKz9z0*<gHKcH*8{Z2b33({o!KN
zAb=1i&92ajcxl7ps5j_g415tr;@UxigO9{mdDgo+L7pb*DlVseMi?|$RuTb;2NTr=
zk!AE}xoQ8q|91rab&dXpy+I$z#h6&^#w5t_l7z;JF8B`+t8jjFifbE(hwY0KMqZJs
z-C%LbGRJyEfpqkU5+2=F%T;X4^3$VV^hir0iwKJjB0ThnA<Ub-vYPmb3lyUq4DP_d
zH0e)wm*vi6F-}RZ)k4K>%f>T2#Es9_hv{e%e8?*X&DiNq&fu;WIDg<QF8LjB2f0Gw
zNfWz!Z*Y9jh1b>`(1AmB8GmwCC$N3#?ABwT0GMR_`DqVvKXx(8Z(D`#N;dbLZod6*
zN-y93FFD<~nIp~c1JcH$lzVhC>EuJM2IRDFcYCL&sNnq%yd#K-F&{EYu2$-S1Lv-;
zv`C0Ty4u2xiy~Y^*M8dC<if-PlhA@`t7ds+q?zB=QX5<yJw#mc)gWXEz?1IbW%lI!
z>L@93hzx%qKkuOT*%cPRc@28+=wUB~jwe?~f4aI1(Dcbk`UIH{BjCLv@RROC7{`;o
z%Ohr%j4GdCzdQ#~)8x#+9+#O?c@duoTayHTdbM=V-&fGXyn0hLzxYXB(riX67uU!S
z!AKO+x{#;@4;gLv{3Rp>ao%!^qxLtNK^O>hYLV$A_B5;2A&WW3?o<kq!4bYTVn1DO
z)WeqlroerP$K4%7<jd7Pp~!p%4?kbzq-(1&0<usmaRxWDtEdDt9|;U#CM(h5<&se=
zC~-7AJdI#LU6YhRPmoISSyTebx}-$+YQQ^-;u2XaNLj++#3iy;4zEw2=RmT-00>J(
zKyZs_(vhR{UIt?>>j;KBK+sME0~(<S#^dfbwzLaegt^OD^tfEs;larf;+U7>5?Oz>
z#Bx;PUe?ym30k?jjtS*n*5Sd)Wj2HNY8{ahvvE7Mo=B0o7Fn^RK<Djy&*=XX2d2Rh
z1fO>Gdu|TMhj<4Lr*{Y3r-3BfW)bD+ifunxL2*~CHShObU#6;1W_QPzk%-a~sI_nR
zIuWR~5-60J4P^*Qd}|^<=|8MKhGUg{JcaK(-fpj~?D8S*IlUf8QqYx)^K*n`@yab?
zA7J@O>TJVn7$01p$E{;cL+!0R_Emn;@;h;P+%pc2<%>)CwD@*he48mPqT)~`rqEY*
ziE54@>3Ow+-T4`~xw?_2b+&h;l8qqlk*^jxfs?zoSGU`6eSf+ghXc45TTl1mC;<0(
zeKYp`4^I)Gh_C`gPa;rqM!MI5Y9{oM?DL2#=+YHZ&CM5ip>9%Wo{pL`wL-X?F@khY
z3VohK>S>`R?UR&Y$I?E@s)n_NjhJ&TONK(2*tYd)c5Y@)3TdyRLMJ$L(5^r)$d(ji
z5rY?Com_SXNY9iMatbU@E+?0>wL&geSX5}PR;bXc`J@nLr`V^<m*T#u9cQ6ZpK66l
zeX12I^~n{@TiGmTH$O5m2yk4%g<jN46X{pN&%B6+a^Q_Qptq>t*h30C7P#`Zf
z?+O7&M3a8duh4UnxpL0dQs>c{D?_x0LWt^U!|>7Gc)F>)2wSjS>+UCbb!l&DroFfI
z%{K^^nIki3DAaL<U?oAJZVl4PO8XIFA|AK*us%a4cK24>J8OUQbZvJ}nLvAY{cqQ>
zKM)GC9BBRs-yf8YxW%Y4$~Z=q01qK{VK2eQw*W!0dyaYM?t_mo>H5nK*~fx%{rK(4
z^&zXuv=D3pmwFw%oH?H93GDC^PQ@bhVtO>hnzFk4F51L%<YCc!5J6j^BIj>!b=Q{#
zAm-^l#eL%NYK3s*fW$AZkUiJGfJcT@X+t3M51DvwaDvo716ULt2ulFRc>k-G*R=q!
zv<6v?cS1HiXR7HIgg}ogc6=@BIM811xbI&N{qxXKyx3~`Tv~PArx0QyydM(%M4?G&
zW7=x(aF44C&(Eu!T?VYIt}Q?PCYggS4<vRADE3aD-dk=mlSqH)E^v=DU4DnX9#v3?
z=%S^YnC-z|H(YipNmCuLNnuH)O1ui9mA1O}XzA(3UK>-ex3jg;eu985*lPWZtgiij
zePyk^y0*Krv%bBzwbR~M+l;s5dV#$^Zm*3m(YDaGX!h%%@ML9UX?NEZjza3{h0%3a
z4u=9ig5{?hzvJ*8t$&jbBMPf~{B#*_WvtR7h`~eH+-kdLx(<2$ZO4-ff6XSp=KL>s
zI1G>lfH&RwXQW*mvK<B50`k92^EABdL6&lbuq!ii!)_V{2ib=>tQY9XO?Z4=>1$sH
zmtI>mz3?2?=}4Ur7y)G&W9Y*QLVQu<BUv|ot##`q{Ucr1Fs6GHiY)fc#@6!EMtk+i
zQhWL7BgfJer6*k;?R?+$r@(RP`k$R5efTLKv5Uj$RufFg_|0sDUFNGd!1_nd?d?K8
z5XDBomI~filMYx_Q+(l=0#$*(yun^dh6=s6;kIa$>|}E}z#&i123C>>Ccuv;l#019
zyB#gyXOGQUUFHh4ui@|{O|*HA{B29~jMp%=Fz>2Gr%MHdQ|h0LJmNoa?!a`cLcj8u
z`-PSzHXNXKm|ID%&Z}jZ2an>TCa<66BkC<AlRb4+{0)r<DAg`m&ub#RiVsm>=~<}?
z5K<K&<o9S0?Eqr;1XoZ9mF!>}VhjPp3)&Br3fwcE8F7B&8w?s}8mb-Tl<3tShMB=B
z9lqrp%Hr6@&yIG%obio7SX^`<O~oH~*QpR4+_mB$4f6JS@u)wK&QJ%Fs|}zAH3sz>
z+8?M3?(*a|xMJ~4eNaW+_YLqs$sx2m+JK$#8yj%NXOrS~W{n!K{<z|ENpX=Fk@_y6
z)A~~(%{O97+DmBP)!;dazxj!3Xaib&8L#5v{LN3TI8<Gt<j~^o7wiRjarP&+>LS!}
zs#;rZFRiXZTHV!HEUaSP2*O%)iVQ5-)$21}*@{}23bA-e;p$paS)qWaOW82H9u;t!
zR3yeCwfXW;rk-4u%j>Ip`K#vgc$Jmsl{50G_eWpF<^3{s#_cO&2y*xhFtk_44A61}
zy!jqr8t}+zu4}0BFXFCg1yO95D(H)P1*jei$VCf$Q7^7)@qF%3++M^rYRDo@5Biq~
z(`5WrPFK|EblN`Ykxoka-?;J*##`NtU^<<`-TEJ~RPyD}E~_rDeS@RVq;2Q59aArN
zGdxY}(NJ1_U+LA>)9x++><`|Z0=Q46AR0mnYPw}<!6llEYnK`6+erW4K7h2<?!D^5
z0|m!}^XC{kz|uOYdr>8R#-5gtu@39*SIDe{Qh5<0t5HQ90i;lv>4&|tvjy!$cKDJb
z3;HA-vXh&J(M5TM)AJO}t~1P<HL8H;PI48G$f&prRVG;(Q6qj@`d$q^5Jn_DpWmu0
zWqNK}6k8QV8mT6gXL+5rJ(;y9Ze(9oL~S<na?NzwF0KTkpx`G*mLYK}fTMGvoLg)7
zVe3&LIrX|O;GI7|@_fsA5qXgb;|vleL=0@KSg{F53W9er@W6XBOn{7vPn2R}_|-#B
zRiO%(#T2R(E3utl5mhw%NacJy$pG0!A=&i6Tq^@$N)Q=xq^Yqjlxj=Mx?Cn~J4O!L
zov_<$->&beY)8U~VJMBXNf_~C!(DAq+T=M=<252SZAP;l7Ln>%8Q~Q6GI_;GV!j)B
zrvnPGE4<V-W$<Sed;%d9YGQc4bL31>*IARt`jKtVf<W=fsya9kfm`dg@PyH^>gbAL
zbQxKVugb+IS-|7IwBbFVw|`-Q$Pxs1lui=S4iQGlcKo)db1koXsj!47KM2<w(Fnzj
zif#b)LtD%+acD6dl6!rh?pkT1iVqdtWcLpULT~4c8X6|r508~nR%&}3U(5-=6-wgd
zkV6qSX+JP{n9oKGy>Z~2mMOX1&*o*?%|zHaM@(D14)r{nJh4eNvO^1A%O{VpxhePi
z)vsKuR+LMh_{nO>yktd*cX^I~vR8)q7>W>C*yLoP+b-{GE9FH^%dSF9g}wB=4P|30
zY(Nmpg$*y`+xE%zg<^@cp~4$QcrR^~i||yC6)8v?rb?|z8*8h(HDMyvmpW;KOG!fL
z?KS*b5`8N(X{a7VGR5?cpb4ojtH8#y+KWzNpk~e101uY&5^TnE!J3RCx*on{8Qm3A
z@e4Ux;6Vo|g?Wb8vxYnfvoA-qXx)A$ZYhnT5N1kFNXjf--#aGwltm$;{i{|Y_h=(X
zQmf!%4%{l?3eWtq5lS@eIXmE28};LfeA7Dut$`j<8|DO%TwK&BA(Cs@a?*;i!2B@)
z)gI|USb@}?f`Q*A>0OUWL8?dB^OEK2S-){!%0}H(jU1$aVJJuUdV{n6Ib=Y&RcQk!
zg}bGWPYXVUHDU-dG9ogp@n#}*eNx0nJ;}!`iY`^4MV!dDC5$MqlTM^kT|Bqa?I|zk
z!do!hcxtk~6OccVyT9agM6IamQn3`v9}x}I(4%{{?HKTdr}4+gjH69o;DR|m^mpQd
zy?C{1R&oOMs^BTn;-)Y}d3n3laQ<r95_e1JrWn9v#2CQO$Pg7_Abl|k16j#8!axe6
zjsd(EI%Z!XITS2CVk*#kOFbnhT{!iB;c77>lc@^U1o|oB4>a~z?e#g*S4`te-SX{L
zv$3YJC*JBXswXJKo@m)(Pdpgw38*n8AjEdn9xdilqv+vLHO0JC%^o#Y^(c{A;a6jY
zwCC()`lMV@1iT~oNYYTkgKxqRvY{_lUvsHKoGx;Tj4y<<g02Z7GF~0ixVx>!4Fv6r
zdXyun(G&yija)xVB85<pb&B~M(?>RSvUAta?MI;dY_`&+M`@i2dX!cG{lX(SUHVGa
z(xZ4PU1y4mPSN9wPtXrvR=VJS#rW_v0ddZ?-n`nh3%<?-UGQb43;tK!1(MuJx9u)n
z!QLry@yyK1oET5k@-i?nDk3UeHFphrC_KvP%g$TmV)t;fh($K4k(NP6SXOOhSs^@L
zSP*sl0O++Lv|p+51~)Jd5q*FRmM1XhJYGTWFJzhK<(Su(NOO4vLv9jllAIq?M-J6`
zNlJXM5q1tYnZi*@LRIRP#dJSc^@te|Q@9k~1=<$lTiiRK@f!Zh=NB(27rUqGQc`4X
z?70XM8ern4FssScZF&7&vl|DTG)AQq29dKNHx3c%QrLbRD-z-2Ufy^hq{YW8mNtxD
zQF7UxY})Yr?!w!jQ7lHG!LrAZnOO-=KnSjoElo)lR#Jl_lW4`DQO}B{P1B25g@sAm
zozDRl+l33n$aY~$geme`bmDLeDmShxG9GlTaoI<J$)%Owwc+zhHG!;Ze8;MBCQieU
zE4=b}Eh&C|d4w(Ki1Al(9Wj6r5Q9meei6!peM7t%Cz!KZ_ZhwdhX)lo^QlwYZ8TUd
zeS9R%$E7(8*Nt)W*U*QfoAu#vWFOvaE^T-v(9Z3|Id@%MJi~<%7`5C<05cyK3T7JS
zYow^uw;D6X_>Jo5vVt=X&4C*z*M3YLx)6mO>pP;199P{d`c!v0s`zw^o>Dko@u=C*
zDRUTcj)E19v+SaOV4a(z$_(!&0JOd-n^XX#4{i<!Zi$2x0O^Ct0g-B>4*}t3760*o
z^vQ^!fnUdS`~V3#;c$T4?^d^Qd2g@V$33YC1g!Gifk9eZk9??>YAEe;m&i)udz60}
z(Iw{JzuCtkY=jmQY7ml2iCQ`M2>3Y0kfyQiQ(L0iC`kaV>e+|TRgU|_Ad<abee%Xt
zkKf0jR9zU<R_ss*BC$qwIm=vBJFT4IA-M2HHKMO^<+Liz$FWOrRH^CfC}74;u%?4^
zuqeCdxTEQRCAcxn3tS%B8(yDYp=%y3@N<EprY>Hlz#=d|(6qv(rBe+h)2ESU#>0&*
zzF-@kT%@{Ig%x$Ok5!lZp^fBZ=TR_iq1G^>;G2-B(6nd1!2-;50)5G*FEt2RedWJ6
z{ebawsENzoD|6`Zwdi(>uTh9x+zk0mU5TDYsKz|WnxtbHkExur@e3mbkaenIJ;ZfT
z18%vt|4qIMMu4~>?Z=RAPV#Z>>DH%oIw{~Rrf$t4AEnb5fzBPm!D<m0K?!jCLPV0i
zi@jBm6tMZz^%){HoPJhTkmAUB0MPcW_Bona@_J?vf#I$2GU24Ku#1_e3;{gR7Qcv;
z$MoUHM}#UwCD?tGBpR5W2v^scPfu(vDl9PN-BsjJFC1L$^Jb)v9ESX&bj~S)u9pXW
zW~GM83+|QeKS2xYKhT^YGc(j46qlTsCH)CrGKwu<CH@ksd&I@B<$EZT;BN{dd?b}`
zA|ZEk@uViNi7S10Z2(Th7|&6~5wRR(`8EUE`G%gNioH&CW-fRsoc)TZYJn_^pD+>~
ztvTqbXUvekpK_={^D<LvI~@;+wlmcYh;M9ep#T8p!-GVN(0?5EyUt0rn%Y@<GTq7$
znYBm1T3_KMt|qjTPxW;RT#I%6IV!D*412t)11+m3D|5CzAU<0{9%*6s3m8&ul+yIH
zE?+TR2QOI-!Gy1q9o!%RZeE{NkDzk{2@XXI>Fo$`m&qkRb3K;hH1=GC8v0YSg{8U^
zvrQ0thn`*Fsz4u3!fpBjxiq2xlasD<Mve9pvKTiy{mbhPa0r3Q1^I=JMO7j}@yd*d
zFKkN_efBk)-YQzUl~&v*Y+g+t%+E=$`<zMxXjBE#u*IwM+^!-$H=O`vnB=oxA+Ewz
zWkH02f;(kZ#rY|&hX_oe35g2Tu+6EJ?d|EbO~&vRFlZfy9S%yYoyTng(aft12eSir
z+*<w}aVO`mtBYf?mJ#JcWOq2i$QeE=<ctd_KSz|Y@H@8@>rnVwf?%{J&ehDg|E#AJ
zT2{SuGTjED;#P;@@VZC!n~<T2>H&b$+jL5!Q(hzeP$Fj117%O<bTK=3JTu$Fxm`3A
z;)Y#NRccT4RtDJv>8|Y-ZQYL^Z?HOQGt1Fn9PlSULpBGf=V3=fa=#t|B)DzygK=r3
zd$~R#IBk?94dAVcVkM3sxH$I)5c>!ZIeo5Igof%=8)yeGK8EWz)aHaZ9h1|R5EFNq
z-B3S4aaF_t$3T7prSI1E+RoD6`qt*s1|mU!4if?525p}WF{f{fPo=CzxJL(C#_?=G
zR}M)8dNK|6m2T0`cnQ-ZLJ#CwlXGTqYm@A_#ycU^9QAPRNre;!cs|AV+gp3v-|YQZ
zRw76m!vR1F(C_c9t)LSx`nX2u9Dz?m^hK~si3xg25pKH_@n5^`rOA>TJ%=qO*f+7a
zDqkQ-xgrNFR|Ea%`V|HHxfb}CXD}#($w6J|sH7+)1u6~!<G>Z_6KvFqfb#~q=!Nzu
zelRT#FRpjM;pfK{{nOO7);p&`sEBK+S3vw^zuH;f{oMmZ;bZrTVh_QSiEU*2eL1W;
zv!BOc*h&loS{3uP%Afz1>UtKn3$KuM2Uomou53JA#iet+EK&9Dygvsk-DBJM1C&CH
zf}_L;c{pw|lZhW@8>-bG^=GO=QV9<p-kUQs8mdqJh))us1)ElJT6iEpzeDiWEH>LN
zGa~a7uu)}=0Sl6qDGZtR7rW1t<5Z!{hjxtwMhD`oyIATE9dcihb!VTbXBj5N=@@EM
ztx$8+meQhUO$wM~DJLNHi$taeoafg!zj;vY06_z|+n)5imo-%Cwyq8l(s&n`a^94V
zk{Wx!)f<zI<Zckg0i?OG3YW%#Vfpe&XX!Q~+b{c|_hjzwWA5~F=;U#m`bQj<arc>v
zr<Cth3MK`q@;*L*BnxVc|HB1&599w@)_qQl;<<+A(jZamxc}^WAi_XAR`3v2_%w8q
z{fczy4W)dExooi04w;sCp}sWO`do^OfJ;#3%LCP*Wo1;QrCpCuqUObjF>r>lHJ)Cd
zqi2HT>vQ20kSYdYUi2Ghg=gn9vLs4skoFTxbuyT6UWwQFJ*6N06HjOkF7HW{<!R)s
zi&;q}(aAbkAM|YJ(IZFy{QGAza_$A3a=pi`Na#TF?iC_ypRLP1>BXg)QT-%Uq9u?O
z_iMoA`^b?gD%p&_!y1@JD0D(TJd+8lf#~ye7a4t?K}~j2Z6JZp^}(|q7~D}07t(Rz
z$Vb<#MQbNx&*;+jpLC5gG~tGe5aZ95P|lJt9!n--ED2SVMd8GQW7wnX^X?LDCPtWE
zB=PJ@hnD`E!tfJ<@OnwK6UaHm=WXCo<(ReeqyB*k!uRJz*Mv-O2r1+VYG@w0$y5+y
z%JmETXdyd-@!FJOIeRIO!EGo@4iRc>l1~pmdtlnVT=v1Kfu;R>;LlYj&SdQF0pZ1Y
z0g@e%GvT&V!{(^{Jq47jBI4-?P(F<WCCpzT35NGMf_u>dBz9!GXvNP;m@GY$_NN@B
zBc(>g|HIq2mUkn;K~V|-tQr|ZAQr8zN?;UDptD%*z0k;GiOCdIb<xNvhD_B<q+`oH
zCz%4na#2tqTx3U9y>!x+XkW%^l<Gl@x40FEh!3hY9)6^oR1l%3JR${HB~vWMCc_Hy
zkaNv9ZOuULBxEm8Jrg%cw@ZhhOg86;6N{%%GPv@O#s*k%f(%d)bER~l&w$^dw$EX;
zujuFJre_x?e@E7qHw7nLt_X<A(Za|F;9M~MAl7UJVh|FwpAR?;gFMcbWjIA*>SQ_o
zMCW`Q$vSe>58ZN6<mm0Xo>2S$#M#(+?1tY*^n%Mdm#GKjtnU)dIW=D4ScqvhVgf5;
z0y^l)p@NkwQHk9`8Vf>2BDZFRgj2yCXg~G1trqj9UJ{;J5XP(EI0Yo?Q92D#8c`#h
zYc-rk13C$6IH9>I^@(~{Vr|}%Ovx3_db|)GDEuk;hf0)-0et;<RF$h#1pCN$XZTv7
zvNCIn8o$<h#cMxn`@qW5-pXUJ0MUzdv6*o?xGd$!$OmCL3@&gufkHyc@C?brN}wcv
zfNYIZQYcq*Yi|=baVw`e>Rl;qK=1Bp1B98iQN*R@yD}R56^TQ13T?v$nlRX+Eye)7
z`~MbH53Uq0G@%BR3^{L9>^kyKg5Dczyt(cjtLwS-?)60@bw#Z@zeuP9KX4QtT)-KW
zc7c%g$rkf){LK88DUQ>;*k8RT$%}7&`G4qN|L+V@6qGHuZsA5m5yv)>v64yFoTNgF
zPMq5dLO0Tv_XjSYm@79tcmXXMqwjpxOJrqk)2<ig4T{8}cK3|#u2ZOXIp|#;40^N(
z^QcB{uHF%e1V%}{ciBG1`L5k=sUqO}tO9|-cf;yQ+>%$wVAY93vl#xkPU1JZR0_;Y
z?w6~?lx@lf?gQMYV^u^xm-s#DSggxlhK<~@1nQ)4oC8a9Skc5?a-b0Zq}fMQGYs~m
zr||GxED{Yp1oriCMeUbK^9WO&acTK-Sh6EEv|+9+aypR%M}+Xa`5FyK1r5iV0{u2p
zTdg9<jPy7msR1+%C$yzn6sl>DTwlj_R6K$d`LnK4oseqXlxm9V&u}eNs9BrvT2)*}
zT>a_#0)n%kR@`D_OBvf&t<|wiOtYVgD-C6SWf)N><m)8xKAlBB{GtRJ#V5qPEu>fD
z2ZU}37+tV=FDB~>+yr3UFV=0G4PLq4>mjJOR4pGo16vwf(8ANk;7Z^O3y%MIxm1qg
zq81~WLux*HEunk0S<fjIa%-)OQABX`5dsN6xnHeZ$ldd#c%gi5;rK4p4;hheE!dJz
zk@{1#s10LrO$+BXP#-%uAG@AmSzJRC+wk!rkHZv-!M09Cz`(*J>wL-0ZwxR-u(I+A
zQX|zZvRP&GH$x2uvYLLySF07Kgu%(v4NP4O>f55jm}(lqXEA~4#%U!&>v8HQ?`{NS
z=A>BzZ4-i($%Pm;7bZZ7<JWHt%KKU+E}^k6C-wp%Izg948f8Q%KQl*GEr^HakS1ly
ziDK!=7JF(Ytu-!CA;AW`g<Xb=;8NY&8Yi%M+KB5wqOvo_v(_|iM(1xnSt$TNMeL5s
z0GuqBtrs48J}a;J+eR3i*G1194aH9b23-&2aEm+04GR4=OP@)g7$|ZlI(?SF@Yxtp
zx&R6&(bxcb;->_wUV*?|V;zJ6q*dgM(!4cD&l|cKD35CHQ6v{Qs+g=|bSP}&0YMDc
zp_|XFmTxTSEm|h=b%IGt1wPO70(|l=Kh<%6qVEmWJfjOdxxQLBx3xjBQRRx*TH^F=
z$wFff8Y{PnYT5awai>r79ybvPKN3$a=8plppysg_Y&3U<9g!ZH*ez=@!eIKf0S?7T
zEWrS)W~PiLRP2>z#^gFLtS#RRys7-LPUl-9DiKv<(J@i?8Y^i=POW3MWCz7UV{Qb6
zb#U&2Q$kBkuTgD$9p4SXbcU`tEGF`UmU~+Qd=J~&|1DGM`82rV;iJcFWB{f}FgQ3L
z!VcU{oPy~S>;Yjj$xJci+OfbET6f=kWhFid!ewaP7?-io=yVI}54$$N&h~{MMNit|
z)DL{cDg@UT{p)*V`Nx71AuT7rqQa^@%t5=ui0vM}e1@o~kp%PAm!jj#dX`mI=fBbJ
zyoJ8wk?&3v)(E>pvr}<vR3;_dxn2MGCYbXn$ByRS8!;QcHfaJ>aZvPhCYkZ$ON+lc
z9EIIqI6I?h9_A$bJ6-?lpIU9z$Uw}5m_a)y1_0!+v4>(bYg!WzME_}O$<#Aa9K`P4
ziE;pm;<MJ7@qK|$kna_{G!OS@;kW#84?n11#oo@(&7fh7DGg#Djp*}cz=X90Z72mH
zA`!Z;6?%;VsqKfBR8|ZHc=1T%FW}NGhBL&i3?EpLF0^v}A#N^zjai9Un{dz?62pU9
zpJVK08bO!^V<!wC@}VFX!khKHY2K$FBsFn1WvKSI^lHKl+#4HE4CfQCW1zg%x`%5#
z)Pe9$H3bFwbg+8FzO{~mmU!8h?i|E%7;EWUZTwgeqAjphQCbdxYRCxV)mJ}qMkJ<j
z1wJ+a$%^2a4@YagYW@mNFF2QTT|(>AyYAhsP*gmw9<SWh;Y75iUVz~NWSl$zV;>hj
z;xZo)dWV*h5wQ~qVmwA5S&j+QcJ-nvIUmcoysHtT&^U)9-(c~~0!pG*uokco`)7!8
zfH_omEErD0Y7*X|NHg6}jl+hXk$6>M<GWY>67<S)evr+kTrxa0>$Mjpyyu(v^yLSJ
zW~F*AK$!j#mxk(MA~>q;;pUjA?X@Sa=VNv9;N*Q(96?}Iq=-&kxK*N|b$~CgD8Fm+
zYY8!ThJUzmJwrSPZT}{RkB01&VurgMH72OU=7YL626WY+Y+>2t+|QLcqO6|O{5(d)
z$8DtX{Er<Wm|Ix8sba2f@-4Y9QN>2K>dGd6YyJ|yZQ;Tt??x$ZWL}zG*;rfJdAzi-
z_h@Zt@97Tj=h4d?5Icdq5?Cbu30D`-37TmGa^jyL{W`&t9$$LZ@iEL2h^gej0fJhV
z_W3}TrW`U%6pmeq>VT8+L_hWk$9WVmhp6vmRH*!wHvnsQs0ODqPCj&JnbHe7ZnpyL
zWL45K>D_~UTXpagx*`<@AFXI;jB74{e(ogo4|3VB?PU{@I3BtNsE8!T8jX3)-X%bD
ze7vmzJ&=$T&=1gxe>EaN<NS`4aHRiC`^_oP(tRZ5<d1kXa{To(FzyQ-l8~mQ3>H$4
zhdkXHc&-Yen2FC&PaPq^6tVa4fd(j5Tfe&_l1lbi1>`#_eGzix3=Ushil12{$>PC|
zM1Zx$1;6`1#&OfNl03P4f*;wNH|hsZ=N|m%jwD4#_vE2u*apozCZw!%@DjEg|BU-K
zp2UW4d!%vz*nD)~m4^U*y-#!EVd+~r{cr>0X`b7Rn!M2pM7C;@{f(TB5hk`rMJDh`
zYKt5ZS=V5U;2xt|8?|?-O)CCZB;(@f;%ysT*uv4BMM^euze@>fla+I`0mBj{&IJl5
zSRnEgx=Ar?o@Tl>d3mxnRnr-4)N#uJq*<y*HK=miWR2R~INQ(7N#lmJAd-?bD*5c*
zU~+ilyOX@8TbbDz@Fp8M7Zp|#_}m$ULODQF%k1@tH-j?W!igpR+^G7e9dtn`mkR^b
z8<@ZiM-weGaCR|bPY6L~#+(PD<r%NZ=zBtc?g#>(D=rk1Lmu!PFFi23Is-(FLDDnO
z(|63eY;kiE-HP@$W;2Z|c^j@LLvu`Zj?~2?pDgfxqxSp;z{y6P-5m3m+@vQNLuSxn
zq!w{1V^uu6oFmCA)h6pJx?)7N<g!`K{Uq8byb^4rE%M%>WFB08q-_=b_OKPe+Xz#j
zjo@E)F{a*|V;8auA~E9&1gY$am}lgpa09#wSg}eqs4Z>)%eg)j$+$p-DG3(PBacEU
zS->^BmajLyrx<K>n&cvE3L3mAtk^I>wU&~N^`Cn<JT&P)6mJLE?B&QxIl(biBsPGU
z-NuDD*|y7=q42@kXtL!XejIX{*#=a!cdNglW=NDmNQ(}2k;#3+Mj+MreLaXYF^L6(
zLvBVGZz{00Ko2;qs{Lx2GH|(5A|A5`xIyv;Jz_OMvLzY})(gJLO&8W5V*vZ`vbJ1^
z+9^Z_PTaJq@HCD;w@}tP;{)OwdPK5B7PT1fjrPxU%_eo+o>Ago30rDrD#az6(Ph{?
zl5Hc9s{7{kSh7EesS6vZirlnlgY3;LRFKAXtHOl5Jn7>SYu)55xkJ5pyt{wt+Q;9T
zVk3rT+aWBS>PrySD^<0eKTH4sZ}F+bbeHDyF+ga1RpkXD${(Ulc{!o+CnR$j;`S&Y
ztT1@7{1l#tx+(}yWVdlLj$$0n!!#~<V+|}LqPUk`D6kCMk3qyd^4E`+rs1KfLKE6J
zl}}v*tCT89!_o;!e`#i%b3IstY)?;d;Pc>xpS(O_tggN)sCu2My2L8b);_HxOgUO<
zl2n9ZB&#huKX460qr;0|yH~BxabPD=eeR6?dVqIBh*Uqcgovb!Nd6KTN>88;5EYgS
zITam4di+<k&61BmPZ$XaX+Ot8aJ&c;bN(C|f(3)f?^Qrx%2TM{cH=Al4b+&C7Gx{R
zwfeL|L-!7=-Wj6*?+&Yb$ZWx{kgV?E?(@{9V^%@2rUUB~hQ*>|i!(4A7zvkxiARMM
zISo5jnXrYd_xqX(#Tqb1WRCT6rD;~)|8ykE5O|EQe+<(N7mur(vT|RIq{oyx2ab02
z7^CWR;qkUa<M8{acEeZDGkxIP@-}C-))0{;;@1B)&uOzgMK>Eu;2_)uskL+|^o|&o
zbaa7yMJ4=k6*5jh(tr6hKeSTS7dz4wn++-o13JXub!v6wmWfAp5nYQz+eN6jp}9@=
z66s4wn5JvMvnX8K3V|GJ1EPpq`HoLXA%o1JMJ&h_Ei#F)<~+#8t=@p5iu5B}p|L;b
ztndLnIJY{)rfI3FP91?_Rho$l&D0AC>B#owZV#7iiMqvxX%1p{(N^WRa{(6*zzH5Q
zLq`|XwYd{(*^_F#tWBZasmOeGL@%D9fkaZd89b=yQk9*cz>WU<iPU#OY!e#3RN5CZ
zRg_QGM0|P}Z3c7aZa0<bP||ZqGo&Eu$8#G5QPsRDs(BPCmr8}<MprycrDKEWHMk3Q
zEJ?!^xE?3TpO!|M7&FPTHC1L3ik+H77*xmJD+|gnFbXwlfe>Bfnt!Gyt?L2Pfcl5d
z7~mf$+14skYg~H>yP3tZ`RW|HIoSATlD8jrDAze?ko!m1R6<8f&Sg0PisKQv^X53i
zt6OzYzo`}na3UlK8Be034shHi5sgUZ;-;%M8BN?JioUin4w1y_OYvQ7O=X<O+B9xr
zyG3@k!C3QN5^pgF%BEFWWyt5GRK|ZN8=ljkgnIIAL}jQow}dx3lF_QA8d5avFbgL|
zwM;~m5jc4l(dMKxpbF$E;8N%l2Lj$VA<&G3wGsI@6q5purbkS0jk4{wI0t(Mcdxop
zWKuyqyYlKQle%ksL63W3@N!wVM|p<S1f!l>Vm@)>wK(01F%aR4UrX)bvL$*)C7OK4
zl&bn-@Kk++mEe%-N648F4-SWzR`ZzUlp4RrSp;N(E+cLOfb5q`n(JssgV?h169d|B
zr_yeiScuyWP)0SapK59+n4FPwJ3)O=23FIE$ps9Xqe*60u2xN_QDi*%Cq}FZ4>&2P
zWS-7_ZH|OcJ*~umN=3t*dOL;0Kr_lYjf1ZKn?^oY|Fiz}|4JM*;^L8XMV~=<#!p-?
zud)2+2WLIX%D|j|CRW@IOw)9rL^405D85sDXuDUt+dDnQZ%7oExasFLcHXQYwKBC*
zj4Ky#NaM*YVv@IlAgS}>Gi>Z|aN!p$*9u3N4wS{OAT@_t6sC{h>VQre6am2U01_Zh
zTiv*9kZI}(RJ`yYAh31PvBe1#h!<$Du5A0?AhhuPwIuB@%pf(7#h4pzB@qJpOs?h7
z#lSZVUle`7V)gjxGNKI6E+r>;y=495f=ck-Y%i^@!oOtqP9;gfUVHd}ZS>6+H9MGm
zBbFRz0I>oLa!+4g;Cde@bn4B>CT<8M1-NuwP?w*jqvn#RDgrcAy=k9f7@oW&L-sMa
z;t{Wwx<2D!bfH4NXk1%XZNs^9ZLiv0|JyY<wL&={yq?5UbA(0rkZD|${+7_#>Es~N
z71O^g&@|v?U(gYT7`i82yIl{fCy6&tKpC;FF<~<BS(<~(uB498Y)>J2;^gx3<$#pL
zGM!OnL?fn<=A)cZ-uvm~5?5*oq$Qux3*}HYZVe|(W+GEKkq=y41~C!}XJ+R9%*^Z;
zuC=Jl_2JP_;4DD(u(b)N<;}gSko&0BnT_A)xq&ti&GJPA0iYhOf74!F+g;gN-`+z8
zX_kN<#kVoydbds}Rn9^Lncu@Hm#~yRa2_5}5LH(;mUdnKpVsH23X>4F9zCK@+83c5
zSOo?t*bq=)L%zYyt+qXLd`n`{$ddHX#-B_c7X6$HKQAw4FQ3Ib5K?tW`syw5r`GS^
zTwE|z$6tTR@>ml7_nqn^#6q98ndt%?L%6lwU)VnnWqIvf|9nJY=E!$|?T)&J(mdfv
zudN&WT`M{Re=m~S%9@QmaYSVGeQ=b+*H^uvun2iwU5XVOD9$Q(Ph9RxX_%EeQdzF$
zghmv?n~I&SsOHZ4((=Zd-Tw)ZwD8Vf6xiAY17F!|EmV)z*EUwGhqeA%%gLV+W2jRt
z)`tV`6IPA7anw2zy0~DMkh&hqeHVrpkSz0-4_yl<?t)aTq~t{nmC1mBSe8yO>dE~x
zrXB{G>+>`2MVrBopyKqtKnhy2B|E@@swsy%p!T=&rIKrQLqToCl};xRrQ!)~`BDKL
zDB^#F_kN}V8Np3GRCj0&m!9G^7KSUq`%v9?%E^&4rN6mgD!+ixBgWOVzcRvrhxndS
zSJESiFS#-?Sph}K55<>S-lOEAS|*?Z*!F|u4WphOF;H?F2&Bx6iis2v2ue+#YlC;X
zifUd8>Ya@?<+U+ukq{67kg1D%Jbw}(>67+I!``e3<eNU7aRnJ;idzxm6`=a;g`@L5
z7aGVR)EcXRAE(@RiA7CJ4Y493fsHLygIxd(AjKTL#TJ?hPtp(~Sdb5wbe{KH-;9Gn
ztS9Z)dRQwl4rDoJYoUj=#I7aCks4FF7X2<2FI-~c9;L+-`V(6Yv;uNAf%H)!2bG>3
zNco~n=cYC)vv4%N0BuB*WD|1UlAQf=ETYVe3~wL073}HU%ex8dtZpNlpHzV6Jz^UO
zr(<vd7zF>9yfFzoJHj~9v0x%QKe@vaIg6vMtkY_^w@w(_$vUk?l1}`D-S&+aJ1r9|
zm~KY29S2gh`5x28@s=??y2~1QJ%TXo*l~mY{#eo&-C-P+;2OYF4mxf6$0nk-V^zKH
zNxdS<dGmmk@=1;7Q$Q2bdT~HxVx;zHbMP%{!_?EzLAplw?wFT$=XNE|qzU=>#Lxj(
zDQu2Sd>xZ&Z!$8lCkj12xnZ7!m}7POKu;J`OmucN8}t3UrGtoZl|dn($Ko%zk0kx2
zFgvy^Z<g@>C!V=PG$alR0Z!G_=u0s&@{$yK%t%Ta*ErdkpJGwrr^A>iq}2hNZs}2R
z&fS~>G2J^f9B#iHY@N^IUmg`dnPb2#oo8y?GcY2KFG8s#IY_(rbHuV5NE}WkL-0*U
z^%lt|1~rC)kiBqDN5?OcRiZddET?U3)%3@qCloFw88Yc=!(=ISmJS_u%Z6)X8cYHd
zL2+(Hlkr*$52}!f735@TdK*$PSE7m^GtxZ2El={~+97)_NteOoBa_~8nd_&X{?^ew
z<!vx9C*6B`CqhJnoluZmrW7%naw#X&jV%ZlrkM0RH26Qp1G7{PIuth@u5g_792lu<
z(50HIg*+TcjR)#*3E;!2Z4v6ef;vw*<{PC+ulL3C)8=CiyQ_L~&lsT+AKlGbCUcw$
zZ;;4b5nF0kq<ZM~kl}o1XKUy7?QqkyW*%Pk&3F|yMs0N2l=8tJluIb*2CDi+O3I6*
za+)<pBY;YyQabz6e9{{CMl+-4H1VgsQ+@J@xE_dWUGGIKikM?03e+tZqCIa&sV?uF
zF5jX15fXwRS`bL!`qxzv&26m(WiJx2%9W)T^aSDu?_z%HUBFs8vXDmYZ-bdYjy#a^
z!1H*EA%`oxRkW^m@6s2P3o+8y2pOqViEtRZA;yajdZ3bnhwEFyV89XBn6x2f;kXE=
z*4j8Vc?gGdE>6Edke+7PG8Q<pZrm;mDe}$aDTLkfQWsX8sM&(%W|2DVy87NIZG5=~
zS<qv}F#%wytdI~1s}(nd7(1+qS=s&6QWg+Ei!J4u0BaPbv?S|;?M87Eazb5%=2&6@
zIUAcur*lB_A#RwbO;Fny1-xp6e$TIJO-P4Z<s>mXy>8RKLocs(0xg(Y_PpHY_OG<A
zY}8o|kch(bf`HflR$thh7GD8019arR8x{zxRil{;mE?vO;azN!AuQa&)q2Z>CM0TT
zSb7I%vKbADWnr_A#F|(qcf2pwM%xPEc10OSTgz6YXiy8C3{w$IEGlQD!m?e+!aEQu
z+?Cq*xF<}mH~fS3CWm)HJd*c|r?B2sD!;trFwii(fVZ)-GIC<Dw*yIJqi)DkotYta
zX+fK75~F8ZZjSW~#PRlX?jvLE7fNeiep}^w*WCUshZxTj;FZ>Er;1v7Dy04m|Ghdd
z-1^{uw=eF`0w==5@?H+NZb8K_;{gF&N#b>3JlvQBoi@|;O)7aE-L}HhY<mc^kXoFC
z-1MI*Zk|asCpR&g9m#YPKZ?Y7@4N!Q7jqc0Az%Z+S!u}4q`nJefDw5WyfS?E6tDmj
zhQBG^4F)iu*(w8R%r$`J8p6Yd>U_(g1Mlha8i75y)d`E5mz#*<aSC}QFZ=Cbci8u?
z3nXqI1Qp97J>_Q{6RrR|IKMsyR^tN4^#a=i<OxqpA?RH=djv*G?e+$J+`tUXphC>0
zJEEVEleKF%uK>+ICoZdJ?0rN-Ru6yV0Fc!`LPzz?G^Slwzub+(vE$9Uk^K~(tc0*f
zFBjx_(AjCgQr27dlU{wk6(JzOiCd;XZfG{F!Z&NIp{<D)>Dy>AZzx%`Z`MF1W6A;7
zm+mZ-;oMtzthHDyNH-Q^6?haEvG_}@Z?@OA#m^{O|DhZ$^lXG>*EgdgB3`HE1Rf&J
zCkBYJ5k!&NH@3F6$pJ=xnkX<wPhS_ka>LM+=P$-S(qZ)Z^tuaHd<i85o!_)GuF+Z}
zvKnB)MnWE#|6C<yfOh)sp5j`z{xR~{C#<L0W2GP&k0{Kg6;_YaK%gy?x5kObJc%VN
z(Q#0lhSF_bv&ar9(KJcLz<fn7iu92e-HX$Vb4H9jDK)%46hvjkqm7|l+*RWF#~){6
zQQL_-da-zrI!osoF$n4D#vLIiJQ$3D#$%Fghzm$E*4D$T-wGS|O1IzgULIVQIN_eV
zF!T9O*Mw~7S^vQ(c2{=S+bcWBj<!}fXU1Fkg5Ub)51Dh+efF#0BY^5+u)d0iD}UUk
z^J68~CB?N5eC_)SNO!5#_g$t-R{VU0Z)U8j6QUcIiCPdv>X^VL8jj+@0P4Cge>0U+
zxPNPG^U?X8;@3Fq?9F--0Y_pNm=A&yhPnr;VT8kIJ~OX+fyI5GtHGZ|gi*^saL(|K
zQl&g^NC5<C4~G(J6wVnHafxdwd$N@k_*D!JUPKx5QcFL0cQO)iF1JiY(}Q6p`BUo$
zz_^vH(;B!sAZp}@uEz)5oEGWX!dXwx!18a2`^Np}sUl-SRDc^26Y}vtcsHnq2~4*R
zd(Zmkx~C(VbMgtr^nQTo<vufi!t3o5M()#06V29Qb!@>R8Gsmy++p_Q`qjqM&FbI~
zW-KJnU{LbcExW@mY7Ad9NYgEeE^dKvwEeWS{X&%S32sU=g&e-YVYzw@s-Y5we&<oA
z-A&^j&_1@?pPa<dAyZXykrb({sG<~|6OJQ=&pt+n1jIOHx;chU1)j@zaC(7YWiUY{
zjw}-tKzSrfq9=gC$yd!O5uz4dRy2vQ=S)NMFX^bbn|xYfLV4&<YUIa6Q2@M+UCFJ_
zcCp!#ie=JP+b;(Pmk`lL?TNC+WbbuC7`&)tCzVVz61RMencx9cg_ZEg3nZdd0OoM4
ze}K~u&*}=pZ91ZDs{4m)h6C7oyatd;V{88bFUqqfmF(}$fE8y5(M(k#_lQPwGv5Jd
zLC@ETIDuZ`Zj<eG&GN#L)%RkH$)35FLWv}Xn?Sj*P!gd4^(hTZ&<V}EAg;g(Zl0do
zy?)SYVIGh%m1t*JNF7I6jJeGA^WN*ji-Q4Dt){x6n3s1FNi?ie<QyuV_<3UQE{1aU
z%@=oPU4|ya$6Z94ly(Sr_GKVS*bc+tcYH%}BjHS)pHRxmC~y)RrR#PAEeDdEVMEV~
zK=Qh^W2)A#)t#;%RCxeh-`qov&WVndD4HBo16uv5i27qYmTBk?THu;<1T%`62xXmJ
zTn`cYl#*49ySF#pG1NDh-=umzDUB1#T6y8x47yW^AY&}bJnKDt%}BG}fP5(&eQKv<
z2HGj3TL5!uP5Jtcbz4d+crP%2lriSVI5spf;+YQ42|VT=K>oy!i({)+xp^;e?<x1r
z%{CJqqb3}1LVdwNsd7RmR+HS$S4AS-h{>V%1t{7e{*{iqtyK1*tTHtZx|=j#iz}O<
zX75nG>v0zY^D`u&zjb!2*Z!p$|5RMz`p|`u-*XLaBb#V^j;nhK;7J@m<Jm105OQU<
z?gG<F9C@e=_aRRUu&zne7SA^MmKxg(Y#1)IhAG=3dQ0flimpE0j;Zdcr3*3%RvInf
zOtJ3Lptu0f)c!HMtp<<T|L6=K_E+z@^$LJnw=hgZ-{3-oBN?163t5NxU{Taw`_NAp
z4tjWc(S7cpN<iqWi{Jzi5Sc$RAao(hCL!l#g#94qC8U^;hdA5B&yKp6ko&cay>Iuj
zN0OU5dxpf<8g!f1X3^|9oylDbsd2Lqv(rDpaT%%D*p(5lVYw$di(x-{W67ouP_jrN
z5&l~Y*$XjVII`hlc)cbG;cYxV7$yk4Ey>Wr_RFp8_~7~!eyH~lPq)nYrs-CjsRtdB
z0Z%$cKOI*QiI)1$PI^P0vM7asjC>ghi#-k<QmxL`lP5Uyxp*}TUW)tb0)cpJb1_0t
zKwIpPJNmmf$Y|xljV{j4fM53l=Oy=I_|iQ@B%ynF{LDQJVL}W&fk&yI(T3kXD9GMp
zC+fo#<v7!4_Lx-9uVSoBUE3Mi;()u-z8aj+wPG>!E!5O*gjMMvVt>;57)s8uqR<^3
ztAyHwzPrxYUyIvuPosWeEu=$gxk7#%R=OT#2mFRnBtLXWzjZQ!v76{(Zpv^g8&6l)
z!j0Uru)9$n8GUeuOv6zYnm*_`q?#cWx#@SySDtZIVCzBR6NREQg_(_N=yzE^*omk_
zLh4cH{*QqLK<<ZnDMvxZ?&2YbvxmHwDG+Zpv!**10K}uwU=tk~e5rZzPF`mmTPC}y
ziKL>mcXWMr>6LW%IYn9q{Cgk%Ef=Rp8n15mwqW14Y?3oywJfzGbx|EgI5K%?V3(dU
z^Ks(b1R+szjpD78g$6LaOC$n3)m#5A2CXQlMQ)i=za__$Fk3PymN&u8jZdQh4N2ZV
zUsb;t09R9TH-eh|#EN4__*FuCc#HHK(E3;lV6zuUV&{A;Sc;0w>TAZI7~cHu(?E0{
zW7zFV2;;R4qw$pu*ZrIjZ=rv#V)D0!JdrgyBP!Z?T)0})VZlv`?na!KYGwBiC1eCb
z_WZnB4dnAyk?|HVQ9}dH44@$-Z{R|QCZgMgtH$y5X+gvj^5yz+V!Eqk+H|O<fh77m
zKP%*7P*%k1Dy1W>WZbgB5S1!0-|h8Z(1(y0*}{8J=K|2hlQ5&~f4$SP^}DJERsA)b
ze}oW;-XaD{RM=H!&4Un_rtUPHYQWePhj;Od;s#XQjyY2>f|5xfj{XGa%4%&e0Gk60
z{i!)Q!8s0eg@A3q4&bhFDR<PfIPe1bu52M?7%h2|f}{Sj+vBY;ra5+9ONlThsYmJ(
z>pO_9#T~4xBHvo)gu-t^@VhtxliXL98zwjdCOw680p=_@mfUZ}9A9Af!_wB2s99y7
zcT-fFj5p3?0D2LtQxihh&(vp^YNhVQ<!cD!hu6<45fx^mWD))IKVA0+uU$M9xF}<4
zhVbu$;9@VGC<+SV5;i%?zphV6AnQ~R={Sh4IY{C-^Ju3vq6^ZmbO;#fpF&G|_!6lG
zlP)#^FB}N4k|;-u$jl~v3QH)G1X0?EYtln@8>tC(d9Qtl6_Ew{e$mHOk7`Ra*=$ls
znPh18oL$e&PhTqsUElnhr|Ua^ln~fDx@RmYuQ~|Izg~WRn2)8q$X?Ug{Nru-o?V_`
zG^fs9z<U!uuBNtE_e__;a~{+e*j1J{wpM<}6d+_jqBS5K(WWo+2xuT$_k4|&)%MQT
z6a4fwka)y_+uGh+Us>9SU(&Zx+uB)MZA*K;rf+KpyafEDO4=l^<o~ty*VWXW>Mjh7
zlBswWuD>)6&LX%5+Pz_>lpljFdIZ1|&s=ddW|{{o%s6gE!|%wmrg75mItso*K5E^C
z>&cT<la%B(*6T2<DXTu6WKE_{OAfW&1B|N=cOX+`<*PI)R3{$a>+I0b0Rri&#r2si
zPzSHwnF)&&p;LMSta72eX<1^ju`<oY6h}s!M(B^JD>80_9k^%W`j2b{x#yq-0K(9B
zE{xvbMehhE{o4U<zFa^>1MZ>zbJG>SkRSgV7dbpsklcL<d8O9(nwGkVa5o|zM;>+R
zp$H+l%rvd5(oc2(ZJN~%{P_yZI|m7@$#(Lfn&}2&3E0kPZZcYl38m1WpDBESRr=`A
zG`x;J^BG2BkMw-rI6*3NF@+rI2wN)bob?5T^|wdi>?sREwYK+kw>o$MndacIhn*xk
zz50_!9Z0~tF9Z~-WN5dFCG9wAD%m>LUiG@yP@>hr%Phx;%D>xr!%~_Tn=&yCGDlC_
zsW+nnOb$Ex?J^@HJqoXhzd3bh^Is=&e=US$_tSYxI$%l{AB%^vw%ZS@KP;{9JwUic
zx<q)SsSne9sUooPSM!WuVmK@Y>{7rO)QLmn5<JH>cM^3RmruU?%Hm}+<MOB`Wk}_8
z$r0fWl1<)eDGXHsn#Q4E_OK$Ft65xy!{m9~99wj5;W-kY44A57kP)=$<I2O`{X>jv
zMk2CR>c=*1AB)rG>#_G32Y@OIV?yA^;v^LIRA-S7>vJI_r-T%g1iDw^PG(6rM-55X
zD{%>Gc#eC=?L;kY6b{p2VdkPO^xOrGn1GL1AWAoZYT|;iAWOEE$goK}4()}%IS{pe
zHStFFvdA2FsAIwD2dE?$j1&<6e|z7y9Osdwr}6HFt@g#<I>NsANzQrzNsTi=NHaWu
z04Tu%0S*94o)u+oqtO6bY@ng;1_6%8egQv&?|r#9d+#fUAHa_AWB3vLeVLVY`v1SX
zAyIpXaEC;6*CDGaD=RB2D>JM2zC0;+U)RZS%Bvc>3U~q9-JSJ5+f8crD5=Xs%$00@
z(VX0MLV#WnYnTZvXcCz8EfQw325nLpG7<`c2R~<v(x#&0!iT`U^tTG<umJnVigI*q
zGRD#S4}fwu^}#XTzseDA7YS<48UI2gMR$qDyk(pNhMmq^3=RQRn>~8J51Z#*N<ADc
z0wge|IhcR%_6NM>OykSw=1uR{<oe;0f~sXctq0b6NRXm9`hozlY4wX<Yj6hEd0+OT
zxq|USaLz(`?3ePKdmY?40-YsTvD?*qKwAgyFWd$ZPZ6ds?dIar!&SsUL|cpN%U)~A
zLE_-$Zaw|AX7SWTe!S?6&JiP01PMDF0V#IG2mxd06M-YIxTTTJR|8F<8bBT4FoG)x
zd{8`)ze8gE0fAaUhx<=6v`3ge&<)7$IwMTq*LnMtDCUv&qz2b>CyisgT+36g;Mpr)
zVH_)$sGocyc(*XR8Rq>2z#1C1v^EmF-UIq+ztstd>7-VE7f1o+4mEadEE<@MNAp#K
zC4JYxZJv;Fz3Qio<^&c*4i%@=*f}58_>RDOIow>&=XJ|18(Pq4&3;oodaGvxcP@8z
zoBRYIVY3Mb<tIt!!>F+{Iij!c^MZJ>(14kuDYkOlnn0Pk`D|C>D>YBM9bDAibP;L^
z=O$d}i?(y?nG0(laG^A>A@6NELRXSpXGI|7fS#rDMKYFX7WBn4!+Z=+Y>BN&)QIzJ
z@n>Xn0oFy0^8uxpsRbBueZJG#Tf0Is8>Z}CyPFc=OwKqQCxcjxILyKD;R5eHwe-l2
ze@BD&*Z?kCZ#&H>185Mz4r5F-wt2a-xB!KpnA-CO(H$%9xr<pze_BvQt*3(gprLnC
zFW5gPqciGtORlECnDXl%ScABxL_X9r4B#(PZL7cT!B>nYo2NxII32ax%`F-Tc?3`t
zX5f{uLz^wMALzizpbNGZ4h|ZM8z%k7y%x=O<G08XxihA2y;(Jdu*e#WQZ}Rr+}zoM
z&QW$6qW!ehgIN40>}Q$>ogQBN6aqfQ2Xkp|3cRblXu;m&@{F4}i^H_9*f`vDW`;}4
zEfj}Zlk4-v_SVj;7scNGQ9%!+?Y*O71}1;Ytzuze7SFNaP?;bAL5mazV*7Qk*gWq*
zP3r@Z4_ff)pYNhk*&_tO9vNyD27fRH<96-u?tdvN+pUA0Z?>fy)L8uiHyJy7J4ZVk
zyE}iqakR6)R~&3pTMeU%U!+gVj1_Ku+T7S9K16lq@Y5__?R~ws|1F{n?;pI_I6^NF
ztRTUR*~ZD3iII!eC>y$2#K|I*f8=<J<7>j9+`$$yRrdmROp6Q1|3ud7%%gRfJh?lY
zK>9-QDrM!1u~1KS2m-BBMsmLIi60T$yB82y=J+ZB_xRDE+Zp1oIYCi8nd6Ia(DpS{
zrJXNMar=n-4lf#LsNj5#wI;X7(2hn&;SW#z+^nDDgW035VL^%8yzC&G%K|_M62XzI
z7b&AIopIOs-N}nmhvxV2eR#RqT*f_23wF@O%G~PQniFS>qe1I^v5yP0d-qkE0qXFv
z1#&-VpO{?ziTa04i>4_RswFlkOy9JwQ()1GLMN?P6vdoR3Ks@{4|7A-WOF0&`kf1-
z;+o8fct+xiIxqr>pM3RgQ#_A8afo$pAjY-?&xU3Q|Hf93FRmiU4|C)5NhtW}ZH}Lf
zCqBQtHp42Ftwg66HJ?y6a?{H-LW*Z32;DwQnlhQzm5L{+UyJ_}#xI_4*cunyo+uZ!
zKXKuR;zWjry<^z^k^e-y0K!i)1RkEUhW3pp!AsdpvCTtjrX8a@mET6(Cha(o>*!;R
zXak!#Ubbi`Y5~MazJ#;a^#GPLfP(Deraw3tVvFMSD_(PjpRnLBh%K|z5_`{ieu?oC
zBebQ5P~QVH|I{Yb&rw$_&Wx4S$i+@NV3!x&OGvM}lD&kU>-rfRqk+x<R2T&%!9+?5
zS&v{67fuO*i(es7*2r5wmO_8$09l|c|ID~<s=;T&PPViO;1whPLY84&ylT*Xi}NsI
zVq}6|qckNBm;A#gwQ(klMsVE0W`~zR0h59}jimfR+IPUGh~=o650|=vF5)##yy}g6
zjUFC2!8}+$#itMY2tBJq^a+@A`yV$k7>_`qpzj_8NMdhlSt8p*#ej`YwAHjwlREGz
zz{F$Pp__1%KJHG#UuTdBII4FdvY|bU8g3l`YGax8c#(<8GyNpeFm+a=D;SqSyqP9#
z+Jix?<v9K`(eR-CR0TnZ%H)P_hv&Q?f(?wd@KO7IX~(fw+`wmr+hA-LEFBjHkj*V#
z&^v#GFh@e&#;Z%fhR1EPP|UviK5&HW(c!brVhfC-jjIF^`CWk$;XBB%1<1PDzZ!M%
zh(`(XzNX_0aM2&UpU~g!9O|H^zX#|q0*w3qy6%n#Z(9%PNR}Rh_rN;o`U(O6f5Lip
zI3!)Tr5s@u8Y&zy<oE)!?`~@-hW82YA_d^XC<AJ59~S#(IJWnC1uh+_sJj_-M<ZCk
zKmmAP*wG!yIv*@1oa!QSk%)IzdV0WFB=slxm;XxrM;iY-^CyvbT4gisI=_;{k~<?`
z%ui(3OBNsf%xuktDX3e&i^4wblM8CF9p4=~_xkdi3rWcPiIGpxUk3^I2`3Vn4!=X-
zKdiuE8`eAUy{R9JR3!-|RdG_)-?UKd6wj|O+Z*mFwCwUf>qH4s+A_$nWTi^Xij5mK
z;>gA@7zLt=<kPwvwsetkA%AdAMPFvhjIprN?g+lCG>I^CO&@<$CcxLqX=-A6I+}}x
zW}PisP!-E&kg1+I+SX;O_nuGC4R4%EfFaZX2pHhouwdM0X628Q!Vs<MExD+pquP_3
zig*W_vc4YjPDnQQzKFYEQ1C*C7ik?|<|0Xaa;f0Jh6@X~DBe&!&CHSc;TIyzhN7Av
zs$8%?e~?Gs*g1>%BmtT}Z0E|(cyf@aek#qI%+tw0jvi6x=;vG4x3EBdG0d6&0}R-$
zXA(apc2utFo?p7ZRL^ATiq&x1u_Q8AMbCa($AsP?(p{f{d?6_6A)<OZ0|Rn4?rt{m
z@Zy-Myu&)!`^oD7vq`T*n@PmS7~dmwYHAu2J)&EkJP^S)kq=%m8b(QE8;3qHP2a(7
zg#i^7$q0%?sHwn(aH51AI}|$*LvgXk7uq2Im*&VH+uGip4n~MvZ9qc)Yzhae*0#Kh
zkO-DOGEoRYG->lB!tn7#W(-U;0ic7;c+&;rv`yEr)j7dHa?zt|94<Z&*r{!5+!tKq
z@qS!0h|=b(b>n|agFye;n77wHgwd}yh202o;VwHTG_d7aDjR}7+NQ@(BFfH7?^*~R
z0ns1e-50-OmX3mPFY!GE5>APXc*V|8KDFbQubNhJz2GJ8P3sCza0$D{fDf;)=s7A+
z=<x=bdyqL?XM<F#6-hol@#Q^~t(6*>r+Rj@zCjP<S{EO~3VC>}gj$k||MFJl;lErS
zCl`m{G9njKQ<I#SxKrvWfS%Jn>z995cbZpot&HQu@{;av{o8zMsE=cwvv2T$fNK4)
z<5(qT6_Ktn$Yh{-iSKO80LmvaE#Rp-r$Ug-3+ghu9!TiENEojIT35EBndpo{NYT%V
z!mdwuJhG&5$^s6iII)y?P(IpHfr?(cZN{WZZV*9uEs39g@38VTbLZZo=K}c_1kXRI
zWNjXnSo<GZ{PZ$GMaS;YGZ(kScFFgFP0h(e!yW8<RnH9P91PRv@AI4jz){86hlSmi
z>X~M#J9=Y?xF7k(fOk9O32cU8Fmn>>WivrVg1Atat3p!^p71~|U7zI)`g3P6W(y)b
z$q^sttx*S23}9#ENUlb<h@-nLqAc)php>k!n~@Eyv^DDi>C5e-CZ3XRGLYTQVe#$$
z0ixM{S$t6zDQtVI4D(hlE@SrGvuHEgKQ7hj%`@hMaNV#C18YPKw*_pih}R1O>!yKZ
zYi5-KQ}x8U39TTUQdh9YvoY@KX!oTBydBeI6+PC16^IUa8iM!3w!rwl2=1#bl@6^H
zOG2d0yC6tMV(mmtXq$54D;=!v(6CKJeLHy*>0s>;T-W4JfL~_%@}z1METN1*l2PU9
zclv%YI!TP*(zq>iXD{qa4ZkmC8nucpmQitsCgt7aaJ0uH7)OKR#lL}6<Y%WH1pC&N
z7AE*-v}$cilV)<2N?}y3xfhwx$q@eRAGjkFSkzqNmqQ2;%gAdPKJrLriR44_VTA8r
z5Ie3{c{h^iYZD)2_@GF`o^O7ZlrFGzMHBJM;36M)iA(rq(<tm=wMUMhX_1^m)D|>Y
zNxXUNq4~<(ldU9eq&|dvTst47toAI1ytP*<n{NAt50jiQJ&|r<T%<k5&WAF-Lhi@4
zl~WkWO|)x*CxS>()Np~@L~PTo-NoirgKrnu4HoLS%)X?73MJwWuDsrhK3{BC1L%ev
zt<(FcId|M{{*Ub3E%D7P*dE6C5k_r4{lVIzmX$K(#7#YyJjwO73;ZcYTgw@xGYtP3
z)G-zfvV(>U<2W6sbDyr!JU2OQK8U~o<Tf;W4pwkw?zJw@t|jzG)FPn3_#4X*#JBqv
z0VRCGX6tH*l$DTj*d8E3b~+6S#yFI6IX}3*LX0zK?>l_L?f3#Sgd1Lbn|C$?GG`RP
zta-j53i()k7EtcT&c(GWih!%sHa%isjM_#-m=XaP#!Pz0_4ZgXOUo1cUXl{C1lX6+
z8a}+pxbA@2S!X?9U~BvN#;e_<CSrdb9qjKmv9h5X(zY*XG)=QkpMv+^pfsbgij@&_
z;N%y5JhVRZmi;g2?fmy)yCskN_yi73q8g<sC>9br@0$p{<bQW=uW$w4gj1fi$Khe}
z@V`&epBn2<JLOVb_&OJM4F>!g4(;vnV`y+we7;5q%mFcmJIqLr3b%z(`?Es)PZn<1
z7og|~Kr{$k1V@3`LW2^M5{Ik3o>axgetji+I_Nz4(W-H>ueTC48Emp#vk3i<SMd;9
zRm{X)os~w2@<yaX4-I4~@z?xrLMaSY)QrmpdXpe;E}83s+T)raZwA{+&)XL$BDG>&
zkT+LQdV!)=kFnkCd!}0mDqyQC7B19{iayk;SuVO=`2Iw_!5vwq1+toX>AKKvt~@Y|
zWgj(%O$F_++e~z~p)NYJY)IY9cJKN`EZ0DIq5^F9hBViJ{S8S6W6>{4)%jJpzt;!b
z&?V}=EH#!E7e0rvBmyDgL$_8N6lgytGH9k*b1BXj8tdJI{{vWiR8P{Alo(Q@g2`yF
zxT-ifYVZ;(0}hsq)en{}m<hXlr|JyMs$>K(X5<b9%Z=6|2QL2$7UH4A9d{^LuFdxk
zabt$PGe>Q4hfkT0(#Xk|k`a?s-AW$+M?<1GOi_XWDA<f+1M|iL=-v{Ov36bH&Ui?!
zs@_*=sRk!k?#ErNG>}@X-px7}_eO6xfcCU$?2r-dxYnOG)QDFmL}!Jj*30X~K*QYu
z3~T9+&?q)LSdw73JMW&_yULZ|36o9?_7O{N1B#6%fQ-L+@GK$5+Nye7;Jss2f8xre
z@Ae!<(%As2wihKp+!gduQEsKuF?XdHu7=tpeHYTNp`T7sZkYypD$n0K^uA0b(fDVQ
zvSnO~cvl)%LOtb1{y&l6>AyNsEg^FnA|Z|=wqsjlorp^5mWw%5(dCfRTA)F0SbQXS
z1~=U&y8H4r5^E=jl14Sg5@Fk&>~ta(Qw!cjvaE91$LX5%Cv{kwl?AVPOG~n_yQd8n
zXmsGv)R0mQoU$%ulL4F-<NLBdHBeSorh(EP4SHk2EG|w2Ll|$+oi{jKyn%cOc<pms
zP>ZC3o=O|t(~8NhO9E$Lzu+atr(A}elP3)~;_1P>M&vP=DMuhy+Bm#S3xGkC(;h(F
z8FY^O{SiETD+7^G39qwRH!e-5)jVXLE`$JDfcJQ+Entd<pa^`uR{efus;7bG+hUNB
ziwj!l4&W?~7&t<80!RMgPhWW2FP=w>Gcrk->*ksSFLOLo9AY(Z^5l={W|Ajpu96aI
zOllYHiK84Veu@eF6!<YmV>@z9f}#1PZBN4dPggf81$76H&^^vo*r*t!hJ$S^tZ>S{
z<M;0o(orMx;|-ONcx;JlQDWN?A4Z7?B&RP4tVf9*OZ+@aJhjADlz3)|$5G<BCAOo)
zt|gvCi9c8(OqTtK-df^ml-P5LaG44vFD#MIC>TO6Es<{{SR#y_WSEP~QKCF=ghvn-
zV|@N-C1ZR-y`<G+eBvali7`G$mKfvn+7e@YzO%#_pEs5m<MY-MV|>21#2BA{w8R*n
z)EDuw2n0(G2w`}ACc;rNBvMHwi7`G`EHTFCswKwwWYj#V9^><&CC2zfj5RG8;}c=~
zG%>~}{5UmH@X5G`{28s4(pRV$Dabbv1`q`o-BKtOixN-+{<ljq4-2kqQFiI;>*5)_
zbB2g5*g$M0G_v5jUMd+Sye^Jf$BiYKLVBl89>yV~7eXl(O;FRY5zp@<ON{6DJC}%O
z3B&w;Z;A2zzP7}8Dt~K<@l^iC662}-8%vC*@-s_}r*h5`<E1fgi85PWx+zrYSlnV?
zF=0qICWpA!u0#XQ&^pZzJIjm9i>t?!lDrB|q3bk2A+*?7mI(t@p!m|H;!BNXnJ+EA
zJgN9{V_7Cki?2*7zS3BhY1HDYlZvl4mSuvq_`^xX*YKP}z|8uj;tv}uLKF)9^GU_m
z8!N&NwD`iL;-5EGgu1l&<Y`)HK$7&+IuY@Ui;WebNrgWV^NUN36`{;PZ=%w!CpVlM
zRq4HAT!rK|hS+$B*tr}wRwD9Tno$0${za#;5)tU~gbFXuUR^aHVR}rhOsKF0!Dc0*
z(bWm%xAFYnN<^e<6Ux6l+q!J57@4k&?>|v=0O!6z{{|lWZV)Tuhrl|!R>uf-Wjtb8
zXUpms)vk=6Jl1(-b%b;SsmKM%SW?j|l+~DbIzAU|2+`Nql*Zv#QOq}1W8V5n%)X-X
z^3_-Rq_G<FUbjc&#r3zZ)NHKAy!q3qTKcrHdWUV;jY)Uo^;q<ATTWdUe?WZOOSli=
z^-X<i6!e`i|GJ8OoH+)><*<Osxz^!(SMp>Pwgud!R97vhnj|j*cbI#(ElD&3zNJ`o
zvcpjeuhz(=8IOW}*q!3IBA)bkCak)Sb>OvLgtoYe{Si+0zUE>F@2%o=&LKd2zzMu=
zI5<4?i&uP&ve0q!{2oqZUK>!=b?b)zD`Qa&!9Rkbh*rW-GR4tq!Z`{!1!cK&)IBGN
zBvSHImzYS&4=gd3qJC|Ov6TE*mKcjx|G^St_V8~lv10i*mg41&w+hQr@~kDs!r~iC
zjECtKdSfXT7XPCwnFx#j$r9sX{>c*K5q)8a@rZcu%)`KPJfi<>iSdYjXNfUGdTfcY
zu=vC!@|2I6<64kLJh{r3*G0w$5aj^N`0@;Dt*LndfH)soKDKhB2k)?o<Xd11x+RR|
z3fNGv;<RA8l%^o$Fu(~Uy&AJwJNT`}Crmr|VJ8p7ZwJ5C_=IT(ztxzi?BKT=6O|qO
zR%4>FgWp<w0<nYNT1-@S@LP-5jvf5gVoGyIh=7jxo8Q~!M0rzBAZeu!Kr8`ZJ=xr0
z?*TZ*iK4%b(j8S`*wvaYsC2Kx;8VF4Hk^6vm0yWMg}1k9j}YmR07)KvaB5B}7KgZ$
zK`Q9dH__lrzv#zF|I&q9p#Dv?QGDs%?j(e&vA}$$>~jFrz8=u)3-1{OkSr8b;KZ7#
z-l#w1G86cEUnB+{9;}SX;aS>jg(l-}e+I<KMK1@BV<-c2iR>UMY`HpSxE{qHH+NGV
zI@swSgvc8n3u>eids({E$?!gDTb0gNO$kQfW~327o}P*(JndET%e{VtSt^e4=$^_C
z?oo;WC%z60sWBkX2{;~Qhf5f42`sq<h|5g)&Ui8itfjhTQK{+$1Fv3`X5@ED0W~n)
zut*OYgh;1VuSim=7>{uXa%^A7vUA%Vj-Kcv_JMpHj=8DeTK`d@FB`F6dac${%{IX(
zabFsZIW+t3#8~!;Hb5wV_`ZCrch-k*<oN|x+s&Yla0*oHUR*<Yj>rwC-P_IyUMHAJ
zZ~nUY`q>s%XlHo&8(iXIJB&N&s0ks0PCA2o_wGS<lsDR=@nW`1{j~ma_;_iI$m?HX
z8J~2|804OWMqbfE(2ru&#fg=OBX{BhZ#5#Z!W7cS&KdO*&y9C(OxJEeLJyK}m`U1a
zImQyEwUOQqBz2-66L!uEgwE)?5bfX?aGn5iys?zQK_7r++W8@XT(`}e6a*SuT16DN
z=~qikk{|*)EUJ8R(nxv{TF(v*ib&udMhnnFi$xbg#gdVq_pdPxASCc9gddQHSvgBQ
z3=Ci(NvUQUgxv*OOLR3UVJk-!Jm)&a@<RJ+T1=q}HbkPx4O5rK_)9A8T14wPq9Q~`
zA5ZFI*D0nNuaZKRgLo%ICj3WlMAhcN(Ynz@)nB{9f-Cwvu_Xg->wRif={!vWa|O0V
z{@}y`-O7R-YLY>^r@`QU0W@&Nw<pL*!nP+&j;j=5&APpEy8?&HyL)+cjl15Rl1+?8
zJaX-csf+Uh_Cc1#m{S{GC`5{otvqz%340+Dgc$#{@4;6|pD4gKVM)!ULIXhkwvn39
z$sR&uy1e%je~W;4+;0s|Fgyu_$k#fPC0C;2F+jo4l|BP3p^xhQbqpY6nUqG<J0Ewk
zQ^EU5rv4repp*+u0xo3FX)u5&LeQ^?#is)nP^v+!hOw11*{PW5@}I|7EkpulHH}B~
zh4^X*@e`z$O^@$!!#)16Y(ubw#XKR9hFl+m2-N;TZ4pT0;;tQ9vd~-T_t(zKTBcN_
z)e0ZRJRZ@%DAexzpZ~AS{`;wP1!8K+xX=}xKFClZ{f-Rv(AmgtFEx>j3ri3mPJ-)0
zh(SQ>M+c(5&=i0HqcX5i75uug6Pn=+CRKCTr2=CBnq>>@#r0wNpJT;&>`mpyT5%SC
zzh<0x4J)D-Z_CrgE`-IV!tYP9Sw%GA@DX7T>;-=_o7M57O^jW|Xf;W}RC?3v>5Nvh
z(VG9P4l{DD$Iw5h1?&3a!WwLN)rc2(nS_v9o7CdNn6NrLP%x2za9H0p(VVa`$j(*v
z{6!u5747UDnGYr$&&;!;0hKWdP=2a+j2E?P*-?=qUE~`eLI+@>AvD(9e%ajE+Bzsj
zr}?=pdc#>2+=v=SvGg$DlRGkLB6);OPfu#fFe7IJZ&7I!R%WTP<7BOTUfqa04=P)W
zTEQ$LEeSZ0u)c_(HI8uBoQo90)MQvHK_{THrb<jy;bWF?Fg*MMZ+evCzmy25fUM}7
zws9E875)<)Mzu?lDvybWW+Y9e)T;N#vLWLtd(1p4ABZqq!f%OF_<=viLK>b!boU}2
zL!;F$AF^F;?Wup*ul`22`(OP=|N4K$KkNd|Assr0;R965&ysUknwolsy&wQ_3!B=P
zi)veHAHXNXQ}V&_^=O16UgYjYeQjK1tczI=FLg0<Ql2Ofz4#?E3gr^G+MyGO9f0F9
z)sWyUbGPy@g;(iTY9I;}r}*9bZ;H{q3y)d-vLI24gG<Lp@A~Z)!gaN9bd@ZPP#hM%
z`-bxtjwCo>Qi;ei1rGBFSb=awC&h0<&EGT-s^7ht>p-1!7=?X=Xn=8`cRc#ogZYgr
z!{Q>qKUHKm(tsW5bZ2(2W+L2Gc#Bv2hwdTbI?OF4KpD<u?p<C)m}i8Bit6GYWy3_w
zXL+218v9K=#R2Zl$G<T&+FUlyYoWO196BLfN)be5CV)XB1y3j9K-NrgxbdR7!k67@
zIwoQD4O1MK1jrTxP)22LGwPR?f!HpHhf_||rO0o^kAve>2c--wOKi{H=}Pk37bndu
z$bG|kqRqEIR!_7n|1sUFHDr(I?ud!kQ1hKPR%$9RZY3WHHQY;u>q{)ylSXYT37)kk
zQKQ%vwJea#myWu4UWKg5p*bC&PI7684viYwG8-SAv%-UyI93ayssY)%rpXItIvLhg
z=Zup)fr#f_bsRXSqcue8U?B0DCa^Z5sdPl_ADSWUYDG+Mt7>{3Uq|eKVQFfkyy|If
zVOkg6w8n+UPpM9qQcqlK*y(|q&6P?@Q7J8#3!0}&@?{0!oET#W)-E&|_5ms!DLLg!
zxn2Ku^%)M{`tj{L<c%Aobq6&=W41ct-r2NT*QA0al4gU;V?5wULxFcDG1U^4Pp
zRu56s<-wm?@{AxEX-0iP?;-55A49S!7rq`GAg)Gj=EtEDqUtBjf?>GV`l3oX?X>TW
zf#9e;T_tSQQGyINULkoG7%<=C<+1M`=eEa&Ay6?`D;WD0UG;V@i)ZqrQnJb-5ERPG
zD@^8EA9G6980<|_7DE=AJ}i+l&?Gm<6;TcLxqRMO_UkNqLBzkX9Hyj_2;(Y(66MfJ
z-E2WsV2;V?-oiI0v7oN7O?Lt#PJ3(An>25UcV)u~=$zD}5wNj**2N12uQ$|v;_~oT
zoGA{z5LX6y>}&8e;o?a@Y@s9o;<XWX41mHXt`V<`s6sy5Wcc{RHSrJ%HW^3<ORGyT
zWvcnu1e(~wrv#7T1^z@HTITi<$pmt`a1blu3HK9WOd>m=Wp$o%Jy~3bWmM&d-Z<bw
z5DRf5;vOnPPlmXn?2YLQ1)s_fJMsgg$2(;_RTFw4Nd<Rhl~STZCP*DSDJCeHUF8qS
zV(@cd8*j>r@K#6)!Khs~YtL_#4LVBm969Cd5hYY|nd)u)VZM#qBArP(*2IHV4;M3T
zR8w?uHthXwTh%vCh;Z^4VFG$BOm6XT;k=l!YeAJOXZbM7!$qV+v_+B^N@u}4$}s!K
z!+sCaYh|W?U&T!(tVx&W=C*iMELl8UepYNf#P99Pll@aZ!F7GnnD3R_>0X}pE8FlB
z<u?7-#qS;!OE7|-p_q;!ZL&?E^A$iXetA7`yfPDiur5wc<ivx!dOw8fe({x>=u=&_
z_z}-*QnVdZ0+ENfDSkH~oT$JP%_p#jh)g0Hw=1iov+mV3l?Je7$}70oGg~lo#A7fx
zaWD+AN(<FuOK8woIZv`7H5#M)ik0eu<X1h_gF=ll4Bmq?)-JGQ#fLUCQf@yj9;&&=
zL-1CKhyn(&jJs9j)PK-VPLjZ0nzArzz)QZtmxi>)Lam*N1J4@TbIcbSlkkM-UNjm!
zV)y%USL5!bh0A5R)!4I07|-JvdT1Qj@ZF6ngaWg=q1yDhr{<~05QdjdeEOCq(F~Yw
z;`NsKPoYzx4N;BAZipv4_)=B{Z)!hnJnYEpO<<Dt>KPh<*}LOmI3vP|ab^g^f1JVJ
z;rW;$uAX7!@Z#_p20zlMnA|YaPD{*8w+r%uSA$ry^Z4NQn`s<G<WZag;roU8=bys3
zU7xF`9ruexPmPuHvBi|-CvkC&n<}G8uUkDZ+wgI%`0}61ve6nzL0{!Hcy{v`SJPT&
zXAA8n)d_-Ym9dlVFn>4+mF0MQODLD%U3xCfv6GP9Z{hsn^%zzZdumzf@oBOB&C9Lk
zGYn_uU3Y}N0(z$t1QU}x8E&NR3}8_BfV1t&4kb{dF($W=Id`%$96YLX3Im1C2>{+?
z0G;>-)tns#Famc<2q&hdJ292|W3rH+9wNXJ?|K|CY$w_nml!o*UqL&`QB+O@lvrb#
z%c?^~1v5qcyvEg1#i`ed%8B>mk9lOxn+Q_9E1Xk6eA3M;*B^8Zm>~|5Wx28yD$m%B
z9j~W4>Dn->Pr20+XrO-}Ma2sTMwv1+fZZ!NhJb(##a><!>q>WRBszK!Q8g4>B8#N^
z>LO4J4Ed;x|6s@(oE{PipMNf_#LVJnOP?*v5~>Ep-K2>H11q!o_Q2u&x{x+uG1ccf
zm0<9;P@2U`JqSL|HXJh~$rpxE-A~D1rn-1NUAu~UToj!22Tj<a;lhBQ*FXW2Aj091
zjx$zVT&t?-SWT#kT}?Jfs|iVXT)hDb%VhA-=DvnDmlmq(y55>F%HHyUvOXU8;Tsk$
zSkR<gSXmJcvwSb{y$l(qHWjRz=2Fcz+?v|m(R)7oDU3+oU=`lz&O3slasR*zkz};E
z&=mGXT@MBYmV7-(lp@+18p>Ee;MvwAmWfEa=kO9|_l{eEHOCoNFWOM5vX`q{b^N3n
zr4bwx+f2*o$5x4`G3xLLrm0aJh(sf<Dza?8MCBJXs5Jt|jbLXeFWd><Dkp8Fhj|f2
zVn_+gO%?A^vC6|bDa<|Zo@fM(SyoK6E?Ef(&Ka*Q5gweIICr`vBDp(R1BMbm3nq7m
z7K#V*eF%|hy3>|{aAyE)yOQE`EuMCCtWi67B9uF7lp+U^2+aw43Mrpg@tp-EX!Lwv
zaNF^DXEIw@bBOqf%t31#i&&eIMXY7?TD4f$U@bJ@>7)rGPw>Mk;#hkOKGEcJuJyS+
zc=}e*)mnw#3xmP#>8+WUD|yVCXI<63o|46^)v*{%NW@P-fH?3@^RYue6>W9P7Cuvv
z)TdBq3M*d0ggkZl9-wbLK4!F?PiVq`qy_9h7)T)Pe0ouX8}o8>Z{^!8f8hqJ8achn
zKsAwHRl8{`u4;~Zs$V9OZQLnC6zyh!kg!9nuNpn3uTaGp@5&X|l4URSO%xCeJ!~OJ
z!a@&T5vRoqyri)EY@?FEQy^Fdf<`{&d~;VI5r^_X&iIIGD)r%tS!cnYilX_}?m)!i
zeZ4^8Kad{b*TA8;9LlmYE707J@UDG592n-qDZ~kQ0;kuHdIYy7jPdIH{V?=$SS3(6
zR1+t-fQCYm@sZiB)9wJa9KbF6)&i*E`#BvgPyBX+>Ze^tXTpgM57&unq*OiUDsC#J
zxg1Xc0BXaPj?bH6Z5Yp>VkYcr<wdI1abj{hrD*>Ab}`l7W`OjnsA^Yp2#i{=T?%#c
zy)9t?DSeWO`wcFw=(?=y0O~K{5_LKk!yNx6%^MV5L)k`~tvD_g3<GbO)PaE}v$Wm9
z<u#pLGE_#Qb}HY+g>c2-MBXH~c2i7Cfg+kc?0c=|35@sfD=d?=;8h!;iBs)JtQz^$
z)FfhQQ3nLUumco-1DiHv6psDUv?*zU(h0q;wXvIL0@Id)O6W<J&RX(stUSPoL_efT
zBJ7rvE>06jq^h80Nni!>PxoMIsw1<Nw2#R~3_bzhnX=hIS|#fTf7bServ%xfB^0_R
zz>LJO>6WxQ>5$0mFpi`n6o66+l<l573vA55GGX3@r@60i1<L(6t(y>KopQ+fAR|cY
zBP-A&`>$Au5m8aAM1aMO-7{Azp&$gL%|>E?F8oS4AgNO&3CJD}JqrZ$*euBoNR_Kc
z`Q$lI^LqBLSv*lW7$C}Rpeaj}ensU(@|g^d^C}1ON$`vj)bN3*W$`cJc&d+c<ql)L
z&qb-!RVn?uEe?-y4#Z9%Dg>2<+>pe$yLnpRv4j_tVRyy8k#AGZ!Rbx{pHW#_2f!h<
zEdb^Vy>Ts$Aihiu!VqaNcHM$W0MxY~P^M#;$7}3(D0D6v2Td5)E4CpKFxJBU6H729
z;a!##)b{H*R@ue10(h+ZJOu&Rf+C>*G0K`;x++o|<~{|UR1wguqEaZtBT9OuW|Yuf
zVPEG`-?)K5CNS|B2jkJSXd{_6X{$8`fZ%Oda$`3bhonT?u4yqK`|hNR2VPy^S;BN$
z0~tf8Jz@87{YbVAps`YK@5<VFt2Do&P0yPTMmDSCjBHGP?A*3H9o~ZXx)->tskgFO
zG<;S3&8%!%m+xto+&w9Dru8N<48u`HrraW29NTdqvc4Hva5XPV4DoRz(m1S+q}>rq
z232b~R522t#34yg1328n=Gu-(4-g5HA78Hgr4|{kYl;msK*G5~ZXNxJcdcS=8m1II
zD*3uqDxHDDab11eAftXNlyu>WfKz>dUW-i>DXNS;J+D=6muS8E@Vr#Z<YFm1<_cAM
z=`7zJL2;VSGAdXYIaqYyl%p2kTAo>6va@Rj<ZRHtzRI{GI#t2yoF6=Fi0nRPW)Z42
zcO=fhPUdL9NSUQUuB-d}JjSL_OE6{~1wh!Yl#YdGp;IY?Bd|K**lHMmC`~Y>(sDmM
z!3W$sS+Il;Us)td*Iv5JU{IS?o1|Alv$j2Pc}`dsz{p*$C0q5&VySxbUtG%11d4NN
z`Jhc+&-PXn&s8`wMF(3i5B86?H;-VH_HzHT;`yr$`RC2vH~Df}$}lMS!*UY+e?r_#
zQ!b90CAaigmRveNaN6TKv>hgu95A{mmXlY*M7KjQmZ<x9DzfeAPI7`mEy0*>Il<wo
zr0=aaamN7z!|=<gL>Lp6lb@~9l5m*ugNT+>P7I~G6PJ^pGC71!T24!MT23XlNdqQ7
zjBGv~BcE;L_jWZ^tokfoQ#tLV5(;(zJdvyZS2M04;_ZpdHH1=8?0s^{D<{Xgj#k_b
zkbL>>!zE2Y)zGeroGT$ZaB=J0TPn+nswGy67!!|Mm&hG>uKl>;93xhkh(my<xoP29
z;%Qla#@hlj%gc2yaJ&nfbDkXzwsz9UOI-DD7<)iXT<hBz%U&{=jnmwA8MUdU#(mhk
zP7^IcK){DeJs1jzL6i6`l;D&sxdaZqX9JXJ;FLT&1P+?JJUNE{x9iZv{=gzPQ<Msv
zULP^iqR&J)AlfQ8YA+uEO@xCZN);SIBOH}$GW%DlSe0QtwC}#bDv!_cJqTAw)0`8v
zvadUd@8_L}_<zk|F|PsspCx6B2z*w~iU=#q6Vi&AF_s4G5_qM`_nsif=n3Sqdwh&n
z$)@pNaN|~0X5Ou2$qDzD7RT%uIRv*FC+r+qt;!vw=9E&&!aAL|Wxj>P49^i0VWzPl
z7*5&oWXN>NO_7OvRFc=%PM(sI<9QEzmF#z{BfG+JtDa=BX&`$dRT5N0iZV}ia=o-m
zD&*)gS6YysSZM3GMfm1)vzv9NO959QLs!q3*Tg!+QR&xG=X22|iptWXHO{^4v=BiB
z{_g?naW;+eEZ^oY&ZnZXMi&~okWLV90V5EV>n}1TpymM2u}~m{E$7F+xETjAYCN3`
zc_&bjy@2Sc%ogMQd%PErpDVQGzelB`{9M<c65xWy?{jL2JYsl9EM~DC5FtRqM9Ud;
z|2dzP-2eK%?~#7l-rL%Lj<*Z((IN-ioBQ8vA8c<G+XsjNf{zvv(OZk`?H?5f+Z$Vd
z@W8Z)IH+oo7u#DquU-(uz5;PjRzgExZ5(WUyK%7X+i^u!Ly?``-R&<ocG1}HUu_>A
zp*d|x?qao}S9^$Mx^Z;0jUXxecoNr&JPc5_HjXw5cW}}kD-=9WYJ+~ZyRr9mvH8{Z
zrXfg+d>)E?!<2*K@a6XA&hwp3-xn	qKmsU;d%kc(#9Vw7nHKbR3GfTx@nPUTo~K
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
Om3aOA-LGH#?f(O~&}bI`
diff --git a/roms/SLOF b/roms/SLOF
index f21f7a3..0ad10f2 160000
--- a/roms/SLOF
+++ b/roms/SLOF
@@ -1 +1 @@
-Subproject commit f21f7a3f46b557eb5923f899ce8b4401b3cc6d91
+Subproject commit 0ad10f26c94a86a0c9c3970e53f9a9f6a744055d
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 09/40] e500: Adding CCSR memory region
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (7 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 08/40] pseries: Update SLOF for NVRAM support Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 13:47 ` Andreas Färber
2012-12-14 12:13 ` [Qemu-devel] [PATCH 10/40] Adding BAR0 for e500 PCI controller Alexander Graf
` (31 subsequent siblings)
40 siblings, 1 reply; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List
Cc: Bharat Bhushan, qemu-devel qemu-devel, Bharat Bhushan
From: Bharat Bhushan <r65777@freescale.com>
All devices are also placed under CCSR memory region.
The CCSR memory region is exported to pci device. The MSI interrupt
generation is the main reason to export the CCSR region to PCI device.
This put the requirement to move mpic under CCSR region, but logically
all devices should be under CCSR. So this patch places all emulated
devices under ccsr region.
Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/e500.c | 63 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 40 insertions(+), 23 deletions(-)
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 6749fff..8538933 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -46,13 +46,15 @@
/* TODO: parameterize */
#define MPC8544_CCSRBAR_BASE 0xE0000000ULL
#define MPC8544_CCSRBAR_SIZE 0x00100000ULL
-#define MPC8544_MPIC_REGS_BASE (MPC8544_CCSRBAR_BASE + 0x40000ULL)
-#define MPC8544_SERIAL0_REGS_BASE (MPC8544_CCSRBAR_BASE + 0x4500ULL)
-#define MPC8544_SERIAL1_REGS_BASE (MPC8544_CCSRBAR_BASE + 0x4600ULL)
-#define MPC8544_PCI_REGS_BASE (MPC8544_CCSRBAR_BASE + 0x8000ULL)
+#define MPC8544_MPIC_REGS_OFFSET 0x40000ULL
+#define MPC8544_SERIAL0_REGS_OFFSET 0x4500ULL
+#define MPC8544_SERIAL1_REGS_OFFSET 0x4600ULL
+#define MPC8544_PCI_REGS_OFFSET 0x8000ULL
+#define MPC8544_PCI_REGS_BASE (MPC8544_CCSRBAR_BASE + \
+ MPC8544_PCI_REGS_OFFSET)
#define MPC8544_PCI_REGS_SIZE 0x1000ULL
#define MPC8544_PCI_IO 0xE1000000ULL
-#define MPC8544_UTIL_BASE (MPC8544_CCSRBAR_BASE + 0xe0000ULL)
+#define MPC8544_UTIL_OFFSET 0xe0000ULL
#define MPC8544_SPIN_BASE 0xEF000000ULL
struct boot_info
@@ -267,13 +269,12 @@ static int ppce500_load_device_tree(CPUPPCState *env,
/* XXX should contain a reasonable value */
qemu_devtree_setprop_cell(fdt, soc, "bus-frequency", 0);
- snprintf(mpic, sizeof(mpic), "%s/pic@%llx", soc,
- MPC8544_MPIC_REGS_BASE - MPC8544_CCSRBAR_BASE);
+ snprintf(mpic, sizeof(mpic), "%s/pic@%llx", soc, MPC8544_MPIC_REGS_OFFSET);
qemu_devtree_add_subnode(fdt, mpic);
qemu_devtree_setprop_string(fdt, mpic, "device_type", "open-pic");
qemu_devtree_setprop_string(fdt, mpic, "compatible", "chrp,open-pic");
- qemu_devtree_setprop_cells(fdt, mpic, "reg", MPC8544_MPIC_REGS_BASE -
- MPC8544_CCSRBAR_BASE, 0x40000);
+ qemu_devtree_setprop_cells(fdt, mpic, "reg", MPC8544_MPIC_REGS_OFFSET,
+ 0x40000);
qemu_devtree_setprop_cell(fdt, mpic, "#address-cells", 0);
qemu_devtree_setprop_cell(fdt, mpic, "#interrupt-cells", 2);
mpic_ph = qemu_devtree_alloc_phandle(fdt);
@@ -286,17 +287,16 @@ static int ppce500_load_device_tree(CPUPPCState *env,
* device it finds in the dt as serial output device. And we generate
* devices in reverse order to the dt.
*/
- dt_serial_create(fdt, MPC8544_SERIAL1_REGS_BASE - MPC8544_CCSRBAR_BASE,
+ dt_serial_create(fdt, MPC8544_SERIAL1_REGS_OFFSET,
soc, mpic, "serial1", 1, false);
- dt_serial_create(fdt, MPC8544_SERIAL0_REGS_BASE - MPC8544_CCSRBAR_BASE,
+ dt_serial_create(fdt, MPC8544_SERIAL0_REGS_OFFSET,
soc, mpic, "serial0", 0, true);
snprintf(gutil, sizeof(gutil), "%s/global-utilities@%llx", soc,
- MPC8544_UTIL_BASE - MPC8544_CCSRBAR_BASE);
+ MPC8544_UTIL_OFFSET);
qemu_devtree_add_subnode(fdt, gutil);
qemu_devtree_setprop_string(fdt, gutil, "compatible", "fsl,mpc8544-guts");
- qemu_devtree_setprop_cells(fdt, gutil, "reg", MPC8544_UTIL_BASE -
- MPC8544_CCSRBAR_BASE, 0x1000);
+ qemu_devtree_setprop_cells(fdt, gutil, "reg", MPC8544_UTIL_OFFSET, 0x1000);
qemu_devtree_setprop(fdt, gutil, "fsl,has-rstcr", NULL, 0);
snprintf(pci, sizeof(pci), "/pci@%llx", MPC8544_PCI_REGS_BASE);
@@ -422,6 +422,8 @@ void ppce500_init(PPCE500Params *params)
qemu_irq **irqs, *mpic;
DeviceState *dev;
CPUPPCState *firstenv = NULL;
+ MemoryRegion *ccsr;
+ SysBusDevice *s;
/* Setup CPUs */
if (params->cpu_model == NULL) {
@@ -450,7 +452,8 @@ void ppce500_init(PPCE500Params *params)
irqs[i][OPENPIC_OUTPUT_INT] = input[PPCE500_INPUT_INT];
irqs[i][OPENPIC_OUTPUT_CINT] = input[PPCE500_INPUT_CINT];
env->spr[SPR_BOOKE_PIR] = env->cpu_index = i;
- env->mpic_cpu_base = MPC8544_MPIC_REGS_BASE + 0x20000;
+ env->mpic_cpu_base = MPC8544_CCSRBAR_BASE +
+ MPC8544_MPIC_REGS_OFFSET + 0x20000;
ppc_booke_timers_init(env, 400000000, PPC_TIMER_E500);
@@ -477,8 +480,12 @@ void ppce500_init(PPCE500Params *params)
vmstate_register_ram_global(ram);
memory_region_add_subregion(address_space_mem, 0, ram);
+ ccsr = g_malloc0(sizeof(MemoryRegion));
+ memory_region_init(ccsr, "e500-ccsr", MPC8544_CCSRBAR_SIZE);
+ memory_region_add_subregion(address_space_mem, MPC8544_CCSRBAR_BASE, ccsr);
+
/* MPIC */
- mpic = mpic_init(address_space_mem, MPC8544_MPIC_REGS_BASE,
+ mpic = mpic_init(ccsr, MPC8544_MPIC_REGS_OFFSET,
smp_cpus, irqs, NULL);
if (!mpic) {
@@ -487,25 +494,35 @@ void ppce500_init(PPCE500Params *params)
/* Serial */
if (serial_hds[0]) {
- serial_mm_init(address_space_mem, MPC8544_SERIAL0_REGS_BASE,
+ serial_mm_init(ccsr, MPC8544_SERIAL0_REGS_OFFSET,
0, mpic[12+26], 399193,
serial_hds[0], DEVICE_BIG_ENDIAN);
}
if (serial_hds[1]) {
- serial_mm_init(address_space_mem, MPC8544_SERIAL1_REGS_BASE,
+ serial_mm_init(ccsr, MPC8544_SERIAL1_REGS_OFFSET,
0, mpic[12+26], 399193,
serial_hds[1], DEVICE_BIG_ENDIAN);
}
/* General Utility device */
- sysbus_create_simple("mpc8544-guts", MPC8544_UTIL_BASE, NULL);
+ dev = qdev_create(NULL, "mpc8544-guts");
+ qdev_init_nofail(dev);
+ s = SYS_BUS_DEVICE(dev);
+ memory_region_add_subregion(ccsr, MPC8544_UTIL_OFFSET,
+ sysbus_mmio_get_region(s, 0));
/* PCI */
- dev = sysbus_create_varargs("e500-pcihost", MPC8544_PCI_REGS_BASE,
- mpic[pci_irq_nrs[0]], mpic[pci_irq_nrs[1]],
- mpic[pci_irq_nrs[2]], mpic[pci_irq_nrs[3]],
- NULL);
+ dev = qdev_create(NULL, "e500-pcihost");
+ qdev_init_nofail(dev);
+ s = SYS_BUS_DEVICE(dev);
+ sysbus_connect_irq(s, 0, mpic[pci_irq_nrs[0]]);
+ sysbus_connect_irq(s, 1, mpic[pci_irq_nrs[1]]);
+ sysbus_connect_irq(s, 2, mpic[pci_irq_nrs[2]]);
+ sysbus_connect_irq(s, 3, mpic[pci_irq_nrs[3]]);
+ memory_region_add_subregion(ccsr, MPC8544_PCI_REGS_OFFSET,
+ sysbus_mmio_get_region(s, 0));
+
pci_bus = (PCIBus *)qdev_get_child_bus(dev, "pci.0");
if (!pci_bus)
printf("couldn't create PCI controller!\n");
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* Re: [Qemu-devel] [PATCH 09/40] e500: Adding CCSR memory region
2012-12-14 12:13 ` [Qemu-devel] [PATCH 09/40] e500: Adding CCSR memory region Alexander Graf
@ 2012-12-14 13:47 ` Andreas Färber
0 siblings, 0 replies; 47+ messages in thread
From: Andreas Färber @ 2012-12-14 13:47 UTC (permalink / raw)
To: Alexander Graf
Cc: Bharat Bhushan, qemu-ppc@nongnu.org List, qemu-devel qemu-devel,
Bharat Bhushan
Am 14.12.2012 13:13, schrieb Alexander Graf:
> From: Bharat Bhushan <r65777@freescale.com>
>
> All devices are also placed under CCSR memory region.
> The CCSR memory region is exported to pci device. The MSI interrupt
> generation is the main reason to export the CCSR region to PCI device.
> This put the requirement to move mpic under CCSR region, but logically
> all devices should be under CCSR. So this patch places all emulated
> devices under ccsr region.
>
> Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
> Signed-off-by: Alexander Graf <agraf@suse.de>
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 10/40] Adding BAR0 for e500 PCI controller
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (8 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 09/40] e500: Adding CCSR memory region Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 13:49 ` Andreas Färber
2012-12-14 12:13 ` [Qemu-devel] [PATCH 11/40] pseries: Don't allow TCE (iommu) tables to be registered with duplicate LIOBNs Alexander Graf
` (30 subsequent siblings)
40 siblings, 1 reply; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List
Cc: Bharat Bhushan, qemu-devel qemu-devel, Bharat Bhushan
From: Bharat Bhushan <r65777@freescale.com>
PCI Root complex have TYPE-1 configuration header while PCI endpoint
have type-0 configuration header. The type-1 configuration header have
a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci
address space to CCSR address space. This can used for 2 purposes: 1)
for MSI interrupt generation 2) Allow CCSR registers access when configured
as PCI endpoint, which I am not sure is a use case with QEMU-KVM guest.
What I observed is that when guest read the size of BAR0 of host controller
configuration header (TYPE1 header) then it always reads it as 0. When
looking into the QEMU hw/ppce500_pci.c, I do not find the PCI controller
device registering BAR0. I do not find any other controller also doing so
may they do not use BAR0.
There are two issues when BAR0 is not there (which I can think of):
1) There should be BAR0 emulated for PCI Root complex (TYPE1 header) and
when reading the size of BAR0, it should give size as per real h/w.
2) Do we need this BAR0 inbound address translation?
When BAR0 is of non-zero size then it will be configured for PCI
address space to local address(CCSR) space translation on inbound access.
The primary use case is for MSI interrupt generation. The device is
configured with an address offsets in PCI address space, which will be
translated to MSI interrupt generation MPIC registers. Currently I do
not understand the MSI interrupt generation mechanism in QEMU and also
IIRC we do not use QEMU MSI interrupt mechanism on e500 guest machines.
But this BAR0 will be used when using MSI on e500.
I can see one more issue, There are ATMUs emulated in hw/ppce500_pci.c,
but i do not see these being used for address translation.
So far that works because pci address space and local address space are 1:1
mapped. BAR0 inbound translation + ATMU translation will complete the address
translation of inbound traffic.
Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
[agraf: fix double variable assignment w/o read]
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/e500-ccsr.h | 17 ++++++++++++++++
hw/ppc/e500.c | 55 +++++++++++++++++++++++++++++++++++++++++++--------
hw/ppce500_pci.c | 29 ++++++++++++++++++++++++++-
3 files changed, 91 insertions(+), 10 deletions(-)
create mode 100644 hw/ppc/e500-ccsr.h
diff --git a/hw/ppc/e500-ccsr.h b/hw/ppc/e500-ccsr.h
new file mode 100644
index 0000000..f20f51b
--- /dev/null
+++ b/hw/ppc/e500-ccsr.h
@@ -0,0 +1,17 @@
+#ifndef E500_CCSR_H
+#define E500_CCSR_H
+
+#include "../sysbus.h"
+
+typedef struct PPCE500CCSRState {
+ /*< private >*/
+ SysBusDevice parent;
+ /*< public >*/
+
+ MemoryRegion ccsr_space;
+} PPCE500CCSRState;
+
+#define TYPE_CCSR "e500-ccsr"
+#define CCSR(obj) OBJECT_CHECK(PPCE500CCSRState, (obj), TYPE_CCSR)
+
+#endif /* E500_CCSR_H */
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 8538933..47e2d41 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -17,6 +17,7 @@
#include "config.h"
#include "qemu-common.h"
#include "e500.h"
+#include "e500-ccsr.h"
#include "net.h"
#include "hw/hw.h"
#include "hw/serial.h"
@@ -422,8 +423,9 @@ void ppce500_init(PPCE500Params *params)
qemu_irq **irqs, *mpic;
DeviceState *dev;
CPUPPCState *firstenv = NULL;
- MemoryRegion *ccsr;
+ MemoryRegion *ccsr_addr_space;
SysBusDevice *s;
+ PPCE500CCSRState *ccsr;
/* Setup CPUs */
if (params->cpu_model == NULL) {
@@ -480,12 +482,17 @@ void ppce500_init(PPCE500Params *params)
vmstate_register_ram_global(ram);
memory_region_add_subregion(address_space_mem, 0, ram);
- ccsr = g_malloc0(sizeof(MemoryRegion));
- memory_region_init(ccsr, "e500-ccsr", MPC8544_CCSRBAR_SIZE);
- memory_region_add_subregion(address_space_mem, MPC8544_CCSRBAR_BASE, ccsr);
+ dev = qdev_create(NULL, "e500-ccsr");
+ object_property_add_child(qdev_get_machine(), "e500-ccsr",
+ OBJECT(dev), NULL);
+ qdev_init_nofail(dev);
+ ccsr = CCSR(dev);
+ ccsr_addr_space = &ccsr->ccsr_space;
+ memory_region_add_subregion(address_space_mem, MPC8544_CCSRBAR_BASE,
+ ccsr_addr_space);
/* MPIC */
- mpic = mpic_init(ccsr, MPC8544_MPIC_REGS_OFFSET,
+ mpic = mpic_init(ccsr_addr_space, MPC8544_MPIC_REGS_OFFSET,
smp_cpus, irqs, NULL);
if (!mpic) {
@@ -494,13 +501,13 @@ void ppce500_init(PPCE500Params *params)
/* Serial */
if (serial_hds[0]) {
- serial_mm_init(ccsr, MPC8544_SERIAL0_REGS_OFFSET,
+ serial_mm_init(ccsr_addr_space, MPC8544_SERIAL0_REGS_OFFSET,
0, mpic[12+26], 399193,
serial_hds[0], DEVICE_BIG_ENDIAN);
}
if (serial_hds[1]) {
- serial_mm_init(ccsr, MPC8544_SERIAL1_REGS_OFFSET,
+ serial_mm_init(ccsr_addr_space, MPC8544_SERIAL1_REGS_OFFSET,
0, mpic[12+26], 399193,
serial_hds[1], DEVICE_BIG_ENDIAN);
}
@@ -509,7 +516,7 @@ void ppce500_init(PPCE500Params *params)
dev = qdev_create(NULL, "mpc8544-guts");
qdev_init_nofail(dev);
s = SYS_BUS_DEVICE(dev);
- memory_region_add_subregion(ccsr, MPC8544_UTIL_OFFSET,
+ memory_region_add_subregion(ccsr_addr_space, MPC8544_UTIL_OFFSET,
sysbus_mmio_get_region(s, 0));
/* PCI */
@@ -520,7 +527,7 @@ void ppce500_init(PPCE500Params *params)
sysbus_connect_irq(s, 1, mpic[pci_irq_nrs[1]]);
sysbus_connect_irq(s, 2, mpic[pci_irq_nrs[2]]);
sysbus_connect_irq(s, 3, mpic[pci_irq_nrs[3]]);
- memory_region_add_subregion(ccsr, MPC8544_PCI_REGS_OFFSET,
+ memory_region_add_subregion(ccsr_addr_space, MPC8544_PCI_REGS_OFFSET,
sysbus_mmio_get_region(s, 0));
pci_bus = (PCIBus *)qdev_get_child_bus(dev, "pci.0");
@@ -595,3 +602,33 @@ void ppce500_init(PPCE500Params *params)
kvmppc_init();
}
}
+
+static int e500_ccsr_initfn(SysBusDevice *dev)
+{
+ PPCE500CCSRState *ccsr;
+
+ ccsr = CCSR(dev);
+ memory_region_init(&ccsr->ccsr_space, "e500-ccsr",
+ MPC8544_CCSRBAR_SIZE);
+ return 0;
+}
+
+static void e500_ccsr_class_init(ObjectClass *klass, void *data)
+{
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+ k->init = e500_ccsr_initfn;
+}
+
+static const TypeInfo e500_ccsr_info = {
+ .name = TYPE_CCSR,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(PPCE500CCSRState),
+ .class_init = e500_ccsr_class_init,
+};
+
+static void e500_register_types(void)
+{
+ type_register_static(&e500_ccsr_info);
+}
+
+type_init(e500_register_types)
diff --git a/hw/ppce500_pci.c b/hw/ppce500_pci.c
index 2ff7438..54c72b4 100644
--- a/hw/ppce500_pci.c
+++ b/hw/ppce500_pci.c
@@ -15,6 +15,7 @@
*/
#include "hw.h"
+#include "hw/ppc/e500-ccsr.h"
#include "pci.h"
#include "pci_host.h"
#include "bswap.h"
@@ -92,6 +93,19 @@ struct PPCE500PCIState {
MemoryRegion pio;
};
+#define TYPE_PPC_E500_PCI_BRIDGE "e500-host-bridge"
+#define PPC_E500_PCI_BRIDGE(obj) \
+ OBJECT_CHECK(PPCE500PCIBridgeState, (obj), TYPE_PPC_E500_PCI_BRIDGE)
+
+struct PPCE500PCIBridgeState {
+ /*< private >*/
+ PCIDevice parent;
+ /*< public >*/
+
+ MemoryRegion bar0;
+};
+
+typedef struct PPCE500PCIBridgeState PPCE500PCIBridgeState;
typedef struct PPCE500PCIState PPCE500PCIState;
static uint64_t pci_reg_read4(void *opaque, hwaddr addr,
@@ -310,6 +324,18 @@ static const VMStateDescription vmstate_ppce500_pci = {
#include "exec-memory.h"
+static int e500_pcihost_bridge_initfn(PCIDevice *d)
+{
+ PPCE500PCIBridgeState *b = PPC_E500_PCI_BRIDGE(d);
+ PPCE500CCSRState *ccsr = CCSR(container_get(qdev_get_machine(),
+ "/e500-ccsr"));
+
+ memory_region_init_alias(&b->bar0, "e500-pci-bar0", &ccsr->ccsr_space,
+ 0, int128_get64(ccsr->ccsr_space.size));
+ pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &b->bar0);
+ return 0;
+}
+
static int e500_pcihost_initfn(SysBusDevice *dev)
{
PCIHostState *h;
@@ -355,6 +381,7 @@ static void e500_host_bridge_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
+ k->init = e500_pcihost_bridge_initfn;
k->vendor_id = PCI_VENDOR_ID_FREESCALE;
k->device_id = PCI_DEVICE_ID_MPC8533E;
k->class_id = PCI_CLASS_PROCESSOR_POWERPC;
@@ -364,7 +391,7 @@ static void e500_host_bridge_class_init(ObjectClass *klass, void *data)
static const TypeInfo e500_host_bridge_info = {
.name = "e500-host-bridge",
.parent = TYPE_PCI_DEVICE,
- .instance_size = sizeof(PCIDevice),
+ .instance_size = sizeof(PPCE500PCIBridgeState),
.class_init = e500_host_bridge_class_init,
};
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* Re: [Qemu-devel] [PATCH 10/40] Adding BAR0 for e500 PCI controller
2012-12-14 12:13 ` [Qemu-devel] [PATCH 10/40] Adding BAR0 for e500 PCI controller Alexander Graf
@ 2012-12-14 13:49 ` Andreas Färber
0 siblings, 0 replies; 47+ messages in thread
From: Andreas Färber @ 2012-12-14 13:49 UTC (permalink / raw)
To: Alexander Graf
Cc: Bharat Bhushan, qemu-ppc@nongnu.org List, qemu-devel qemu-devel,
Bharat Bhushan
Am 14.12.2012 13:13, schrieb Alexander Graf:
> From: Bharat Bhushan <r65777@freescale.com>
>
> PCI Root complex have TYPE-1 configuration header while PCI endpoint
> have type-0 configuration header. The type-1 configuration header have
> a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci
> address space to CCSR address space. This can used for 2 purposes: 1)
> for MSI interrupt generation 2) Allow CCSR registers access when configured
> as PCI endpoint, which I am not sure is a use case with QEMU-KVM guest.
>
> What I observed is that when guest read the size of BAR0 of host controller
> configuration header (TYPE1 header) then it always reads it as 0. When
> looking into the QEMU hw/ppce500_pci.c, I do not find the PCI controller
> device registering BAR0. I do not find any other controller also doing so
> may they do not use BAR0.
>
> There are two issues when BAR0 is not there (which I can think of):
> 1) There should be BAR0 emulated for PCI Root complex (TYPE1 header) and
> when reading the size of BAR0, it should give size as per real h/w.
>
> 2) Do we need this BAR0 inbound address translation?
> When BAR0 is of non-zero size then it will be configured for PCI
> address space to local address(CCSR) space translation on inbound access.
> The primary use case is for MSI interrupt generation. The device is
> configured with an address offsets in PCI address space, which will be
> translated to MSI interrupt generation MPIC registers. Currently I do
> not understand the MSI interrupt generation mechanism in QEMU and also
> IIRC we do not use QEMU MSI interrupt mechanism on e500 guest machines.
> But this BAR0 will be used when using MSI on e500.
>
> I can see one more issue, There are ATMUs emulated in hw/ppce500_pci.c,
> but i do not see these being used for address translation.
> So far that works because pci address space and local address space are 1:1
> mapped. BAR0 inbound translation + ATMU translation will complete the address
> translation of inbound traffic.
>
> Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
> [agraf: fix double variable assignment w/o read]
> Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 11/40] pseries: Don't allow TCE (iommu) tables to be registered with duplicate LIOBNs
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (9 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 10/40] Adding BAR0 for e500 PCI controller Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 12/40] openpic: Remove unused code Alexander Graf
` (29 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
The PAPR specification requires that every bus or device mediated by the
IOMMU have a unique Logical IO Bus Number (LIOBN). This patch adds a check
to enforce this, which will help catch errors in configuration earlier.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/spapr_iommu.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/spapr_iommu.c b/hw/spapr_iommu.c
index 02d78cc..3011b25 100644
--- a/hw/spapr_iommu.c
+++ b/hw/spapr_iommu.c
@@ -120,6 +120,12 @@ DMAContext *spapr_tce_new_dma_context(uint32_t liobn, size_t window_size)
{
sPAPRTCETable *tcet;
+ if (spapr_tce_find_by_liobn(liobn)) {
+ fprintf(stderr, "Attempted to create TCE table with duplicate"
+ " LIOBN 0x%x\n", liobn);
+ return NULL;
+ }
+
if (!window_size) {
return NULL;
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 12/40] openpic: Remove unused code
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (10 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 11/40] pseries: Don't allow TCE (iommu) tables to be registered with duplicate LIOBNs Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 13/40] mpic: Unify numbering scheme Alexander Graf
` (28 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The openpic code had a few WIP bits left that nobody reanimated within
the last few years. Remove that code.
Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Hervé Poussineau <hpoussin@reactos.org>
---
hw/openpic.c | 163 ----------------------------------------------------------
1 files changed, 0 insertions(+), 163 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 8b3784a..b30c853 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -46,27 +46,8 @@
#define DPRINTF(fmt, ...) do { } while (0)
#endif
-#define USE_MPCxxx /* Intel model is broken, for now */
-
-#if defined (USE_INTEL_GW80314)
-/* Intel GW80314 I/O Companion chip */
-
-#define MAX_CPU 4
-#define MAX_IRQ 32
-#define MAX_DBL 4
-#define MAX_MBX 4
-#define MAX_TMR 4
-#define VECTOR_BITS 8
-#define MAX_IPI 4
-
-#define VID (0x00000000)
-
-#elif defined(USE_MPCxxx)
-
#define MAX_CPU 15
#define MAX_IRQ 128
-#define MAX_DBL 0
-#define MAX_MBX 0
#define MAX_TMR 4
#define VECTOR_BITS 8
#define MAX_IPI 4
@@ -149,12 +130,6 @@ enum mpic_ide_bits {
IDR_P0 = 0,
};
-#else
-#error "Please select which OpenPic implementation is to be emulated"
-#endif
-
-#define OPENPIC_PAGE_SIZE 4096
-
#define BF_WIDTH(_bits_) \
(((_bits_) + (sizeof(uint32_t) * 8) - 1) / (sizeof(uint32_t) * 8))
@@ -250,19 +225,6 @@ typedef struct openpic_t {
uint32_t ticc; /* Global timer current count register */
uint32_t tibc; /* Global timer base count register */
} timers[MAX_TMR];
-#if MAX_DBL > 0
- /* Doorbell registers */
- uint32_t dar; /* Doorbell activate register */
- struct {
- uint32_t dmr; /* Doorbell messaging register */
- } doorbells[MAX_DBL];
-#endif
-#if MAX_MBX > 0
- /* Mailbox registers */
- struct {
- uint32_t mbr; /* Mailbox register */
- } mailboxes[MAX_MAILBOXES];
-#endif
/* IRQ out is used when in bypass mode (not implemented) */
qemu_irq irq_out;
int max_irq;
@@ -470,19 +432,6 @@ static void openpic_reset (void *opaque)
opp->timers[i].ticc = 0x00000000;
opp->timers[i].tibc = 0x80000000;
}
- /* Initialise doorbells */
-#if MAX_DBL > 0
- opp->dar = 0x00000000;
- for (i = 0; i < MAX_DBL; i++) {
- opp->doorbells[i].dmr = 0x00000000;
- }
-#endif
- /* Initialise mailboxes */
-#if MAX_MBX > 0
- for (i = 0; i < MAX_MBX; i++) { /* ? */
- opp->mailboxes[i].mbr = 0x00000000;
- }
-#endif
/* Go out of RESET state */
opp->glbc = 0x00000000;
}
@@ -518,84 +467,6 @@ static inline void write_IRQreg_ipvp(openpic_t *opp, int n_IRQ, uint32_t val)
opp->src[n_IRQ].ipvp);
}
-#if 0 // Code provision for Intel model
-#if MAX_DBL > 0
-static uint32_t read_doorbell_register (openpic_t *opp,
- int n_dbl, uint32_t offset)
-{
- uint32_t retval;
-
- switch (offset) {
- case DBL_IPVP_OFFSET:
- retval = read_IRQreg_ipvp(opp, IRQ_DBL0 + n_dbl);
- break;
- case DBL_IDE_OFFSET:
- retval = read_IRQreg_ide(opp, IRQ_DBL0 + n_dbl);
- break;
- case DBL_DMR_OFFSET:
- retval = opp->doorbells[n_dbl].dmr;
- break;
- }
-
- return retval;
-}
-
-static void write_doorbell_register (penpic_t *opp, int n_dbl,
- uint32_t offset, uint32_t value)
-{
- switch (offset) {
- case DBL_IVPR_OFFSET:
- write_IRQreg_ipvp(opp, IRQ_DBL0 + n_dbl, value);
- break;
- case DBL_IDE_OFFSET:
- write_IRQreg_ide(opp, IRQ_DBL0 + n_dbl, value);
- break;
- case DBL_DMR_OFFSET:
- opp->doorbells[n_dbl].dmr = value;
- break;
- }
-}
-#endif
-
-#if MAX_MBX > 0
-static uint32_t read_mailbox_register (openpic_t *opp,
- int n_mbx, uint32_t offset)
-{
- uint32_t retval;
-
- switch (offset) {
- case MBX_MBR_OFFSET:
- retval = opp->mailboxes[n_mbx].mbr;
- break;
- case MBX_IVPR_OFFSET:
- retval = read_IRQreg_ipvp(opp, IRQ_MBX0 + n_mbx);
- break;
- case MBX_DMR_OFFSET:
- retval = read_IRQreg_ide(opp, IRQ_MBX0 + n_mbx);
- break;
- }
-
- return retval;
-}
-
-static void write_mailbox_register (openpic_t *opp, int n_mbx,
- uint32_t address, uint32_t value)
-{
- switch (offset) {
- case MBX_MBR_OFFSET:
- opp->mailboxes[n_mbx].mbr = value;
- break;
- case MBX_IVPR_OFFSET:
- write_IRQreg_ipvp(opp, IRQ_MBX0 + n_mbx, value);
- break;
- case MBX_DMR_OFFSET:
- write_IRQreg_ide(opp, IRQ_MBX0 + n_mbx, value);
- break;
- }
-}
-#endif
-#endif /* 0 : Code provision for Intel model */
-
static void openpic_gbl_write (void *opaque, hwaddr addr, uint32_t val)
{
openpic_t *opp = opaque;
@@ -841,7 +712,6 @@ static void openpic_cpu_write_internal(void *opaque, hwaddr addr,
dst = &opp->dst[idx];
addr &= 0xFF0;
switch (addr) {
-#if MAX_IPI > 0
case 0x40: /* IPIDR */
case 0x50:
case 0x60:
@@ -853,7 +723,6 @@ static void openpic_cpu_write_internal(void *opaque, hwaddr addr,
openpic_set_irq(opp, opp->irq_ipi0 + idx, 1);
openpic_set_irq(opp, opp->irq_ipi0 + idx, 0);
break;
-#endif
case 0x80: /* PCTP */
dst->pctp = val & 0x0000000F;
break;
@@ -1109,20 +978,6 @@ static void openpic_save(QEMUFile* f, void *opaque)
qemu_put_be32s(f, &opp->timers[i].tibc);
}
-#if MAX_DBL > 0
- qemu_put_be32s(f, &opp->dar);
-
- for (i = 0; i < MAX_DBL; i++) {
- qemu_put_be32s(f, &opp->doorbells[i].dmr);
- }
-#endif
-
-#if MAX_MBX > 0
- for (i = 0; i < MAX_MAILBOXES; i++) {
- qemu_put_be32s(f, &opp->mailboxes[i].mbr);
- }
-#endif
-
pci_device_save(&opp->pci_dev, f);
}
@@ -1176,20 +1031,6 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
qemu_get_be32s(f, &opp->timers[i].tibc);
}
-#if MAX_DBL > 0
- qemu_get_be32s(f, &opp->dar);
-
- for (i = 0; i < MAX_DBL; i++) {
- qemu_get_be32s(f, &opp->doorbells[i].dmr);
- }
-#endif
-
-#if MAX_MBX > 0
- for (i = 0; i < MAX_MAILBOXES; i++) {
- qemu_get_be32s(f, &opp->mailboxes[i].mbr);
- }
-#endif
-
return pci_device_load(&opp->pci_dev, f);
}
@@ -1222,11 +1063,7 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
for (; i < OPENPIC_IRQ_TIM0; i++) {
opp->src[i].type = IRQ_SPECIAL;
}
-#if MAX_IPI > 0
m = OPENPIC_IRQ_IPI0;
-#else
- m = OPENPIC_IRQ_DBL0;
-#endif
for (; i < m; i++) {
opp->src[i].type = IRQ_TIMER;
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 13/40] mpic: Unify numbering scheme
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (11 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 12/40] openpic: Remove unused code Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 14/40] openpic: update to proper memory api Alexander Graf
` (27 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
MPIC interrupt numbers in Linux (device tree) and in QEMU are different,
because QEMU takes the sparseness of the IRQ number space into account.
Remove that cleverness and instead assume a flat number space. This makes
the code easier to understand, because we are actually aligned with Linux
on the view of our worlds.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 290 +++++++++------------------------------------------------
hw/ppc/e500.c | 4 +-
2 files changed, 45 insertions(+), 249 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index b30c853..122ce76 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -46,11 +46,12 @@
#define DPRINTF(fmt, ...) do { } while (0)
#endif
-#define MAX_CPU 15
-#define MAX_IRQ 128
+#define MAX_CPU 15
+#define MAX_SRC 256
#define MAX_TMR 4
#define VECTOR_BITS 8
#define MAX_IPI 4
+#define MAX_IRQ (MAX_SRC + MAX_IPI + MAX_TMR)
#define VID 0x03 /* MPIC version ID */
#define VENI 0x00000000 /* Vendor ID */
@@ -82,32 +83,25 @@ enum {
#define MPIC_MAX_CPU 1
#define MPIC_MAX_EXT 12
#define MPIC_MAX_INT 64
-#define MPIC_MAX_MSG 4
-#define MPIC_MAX_MSI 8
-#define MPIC_MAX_TMR MAX_TMR
-#define MPIC_MAX_IPI MAX_IPI
-#define MPIC_MAX_IRQ (MPIC_MAX_EXT + MPIC_MAX_INT + MPIC_MAX_TMR + MPIC_MAX_MSG + MPIC_MAX_MSI + (MPIC_MAX_IPI * MPIC_MAX_CPU))
+#define MPIC_MAX_IRQ MAX_IRQ
/* Interrupt definitions */
-#define MPIC_EXT_IRQ 0
-#define MPIC_INT_IRQ (MPIC_EXT_IRQ + MPIC_MAX_EXT)
-#define MPIC_TMR_IRQ (MPIC_INT_IRQ + MPIC_MAX_INT)
-#define MPIC_MSG_IRQ (MPIC_TMR_IRQ + MPIC_MAX_TMR)
-#define MPIC_MSI_IRQ (MPIC_MSG_IRQ + MPIC_MAX_MSG)
-#define MPIC_IPI_IRQ (MPIC_MSI_IRQ + MPIC_MAX_MSI)
+/* IRQs, accessible through the IRQ region */
+#define MPIC_EXT_IRQ 0x00
+#define MPIC_INT_IRQ 0x10
+#define MPIC_MSG_IRQ 0xb0
+#define MPIC_MSI_IRQ 0xe0
+/* These are available through separate regions, but
+ for simplicity's sake mapped into the same number space */
+#define MPIC_TMR_IRQ 0x100
+#define MPIC_IPI_IRQ 0x104
#define MPIC_GLB_REG_START 0x0
#define MPIC_GLB_REG_SIZE 0x10F0
#define MPIC_TMR_REG_START 0x10F0
#define MPIC_TMR_REG_SIZE 0x220
-#define MPIC_EXT_REG_START 0x10000
-#define MPIC_EXT_REG_SIZE 0x180
-#define MPIC_INT_REG_START 0x10200
-#define MPIC_INT_REG_SIZE 0x800
-#define MPIC_MSG_REG_START 0x11600
-#define MPIC_MSG_REG_SIZE 0x100
-#define MPIC_MSI_REG_START 0x11C00
-#define MPIC_MSI_REG_SIZE 0x100
+#define MPIC_IRQ_REG_START 0x10000
+#define MPIC_IRQ_REG_SIZE (MAX_SRC * 0x20)
#define MPIC_CPU_REG_START 0x20000
#define MPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
@@ -1205,193 +1199,44 @@ static uint32_t mpic_timer_read (void *opaque, hwaddr addr)
return retval;
}
-static void mpic_src_ext_write (void *opaque, hwaddr addr,
- uint32_t val)
+static void mpic_src_irq_write(void *opaque, hwaddr addr,
+ uint64_t val, unsigned len)
{
openpic_t *mpp = opaque;
- int idx = MPIC_EXT_IRQ;
+ int idx = addr / 0x20;
- DPRINTF("%s: addr " TARGET_FMT_plx " <= %08x\n", __func__, addr, val);
- if (addr & 0xF)
- return;
-
- if (addr < MPIC_EXT_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- write_IRQreg_ide(mpp, idx, val);
- } else {
- /* EXVP / IFEVP / IEEVP */
- write_IRQreg_ipvp(mpp, idx, val);
- }
- }
-}
-
-static uint32_t mpic_src_ext_read (void *opaque, hwaddr addr)
-{
- openpic_t *mpp = opaque;
- uint32_t retval;
- int idx = MPIC_EXT_IRQ;
-
- DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
- retval = 0xFFFFFFFF;
- if (addr & 0xF)
- return retval;
-
- if (addr < MPIC_EXT_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- retval = read_IRQreg_ide(mpp, idx);
- } else {
- /* EXVP / IFEVP / IEEVP */
- retval = read_IRQreg_ipvp(mpp, idx);
- }
- DPRINTF("%s: => %08x\n", __func__, retval);
- }
-
- return retval;
-}
-
-static void mpic_src_int_write (void *opaque, hwaddr addr,
- uint32_t val)
-{
- openpic_t *mpp = opaque;
- int idx = MPIC_INT_IRQ;
-
- DPRINTF("%s: addr " TARGET_FMT_plx " <= %08x\n", __func__, addr, val);
- if (addr & 0xF)
- return;
-
- if (addr < MPIC_INT_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- write_IRQreg_ide(mpp, idx, val);
- } else {
- /* EXVP / IFEVP / IEEVP */
- write_IRQreg_ipvp(mpp, idx, val);
- }
- }
-}
-
-static uint32_t mpic_src_int_read (void *opaque, hwaddr addr)
-{
- openpic_t *mpp = opaque;
- uint32_t retval;
- int idx = MPIC_INT_IRQ;
-
- DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
- retval = 0xFFFFFFFF;
- if (addr & 0xF)
- return retval;
-
- if (addr < MPIC_INT_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- retval = read_IRQreg_ide(mpp, idx);
- } else {
- /* EXVP / IFEVP / IEEVP */
- retval = read_IRQreg_ipvp(mpp, idx);
- }
- DPRINTF("%s: => %08x\n", __func__, retval);
- }
-
- return retval;
-}
-
-static void mpic_src_msg_write (void *opaque, hwaddr addr,
- uint32_t val)
-{
- openpic_t *mpp = opaque;
- int idx = MPIC_MSG_IRQ;
-
- DPRINTF("%s: addr " TARGET_FMT_plx " <= %08x\n", __func__, addr, val);
+ DPRINTF("%s: addr " TARGET_FMT_plx " <= %08" PRIx64 "\n",
+ __func__, addr, val);
if (addr & 0xF)
return;
- if (addr < MPIC_MSG_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- write_IRQreg_ide(mpp, idx, val);
- } else {
- /* EXVP / IFEVP / IEEVP */
- write_IRQreg_ipvp(mpp, idx, val);
- }
- }
-}
-
-static uint32_t mpic_src_msg_read (void *opaque, hwaddr addr)
-{
- openpic_t *mpp = opaque;
- uint32_t retval;
- int idx = MPIC_MSG_IRQ;
-
- DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
- retval = 0xFFFFFFFF;
- if (addr & 0xF)
- return retval;
-
- if (addr < MPIC_MSG_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- retval = read_IRQreg_ide(mpp, idx);
- } else {
- /* EXVP / IFEVP / IEEVP */
- retval = read_IRQreg_ipvp(mpp, idx);
- }
- DPRINTF("%s: => %08x\n", __func__, retval);
+ if (addr & 0x10) {
+ /* EXDE / IFEDE / IEEDE */
+ write_IRQreg_ide(mpp, idx, val);
+ } else {
+ /* EXVP / IFEVP / IEEVP */
+ write_IRQreg_ipvp(mpp, idx, val);
}
-
- return retval;
}
-static void mpic_src_msi_write (void *opaque, hwaddr addr,
- uint32_t val)
-{
- openpic_t *mpp = opaque;
- int idx = MPIC_MSI_IRQ;
-
- DPRINTF("%s: addr " TARGET_FMT_plx " <= %08x\n", __func__, addr, val);
- if (addr & 0xF)
- return;
-
- if (addr < MPIC_MSI_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- write_IRQreg_ide(mpp, idx, val);
- } else {
- /* EXVP / IFEVP / IEEVP */
- write_IRQreg_ipvp(mpp, idx, val);
- }
- }
-}
-static uint32_t mpic_src_msi_read (void *opaque, hwaddr addr)
+static uint64_t mpic_src_irq_read(void *opaque, hwaddr addr, unsigned len)
{
openpic_t *mpp = opaque;
uint32_t retval;
- int idx = MPIC_MSI_IRQ;
+ int idx = addr / 0x20;
DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
- retval = 0xFFFFFFFF;
if (addr & 0xF)
- return retval;
+ return -1;
- if (addr < MPIC_MSI_REG_SIZE) {
- idx += (addr & 0xFFF0) >> 5;
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- retval = read_IRQreg_ide(mpp, idx);
- } else {
- /* EXVP / IFEVP / IEEVP */
- retval = read_IRQreg_ipvp(mpp, idx);
- }
- DPRINTF("%s: => %08x\n", __func__, retval);
+ if (addr & 0x10) {
+ /* EXDE / IFEDE / IEEDE */
+ retval = read_IRQreg_ide(mpp, idx);
+ } else {
+ /* EXVP / IFEVP / IEEVP */
+ retval = read_IRQreg_ipvp(mpp, idx);
}
+ DPRINTF("%s: => %08x\n", __func__, retval);
return retval;
}
@@ -1438,60 +1283,14 @@ static const MemoryRegionOps mpic_cpu_ops = {
.endianness = DEVICE_BIG_ENDIAN,
};
-static const MemoryRegionOps mpic_ext_ops = {
- .old_mmio = {
- .write = { openpic_buggy_write,
- openpic_buggy_write,
- mpic_src_ext_write,
- },
- .read = { openpic_buggy_read,
- openpic_buggy_read,
- mpic_src_ext_read,
- },
- },
- .endianness = DEVICE_BIG_ENDIAN,
-};
-
-static const MemoryRegionOps mpic_int_ops = {
- .old_mmio = {
- .write = { openpic_buggy_write,
- openpic_buggy_write,
- mpic_src_int_write,
- },
- .read = { openpic_buggy_read,
- openpic_buggy_read,
- mpic_src_int_read,
- },
- },
- .endianness = DEVICE_BIG_ENDIAN,
-};
-
-static const MemoryRegionOps mpic_msg_ops = {
- .old_mmio = {
- .write = { openpic_buggy_write,
- openpic_buggy_write,
- mpic_src_msg_write,
- },
- .read = { openpic_buggy_read,
- openpic_buggy_read,
- mpic_src_msg_read,
- },
- },
+static const MemoryRegionOps mpic_irq_ops = {
+ .write = mpic_src_irq_write,
+ .read = mpic_src_irq_read,
.endianness = DEVICE_BIG_ENDIAN,
-};
-
-static const MemoryRegionOps mpic_msi_ops = {
- .old_mmio = {
- .write = { openpic_buggy_write,
- openpic_buggy_write,
- mpic_src_msi_write,
- },
- .read = { openpic_buggy_read,
- openpic_buggy_read,
- mpic_src_msi_read,
- },
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
},
- .endianness = DEVICE_BIG_ENDIAN,
};
qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
@@ -1507,10 +1306,7 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
} const list[] = {
{"glb", &mpic_glb_ops, MPIC_GLB_REG_START, MPIC_GLB_REG_SIZE},
{"tmr", &mpic_tmr_ops, MPIC_TMR_REG_START, MPIC_TMR_REG_SIZE},
- {"ext", &mpic_ext_ops, MPIC_EXT_REG_START, MPIC_EXT_REG_SIZE},
- {"int", &mpic_int_ops, MPIC_INT_REG_START, MPIC_INT_REG_SIZE},
- {"msg", &mpic_msg_ops, MPIC_MSG_REG_START, MPIC_MSG_REG_SIZE},
- {"msi", &mpic_msi_ops, MPIC_MSI_REG_START, MPIC_MSI_REG_SIZE},
+ {"irq", &mpic_irq_ops, MPIC_IRQ_REG_START, MPIC_IRQ_REG_SIZE},
{"cpu", &mpic_cpu_ops, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
};
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 47e2d41..f3e97d8 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -502,13 +502,13 @@ void ppce500_init(PPCE500Params *params)
/* Serial */
if (serial_hds[0]) {
serial_mm_init(ccsr_addr_space, MPC8544_SERIAL0_REGS_OFFSET,
- 0, mpic[12+26], 399193,
+ 0, mpic[42], 399193,
serial_hds[0], DEVICE_BIG_ENDIAN);
}
if (serial_hds[1]) {
serial_mm_init(ccsr_addr_space, MPC8544_SERIAL1_REGS_OFFSET,
- 0, mpic[12+26], 399193,
+ 0, mpic[42], 399193,
serial_hds[1], DEVICE_BIG_ENDIAN);
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 14/40] openpic: update to proper memory api
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (12 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 13/40] mpic: Unify numbering scheme Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 15/40] openpic: combine mpic and openpic src handlers Alexander Graf
` (26 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The openpic code was still using the old mmio memory api. Convert it to
be a generic memory api user and clean up some code that becomes redundant
that way.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 138 ++++++++++++++++++++--------------------------------------
1 files changed, 48 insertions(+), 90 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 122ce76..1d714f4 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -461,7 +461,8 @@ static inline void write_IRQreg_ipvp(openpic_t *opp, int n_IRQ, uint32_t val)
opp->src[n_IRQ].ipvp);
}
-static void openpic_gbl_write (void *opaque, hwaddr addr, uint32_t val)
+static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
+ unsigned len)
{
openpic_t *opp = opaque;
IRQ_dst_t *dst;
@@ -527,7 +528,7 @@ static void openpic_gbl_write (void *opaque, hwaddr addr, uint32_t val)
}
}
-static uint32_t openpic_gbl_read (void *opaque, hwaddr addr)
+static uint64_t openpic_gbl_read(void *opaque, hwaddr addr, unsigned len)
{
openpic_t *opp = opaque;
uint32_t retval;
@@ -584,7 +585,8 @@ static uint32_t openpic_gbl_read (void *opaque, hwaddr addr)
return retval;
}
-static void openpic_timer_write (void *opaque, uint32_t addr, uint32_t val)
+static void openpic_timer_write(void *opaque, hwaddr addr, uint64_t val,
+ unsigned len)
{
openpic_t *opp = opaque;
int idx;
@@ -615,7 +617,7 @@ static void openpic_timer_write (void *opaque, uint32_t addr, uint32_t val)
}
}
-static uint32_t openpic_timer_read (void *opaque, uint32_t addr)
+static uint64_t openpic_timer_read(void *opaque, hwaddr addr, unsigned len)
{
openpic_t *opp = opaque;
uint32_t retval;
@@ -648,7 +650,8 @@ static uint32_t openpic_timer_read (void *opaque, uint32_t addr)
return retval;
}
-static void openpic_src_write (void *opaque, uint32_t addr, uint32_t val)
+static void openpic_src_write(void *opaque, hwaddr addr, uint64_t val,
+ unsigned len)
{
openpic_t *opp = opaque;
int idx;
@@ -667,7 +670,7 @@ static void openpic_src_write (void *opaque, uint32_t addr, uint32_t val)
}
}
-static uint32_t openpic_src_read (void *opaque, uint32_t addr)
+static uint64_t openpic_src_read(void *opaque, uint64_t addr, unsigned len)
{
openpic_t *opp = opaque;
uint32_t retval;
@@ -749,7 +752,8 @@ static void openpic_cpu_write_internal(void *opaque, hwaddr addr,
}
}
-static void openpic_cpu_write(void *opaque, hwaddr addr, uint32_t val)
+static void openpic_cpu_write(void *opaque, hwaddr addr, uint64_t val,
+ unsigned len)
{
openpic_cpu_write_internal(opaque, addr, val, (addr & 0x1f000) >> 12);
}
@@ -833,96 +837,63 @@ static uint32_t openpic_cpu_read_internal(void *opaque, hwaddr addr,
return retval;
}
-static uint32_t openpic_cpu_read(void *opaque, hwaddr addr)
+static uint64_t openpic_cpu_read(void *opaque, hwaddr addr, unsigned len)
{
return openpic_cpu_read_internal(opaque, addr, (addr & 0x1f000) >> 12);
}
-static void openpic_buggy_write (void *opaque,
- hwaddr addr, uint32_t val)
-{
- printf("Invalid OPENPIC write access !\n");
-}
-
-static uint32_t openpic_buggy_read (void *opaque, hwaddr addr)
-{
- printf("Invalid OPENPIC read access !\n");
-
- return -1;
-}
-
-static void openpic_writel (void *opaque,
- hwaddr addr, uint32_t val)
+static void openpic_write(void *opaque, hwaddr addr, uint64_t val,
+ unsigned len)
{
openpic_t *opp = opaque;
- addr &= 0x3FFFF;
DPRINTF("%s: offset %08x val: %08x\n", __func__, (int)addr, val);
if (addr < 0x1100) {
/* Global registers */
- openpic_gbl_write(opp, addr, val);
+ openpic_gbl_write(opp, addr, val, len);
} else if (addr < 0x10000) {
/* Timers registers */
- openpic_timer_write(opp, addr, val);
+ openpic_timer_write(opp, addr, val, len);
} else if (addr < 0x20000) {
/* Source registers */
- openpic_src_write(opp, addr, val);
+ openpic_src_write(opp, addr, val, len);
} else {
/* CPU registers */
- openpic_cpu_write(opp, addr, val);
+ openpic_cpu_write(opp, addr, val, len);
}
}
-static uint32_t openpic_readl (void *opaque,hwaddr addr)
+static uint64_t openpic_read(void *opaque, hwaddr addr, unsigned len)
{
openpic_t *opp = opaque;
uint32_t retval;
- addr &= 0x3FFFF;
DPRINTF("%s: offset %08x\n", __func__, (int)addr);
if (addr < 0x1100) {
/* Global registers */
- retval = openpic_gbl_read(opp, addr);
+ retval = openpic_gbl_read(opp, addr, len);
} else if (addr < 0x10000) {
/* Timers registers */
- retval = openpic_timer_read(opp, addr);
+ retval = openpic_timer_read(opp, addr, len);
} else if (addr < 0x20000) {
/* Source registers */
- retval = openpic_src_read(opp, addr);
+ retval = openpic_src_read(opp, addr, len);
} else {
/* CPU registers */
- retval = openpic_cpu_read(opp, addr);
+ retval = openpic_cpu_read(opp, addr, len);
}
return retval;
}
-static uint64_t openpic_read(void *opaque, hwaddr addr,
- unsigned size)
-{
- openpic_t *opp = opaque;
-
- switch (size) {
- case 4: return openpic_readl(opp, addr);
- default: return openpic_buggy_read(opp, addr);
- }
-}
-
-static void openpic_write(void *opaque, hwaddr addr,
- uint64_t data, unsigned size)
-{
- openpic_t *opp = opaque;
-
- switch (size) {
- case 4: return openpic_writel(opp, addr, data);
- default: return openpic_buggy_write(opp, addr, data);
- }
-}
-
static const MemoryRegionOps openpic_ops = {
.read = openpic_read,
.write = openpic_write,
.endianness = DEVICE_LITTLE_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
};
static void openpic_save_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
@@ -1131,7 +1102,8 @@ static void mpic_reset (void *opaque)
mpp->glbc = 0x00000000;
}
-static void mpic_timer_write (void *opaque, hwaddr addr, uint32_t val)
+static void mpic_timer_write(void *opaque, hwaddr addr, uint64_t val,
+ unsigned len)
{
openpic_t *mpp = opaque;
int idx, cpu;
@@ -1139,7 +1111,6 @@ static void mpic_timer_write (void *opaque, hwaddr addr, uint32_t val)
DPRINTF("%s: addr " TARGET_FMT_plx " <= %08x\n", __func__, addr, val);
if (addr & 0xF)
return;
- addr &= 0xFFFF;
cpu = addr >> 12;
idx = (addr >> 6) & 0x3;
switch (addr & 0x30) {
@@ -1164,7 +1135,7 @@ static void mpic_timer_write (void *opaque, hwaddr addr, uint32_t val)
}
}
-static uint32_t mpic_timer_read (void *opaque, hwaddr addr)
+static uint64_t mpic_timer_read(void *opaque, hwaddr addr, unsigned len)
{
openpic_t *mpp = opaque;
uint32_t retval;
@@ -1174,7 +1145,6 @@ static uint32_t mpic_timer_read (void *opaque, hwaddr addr)
retval = 0xFFFFFFFF;
if (addr & 0xF)
return retval;
- addr &= 0xFFFF;
cpu = addr >> 12;
idx = (addr >> 6) & 0x3;
switch (addr & 0x30) {
@@ -1242,45 +1212,33 @@ static uint64_t mpic_src_irq_read(void *opaque, hwaddr addr, unsigned len)
}
static const MemoryRegionOps mpic_glb_ops = {
- .old_mmio = {
- .write = { openpic_buggy_write,
- openpic_buggy_write,
- openpic_gbl_write,
- },
- .read = { openpic_buggy_read,
- openpic_buggy_read,
- openpic_gbl_read,
- },
- },
+ .write = openpic_gbl_write,
+ .read = openpic_gbl_read,
.endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
};
static const MemoryRegionOps mpic_tmr_ops = {
- .old_mmio = {
- .write = { openpic_buggy_write,
- openpic_buggy_write,
- mpic_timer_write,
- },
- .read = { openpic_buggy_read,
- openpic_buggy_read,
- mpic_timer_read,
- },
- },
+ .write = mpic_timer_write,
+ .read = mpic_timer_read,
.endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
};
static const MemoryRegionOps mpic_cpu_ops = {
- .old_mmio = {
- .write = { openpic_buggy_write,
- openpic_buggy_write,
- openpic_cpu_write,
- },
- .read = { openpic_buggy_read,
- openpic_buggy_read,
- openpic_cpu_read,
- },
- },
+ .write = openpic_cpu_write,
+ .read = openpic_cpu_read,
.endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
};
static const MemoryRegionOps mpic_irq_ops = {
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 15/40] openpic: combine mpic and openpic src handlers
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (13 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 14/40] openpic: update to proper memory api Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 16/40] openpic: Convert subregions to memory api Alexander Graf
` (25 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The MPIC source irq handler suddenly became identical to the standard
OpenPIC source irq handler. Combine them into the same function.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 52 +++++-----------------------------------------------
1 files changed, 5 insertions(+), 47 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 1d714f4..b671d9d 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -100,8 +100,8 @@ enum {
#define MPIC_GLB_REG_SIZE 0x10F0
#define MPIC_TMR_REG_START 0x10F0
#define MPIC_TMR_REG_SIZE 0x220
-#define MPIC_IRQ_REG_START 0x10000
-#define MPIC_IRQ_REG_SIZE (MAX_SRC * 0x20)
+#define MPIC_SRC_REG_START 0x10000
+#define MPIC_SRC_REG_SIZE (MAX_SRC * 0x20)
#define MPIC_CPU_REG_START 0x20000
#define MPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
@@ -1169,48 +1169,6 @@ static uint64_t mpic_timer_read(void *opaque, hwaddr addr, unsigned len)
return retval;
}
-static void mpic_src_irq_write(void *opaque, hwaddr addr,
- uint64_t val, unsigned len)
-{
- openpic_t *mpp = opaque;
- int idx = addr / 0x20;
-
- DPRINTF("%s: addr " TARGET_FMT_plx " <= %08" PRIx64 "\n",
- __func__, addr, val);
- if (addr & 0xF)
- return;
-
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- write_IRQreg_ide(mpp, idx, val);
- } else {
- /* EXVP / IFEVP / IEEVP */
- write_IRQreg_ipvp(mpp, idx, val);
- }
-}
-
-static uint64_t mpic_src_irq_read(void *opaque, hwaddr addr, unsigned len)
-{
- openpic_t *mpp = opaque;
- uint32_t retval;
- int idx = addr / 0x20;
-
- DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
- if (addr & 0xF)
- return -1;
-
- if (addr & 0x10) {
- /* EXDE / IFEDE / IEEDE */
- retval = read_IRQreg_ide(mpp, idx);
- } else {
- /* EXVP / IFEVP / IEEVP */
- retval = read_IRQreg_ipvp(mpp, idx);
- }
- DPRINTF("%s: => %08x\n", __func__, retval);
-
- return retval;
-}
-
static const MemoryRegionOps mpic_glb_ops = {
.write = openpic_gbl_write,
.read = openpic_gbl_read,
@@ -1242,8 +1200,8 @@ static const MemoryRegionOps mpic_cpu_ops = {
};
static const MemoryRegionOps mpic_irq_ops = {
- .write = mpic_src_irq_write,
- .read = mpic_src_irq_read,
+ .write = openpic_src_write,
+ .read = openpic_src_read,
.endianness = DEVICE_BIG_ENDIAN,
.impl = {
.min_access_size = 4,
@@ -1264,7 +1222,7 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
} const list[] = {
{"glb", &mpic_glb_ops, MPIC_GLB_REG_START, MPIC_GLB_REG_SIZE},
{"tmr", &mpic_tmr_ops, MPIC_TMR_REG_START, MPIC_TMR_REG_SIZE},
- {"irq", &mpic_irq_ops, MPIC_IRQ_REG_START, MPIC_IRQ_REG_SIZE},
+ {"src", &mpic_irq_ops, MPIC_SRC_REG_START, MPIC_SRC_REG_SIZE},
{"cpu", &mpic_cpu_ops, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
};
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 16/40] openpic: Convert subregions to memory api
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (14 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 15/40] openpic: combine mpic and openpic src handlers Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 17/40] openpic: combine mpic and openpic irq raise functions Alexander Graf
` (24 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The "openpic" controller is currently using one big region and does
subregion dispatching manually. Move this to the memory api.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 106 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 61 insertions(+), 45 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index b671d9d..2a3b56a 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -79,6 +79,15 @@ enum {
#define OPENPIC_IRQ_MBX0 (OPENPIC_IRQ_DBL0 + OPENPIC_MAX_DBL) /* First mailbox IRQ */
#endif
+#define OPENPIC_GLB_REG_START 0x0
+#define OPENPIC_GLB_REG_SIZE 0x10F0
+#define OPENPIC_TMR_REG_START 0x10F0
+#define OPENPIC_TMR_REG_SIZE 0x220
+#define OPENPIC_SRC_REG_START 0x10000
+#define OPENPIC_SRC_REG_SIZE (MAX_SRC * 0x20)
+#define OPENPIC_CPU_REG_START 0x20000
+#define OPENPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
+
/* MPIC */
#define MPIC_MAX_CPU 1
#define MPIC_MAX_EXT 12
@@ -842,53 +851,39 @@ static uint64_t openpic_cpu_read(void *opaque, hwaddr addr, unsigned len)
return openpic_cpu_read_internal(opaque, addr, (addr & 0x1f000) >> 12);
}
-static void openpic_write(void *opaque, hwaddr addr, uint64_t val,
- unsigned len)
-{
- openpic_t *opp = opaque;
-
- DPRINTF("%s: offset %08x val: %08x\n", __func__, (int)addr, val);
- if (addr < 0x1100) {
- /* Global registers */
- openpic_gbl_write(opp, addr, val, len);
- } else if (addr < 0x10000) {
- /* Timers registers */
- openpic_timer_write(opp, addr, val, len);
- } else if (addr < 0x20000) {
- /* Source registers */
- openpic_src_write(opp, addr, val, len);
- } else {
- /* CPU registers */
- openpic_cpu_write(opp, addr, val, len);
- }
-}
-
-static uint64_t openpic_read(void *opaque, hwaddr addr, unsigned len)
-{
- openpic_t *opp = opaque;
- uint32_t retval;
+static const MemoryRegionOps openpic_glb_ops = {
+ .write = openpic_gbl_write,
+ .read = openpic_gbl_read,
+ .endianness = DEVICE_LITTLE_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
- DPRINTF("%s: offset %08x\n", __func__, (int)addr);
- if (addr < 0x1100) {
- /* Global registers */
- retval = openpic_gbl_read(opp, addr, len);
- } else if (addr < 0x10000) {
- /* Timers registers */
- retval = openpic_timer_read(opp, addr, len);
- } else if (addr < 0x20000) {
- /* Source registers */
- retval = openpic_src_read(opp, addr, len);
- } else {
- /* CPU registers */
- retval = openpic_cpu_read(opp, addr, len);
- }
+static const MemoryRegionOps openpic_tmr_ops = {
+ .write = openpic_timer_write,
+ .read = openpic_timer_read,
+ .endianness = DEVICE_LITTLE_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
- return retval;
-}
+static const MemoryRegionOps openpic_cpu_ops = {
+ .write = openpic_cpu_write,
+ .read = openpic_cpu_read,
+ .endianness = DEVICE_LITTLE_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
-static const MemoryRegionOps openpic_ops = {
- .read = openpic_read,
- .write = openpic_write,
+static const MemoryRegionOps openpic_src_ops = {
+ .write = openpic_src_write,
+ .read = openpic_src_read,
.endianness = DEVICE_LITTLE_ENDIAN,
.impl = {
.min_access_size = 4,
@@ -1009,12 +1004,33 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
{
openpic_t *opp;
int i, m;
+ struct {
+ const char *name;
+ MemoryRegionOps const *ops;
+ hwaddr start_addr;
+ ram_addr_t size;
+ } const list[] = {
+ {"glb", &openpic_glb_ops, OPENPIC_GLB_REG_START, OPENPIC_GLB_REG_SIZE},
+ {"tmr", &openpic_tmr_ops, OPENPIC_TMR_REG_START, OPENPIC_TMR_REG_SIZE},
+ {"src", &openpic_src_ops, OPENPIC_SRC_REG_START, OPENPIC_SRC_REG_SIZE},
+ {"cpu", &openpic_cpu_ops, OPENPIC_CPU_REG_START, OPENPIC_CPU_REG_SIZE},
+ };
/* XXX: for now, only one CPU is supported */
if (nb_cpus != 1)
return NULL;
opp = g_malloc0(sizeof(openpic_t));
- memory_region_init_io(&opp->mem, &openpic_ops, opp, "openpic", 0x40000);
+
+ memory_region_init(&opp->mem, "openpic", 0x40000);
+
+ for (i = 0; i < ARRAY_SIZE(list); i++) {
+
+ memory_region_init_io(&opp->sub_io_mem[i], list[i].ops, opp,
+ list[i].name, list[i].size);
+
+ memory_region_add_subregion(&opp->mem, list[i].start_addr,
+ &opp->sub_io_mem[i]);
+ }
// isu_base &= 0xFFFC0000;
opp->nb_cpus = nb_cpus;
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 17/40] openpic: combine mpic and openpic irq raise functions
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (15 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 16/40] openpic: Convert subregions to memory api Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 18/40] openpic: merge mpic and openpic timer handling Alexander Graf
` (23 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The IRQ raise mechanisms of the OpenPIC and MPIC controllers is identical,
just that the MPIC one can also raise critical interrupts.
Combine those two and check for critical raise capability during runtime.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 34 ++++++++++++++++------------------
hw/openpic.h | 3 +++
2 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 2a3b56a..d709e36 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -207,6 +207,9 @@ typedef struct openpic_t {
PCIDevice pci_dev;
MemoryRegion mem;
+ /* Behavior control */
+ uint32_t flags;
+
/* Sub-regions */
MemoryRegion sub_io_mem[7];
@@ -234,9 +237,10 @@ typedef struct openpic_t {
int irq_ipi0;
int irq_tim0;
void (*reset) (void *);
- void (*irq_raise) (struct openpic_t *, int, IRQ_src_t *);
} openpic_t;
+static void openpic_irq_raise(openpic_t *opp, int n_CPU, IRQ_src_t *src);
+
static inline void IRQ_setbit (IRQ_queue_t *q, int n_IRQ)
{
set_bit(q->queue, n_IRQ);
@@ -321,7 +325,7 @@ static void IRQ_local_pipe (openpic_t *opp, int n_CPU, int n_IRQ)
return;
}
DPRINTF("Raise OpenPIC INT output cpu %d irq %d\n", n_CPU, n_IRQ);
- opp->irq_raise(opp, n_CPU, src);
+ openpic_irq_raise(opp, n_CPU, src);
}
/* update pic state because registers for n_IRQ have changed value */
@@ -753,7 +757,7 @@ static void openpic_cpu_write_internal(void *opaque, hwaddr addr,
IPVP_PRIORITY(src->ipvp) > dst->servicing.priority)) {
DPRINTF("Raise OpenPIC INT output cpu %d irq %d\n",
idx, n_IRQ);
- opp->irq_raise(opp, idx, src);
+ openpic_irq_raise(opp, idx, src);
}
break;
default:
@@ -996,7 +1000,13 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
static void openpic_irq_raise(openpic_t *opp, int n_CPU, IRQ_src_t *src)
{
- qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_INT]);
+ int n_ci = IDR_CI0 - n_CPU;
+
+ if ((opp->flags & OPENPIC_FLAG_IDE_CRIT) && test_bit(&src->ide, n_ci)) {
+ qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_CINT]);
+ } else {
+ qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_INT]);
+ }
}
qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
@@ -1059,7 +1069,6 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
openpic_save, openpic_load, opp);
qemu_register_reset(openpic_reset, opp);
- opp->irq_raise = openpic_irq_raise;
opp->reset = openpic_reset;
if (pmem)
@@ -1068,18 +1077,6 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
return qemu_allocate_irqs(openpic_set_irq, opp, opp->max_irq);
}
-static void mpic_irq_raise(openpic_t *mpp, int n_CPU, IRQ_src_t *src)
-{
- int n_ci = IDR_CI0 - n_CPU;
-
- if(test_bit(&src->ide, n_ci)) {
- qemu_irq_raise(mpp->dst[n_CPU].irqs[OPENPIC_OUTPUT_CINT]);
- }
- else {
- qemu_irq_raise(mpp->dst[n_CPU].irqs[OPENPIC_OUTPUT_INT]);
- }
-}
-
static void mpic_reset (void *opaque)
{
openpic_t *mpp = (openpic_t *)opaque;
@@ -1265,7 +1262,8 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
mpp->dst[i].irqs = irqs[i];
mpp->irq_out = irq_out;
- mpp->irq_raise = mpic_irq_raise;
+ /* Enable critical interrupt support */
+ mpp->flags |= OPENPIC_FLAG_IDE_CRIT;
mpp->reset = mpic_reset;
register_savevm(NULL, "mpic", 0, 2, openpic_save, openpic_load, mpp);
diff --git a/hw/openpic.h b/hw/openpic.h
index f50a1e4..1232d10 100644
--- a/hw/openpic.h
+++ b/hw/openpic.h
@@ -11,6 +11,9 @@ enum {
OPENPIC_OUTPUT_NB,
};
+/* OpenPIC capability flags */
+#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
+
qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
qemu_irq **irqs, qemu_irq irq_out);
qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 18/40] openpic: merge mpic and openpic timer handling
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (16 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 17/40] openpic: combine mpic and openpic irq raise functions Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 19/40] openpic: combine openpic and mpic reset functions Alexander Graf
` (22 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The openpic and mpic timer handling code is basically the same.
Merge them.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 131 ++++++++++++++--------------------------------------------
1 files changed, 31 insertions(+), 100 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index d709e36..80016a2 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -195,7 +195,6 @@ enum IPVP_bits {
#define IPVP_VECTOR(_ipvpr_) ((_ipvpr_) & IPVP_VECTOR_MASK)
typedef struct IRQ_dst_t {
- uint32_t tfrr;
uint32_t pctp; /* CPU current task priority */
uint32_t pcsr; /* CPU sensitivity register */
IRQ_queue_t raised;
@@ -533,9 +532,6 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
case 0x10E0: /* SPVE */
opp->spve = val & 0x000000FF;
break;
- case 0x10F0: /* TIFR */
- opp->tifr = val;
- break;
default:
break;
}
@@ -587,9 +583,6 @@ static uint64_t openpic_gbl_read(void *opaque, hwaddr addr, unsigned len)
case 0x10E0: /* SPVE */
retval = opp->spve;
break;
- case 0x10F0: /* TIFR */
- retval = opp->tifr;
- break;
default:
break;
}
@@ -607,24 +600,28 @@ static void openpic_timer_write(void *opaque, hwaddr addr, uint64_t val,
DPRINTF("%s: addr %08x <= %08x\n", __func__, addr, val);
if (addr & 0xF)
return;
- addr -= 0x10;
- addr &= 0xFFFF;
- idx = (addr & 0xFFF0) >> 6;
+ idx = (addr >> 6) & 0x3;
addr = addr & 0x30;
- switch (addr) {
- case 0x00: /* TICC */
+
+ if (addr == 0x0) {
+ /* TIFR (TFRR) */
+ opp->tifr = val;
+ return;
+ }
+ switch (addr & 0x30) {
+ case 0x00: /* TICC (GTCCR) */
break;
- case 0x10: /* TIBC */
+ case 0x10: /* TIBC (GTBCR) */
if ((opp->timers[idx].ticc & 0x80000000) != 0 &&
(val & 0x80000000) == 0 &&
(opp->timers[idx].tibc & 0x80000000) != 0)
opp->timers[idx].ticc &= ~0x80000000;
opp->timers[idx].tibc = val;
break;
- case 0x20: /* TIVP */
+ case 0x20: /* TIVP (GTIVPR) */
write_IRQreg_ipvp(opp, opp->irq_tim0 + idx, val);
break;
- case 0x30: /* TIDE */
+ case 0x30: /* TIDE (GTIDR) */
write_IRQreg_ide(opp, opp->irq_tim0 + idx, val);
break;
}
@@ -633,31 +630,35 @@ static void openpic_timer_write(void *opaque, hwaddr addr, uint64_t val,
static uint64_t openpic_timer_read(void *opaque, hwaddr addr, unsigned len)
{
openpic_t *opp = opaque;
- uint32_t retval;
+ uint32_t retval = -1;
int idx;
DPRINTF("%s: addr %08x\n", __func__, addr);
- retval = 0xFFFFFFFF;
- if (addr & 0xF)
- return retval;
- addr -= 0x10;
- addr &= 0xFFFF;
- idx = (addr & 0xFFF0) >> 6;
- addr = addr & 0x30;
- switch (addr) {
- case 0x00: /* TICC */
+ if (addr & 0xF) {
+ goto out;
+ }
+ idx = (addr >> 6) & 0x3;
+ if (addr == 0x0) {
+ /* TIFR (TFRR) */
+ retval = opp->tifr;
+ goto out;
+ }
+ switch (addr & 0x30) {
+ case 0x00: /* TICC (GTCCR) */
retval = opp->timers[idx].ticc;
break;
- case 0x10: /* TIBC */
+ case 0x10: /* TIBC (GTBCR) */
retval = opp->timers[idx].tibc;
break;
- case 0x20: /* TIPV */
+ case 0x20: /* TIPV (TIPV) */
retval = read_IRQreg_ipvp(opp, opp->irq_tim0 + idx);
break;
- case 0x30: /* TIDE */
+ case 0x30: /* TIDE (TIDR) */
retval = read_IRQreg_ide(opp, opp->irq_tim0 + idx);
break;
}
+
+out:
DPRINTF("%s: => %08x\n", __func__, retval);
return retval;
@@ -930,7 +931,6 @@ static void openpic_save(QEMUFile* f, void *opaque)
qemu_put_sbe32s(f, &opp->nb_cpus);
for (i = 0; i < opp->nb_cpus; i++) {
- qemu_put_be32s(f, &opp->dst[i].tfrr);
qemu_put_be32s(f, &opp->dst[i].pctp);
qemu_put_be32s(f, &opp->dst[i].pcsr);
openpic_save_IRQ_queue(f, &opp->dst[i].raised);
@@ -983,7 +983,6 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
qemu_get_sbe32s(f, &opp->nb_cpus);
for (i = 0; i < opp->nb_cpus; i++) {
- qemu_get_be32s(f, &opp->dst[i].tfrr);
qemu_get_be32s(f, &opp->dst[i].pctp);
qemu_get_be32s(f, &opp->dst[i].pcsr);
openpic_load_IRQ_queue(f, &opp->dst[i].raised);
@@ -1100,7 +1099,6 @@ static void mpic_reset (void *opaque)
/* Initialise IRQ destinations */
for (i = 0; i < MAX_CPU; i++) {
mpp->dst[i].pctp = 0x0000000F;
- mpp->dst[i].tfrr = 0x00000000;
memset(&mpp->dst[i].raised, 0, sizeof(IRQ_queue_t));
mpp->dst[i].raised.next = -1;
memset(&mpp->dst[i].servicing, 0, sizeof(IRQ_queue_t));
@@ -1115,73 +1113,6 @@ static void mpic_reset (void *opaque)
mpp->glbc = 0x00000000;
}
-static void mpic_timer_write(void *opaque, hwaddr addr, uint64_t val,
- unsigned len)
-{
- openpic_t *mpp = opaque;
- int idx, cpu;
-
- DPRINTF("%s: addr " TARGET_FMT_plx " <= %08x\n", __func__, addr, val);
- if (addr & 0xF)
- return;
- cpu = addr >> 12;
- idx = (addr >> 6) & 0x3;
- switch (addr & 0x30) {
- case 0x00: /* gtccr */
- break;
- case 0x10: /* gtbcr */
- if ((mpp->timers[idx].ticc & 0x80000000) != 0 &&
- (val & 0x80000000) == 0 &&
- (mpp->timers[idx].tibc & 0x80000000) != 0)
- mpp->timers[idx].ticc &= ~0x80000000;
- mpp->timers[idx].tibc = val;
- break;
- case 0x20: /* GTIVPR */
- write_IRQreg_ipvp(mpp, MPIC_TMR_IRQ + idx, val);
- break;
- case 0x30: /* GTIDR & TFRR */
- if ((addr & 0xF0) == 0xF0)
- mpp->dst[cpu].tfrr = val;
- else
- write_IRQreg_ide(mpp, MPIC_TMR_IRQ + idx, val);
- break;
- }
-}
-
-static uint64_t mpic_timer_read(void *opaque, hwaddr addr, unsigned len)
-{
- openpic_t *mpp = opaque;
- uint32_t retval;
- int idx, cpu;
-
- DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
- retval = 0xFFFFFFFF;
- if (addr & 0xF)
- return retval;
- cpu = addr >> 12;
- idx = (addr >> 6) & 0x3;
- switch (addr & 0x30) {
- case 0x00: /* gtccr */
- retval = mpp->timers[idx].ticc;
- break;
- case 0x10: /* gtbcr */
- retval = mpp->timers[idx].tibc;
- break;
- case 0x20: /* TIPV */
- retval = read_IRQreg_ipvp(mpp, MPIC_TMR_IRQ + idx);
- break;
- case 0x30: /* TIDR */
- if ((addr &0xF0) == 0XF0)
- retval = mpp->dst[cpu].tfrr;
- else
- retval = read_IRQreg_ide(mpp, MPIC_TMR_IRQ + idx);
- break;
- }
- DPRINTF("%s: => %08x\n", __func__, retval);
-
- return retval;
-}
-
static const MemoryRegionOps mpic_glb_ops = {
.write = openpic_gbl_write,
.read = openpic_gbl_read,
@@ -1193,8 +1124,8 @@ static const MemoryRegionOps mpic_glb_ops = {
};
static const MemoryRegionOps mpic_tmr_ops = {
- .write = mpic_timer_write,
- .read = mpic_timer_read,
+ .write = openpic_timer_write,
+ .read = openpic_timer_read,
.endianness = DEVICE_BIG_ENDIAN,
.impl = {
.min_access_size = 4,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 19/40] openpic: combine openpic and mpic reset functions
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (17 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 18/40] openpic: merge mpic and openpic timer handling Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 20/40] openpic: unify memory api subregions Alexander Graf
` (21 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The openpic and mpic reset handlers are almost identical. Combine
them and extract the differences into state variables.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 103 +++++++++++++++++++++++----------------------------------
1 files changed, 42 insertions(+), 61 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 80016a2..e94529b 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -53,7 +53,6 @@
#define MAX_IPI 4
#define MAX_IRQ (MAX_SRC + MAX_IPI + MAX_TMR)
#define VID 0x03 /* MPIC version ID */
-#define VENI 0x00000000 /* Vendor ID */
enum {
IRQ_IPVP = 0,
@@ -125,6 +124,14 @@ enum {
#define FSL_BRR1_IPMJ (0x00 << 8) /* 8 bit IP major number */
#define FSL_BRR1_IPMN 0x00 /* 8 bit IP minor number */
+#define FREP_NIRQ_SHIFT 16
+#define FREP_NCPU_SHIFT 8
+#define FREP_VID_SHIFT 0
+
+#define VID_REVISION_1_2 2
+
+#define VENI_GENERIC 0x00000000 /* Generic Vendor ID */
+
enum mpic_ide_bits {
IDR_EP = 31,
IDR_CI0 = 30,
@@ -208,6 +215,13 @@ typedef struct openpic_t {
/* Behavior control */
uint32_t flags;
+ uint32_t nb_irqs;
+ uint32_t vid;
+ uint32_t veni; /* Vendor identification register */
+ uint32_t spve_mask;
+ uint32_t tifr_reset;
+ uint32_t ipvp_reset;
+ uint32_t ide_reset;
/* Sub-regions */
MemoryRegion sub_io_mem[7];
@@ -215,8 +229,6 @@ typedef struct openpic_t {
/* Global registers */
uint32_t frep; /* Feature reporting register */
uint32_t glbc; /* Global configuration register */
- uint32_t micr; /* MPIC interrupt configuration register */
- uint32_t veni; /* Vendor identification register */
uint32_t pint; /* Processor initialization register */
uint32_t spve; /* Spurious vector register */
uint32_t tifr; /* Timer frequency reporting register */
@@ -235,7 +247,6 @@ typedef struct openpic_t {
int max_irq;
int irq_ipi0;
int irq_tim0;
- void (*reset) (void *);
} openpic_t;
static void openpic_irq_raise(openpic_t *opp, int n_CPU, IRQ_src_t *src);
@@ -412,17 +423,17 @@ static void openpic_reset (void *opaque)
opp->glbc = 0x80000000;
/* Initialise controller registers */
- opp->frep = ((OPENPIC_EXT_IRQ - 1) << 16) | ((MAX_CPU - 1) << 8) | VID;
- opp->veni = VENI;
+ opp->frep = ((opp->nb_irqs -1) << FREP_NIRQ_SHIFT) |
+ ((opp->nb_cpus -1) << FREP_NCPU_SHIFT) |
+ (opp->vid << FREP_VID_SHIFT);
+
opp->pint = 0x00000000;
- opp->spve = 0x000000FF;
- opp->tifr = 0x003F7A00;
- /* ? */
- opp->micr = 0x00000000;
+ opp->spve = -1 & opp->spve_mask;
+ opp->tifr = opp->tifr_reset;
/* Initialise IRQ sources */
for (i = 0; i < opp->max_irq; i++) {
- opp->src[i].ipvp = 0xA0000000;
- opp->src[i].ide = 0x00000000;
+ opp->src[i].ipvp = opp->ipvp_reset;
+ opp->src[i].ide = opp->ide_reset;
}
/* Initialise IRQ destinations */
for (i = 0; i < MAX_CPU; i++) {
@@ -499,9 +510,9 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
case 0x1000: /* FREP */
break;
case 0x1020: /* GLBC */
- if (val & 0x80000000 && opp->reset)
- opp->reset(opp);
- opp->glbc = val & ~0x80000000;
+ if (val & 0x80000000) {
+ openpic_reset(opp);
+ }
break;
case 0x1080: /* VENI */
break;
@@ -530,7 +541,7 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
}
break;
case 0x10E0: /* SPVE */
- opp->spve = val & 0x000000FF;
+ opp->spve = val & opp->spve_mask;
break;
default:
break;
@@ -912,9 +923,7 @@ static void openpic_save(QEMUFile* f, void *opaque)
openpic_t *opp = (openpic_t *)opaque;
unsigned int i;
- qemu_put_be32s(f, &opp->frep);
qemu_put_be32s(f, &opp->glbc);
- qemu_put_be32s(f, &opp->micr);
qemu_put_be32s(f, &opp->veni);
qemu_put_be32s(f, &opp->pint);
qemu_put_be32s(f, &opp->spve);
@@ -964,9 +973,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
if (version_id != 1)
return -EINVAL;
- qemu_get_be32s(f, &opp->frep);
qemu_get_be32s(f, &opp->glbc);
- qemu_get_be32s(f, &opp->micr);
qemu_get_be32s(f, &opp->veni);
qemu_get_be32s(f, &opp->pint);
qemu_get_be32s(f, &opp->spve);
@@ -1043,6 +1050,11 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
// isu_base &= 0xFFFC0000;
opp->nb_cpus = nb_cpus;
+ opp->nb_irqs = OPENPIC_EXT_IRQ;
+ opp->vid = VID;
+ opp->veni = VENI_GENERIC;
+ opp->spve_mask = 0xFF;
+ opp->tifr_reset = 0x003F7A00;
opp->max_irq = OPENPIC_MAX_IRQ;
opp->irq_ipi0 = OPENPIC_IRQ_IPI0;
opp->irq_tim0 = OPENPIC_IRQ_TIM0;
@@ -1068,51 +1080,12 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
openpic_save, openpic_load, opp);
qemu_register_reset(openpic_reset, opp);
- opp->reset = openpic_reset;
-
if (pmem)
*pmem = &opp->mem;
return qemu_allocate_irqs(openpic_set_irq, opp, opp->max_irq);
}
-static void mpic_reset (void *opaque)
-{
- openpic_t *mpp = (openpic_t *)opaque;
- int i;
-
- mpp->glbc = 0x80000000;
- /* Initialise controller registers */
- mpp->frep = 0x004f0002 | ((mpp->nb_cpus - 1) << 8);
- mpp->veni = VENI;
- mpp->pint = 0x00000000;
- mpp->spve = 0x0000FFFF;
- /* Initialise IRQ sources */
- for (i = 0; i < mpp->max_irq; i++) {
- mpp->src[i].ipvp = 0x80800000;
- mpp->src[i].ide = 0x00000001;
- }
- /* Set IDE for IPIs to 0 so we don't get spurious interrupts */
- for (i = mpp->irq_ipi0; i < (mpp->irq_ipi0 + MAX_IPI); i++) {
- mpp->src[i].ide = 0;
- }
- /* Initialise IRQ destinations */
- for (i = 0; i < MAX_CPU; i++) {
- mpp->dst[i].pctp = 0x0000000F;
- memset(&mpp->dst[i].raised, 0, sizeof(IRQ_queue_t));
- mpp->dst[i].raised.next = -1;
- memset(&mpp->dst[i].servicing, 0, sizeof(IRQ_queue_t));
- mpp->dst[i].servicing.next = -1;
- }
- /* Initialise timers */
- for (i = 0; i < MAX_TMR; i++) {
- mpp->timers[i].ticc = 0x00000000;
- mpp->timers[i].tibc = 0x80000000;
- }
- /* Go out of RESET state */
- mpp->glbc = 0x00000000;
-}
-
static const MemoryRegionOps mpic_glb_ops = {
.write = openpic_gbl_write,
.read = openpic_gbl_read,
@@ -1185,6 +1158,15 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
}
mpp->nb_cpus = nb_cpus;
+ /* 12 external sources, 48 internal sources , 4 timer sources,
+ 4 IPI sources, 4 messaging sources, and 8 Shared MSI sources */
+ mpp->nb_irqs = 80;
+ mpp->vid = VID_REVISION_1_2;
+ mpp->veni = VENI_GENERIC;
+ mpp->spve_mask = 0xFFFF;
+ mpp->tifr_reset = 0x00000000;
+ mpp->ipvp_reset = 0x80000000;
+ mpp->ide_reset = 0x00000001;
mpp->max_irq = MPIC_MAX_IRQ;
mpp->irq_ipi0 = MPIC_IPI_IRQ;
mpp->irq_tim0 = MPIC_TMR_IRQ;
@@ -1195,10 +1177,9 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
/* Enable critical interrupt support */
mpp->flags |= OPENPIC_FLAG_IDE_CRIT;
- mpp->reset = mpic_reset;
register_savevm(NULL, "mpic", 0, 2, openpic_save, openpic_load, mpp);
- qemu_register_reset(mpic_reset, mpp);
+ qemu_register_reset(openpic_reset, mpp);
return qemu_allocate_irqs(openpic_set_irq, mpp, mpp->max_irq);
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 20/40] openpic: unify memory api subregions
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (18 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 19/40] openpic: combine openpic and mpic reset functions Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 21/40] openpic: remove unused type variable Alexander Graf
` (20 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The only difference between the "openpic" and "mpic" memory api subregion
descriptors is the endianness. Unify them as openpic accessors with explicit
endianness markers in their names.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 108 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 56 insertions(+), 52 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index e94529b..623c807 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -867,7 +867,7 @@ static uint64_t openpic_cpu_read(void *opaque, hwaddr addr, unsigned len)
return openpic_cpu_read_internal(opaque, addr, (addr & 0x1f000) >> 12);
}
-static const MemoryRegionOps openpic_glb_ops = {
+static const MemoryRegionOps openpic_glb_ops_le = {
.write = openpic_gbl_write,
.read = openpic_gbl_read,
.endianness = DEVICE_LITTLE_ENDIAN,
@@ -877,7 +877,17 @@ static const MemoryRegionOps openpic_glb_ops = {
},
};
-static const MemoryRegionOps openpic_tmr_ops = {
+static const MemoryRegionOps openpic_glb_ops_be = {
+ .write = openpic_gbl_write,
+ .read = openpic_gbl_read,
+ .endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
+
+static const MemoryRegionOps openpic_tmr_ops_le = {
.write = openpic_timer_write,
.read = openpic_timer_read,
.endianness = DEVICE_LITTLE_ENDIAN,
@@ -887,7 +897,17 @@ static const MemoryRegionOps openpic_tmr_ops = {
},
};
-static const MemoryRegionOps openpic_cpu_ops = {
+static const MemoryRegionOps openpic_tmr_ops_be = {
+ .write = openpic_timer_write,
+ .read = openpic_timer_read,
+ .endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
+
+static const MemoryRegionOps openpic_cpu_ops_le = {
.write = openpic_cpu_write,
.read = openpic_cpu_read,
.endianness = DEVICE_LITTLE_ENDIAN,
@@ -897,7 +917,17 @@ static const MemoryRegionOps openpic_cpu_ops = {
},
};
-static const MemoryRegionOps openpic_src_ops = {
+static const MemoryRegionOps openpic_cpu_ops_be = {
+ .write = openpic_cpu_write,
+ .read = openpic_cpu_read,
+ .endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
+
+static const MemoryRegionOps openpic_src_ops_le = {
.write = openpic_src_write,
.read = openpic_src_read,
.endianness = DEVICE_LITTLE_ENDIAN,
@@ -907,6 +937,16 @@ static const MemoryRegionOps openpic_src_ops = {
},
};
+static const MemoryRegionOps openpic_src_ops_be = {
+ .write = openpic_src_write,
+ .read = openpic_src_read,
+ .endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
+
static void openpic_save_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
{
unsigned int i;
@@ -1026,10 +1066,14 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
hwaddr start_addr;
ram_addr_t size;
} const list[] = {
- {"glb", &openpic_glb_ops, OPENPIC_GLB_REG_START, OPENPIC_GLB_REG_SIZE},
- {"tmr", &openpic_tmr_ops, OPENPIC_TMR_REG_START, OPENPIC_TMR_REG_SIZE},
- {"src", &openpic_src_ops, OPENPIC_SRC_REG_START, OPENPIC_SRC_REG_SIZE},
- {"cpu", &openpic_cpu_ops, OPENPIC_CPU_REG_START, OPENPIC_CPU_REG_SIZE},
+ {"glb", &openpic_glb_ops_le, OPENPIC_GLB_REG_START,
+ OPENPIC_GLB_REG_SIZE},
+ {"tmr", &openpic_tmr_ops_le, OPENPIC_TMR_REG_START,
+ OPENPIC_TMR_REG_SIZE},
+ {"src", &openpic_src_ops_le, OPENPIC_SRC_REG_START,
+ OPENPIC_SRC_REG_SIZE},
+ {"cpu", &openpic_cpu_ops_le, OPENPIC_CPU_REG_START,
+ OPENPIC_CPU_REG_SIZE},
};
/* XXX: for now, only one CPU is supported */
@@ -1086,46 +1130,6 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
return qemu_allocate_irqs(openpic_set_irq, opp, opp->max_irq);
}
-static const MemoryRegionOps mpic_glb_ops = {
- .write = openpic_gbl_write,
- .read = openpic_gbl_read,
- .endianness = DEVICE_BIG_ENDIAN,
- .impl = {
- .min_access_size = 4,
- .max_access_size = 4,
- },
-};
-
-static const MemoryRegionOps mpic_tmr_ops = {
- .write = openpic_timer_write,
- .read = openpic_timer_read,
- .endianness = DEVICE_BIG_ENDIAN,
- .impl = {
- .min_access_size = 4,
- .max_access_size = 4,
- },
-};
-
-static const MemoryRegionOps mpic_cpu_ops = {
- .write = openpic_cpu_write,
- .read = openpic_cpu_read,
- .endianness = DEVICE_BIG_ENDIAN,
- .impl = {
- .min_access_size = 4,
- .max_access_size = 4,
- },
-};
-
-static const MemoryRegionOps mpic_irq_ops = {
- .write = openpic_src_write,
- .read = openpic_src_read,
- .endianness = DEVICE_BIG_ENDIAN,
- .impl = {
- .min_access_size = 4,
- .max_access_size = 4,
- },
-};
-
qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
int nb_cpus, qemu_irq **irqs, qemu_irq irq_out)
{
@@ -1137,10 +1141,10 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
hwaddr start_addr;
ram_addr_t size;
} const list[] = {
- {"glb", &mpic_glb_ops, MPIC_GLB_REG_START, MPIC_GLB_REG_SIZE},
- {"tmr", &mpic_tmr_ops, MPIC_TMR_REG_START, MPIC_TMR_REG_SIZE},
- {"src", &mpic_irq_ops, MPIC_SRC_REG_START, MPIC_SRC_REG_SIZE},
- {"cpu", &mpic_cpu_ops, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
+ {"glb", &openpic_glb_ops_be, MPIC_GLB_REG_START, MPIC_GLB_REG_SIZE},
+ {"tmr", &openpic_tmr_ops_be, MPIC_TMR_REG_START, MPIC_TMR_REG_SIZE},
+ {"src", &openpic_src_ops_be, MPIC_SRC_REG_START, MPIC_SRC_REG_SIZE},
+ {"cpu", &openpic_cpu_ops_be, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
};
mpp = g_malloc0(sizeof(openpic_t));
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 21/40] openpic: remove unused type variable
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (19 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 20/40] openpic: unify memory api subregions Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 22/40] openpic: convert simple reg operations to builtin bitops Alexander Graf
` (19 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The openpic source irqs are carrying around a type indicator that
is never accessed by anything. Remove it.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 27 ++-------------------------
1 files changed, 2 insertions(+), 25 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 623c807..91e87b7 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -168,13 +168,6 @@ static uint32_t openpic_cpu_read_internal(void *opaque, hwaddr addr,
static void openpic_cpu_write_internal(void *opaque, hwaddr addr,
uint32_t val, int idx);
-enum {
- IRQ_EXTERNAL = 0x01,
- IRQ_INTERNAL = 0x02,
- IRQ_TIMER = 0x04,
- IRQ_SPECIAL = 0x08,
-};
-
typedef struct IRQ_queue_t {
uint32_t queue[BF_WIDTH(MAX_IRQ)];
int next;
@@ -184,7 +177,6 @@ typedef struct IRQ_queue_t {
typedef struct IRQ_src_t {
uint32_t ipvp; /* IRQ vector/priority register */
uint32_t ide; /* IRQ destination register */
- int type;
int last_cpu;
int pending; /* TRUE if IRQ is pending */
} IRQ_src_t;
@@ -972,7 +964,6 @@ static void openpic_save(QEMUFile* f, void *opaque)
for (i = 0; i < opp->max_irq; i++) {
qemu_put_be32s(f, &opp->src[i].ipvp);
qemu_put_be32s(f, &opp->src[i].ide);
- qemu_put_sbe32s(f, &opp->src[i].type);
qemu_put_sbe32s(f, &opp->src[i].last_cpu);
qemu_put_sbe32s(f, &opp->src[i].pending);
}
@@ -1022,7 +1013,6 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
for (i = 0; i < opp->max_irq; i++) {
qemu_get_be32s(f, &opp->src[i].ipvp);
qemu_get_be32s(f, &opp->src[i].ide);
- qemu_get_sbe32s(f, &opp->src[i].type);
qemu_get_sbe32s(f, &opp->src[i].last_cpu);
qemu_get_sbe32s(f, &opp->src[i].pending);
}
@@ -1059,7 +1049,7 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
qemu_irq **irqs, qemu_irq irq_out)
{
openpic_t *opp;
- int i, m;
+ int i;
struct {
const char *name;
MemoryRegionOps const *ops;
@@ -1102,20 +1092,7 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
opp->max_irq = OPENPIC_MAX_IRQ;
opp->irq_ipi0 = OPENPIC_IRQ_IPI0;
opp->irq_tim0 = OPENPIC_IRQ_TIM0;
- /* Set IRQ types */
- for (i = 0; i < OPENPIC_EXT_IRQ; i++) {
- opp->src[i].type = IRQ_EXTERNAL;
- }
- for (; i < OPENPIC_IRQ_TIM0; i++) {
- opp->src[i].type = IRQ_SPECIAL;
- }
- m = OPENPIC_IRQ_IPI0;
- for (; i < m; i++) {
- opp->src[i].type = IRQ_TIMER;
- }
- for (; i < OPENPIC_MAX_IRQ; i++) {
- opp->src[i].type = IRQ_INTERNAL;
- }
+
for (i = 0; i < nb_cpus; i++)
opp->dst[i].irqs = irqs[i];
opp->irq_out = irq_out;
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 22/40] openpic: convert simple reg operations to builtin bitops
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (20 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 21/40] openpic: remove unused type variable Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 23/40] openpic: rename openpic_t to OpenPICState Alexander Graf
` (18 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The openpic code has its own bitmap code to access bits inside of a
bitmap. However, that is overkill when we simply want to check for a
bit inside of a uint32_t.
So instead, let's use normal bit masks and C builtin shifts and ands.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 67 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 36 insertions(+), 31 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 91e87b7..d2038d8 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -132,13 +132,12 @@ enum {
#define VENI_GENERIC 0x00000000 /* Generic Vendor ID */
-enum mpic_ide_bits {
- IDR_EP = 31,
- IDR_CI0 = 30,
- IDR_CI1 = 29,
- IDR_P1 = 1,
- IDR_P0 = 0,
-};
+#define IDR_EP_SHIFT 31
+#define IDR_EP_MASK (1 << IDR_EP_SHIFT)
+#define IDR_CI0_SHIFT 30
+#define IDR_CI1_SHIFT 29
+#define IDR_P1_SHIFT 1
+#define IDR_P0_SHIFT 0
#define BF_WIDTH(_bits_) \
(((_bits_) + (sizeof(uint32_t) * 8) - 1) / (sizeof(uint32_t) * 8))
@@ -181,13 +180,17 @@ typedef struct IRQ_src_t {
int pending; /* TRUE if IRQ is pending */
} IRQ_src_t;
-enum IPVP_bits {
- IPVP_MASK = 31,
- IPVP_ACTIVITY = 30,
- IPVP_MODE = 29,
- IPVP_POLARITY = 23,
- IPVP_SENSE = 22,
-};
+#define IPVP_MASK_SHIFT 31
+#define IPVP_MASK_MASK (1 << IPVP_MASK_SHIFT)
+#define IPVP_ACTIVITY_SHIFT 30
+#define IPVP_ACTIVITY_MASK (1 << IPVP_ACTIVITY_SHIFT)
+#define IPVP_MODE_SHIFT 29
+#define IPVP_MODE_MASK (1 << IPVP_MODE_SHIFT)
+#define IPVP_POLARITY_SHIFT 23
+#define IPVP_POLARITY_MASK (1 << IPVP_POLARITY_SHIFT)
+#define IPVP_SENSE_SHIFT 22
+#define IPVP_SENSE_MASK (1 << IPVP_SENSE_SHIFT)
+
#define IPVP_PRIORITY_MASK (0x1F << 16)
#define IPVP_PRIORITY(_ipvpr_) ((int)(((_ipvpr_) & IPVP_PRIORITY_MASK) >> 16))
#define IPVP_VECTOR_MASK ((1 << VECTOR_BITS) - 1)
@@ -310,7 +313,7 @@ static void IRQ_local_pipe (openpic_t *opp, int n_CPU, int n_IRQ)
__func__, n_IRQ, n_CPU);
return;
}
- set_bit(&src->ipvp, IPVP_ACTIVITY);
+ src->ipvp |= IPVP_ACTIVITY_MASK;
IRQ_setbit(&dst->raised, n_IRQ);
if (priority < dst->raised.priority) {
/* An higher priority IRQ is already raised */
@@ -343,7 +346,7 @@ static void openpic_update_irq(openpic_t *opp, int n_IRQ)
DPRINTF("%s: IRQ %d is not pending\n", __func__, n_IRQ);
return;
}
- if (test_bit(&src->ipvp, IPVP_MASK)) {
+ if (src->ipvp & IPVP_MASK_MASK) {
/* Interrupt source is disabled */
DPRINTF("%s: IRQ %d is disabled\n", __func__, n_IRQ);
return;
@@ -353,7 +356,7 @@ static void openpic_update_irq(openpic_t *opp, int n_IRQ)
DPRINTF("%s: IRQ %d has 0 priority\n", __func__, n_IRQ);
return;
}
- if (test_bit(&src->ipvp, IPVP_ACTIVITY)) {
+ if (src->ipvp & IPVP_ACTIVITY_MASK) {
/* IRQ already active */
DPRINTF("%s: IRQ %d is already active\n", __func__, n_IRQ);
return;
@@ -367,18 +370,19 @@ static void openpic_update_irq(openpic_t *opp, int n_IRQ)
if (src->ide == (1 << src->last_cpu)) {
/* Only one CPU is allowed to receive this IRQ */
IRQ_local_pipe(opp, src->last_cpu, n_IRQ);
- } else if (!test_bit(&src->ipvp, IPVP_MODE)) {
+ } else if (!(src->ipvp & IPVP_MODE_MASK)) {
/* Directed delivery mode */
for (i = 0; i < opp->nb_cpus; i++) {
- if (test_bit(&src->ide, i))
+ if (src->ide & (1 << i)) {
IRQ_local_pipe(opp, i, n_IRQ);
+ }
}
} else {
/* Distributed delivery mode */
for (i = src->last_cpu + 1; i != src->last_cpu; i++) {
if (i == opp->nb_cpus)
i = 0;
- if (test_bit(&src->ide, i)) {
+ if (src->ide & (1 << i)) {
IRQ_local_pipe(opp, i, n_IRQ);
src->last_cpu = i;
break;
@@ -395,11 +399,12 @@ static void openpic_set_irq(void *opaque, int n_IRQ, int level)
src = &opp->src[n_IRQ];
DPRINTF("openpic: set irq %d = %d ipvp=%08x\n",
n_IRQ, level, src->ipvp);
- if (test_bit(&src->ipvp, IPVP_SENSE)) {
+ if (src->ipvp & IPVP_SENSE_MASK) {
/* level-sensitive irq */
src->pending = level;
- if (!level)
- reset_bit(&src->ipvp, IPVP_ACTIVITY);
+ if (!level) {
+ src->ipvp &= ~IPVP_ACTIVITY_MASK;
+ }
} else {
/* edge-sensitive irq */
if (level)
@@ -810,13 +815,13 @@ static uint32_t openpic_cpu_read_internal(void *opaque, hwaddr addr,
retval = IPVP_VECTOR(opp->spve);
} else {
src = &opp->src[n_IRQ];
- if (!test_bit(&src->ipvp, IPVP_ACTIVITY) ||
+ if (!(src->ipvp & IPVP_ACTIVITY_MASK) ||
!(IPVP_PRIORITY(src->ipvp) > dst->pctp)) {
/* - Spurious level-sensitive IRQ
* - Priorities has been changed
* and the pending IRQ isn't allowed anymore
*/
- reset_bit(&src->ipvp, IPVP_ACTIVITY);
+ src->ipvp &= ~IPVP_ACTIVITY_MASK;
retval = IPVP_VECTOR(opp->spve);
} else {
/* IRQ enter servicing state */
@@ -825,20 +830,20 @@ static uint32_t openpic_cpu_read_internal(void *opaque, hwaddr addr,
}
IRQ_resetbit(&dst->raised, n_IRQ);
dst->raised.next = -1;
- if (!test_bit(&src->ipvp, IPVP_SENSE)) {
+ if (!(src->ipvp & IPVP_SENSE_MASK)) {
/* edge-sensitive IRQ */
- reset_bit(&src->ipvp, IPVP_ACTIVITY);
+ src->ipvp &= ~IPVP_ACTIVITY_MASK;
src->pending = 0;
}
if ((n_IRQ >= opp->irq_ipi0) && (n_IRQ < (opp->irq_ipi0 + MAX_IPI))) {
src->ide &= ~(1 << idx);
- if (src->ide && !test_bit(&src->ipvp, IPVP_SENSE)) {
+ if (src->ide && !(src->ipvp & IPVP_SENSE_MASK)) {
/* trigger on CPUs that didn't know about it yet */
openpic_set_irq(opp, n_IRQ, 1);
openpic_set_irq(opp, n_IRQ, 0);
/* if all CPUs knew about it, set active bit again */
- set_bit(&src->ipvp, IPVP_ACTIVITY);
+ src->ipvp |= IPVP_ACTIVITY_MASK;
}
}
}
@@ -1036,9 +1041,9 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
static void openpic_irq_raise(openpic_t *opp, int n_CPU, IRQ_src_t *src)
{
- int n_ci = IDR_CI0 - n_CPU;
+ int n_ci = IDR_CI0_SHIFT - n_CPU;
- if ((opp->flags & OPENPIC_FLAG_IDE_CRIT) && test_bit(&src->ide, n_ci)) {
+ if ((opp->flags & OPENPIC_FLAG_IDE_CRIT) && (src->ide & (1 << n_ci))) {
qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_CINT]);
} else {
qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_INT]);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 23/40] openpic: rename openpic_t to OpenPICState
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (21 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 22/40] openpic: convert simple reg operations to builtin bitops Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 24/40] openpic: remove irq_out Alexander Graf
` (17 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
Rename the openpic_t struct to OpenPICState, so it adheres better to
the current coding style rules.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 68 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 34 insertions(+), 34 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index d2038d8..d5c2705 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -204,7 +204,7 @@ typedef struct IRQ_dst_t {
qemu_irq *irqs;
} IRQ_dst_t;
-typedef struct openpic_t {
+typedef struct OpenPICState {
PCIDevice pci_dev;
MemoryRegion mem;
@@ -242,9 +242,9 @@ typedef struct openpic_t {
int max_irq;
int irq_ipi0;
int irq_tim0;
-} openpic_t;
+} OpenPICState;
-static void openpic_irq_raise(openpic_t *opp, int n_CPU, IRQ_src_t *src);
+static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
static inline void IRQ_setbit (IRQ_queue_t *q, int n_IRQ)
{
@@ -261,7 +261,7 @@ static inline int IRQ_testbit (IRQ_queue_t *q, int n_IRQ)
return test_bit(q->queue, n_IRQ);
}
-static void IRQ_check (openpic_t *opp, IRQ_queue_t *q)
+static void IRQ_check(OpenPICState *opp, IRQ_queue_t *q)
{
int next, i;
int priority;
@@ -282,7 +282,7 @@ static void IRQ_check (openpic_t *opp, IRQ_queue_t *q)
q->priority = priority;
}
-static int IRQ_get_next (openpic_t *opp, IRQ_queue_t *q)
+static int IRQ_get_next(OpenPICState *opp, IRQ_queue_t *q)
{
if (q->next == -1) {
/* XXX: optimize */
@@ -292,7 +292,7 @@ static int IRQ_get_next (openpic_t *opp, IRQ_queue_t *q)
return q->next;
}
-static void IRQ_local_pipe (openpic_t *opp, int n_CPU, int n_IRQ)
+static void IRQ_local_pipe(OpenPICState *opp, int n_CPU, int n_IRQ)
{
IRQ_dst_t *dst;
IRQ_src_t *src;
@@ -334,7 +334,7 @@ static void IRQ_local_pipe (openpic_t *opp, int n_CPU, int n_IRQ)
}
/* update pic state because registers for n_IRQ have changed value */
-static void openpic_update_irq(openpic_t *opp, int n_IRQ)
+static void openpic_update_irq(OpenPICState *opp, int n_IRQ)
{
IRQ_src_t *src;
int i;
@@ -393,7 +393,7 @@ static void openpic_update_irq(openpic_t *opp, int n_IRQ)
static void openpic_set_irq(void *opaque, int n_IRQ, int level)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
IRQ_src_t *src;
src = &opp->src[n_IRQ];
@@ -415,7 +415,7 @@ static void openpic_set_irq(void *opaque, int n_IRQ, int level)
static void openpic_reset (void *opaque)
{
- openpic_t *opp = (openpic_t *)opaque;
+ OpenPICState *opp = (OpenPICState *)opaque;
int i;
opp->glbc = 0x80000000;
@@ -450,17 +450,17 @@ static void openpic_reset (void *opaque)
opp->glbc = 0x00000000;
}
-static inline uint32_t read_IRQreg_ide(openpic_t *opp, int n_IRQ)
+static inline uint32_t read_IRQreg_ide(OpenPICState *opp, int n_IRQ)
{
return opp->src[n_IRQ].ide;
}
-static inline uint32_t read_IRQreg_ipvp(openpic_t *opp, int n_IRQ)
+static inline uint32_t read_IRQreg_ipvp(OpenPICState *opp, int n_IRQ)
{
return opp->src[n_IRQ].ipvp;
}
-static inline void write_IRQreg_ide(openpic_t *opp, int n_IRQ, uint32_t val)
+static inline void write_IRQreg_ide(OpenPICState *opp, int n_IRQ, uint32_t val)
{
uint32_t tmp;
@@ -470,7 +470,7 @@ static inline void write_IRQreg_ide(openpic_t *opp, int n_IRQ, uint32_t val)
DPRINTF("Set IDE %d to 0x%08x\n", n_IRQ, opp->src[n_IRQ].ide);
}
-static inline void write_IRQreg_ipvp(openpic_t *opp, int n_IRQ, uint32_t val)
+static inline void write_IRQreg_ipvp(OpenPICState *opp, int n_IRQ, uint32_t val)
{
/* NOTE: not fully accurate for special IRQs, but simple and sufficient */
/* ACTIVITY bit is read-only */
@@ -484,7 +484,7 @@ static inline void write_IRQreg_ipvp(openpic_t *opp, int n_IRQ, uint32_t val)
static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
unsigned len)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
IRQ_dst_t *dst;
int idx;
@@ -547,7 +547,7 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
static uint64_t openpic_gbl_read(void *opaque, hwaddr addr, unsigned len)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
uint32_t retval;
DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
@@ -599,10 +599,10 @@ static uint64_t openpic_gbl_read(void *opaque, hwaddr addr, unsigned len)
return retval;
}
-static void openpic_timer_write(void *opaque, hwaddr addr, uint64_t val,
+static void openpic_tmr_write(void *opaque, hwaddr addr, uint64_t val,
unsigned len)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
int idx;
DPRINTF("%s: addr %08x <= %08x\n", __func__, addr, val);
@@ -635,9 +635,9 @@ static void openpic_timer_write(void *opaque, hwaddr addr, uint64_t val,
}
}
-static uint64_t openpic_timer_read(void *opaque, hwaddr addr, unsigned len)
+static uint64_t openpic_tmr_read(void *opaque, hwaddr addr, unsigned len)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
uint32_t retval = -1;
int idx;
@@ -675,7 +675,7 @@ out:
static void openpic_src_write(void *opaque, hwaddr addr, uint64_t val,
unsigned len)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
int idx;
DPRINTF("%s: addr %08x <= %08x\n", __func__, addr, val);
@@ -694,7 +694,7 @@ static void openpic_src_write(void *opaque, hwaddr addr, uint64_t val,
static uint64_t openpic_src_read(void *opaque, uint64_t addr, unsigned len)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
uint32_t retval;
int idx;
@@ -719,7 +719,7 @@ static uint64_t openpic_src_read(void *opaque, uint64_t addr, unsigned len)
static void openpic_cpu_write_internal(void *opaque, hwaddr addr,
uint32_t val, int idx)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
IRQ_src_t *src;
IRQ_dst_t *dst;
int s_IRQ, n_IRQ;
@@ -783,7 +783,7 @@ static void openpic_cpu_write(void *opaque, hwaddr addr, uint64_t val,
static uint32_t openpic_cpu_read_internal(void *opaque, hwaddr addr,
int idx)
{
- openpic_t *opp = opaque;
+ OpenPICState *opp = opaque;
IRQ_src_t *src;
IRQ_dst_t *dst;
uint32_t retval;
@@ -885,8 +885,8 @@ static const MemoryRegionOps openpic_glb_ops_be = {
};
static const MemoryRegionOps openpic_tmr_ops_le = {
- .write = openpic_timer_write,
- .read = openpic_timer_read,
+ .write = openpic_tmr_write,
+ .read = openpic_tmr_read,
.endianness = DEVICE_LITTLE_ENDIAN,
.impl = {
.min_access_size = 4,
@@ -895,8 +895,8 @@ static const MemoryRegionOps openpic_tmr_ops_le = {
};
static const MemoryRegionOps openpic_tmr_ops_be = {
- .write = openpic_timer_write,
- .read = openpic_timer_read,
+ .write = openpic_tmr_write,
+ .read = openpic_tmr_read,
.endianness = DEVICE_BIG_ENDIAN,
.impl = {
.min_access_size = 4,
@@ -957,7 +957,7 @@ static void openpic_save_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
static void openpic_save(QEMUFile* f, void *opaque)
{
- openpic_t *opp = (openpic_t *)opaque;
+ OpenPICState *opp = (OpenPICState *)opaque;
unsigned int i;
qemu_put_be32s(f, &opp->glbc);
@@ -1003,7 +1003,7 @@ static void openpic_load_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
static int openpic_load(QEMUFile* f, void *opaque, int version_id)
{
- openpic_t *opp = (openpic_t *)opaque;
+ OpenPICState *opp = (OpenPICState *)opaque;
unsigned int i;
if (version_id != 1)
@@ -1039,7 +1039,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
return pci_device_load(&opp->pci_dev, f);
}
-static void openpic_irq_raise(openpic_t *opp, int n_CPU, IRQ_src_t *src)
+static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
{
int n_ci = IDR_CI0_SHIFT - n_CPU;
@@ -1053,7 +1053,7 @@ static void openpic_irq_raise(openpic_t *opp, int n_CPU, IRQ_src_t *src)
qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
qemu_irq **irqs, qemu_irq irq_out)
{
- openpic_t *opp;
+ OpenPICState *opp;
int i;
struct {
const char *name;
@@ -1074,7 +1074,7 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
/* XXX: for now, only one CPU is supported */
if (nb_cpus != 1)
return NULL;
- opp = g_malloc0(sizeof(openpic_t));
+ opp = g_malloc0(sizeof(OpenPICState));
memory_region_init(&opp->mem, "openpic", 0x40000);
@@ -1115,7 +1115,7 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
int nb_cpus, qemu_irq **irqs, qemu_irq irq_out)
{
- openpic_t *mpp;
+ OpenPICState *mpp;
int i;
struct {
const char *name;
@@ -1129,7 +1129,7 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
{"cpu", &openpic_cpu_ops_be, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
};
- mpp = g_malloc0(sizeof(openpic_t));
+ mpp = g_malloc0(sizeof(OpenPICState));
memory_region_init(&mpp->mem, "mpic", 0x40000);
memory_region_add_subregion(address_space, base, &mpp->mem);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 24/40] openpic: remove irq_out
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (22 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 23/40] openpic: rename openpic_t to OpenPICState Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 25/40] openpic: convert to qdev Alexander Graf
` (16 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The current openpic emulation contains half-ready code for bypass mode.
Remove it, so that when someone wants to finish it they can start from a
clean state.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 8 ++------
hw/openpic.h | 4 ++--
hw/ppc/e500.c | 2 +-
hw/ppc_newworld.c | 2 +-
4 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index d5c2705..5116b3e 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -237,8 +237,6 @@ typedef struct OpenPICState {
uint32_t ticc; /* Global timer current count register */
uint32_t tibc; /* Global timer base count register */
} timers[MAX_TMR];
- /* IRQ out is used when in bypass mode (not implemented) */
- qemu_irq irq_out;
int max_irq;
int irq_ipi0;
int irq_tim0;
@@ -1051,7 +1049,7 @@ static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
}
qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
- qemu_irq **irqs, qemu_irq irq_out)
+ qemu_irq **irqs)
{
OpenPICState *opp;
int i;
@@ -1100,7 +1098,6 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
for (i = 0; i < nb_cpus; i++)
opp->dst[i].irqs = irqs[i];
- opp->irq_out = irq_out;
register_savevm(&opp->pci_dev.qdev, "openpic", 0, 2,
openpic_save, openpic_load, opp);
@@ -1113,7 +1110,7 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
}
qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
- int nb_cpus, qemu_irq **irqs, qemu_irq irq_out)
+ int nb_cpus, qemu_irq **irqs)
{
OpenPICState *mpp;
int i;
@@ -1159,7 +1156,6 @@ qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
for (i = 0; i < nb_cpus; i++)
mpp->dst[i].irqs = irqs[i];
- mpp->irq_out = irq_out;
/* Enable critical interrupt support */
mpp->flags |= OPENPIC_FLAG_IDE_CRIT;
diff --git a/hw/openpic.h b/hw/openpic.h
index 1232d10..8a68f20 100644
--- a/hw/openpic.h
+++ b/hw/openpic.h
@@ -15,7 +15,7 @@ enum {
#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
- qemu_irq **irqs, qemu_irq irq_out);
+ qemu_irq **irqs);
qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
- int nb_cpus, qemu_irq **irqs, qemu_irq irq_out);
+ int nb_cpus, qemu_irq **irqs);
#endif /* __OPENPIC_H__ */
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index f3e97d8..3f6d58c 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -493,7 +493,7 @@ void ppce500_init(PPCE500Params *params)
/* MPIC */
mpic = mpic_init(ccsr_addr_space, MPC8544_MPIC_REGS_OFFSET,
- smp_cpus, irqs, NULL);
+ smp_cpus, irqs);
if (!mpic) {
cpu_abort(env, "MPIC failed to initialize\n");
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index 664747e..b9c2cd8 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -320,7 +320,7 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
exit(1);
}
}
- pic = openpic_init(&pic_mem, smp_cpus, openpic_irqs, NULL);
+ pic = openpic_init(&pic_mem, smp_cpus, openpic_irqs);
if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) {
/* 970 gets a U3 bus */
pci_bus = pci_pmac_u3_init(pic, get_system_memory(), get_system_io());
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 25/40] openpic: convert to qdev
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (23 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 24/40] openpic: remove irq_out Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 20:32 ` Blue Swirl
2012-12-14 12:13 ` [Qemu-devel] [PATCH 26/40] openpic: make brr1 model specific Alexander Graf
` (15 subsequent siblings)
40 siblings, 1 reply; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
This patch converts the OpenPIC device to qdev. Along the way it
renames the "openpic" target to "raven" and the "mpic" target to
"fsl_mpic_20", to better reflect the actual models they implement.
This way we have a generic OpenPIC device now that can handle
different flavors of the OpenPIC specification.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 278 ++++++++++++++++++++++++++---------------------------
hw/openpic.h | 8 +-
hw/ppc/e500.c | 24 ++++-
hw/ppc_newworld.c | 25 +++++-
4 files changed, 180 insertions(+), 155 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 5116b3e..591b291 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -37,6 +37,7 @@
#include "ppc_mac.h"
#include "pci.h"
#include "openpic.h"
+#include "sysbus.h"
//#define DEBUG_OPENPIC
@@ -54,30 +55,10 @@
#define MAX_IRQ (MAX_SRC + MAX_IPI + MAX_TMR)
#define VID 0x03 /* MPIC version ID */
-enum {
- IRQ_IPVP = 0,
- IRQ_IDE,
-};
-
-/* OpenPIC */
-#define OPENPIC_MAX_CPU 2
-#define OPENPIC_MAX_IRQ 64
-#define OPENPIC_EXT_IRQ 48
-#define OPENPIC_MAX_TMR MAX_TMR
-#define OPENPIC_MAX_IPI MAX_IPI
-
-/* Interrupt definitions */
-#define OPENPIC_IRQ_FE (OPENPIC_EXT_IRQ) /* Internal functional IRQ */
-#define OPENPIC_IRQ_ERR (OPENPIC_EXT_IRQ + 1) /* Error IRQ */
-#define OPENPIC_IRQ_TIM0 (OPENPIC_EXT_IRQ + 2) /* First timer IRQ */
-#if OPENPIC_MAX_IPI > 0
-#define OPENPIC_IRQ_IPI0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First IPI IRQ */
-#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_IPI0 + (OPENPIC_MAX_CPU * OPENPIC_MAX_IPI)) /* First doorbell IRQ */
-#else
-#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First doorbell IRQ */
-#define OPENPIC_IRQ_MBX0 (OPENPIC_IRQ_DBL0 + OPENPIC_MAX_DBL) /* First mailbox IRQ */
-#endif
+/* OpenPIC capability flags */
+#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
+/* OpenPIC address map */
#define OPENPIC_GLB_REG_START 0x0
#define OPENPIC_GLB_REG_SIZE 0x10F0
#define OPENPIC_TMR_REG_START 0x10F0
@@ -87,31 +68,37 @@ enum {
#define OPENPIC_CPU_REG_START 0x20000
#define OPENPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
-/* MPIC */
-#define MPIC_MAX_CPU 1
-#define MPIC_MAX_EXT 12
-#define MPIC_MAX_INT 64
-#define MPIC_MAX_IRQ MAX_IRQ
+/* Raven */
+#define RAVEN_MAX_CPU 2
+#define RAVEN_MAX_EXT 48
+#define RAVEN_MAX_IRQ 64
+#define RAVEN_MAX_TMR MAX_TMR
+#define RAVEN_MAX_IPI MAX_IPI
+
+/* Interrupt definitions */
+#define RAVEN_FE_IRQ (RAVEN_MAX_EXT) /* Internal functional IRQ */
+#define RAVEN_ERR_IRQ (RAVEN_MAX_EXT + 1) /* Error IRQ */
+#define RAVEN_TMR_IRQ (RAVEN_MAX_EXT + 2) /* First timer IRQ */
+#define RAVEN_IPI_IRQ (RAVEN_TMR_IRQ + RAVEN_MAX_TMR) /* First IPI IRQ */
+/* First doorbell IRQ */
+#define RAVEN_DBL_IRQ (RAVEN_IPI_IRQ + (RAVEN_MAX_CPU * RAVEN_MAX_IPI))
+
+/* FSL_MPIC_20 */
+#define FSL_MPIC_20_MAX_CPU 1
+#define FSL_MPIC_20_MAX_EXT 12
+#define FSL_MPIC_20_MAX_INT 64
+#define FSL_MPIC_20_MAX_IRQ MAX_IRQ
/* Interrupt definitions */
/* IRQs, accessible through the IRQ region */
-#define MPIC_EXT_IRQ 0x00
-#define MPIC_INT_IRQ 0x10
-#define MPIC_MSG_IRQ 0xb0
-#define MPIC_MSI_IRQ 0xe0
+#define FSL_MPIC_20_EXT_IRQ 0x00
+#define FSL_MPIC_20_INT_IRQ 0x10
+#define FSL_MPIC_20_MSG_IRQ 0xb0
+#define FSL_MPIC_20_MSI_IRQ 0xe0
/* These are available through separate regions, but
for simplicity's sake mapped into the same number space */
-#define MPIC_TMR_IRQ 0x100
-#define MPIC_IPI_IRQ 0x104
-
-#define MPIC_GLB_REG_START 0x0
-#define MPIC_GLB_REG_SIZE 0x10F0
-#define MPIC_TMR_REG_START 0x10F0
-#define MPIC_TMR_REG_SIZE 0x220
-#define MPIC_SRC_REG_START 0x10000
-#define MPIC_SRC_REG_SIZE (MAX_SRC * 0x20)
-#define MPIC_CPU_REG_START 0x20000
-#define MPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
+#define FSL_MPIC_20_TMR_IRQ 0x100
+#define FSL_MPIC_20_IPI_IRQ 0x104
/*
* Block Revision Register1 (BRR1): QEMU does not fully emulate
@@ -129,6 +116,7 @@ enum {
#define FREP_VID_SHIFT 0
#define VID_REVISION_1_2 2
+#define VID_REVISION_1_3 3
#define VENI_GENERIC 0x00000000 /* Generic Vendor ID */
@@ -205,10 +193,11 @@ typedef struct IRQ_dst_t {
} IRQ_dst_t;
typedef struct OpenPICState {
- PCIDevice pci_dev;
+ SysBusDevice busdev;
MemoryRegion mem;
/* Behavior control */
+ uint32_t model;
uint32_t flags;
uint32_t nb_irqs;
uint32_t vid;
@@ -231,15 +220,15 @@ typedef struct OpenPICState {
IRQ_src_t src[MAX_IRQ];
/* Local registers per output pin */
IRQ_dst_t dst[MAX_CPU];
- int nb_cpus;
+ uint32_t nb_cpus;
/* Timer registers */
struct {
uint32_t ticc; /* Global timer current count register */
uint32_t tibc; /* Global timer base count register */
} timers[MAX_TMR];
- int max_irq;
- int irq_ipi0;
- int irq_tim0;
+ uint32_t max_irq;
+ uint32_t irq_ipi0;
+ uint32_t irq_tim0;
} OpenPICState;
static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
@@ -411,9 +400,9 @@ static void openpic_set_irq(void *opaque, int n_IRQ, int level)
openpic_update_irq(opp, n_IRQ);
}
-static void openpic_reset (void *opaque)
+static void openpic_reset(DeviceState *d)
{
- OpenPICState *opp = (OpenPICState *)opaque;
+ OpenPICState *opp = FROM_SYSBUS(typeof (*opp), sysbus_from_qdev(d));
int i;
opp->glbc = 0x80000000;
@@ -506,7 +495,7 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
break;
case 0x1020: /* GLBC */
if (val & 0x80000000) {
- openpic_reset(opp);
+ openpic_reset(&opp->busdev.qdev);
}
break;
case 0x1080: /* VENI */
@@ -971,7 +960,7 @@ static void openpic_save(QEMUFile* f, void *opaque)
qemu_put_sbe32s(f, &opp->src[i].pending);
}
- qemu_put_sbe32s(f, &opp->nb_cpus);
+ qemu_put_be32s(f, &opp->nb_cpus);
for (i = 0; i < opp->nb_cpus; i++) {
qemu_put_be32s(f, &opp->dst[i].pctp);
@@ -984,8 +973,6 @@ static void openpic_save(QEMUFile* f, void *opaque)
qemu_put_be32s(f, &opp->timers[i].ticc);
qemu_put_be32s(f, &opp->timers[i].tibc);
}
-
- pci_device_save(&opp->pci_dev, f);
}
static void openpic_load_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
@@ -1020,7 +1007,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
qemu_get_sbe32s(f, &opp->src[i].pending);
}
- qemu_get_sbe32s(f, &opp->nb_cpus);
+ qemu_get_be32s(f, &opp->nb_cpus);
for (i = 0; i < opp->nb_cpus; i++) {
qemu_get_be32s(f, &opp->dst[i].pctp);
@@ -1034,7 +1021,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
qemu_get_be32s(f, &opp->timers[i].tibc);
}
- return pci_device_load(&opp->pci_dev, f);
+ return 0;
}
static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
@@ -1048,17 +1035,18 @@ static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
}
}
-qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
- qemu_irq **irqs)
+struct memreg {
+ const char *name;
+ MemoryRegionOps const *ops;
+ hwaddr start_addr;
+ ram_addr_t size;
+};
+
+static int openpic_init(SysBusDevice *dev)
{
- OpenPICState *opp;
- int i;
- struct {
- const char *name;
- MemoryRegionOps const *ops;
- hwaddr start_addr;
- ram_addr_t size;
- } const list[] = {
+ OpenPICState *opp = FROM_SYSBUS(typeof (*opp), dev);
+ int i, j;
+ const struct memreg list_le[] = {
{"glb", &openpic_glb_ops_le, OPENPIC_GLB_REG_START,
OPENPIC_GLB_REG_SIZE},
{"tmr", &openpic_tmr_ops_le, OPENPIC_TMR_REG_START,
@@ -1068,16 +1056,57 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
{"cpu", &openpic_cpu_ops_le, OPENPIC_CPU_REG_START,
OPENPIC_CPU_REG_SIZE},
};
+ const struct memreg list_be[] = {
+ {"glb", &openpic_glb_ops_be, OPENPIC_GLB_REG_START,
+ OPENPIC_GLB_REG_SIZE},
+ {"tmr", &openpic_tmr_ops_be, OPENPIC_TMR_REG_START,
+ OPENPIC_TMR_REG_SIZE},
+ {"src", &openpic_src_ops_be, OPENPIC_SRC_REG_START,
+ OPENPIC_SRC_REG_SIZE},
+ {"cpu", &openpic_cpu_ops_be, OPENPIC_CPU_REG_START,
+ OPENPIC_CPU_REG_SIZE},
+ };
+ struct memreg const *list;
- /* XXX: for now, only one CPU is supported */
- if (nb_cpus != 1)
- return NULL;
- opp = g_malloc0(sizeof(OpenPICState));
+ switch (opp->model) {
+ case OPENPIC_MODEL_FSL_MPIC_20:
+ default:
+ opp->flags |= OPENPIC_FLAG_IDE_CRIT;
+ opp->nb_irqs = 80;
+ opp->vid = VID_REVISION_1_2;
+ opp->veni = VENI_GENERIC;
+ opp->spve_mask = 0xFFFF;
+ opp->tifr_reset = 0x00000000;
+ opp->ipvp_reset = 0x80000000;
+ opp->ide_reset = 0x00000001;
+ opp->max_irq = FSL_MPIC_20_MAX_IRQ;
+ opp->irq_ipi0 = FSL_MPIC_20_IPI_IRQ;
+ opp->irq_tim0 = FSL_MPIC_20_TMR_IRQ;
+ list = list_be;
+ break;
+ case OPENPIC_MODEL_RAVEN:
+ opp->nb_irqs = RAVEN_MAX_EXT;
+ opp->vid = VID_REVISION_1_3;
+ opp->veni = VENI_GENERIC;
+ opp->spve_mask = 0xFF;
+ opp->tifr_reset = 0x003F7A00;
+ opp->ipvp_reset = 0xA0000000;
+ opp->ide_reset = 0x00000000;
+ opp->max_irq = RAVEN_MAX_IRQ;
+ opp->irq_ipi0 = RAVEN_IPI_IRQ;
+ opp->irq_tim0 = RAVEN_TMR_IRQ;
+ list = list_le;
+
+ /* Only UP supported today */
+ if (opp->nb_cpus != 1) {
+ return -EINVAL;
+ }
+ break;
+ }
memory_region_init(&opp->mem, "openpic", 0x40000);
- for (i = 0; i < ARRAY_SIZE(list); i++) {
-
+ for (i = 0; i < ARRAY_SIZE(list_le); i++) {
memory_region_init_io(&opp->sub_io_mem[i], list[i].ops, opp,
list[i].name, list[i].size);
@@ -1085,83 +1114,48 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
&opp->sub_io_mem[i]);
}
- // isu_base &= 0xFFFC0000;
- opp->nb_cpus = nb_cpus;
- opp->nb_irqs = OPENPIC_EXT_IRQ;
- opp->vid = VID;
- opp->veni = VENI_GENERIC;
- opp->spve_mask = 0xFF;
- opp->tifr_reset = 0x003F7A00;
- opp->max_irq = OPENPIC_MAX_IRQ;
- opp->irq_ipi0 = OPENPIC_IRQ_IPI0;
- opp->irq_tim0 = OPENPIC_IRQ_TIM0;
-
- for (i = 0; i < nb_cpus; i++)
- opp->dst[i].irqs = irqs[i];
-
- register_savevm(&opp->pci_dev.qdev, "openpic", 0, 2,
+ for (i = 0; i < opp->nb_cpus; i++) {
+ opp->dst[i].irqs = g_new(qemu_irq, OPENPIC_OUTPUT_NB);
+ for (j = 0; j < OPENPIC_OUTPUT_NB; j++) {
+ sysbus_init_irq(dev, &opp->dst[i].irqs[j]);
+ }
+ }
+
+ register_savevm(&opp->busdev.qdev, "openpic", 0, 2,
openpic_save, openpic_load, opp);
- qemu_register_reset(openpic_reset, opp);
- if (pmem)
- *pmem = &opp->mem;
+ sysbus_init_mmio(dev, &opp->mem);
+ qdev_init_gpio_in(&dev->qdev, openpic_set_irq, opp->max_irq);
- return qemu_allocate_irqs(openpic_set_irq, opp, opp->max_irq);
+ return 0;
}
-qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
- int nb_cpus, qemu_irq **irqs)
-{
- OpenPICState *mpp;
- int i;
- struct {
- const char *name;
- MemoryRegionOps const *ops;
- hwaddr start_addr;
- ram_addr_t size;
- } const list[] = {
- {"glb", &openpic_glb_ops_be, MPIC_GLB_REG_START, MPIC_GLB_REG_SIZE},
- {"tmr", &openpic_tmr_ops_be, MPIC_TMR_REG_START, MPIC_TMR_REG_SIZE},
- {"src", &openpic_src_ops_be, MPIC_SRC_REG_START, MPIC_SRC_REG_SIZE},
- {"cpu", &openpic_cpu_ops_be, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
- };
-
- mpp = g_malloc0(sizeof(OpenPICState));
-
- memory_region_init(&mpp->mem, "mpic", 0x40000);
- memory_region_add_subregion(address_space, base, &mpp->mem);
+static Property openpic_properties[] = {
+ DEFINE_PROP_UINT32("model", OpenPICState, model, OPENPIC_MODEL_FSL_MPIC_20),
+ DEFINE_PROP_UINT32("nb_cpus", OpenPICState, nb_cpus, 1),
+ DEFINE_PROP_END_OF_LIST(),
+};
- for (i = 0; i < sizeof(list)/sizeof(list[0]); i++) {
+static void openpic_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
- memory_region_init_io(&mpp->sub_io_mem[i], list[i].ops, mpp,
- list[i].name, list[i].size);
+ k->init = openpic_init;
+ dc->props = openpic_properties;
+ dc->reset = openpic_reset;
+}
- memory_region_add_subregion(&mpp->mem, list[i].start_addr,
- &mpp->sub_io_mem[i]);
- }
+static TypeInfo openpic_info = {
+ .name = "openpic",
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(OpenPICState),
+ .class_init = openpic_class_init,
+};
- mpp->nb_cpus = nb_cpus;
- /* 12 external sources, 48 internal sources , 4 timer sources,
- 4 IPI sources, 4 messaging sources, and 8 Shared MSI sources */
- mpp->nb_irqs = 80;
- mpp->vid = VID_REVISION_1_2;
- mpp->veni = VENI_GENERIC;
- mpp->spve_mask = 0xFFFF;
- mpp->tifr_reset = 0x00000000;
- mpp->ipvp_reset = 0x80000000;
- mpp->ide_reset = 0x00000001;
- mpp->max_irq = MPIC_MAX_IRQ;
- mpp->irq_ipi0 = MPIC_IPI_IRQ;
- mpp->irq_tim0 = MPIC_TMR_IRQ;
-
- for (i = 0; i < nb_cpus; i++)
- mpp->dst[i].irqs = irqs[i];
-
- /* Enable critical interrupt support */
- mpp->flags |= OPENPIC_FLAG_IDE_CRIT;
-
- register_savevm(NULL, "mpic", 0, 2, openpic_save, openpic_load, mpp);
- qemu_register_reset(openpic_reset, mpp);
-
- return qemu_allocate_irqs(openpic_set_irq, mpp, mpp->max_irq);
+static void openpic_register_types(void)
+{
+ type_register_static(&openpic_info);
}
+
+type_init(openpic_register_types)
diff --git a/hw/openpic.h b/hw/openpic.h
index 8a68f20..e226d7b 100644
--- a/hw/openpic.h
+++ b/hw/openpic.h
@@ -11,11 +11,7 @@ enum {
OPENPIC_OUTPUT_NB,
};
-/* OpenPIC capability flags */
-#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
+#define OPENPIC_MODEL_RAVEN 0
+#define OPENPIC_MODEL_FSL_MPIC_20 1
-qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
- qemu_irq **irqs);
-qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
- int nb_cpus, qemu_irq **irqs);
#endif /* __OPENPIC_H__ */
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 3f6d58c..fa9b8ed 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -418,7 +418,7 @@ void ppce500_init(PPCE500Params *params)
target_ulong dt_base = 0;
target_ulong initrd_base = 0;
target_long initrd_size=0;
- int i=0;
+ int i = 0, j, k;
unsigned int pci_irq_nrs[4] = {1, 2, 3, 4};
qemu_irq **irqs, *mpic;
DeviceState *dev;
@@ -492,13 +492,27 @@ void ppce500_init(PPCE500Params *params)
ccsr_addr_space);
/* MPIC */
- mpic = mpic_init(ccsr_addr_space, MPC8544_MPIC_REGS_OFFSET,
- smp_cpus, irqs);
+ mpic = g_new(qemu_irq, 256);
+ dev = qdev_create(NULL, "openpic");
+ qdev_prop_set_uint32(dev, "nb_cpus", smp_cpus);
+ qdev_prop_set_uint32(dev, "model", OPENPIC_MODEL_FSL_MPIC_20);
+ qdev_init_nofail(dev);
+ s = sysbus_from_qdev(dev);
+
+ k = 0;
+ for (i = 0; i < smp_cpus; i++) {
+ for (j = 0; j < OPENPIC_OUTPUT_NB; j++) {
+ sysbus_connect_irq(s, k++, irqs[i][j]);
+ }
+ }
- if (!mpic) {
- cpu_abort(env, "MPIC failed to initialize\n");
+ for (i = 0; i < 256; i++) {
+ mpic[i] = qdev_get_gpio_in(dev, i);
}
+ memory_region_add_subregion(ccsr_addr_space, MPC8544_MPIC_REGS_OFFSET,
+ s->mmio[0].memory);
+
/* Serial */
if (serial_hds[0]) {
serial_mm_init(ccsr_addr_space, MPC8544_SERIAL0_REGS_OFFSET,
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index b9c2cd8..8c2114e 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -67,6 +67,7 @@
#include "hw/usb.h"
#include "blockdev.h"
#include "exec-memory.h"
+#include "sysbus.h"
#define MAX_IDE_BUS 2
#define CFG_ADDR 0xf0000510
@@ -141,7 +142,7 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
char *filename;
qemu_irq *pic, **openpic_irqs;
MemoryRegion *unin_memory = g_new(MemoryRegion, 1);
- int linux_boot, i;
+ int linux_boot, i, j, k;
MemoryRegion *ram = g_new(MemoryRegion, 1), *bios = g_new(MemoryRegion, 1);
hwaddr kernel_base, initrd_base, cmdline_base = 0;
long kernel_size, initrd_size;
@@ -156,6 +157,8 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
void *fw_cfg;
void *dbdma;
int machine_arch;
+ SysBusDevice *s;
+ DeviceState *dev;
linux_boot = (kernel_filename != NULL);
@@ -320,7 +323,25 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
exit(1);
}
}
- pic = openpic_init(&pic_mem, smp_cpus, openpic_irqs);
+
+ pic = g_new(qemu_irq, 64);
+
+ dev = qdev_create(NULL, "openpic");
+ qdev_prop_set_uint32(dev, "model", OPENPIC_MODEL_RAVEN);
+ qdev_init_nofail(dev);
+ s = sysbus_from_qdev(dev);
+ pic_mem = s->mmio[0].memory;
+ k = 0;
+ for (i = 0; i < smp_cpus; i++) {
+ for (j = 0; j < OPENPIC_OUTPUT_NB; j++) {
+ sysbus_connect_irq(s, k++, openpic_irqs[i][j]);
+ }
+ }
+
+ for (i = 0; i < 64; i++) {
+ pic[i] = qdev_get_gpio_in(dev, i);
+ }
+
if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) {
/* 970 gets a U3 bus */
pci_bus = pci_pmac_u3_init(pic, get_system_memory(), get_system_io());
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* Re: [Qemu-devel] [PATCH 25/40] openpic: convert to qdev
2012-12-14 12:13 ` [Qemu-devel] [PATCH 25/40] openpic: convert to qdev Alexander Graf
@ 2012-12-14 20:32 ` Blue Swirl
2012-12-14 20:42 ` Alexander Graf
0 siblings, 1 reply; 47+ messages in thread
From: Blue Swirl @ 2012-12-14 20:32 UTC (permalink / raw)
To: Alexander Graf; +Cc: qemu-ppc@nongnu.org List, qemu-devel qemu-devel
On Fri, Dec 14, 2012 at 12:13 PM, Alexander Graf <agraf@suse.de> wrote:
> This patch converts the OpenPIC device to qdev. Along the way it
> renames the "openpic" target to "raven" and the "mpic" target to
> "fsl_mpic_20", to better reflect the actual models they implement.
>
> This way we have a generic OpenPIC device now that can handle
> different flavors of the OpenPIC specification.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
> hw/openpic.c | 278 ++++++++++++++++++++++++++---------------------------
> hw/openpic.h | 8 +-
> hw/ppc/e500.c | 24 ++++-
> hw/ppc_newworld.c | 25 +++++-
> 4 files changed, 180 insertions(+), 155 deletions(-)
>
> diff --git a/hw/openpic.c b/hw/openpic.c
> index 5116b3e..591b291 100644
> --- a/hw/openpic.c
> +++ b/hw/openpic.c
> @@ -37,6 +37,7 @@
> #include "ppc_mac.h"
> #include "pci.h"
> #include "openpic.h"
> +#include "sysbus.h"
>
> //#define DEBUG_OPENPIC
>
> @@ -54,30 +55,10 @@
> #define MAX_IRQ (MAX_SRC + MAX_IPI + MAX_TMR)
> #define VID 0x03 /* MPIC version ID */
>
> -enum {
> - IRQ_IPVP = 0,
> - IRQ_IDE,
> -};
> -
> -/* OpenPIC */
> -#define OPENPIC_MAX_CPU 2
> -#define OPENPIC_MAX_IRQ 64
> -#define OPENPIC_EXT_IRQ 48
> -#define OPENPIC_MAX_TMR MAX_TMR
> -#define OPENPIC_MAX_IPI MAX_IPI
> -
> -/* Interrupt definitions */
> -#define OPENPIC_IRQ_FE (OPENPIC_EXT_IRQ) /* Internal functional IRQ */
> -#define OPENPIC_IRQ_ERR (OPENPIC_EXT_IRQ + 1) /* Error IRQ */
> -#define OPENPIC_IRQ_TIM0 (OPENPIC_EXT_IRQ + 2) /* First timer IRQ */
> -#if OPENPIC_MAX_IPI > 0
> -#define OPENPIC_IRQ_IPI0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First IPI IRQ */
> -#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_IPI0 + (OPENPIC_MAX_CPU * OPENPIC_MAX_IPI)) /* First doorbell IRQ */
> -#else
> -#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First doorbell IRQ */
> -#define OPENPIC_IRQ_MBX0 (OPENPIC_IRQ_DBL0 + OPENPIC_MAX_DBL) /* First mailbox IRQ */
> -#endif
> +/* OpenPIC capability flags */
> +#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
>
> +/* OpenPIC address map */
> #define OPENPIC_GLB_REG_START 0x0
> #define OPENPIC_GLB_REG_SIZE 0x10F0
> #define OPENPIC_TMR_REG_START 0x10F0
> @@ -87,31 +68,37 @@ enum {
> #define OPENPIC_CPU_REG_START 0x20000
> #define OPENPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
>
> -/* MPIC */
> -#define MPIC_MAX_CPU 1
> -#define MPIC_MAX_EXT 12
> -#define MPIC_MAX_INT 64
> -#define MPIC_MAX_IRQ MAX_IRQ
> +/* Raven */
> +#define RAVEN_MAX_CPU 2
> +#define RAVEN_MAX_EXT 48
> +#define RAVEN_MAX_IRQ 64
> +#define RAVEN_MAX_TMR MAX_TMR
> +#define RAVEN_MAX_IPI MAX_IPI
> +
> +/* Interrupt definitions */
> +#define RAVEN_FE_IRQ (RAVEN_MAX_EXT) /* Internal functional IRQ */
> +#define RAVEN_ERR_IRQ (RAVEN_MAX_EXT + 1) /* Error IRQ */
> +#define RAVEN_TMR_IRQ (RAVEN_MAX_EXT + 2) /* First timer IRQ */
> +#define RAVEN_IPI_IRQ (RAVEN_TMR_IRQ + RAVEN_MAX_TMR) /* First IPI IRQ */
> +/* First doorbell IRQ */
> +#define RAVEN_DBL_IRQ (RAVEN_IPI_IRQ + (RAVEN_MAX_CPU * RAVEN_MAX_IPI))
> +
> +/* FSL_MPIC_20 */
> +#define FSL_MPIC_20_MAX_CPU 1
> +#define FSL_MPIC_20_MAX_EXT 12
> +#define FSL_MPIC_20_MAX_INT 64
> +#define FSL_MPIC_20_MAX_IRQ MAX_IRQ
>
> /* Interrupt definitions */
> /* IRQs, accessible through the IRQ region */
> -#define MPIC_EXT_IRQ 0x00
> -#define MPIC_INT_IRQ 0x10
> -#define MPIC_MSG_IRQ 0xb0
> -#define MPIC_MSI_IRQ 0xe0
> +#define FSL_MPIC_20_EXT_IRQ 0x00
> +#define FSL_MPIC_20_INT_IRQ 0x10
> +#define FSL_MPIC_20_MSG_IRQ 0xb0
> +#define FSL_MPIC_20_MSI_IRQ 0xe0
> /* These are available through separate regions, but
> for simplicity's sake mapped into the same number space */
> -#define MPIC_TMR_IRQ 0x100
> -#define MPIC_IPI_IRQ 0x104
> -
> -#define MPIC_GLB_REG_START 0x0
> -#define MPIC_GLB_REG_SIZE 0x10F0
> -#define MPIC_TMR_REG_START 0x10F0
> -#define MPIC_TMR_REG_SIZE 0x220
> -#define MPIC_SRC_REG_START 0x10000
> -#define MPIC_SRC_REG_SIZE (MAX_SRC * 0x20)
> -#define MPIC_CPU_REG_START 0x20000
> -#define MPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
> +#define FSL_MPIC_20_TMR_IRQ 0x100
> +#define FSL_MPIC_20_IPI_IRQ 0x104
>
> /*
> * Block Revision Register1 (BRR1): QEMU does not fully emulate
> @@ -129,6 +116,7 @@ enum {
> #define FREP_VID_SHIFT 0
>
> #define VID_REVISION_1_2 2
> +#define VID_REVISION_1_3 3
>
> #define VENI_GENERIC 0x00000000 /* Generic Vendor ID */
>
> @@ -205,10 +193,11 @@ typedef struct IRQ_dst_t {
> } IRQ_dst_t;
>
> typedef struct OpenPICState {
> - PCIDevice pci_dev;
> + SysBusDevice busdev;
> MemoryRegion mem;
>
> /* Behavior control */
> + uint32_t model;
> uint32_t flags;
> uint32_t nb_irqs;
> uint32_t vid;
> @@ -231,15 +220,15 @@ typedef struct OpenPICState {
> IRQ_src_t src[MAX_IRQ];
> /* Local registers per output pin */
> IRQ_dst_t dst[MAX_CPU];
> - int nb_cpus;
> + uint32_t nb_cpus;
> /* Timer registers */
> struct {
> uint32_t ticc; /* Global timer current count register */
> uint32_t tibc; /* Global timer base count register */
> } timers[MAX_TMR];
> - int max_irq;
> - int irq_ipi0;
> - int irq_tim0;
> + uint32_t max_irq;
> + uint32_t irq_ipi0;
> + uint32_t irq_tim0;
> } OpenPICState;
>
> static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
> @@ -411,9 +400,9 @@ static void openpic_set_irq(void *opaque, int n_IRQ, int level)
> openpic_update_irq(opp, n_IRQ);
> }
>
> -static void openpic_reset (void *opaque)
> +static void openpic_reset(DeviceState *d)
> {
> - OpenPICState *opp = (OpenPICState *)opaque;
> + OpenPICState *opp = FROM_SYSBUS(typeof (*opp), sysbus_from_qdev(d));
> int i;
>
> opp->glbc = 0x80000000;
> @@ -506,7 +495,7 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
> break;
> case 0x1020: /* GLBC */
> if (val & 0x80000000) {
> - openpic_reset(opp);
> + openpic_reset(&opp->busdev.qdev);
> }
> break;
> case 0x1080: /* VENI */
> @@ -971,7 +960,7 @@ static void openpic_save(QEMUFile* f, void *opaque)
> qemu_put_sbe32s(f, &opp->src[i].pending);
> }
>
> - qemu_put_sbe32s(f, &opp->nb_cpus);
> + qemu_put_be32s(f, &opp->nb_cpus);
>
> for (i = 0; i < opp->nb_cpus; i++) {
> qemu_put_be32s(f, &opp->dst[i].pctp);
> @@ -984,8 +973,6 @@ static void openpic_save(QEMUFile* f, void *opaque)
> qemu_put_be32s(f, &opp->timers[i].ticc);
> qemu_put_be32s(f, &opp->timers[i].tibc);
> }
> -
> - pci_device_save(&opp->pci_dev, f);
> }
>
> static void openpic_load_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
> @@ -1020,7 +1007,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
> qemu_get_sbe32s(f, &opp->src[i].pending);
> }
>
> - qemu_get_sbe32s(f, &opp->nb_cpus);
> + qemu_get_be32s(f, &opp->nb_cpus);
>
> for (i = 0; i < opp->nb_cpus; i++) {
> qemu_get_be32s(f, &opp->dst[i].pctp);
> @@ -1034,7 +1021,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
> qemu_get_be32s(f, &opp->timers[i].tibc);
> }
>
> - return pci_device_load(&opp->pci_dev, f);
> + return 0;
> }
>
> static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
> @@ -1048,17 +1035,18 @@ static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
> }
> }
>
> -qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
> - qemu_irq **irqs)
> +struct memreg {
Sorry for not noticing this earlier, but this should be MemReg with
also a typedef.
> + const char *name;
> + MemoryRegionOps const *ops;
> + hwaddr start_addr;
> + ram_addr_t size;
> +};
> +
> +static int openpic_init(SysBusDevice *dev)
> {
> - OpenPICState *opp;
> - int i;
> - struct {
> - const char *name;
> - MemoryRegionOps const *ops;
> - hwaddr start_addr;
> - ram_addr_t size;
> - } const list[] = {
> + OpenPICState *opp = FROM_SYSBUS(typeof (*opp), dev);
> + int i, j;
> + const struct memreg list_le[] = {
> {"glb", &openpic_glb_ops_le, OPENPIC_GLB_REG_START,
> OPENPIC_GLB_REG_SIZE},
> {"tmr", &openpic_tmr_ops_le, OPENPIC_TMR_REG_START,
> @@ -1068,16 +1056,57 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
> {"cpu", &openpic_cpu_ops_le, OPENPIC_CPU_REG_START,
> OPENPIC_CPU_REG_SIZE},
> };
> + const struct memreg list_be[] = {
> + {"glb", &openpic_glb_ops_be, OPENPIC_GLB_REG_START,
> + OPENPIC_GLB_REG_SIZE},
> + {"tmr", &openpic_tmr_ops_be, OPENPIC_TMR_REG_START,
> + OPENPIC_TMR_REG_SIZE},
> + {"src", &openpic_src_ops_be, OPENPIC_SRC_REG_START,
> + OPENPIC_SRC_REG_SIZE},
> + {"cpu", &openpic_cpu_ops_be, OPENPIC_CPU_REG_START,
> + OPENPIC_CPU_REG_SIZE},
> + };
> + struct memreg const *list;
>
> - /* XXX: for now, only one CPU is supported */
> - if (nb_cpus != 1)
> - return NULL;
> - opp = g_malloc0(sizeof(OpenPICState));
> + switch (opp->model) {
> + case OPENPIC_MODEL_FSL_MPIC_20:
> + default:
> + opp->flags |= OPENPIC_FLAG_IDE_CRIT;
> + opp->nb_irqs = 80;
> + opp->vid = VID_REVISION_1_2;
> + opp->veni = VENI_GENERIC;
> + opp->spve_mask = 0xFFFF;
> + opp->tifr_reset = 0x00000000;
> + opp->ipvp_reset = 0x80000000;
> + opp->ide_reset = 0x00000001;
> + opp->max_irq = FSL_MPIC_20_MAX_IRQ;
> + opp->irq_ipi0 = FSL_MPIC_20_IPI_IRQ;
> + opp->irq_tim0 = FSL_MPIC_20_TMR_IRQ;
> + list = list_be;
> + break;
> + case OPENPIC_MODEL_RAVEN:
> + opp->nb_irqs = RAVEN_MAX_EXT;
> + opp->vid = VID_REVISION_1_3;
> + opp->veni = VENI_GENERIC;
> + opp->spve_mask = 0xFF;
> + opp->tifr_reset = 0x003F7A00;
> + opp->ipvp_reset = 0xA0000000;
> + opp->ide_reset = 0x00000000;
> + opp->max_irq = RAVEN_MAX_IRQ;
> + opp->irq_ipi0 = RAVEN_IPI_IRQ;
> + opp->irq_tim0 = RAVEN_TMR_IRQ;
> + list = list_le;
> +
> + /* Only UP supported today */
> + if (opp->nb_cpus != 1) {
> + return -EINVAL;
> + }
> + break;
> + }
>
> memory_region_init(&opp->mem, "openpic", 0x40000);
>
> - for (i = 0; i < ARRAY_SIZE(list); i++) {
> -
> + for (i = 0; i < ARRAY_SIZE(list_le); i++) {
> memory_region_init_io(&opp->sub_io_mem[i], list[i].ops, opp,
> list[i].name, list[i].size);
>
> @@ -1085,83 +1114,48 @@ qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
> &opp->sub_io_mem[i]);
> }
>
> - // isu_base &= 0xFFFC0000;
> - opp->nb_cpus = nb_cpus;
> - opp->nb_irqs = OPENPIC_EXT_IRQ;
> - opp->vid = VID;
> - opp->veni = VENI_GENERIC;
> - opp->spve_mask = 0xFF;
> - opp->tifr_reset = 0x003F7A00;
> - opp->max_irq = OPENPIC_MAX_IRQ;
> - opp->irq_ipi0 = OPENPIC_IRQ_IPI0;
> - opp->irq_tim0 = OPENPIC_IRQ_TIM0;
> -
> - for (i = 0; i < nb_cpus; i++)
> - opp->dst[i].irqs = irqs[i];
> -
> - register_savevm(&opp->pci_dev.qdev, "openpic", 0, 2,
> + for (i = 0; i < opp->nb_cpus; i++) {
> + opp->dst[i].irqs = g_new(qemu_irq, OPENPIC_OUTPUT_NB);
> + for (j = 0; j < OPENPIC_OUTPUT_NB; j++) {
> + sysbus_init_irq(dev, &opp->dst[i].irqs[j]);
> + }
> + }
> +
> + register_savevm(&opp->busdev.qdev, "openpic", 0, 2,
> openpic_save, openpic_load, opp);
> - qemu_register_reset(openpic_reset, opp);
>
> - if (pmem)
> - *pmem = &opp->mem;
> + sysbus_init_mmio(dev, &opp->mem);
> + qdev_init_gpio_in(&dev->qdev, openpic_set_irq, opp->max_irq);
>
> - return qemu_allocate_irqs(openpic_set_irq, opp, opp->max_irq);
> + return 0;
> }
>
> -qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
> - int nb_cpus, qemu_irq **irqs)
> -{
> - OpenPICState *mpp;
> - int i;
> - struct {
> - const char *name;
> - MemoryRegionOps const *ops;
> - hwaddr start_addr;
> - ram_addr_t size;
> - } const list[] = {
> - {"glb", &openpic_glb_ops_be, MPIC_GLB_REG_START, MPIC_GLB_REG_SIZE},
> - {"tmr", &openpic_tmr_ops_be, MPIC_TMR_REG_START, MPIC_TMR_REG_SIZE},
> - {"src", &openpic_src_ops_be, MPIC_SRC_REG_START, MPIC_SRC_REG_SIZE},
> - {"cpu", &openpic_cpu_ops_be, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
> - };
> -
> - mpp = g_malloc0(sizeof(OpenPICState));
> -
> - memory_region_init(&mpp->mem, "mpic", 0x40000);
> - memory_region_add_subregion(address_space, base, &mpp->mem);
> +static Property openpic_properties[] = {
> + DEFINE_PROP_UINT32("model", OpenPICState, model, OPENPIC_MODEL_FSL_MPIC_20),
> + DEFINE_PROP_UINT32("nb_cpus", OpenPICState, nb_cpus, 1),
> + DEFINE_PROP_END_OF_LIST(),
> +};
>
> - for (i = 0; i < sizeof(list)/sizeof(list[0]); i++) {
> +static void openpic_class_init(ObjectClass *klass, void *data)
> +{
> + DeviceClass *dc = DEVICE_CLASS(klass);
> + SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>
> - memory_region_init_io(&mpp->sub_io_mem[i], list[i].ops, mpp,
> - list[i].name, list[i].size);
> + k->init = openpic_init;
> + dc->props = openpic_properties;
> + dc->reset = openpic_reset;
> +}
>
> - memory_region_add_subregion(&mpp->mem, list[i].start_addr,
> - &mpp->sub_io_mem[i]);
> - }
> +static TypeInfo openpic_info = {
> + .name = "openpic",
> + .parent = TYPE_SYS_BUS_DEVICE,
> + .instance_size = sizeof(OpenPICState),
> + .class_init = openpic_class_init,
> +};
>
> - mpp->nb_cpus = nb_cpus;
> - /* 12 external sources, 48 internal sources , 4 timer sources,
> - 4 IPI sources, 4 messaging sources, and 8 Shared MSI sources */
> - mpp->nb_irqs = 80;
> - mpp->vid = VID_REVISION_1_2;
> - mpp->veni = VENI_GENERIC;
> - mpp->spve_mask = 0xFFFF;
> - mpp->tifr_reset = 0x00000000;
> - mpp->ipvp_reset = 0x80000000;
> - mpp->ide_reset = 0x00000001;
> - mpp->max_irq = MPIC_MAX_IRQ;
> - mpp->irq_ipi0 = MPIC_IPI_IRQ;
> - mpp->irq_tim0 = MPIC_TMR_IRQ;
> -
> - for (i = 0; i < nb_cpus; i++)
> - mpp->dst[i].irqs = irqs[i];
> -
> - /* Enable critical interrupt support */
> - mpp->flags |= OPENPIC_FLAG_IDE_CRIT;
> -
> - register_savevm(NULL, "mpic", 0, 2, openpic_save, openpic_load, mpp);
> - qemu_register_reset(openpic_reset, mpp);
> -
> - return qemu_allocate_irqs(openpic_set_irq, mpp, mpp->max_irq);
> +static void openpic_register_types(void)
> +{
> + type_register_static(&openpic_info);
> }
> +
> +type_init(openpic_register_types)
> diff --git a/hw/openpic.h b/hw/openpic.h
> index 8a68f20..e226d7b 100644
> --- a/hw/openpic.h
> +++ b/hw/openpic.h
> @@ -11,11 +11,7 @@ enum {
> OPENPIC_OUTPUT_NB,
> };
>
> -/* OpenPIC capability flags */
> -#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
> +#define OPENPIC_MODEL_RAVEN 0
> +#define OPENPIC_MODEL_FSL_MPIC_20 1
>
> -qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
> - qemu_irq **irqs);
> -qemu_irq *mpic_init (MemoryRegion *address_space, hwaddr base,
> - int nb_cpus, qemu_irq **irqs);
> #endif /* __OPENPIC_H__ */
> diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
> index 3f6d58c..fa9b8ed 100644
> --- a/hw/ppc/e500.c
> +++ b/hw/ppc/e500.c
> @@ -418,7 +418,7 @@ void ppce500_init(PPCE500Params *params)
> target_ulong dt_base = 0;
> target_ulong initrd_base = 0;
> target_long initrd_size=0;
> - int i=0;
> + int i = 0, j, k;
> unsigned int pci_irq_nrs[4] = {1, 2, 3, 4};
> qemu_irq **irqs, *mpic;
> DeviceState *dev;
> @@ -492,13 +492,27 @@ void ppce500_init(PPCE500Params *params)
> ccsr_addr_space);
>
> /* MPIC */
> - mpic = mpic_init(ccsr_addr_space, MPC8544_MPIC_REGS_OFFSET,
> - smp_cpus, irqs);
> + mpic = g_new(qemu_irq, 256);
> + dev = qdev_create(NULL, "openpic");
> + qdev_prop_set_uint32(dev, "nb_cpus", smp_cpus);
> + qdev_prop_set_uint32(dev, "model", OPENPIC_MODEL_FSL_MPIC_20);
> + qdev_init_nofail(dev);
> + s = sysbus_from_qdev(dev);
> +
> + k = 0;
> + for (i = 0; i < smp_cpus; i++) {
> + for (j = 0; j < OPENPIC_OUTPUT_NB; j++) {
> + sysbus_connect_irq(s, k++, irqs[i][j]);
> + }
> + }
>
> - if (!mpic) {
> - cpu_abort(env, "MPIC failed to initialize\n");
> + for (i = 0; i < 256; i++) {
> + mpic[i] = qdev_get_gpio_in(dev, i);
> }
>
> + memory_region_add_subregion(ccsr_addr_space, MPC8544_MPIC_REGS_OFFSET,
> + s->mmio[0].memory);
> +
> /* Serial */
> if (serial_hds[0]) {
> serial_mm_init(ccsr_addr_space, MPC8544_SERIAL0_REGS_OFFSET,
> diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
> index b9c2cd8..8c2114e 100644
> --- a/hw/ppc_newworld.c
> +++ b/hw/ppc_newworld.c
> @@ -67,6 +67,7 @@
> #include "hw/usb.h"
> #include "blockdev.h"
> #include "exec-memory.h"
> +#include "sysbus.h"
>
> #define MAX_IDE_BUS 2
> #define CFG_ADDR 0xf0000510
> @@ -141,7 +142,7 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
> char *filename;
> qemu_irq *pic, **openpic_irqs;
> MemoryRegion *unin_memory = g_new(MemoryRegion, 1);
> - int linux_boot, i;
> + int linux_boot, i, j, k;
> MemoryRegion *ram = g_new(MemoryRegion, 1), *bios = g_new(MemoryRegion, 1);
> hwaddr kernel_base, initrd_base, cmdline_base = 0;
> long kernel_size, initrd_size;
> @@ -156,6 +157,8 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
> void *fw_cfg;
> void *dbdma;
> int machine_arch;
> + SysBusDevice *s;
> + DeviceState *dev;
>
> linux_boot = (kernel_filename != NULL);
>
> @@ -320,7 +323,25 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
> exit(1);
> }
> }
> - pic = openpic_init(&pic_mem, smp_cpus, openpic_irqs);
> +
> + pic = g_new(qemu_irq, 64);
> +
> + dev = qdev_create(NULL, "openpic");
> + qdev_prop_set_uint32(dev, "model", OPENPIC_MODEL_RAVEN);
> + qdev_init_nofail(dev);
> + s = sysbus_from_qdev(dev);
> + pic_mem = s->mmio[0].memory;
> + k = 0;
> + for (i = 0; i < smp_cpus; i++) {
> + for (j = 0; j < OPENPIC_OUTPUT_NB; j++) {
> + sysbus_connect_irq(s, k++, openpic_irqs[i][j]);
> + }
> + }
> +
> + for (i = 0; i < 64; i++) {
> + pic[i] = qdev_get_gpio_in(dev, i);
> + }
> +
> if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) {
> /* 970 gets a U3 bus */
> pci_bus = pci_pmac_u3_init(pic, get_system_memory(), get_system_io());
> --
> 1.6.0.2
>
>
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [Qemu-devel] [PATCH 25/40] openpic: convert to qdev
2012-12-14 20:32 ` Blue Swirl
@ 2012-12-14 20:42 ` Alexander Graf
2012-12-14 20:50 ` Blue Swirl
0 siblings, 1 reply; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 20:42 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-ppc@nongnu.org List, qemu-devel qemu-devel
On 14.12.2012, at 21:32, Blue Swirl wrote:
> On Fri, Dec 14, 2012 at 12:13 PM, Alexander Graf <agraf@suse.de> wrote:
>> This patch converts the OpenPIC device to qdev. Along the way it
>> renames the "openpic" target to "raven" and the "mpic" target to
>> "fsl_mpic_20", to better reflect the actual models they implement.
>>
>> This way we have a generic OpenPIC device now that can handle
>> different flavors of the OpenPIC specification.
>>
>> Signed-off-by: Alexander Graf <agraf@suse.de>
>> ---
>> hw/openpic.c | 278 ++++++++++++++++++++++++++---------------------------
>> hw/openpic.h | 8 +-
>> hw/ppc/e500.c | 24 ++++-
>> hw/ppc_newworld.c | 25 +++++-
>> 4 files changed, 180 insertions(+), 155 deletions(-)
>>
>> diff --git a/hw/openpic.c b/hw/openpic.c
>> index 5116b3e..591b291 100644
>> --- a/hw/openpic.c
>> +++ b/hw/openpic.c
>> @@ -37,6 +37,7 @@
>> #include "ppc_mac.h"
>> #include "pci.h"
>> #include "openpic.h"
>> +#include "sysbus.h"
>>
>> //#define DEBUG_OPENPIC
>>
>> @@ -54,30 +55,10 @@
>> #define MAX_IRQ (MAX_SRC + MAX_IPI + MAX_TMR)
>> #define VID 0x03 /* MPIC version ID */
>>
>> -enum {
>> - IRQ_IPVP = 0,
>> - IRQ_IDE,
>> -};
>> -
>> -/* OpenPIC */
>> -#define OPENPIC_MAX_CPU 2
>> -#define OPENPIC_MAX_IRQ 64
>> -#define OPENPIC_EXT_IRQ 48
>> -#define OPENPIC_MAX_TMR MAX_TMR
>> -#define OPENPIC_MAX_IPI MAX_IPI
>> -
>> -/* Interrupt definitions */
>> -#define OPENPIC_IRQ_FE (OPENPIC_EXT_IRQ) /* Internal functional IRQ */
>> -#define OPENPIC_IRQ_ERR (OPENPIC_EXT_IRQ + 1) /* Error IRQ */
>> -#define OPENPIC_IRQ_TIM0 (OPENPIC_EXT_IRQ + 2) /* First timer IRQ */
>> -#if OPENPIC_MAX_IPI > 0
>> -#define OPENPIC_IRQ_IPI0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First IPI IRQ */
>> -#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_IPI0 + (OPENPIC_MAX_CPU * OPENPIC_MAX_IPI)) /* First doorbell IRQ */
>> -#else
>> -#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First doorbell IRQ */
>> -#define OPENPIC_IRQ_MBX0 (OPENPIC_IRQ_DBL0 + OPENPIC_MAX_DBL) /* First mailbox IRQ */
>> -#endif
>> +/* OpenPIC capability flags */
>> +#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
>>
>> +/* OpenPIC address map */
>> #define OPENPIC_GLB_REG_START 0x0
>> #define OPENPIC_GLB_REG_SIZE 0x10F0
>> #define OPENPIC_TMR_REG_START 0x10F0
>> @@ -87,31 +68,37 @@ enum {
>> #define OPENPIC_CPU_REG_START 0x20000
>> #define OPENPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
>>
>> -/* MPIC */
>> -#define MPIC_MAX_CPU 1
>> -#define MPIC_MAX_EXT 12
>> -#define MPIC_MAX_INT 64
>> -#define MPIC_MAX_IRQ MAX_IRQ
>> +/* Raven */
>> +#define RAVEN_MAX_CPU 2
>> +#define RAVEN_MAX_EXT 48
>> +#define RAVEN_MAX_IRQ 64
>> +#define RAVEN_MAX_TMR MAX_TMR
>> +#define RAVEN_MAX_IPI MAX_IPI
>> +
>> +/* Interrupt definitions */
>> +#define RAVEN_FE_IRQ (RAVEN_MAX_EXT) /* Internal functional IRQ */
>> +#define RAVEN_ERR_IRQ (RAVEN_MAX_EXT + 1) /* Error IRQ */
>> +#define RAVEN_TMR_IRQ (RAVEN_MAX_EXT + 2) /* First timer IRQ */
>> +#define RAVEN_IPI_IRQ (RAVEN_TMR_IRQ + RAVEN_MAX_TMR) /* First IPI IRQ */
>> +/* First doorbell IRQ */
>> +#define RAVEN_DBL_IRQ (RAVEN_IPI_IRQ + (RAVEN_MAX_CPU * RAVEN_MAX_IPI))
>> +
>> +/* FSL_MPIC_20 */
>> +#define FSL_MPIC_20_MAX_CPU 1
>> +#define FSL_MPIC_20_MAX_EXT 12
>> +#define FSL_MPIC_20_MAX_INT 64
>> +#define FSL_MPIC_20_MAX_IRQ MAX_IRQ
>>
>> /* Interrupt definitions */
>> /* IRQs, accessible through the IRQ region */
>> -#define MPIC_EXT_IRQ 0x00
>> -#define MPIC_INT_IRQ 0x10
>> -#define MPIC_MSG_IRQ 0xb0
>> -#define MPIC_MSI_IRQ 0xe0
>> +#define FSL_MPIC_20_EXT_IRQ 0x00
>> +#define FSL_MPIC_20_INT_IRQ 0x10
>> +#define FSL_MPIC_20_MSG_IRQ 0xb0
>> +#define FSL_MPIC_20_MSI_IRQ 0xe0
>> /* These are available through separate regions, but
>> for simplicity's sake mapped into the same number space */
>> -#define MPIC_TMR_IRQ 0x100
>> -#define MPIC_IPI_IRQ 0x104
>> -
>> -#define MPIC_GLB_REG_START 0x0
>> -#define MPIC_GLB_REG_SIZE 0x10F0
>> -#define MPIC_TMR_REG_START 0x10F0
>> -#define MPIC_TMR_REG_SIZE 0x220
>> -#define MPIC_SRC_REG_START 0x10000
>> -#define MPIC_SRC_REG_SIZE (MAX_SRC * 0x20)
>> -#define MPIC_CPU_REG_START 0x20000
>> -#define MPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
>> +#define FSL_MPIC_20_TMR_IRQ 0x100
>> +#define FSL_MPIC_20_IPI_IRQ 0x104
>>
>> /*
>> * Block Revision Register1 (BRR1): QEMU does not fully emulate
>> @@ -129,6 +116,7 @@ enum {
>> #define FREP_VID_SHIFT 0
>>
>> #define VID_REVISION_1_2 2
>> +#define VID_REVISION_1_3 3
>>
>> #define VENI_GENERIC 0x00000000 /* Generic Vendor ID */
>>
>> @@ -205,10 +193,11 @@ typedef struct IRQ_dst_t {
>> } IRQ_dst_t;
>>
>> typedef struct OpenPICState {
>> - PCIDevice pci_dev;
>> + SysBusDevice busdev;
>> MemoryRegion mem;
>>
>> /* Behavior control */
>> + uint32_t model;
>> uint32_t flags;
>> uint32_t nb_irqs;
>> uint32_t vid;
>> @@ -231,15 +220,15 @@ typedef struct OpenPICState {
>> IRQ_src_t src[MAX_IRQ];
>> /* Local registers per output pin */
>> IRQ_dst_t dst[MAX_CPU];
>> - int nb_cpus;
>> + uint32_t nb_cpus;
>> /* Timer registers */
>> struct {
>> uint32_t ticc; /* Global timer current count register */
>> uint32_t tibc; /* Global timer base count register */
>> } timers[MAX_TMR];
>> - int max_irq;
>> - int irq_ipi0;
>> - int irq_tim0;
>> + uint32_t max_irq;
>> + uint32_t irq_ipi0;
>> + uint32_t irq_tim0;
>> } OpenPICState;
>>
>> static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
>> @@ -411,9 +400,9 @@ static void openpic_set_irq(void *opaque, int n_IRQ, int level)
>> openpic_update_irq(opp, n_IRQ);
>> }
>>
>> -static void openpic_reset (void *opaque)
>> +static void openpic_reset(DeviceState *d)
>> {
>> - OpenPICState *opp = (OpenPICState *)opaque;
>> + OpenPICState *opp = FROM_SYSBUS(typeof (*opp), sysbus_from_qdev(d));
>> int i;
>>
>> opp->glbc = 0x80000000;
>> @@ -506,7 +495,7 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
>> break;
>> case 0x1020: /* GLBC */
>> if (val & 0x80000000) {
>> - openpic_reset(opp);
>> + openpic_reset(&opp->busdev.qdev);
>> }
>> break;
>> case 0x1080: /* VENI */
>> @@ -971,7 +960,7 @@ static void openpic_save(QEMUFile* f, void *opaque)
>> qemu_put_sbe32s(f, &opp->src[i].pending);
>> }
>>
>> - qemu_put_sbe32s(f, &opp->nb_cpus);
>> + qemu_put_be32s(f, &opp->nb_cpus);
>>
>> for (i = 0; i < opp->nb_cpus; i++) {
>> qemu_put_be32s(f, &opp->dst[i].pctp);
>> @@ -984,8 +973,6 @@ static void openpic_save(QEMUFile* f, void *opaque)
>> qemu_put_be32s(f, &opp->timers[i].ticc);
>> qemu_put_be32s(f, &opp->timers[i].tibc);
>> }
>> -
>> - pci_device_save(&opp->pci_dev, f);
>> }
>>
>> static void openpic_load_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
>> @@ -1020,7 +1007,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
>> qemu_get_sbe32s(f, &opp->src[i].pending);
>> }
>>
>> - qemu_get_sbe32s(f, &opp->nb_cpus);
>> + qemu_get_be32s(f, &opp->nb_cpus);
>>
>> for (i = 0; i < opp->nb_cpus; i++) {
>> qemu_get_be32s(f, &opp->dst[i].pctp);
>> @@ -1034,7 +1021,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
>> qemu_get_be32s(f, &opp->timers[i].tibc);
>> }
>>
>> - return pci_device_load(&opp->pci_dev, f);
>> + return 0;
>> }
>>
>> static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
>> @@ -1048,17 +1035,18 @@ static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
>> }
>> }
>>
>> -qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
>> - qemu_irq **irqs)
>> +struct memreg {
>
> Sorry for not noticing this earlier, but this should be MemReg with
> also a typedef.
Ok, would you mind a follow-up patch?
Alex
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: [Qemu-devel] [PATCH 25/40] openpic: convert to qdev
2012-12-14 20:42 ` Alexander Graf
@ 2012-12-14 20:50 ` Blue Swirl
0 siblings, 0 replies; 47+ messages in thread
From: Blue Swirl @ 2012-12-14 20:50 UTC (permalink / raw)
To: Alexander Graf; +Cc: qemu-ppc@nongnu.org List, qemu-devel qemu-devel
On Fri, Dec 14, 2012 at 8:42 PM, Alexander Graf <agraf@suse.de> wrote:
>
> On 14.12.2012, at 21:32, Blue Swirl wrote:
>
>> On Fri, Dec 14, 2012 at 12:13 PM, Alexander Graf <agraf@suse.de> wrote:
>>> This patch converts the OpenPIC device to qdev. Along the way it
>>> renames the "openpic" target to "raven" and the "mpic" target to
>>> "fsl_mpic_20", to better reflect the actual models they implement.
>>>
>>> This way we have a generic OpenPIC device now that can handle
>>> different flavors of the OpenPIC specification.
>>>
>>> Signed-off-by: Alexander Graf <agraf@suse.de>
>>> ---
>>> hw/openpic.c | 278 ++++++++++++++++++++++++++---------------------------
>>> hw/openpic.h | 8 +-
>>> hw/ppc/e500.c | 24 ++++-
>>> hw/ppc_newworld.c | 25 +++++-
>>> 4 files changed, 180 insertions(+), 155 deletions(-)
>>>
>>> diff --git a/hw/openpic.c b/hw/openpic.c
>>> index 5116b3e..591b291 100644
>>> --- a/hw/openpic.c
>>> +++ b/hw/openpic.c
>>> @@ -37,6 +37,7 @@
>>> #include "ppc_mac.h"
>>> #include "pci.h"
>>> #include "openpic.h"
>>> +#include "sysbus.h"
>>>
>>> //#define DEBUG_OPENPIC
>>>
>>> @@ -54,30 +55,10 @@
>>> #define MAX_IRQ (MAX_SRC + MAX_IPI + MAX_TMR)
>>> #define VID 0x03 /* MPIC version ID */
>>>
>>> -enum {
>>> - IRQ_IPVP = 0,
>>> - IRQ_IDE,
>>> -};
>>> -
>>> -/* OpenPIC */
>>> -#define OPENPIC_MAX_CPU 2
>>> -#define OPENPIC_MAX_IRQ 64
>>> -#define OPENPIC_EXT_IRQ 48
>>> -#define OPENPIC_MAX_TMR MAX_TMR
>>> -#define OPENPIC_MAX_IPI MAX_IPI
>>> -
>>> -/* Interrupt definitions */
>>> -#define OPENPIC_IRQ_FE (OPENPIC_EXT_IRQ) /* Internal functional IRQ */
>>> -#define OPENPIC_IRQ_ERR (OPENPIC_EXT_IRQ + 1) /* Error IRQ */
>>> -#define OPENPIC_IRQ_TIM0 (OPENPIC_EXT_IRQ + 2) /* First timer IRQ */
>>> -#if OPENPIC_MAX_IPI > 0
>>> -#define OPENPIC_IRQ_IPI0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First IPI IRQ */
>>> -#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_IPI0 + (OPENPIC_MAX_CPU * OPENPIC_MAX_IPI)) /* First doorbell IRQ */
>>> -#else
>>> -#define OPENPIC_IRQ_DBL0 (OPENPIC_IRQ_TIM0 + OPENPIC_MAX_TMR) /* First doorbell IRQ */
>>> -#define OPENPIC_IRQ_MBX0 (OPENPIC_IRQ_DBL0 + OPENPIC_MAX_DBL) /* First mailbox IRQ */
>>> -#endif
>>> +/* OpenPIC capability flags */
>>> +#define OPENPIC_FLAG_IDE_CRIT (1 << 0)
>>>
>>> +/* OpenPIC address map */
>>> #define OPENPIC_GLB_REG_START 0x0
>>> #define OPENPIC_GLB_REG_SIZE 0x10F0
>>> #define OPENPIC_TMR_REG_START 0x10F0
>>> @@ -87,31 +68,37 @@ enum {
>>> #define OPENPIC_CPU_REG_START 0x20000
>>> #define OPENPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
>>>
>>> -/* MPIC */
>>> -#define MPIC_MAX_CPU 1
>>> -#define MPIC_MAX_EXT 12
>>> -#define MPIC_MAX_INT 64
>>> -#define MPIC_MAX_IRQ MAX_IRQ
>>> +/* Raven */
>>> +#define RAVEN_MAX_CPU 2
>>> +#define RAVEN_MAX_EXT 48
>>> +#define RAVEN_MAX_IRQ 64
>>> +#define RAVEN_MAX_TMR MAX_TMR
>>> +#define RAVEN_MAX_IPI MAX_IPI
>>> +
>>> +/* Interrupt definitions */
>>> +#define RAVEN_FE_IRQ (RAVEN_MAX_EXT) /* Internal functional IRQ */
>>> +#define RAVEN_ERR_IRQ (RAVEN_MAX_EXT + 1) /* Error IRQ */
>>> +#define RAVEN_TMR_IRQ (RAVEN_MAX_EXT + 2) /* First timer IRQ */
>>> +#define RAVEN_IPI_IRQ (RAVEN_TMR_IRQ + RAVEN_MAX_TMR) /* First IPI IRQ */
>>> +/* First doorbell IRQ */
>>> +#define RAVEN_DBL_IRQ (RAVEN_IPI_IRQ + (RAVEN_MAX_CPU * RAVEN_MAX_IPI))
>>> +
>>> +/* FSL_MPIC_20 */
>>> +#define FSL_MPIC_20_MAX_CPU 1
>>> +#define FSL_MPIC_20_MAX_EXT 12
>>> +#define FSL_MPIC_20_MAX_INT 64
>>> +#define FSL_MPIC_20_MAX_IRQ MAX_IRQ
>>>
>>> /* Interrupt definitions */
>>> /* IRQs, accessible through the IRQ region */
>>> -#define MPIC_EXT_IRQ 0x00
>>> -#define MPIC_INT_IRQ 0x10
>>> -#define MPIC_MSG_IRQ 0xb0
>>> -#define MPIC_MSI_IRQ 0xe0
>>> +#define FSL_MPIC_20_EXT_IRQ 0x00
>>> +#define FSL_MPIC_20_INT_IRQ 0x10
>>> +#define FSL_MPIC_20_MSG_IRQ 0xb0
>>> +#define FSL_MPIC_20_MSI_IRQ 0xe0
>>> /* These are available through separate regions, but
>>> for simplicity's sake mapped into the same number space */
>>> -#define MPIC_TMR_IRQ 0x100
>>> -#define MPIC_IPI_IRQ 0x104
>>> -
>>> -#define MPIC_GLB_REG_START 0x0
>>> -#define MPIC_GLB_REG_SIZE 0x10F0
>>> -#define MPIC_TMR_REG_START 0x10F0
>>> -#define MPIC_TMR_REG_SIZE 0x220
>>> -#define MPIC_SRC_REG_START 0x10000
>>> -#define MPIC_SRC_REG_SIZE (MAX_SRC * 0x20)
>>> -#define MPIC_CPU_REG_START 0x20000
>>> -#define MPIC_CPU_REG_SIZE 0x100 + ((MAX_CPU - 1) * 0x1000)
>>> +#define FSL_MPIC_20_TMR_IRQ 0x100
>>> +#define FSL_MPIC_20_IPI_IRQ 0x104
>>>
>>> /*
>>> * Block Revision Register1 (BRR1): QEMU does not fully emulate
>>> @@ -129,6 +116,7 @@ enum {
>>> #define FREP_VID_SHIFT 0
>>>
>>> #define VID_REVISION_1_2 2
>>> +#define VID_REVISION_1_3 3
>>>
>>> #define VENI_GENERIC 0x00000000 /* Generic Vendor ID */
>>>
>>> @@ -205,10 +193,11 @@ typedef struct IRQ_dst_t {
>>> } IRQ_dst_t;
>>>
>>> typedef struct OpenPICState {
>>> - PCIDevice pci_dev;
>>> + SysBusDevice busdev;
>>> MemoryRegion mem;
>>>
>>> /* Behavior control */
>>> + uint32_t model;
>>> uint32_t flags;
>>> uint32_t nb_irqs;
>>> uint32_t vid;
>>> @@ -231,15 +220,15 @@ typedef struct OpenPICState {
>>> IRQ_src_t src[MAX_IRQ];
>>> /* Local registers per output pin */
>>> IRQ_dst_t dst[MAX_CPU];
>>> - int nb_cpus;
>>> + uint32_t nb_cpus;
>>> /* Timer registers */
>>> struct {
>>> uint32_t ticc; /* Global timer current count register */
>>> uint32_t tibc; /* Global timer base count register */
>>> } timers[MAX_TMR];
>>> - int max_irq;
>>> - int irq_ipi0;
>>> - int irq_tim0;
>>> + uint32_t max_irq;
>>> + uint32_t irq_ipi0;
>>> + uint32_t irq_tim0;
>>> } OpenPICState;
>>>
>>> static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
>>> @@ -411,9 +400,9 @@ static void openpic_set_irq(void *opaque, int n_IRQ, int level)
>>> openpic_update_irq(opp, n_IRQ);
>>> }
>>>
>>> -static void openpic_reset (void *opaque)
>>> +static void openpic_reset(DeviceState *d)
>>> {
>>> - OpenPICState *opp = (OpenPICState *)opaque;
>>> + OpenPICState *opp = FROM_SYSBUS(typeof (*opp), sysbus_from_qdev(d));
>>> int i;
>>>
>>> opp->glbc = 0x80000000;
>>> @@ -506,7 +495,7 @@ static void openpic_gbl_write(void *opaque, hwaddr addr, uint64_t val,
>>> break;
>>> case 0x1020: /* GLBC */
>>> if (val & 0x80000000) {
>>> - openpic_reset(opp);
>>> + openpic_reset(&opp->busdev.qdev);
>>> }
>>> break;
>>> case 0x1080: /* VENI */
>>> @@ -971,7 +960,7 @@ static void openpic_save(QEMUFile* f, void *opaque)
>>> qemu_put_sbe32s(f, &opp->src[i].pending);
>>> }
>>>
>>> - qemu_put_sbe32s(f, &opp->nb_cpus);
>>> + qemu_put_be32s(f, &opp->nb_cpus);
>>>
>>> for (i = 0; i < opp->nb_cpus; i++) {
>>> qemu_put_be32s(f, &opp->dst[i].pctp);
>>> @@ -984,8 +973,6 @@ static void openpic_save(QEMUFile* f, void *opaque)
>>> qemu_put_be32s(f, &opp->timers[i].ticc);
>>> qemu_put_be32s(f, &opp->timers[i].tibc);
>>> }
>>> -
>>> - pci_device_save(&opp->pci_dev, f);
>>> }
>>>
>>> static void openpic_load_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
>>> @@ -1020,7 +1007,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
>>> qemu_get_sbe32s(f, &opp->src[i].pending);
>>> }
>>>
>>> - qemu_get_sbe32s(f, &opp->nb_cpus);
>>> + qemu_get_be32s(f, &opp->nb_cpus);
>>>
>>> for (i = 0; i < opp->nb_cpus; i++) {
>>> qemu_get_be32s(f, &opp->dst[i].pctp);
>>> @@ -1034,7 +1021,7 @@ static int openpic_load(QEMUFile* f, void *opaque, int version_id)
>>> qemu_get_be32s(f, &opp->timers[i].tibc);
>>> }
>>>
>>> - return pci_device_load(&opp->pci_dev, f);
>>> + return 0;
>>> }
>>>
>>> static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
>>> @@ -1048,17 +1035,18 @@ static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
>>> }
>>> }
>>>
>>> -qemu_irq *openpic_init (MemoryRegion **pmem, int nb_cpus,
>>> - qemu_irq **irqs)
>>> +struct memreg {
>>
>> Sorry for not noticing this earlier, but this should be MemReg with
>> also a typedef.
>
> Ok, would you mind a follow-up patch?
OK.
>
>
> Alex
>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 26/40] openpic: make brr1 model specific
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (24 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 25/40] openpic: convert to qdev Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 27/40] openpic: add Shared MSI support Alexander Graf
` (14 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
Now that we can properly distinguish between openpic model differences,
let's move brr1 out of the raven code path.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 591b291..5bf16ea 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -206,6 +206,7 @@ typedef struct OpenPICState {
uint32_t tifr_reset;
uint32_t ipvp_reset;
uint32_t ide_reset;
+ uint32_t brr1;
/* Sub-regions */
MemoryRegion sub_io_mem[7];
@@ -784,7 +785,7 @@ static uint32_t openpic_cpu_read_internal(void *opaque, hwaddr addr,
addr &= 0xFF0;
switch (addr) {
case 0x00: /* Block Revision Register1 (BRR1) */
- retval = FSL_BRR1_IPID | FSL_BRR1_IPMJ | FSL_BRR1_IPMN;
+ retval = opp->brr1;
break;
case 0x80: /* PCTP */
retval = dst->pctp;
@@ -1082,6 +1083,7 @@ static int openpic_init(SysBusDevice *dev)
opp->max_irq = FSL_MPIC_20_MAX_IRQ;
opp->irq_ipi0 = FSL_MPIC_20_IPI_IRQ;
opp->irq_tim0 = FSL_MPIC_20_TMR_IRQ;
+ opp->brr1 = FSL_BRR1_IPID | FSL_BRR1_IPMJ | FSL_BRR1_IPMN;
list = list_be;
break;
case OPENPIC_MODEL_RAVEN:
@@ -1095,6 +1097,7 @@ static int openpic_init(SysBusDevice *dev)
opp->max_irq = RAVEN_MAX_IRQ;
opp->irq_ipi0 = RAVEN_IPI_IRQ;
opp->irq_tim0 = RAVEN_TMR_IRQ;
+ opp->brr1 = -1;
list = list_le;
/* Only UP supported today */
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 27/40] openpic: add Shared MSI support
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (25 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 26/40] openpic: make brr1 model specific Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 28/40] PPC: e500: Add " Alexander Graf
` (13 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The OpenPIC allows MSI access through shared MSI registers. Implement
them for the MPC8544 MPIC, so we can support MSIs.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 130 insertions(+), 20 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 5bf16ea..4bea1e7 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -38,6 +38,7 @@
#include "pci.h"
#include "openpic.h"
#include "sysbus.h"
+#include "msi.h"
//#define DEBUG_OPENPIC
@@ -52,6 +53,7 @@
#define MAX_TMR 4
#define VECTOR_BITS 8
#define MAX_IPI 4
+#define MAX_MSI 8
#define MAX_IRQ (MAX_SRC + MAX_IPI + MAX_TMR)
#define VID 0x03 /* MPIC version ID */
@@ -63,6 +65,8 @@
#define OPENPIC_GLB_REG_SIZE 0x10F0
#define OPENPIC_TMR_REG_START 0x10F0
#define OPENPIC_TMR_REG_SIZE 0x220
+#define OPENPIC_MSI_REG_START 0x1600
+#define OPENPIC_MSI_REG_SIZE 0x200
#define OPENPIC_SRC_REG_START 0x10000
#define OPENPIC_SRC_REG_SIZE (MAX_SRC * 0x20)
#define OPENPIC_CPU_REG_START 0x20000
@@ -127,6 +131,12 @@
#define IDR_P1_SHIFT 1
#define IDR_P0_SHIFT 0
+#define MSIIR_OFFSET 0x140
+#define MSIIR_SRS_SHIFT 29
+#define MSIIR_SRS_MASK (0x7 << MSIIR_SRS_SHIFT)
+#define MSIIR_IBS_SHIFT 24
+#define MSIIR_IBS_MASK (0x1f << MSIIR_IBS_SHIFT)
+
#define BF_WIDTH(_bits_) \
(((_bits_) + (sizeof(uint32_t) * 8) - 1) / (sizeof(uint32_t) * 8))
@@ -209,7 +219,7 @@ typedef struct OpenPICState {
uint32_t brr1;
/* Sub-regions */
- MemoryRegion sub_io_mem[7];
+ MemoryRegion sub_io_mem[5];
/* Global registers */
uint32_t frep; /* Feature reporting register */
@@ -227,9 +237,14 @@ typedef struct OpenPICState {
uint32_t ticc; /* Global timer current count register */
uint32_t tibc; /* Global timer base count register */
} timers[MAX_TMR];
+ /* Shared MSI registers */
+ struct {
+ uint32_t msir; /* Shared Message Signaled Interrupt Register */
+ } msi[MAX_MSI];
uint32_t max_irq;
uint32_t irq_ipi0;
uint32_t irq_tim0;
+ uint32_t irq_msi;
} OpenPICState;
static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
@@ -704,6 +719,68 @@ static uint64_t openpic_src_read(void *opaque, uint64_t addr, unsigned len)
return retval;
}
+static void openpic_msi_write(void *opaque, hwaddr addr, uint64_t val,
+ unsigned size)
+{
+ OpenPICState *opp = opaque;
+ int idx = opp->irq_msi;
+ int srs, ibs;
+
+ DPRINTF("%s: addr " TARGET_FMT_plx " <= %08x\n", __func__, addr, val);
+ if (addr & 0xF) {
+ return;
+ }
+
+ switch (addr) {
+ case MSIIR_OFFSET:
+ srs = val >> MSIIR_SRS_SHIFT;
+ idx += srs;
+ ibs = (val & MSIIR_IBS_MASK) >> MSIIR_IBS_SHIFT;
+ opp->msi[srs].msir |= 1 << ibs;
+ openpic_set_irq(opp, idx, 1);
+ break;
+ default:
+ /* most registers are read-only, thus ignored */
+ break;
+ }
+}
+
+static uint64_t openpic_msi_read(void *opaque, hwaddr addr, unsigned size)
+{
+ OpenPICState *opp = opaque;
+ uint64_t r = 0;
+ int i, srs;
+
+ DPRINTF("%s: addr " TARGET_FMT_plx "\n", __func__, addr);
+ if (addr & 0xF) {
+ return -1;
+ }
+
+ srs = addr >> 4;
+
+ switch (addr) {
+ case 0x00:
+ case 0x10:
+ case 0x20:
+ case 0x30:
+ case 0x40:
+ case 0x50:
+ case 0x60:
+ case 0x70: /* MSIRs */
+ r = opp->msi[srs].msir;
+ /* Clear on read */
+ opp->msi[srs].msir = 0;
+ break;
+ case 0x120: /* MSISR */
+ for (i = 0; i < MAX_MSI; i++) {
+ r |= (opp->msi[i].msir ? 1 : 0) << i;
+ }
+ break;
+ }
+
+ return r;
+}
+
static void openpic_cpu_write_internal(void *opaque, hwaddr addr,
uint32_t val, int idx)
{
@@ -932,6 +1009,26 @@ static const MemoryRegionOps openpic_src_ops_be = {
},
};
+static const MemoryRegionOps openpic_msi_ops_le = {
+ .read = openpic_msi_read,
+ .write = openpic_msi_write,
+ .endianness = DEVICE_LITTLE_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
+
+static const MemoryRegionOps openpic_msi_ops_be = {
+ .read = openpic_msi_read,
+ .write = openpic_msi_write,
+ .endianness = DEVICE_BIG_ENDIAN,
+ .impl = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+};
+
static void openpic_save_IRQ_queue(QEMUFile* f, IRQ_queue_t *q)
{
unsigned int i;
@@ -1039,6 +1136,7 @@ static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src)
struct memreg {
const char *name;
MemoryRegionOps const *ops;
+ bool map;
hwaddr start_addr;
ram_addr_t size;
};
@@ -1047,27 +1145,31 @@ static int openpic_init(SysBusDevice *dev)
{
OpenPICState *opp = FROM_SYSBUS(typeof (*opp), dev);
int i, j;
- const struct memreg list_le[] = {
- {"glb", &openpic_glb_ops_le, OPENPIC_GLB_REG_START,
- OPENPIC_GLB_REG_SIZE},
- {"tmr", &openpic_tmr_ops_le, OPENPIC_TMR_REG_START,
- OPENPIC_TMR_REG_SIZE},
- {"src", &openpic_src_ops_le, OPENPIC_SRC_REG_START,
- OPENPIC_SRC_REG_SIZE},
- {"cpu", &openpic_cpu_ops_le, OPENPIC_CPU_REG_START,
- OPENPIC_CPU_REG_SIZE},
+ struct memreg list_le[] = {
+ {"glb", &openpic_glb_ops_le, true,
+ OPENPIC_GLB_REG_START, OPENPIC_GLB_REG_SIZE},
+ {"tmr", &openpic_tmr_ops_le, true,
+ OPENPIC_TMR_REG_START, OPENPIC_TMR_REG_SIZE},
+ {"msi", &openpic_msi_ops_le, true,
+ OPENPIC_MSI_REG_START, OPENPIC_MSI_REG_SIZE},
+ {"src", &openpic_src_ops_le, true,
+ OPENPIC_SRC_REG_START, OPENPIC_SRC_REG_SIZE},
+ {"cpu", &openpic_cpu_ops_le, true,
+ OPENPIC_CPU_REG_START, OPENPIC_CPU_REG_SIZE},
};
- const struct memreg list_be[] = {
- {"glb", &openpic_glb_ops_be, OPENPIC_GLB_REG_START,
- OPENPIC_GLB_REG_SIZE},
- {"tmr", &openpic_tmr_ops_be, OPENPIC_TMR_REG_START,
- OPENPIC_TMR_REG_SIZE},
- {"src", &openpic_src_ops_be, OPENPIC_SRC_REG_START,
- OPENPIC_SRC_REG_SIZE},
- {"cpu", &openpic_cpu_ops_be, OPENPIC_CPU_REG_START,
- OPENPIC_CPU_REG_SIZE},
+ struct memreg list_be[] = {
+ {"glb", &openpic_glb_ops_be, true,
+ OPENPIC_GLB_REG_START, OPENPIC_GLB_REG_SIZE},
+ {"tmr", &openpic_tmr_ops_be, true,
+ OPENPIC_TMR_REG_START, OPENPIC_TMR_REG_SIZE},
+ {"msi", &openpic_msi_ops_be, true,
+ OPENPIC_MSI_REG_START, OPENPIC_MSI_REG_SIZE},
+ {"src", &openpic_src_ops_be, true,
+ OPENPIC_SRC_REG_START, OPENPIC_SRC_REG_SIZE},
+ {"cpu", &openpic_cpu_ops_be, true,
+ OPENPIC_CPU_REG_START, OPENPIC_CPU_REG_SIZE},
};
- struct memreg const *list;
+ struct memreg *list;
switch (opp->model) {
case OPENPIC_MODEL_FSL_MPIC_20:
@@ -1083,7 +1185,9 @@ static int openpic_init(SysBusDevice *dev)
opp->max_irq = FSL_MPIC_20_MAX_IRQ;
opp->irq_ipi0 = FSL_MPIC_20_IPI_IRQ;
opp->irq_tim0 = FSL_MPIC_20_TMR_IRQ;
+ opp->irq_msi = FSL_MPIC_20_MSI_IRQ;
opp->brr1 = FSL_BRR1_IPID | FSL_BRR1_IPMJ | FSL_BRR1_IPMN;
+ msi_supported = true;
list = list_be;
break;
case OPENPIC_MODEL_RAVEN:
@@ -1099,6 +1203,8 @@ static int openpic_init(SysBusDevice *dev)
opp->irq_tim0 = RAVEN_TMR_IRQ;
opp->brr1 = -1;
list = list_le;
+ /* Don't map MSI region */
+ list[2].map = false;
/* Only UP supported today */
if (opp->nb_cpus != 1) {
@@ -1110,6 +1216,10 @@ static int openpic_init(SysBusDevice *dev)
memory_region_init(&opp->mem, "openpic", 0x40000);
for (i = 0; i < ARRAY_SIZE(list_le); i++) {
+ if (!list[i].map) {
+ continue;
+ }
+
memory_region_init_io(&opp->sub_io_mem[i], list[i].ops, opp,
list[i].name, list[i].size);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 28/40] PPC: e500: Add MSI support
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (26 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 27/40] openpic: add Shared MSI support Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 29/40] PPC: e500: Declare pci bridge as bridge Alexander Graf
` (12 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
Now that our interrupt controller supports MSIs, let's expose that feature
to the guest through the device tree!
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/e500.c | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index fa9b8ed..1034f93 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -48,6 +48,7 @@
#define MPC8544_CCSRBAR_BASE 0xE0000000ULL
#define MPC8544_CCSRBAR_SIZE 0x00100000ULL
#define MPC8544_MPIC_REGS_OFFSET 0x40000ULL
+#define MPC8544_MSI_REGS_OFFSET 0x41600ULL
#define MPC8544_SERIAL0_REGS_OFFSET 0x4500ULL
#define MPC8544_SERIAL1_REGS_OFFSET 0x4600ULL
#define MPC8544_PCI_REGS_OFFSET 0x8000ULL
@@ -127,8 +128,10 @@ static int ppce500_load_device_tree(CPUPPCState *env,
char soc[128];
char mpic[128];
uint32_t mpic_ph;
+ uint32_t msi_ph;
char gutil[128];
char pci[128];
+ char msi[128];
uint32_t pci_map[7 * 8];
uint32_t pci_ranges[14] =
{
@@ -300,6 +303,25 @@ static int ppce500_load_device_tree(CPUPPCState *env,
qemu_devtree_setprop_cells(fdt, gutil, "reg", MPC8544_UTIL_OFFSET, 0x1000);
qemu_devtree_setprop(fdt, gutil, "fsl,has-rstcr", NULL, 0);
+ snprintf(msi, sizeof(msi), "/%s/msi@%llx", soc, MPC8544_MSI_REGS_OFFSET);
+ qemu_devtree_add_subnode(fdt, msi);
+ qemu_devtree_setprop_string(fdt, msi, "compatible", "fsl,mpic-msi");
+ qemu_devtree_setprop_cells(fdt, msi, "reg", MPC8544_MSI_REGS_OFFSET, 0x200);
+ msi_ph = qemu_devtree_alloc_phandle(fdt);
+ qemu_devtree_setprop_cells(fdt, msi, "msi-available-ranges", 0x0, 0x100);
+ qemu_devtree_setprop_phandle(fdt, msi, "interrupt-parent", mpic);
+ qemu_devtree_setprop_cells(fdt, msi, "interrupts",
+ 0xe0, 0x0,
+ 0xe1, 0x0,
+ 0xe2, 0x0,
+ 0xe3, 0x0,
+ 0xe4, 0x0,
+ 0xe5, 0x0,
+ 0xe6, 0x0,
+ 0xe7, 0x0);
+ qemu_devtree_setprop_cell(fdt, msi, "phandle", msi_ph);
+ qemu_devtree_setprop_cell(fdt, msi, "linux,phandle", msi_ph);
+
snprintf(pci, sizeof(pci), "/pci@%llx", MPC8544_PCI_REGS_BASE);
qemu_devtree_add_subnode(fdt, pci);
qemu_devtree_setprop_cell(fdt, pci, "cell-index", 0);
@@ -315,6 +337,7 @@ static int ppce500_load_device_tree(CPUPPCState *env,
for (i = 0; i < 14; i++) {
pci_ranges[i] = cpu_to_be32(pci_ranges[i]);
}
+ qemu_devtree_setprop_cell(fdt, pci, "fsl,msi", msi_ph);
qemu_devtree_setprop(fdt, pci, "ranges", pci_ranges, sizeof(pci_ranges));
qemu_devtree_setprop_cells(fdt, pci, "reg", MPC8544_PCI_REGS_BASE >> 32,
MPC8544_PCI_REGS_BASE, 0, 0x1000);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 29/40] PPC: e500: Declare pci bridge as bridge
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (27 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 28/40] PPC: e500: Add " Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 30/40] MSI-X: Fix endianness Alexander Graf
` (11 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The new PCI host bridge device needs to identify itself as PCI host bridge.
Declare it as such.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppce500_pci.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/ppce500_pci.c b/hw/ppce500_pci.c
index 54c72b4..e534341 100644
--- a/hw/ppce500_pci.c
+++ b/hw/ppce500_pci.c
@@ -330,9 +330,15 @@ static int e500_pcihost_bridge_initfn(PCIDevice *d)
PPCE500CCSRState *ccsr = CCSR(container_get(qdev_get_machine(),
"/e500-ccsr"));
+ pci_config_set_class(d->config, PCI_CLASS_BRIDGE_PCI);
+ d->config[PCI_HEADER_TYPE] =
+ (d->config[PCI_HEADER_TYPE] & PCI_HEADER_TYPE_MULTI_FUNCTION) |
+ PCI_HEADER_TYPE_BRIDGE;
+
memory_region_init_alias(&b->bar0, "e500-pci-bar0", &ccsr->ccsr_space,
0, int128_get64(ccsr->ccsr_space.size));
pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &b->bar0);
+
return 0;
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 30/40] MSI-X: Fix endianness
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (28 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 29/40] PPC: e500: Declare pci bridge as bridge Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 31/40] openpic: fix minor coding style issues Alexander Graf
` (10 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The MSI-X vector tables are usually stored in little endian in memory,
so let's mark the accessors as such.
This fixes MSI-X on e500 for me.
Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/msix.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/hw/msix.c b/hw/msix.c
index 136ef09..b57ae60 100644
--- a/hw/msix.c
+++ b/hw/msix.c
@@ -180,8 +180,7 @@ static void msix_table_mmio_write(void *opaque, hwaddr addr,
static const MemoryRegionOps msix_table_mmio_ops = {
.read = msix_table_mmio_read,
.write = msix_table_mmio_write,
- /* TODO: MSIX should be LITTLE_ENDIAN. */
- .endianness = DEVICE_NATIVE_ENDIAN,
+ .endianness = DEVICE_LITTLE_ENDIAN,
.valid = {
.min_access_size = 4,
.max_access_size = 4,
@@ -198,8 +197,7 @@ static uint64_t msix_pba_mmio_read(void *opaque, hwaddr addr,
static const MemoryRegionOps msix_pba_mmio_ops = {
.read = msix_pba_mmio_read,
- /* TODO: MSIX should be LITTLE_ENDIAN. */
- .endianness = DEVICE_NATIVE_ENDIAN,
+ .endianness = DEVICE_LITTLE_ENDIAN,
.valid = {
.min_access_size = 4,
.max_access_size = 4,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 31/40] openpic: fix minor coding style issues
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (29 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 30/40] MSI-X: Fix endianness Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 32/40] openpic: Accelerate pending irq search Alexander Graf
` (9 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
This patch removes all remaining occurences of spaces before function
parameter indicating parenthesis.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 4bea1e7..25d5cd7 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -140,17 +140,17 @@
#define BF_WIDTH(_bits_) \
(((_bits_) + (sizeof(uint32_t) * 8) - 1) / (sizeof(uint32_t) * 8))
-static inline void set_bit (uint32_t *field, int bit)
+static inline void set_bit(uint32_t *field, int bit)
{
field[bit >> 5] |= 1 << (bit & 0x1F);
}
-static inline void reset_bit (uint32_t *field, int bit)
+static inline void reset_bit(uint32_t *field, int bit)
{
field[bit >> 5] &= ~(1 << (bit & 0x1F));
}
-static inline int test_bit (uint32_t *field, int bit)
+static inline int test_bit(uint32_t *field, int bit)
{
return (field[bit >> 5] & 1 << (bit & 0x1F)) != 0;
}
@@ -249,17 +249,17 @@ typedef struct OpenPICState {
static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
-static inline void IRQ_setbit (IRQ_queue_t *q, int n_IRQ)
+static inline void IRQ_setbit(IRQ_queue_t *q, int n_IRQ)
{
set_bit(q->queue, n_IRQ);
}
-static inline void IRQ_resetbit (IRQ_queue_t *q, int n_IRQ)
+static inline void IRQ_resetbit(IRQ_queue_t *q, int n_IRQ)
{
reset_bit(q->queue, n_IRQ);
}
-static inline int IRQ_testbit (IRQ_queue_t *q, int n_IRQ)
+static inline int IRQ_testbit(IRQ_queue_t *q, int n_IRQ)
{
return test_bit(q->queue, n_IRQ);
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 32/40] openpic: Accelerate pending irq search
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (30 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 31/40] openpic: fix minor coding style issues Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 33/40] PPC: E500: PCI: Make first slot qdev settable Alexander Graf
` (8 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
When we're done with one interrupt, we need to search for the next pending
interrupt in the queue. This search has grown quite big now that we have
more than 256 possible irq lines.
So let's memorize how many interrupts we have pending in our bitmaps, so
that we can always bail out in the usual case - the one where we're all done.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/openpic.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 25d5cd7..3cbcea8 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -169,6 +169,7 @@ typedef struct IRQ_queue_t {
uint32_t queue[BF_WIDTH(MAX_IRQ)];
int next;
int priority;
+ int pending; /* nr of pending bits in queue */
} IRQ_queue_t;
typedef struct IRQ_src_t {
@@ -251,11 +252,13 @@ static void openpic_irq_raise(OpenPICState *opp, int n_CPU, IRQ_src_t *src);
static inline void IRQ_setbit(IRQ_queue_t *q, int n_IRQ)
{
+ q->pending++;
set_bit(q->queue, n_IRQ);
}
static inline void IRQ_resetbit(IRQ_queue_t *q, int n_IRQ)
{
+ q->pending--;
reset_bit(q->queue, n_IRQ);
}
@@ -271,6 +274,12 @@ static void IRQ_check(OpenPICState *opp, IRQ_queue_t *q)
next = -1;
priority = -1;
+
+ if (!q->pending) {
+ /* IRQ bitmap is empty */
+ goto out;
+ }
+
for (i = 0; i < opp->max_irq; i++) {
if (IRQ_testbit(q, i)) {
DPRINTF("IRQ_check: irq %d set ipvp_pr=%d pr=%d\n",
@@ -281,6 +290,8 @@ static void IRQ_check(OpenPICState *opp, IRQ_queue_t *q)
}
}
}
+
+out:
q->next = next;
q->priority = priority;
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 33/40] PPC: E500: PCI: Make first slot qdev settable
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (31 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 32/40] openpic: Accelerate pending irq search Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 34/40] PPC: E500: PCI: Make IRQ calculation more generic Alexander Graf
` (7 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
Today the first slot id in our e500 pci implementation is hardcoded to
0x11. Keep it there as default, but allow users to change the default to
a different id.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppce500_pci.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/hw/ppce500_pci.c b/hw/ppce500_pci.c
index e534341..4cd4edc 100644
--- a/hw/ppce500_pci.c
+++ b/hw/ppce500_pci.c
@@ -87,6 +87,7 @@ struct PPCE500PCIState {
struct pci_inbound pib[PPCE500_PCI_NR_PIBS];
uint32_t gasket_time;
qemu_irq irq[4];
+ uint32_t first_slot;
/* mmio maps */
MemoryRegion container;
MemoryRegion iomem;
@@ -361,7 +362,7 @@ static int e500_pcihost_initfn(SysBusDevice *dev)
b = pci_register_bus(DEVICE(dev), NULL, mpc85xx_pci_set_irq,
mpc85xx_pci_map_irq, s->irq, address_space_mem,
- &s->pio, PCI_DEVFN(0x11, 0), 4);
+ &s->pio, PCI_DEVFN(s->first_slot, 0), 4);
h->bus = b;
pci_create_simple(b, 0, "e500-host-bridge");
@@ -401,12 +402,18 @@ static const TypeInfo e500_host_bridge_info = {
.class_init = e500_host_bridge_class_init,
};
+static Property pcihost_properties[] = {
+ DEFINE_PROP_UINT32("first_slot", PPCE500PCIState, first_slot, 0x11),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
static void e500_pcihost_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
k->init = e500_pcihost_initfn;
+ dc->props = pcihost_properties;
dc->vmsd = &vmstate_ppce500_pci;
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 34/40] PPC: E500: PCI: Make IRQ calculation more generic
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (32 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 33/40] PPC: E500: PCI: Make first slot qdev settable Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 35/40] PPC: E500: Generate dt pci irq map dynamically Alexander Graf
` (6 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The IRQ line calculation is more or less hardcoded today. Instead, let's
write it as an algorithmic function that theoretically allows an arbitrary
number of PCI slots.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppce500_pci.c | 13 +++----------
1 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/hw/ppce500_pci.c b/hw/ppce500_pci.c
index 4cd4edc..561a776 100644
--- a/hw/ppce500_pci.c
+++ b/hw/ppce500_pci.c
@@ -253,17 +253,10 @@ static const MemoryRegionOps e500_pci_reg_ops = {
static int mpc85xx_pci_map_irq(PCIDevice *pci_dev, int irq_num)
{
- int devno = pci_dev->devfn >> 3, ret = 0;
+ int devno = pci_dev->devfn >> 3;
+ int ret;
- switch (devno) {
- /* Two PCI slot */
- case 0x11:
- case 0x12:
- ret = (irq_num + devno - 0x10) % 4;
- break;
- default:
- printf("Error:%s:unknown dev number\n", __func__);
- }
+ ret = (irq_num + devno) % 4;
pci_debug("%s: devfn %x irq %d -> %d devno:%x\n", __func__,
pci_dev->devfn, irq_num, ret, devno);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 35/40] PPC: E500: Generate dt pci irq map dynamically
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (33 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 34/40] PPC: E500: PCI: Make IRQ calculation more generic Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 36/40] PPC: E500: Move PCI slot information into params Alexander Graf
` (5 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
Today we're hardcoding the PCI interrupt map in the e500 machine file.
Instead, let's write it dynamically so that different machine types
can have different slot properties.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/e500.c | 51 +++++++++++++++++++++++++++++++--------------------
1 files changed, 31 insertions(+), 20 deletions(-)
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 1034f93..ebb6d96 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -66,25 +66,33 @@ struct boot_info
uint32_t entry;
};
-static void pci_map_create(void *fdt, uint32_t *pci_map, uint32_t mpic)
+static uint32_t *pci_map_create(void *fdt, uint32_t mpic, int first_slot,
+ int nr_slots, int *len)
{
- int i;
- const uint32_t tmp[] = {
- /* IDSEL 0x11 J17 Slot 1 */
- 0x8800, 0x0, 0x0, 0x1, mpic, 0x2, 0x1,
- 0x8800, 0x0, 0x0, 0x2, mpic, 0x3, 0x1,
- 0x8800, 0x0, 0x0, 0x3, mpic, 0x4, 0x1,
- 0x8800, 0x0, 0x0, 0x4, mpic, 0x1, 0x1,
-
- /* IDSEL 0x12 J16 Slot 2 */
- 0x9000, 0x0, 0x0, 0x1, mpic, 0x3, 0x1,
- 0x9000, 0x0, 0x0, 0x2, mpic, 0x4, 0x1,
- 0x9000, 0x0, 0x0, 0x3, mpic, 0x2, 0x1,
- 0x9000, 0x0, 0x0, 0x4, mpic, 0x1, 0x1,
- };
- for (i = 0; i < (7 * 8); i++) {
- pci_map[i] = cpu_to_be32(tmp[i]);
+ int i = 0;
+ int slot;
+ int pci_irq;
+ int last_slot = first_slot + nr_slots;
+ uint32_t *pci_map;
+
+ *len = nr_slots * 4 * 7 * sizeof(uint32_t);
+ pci_map = g_malloc(*len);
+
+ for (slot = first_slot; slot < last_slot; slot++) {
+ for (pci_irq = 0; pci_irq < 4; pci_irq++) {
+ pci_map[i++] = cpu_to_be32(slot << 11);
+ pci_map[i++] = cpu_to_be32(0x0);
+ pci_map[i++] = cpu_to_be32(0x0);
+ pci_map[i++] = cpu_to_be32(pci_irq + 1);
+ pci_map[i++] = cpu_to_be32(mpic);
+ pci_map[i++] = cpu_to_be32(((pci_irq + slot) % 4) + 1);
+ pci_map[i++] = cpu_to_be32(0x1);
+ }
}
+
+ assert((i * sizeof(uint32_t)) == *len);
+
+ return pci_map;
}
static void dt_serial_create(void *fdt, unsigned long long offset,
@@ -132,7 +140,8 @@ static int ppce500_load_device_tree(CPUPPCState *env,
char gutil[128];
char pci[128];
char msi[128];
- uint32_t pci_map[7 * 8];
+ uint32_t *pci_map = NULL;
+ int len;
uint32_t pci_ranges[14] =
{
0x2000000, 0x0, 0xc0000000,
@@ -329,8 +338,9 @@ static int ppce500_load_device_tree(CPUPPCState *env,
qemu_devtree_setprop_string(fdt, pci, "device_type", "pci");
qemu_devtree_setprop_cells(fdt, pci, "interrupt-map-mask", 0xf800, 0x0,
0x0, 0x7);
- pci_map_create(fdt, pci_map, qemu_devtree_get_phandle(fdt, mpic));
- qemu_devtree_setprop(fdt, pci, "interrupt-map", pci_map, sizeof(pci_map));
+ pci_map = pci_map_create(fdt, qemu_devtree_get_phandle(fdt, mpic),
+ 0x11, 2, &len);
+ qemu_devtree_setprop(fdt, pci, "interrupt-map", pci_map, len);
qemu_devtree_setprop_phandle(fdt, pci, "interrupt-parent", mpic);
qemu_devtree_setprop_cells(fdt, pci, "interrupts", 24, 2);
qemu_devtree_setprop_cells(fdt, pci, "bus-range", 0, 255);
@@ -364,6 +374,7 @@ done:
ret = fdt_size;
out:
+ g_free(pci_map);
return ret;
}
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 36/40] PPC: E500: Move PCI slot information into params
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (34 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 35/40] PPC: E500: Generate dt pci irq map dynamically Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 37/40] PPC: E500plat: Make a lot of PCI slots available Alexander Graf
` (4 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
We have a params struct that allows us to expose differences between
e500 machine models. Include PCI slot information there, so we can have
different machines with different PCI slot topology.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/e500.c | 4 +++-
hw/ppc/e500.h | 2 ++
hw/ppc/e500plat.c | 2 ++
hw/ppc/mpc8544ds.c | 2 ++
4 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index ebb6d96..564f654 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -339,7 +339,8 @@ static int ppce500_load_device_tree(CPUPPCState *env,
qemu_devtree_setprop_cells(fdt, pci, "interrupt-map-mask", 0xf800, 0x0,
0x0, 0x7);
pci_map = pci_map_create(fdt, qemu_devtree_get_phandle(fdt, mpic),
- 0x11, 2, &len);
+ params->pci_first_slot, params->pci_nr_slots,
+ &len);
qemu_devtree_setprop(fdt, pci, "interrupt-map", pci_map, len);
qemu_devtree_setprop_phandle(fdt, pci, "interrupt-parent", mpic);
qemu_devtree_setprop_cells(fdt, pci, "interrupts", 24, 2);
@@ -569,6 +570,7 @@ void ppce500_init(PPCE500Params *params)
/* PCI */
dev = qdev_create(NULL, "e500-pcihost");
+ qdev_prop_set_uint32(dev, "first_slot", params->pci_first_slot);
qdev_init_nofail(dev);
s = SYS_BUS_DEVICE(dev);
sysbus_connect_irq(s, 0, mpic[pci_irq_nrs[0]]);
diff --git a/hw/ppc/e500.h b/hw/ppc/e500.h
index 7ae87f4..f5ff273 100644
--- a/hw/ppc/e500.h
+++ b/hw/ppc/e500.h
@@ -9,6 +9,8 @@ typedef struct PPCE500Params {
const char *kernel_cmdline;
const char *initrd_filename;
const char *cpu_model;
+ int pci_first_slot;
+ int pci_nr_slots;
/* e500-specific params */
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 4cfb940..9365213 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -40,6 +40,8 @@ static void e500plat_init(QEMUMachineInitArgs *args)
.kernel_cmdline = kernel_cmdline,
.initrd_filename = initrd_filename,
.cpu_model = cpu_model,
+ .pci_first_slot = 0x11,
+ .pci_nr_slots = 2,
.fixup_devtree = e500plat_fixup_devtree,
};
diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
index e651661..7e1761d 100644
--- a/hw/ppc/mpc8544ds.c
+++ b/hw/ppc/mpc8544ds.c
@@ -40,6 +40,8 @@ static void mpc8544ds_init(QEMUMachineInitArgs *args)
.kernel_cmdline = kernel_cmdline,
.initrd_filename = initrd_filename,
.cpu_model = cpu_model,
+ .pci_first_slot = 0x11,
+ .pci_nr_slots = 2,
.fixup_devtree = mpc8544ds_fixup_devtree,
};
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 37/40] PPC: E500plat: Make a lot of PCI slots available
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (35 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 36/40] PPC: E500: Move PCI slot information into params Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 38/40] PPC: e500: pci: Export slot2irq calculation Alexander Graf
` (3 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
The ppce500 machine doesn't have to stick to hardware limitations,
as it's defined as being fully device tree based.
Thus we can change the initial PCI slot ID to 0x1 which gives us a
whopping 31 PCI devices we can support with this machine now!
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/e500plat.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 9365213..2992bd9 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -14,6 +14,7 @@
#include "e500.h"
#include "../boards.h"
#include "device_tree.h"
+#include "hw/pci.h"
static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
{
@@ -40,8 +41,8 @@ static void e500plat_init(QEMUMachineInitArgs *args)
.kernel_cmdline = kernel_cmdline,
.initrd_filename = initrd_filename,
.cpu_model = cpu_model,
- .pci_first_slot = 0x11,
- .pci_nr_slots = 2,
+ .pci_first_slot = 0x1,
+ .pci_nr_slots = PCI_SLOT_MAX - 1,
.fixup_devtree = e500plat_fixup_devtree,
};
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 38/40] PPC: e500: pci: Export slot2irq calculation
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (36 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 37/40] PPC: E500plat: Make a lot of PCI slots available Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 39/40] target-ppc: Don't use hwaddr to represent hardware state Alexander Graf
` (2 subsequent siblings)
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel
We need the calculation method to get from a PCI slot ID to its respective
interrupt line twice. Once in the internal map function and once when
assembling the device tree.
So let's extract the calculation to a separate function that can be called
by both users.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/ppc/e500.c | 5 ++++-
hw/ppce500_pci.c | 3 ++-
hw/ppce500_pci.h | 9 +++++++++
3 files changed, 15 insertions(+), 2 deletions(-)
create mode 100644 hw/ppce500_pci.h
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 564f654..af6b671 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -34,6 +34,7 @@
#include "hw/sysbus.h"
#include "exec-memory.h"
#include "host-utils.h"
+#include "hw/ppce500_pci.h"
#define BINARY_DEVICE_TREE_FILE "mpc8544ds.dtb"
#define UIMAGE_LOAD_BASE 0
@@ -72,6 +73,7 @@ static uint32_t *pci_map_create(void *fdt, uint32_t mpic, int first_slot,
int i = 0;
int slot;
int pci_irq;
+ int host_irq;
int last_slot = first_slot + nr_slots;
uint32_t *pci_map;
@@ -85,7 +87,8 @@ static uint32_t *pci_map_create(void *fdt, uint32_t mpic, int first_slot,
pci_map[i++] = cpu_to_be32(0x0);
pci_map[i++] = cpu_to_be32(pci_irq + 1);
pci_map[i++] = cpu_to_be32(mpic);
- pci_map[i++] = cpu_to_be32(((pci_irq + slot) % 4) + 1);
+ host_irq = ppce500_pci_map_irq_slot(slot, pci_irq);
+ pci_map[i++] = cpu_to_be32(host_irq + 1);
pci_map[i++] = cpu_to_be32(0x1);
}
}
diff --git a/hw/ppce500_pci.c b/hw/ppce500_pci.c
index 561a776..09e3507 100644
--- a/hw/ppce500_pci.c
+++ b/hw/ppce500_pci.c
@@ -19,6 +19,7 @@
#include "pci.h"
#include "pci_host.h"
#include "bswap.h"
+#include "ppce500_pci.h"
#ifdef DEBUG_PCI
#define pci_debug(fmt, ...) fprintf(stderr, fmt, ## __VA_ARGS__)
@@ -256,7 +257,7 @@ static int mpc85xx_pci_map_irq(PCIDevice *pci_dev, int irq_num)
int devno = pci_dev->devfn >> 3;
int ret;
- ret = (irq_num + devno) % 4;
+ ret = ppce500_pci_map_irq_slot(devno, irq_num);
pci_debug("%s: devfn %x irq %d -> %d devno:%x\n", __func__,
pci_dev->devfn, irq_num, ret, devno);
diff --git a/hw/ppce500_pci.h b/hw/ppce500_pci.h
new file mode 100644
index 0000000..61f773e
--- /dev/null
+++ b/hw/ppce500_pci.h
@@ -0,0 +1,9 @@
+#ifndef PPCE500_PCI_H
+#define PPCE500_PCI_H
+
+static inline int ppce500_pci_map_irq_slot(int devno, int irq_num)
+{
+ return (devno + irq_num) % 4;
+}
+
+#endif
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 39/40] target-ppc: Don't use hwaddr to represent hardware state
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (37 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 38/40] PPC: e500: pci: Export slot2irq calculation Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-14 12:13 ` [Qemu-devel] [PATCH 40/40] pseries: Increase default NVRAM size Alexander Graf
2012-12-15 10:09 ` [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Blue Swirl
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
The hwaddr type is somewhat vaguely defined as being able to contain bus
addresses on the widest possible bus in the system. For that reason it's
discouraged for representing specific pieces of persistent hardware state,
which should instead use an explicit width type that matches the bits
available in real hardware. In particular, because of the possibility that
the size of hwaddr might change if different buses are added to the target
in future, it's not suitable for use in vm state descriptions for savevm
and migration.
This patch purges such unwise uses of hwaddr from the ppc target code,
which turns out to be just one. The ppcemb_tlb_t struct, used on a number
of embedded ppc models to represent a TLB entry contains a hwaddr for the
real address field. This patch changes it to be a fixed uint64_t which is
suitable enough for all machine types which use this structure.
Other uses of hwaddr in CPUPPCState turn out not to be problematic:
htab_base and htab_mask are just used for the convenience of the TCG code;
the underlying machine state is the SDR1 register, which is stored with
a suitable type already. Likewise the mpic_cpu_base field is only used
internally and does not represent fundamental hardware state which needs to
be saved.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
target-ppc/cpu.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h
index 5f1dc8b..742d4f8 100644
--- a/target-ppc/cpu.h
+++ b/target-ppc/cpu.h
@@ -355,7 +355,7 @@ struct ppc6xx_tlb_t {
typedef struct ppcemb_tlb_t ppcemb_tlb_t;
struct ppcemb_tlb_t {
- hwaddr RPN;
+ uint64_t RPN;
target_ulong EPN;
target_ulong PID;
target_ulong size;
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [Qemu-devel] [PATCH 40/40] pseries: Increase default NVRAM size
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (38 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 39/40] target-ppc: Don't use hwaddr to represent hardware state Alexander Graf
@ 2012-12-14 12:13 ` Alexander Graf
2012-12-15 10:09 ` [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Blue Swirl
40 siblings, 0 replies; 47+ messages in thread
From: Alexander Graf @ 2012-12-14 12:13 UTC (permalink / raw)
To: qemu-ppc@nongnu.org List; +Cc: qemu-devel qemu-devel, David Gibson
From: David Gibson <david@gibson.dropbear.id.au>
If no image file for NVRAM is specified, the pseries machine currently
creates a 16K non-persistent NVRAM by default. This basically works, but
is not large enough for current firmware and guest kernels to create all
the NVRAM partitions they would like to. Increasing the default size to
64K addresses this and stops the guest generating error messages.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
hw/spapr_nvram.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/spapr_nvram.c b/hw/spapr_nvram.c
index 641de48..512bb8d 100644
--- a/hw/spapr_nvram.c
+++ b/hw/spapr_nvram.c
@@ -37,7 +37,7 @@ typedef struct sPAPRNVRAM {
} sPAPRNVRAM;
#define MIN_NVRAM_SIZE 8192
-#define DEFAULT_NVRAM_SIZE 16384
+#define DEFAULT_NVRAM_SIZE 65536
#define MAX_NVRAM_SIZE (UINT16_MAX * 16)
static void rtas_nvram_fetch(sPAPREnvironment *spapr,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* Re: [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14
2012-12-14 12:13 [Qemu-devel] [PULL 00/40] ppc patch queue 2012-12-14 Alexander Graf
` (39 preceding siblings ...)
2012-12-14 12:13 ` [Qemu-devel] [PATCH 40/40] pseries: Increase default NVRAM size Alexander Graf
@ 2012-12-15 10:09 ` Blue Swirl
40 siblings, 0 replies; 47+ messages in thread
From: Blue Swirl @ 2012-12-15 10:09 UTC (permalink / raw)
To: Alexander Graf
Cc: qemu-ppc@nongnu.org List, qemu-devel qemu-devel, Aurelien Jarno
On Fri, Dec 14, 2012 at 12:13 PM, Alexander Graf <agraf@suse.de> wrote:
> Hi Blue / Aurelien,
>
> This is my current patch queue for ppc. Please pull.
Thanks, pulled.
>
> Alex
>
>
> The following changes since commit 1c97e303d4ea80a2691334b0febe87a50660f99d:
> Anthony Liguori (1):
> Merge remote-tracking branch 'afaerber/qom-cpu' into staging
>
> are available in the git repository at:
>
> git://repo.or.cz/qemu/agraf.git ppc-for-upstream
>
> Alexander Graf (27):
> openpic: Remove unused code
> mpic: Unify numbering scheme
> openpic: update to proper memory api
> openpic: combine mpic and openpic src handlers
> openpic: Convert subregions to memory api
> openpic: combine mpic and openpic irq raise functions
> openpic: merge mpic and openpic timer handling
> openpic: combine openpic and mpic reset functions
> openpic: unify memory api subregions
> openpic: remove unused type variable
> openpic: convert simple reg operations to builtin bitops
> openpic: rename openpic_t to OpenPICState
> openpic: remove irq_out
> openpic: convert to qdev
> openpic: make brr1 model specific
> openpic: add Shared MSI support
> PPC: e500: Add MSI support
> PPC: e500: Declare pci bridge as bridge
> MSI-X: Fix endianness
> openpic: fix minor coding style issues
> openpic: Accelerate pending irq search
> PPC: E500: PCI: Make first slot qdev settable
> PPC: E500: PCI: Make IRQ calculation more generic
> PPC: E500: Generate dt pci irq map dynamically
> PPC: E500: Move PCI slot information into params
> PPC: E500plat: Make a lot of PCI slots available
> PPC: e500: pci: Export slot2irq calculation
>
> Ben Herrenschmidt (2):
> pseries: Use #define for XICS base irq number
> pseries: Allow RTAS tokens without a qemu handler
>
> Bharat Bhushan (2):
> e500: Adding CCSR memory region
> Adding BAR0 for e500 PCI controller
>
> David Gibson (8):
> pseries: Fix incorrect initialization of interrupt controller
> pseries: Add tracepoints to the XICS interrupt controller
> pseries: Split xics irq configuration from state information
> pseries: Implement PAPR NVRAM
> pseries: Update SLOF for NVRAM support
> pseries: Don't allow TCE (iommu) tables to be registered with duplicate LIOBNs
> target-ppc: Don't use hwaddr to represent hardware state
> pseries: Increase default NVRAM size
>
> Michael Ellerman (1):
> pseries: Return the token when we register an RTAS call
>
> hw/msix.c | 6 +-
> hw/openpic.c | 1397 ++++++++++++++++++--------------------------------
> hw/openpic.h | 7 +-
> hw/ppc/Makefile.objs | 2 +-
> hw/ppc/e500-ccsr.h | 17 +
> hw/ppc/e500.c | 205 ++++++--
> hw/ppc/e500.h | 2 +
> hw/ppc/e500plat.c | 3 +
> hw/ppc/mpc8544ds.c | 2 +
> hw/ppc_newworld.c | 25 +-
> hw/ppce500_pci.c | 58 ++-
> hw/ppce500_pci.h | 9 +
> hw/spapr.c | 35 ++-
> hw/spapr.h | 4 +-
> hw/spapr_iommu.c | 6 +
> hw/spapr_nvram.c | 196 +++++++
> hw/spapr_rtas.c | 6 +-
> hw/xics.c | 47 ++-
> hw/xics.h | 1 +
> pc-bios/README | 2 +-
> pc-bios/slof.bin | Bin 878640 -> 880832 bytes
> qemu-config.c | 4 +
> roms/SLOF | 2 +-
> target-ppc/cpu.h | 2 +-
> trace-events | 13 +
> 25 files changed, 1043 insertions(+), 1008 deletions(-)
> create mode 100644 hw/ppc/e500-ccsr.h
> create mode 100644 hw/ppce500_pci.h
> create mode 100644 hw/spapr_nvram.c
>
^ permalink raw reply [flat|nested] 47+ messages in thread