unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Feedback from JRES in Dijon
@ 2019-12-05 14:16 Julien Lepiller
  2019-12-05 14:34 ` Pierre Neidhardt
                   ` (3 more replies)
  0 siblings, 4 replies; 34+ messages in thread
From: Julien Lepiller @ 2019-12-05 14:16 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1202 bytes --]

Hi Guix!

I presented the project at JRES yesterday and had lots of questions and reactions.

One person was wondering whether Guix would be a good idea for there cluster. I said yes then I redirected them to guix hpc.

Another wanted to have some kind of doi for guix describe + manifest (a better UI and easier thing to cite in a paper I suppose).

Another was asking about the possibility ofusing Guix to have multiple kernels and boot a debian with guix's kernel (so as to choose a compatible kernel at boot iiuc).

The person I talked to at lunch was a bit skeptical about Guix. They have it and Nix, with module on their cluster. They told me they were more concerned about replicability than reproducibility. Also, their users are lost between the options, they have trouble getting help on guix from their admins and they end up using conda, yet another tool ^^".

That's only a few conversations that really marked me, but I had more, and I'll hopefully have more this afternoon and tomorrow.

Marc, who organised the guile and guix days in Strasbourg last summer is here too and said he will write a tutorial on using vin to program in scheme. I'm lookinq forward to reading it!

[-- Attachment #2: Type: text/html, Size: 1230 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 14:16 Feedback from JRES in Dijon Julien Lepiller
@ 2019-12-05 14:34 ` Pierre Neidhardt
  2019-12-05 14:42   ` Julien Lepiller
  2019-12-05 14:39 ` Julien Lepiller
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 34+ messages in thread
From: Pierre Neidhardt @ 2019-12-05 14:34 UTC (permalink / raw)
  To: Julien Lepiller, guix-devel

[-- Attachment #1: Type: text/plain, Size: 306 bytes --]

Thanks for the feedback!

> The person I talked to at lunch was a bit skeptical about Guix. They
> have it and Nix, with module on their cluster. They told me they were
> more concerned about replicability than reproducibility.

What's replicability?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 14:16 Feedback from JRES in Dijon Julien Lepiller
  2019-12-05 14:34 ` Pierre Neidhardt
@ 2019-12-05 14:39 ` Julien Lepiller
  2019-12-05 15:42 ` zimoun
  2019-12-10 17:06 ` Ludovic Courtès
  3 siblings, 0 replies; 34+ messages in thread
From: Julien Lepiller @ 2019-12-05 14:39 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1693 bytes --]

I forgot to give you a link to the presentation. It's in French: https://replay.jres.org/videos/watch/c77b3a44-b75f-4c10-9f39-8fb55ae096d7

Also, Marc talked about jdev, another French conference where we could present Guix too: http://devlog.cnrs.fr/jdev2020

Le 5 décembre 2019 15:16:23 GMT+01:00, Julien Lepiller <julien@lepiller.eu> a écrit :
>Hi Guix!
>
>I presented the project at JRES yesterday and had lots of questions and
>reactions.
>
>One person was wondering whether Guix would be a good idea for there
>cluster. I said yes then I redirected them to guix hpc.
>
>Another wanted to have some kind of doi for guix describe + manifest (a
>better UI and easier thing to cite in a paper I suppose).
>
>Another was asking about the possibility ofusing Guix to have multiple
>kernels and boot a debian with guix's kernel (so as to choose a
>compatible kernel at boot iiuc).
>
>The person I talked to at lunch was a bit skeptical about Guix. They
>have it and Nix, with module on their cluster. They told me they were
>more concerned about replicability than reproducibility. Also, their
>users are lost between the options, they have trouble getting help on
>guix from their admins and they end up using conda, yet another tool
>^^".
>
>That's only a few conversations that really marked me, but I had more,
>and I'll hopefully have more this afternoon and tomorrow.
>
>Marc, who organised the guile and guix days in Strasbourg last summer
>is here too and said he will write a tutorial on using vin to program
>in scheme. I'm lookinq forward to reading it!

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.

[-- Attachment #2: Type: text/html, Size: 2041 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 14:34 ` Pierre Neidhardt
@ 2019-12-05 14:42   ` Julien Lepiller
  2019-12-05 15:44     ` Konrad Hinsen
  2019-12-05 15:47     ` Feedback from JRES in Dijon zimoun
  0 siblings, 2 replies; 34+ messages in thread
From: Julien Lepiller @ 2019-12-05 14:42 UTC (permalink / raw)
  To: Pierre Neidhardt, guix-devel

[-- Attachment #1: Type: text/plain, Size: 854 bytes --]

So they are doing physical simulation (fluid dynamics), so they don't (can't) get the same result when running the same experiment twice. They wart replicability, that is, even if the results are different, they are close enough to each other that you have to draw the same scientific conclusion, independent of your compiler or other package inputs.

Le 5 décembre 2019 15:34:15 GMT+01:00, Pierre Neidhardt <mail@ambrevar.xyz> a écrit :
>Thanks for the feedback!
>
>> The person I talked to at lunch was a bit skeptical about Guix. They
>> have it and Nix, with module on their cluster. They told me they were
>> more concerned about replicability than reproducibility.
>
>What's replicability?
>
>-- 
>Pierre Neidhardt
>https://ambrevar.xyz/

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.

[-- Attachment #2: Type: text/html, Size: 1186 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 14:16 Feedback from JRES in Dijon Julien Lepiller
  2019-12-05 14:34 ` Pierre Neidhardt
  2019-12-05 14:39 ` Julien Lepiller
@ 2019-12-05 15:42 ` zimoun
  2019-12-10 17:06 ` Ludovic Courtès
  3 siblings, 0 replies; 34+ messages in thread
From: zimoun @ 2019-12-05 15:42 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix Devel

Hi Julien,

Thank you for this report.

On Thu, 5 Dec 2019 at 15:25, Julien Lepiller <julien@lepiller.eu> wrote:

> Another wanted to have some kind of doi for guix describe + manifest (a better UI and easier thing to cite in a paper I suppose).

I agree that something is lacking. I was not thinking about DOI but I
was thinking a better UI similar to "git tag" to improve the current
situation. It is not exactly the question that you had but it seems
related, AFAIU. For example, it is hard to know which commit I need to
"guix pull" to have Python 3.6, if we have. I tried to start a
discussion in this topic there [1]. Another concrete example had been
asked here [2].

[1] https://lists.gnu.org/archive/html/guix-devel/2019-11/msg00513.html
[2] https://lists.gnu.org/archive/html/help-guix/2019-06/msg00098.html


> The person I talked to at lunch was a bit skeptical about Guix. They have it and Nix, with module on their cluster. They told me they were more concerned about replicability than reproducibility. Also, their users are lost between the options, they have trouble getting help on guix from their admins and they end up using conda, yet another tool ^^".

Bit-to-bit reproducibility is the first step to go to Replicability, IMHO.
For sure, Conda is a no-go for this goal, again IMHO. :-)
Modulefiles is loosing their time by re-doing what packagers are
doing; it is the dependency hell because they spend their time on
compiling libraries -- the code of interest depends on one lib which
depends on other lib which depends on... So it requires a lot of
manpower. Guix solves that elegantly IMO; considering channels.

And the big issue of replicability is floating point. The same binary
with the same inputs does not compute the same output. For example,
see page 13 of [3].

[3] https://jcad2019.sciencesconf.org/data/2019_JCAD_Repro_Hill_vf.pdf

Well I am not sure that a general solution can solve replicability...
and it is software by software.


Cheers,
simon

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 14:42   ` Julien Lepiller
@ 2019-12-05 15:44     ` Konrad Hinsen
  2019-12-05 15:52       ` zimoun
  2019-12-05 15:47     ` Feedback from JRES in Dijon zimoun
  1 sibling, 1 reply; 34+ messages in thread
From: Konrad Hinsen @ 2019-12-05 15:44 UTC (permalink / raw)
  To: Julien Lepiller, Pierre Neidhardt, guix-devel

Hi Julien and Pierre,

> So they are doing physical simulation (fluid dynamics), so they don't
> (can't) get the same result when running the same experiment
> twice. They wart replicability, that is, even if the results are
> different, they are close enough to each other that you have to draw
> the same scientific conclusion, independent of your compiler or other
> package inputs.

That's a common point of view in the numerical simulation community.
What the people defending it don't realize is that both reproducibility
and replicability matter, but in different situations and for different
reasons. Reproducibility matters for verification ("was the computation
done correctly?"), replicability matters for validation ("was the
computation the right one for the scientific question?").

Moreover, there is a practical use for reproducibility when checking for
replicability. Suppose you have a program and a result, then you run the
program with a different compiler and get a different result, too
different to be scientifically equivalent. No replicability. Then what?
How do you figure out what went wrong? The very first thing you want to
check is reproducibility: can you get the same result by using the same
compiler? If yes, fine, you can then look at intermediate results in
both versions of the computation to figure out where the differences
come from. If not, there is no point in wasting time on that: there is
something wrong with the code or the data you got, and you have to check
your sources first.

Giving up on reproducibility thus means giving up a valuable debugging
technique.

Cheers,
  Konrad

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 14:42   ` Julien Lepiller
  2019-12-05 15:44     ` Konrad Hinsen
@ 2019-12-05 15:47     ` zimoun
  1 sibling, 0 replies; 34+ messages in thread
From: zimoun @ 2019-12-05 15:47 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix Devel

On Thu, 5 Dec 2019 at 15:43, Julien Lepiller <julien@lepiller.eu> wrote:

> So they are doing physical simulation (fluid dynamics), so they don't (can't) get the same result when running the same experiment twice. They wart replicability, that is, even if the results are different, they are close enough to each other that you have to draw the same scientific conclusion, independent of your compiler or other package inputs.

It is question for the Philosophy of Science. What is the status of error? ;-)

In the area of controlling the error, Interval Arithmetic [1] gives
interesting results.

[1] https://en.wikipedia.org/wiki/Interval_arithmetic


All the best,
simon

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 15:44     ` Konrad Hinsen
@ 2019-12-05 15:52       ` zimoun
  2019-12-06  7:07         ` Bengt Richter
  2019-12-06 12:57         ` Konrad Hinsen
  0 siblings, 2 replies; 34+ messages in thread
From: zimoun @ 2019-12-05 15:52 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hi,

On Thu, 5 Dec 2019 at 16:45, Konrad Hinsen <konrad.hinsen@fastmail.net> wrote:

> > So they are doing physical simulation (fluid dynamics), so they don't
> > (can't) get the same result when running the same experiment
> > twice. They wart replicability, that is, even if the results are
> > different, they are close enough to each other that you have to draw
> > the same scientific conclusion, independent of your compiler or other
> > package inputs.
>
> That's a common point of view in the numerical simulation community.
> What the people defending it don't realize is that both reproducibility
> and replicability matter, but in different situations and for different
> reasons. Reproducibility matters for verification ("was the computation
> done correctly?"), replicability matters for validation ("was the
> computation the right one for the scientific question?").

If I might, one the best presentation [1] -- that I am aware of -- on
this. Sorry in French.

[1] https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf

Maybe we could convert it to an entry for the HPC blog. What do you think?


Cheers,
simon

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 15:52       ` zimoun
@ 2019-12-06  7:07         ` Bengt Richter
  2019-12-06 12:24           ` Konrad Hinsen
  2019-12-06 12:57         ` Konrad Hinsen
  1 sibling, 1 reply; 34+ messages in thread
From: Bengt Richter @ 2019-12-06  7:07 UTC (permalink / raw)
  To: zimoun; +Cc: Guix Devel

Hi zimoun,

On +2019-12-05 16:52:47 +0100, zimoun wrote:
> Hi,
> 
> On Thu, 5 Dec 2019 at 16:45, Konrad Hinsen <konrad.hinsen@fastmail.net> wrote:
> 
> > > So they are doing physical simulation (fluid dynamics), so they don't
> > > (can't) get the same result when running the same experiment
> > > twice. They wart replicability, that is, even if the results are
> > > different, they are close enough to each other that you have to draw
> > > the same scientific conclusion, independent of your compiler or other
> > > package inputs.
> >
> > That's a common point of view in the numerical simulation community.
> > What the people defending it don't realize is that both reproducibility
> > and replicability matter, but in different situations and for different
> > reasons. Reproducibility matters for verification ("was the computation
> > done correctly?"), replicability matters for validation ("was the
> > computation the right one for the scientific question?").
> 
> If I might, one the best presentation [1] -- that I am aware of -- on
> this. Sorry in French.
> 
> [1] https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
> https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
>

Is [1] available as a libre video download?
My current youtube-dl could not find the video of [1], though I watched it with firefox.
I think it would be good for my French, such as it is, to watch that a few times ;-)

IMO if you can't reproduce bit-identical results, you should find out _exactly_ why.
And if you do get exactly the same result, you should also know exactly why ;-)

IME, in the process of figuring out the explanations you will always learn something.

You may be reproducing perfectly a biased result which could be improved as
a numerical result by counter-intuitively adding noise to the inputs
(to spread roundoff across the lsb roundoff boundary so that a mean will show
where in the interval the best estimate fell).

And if you are on the hairy edge of having a non-singular matrix to invert,
results can change because your thread got interrupted at a point where fp regs
got stored as 64 bits and thus restored with different precision than if the
interrupt didn't happen. Just because someone logged in remotely for unrelated reasons.

Such an infinitesimal value change can change the search order for pivot point in a matrix
and change the order of computation, or even make zero elements that otherwise differed
enough to make the inversion possible. And maybe you shouldn't actually store an inverse
from a library routine and then multiply, but rewrite your algorith to avoid truncations-
Of course your results may still be unusably sensitive ;-)

OTOH, you may notice that your algorithm would do much better if you pre-translated your
inputs to a better coordinate system orgin (e.g. to make lots of off-diagonal exact zeroes).

You may want to analyze how roundoff errors propagate through a Kalman filter vs a direct MLE version,
to see at what bit region in your numerical results input effects turn to computational artifacts,
to judge how to express your idea of the scientific significance of your results.

The video touches on IEEE 754 (and I do believe the lecturer understands these issues, but
he says (IIU.fr :) no programming language gives control over the FPU -- is that true?? I mean,
including on-the-metal x86_64 assembly language?? I thought you could set all those bits
that the firmware pays attention to, no?)

BTW, if you are interested in floating point, links from here should be fun:

--8<---------------cut here---------------start------------->8---
https://en.wikipedia.org/wiki/William_Kahan
--8<---------------cut here---------------end--------------->8---

Hey, in the '60s we wrote floating point in assembler, (after having written the assembler
for the custom system :) and were happy to get division timed under a millisecond ;-) Time flies :)

> Maybe we could convert it to an entry for the HPC blog. What do you think?
> 
> 
> Cheers,
> simon
> 

-- 
Regards,
Bengt Richter

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-06  7:07         ` Bengt Richter
@ 2019-12-06 12:24           ` Konrad Hinsen
  2019-12-07 16:35             ` Timothy Sample
  0 siblings, 1 reply; 34+ messages in thread
From: Konrad Hinsen @ 2019-12-06 12:24 UTC (permalink / raw)
  To: Bengt Richter, zimoun; +Cc: Guix Devel

Hi Bengt,

>> [1] https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
>> https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
>>
>
> Is [1] available as a libre video download?

No idea. I can answer most questions about the content since I am the
speaker, but I was not involved with recording and publishing.

> IMO if you can't reproduce bit-identical results, you should find out _exactly_ why.
> And if you do get exactly the same result, you should also know exactly why ;-)

That's a nice way to put it!

> The video touches on IEEE 754 (and I do believe the lecturer
> understands these issues, but he says (IIU.fr :) no programming
> language gives control over the FPU -- is that true?? I mean,
> including on-the-metal x86_64 assembly language??

I wouldn't count that as a programming language, but that is of course
debatable. For me, a programming language is a platform-neutral medium
that can be run on any type of computer. And yes, you can argue that
the subset of x86 assembly that doesn't manipulate hardware other than
registers fits that definition, but you have to draw the line somewhere.

More interestingly (definitions aren't really interesting), I am of
course not certain that there is no programming language that gives
access to the full IEEE754 programming model. I am not aware of any,
but if there is, I'd like to find out!

> BTW, if you are interested in floating point, links from here should be fun:
>
> --8<---------------cut here---------------start------------->8---
> https://en.wikipedia.org/wiki/William_Kahan
> --8<---------------cut here---------------end--------------->8---

Indeed. For those unfamiliar with that name, Kahan designed the 8087
floating-point processor for Intel and was the main driver behind the
IEEE 754 standardization effort.

Cheers,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 15:52       ` zimoun
  2019-12-06  7:07         ` Bengt Richter
@ 2019-12-06 12:57         ` Konrad Hinsen
  2019-12-10 16:57           ` Ludovic Courtès
  2020-01-07 16:05           ` Proposal for a blog contribution on reproducible computations Konrad Hinsen
  1 sibling, 2 replies; 34+ messages in thread
From: Konrad Hinsen @ 2019-12-06 12:57 UTC (permalink / raw)
  To: zimoun; +Cc: Guix Devel

Hi Simon,

> If I might, one the best presentation [1] -- that I am aware of -- on
> this. Sorry in French.

Thanks for the marketing :-)

> [1] https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
> https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
>
> Maybe we could convert it to an entry for the HPC blog. What do you think?

I am working on an article (ultimately for "Computing in Science and
Engineering") that takes up some of those subjects and illustrates them
using Guix. It would be nice to get feedback from the Guix community
early, to make sure I don't do something stupid. So I could do a first
version for the Guix blog, and thus propose it here for review,
and then make it a bit less technical for a wider audience.

Cheers,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-06 12:24           ` Konrad Hinsen
@ 2019-12-07 16:35             ` Timothy Sample
  2019-12-08  2:48               ` Bengt Richter
  0 siblings, 1 reply; 34+ messages in thread
From: Timothy Sample @ 2019-12-07 16:35 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hello,

Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

> Hi Bengt,
>
>>> [1]
>>> https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
>>> https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
>>>
>>
>> Is [1] available as a libre video download?
>
> No idea. I can answer most questions about the content since I am the
> speaker, but I was not involved with recording and publishing.

I was able to play it on Guix System with VLC.  The following URL uses
“MPEG-DASH” for streaming, and VLC understands that.

    https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd

Unfortunately, I got certificate errors, but VLC lets you temporarily
ignore those.

HTH!

(Thanks Konrad!  I’m looking forward to watching it later.)


-- Tim

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-07 16:35             ` Timothy Sample
@ 2019-12-08  2:48               ` Bengt Richter
  2019-12-08  4:11                 ` Timothy Sample
  0 siblings, 1 reply; 34+ messages in thread
From: Bengt Richter @ 2019-12-08  2:48 UTC (permalink / raw)
  To: Timothy Sample; +Cc: Guix Devel

Hi Timothy,

On +2019-12-07 11:35:02 -0500, Timothy Sample wrote:
> Hello,
> 
> Konrad Hinsen <konrad.hinsen@fastmail.net> writes:
> 
> > Hi Bengt,
> >
> >>> [1]
> >>> https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
> >>> https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
> >>>
> >>
> >> Is [1] available as a libre video download?
> >
> > No idea. I can answer most questions about the content since I am the
> > speaker, but I was not involved with recording and publishing.
> 
> I was able to play it on Guix System with VLC.  The following URL uses
> “MPEG-DASH” for streaming, and VLC understands that.
> 
>     https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd
> 
> Unfortunately, I got certificate errors, but VLC lets you temporarily
> ignore those.
> 
> HTH!
> 
> (Thanks Konrad!  I’m looking forward to watching it later.)
> 
> 
> -- Tim

Thanks Tim, but unfortunately I don't have VLC loaded (I'll look into it)
.
I have a little scriptlet that takes an executable name and
extracts urls from piped-in whatever and gives me a choice
which url to be returned to call the executable with, so I tried wget to
see if I could see what the .mpd was:

--8<---------------cut here---------------start------------->8---
Choose from the following urls to be returned:
1) https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
2) https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd
3) https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
#? 2
--2019-12-07 16:58:15--  https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving ccwebcast.in2p3.fr (ccwebcast.in2p3.fr)... 134.158.69.183
Connecting to ccwebcast.in2p3.fr (ccwebcast.in2p3.fr)|134.158.69.183|:443... connected.
ERROR: The certificate of ?ccwebcast.in2p3.fr? is not trusted.
ERROR: The certificate of ?ccwebcast.in2p3.fr? doesn't have a known issuer.
Press any key to continue...
--8<---------------cut here---------------end--------------->8---

Then, to see if youtube-dl could handle it:

--8<---------------cut here---------------start------------->8---
Choose from the following urls to be returned:
1) https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
2) https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd
3) https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
#? 2
[generic] manifest: Requesting header
WARNING: Could not send HEAD request to https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd: <urlopen error [S
SL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)>
[generic] manifest: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:110
8)> (caused by URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:
1108)')))
Press any key to continue...
--8<---------------cut here---------------end--------------->8---

I have not yet configured dnsmasq -- do you think the above is a DNSSEC problem
that would be solved by dnsmasq? (does someone have a QND quick-and-dirty how-to
for configuring dnsmasq, spelling out any gotchas -- or should RTFM suffice?)

Or do you think ccwebcast.in2p3.fr might have the same/similar subdomain issues as savannah?

I can ping both domain and subdomain though:

--8<---------------cut here---------------start------------->8---
$ ping ccwebcast.in2p3.fr
PING ccpntc08c.in2p3.fr (134.158.69.183) 56(84) bytes of data.
64 bytes from ccpntc08c.in2p3.fr (134.158.69.183): icmp_seq=1 ttl=41 time=182 ms
64 bytes from ccpntc08c.in2p3.fr (134.158.69.183): icmp_seq=2 ttl=41 time=179 ms
64 bytes from ccpntc08c.in2p3.fr (134.158.69.183): icmp_seq=3 ttl=41 time=178 ms
^C
--- ccpntc08c.in2p3.fr ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 3606ms
rtt min/avg/max/mdev = 177.732/179.508/181.948/1.783 ms
$ ping in2p3.fr
PING in2p3.fr (134.158.69.48) 56(84) bytes of data.
64 bytes from ccwbvip13.in2p3.fr (134.158.69.48): icmp_seq=1 ttl=41 time=176 ms
64 bytes from ccwbvip13.in2p3.fr (134.158.69.48): icmp_seq=2 ttl=41 time=178 ms
^C
--- in2p3.fr ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 176.318/176.911/177.505/0.593 ms
$
--8<---------------cut here---------------end--------------->8---

... so idk -- maybe I can bypass DNSSEC problemss with /etc/hosts ...
Will try that, just to add a data point :)

Nope, doesn't seem to change anything ;-/

--8<---------------cut here---------------start------------->8---
$ wget $(stack)
--2019-12-07 18:21:22--  https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving ccwebcast.in2p3.fr (ccwebcast.in2p3.fr)... 134.158.69.183
Connecting to ccwebcast.in2p3.fr (ccwebcast.in2p3.fr)|134.158.69.183|:443... connected.
ERROR: The certificate of ?ccwebcast.in2p3.fr? is not trusted.
ERROR: The certificate of ?ccwebcast.in2p3.fr? doesn't have a known issuer.
$ echo wget $(stack)
wget https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd
--8<---------------cut here---------------end--------------->8---


--8<---------------cut here---------------start------------->8---
$ youtube-dl $(stack)
[generic] manifest: Requesting header
WARNING: Could not send HEAD request to https://ccwebcast.in2p3.fr/vod/_definst_/mp4:media/5c/e6/5ce6537209640/5ce6537209640.mp4/manifest.mpd: <urlopen error [S
SL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)>
[generic] manifest: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:110
8)> (caused by URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:
1108)')))
--8<---------------cut here---------------end--------------->8---

Anyone see an easy explanation?

TIA
-- 
Regards,
Bengt Richter

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-08  2:48               ` Bengt Richter
@ 2019-12-08  4:11                 ` Timothy Sample
  2019-12-08 23:09                   ` Bengt Richter
  0 siblings, 1 reply; 34+ messages in thread
From: Timothy Sample @ 2019-12-08  4:11 UTC (permalink / raw)
  To: Bengt Richter; +Cc: Guix Devel

Hi Bengt,

I omitted a lot of your message, but I hope I have the easy explanation
you’re looking for.  :)

Bengt Richter <bokr@bokr.com> writes:

> On +2019-12-07 11:35:02 -0500, Timothy Sample wrote:
>> 
>> [...]
>> 
>> Unfortunately, I got certificate errors, but VLC lets you temporarily
>> ignore those.
>
> [...]
>
> Anyone see an easy explanation?

After a little more digging, it seems that the certificate sent for
“ccwebcast.in2p3.fr” is signed with an intermediate certificate from
“TERENA”.  This is in turn signed with a DigiCert root certificate.
Unfortunately it looks like “ccwebcast.in2p3.fr” doesn’t send the whole
certificate chain, and the TERENA cert is not part of our “nss-certs”
package, so tools using certs from that package (basically everything on
a normal Guix install) will be unwilling to trust “ccwebcast.in2p3.fr”.
IceCat is okay with it, but it uses its own certificates (it must know
about the TERENA cert, so it doesn’t need the whole chain).

Fortunately, for exceptional situations like this, you can tell most
tools to skip certificate validation (like I mentioned with VLC).  For
youtube-dl, you can use the “--no-check-certificate” option.  Note
however that this is rather dangerous in general, since you are telling
youtube-dl allow anyone to pretend to be anyone else!  In this case,
since it’s just a video and IceCat is okay with the certificate it’s
probably fine.  Just be careful.  :)


-- Tim

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-08  4:11                 ` Timothy Sample
@ 2019-12-08 23:09                   ` Bengt Richter
  2019-12-09  5:23                     ` Konrad Hinsen
  0 siblings, 1 reply; 34+ messages in thread
From: Bengt Richter @ 2019-12-08 23:09 UTC (permalink / raw)
  To: Timothy Sample; +Cc: Guix Devel

Hi Tim, Konrad,

On +2019-12-07 23:11:19 -0500, Timothy Sample wrote:
> Hi Bengt,
> 
> I omitted a lot of your message, but I hope I have the easy explanation
> you’re looking for.  :)
> 
> Bengt Richter <bokr@bokr.com> writes:
> 
> > On +2019-12-07 11:35:02 -0500, Timothy Sample wrote:
> >> 
> >> [...]
> >> 
> >> Unfortunately, I got certificate errors, but VLC lets you temporarily
> >> ignore those.
> >
> > [...]
> >
> > Anyone see an easy explanation?
> 
> After a little more digging, it seems that the certificate sent for
> “ccwebcast.in2p3.fr” is signed with an intermediate certificate from
> “TERENA”.  This is in turn signed with a DigiCert root certificate.
> Unfortunately it looks like “ccwebcast.in2p3.fr” doesn’t send the whole
> certificate chain, and the TERENA cert is not part of our “nss-certs”
> package, so tools using certs from that package (basically everything on
> a normal Guix install) will be unwilling to trust “ccwebcast.in2p3.fr”.
> IceCat is okay with it, but it uses its own certificates (it must know
> about the TERENA cert, so it doesn’t need the whole chain).
> 
> Fortunately, for exceptional situations like this, you can tell most
> tools to skip certificate validation (like I mentioned with VLC).  For
> youtube-dl, you can use the “--no-check-certificate” option.  Note
> however that this is rather dangerous in general, since you are telling
> youtube-dl allow anyone to pretend to be anyone else!  In this case,
> since it’s just a video and IceCat is okay with the certificate it’s
> probably fine.  Just be careful.  :)
> 
> 
> -- Tim

Thank you very much for digging and providing the dangerous solution :)
(I suppressed my paranoia this once, and it did work BTW :)

BTW2, I have icecat installed, so I wonder if, given that it "uses its own certificates"
(and knows about TEREMA) is there a cert-PATH that could be extended so other
apps see icecat's cert info in addition to their own?

BTW3, Konrad,
That was a nice presentation -- are the tools you used to prepare it and present it
available as libre packages? (I'm not insisting you answer ;-)

-- 
Regards,
Bengt Richter

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-08 23:09                   ` Bengt Richter
@ 2019-12-09  5:23                     ` Konrad Hinsen
  0 siblings, 0 replies; 34+ messages in thread
From: Konrad Hinsen @ 2019-12-09  5:23 UTC (permalink / raw)
  To: Bengt Richter, Timothy Sample; +Cc: Guix Devel

Hi Bengt,

> BTW3, Konrad,
> That was a nice presentation -- are the tools you used to prepare it and present it
> available as libre packages? (I'm not insisting you answer ;-)

That's LaTeX with the Beamer package, plus Inkscape for the graphics.
It's all in Guix.

A bit of history: for many years I used Apple's Keynote software for my
presentations. Until I discovered one day that I couldn't open my old
presentations any more. Apple had changed the format a few times, and
then quietly dropped support for the older formats. And the older
software versions that could read the old presentations were no longer
available.

So now it's LibreOffice for short quick-and-dirty slide hacking, and
LaTeX with Beamer for everything else.

Cheers,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-06 12:57         ` Konrad Hinsen
@ 2019-12-10 16:57           ` Ludovic Courtès
  2019-12-11 20:48             ` Konrad Hinsen
  2020-01-07 16:05           ` Proposal for a blog contribution on reproducible computations Konrad Hinsen
  1 sibling, 1 reply; 34+ messages in thread
From: Ludovic Courtès @ 2019-12-10 16:57 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hi Konrad,

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

>> If I might, one the best presentation [1] -- that I am aware of -- on
>> this. Sorry in French.
>
> Thanks for the marketing :-)
>
>> [1] https://webcast.in2p3.fr/video/les-enjeux-et-defis-de-la-recherche-reproductible
>> https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf
>>
>> Maybe we could convert it to an entry for the HPC blog. What do you think?
>
> I am working on an article (ultimately for "Computing in Science and
> Engineering") that takes up some of those subjects and illustrates them
> using Guix. It would be nice to get feedback from the Guix community
> early, to make sure I don't do something stupid. So I could do a first
> version for the Guix blog, and thus propose it here for review,
> and then make it a bit less technical for a wider audience.

That would be great!  Also, a “how to do reproducible science with Guix”
hands-on would be nice (we could also have a section in the cookbook.)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-05 14:16 Feedback from JRES in Dijon Julien Lepiller
                   ` (2 preceding siblings ...)
  2019-12-05 15:42 ` zimoun
@ 2019-12-10 17:06 ` Ludovic Courtès
  3 siblings, 0 replies; 34+ messages in thread
From: Ludovic Courtès @ 2019-12-10 17:06 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: guix-devel

Hi Julien,

Julien Lepiller <julien@lepiller.eu> skribis:

> I presented the project at JRES yesterday and had lots of questions
> and reactions.

Thanks for the nice talk and for sharing feedback!  It’s really great to
see how each one of us approaches it from a different angle, and I think
you chose the right one for this audience (mostly sysadmins).

(The install/remove example on the first slide is of course
questionable, but the rest is great.  ;-))

> One person was wondering whether Guix would be a good idea for there
> cluster. I said yes then I redirected them to guix hpc.

Neat, I hope we’ll hear from them.  :-)

> Another wanted to have some kind of doi for guix describe + manifest
> (a better UI and easier thing to cite in a paper I suppose).

I guess a single Git commit ID or, better, a Software Heritage intrinsic
ID could fit the bill.

> Another was asking about the possibility ofusing Guix to have multiple
> kernels and boot a debian with guix's kernel (so as to choose a
> compatible kernel at boot iiuc).

Uh, an unusual use case.

> The person I talked to at lunch was a bit skeptical about Guix. They
> have it and Nix, with module on their cluster. They told me they were
> more concerned about replicability than reproducibility. Also, their
> users are lost between the options, they have trouble getting help on
> guix from their admins and they end up using conda, yet another tool
> ^^".

Ah well, there’s a learning curve.  Now, my hope is that people who
manage to do “conda install” would also manage to get started with “guix
install”.  But that’s more and more of a social issue (spreading the
word) than a technical one, I think.

Anyway, nice work!  If you want we can have the PDF of your talk (and
the article you wrote at
<https://conf-ng.jres.org/2019/document_revision_5343.html?download>!)
on the web site, perhaps with a tiny blog post giving some context.

Thanks,
Ludo’.

PS: I also got positive feedback from a colleague who attended your
    talk.  :-)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Feedback from JRES in Dijon
  2019-12-10 16:57           ` Ludovic Courtès
@ 2019-12-11 20:48             ` Konrad Hinsen
  0 siblings, 0 replies; 34+ messages in thread
From: Konrad Hinsen @ 2019-12-11 20:48 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix Devel

Hi Ludo,

>> I am working on an article (ultimately for "Computing in Science and
>> Engineering") that takes up some of those subjects and illustrates them
>> using Guix. It would be nice to get feedback from the Guix community
>> early, to make sure I don't do something stupid. So I could do a first
>> version for the Guix blog, and thus propose it here for review,
>> and then make it a bit less technical for a wider audience.
>
> That would be great!  Also, a “how to do reproducible science with Guix”
> hands-on would be nice (we could also have a section in the cookbook.)

Since I am working for something quite similar for the Reproducible
Research MOOC, I can also make a variant for the cookbook. I just need
to find the time to make progress on all that!

Cheers,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Proposal for a blog contribution on reproducible computations
  2019-12-06 12:57         ` Konrad Hinsen
  2019-12-10 16:57           ` Ludovic Courtès
@ 2020-01-07 16:05           ` Konrad Hinsen
  2020-01-09 20:40             ` zimoun
                               ` (2 more replies)
  1 sibling, 3 replies; 34+ messages in thread
From: Konrad Hinsen @ 2020-01-07 16:05 UTC (permalink / raw)
  To: Guix Devel

Hi Guix,

about a month ago, I proposed:

> I am working on an article (ultimately for "Computing in Science and
> Engineering") that takes up some of those subjects and illustrates them
> using Guix. It would be nice to get feedback from the Guix community
> early, to make sure I don't do something stupid. So I could do a first
> version for the Guix blog, and thus propose it here for review,
> and then make it a bit less technical for a wider audience.

Here is a first complete draft:

  https://github.com/khinsen/reproducibility-with-guix/blob/master/reproducibility-with-guix.org

Feedback welcome, be it by mail or as issues on GitHub.

Also, what is the procedure for submitting blog posts? What are the
right formats for text and graphics?

Cheers,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-07 16:05           ` Proposal for a blog contribution on reproducible computations Konrad Hinsen
@ 2020-01-09 20:40             ` zimoun
  2020-01-10 16:59             ` Ludovic Courtès
  2020-01-10 17:03             ` Ludovic Courtès
  2 siblings, 0 replies; 34+ messages in thread
From: zimoun @ 2020-01-09 20:40 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hi Konrad,

Thank you! It is very interesting!!

Below questions.
And suggestions which I can Pull-Request with Github. :-)

Hope it is readable: indented text is your text; non-indented one is question.


Cheers,
simon

--


     #+TITLE: Reproducible computations with Guix
     #+STARTUP: inlineimages

     * Dependencies: what it takes to run a program


Move this section title below.


     This  post is  about reproducible  computations, so  let's start  with a
     computation.  A short, though rather  uninteresting, C program is a good
     starting point. It computes π in three different ways:
     #+begin_src c :tangle pi.c :eval no
     #include <math.h>
     #include <stdio.h>

     int main()
     {
         printf( "M_PI                         : %.10lf\n", M_PI);
         printf( "4 * atan(1.)                 : %.10lf\n", 4.*atan(1.));
         printf( "Leibniz' formula (four terms): %.10lf\n",
4.*(1.-1./3.+1./5.-1./7.));
         return 0;
     }
     #+end_src


Align ':' for easier looking.


     This program uses  no random element, such as a  random number generator
     or parallelism.  It's strictly deterministic. It is reasonable to expect
     it to produce exactly the same output,  on any computer and at any point
     in time.   And yet,  many programs whose  results /should/  be perfectly
     reproducible are in fact not.  Programs using floating-point arithmetic,
     such  as  this  short  example,  are  particularly  prone  to  seemingly
     inexplicable variations.

     My  goal is  to  explain why  deterministic programs  often  fail to  be
     reproducible, and  what it takes to  fix this. The short  answer to that
     question is "use Guix", but  even though Guix provides excellent support
     for  reproducibility, you  still  have  to use  it  correctly, and  that
     requires some understanding of what's  going on.  The explanation I will
     give is rather  detailed, to the point of discussing  parts of the Guile
     API of Guix. You should be  able to follow the reasoning without knowing
     Guile though, you will  just have to believe me that  the scripts I will
     show  do what  I  claim  they do.  And  in the  end,  I  will provide  a
     ready-to-run Guile script that will let you explore package dependencies
     right from the shell.


* Dependencies: what it takes to run a program


     One keyword in discussions of reproducibility is "dependencies".  I will
     revisit the exact meaning of this term later, but to get started, I will
     define it loosely  as "any software package required to  run a program".
     Running the π  computation shown above is normally  done using something
     like
     #+begin_src sh :exports code :eval no
     gcc pi.c -o pi && ./pi
     #+end_src


Missing '&&'. It does not work without on my machine.


     C programmers  know that =gcc=  is a C  compiler, so that's  one obvious
     dependency for running  our little program. But is a  C compiler enough?
     That  question is  surprisingly difficult  to answer  in practice.  Your
     computer is loaded with tons of  software (otherwise it wouldn't be very
     useful), and you  don't really know what happens behind  the scenes when
     you run =gcc= or =pi=.


** Container is good


     A major element of reproducibility support in Guix is the possibility to
     run  programs  in well-defined  environments  that  contain exactly  the
     software packages you request, and no  more.  So if your program runs in
     an environment that contains  only a C compiler, you can  be sure it has
     no other dependencies. Let's create such an environment:
     #+begin_src sh :session C-compiler :results output :exports both
     guix environment --container --ad-hoc gcc-toolchain
     #+end_src


     #+RESULTS:

     The option  =--container= ensures the  best possible isolation  from the
     standard  environment that  your  system installation  and user  account
     provide for day-to-day  work. This environment contains nothing  but a C
     compiler  and a  shell (which  you need  to type  in commands),  and has
     access to no other files than those in the current directory.

     Side  note: the  option =--container=  requires support  from the  Linux
     kernel that is not available on all systems. If it doesn't work for you,
     use =--pure= instead. It provides a less isolated environment, but it is
     usually more than good enough.


By default, I get:

--8<---------------cut here---------------start------------->8---
guix environment: error: cannot create container: unprivileged user
cannot create user namespaces
guix environment: error: please set
/proc/sys/kernel/unprivileged_userns_clone to "1"
--8<---------------cut here---------------end--------------->8---


Or a sentence explaining what to do. For example, "The =--container= option
requires allowing the kernel to clone for the unprivileged user, i.e., as
=root= just run the command
=echo 1 > /proc/sys/kernel/unprivileged_userns_clone=."


     The above  command leaves me in  a shell inside my  environment, where I
     can now compile and run my little program:
     #+begin_src sh :session C-compiler :results output :exports both
     gcc pi.c -o pi && ./pi
     #+end_src


Missing again '&&'. Sorry if it is me.


     #+RESULTS:
     : M_PI                         : 3.14159265358979311600
     : 4 * atan(1.)                 : 3.14159265358979311600
     : Leibniz' formula (four terms): 2.89523809523809561028

     It works! So now I can be  sure that my program has a single dependency:
     the Guix  package =gcc-toolchain=.   Perfectionists who want  to exclude
     the possibility that my program requires  a shell could run each step in
     a separate container:
     #+begin_src sh :results output :exports both
     guix environment --container --ad-hoc gcc-toolchain -- gcc pi.c -o pi
     guix environment --container --ad-hoc gcc-toolchain -- ./pi
     #+end_src

     #+RESULTS:
     : M_PI                         : 3.14159265358979311600
     : 4 * atan(1.)                 : 3.14159265358979311600
     : Leibniz' formula (four terms): 2.89523809523809561028


** Let open the dependencies hell


     Now that we know that our only dependency is =gcc-toolchain=, let's look
     at it in more detail:

     #+begin_src sh :results output :exports both
     guix show gcc-toolchain
     #+end_src

     #+RESULTS:
     #+begin_example
     name: gcc-toolchain
     version: 9.2.0
     outputs: out debug static
     systems: x86_64-linux i686-linux
     dependencies: binutils@2.32 gcc@9.2.0 glibc@2.29 ld-wrapper@0
     location: gnu/packages/commencement.scm:2532:4
     homepage: https://gcc.gnu.org/
     license: GPL 3+
     synopsis: Complete GCC tool chain for C/C++ development
     description: This package provides a complete GCC tool chain for C/C++
     + development to be installed in user profiles.  This includes
GCC, as well as
     + libc (headers an d binaries, plus debugging symbols in the
`debug' output),
     + and Binutils.

     name: gcc-toolchain
     version: 8.3.0
     outputs: out debug static
     systems: x86_64-linux i686-linux
     dependencies: binutils@2.32 gcc@8.3.0 glibc@2.29 ld-wrapper@0
     location: gnu/packages/commencement.scm:2532:4
     homepage: https://gcc.gnu.org/
     license: GPL 3+
     synopsis: Complete GCC tool chain for C/C++ development
     description: This package provides a complete GCC tool chain for C/C++
     + development to be installed in user profiles.  This includes
GCC, as well as
     + libc (headers an d binaries, plus debugging symbols in the
`debug' output),
     + and Binutils.

[...]
     #+end_example

     Guix actually knows about several  versions of this toolchain. We didn't
     ask for a  specific one, so what we  got is the first one  in this list,
     which is the one with the  highest version number. Let's check that this
     is true:
     #+begin_src sh :results output :exports both
     guix environment --container --ad-hoc gcc-toolchain -- gcc --version
     #+end_src

     #+RESULTS:
     : gcc (GCC) 9.2.0
     : Copyright (C) 2019 Free Software Foundation, Inc.
     : This is free software; see the source for copying conditions.
There is NO
     : warranty; not even for MERCHANTABILITY or FITNESS FOR A
PAR1TICULAR PURPOSE.
     :

     The output of =guix show= contains  a line about dependencies. These are
     the dependencies  of our  dependency, and you  may already  have guessed
     that they will have dependencies as well.  That's why reproducibility is
     such   a    difficult   job    in   practice!   The    dependencies   of
     =gcc-toolchain@9.2.0= are:


Let use =recsel= and teach also how to filter the package output. :-)

#+begin_src sh :results output :exports both
guix show gcc-toolchain@9.2.0 | recsel -P dependencies
#+end_src

#+RESULTS:
: binutils@2.32 gcc@9.2.0 glibc@2.29 ld-wrapper@0


     #+begin_example
     binutils@2.32 gcc@9.2.0 glibc@2.29 ld-wrapper@0
     #+end_example

     To dig deeper, we can try feeding these dependencies to =guix show=, one
     by one, in order to learn more about them:
     #+begin_src sh :results output :exports both
     guix show binutils@2.32
     #+end_src

     #+RESULTS:
     #+begin_example
     name: binutils
     version: 2.32
     outputs: out
     systems: x86_64-linux i686-linux
     dependencies:
     location: gnu/packages/base.scm:415:2
     homepage: https://www.gnu.org/software/binutils/
     license: GPL 3+
     synopsis: Binary utilities: bfd gas gprof ld
     description: GNU Binutils is a collection of tools for working with binary
     + files.  Perhaps the most notable are "ld", a linker, and "as",
an assembler.
     + Other tools include programs to display binary profiling
information, list the
     + strings in a binary file, and utilities for working with
archives.  The "bfd"
     + library for working with executable and object formats is also included.

     #+end_example

     #+begin_src sh :results output :exports both
     exec 2>&1 guix show gcc@9.2.0 :
     #+end_src

     #+RESULTS:
     : guix show: error: gcc@9.2.0: package not found

     This looks  a bit  surprising. What's  happening here  is that  =gcc= is
     defined as a /hidden  package/ in Guix. The package is  there, but it is
     hidden from package queries.  There is  a good reason for this: =gcc= on
     its own is rather useless, you  need =gcc-toolchain= to actually use the
     compiler. But if  both =gcc= and =gcc-toolchain= showed up  in a search,
     that would  be more confusing  than helpful  for most users.  Hiding the
     package is a way of saying "for experts only".

     Let's take this as a sign that it's time to move on to the next level of
     Guix hacking:  Guile scripts.   Guile, an  implementation of  the Scheme
     language,  is Guix'  native language,  so using  Guile scripts,  you get
     access to everything there is to know about Guix and its packages.

     A note in passing: the
[[https://emacs-guix.gitlab.io/website/][emacs-guix]] package provides
an intermediate level
     of  Guix  exploration for  Emacs  users.  It  lets  you look  at  hidden
     packages, for  example. But much  of what I  will show in  the following
     really requires Guile scripts.

     * Anatomy of a Guix package

     From the user's point  of view, a package is a piece  of software with a
     name and  a version number that  can be installed using  =guix install=.
     The packager's  point of view is  quite a bit different.   In fact, what
     users consider a package is more precisely called the package's /output/
     in Guix jargon. The package is a recipe for creating this output.

     To see how all these concepts fit  together, let's look at an example of
     a package definition: =xmag=.  I have  chosen this package not because I
     care much about it, but because its definition is short while showcasing
     all the  features I want  to explain. You can  access it most  easily by
     typing =guix edit xmag=. Here is what you will see:
     #+begin_src scheme :eval no
     (package
       (name "xmag")
       (version "1.0.6")
       (source
        (origin
          (method url-fetch)
          (uri (string-append
                "mirror://xorg/individual/app/" name "-" version ".tar.gz"))
          (sha256
           (base32
            "19bsg5ykal458d52v0rvdx49v54vwxwqg8q36fdcsv9p2j8yri87"))))
       (build-system gnu-build-system)
       (arguments
        `(#:configure-flags
          (list (string-append "--with-appdefaultdir="
                               %output ,%app-defaults-dir))))
       (inputs
        `(("libxaw" ,libxaw)))
       (native-inputs
        `(("pkg-config" ,pkg-config)))
       (home-page "https://www.x.org/wiki/")
       (synopsis "Display or capture a magnified part of a X11 screen")
       (description "Xmag displays and captures a magnified snapshot
of a portion
     of an X11 screen.")
       (license license:x11))
     #+end_src


After, a package (=glibc=) is used to show that the same package can produce
different outputs and this above example does not own the =outputs= fields.


     The package definition starts with  the name and version information you
     expected. Next comes =source=, which says  how to obtain the source code
     and  from where.  It  also provides  a  hash that  allows  to check  the
     integrity of the downloaded files.  The next four items, =build-system=,
     =arguments=,  =inputs=,  and   =native-inputs=  supply  the  information
     required for /building/ the package,  which is what creates its outputs.
     The remaining  items are documentation for  human consumption, important
     for other reasons  but not for reproducibility, so I  won't say any more
     about them.


Link to the documentation and/or the cookbook entry about Packaging.

http://guix.gnu.org/manual/devel/en/html_node/Defining-Packages.html#Defining-Packages
http://guix.gnu.org/cookbook/en/html_node/Packaging.html#Packaging


     The  example  package  definition  has =native-inputs=  in  addition  to
     "plain"  =inputs=. There's  a  third  variant, =propagated-inputs=,  but
     =xmag= doesn't  have any. The  differences between these  variants don't
     matter  for  my  topic, so  I  will  just  refer  to "inputs"  from  now
     on. Another  omission I will make  is the possibility to  define several
     outputs for a  package.  This is done for particularly  big packages, in
     order to reduce the footprint of  installations, but for the purposes of
     reproducibility, it's  OK to  treat all  outputs of  a package  a single
     unit.

     The following figure  illustrates how the various  pieces of information
     from a package  are used in the build process  (done explicitly by =guix
     build=, or  implicitly when  installing or  otherwise using  a package):

     [[file:guix-package.svg]]

     It  may  help to  translate  the  Guix jargon  to  the  vocabulary of  C
     programming:
     | Guix package | C program        |
     |--------------+------------------|
     | source code  | source code      |
     | inputs       | libraries        |
     | arguments    | compiler options |
     | build system | compiler         |
     | output       | executable       |

     Building a  package can  be considered a  generalization of  compiling a
     program. We  could in  fact create  a "GCC build  system" for  Guix that
     would simply run =gcc=. However, such  a build system would be of little
     practical use, since most real-life  software consists of more than just
     one C source code file,  and requires additional pre- or post-processing
     steps.  The  =gnu-build-system= used  in the example  is based  on tools
     such as =make= and =autoconf=, in addition to =gcc=.


     * Package exploration in Guile

     Guile uses a record type called =<package>= to represent packages, which
     is

[[https://git.savannah.gnu.org/cgit/guix.git/tree/guix/packages.scm#n249][=<package>=]]
(hyperlink). Let spread Scheme. :-)

Is the syntax highlighting available for Savannah?

     defined  in module  =(guix packages)=.   There  is also  a module  =(gnu
     packages)=, which contains  the actual package definitions  - be careful
     not

[[https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages][=(gnu
packages)=]] (hyperlink).

     to confuse the two (as I always  do). Here is a simple Guile script that
     shows some package information, much like the =guix show= command that I
     used earlier:
     #+begin_src scheme :results output
     (use-modules (guix packages)
                  (gnu packages))

     (define gcc-toolchain
       (specification->package "gcc-toolchain"))

     (format #t "Name   : ~a\n" (package-name gcc-toolchain))
     (format #t "Version: ~a\n" (package-version gcc-toolchain))
     (format #t "Inputs : ~a\n" (package-direct-inputs gcc-toolchain))
     #+end_src

     #+RESULTS:
     : Name   : gcc-toolchain
     : Version: 8.3.0
     : Inputs : ((gcc #<package gcc@8.3.0 gnu/packages/gcc.scm:509
3b969a0>) (ld-wrapper #<package ld-wrapper@0 gnu/packages/base.scm:551
43e6bb0>) (binutils #<package binutils@2.31.1
gnu/packages/bootstrap.scm:150 43df6e0>) (libc #<package glibc@2.28
gnu/packages/commencement.scm:681 43df8f0>) (libc-debug #<package
glibc@2.28 gnu/packages/commencement.scm:681 43df8f0> debug)
(libc-static #<package glibc@2.28 gnu/packages/commencement.scm:681
43df8f0> static))


I would add something about =guix repl=. For example, "You can launch an
interactive REPL with =guix repl= and type directly these lines inside."

Adding also a footnote saying to add
#+begin_src scheme
(use-modules
 (ice-9 readline)
 (ice-9 format)
 (ice-9 pretty-print))
(activate-readline)
#+end_src
in =~/.guile= to ease the REPL experience.


     This script first calls =specification->package=  to look up the package
     using the  same rules  as the  =guix= command  line interface:  pick the
     latest  available  version if  none  is  explicitly requested.  Then  it
     extracts   various   information   about   the   package.    Note   that
     =package-direct-inputs=  returns  the combination  of  =package-inputs=,
     =package-native-inputs=,  and  =package-propagated-inputs=.  As  I  said
     above, I don't care about the distinction here.

     The inputs are not shown in a particularly nice form, so let's write two
     Guile functions to improve it:
     #+begin_src scheme :results output
     (use-modules (guix packages)
                  (gnu packages)
                  (ice-9 match))

     (define (package->specification package)
       (format #f "~a@~a"
               (package-name package)
               (package-version package)))

     (define (input->specification input)
       (match input
         ((label (? package? package) . _)
          (package->specification package))
         (other-item
          (format #f "~a" other-item))))

     (define gcc-toolchain
       (specification->package "gcc-toolchain"))

     (format #t "Package: ~a\n"
             (package->specification gcc-toolchain))
     (format #t "Inputs : ~a\n"
             (map input->specification (package-direct-inputs gcc-toolchain)))
     #+end_src

     #+RESULTS:
     : Package: gcc-toolchain@8.3.0
     : Inputs : (gcc@8.3.0 ld-wrapper@0 binutils@2.31.1 glibc@2.28
glibc@2.28 glibc@2.28)

     That looks much better.  As you can see from the code,  a list of inputs
     is a bit more than a list of  packages. It is in fact a list of labelled
     /package outputs/. That also explains why  we see =glibc= three times in
     the input list: =glibc= defines three distinct outputs, all of which are
     used in =gcc-toolchain=.

It is not clear to me why there is 3 times =glibc=. Instead, I propose this.

#+begin_src scheme :results output
(use-modules (guix packages)
             (gnu packages)
             (ice-9 match))

(define (package->specification package)
  (format #f "~a@~a"
          (package-name package)
          (package-version package)))

(define (input->specification input)
  (match input
    ((label (? package? package) . _)
     (package->specification package))
    (other-item
     (format #f "~a" other-item))))

(define gcc-toolchain
  (specification->package "gcc-toolchain"))

(format #t "Package  : ~a\n"
        (package->specification gcc-toolchain))
(format #t "Inputs   : ~a\n"
        (map input->specification (package-direct-inputs gcc-toolchain)))
(format #t "Internals: ~a\n"
        (map car (package-direct-inputs gcc-toolchain)))

(display "\n")

(define glibc
  (specification->package "glibc"))

(format #t "Name     : ~a\n"
        (package-name glibc))
(format #t "Outputs  : ~a\n"
        (package-outputs glibc))
#+end_src

#+RESULTS:
: Package  : gcc-toolchain@8.3.0
: Inputs   : (gcc@8.3.0 ld-wrapper@0 binutils@2.31.1 glibc@2.28
glibc@2.28 glibc@2.28)
: Internals: (gcc ld-wrapper binutils libc libc-debug libc-static)
:
: Name     : glibc
: Outputs  : (out debug static)

The =car= is not so nice but the =Internals= mitigates, IMHO.

The addition does not add complexity and I hope it clarifies, at least to
me. ;-)


     For reproducibility, all we care  about is the package references. Later
     on, we  will deal with  much longer input lists,  so as a  final cleanup
     step, let's show only unique package references from the list of inputs:
     #+begin_src scheme :results output
     (use-modules (guix packages)
                  (gnu packages)
                  (srfi srfi-1)
                  (ice-9 match))

     (define (package->specification package)
       (format #f "~a@~a"
               (package-name package)
               (package-version package)))

     (define (input->specification input)
       (match input
         ((label (? package? package) . _)
          (package->specification package))
         (other-item
          (format #f "~a" other-item))))

     (define (unique-inputs inputs)
       (delete-duplicates
        (map input->specification inputs)))

     (define gcc-toolchain
       (specification->package "gcc-toolchain"))

     (format #t "Package: ~a\n"
             (package->specification gcc-toolchain))
     (format #t "Inputs : ~a\n"
             (unique-inputs (package-direct-inputs gcc-toolchain)))
     #+end_src

     #+RESULTS:
     : Package: gcc-toolchain@8.3.0
     : Inputs : (gcc@8.3.0 ld-wrapper@0 binutils@2.31.1 glibc@2.28)

     * Dependencies

     You may have noticed the absence  of the term "dependency" from the last
     two sections.  There is  a good  reason for  that: the  term is  used in
     somewhat different meanings, and that  can create confusion. Guix jargon
     therefore avoids it.

     The figure above shows three kinds of input to the build system: source,
     inputs, and arguments. These categories  reflect the packagers' point of
     view: =source= is what the authors  of the software supply, =inputs= are
     other packages, and =arguments= is  what the packagers themselves add to
     the build  procedure. It is important  to understand that from  a purely
     technical point of view, there  is no fundamental difference between the
     three categories. You could, for example, define a package that contains
     C  source code  in the  build  system =arguments=,  but leaves  =source=
     empty. This would be inconvenient, and  confusing for others, so I don't
     recommend you actually do this.  The three categories are important, but
     for humans,  not for computers.  In  fact, even the build  system is not
     fundamentally   distinct  from   its   inputs.   You   could  define   a
     special-purpose build  system for  one package, and  put all  the source
     code in  there. At  the level of  the CPU and  the computer's  memory, a
     build   process   (as   in    fact   /any/   computation)   looks   like

     [[file:computation.png]]

     It is human interpretation that decomposes this into

     [[file:data-code.png]]

     and in a next step into

     [[file:data-program-environment.png]]

     We  can  go  on  and  divide  the  environment  into  operating  system,
     development  tools,  and  application  software, for  example,  but  the
     further  we go  in  decomposing the  input to  a  computation, the  more
     arbitrary it gets.

     From this point of view, a software's dependencies consist of everything
     required to run it  in addition to its source code.  For a Guix package,
     the dependencies are thus,


Adding ',' after 'thus'.


     - its inputs
     - the build system arguments
     - the build system itself
     - Guix (commit)
     - the GNU/Linux operating system (kernel).


Adding (commit) and (kernel).


     In  the following,  I will  not  mention the  last two  items any  more,
     because they  are a  common dependency  of all  Guix packages,  but it's
     important not to forget about them. A change in Guix or in GNU/Linux can
     actually make a computation  non-reproducible, although in practice that
     happens very rarely.   Moreover, Guix is actually designed  to run older
     versions of itself, as we will see later.


Hum? the assumption is the "GNU/Linux operating system" on which Guix
(package manager) is running does not change the reproducibility of the
computations. Right?

In practise, the results should be the same using the same Guix (commit) on
different GNU/Linux operating systems and from my understanding we are
missing data (experience) to report if it happens or not.

However, a change in Guix can lead to completely different packages, so
non-reproducible computations. And in practise it happens often, e.g., see how
many grafts Guix is doing. :-)

Well, I am not sure if I understand correctly the meaning of this paragraph.


     * Build systems are packages as well

     I hope that by  now you have a good idea of what  a package is: a recipe
     for  building outputs  from source  and  inputs, with  inputs being  the
     outputs  of other  packages.  The  recipe involves  a  build system  and
     arguments supplied to it.  So... what  exactly is a build system? I have
     introduced it  as a  generalization of a  compiler, which  describes its
     role. But where does a build system come from in Guix?

     The ultimate  answer is  of course  the
     [[https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system][sourcecode]].
     Build  systems are
     pieces of Guile code that are part of Guix.  But this Guile code is only
     a shallow  layer orchestrating  invocations of  other software,  such as
     =gcc= or  =make=. And that  software is defined  by packages. So  in the
     end, from  a reproducibility point  of view,  we can replace  the "build
     system" item  in our list of  dependenies by "a bundle  of packages". In
     other words: more inputs.

     Before  Guix can  build  a  package, it  must  gather  all the  required
     ingredients,  and  that  includes  replacing the  build  system  by  the
     packages it  represents. The resulting  list of ingredients is  called a
     =bag=, and we can access it using a Guile script:

     #+begin_src scheme :results output
     (use-modules (guix packages)
                  (gnu packages)
                  (srfi srfi-1)
                  (ice-9 match))

     (define (package->specification package)
       (format #f "~a@~a"
               (package-name package)
               (package-version package)))

     (define (input->specification input)
       (match input
         ((label (? package? package) . _)
          (package->specification package))
         ((label (? origin? origin))
          (format #f "[source code from ~a]"
                  (origin-uri origin)))
         (other-input
          (format #f "~a" other-input))))

     (define (unique-inputs inputs)
       (delete-duplicates
        (map input->specification inputs)))

     (define hello
       (specification->package "hello"))

     (format #t "Package       : ~a\n"
             (package->specification hello))
     (format #t "Package inputs: ~a\n"
             (unique-inputs (package-direct-inputs hello)))
     (format #t "Build inputs  : ~a\n"
             (unique-inputs
              (bag-direct-inputs
               (package->bag hello))))
     #+end_src

     #+RESULTS:
     : Package       : hello@2.10
     : Package inputs: ()
     : Build inputs  : ([source code from
mirror://gnu/hello/hello-2.10.tar.gz] tar@1.30 gzip@1.9 bzip2@1.0.6
xz@5.2.4 file@5.33 diffutils@3.6 patch@2.7.6 findutils@4.6.0
gawk@4.2.1 sed@4.5 grep@3.1 coreutils@8.30 make@4.2.1
bash-minimal@4.4.23 ld-wrapper@0 binutils@2.31.1 gcc@5.5.0 glibc@2.28
glibc-utf8-locales@2.28)

     I have used  a different example, =hello=,


[[https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm#n72][=hello=]]
(link to package definition)


     because for =gcc-toolchain=,
     there is  no difference between  package inputs and build  inputs (check
     for  yourself if  you  want!)  My  new example,  =hello=  (a short  demo


[[https://hpc.guix.info/package/hello][=hello=]] (link to browser)


     program  printing  "Hello,   world"  in  the  language   of  the  system
     installation), is interesting  because it has no package  inputs at all.
     All  the  build  inputs  except  for the  source  code  have  thus  been
     contributed by the build system.

     If you  compare this script  to the previous  one that printed  only the
     package  inputs,   you  will   notice  two   major  new   features.   In
     =input->specification=, there is an additional  case for the source code
     reference. And  in the last  statement, =package->bag= constructs  a bag
     from the package, before =bag-direct-inputs= is called to get that bag's
     input list.

     * Inputs are outputs

     I have  mentioned before that  one package's inputs are  other packages'
     outputs, but  that fact deserves  a more in-depth discussion  because of
     its crucial  importance for reproducibility.  A package is a  recipe for
     building outputs from source and inputs. Since these inputs are outputs,
     they  must have  been built  as well.  Package building  is therefore  a
     process consisting of  multiple steps. An immediate  consequence is that
     any  computation  making  use  of  packaged  software  is  a  multi-step
     computation as well.

     Remember the  short C  program computing  π from  the beginning  of this
     post?  Running that  program is only the  last step in a  long series of
     computations.  Before you  can run =pi=, you must  compile =pi.c=.  That
     requires the  package =gcc-toolchain=,  which must  first be  built. And
     before it can  be built, its inputs  must be built.  And so  on.  If you
     want  the  output of  =pi=  to  be  reproducible,  *the whole  chain  of
     computations must be reproducible*, because each step can have an impact
     on the results produced by =pi=.

     So... where does this chain start?   Few people write machine code these
     days, so almost all software  requires some compiler or interpreter. And
     that means that for every package, there are other packages that must be
     built first. The question  of how to get this chain  started is known as
     the bootstrapping problem.  A rough summary  of the solution is that the
     chain  starts on  somebody else's  computer, which  creates a  bootstrap
     seed, an ideally  small package that is downloaded  in precompiled form.
     See [[https://guix.gnu.org/blog/2019/guix-reduces-bootstrap-seed-by-50/][this
post  by Jan Nieuwenhuizen]] for details of  this procedure.  The
     bootstrap seed is not the real start of the chain, but as long as we can
     retrieve  an identical  copy at  a later  time, that's  good enough  for
     reproducibility. In fact, the reason for requiring the bootstrap seed to
     be  small  is not  reproducibility,  but  inspectability: it  should  be
     possible to audit the seed for bugs  and malware, even in the absence of
     source code.


** Closure of bag

     Now we are  finally ready for the ultimate step  in dependency analysis:
     identifying all packages on which a computation depends, right up to the
     bootstrap seed. The  starting point is the list of  direct inputs of the
     bag  derived  from  a  package,  which we  looked  at  in  the  previous
     script.  For  each  package  in  that list,  we  must  apply  this  same
     procedure,  recursively. We  don't have  to write  this code  ourselves,
     because the  function =package-closure=  in Guix does  that job.  If you
     have a basic  knowledge of Scheme, you should be  able to understand its
     [[https://git.savannah.gnu.org/cgit/guix.git/tree/guix/packages.scm#n817][implementation]]
now. Let's add it to our dependency analysis code:

     #+begin_src scheme :results output
     (use-modules (guix packages)
                  (gnu packages)
                  (srfi srfi-1)
                  (ice-9 match))

     (define (package->specification package)
       (format #f "~a@~a"
               (package-name package)
               (package-version package)))

     (define (input->specification input)
       (match input
         ((label (? package? package) . _)
          (package->specification package))
         ((label (? origin? origin))
          (format #f "[source code from ~a]"
                  (origin-uri origin)))
         (other-input
          (format #f "~a" other-input))))

     (define (unique-inputs inputs)
       (delete-duplicates
        (map input->specification inputs)))

     (define (length-and-list lists)
       (list (length lists) lists))

     (define hello
       (specification->package "hello"))

     (format #t "Package        : ~a\n"
             (package->specification hello))
     (format #t "Package inputs : ~a\n"
             (length-and-list (unique-inputs (package-direct-inputs hello))))
     (format #t "Build inputs   : ~a\n"
             (length-and-list
              (unique-inputs
               (bag-direct-inputs
                (package->bag hello)))))
     (format #t "Package closure: ~a\n"
             (length-and-list
              (delete-duplicates
               (map package->specification
                    (package-closure (list hello))))))
     #+end_src

     #+RESULTS:
     : Package        : hello@2.10
     : Package inputs : (0 ())
     : Build inputs   : (20 ([source code from
mirror://gnu/hello/hello-2.10.tar.gz] tar@1.30 gzip@1.9 bzip2@1.0.6
xz@5.2.4 file@5.33 diffutils@3.6 patch@2.7.6 findutils@4.6.0
gawk@4.2.1 sed@4.5 grep@3.1 coreutils@8.30 make@4.2.1
bash-minimal@4.4.23 ld-wrapper@0 binutils@2.31.1 gcc@5.5.0 glibc@2.28
glibc-utf8-locales@2.28))
     : Package closure: (62 (gzip@1.9 libstdc++-boot0@4.9.4
gcc-cross-boot0@5.5.0 m4@1.4.18 linux-libre-headers@4.14.67
gettext-boot0@0.19.8.1 bison@3.0.5 guile-bootstrap@2.0
glibc-intermediate@2.28 gcc-cross-boot0-wrapped@5.5.0
perl-boot0@5.28.0 bootstrap-binaries@0 file-boot0@5.33
findutils-boot0@4.6.0 diffutils-boot0@3.6 make-boot0@4.2.1
binutils-cross-boot0@2.31.1 ld-wrapper-boot0@0 zlib@1.2.11
libstdc++@5.5.0 ld-wrapper-boot3@0 bash-static@4.4.23 texinfo@6.5
libatomic-ops@7.6.6 pkg-config@0.29.2 gmp@6.1.2 libgc@7.6.6
libltdl@2.4.6 libunistring@0.9.10 libffi@3.2.1 guile@2.2.4 expat@2.2.6
perl@5.28.0 gettext-minimal@0.19.8.1 attr@2.4.47 libcap@2.25
acl@2.2.52 binutils-bootstrap@0 gcc-bootstrap@0 glibc-bootstrap@0
libsigsegv@2.12 lzip@1.20 ed@1.14.2 binutils@2.31.1 glibc@2.28
gcc@5.5.0 bash-minimal@4.4.23 glibc-utf8-locales@2.28 grep@3.1
coreutils@8.30 ld-wrapper@0 make@4.2.1 sed@4.5 gawk@4.2.1
findutils@4.6.0 patch@2.7.6 diffutils@3.6 file@5.33 xz@5.2.4
bzip2@1.0.6 tar@1.30 hello@2.10))


     That's 84 packages,  just for printing "Hello, world!".  As promised, it


How do you obtain this 84 packages?


     includes the boostrap seed, called =bootstrap-binaries=.  It may be more
     surprising to see  Perl and Python in  the dependency list of  what is a
     pure C program.  The explanation is that the build  process of =gcc= and
     =glibc= contains  Perl and Python  code. Considering that both  Perl and
     Python are written in C and use =glibc=, this hints at why bootstrapping
     is a hard problem!


** Ready to analyse yourself


     As promised, here is  a [[file:show-dependencies.scm][Guile
script]] that you can  download and run from
     the command  line to do  dependency analyses much  like the ones  I have
     shown. Just  give the packages  whose combined list of  dependencies you
     want to analyze. For example:
     #+begin_src sh :results output :exports both
     ./show-dependencies.scm hello
     #+end_src

     #+RESULTS:
     : Packages: 1
     :   hello@2.10
     : Package inputs: 0 packages
     :
     : Build inputs: 20 packages
     :   [source code from mirror://gnu/hello/hello-2.10.tar.gz]
bash-minimal@5.0.7 binutils@2.32 bzip2@1.0.6 coreutils@8.31
diffutils@3.7 file@5.33 findutils@4.6.0 gawk@5.0.1 gcc@7.4.0
glibc-utf8-locales@2.29 glibc@2.29 grep@3.3 gzip@1.10 ld-wrapper@0
make@4.2.1 patch@2.7.6 sed@4.7 tar@1.32 xz@5.2.4
     : Package closure: 84 packages
     :   acl@2.2.53 attr@2.4.48 bash-minimal@5.0.7 bash-static@5.0.7
binutils-cross-boot0@2.32 binutils-mesboot0@2.20.1a
binutils-mesboot@2.20.1a binutils@2.32 bison@3.4.1
bootstrap-binaries@0 bootstrap-mes@0 bootstrap-mescc-tools@0.5.2
bzip2@1.0.6 coreutils@8.31 diffutils-boot0@3.7 diffutils-mesboot@2.7
diffutils@3.7 ed@1.15 expat@2.2.7 file-boot0@5.33 file@5.33
findutils-boot0@4.6.0 findutils@4.6.0 flex@2.6.4 gawk@5.0.1
gcc-core-mesboot@2.95.3 gcc-cross-boot0-wrapped@7.4.0
gcc-cross-boot0@7.4.0 gcc-mesboot-wrapper@4.9.4 gcc-mesboot0@2.95.3
gcc-mesboot1-wrapper@4.7.4 gcc-mesboot1@4.7.4 gcc-mesboot@4.9.4
gcc@7.4.0 gettext-boot0@0.19.8.1 gettext-minimal@0.20.1
glibc-headers-mesboot@2.16.0 glibc-intermediate@2.29
glibc-mesboot0@2.2.5 glibc-mesboot@2.16.0 glibc-utf8-locales@2.29
glibc@2.29 gmp@6.1.2 grep@3.3 guile-bootstrap@2.0 guile@2.2.6
gzip@1.10 hello@2.10 ld-wrapper-boot0@0 ld-wrapper-boot3@0
ld-wrapper@0 libatomic-ops@7.6.10 libcap@2.27 libffi@3.2.1
libgc@7.6.12 libltdl@2.4.6 libsigsegv@2.12 libstdc++-boot0@4.9.4
libstdc++@7.4.0 libunistring@0.9.10 libxml2@2.9.9
linux-libre-headers-bootstrap@0 linux-libre-headers@4.19.56 lzip@1.21
m4@1.4.18 make-boot0@4.2.1 make-mesboot0@3.80 make-mesboot@3.82
make@4.2.1 mes-boot@0.19 mesboot-headers@0.19 ncurses@6.1-20190609
patch@2.7.6 perl-boot0@5.30.0 perl@5.30.0 pkg-config@0.29.2
python-minimal@3.5.7 sed@4.7 tar@1.32 tcc-boot0@0.9.26-6.c004e9a
tcc-boot@0.9.27 texinfo@6.6 xz@5.2.4 zlib@1.2.11

     You can now easily experiment yourself, even if you are not at ease with
     Guile. For  example, suppose you have  a small Python script  that plots
     some data using matplotlib. What  are its dependencies? First you should
     check that it runs in a minimal environment:
     #+begin_src sh :results output :exports both :eval no
     guix  environment --container --ad-hoc python python-matplotlib
-- python my-script.py
     #+end_src
     Next, find its dependencies:
     #+begin_src sh :results output :exports both :eval no
     ./show-dependencies.scm python python-matplotlib
     #+end_src
     I won't  show the output  here because it is  rather long -  the package
     closure contains 499 packages!

     * OK, but... what are the /real/ dependencies?

     I   have   explained  dependencies   along   these   lines  in   a   few
     seminars. There's one question that someone  in the audience is bound to
     ask:  What do  the results  of a  computation /really/  depend on?   The
     output of =hello= is ="Hello, world!"=, no matter which version of =gcc=
     I use to compile it, and no matter which version of =python= was used in
     building  =glibc=. The  package  closure is  a  worst-case estimate:  it
     contains everything that can /potentially/ influence the results, though
     most  of it  doesn't  in practice.  Unfortunately, there  is  no way  to
     identify the  dependencies that matter automatically,  because answering
     that question in general (i.e.  for arbitrary software) is equivalent to
     solving the
[[https://en.wikipedia.org/wiki/Halting_problem][halting problem]].

     Most  package managers,  such as  Debian's =apt=  or the  multi-platform
     =conda=, take a different point of view. They define the dependencies of
     a program as all packages that need to be loaded into memory in order to
     run it. They  thus exclude the software that is  required to /build/ the
     program  and  its run-time  dependencies,  but  can then  be  discarded.
     Whereas Guix' definition  errs on the safe side (its  dependency list is
     often  longer than  necessary but  never too  short), the  run-time-only
     definition  is  both  too  vast   and  too  restrictive.  Many  run-time
     dependencies don't  have an impact  on most programs' results,  but some
     build-time dependencies do.


From my point of view, an essential point of this "worst-case estimate" is:
time travelling. Because the closure is well-defined, it is possible to
restore the complete set of the dependencies. And it is not possible with the
other point of view, if I understand correctly.


     One   important   case   where   build-time   dependencies   matter   is
     floating-point computations. For historical reasons, they are surrounded
     by an  aura of vagueness and  imprecision, which goes back  to its early
     days,  when  many details  were  poorly  understood and  implementations
     varied a lot. Today, all computers used for scientific computing respect
     the [[https://en.wikipedia.org/wiki/IEEE_754][IEEE 754 standard]]
that  precisely defines how floating-point numbers
     are  represented  in memory  and  what  the  result of  each  arithmetic
     operation  must   be.   Floating-point  arithmetic  is   thus  perfectly
     deterministic and even perfectly portable between machines, if expressed
     in terms of the operations  defined by the standard. However, high-level
     languages such as C or Fortran do  not allow programmers to do that. Its
     designers assume (probably correctly) that  most programmers do not want
     to deal with the intricate  details of rounding.  Therefore they provide
     only a  simplified interface  to the arithmetic  operations of  IEE 754,


Missing E at IEEE.


     which incidentally also  provides more liberty for  code optimization to
     compiler writers. The net result is that the complete specification of a
     program's  results  is  its  source  code /plus  the  compiler  and  the
     compilation  options/. You  thus /can/  get reproducible  floating-point
     results if you include all compilation  steps into the perimeter of your
     computation, at least  for code running on a  single processor. Parallel
     computing  is  a different  story:  it  involves voluntarily  giving  up
     reproducibility in  exchange for  speed. Reproducibility then  becomes a
     best-effort  approach   of  limiting  the  collateral   damage  done  by
     optimization through the clever design of algorithms.


It is out of scope and I have never read the IEEE 754 standard, so I do not
know if this simple propagation of errors depends on the compiler suite
and/or the machine.

#+begin_src C
#include <stdio.h>

int main() {
    double x = 0.;

    for (int i = 1; i < 10; i++) {
        x = x + 0.1;
        printf("(%d) x=%0.20f\n", i, x);
    }
    return 0;
}
#+end_src

And I do not know neither if the standard fixes associativity rules when no
parenthesis is provided or if it is up to the compiler.

#+begin_src C
#include <stdio.h>

int main() {
    float x;
    float r1, r2, r3, r4;

    x = 1.0e21;
    r1 = x + 1 - x + 1;
    r2 = (x + 1) - (x - 1);
    r3 = x + (1 - x) + 1;
    r4 = x + (1 - (x - 1));

    printf(" x + 1  -  x + 1 =%f\n", r1);
    printf("(x + 1) - (x - 1)=%f\n", r2);
    printf(" x +(1  -  x)+ 1 =%f\n", r3);
    printf(" x +(1 -  (x+ 1))=%f\n", r4);
    return 0;
}
#+end_src


     * Reproducing a reproducible computation

     So   far,   I   have    explained   the   theory   behind   reproducible
     computations. The  take-home message is that  to be sure to  get exactly
     the same results in the future, you  have to use the exact same versions
     of all packages in the package closure of your immediate dependencies. I
     have also  shown you how you  can access that package  closure. There is
     one missing piece:  how do you actually run your  program in the future,
     using the same environment?

     The good news is that doing this  is a lot simpler than understanding my
     lengthy  explanations (which  is why  I leave  this for  the end!).  The
     complex dependency graphs that I have analyzed up to here are encoded in
     the Guix source  code, so all you need to  re-create your environment is
     the exact same version of Guix!  You get that version using
     #+begin_src sh :results output :exports both
     guix describe
     #+end_src

     #+RESULTS:
     : Generation 15    Jan 06 2020 13:30:45    (current)
     :   guix 769b96b
     :     repository URL: https://git.savannah.gnu.org/git/guix.git
     :     branch: master
     :     commit: 769b96b62e8c09b078f73adc09fb860505920f8f

     The  critical information  here is  the unpleasantly  looking string  of
     hexadecimal digits  after "commit".   This is all  it takes  to uniquely
     identify a version of Guix. And to re-use it in the future, all you need
     is Guix' time machine:

     #+begin_src sh :session reproduce-C-compiler :results output :exports both
     guix time-machine
--commit=769b96b62e8c09b078f73adc09fb860505920f8f -- environment
--ad-hoc gcc-toolchain
     #+end_src

     #+RESULTS:
     :
     : Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...

     #+begin_src sh :session reproduce-C-compiler :results output :exports both
     gcc pi.c -o pi ./pi
     #+end_src

     #+RESULTS:
     :
     : pi = 3.1415926536
     : 4 * atan(1.): 3.1415926536
     : Leibniz' formula (four terms): 2.8952380952

     The time  machine actually downloads  the specified version of  Guix and
     passes it the rest  of the command line.  You are  running the same code
     again. Even bugs in Guix will be reproduced faithfully!

     For many practical  use cases, this technique is  sufficient.  But there
     are two variants you should know about for more complicated situations:

      - If  you need  an environment  with many  packages, you  should use  a
        manifest rather than  list the packages on the command  line.
See [[https://guix.gnu.org/manual/en/html_node/Invoking-guix-environment.html][the
        manual]] for details.

      - If you need packages from additional channels, i.e. packages that are
        not  part of  the  official  Guix distribution,  you  should store  a
        complete channel description in a file using
     #+begin_src sh :results none :exports code
     guix describe -f channels > guix-version-for-reproduction.txt
     #+end_src

     and feed that file to the time machine:
     #+begin_src sh :session reproduce-C-compiler-2 :results output
:exports both
     guix time-machine --channels=guix-version-for-reproduction.txt --
environment --ad-hoc gcc-toolchain
     #+end_src

     #+RESULTS:
     :
     : Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...

     #+begin_src sh :session reproduce-C-compiler-2 :results output
:exports both
     gcc pi.c -o pi ./pi
     #+end_src

     #+RESULTS:
     :
     : pi = 3.1415926536
     : 4 * atan(1.): 3.1415926536
     : Leibniz' formula (four terms): 2.8952380952


Last, if your colleague does not use yet Guix, then let pack (plain tarball,
Docker or Singularity containers) and provide the image. For example,

#+begin_src sh :results none :exports code
guix pack            \
     -f docker       \
     -C none         \
     -S /bin=bin     \
     -S /lib=lib     \
     -S /share=share \
     -S /etc=etc     \
     gcc-toolchain
#+end_src

and knowing the Guix commit (channel), you will be able in the future to
reproduce bit-to-bit this container using =guix time-machine=.


     And now...  congratulations for having survived  to the end of this long
     journey!  May all your computations be reproducible, with Guix.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-07 16:05           ` Proposal for a blog contribution on reproducible computations Konrad Hinsen
  2020-01-09 20:40             ` zimoun
@ 2020-01-10 16:59             ` Ludovic Courtès
  2020-01-10 17:19               ` zimoun
                                 ` (3 more replies)
  2020-01-10 17:03             ` Ludovic Courtès
  2 siblings, 4 replies; 34+ messages in thread
From: Ludovic Courtès @ 2020-01-10 16:59 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hi Konrad,

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

> Here is a first complete draft:
>
>   https://github.com/khinsen/reproducibility-with-guix/blob/master/reproducibility-with-guix.org
>
> Feedback welcome, be it by mail or as issues on GitHub.

I’ve read it entirely and I think it’s perfect.  It’s a pleasant read,
it covers many aspects in a pedagogical way (if I’m able to judge
that!), and it always shows how these nitty-gritty details relate to
reproducible computations.  I like how you explain that it’s human
interpretation that leads us to split “inputs” and “outputs” into more
specific categories (I had already enjoyed that in one of your talks).

Minor comments:

  • You write “Build systems are packages as well”.  This could be
    slightly misleading: build systems are (1) a set of packages, and
    (2) a build procedure.  Dunno if it makes sense to clarify that.

  • In the ‘guix pack’ example, you could perhaps omit all the -S flags
    except for /bin, and mention ‘--save-provenance’.

  • Would it make sense to mention MPFR in the paragraph about IEEE 754?

  • Regarding ‘--container’, you write that namespaces “may not be
    present on your system, or may be disabled by default”, which is a
    bit strong; “may be present on your system, but perhaps disabled by
    default” would be more accurate.  :-)

> Also, what is the procedure for submitting blog posts? What are the
> right formats for text and graphics?

The format we use is Markdown fed to Haunt:

  https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website/posts

(which is sad because your Org file with Babel sessions is much nicer…).
I think Pierre had something to convert Org to Markdown.  To
syntax-highlight Scheme code, you must start Scheme blocks with
“```scheme” in Markdown.

PNGs for graphics are good.

You can post a patch against the guix-artwork.git repo here when you’re
ready.

If you want we can publish it next Tuesday or Thursday.  We could have
it on both hpc.guix.info and guix.gnu.org, with one saying that it’s a
re-post of the other.

Thank you for the great article!

Ludo’.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-07 16:05           ` Proposal for a blog contribution on reproducible computations Konrad Hinsen
  2020-01-09 20:40             ` zimoun
  2020-01-10 16:59             ` Ludovic Courtès
@ 2020-01-10 17:03             ` Ludovic Courtès
  2020-01-11  9:39               ` Konrad Hinsen
  2 siblings, 1 reply; 34+ messages in thread
From: Ludovic Courtès @ 2020-01-10 17:03 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Another thing that comes to mind: would it make sense to mention ‘guix
graph’ in the part where you pipe the output of ‘guix show’ to ‘recsel’,
etc.?

Ludo’.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-10 16:59             ` Ludovic Courtès
@ 2020-01-10 17:19               ` zimoun
  2020-01-10 18:53               ` Giovanni Biscuolo
                                 ` (2 subsequent siblings)
  3 siblings, 0 replies; 34+ messages in thread
From: zimoun @ 2020-01-10 17:19 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix Devel

Hi Ludo,

On Fri, 10 Jan 2020 at 17:59, Ludovic Courtès <ludovic.courtes@inria.fr> wrote:

>   • In the ‘guix pack’ example, you could perhaps omit all the -S flags
>     except for /bin, and mention ‘--save-provenance’.

I am the culprit.

The invocation of "guix pack -f docker" is not clear to me. So
basically, I copied/pasted the lines here [1] :-) because it works all
the time.

[1] http://bioinformatics.mdc-berlin.de/pigx/supplementary-materials.html


That said, I also find interesting the command-line and hashes comparisons:

--8<---------------cut here---------------start------------->8---
/usr/bin/gcc pi.c -o pi-debian-gcc8
docker run -v `pwd`:`pwd` -w `pwd` -ti gcc-toolchain gcc pi.c -o pi-docker
guix environment --container --ad-hoc gcc-toolchain -- gcc pi.c -o pi-guix

md5sum pi-*

b268af34d62763a2a707944403bf7b0b  pi-debian-gcc8
1be3c1b5d1e065017e4c56f725b1a692  pi-docker
1be3c1b5d1e065017e4c56f725b1a692  pi-guix
--8<---------------cut here---------------end--------------->8---

Anyway! :-)


>   • Would it make sense to mention MPFR in the paragraph about IEEE 754?

And MPFI? ;-)


All the best,
simon

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-10 16:59             ` Ludovic Courtès
  2020-01-10 17:19               ` zimoun
@ 2020-01-10 18:53               ` Giovanni Biscuolo
  2020-01-11  9:31               ` Konrad Hinsen
  2020-01-14  9:06               ` Konrad Hinsen
  3 siblings, 0 replies; 34+ messages in thread
From: Giovanni Biscuolo @ 2020-01-10 18:53 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 542 bytes --]

Hello,

kudos for the great article!

Ludovic Courtès <ludovic.courtes@inria.fr> writes:

[...]

> The format we use is Markdown fed to Haunt:
>
>   https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website/posts
>
> (which is sad because your Org file with Babel sessions is much nicer…).
> I think Pierre had something to convert Org to Markdown.

you could try pandoc or emacs-ox-hugo, both in Guix

I can help convert/adapt if needed

HTH!

[...]

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-10 16:59             ` Ludovic Courtès
  2020-01-10 17:19               ` zimoun
  2020-01-10 18:53               ` Giovanni Biscuolo
@ 2020-01-11  9:31               ` Konrad Hinsen
  2020-01-11 14:05                 ` Giovanni Biscuolo
  2020-01-13  8:37                 ` Ludovic Courtès
  2020-01-14  9:06               ` Konrad Hinsen
  3 siblings, 2 replies; 34+ messages in thread
From: Konrad Hinsen @ 2020-01-11  9:31 UTC (permalink / raw)
  To: Ludovic Courtès, zimoun, Giovanni Biscuolo; +Cc: Guix Devel

Hi Ludo, Simon, and GIovanni,

Thanks for your feedback !

> Minor comments:
>
>   • You write “Build systems are packages as well”.  This could be
>     slightly misleading: build systems are (1) a set of packages, and
>     (2) a build procedure.  Dunno if it makes sense to clarify that.

Maybe I got something wrong, but I think I described this as you say
(please check!). Quote:

  Build systems are pieces of Guile code that are part of Guix. But this
  Guile code is only a shallow layer orchestrating invocations of other
  software, such as =gcc= or =make=. And that software is defined by
  packages.

The build procedure is that "shallow layer orchestrating invocations".
Does this sound right?

>   • In the ‘guix pack’ example, you could perhaps omit all the -S flags
>     except for /bin, and mention ‘--save-provenance’.

I'll have to look up ‘--save-provenance’ first. I don't use "guix pack"
that much, though I should probably use it more, if only to expose more
people indirectly to Guix.

>   • Would it make sense to mention MPFR in the paragraph about IEEE 754?

I considered it, but left it out because it would probably create
confusion. And people who are aware of MPFR probably don't need my
explanation of floats.

>   • Regarding ‘--container’, you write that namespaces “may not be
>     present on your system, or may be disabled by default”, which is a
>     bit strong; “may be present on your system, but perhaps disabled by
>     default” would be more accurate.  :-)

Fixed. I don't know anything about the implementation techniques of
–container, so I'll blindly write what you say :-)

> The format we use is Markdown fed to Haunt:

OK, pandoc should get me there.

> You can post a patch against the guix-artwork.git repo here when you’re
> ready.

OK.

> If you want we can publish it next Tuesday or Thursday.  We could have
> it on both hpc.guix.info and guix.gnu.org, with one saying that it’s a
> re-post of the other.

Fine with me!


zimoun <zimon.toutoune@gmail.com> writes:

> That said, I also find interesting the command-line and hashes comparisons:
>
> --8<---------------cut here---------------start------------->8---
> /usr/bin/gcc pi.c -o pi-debian-gcc8
> docker run -v `pwd`:`pwd` -w `pwd` -ti gcc-toolchain gcc pi.c -o pi-docker
> guix environment --container --ad-hoc gcc-toolchain -- gcc pi.c -o pi-guix
>
> md5sum pi-*
>
> b268af34d62763a2a707944403bf7b0b  pi-debian-gcc8
> 1be3c1b5d1e065017e4c56f725b1a692  pi-docker
> 1be3c1b5d1e065017e4c56f725b1a692  pi-guix
> --8<---------------cut here---------------end--------------->8---
>
> Anyway! :-)

Nice! Not sure I want to go into that because it requires adding another
system (Debian), which I think is mainly a source of confusion.

>>   • Would it make sense to mention MPFR in the paragraph about IEEE 754?
>
> And MPFI? ;-)

OK, I see another blog post coming ;-) But there are people more
competent than myself for that.


Giovanni Biscuolo <g@xelera.eu> writes:

>> (which is sad because your Org file with Babel sessions is much nicer…).
>> I think Pierre had something to convert Org to Markdown.
>
> you could try pandoc or emacs-ox-hugo, both in Guix
> I can help convert/adapt if needed

My plan for now is pandoc, but if that doesn't work as expected, I'll
come back to your offer for help!

Thanks everyone,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-10 17:03             ` Ludovic Courtès
@ 2020-01-11  9:39               ` Konrad Hinsen
  2020-01-15 22:20                 ` Ludovic Courtès
  0 siblings, 1 reply; 34+ messages in thread
From: Konrad Hinsen @ 2020-01-11  9:39 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix Devel

Ludovic Courtès <ludo@gnu.org> writes:

> Another thing that comes to mind: would it make sense to mention ‘guix
> graph’ in the part where you pipe the output of ‘guix show’ to ‘recsel’,
> etc.?

Forgot that one, sorry. Yes, it would make sense, though I'd place it a
bit later in the text. But I'd have to figure out first how how the
various options of "guix graph" relate exactly to what I am writing.

  ‘package’
       This is the default type used in the example above.  It shows the
       DAG of package objects, excluding implicit dependencies.  It is
       concise, but filters out many details.

Are "implicit dependencies" those added by the build system? If yes,
this edges in this graph would correspond to package-direct-inputs.

  ‘bag’
       Similar to ‘bag-emerged’, but this time including all the bootstrap
       dependencies.

And that is package-closure with arrows defined by bag-direct-inputs, right?

Cheers,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-11  9:31               ` Konrad Hinsen
@ 2020-01-11 14:05                 ` Giovanni Biscuolo
  2020-01-13  8:37                 ` Ludovic Courtès
  1 sibling, 0 replies; 34+ messages in thread
From: Giovanni Biscuolo @ 2020-01-11 14:05 UTC (permalink / raw)
  To: Konrad Hinsen, Ludovic Courtès, zimoun; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 1229 bytes --]

Hi Konrad

Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

[...]

> Maybe I got something wrong, but I think I described this as you say
> (please check!). Quote:
>
>   Build systems are pieces of Guile code that are part of Guix. But this
>   Guile code is only a shallow layer orchestrating invocations of other
>   software, such as =gcc= or =make=. And that software is defined by
>   packages.
>
> The build procedure is that "shallow layer orchestrating invocations".
> Does this sound right?

what about "shallow layer (build procedure) orchestrating invocations",
just to be super-clear? :-)

[...]

> Giovanni Biscuolo <g@xelera.eu> writes:
>
>>> (which is sad because your Org file with Babel sessions is much nicer…).
>>> I think Pierre had something to convert Org to Markdown.
>>
>> you could try pandoc or emacs-ox-hugo, both in Guix
>> I can help convert/adapt if needed
>
> My plan for now is pandoc, but if that doesn't work as expected, I'll
> come back to your offer for help!

I seldom used pandoc to converd org to Markdown, please give me a
feedback on the quality of the result, thanks!

[...]

Ciao, Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-11  9:31               ` Konrad Hinsen
  2020-01-11 14:05                 ` Giovanni Biscuolo
@ 2020-01-13  8:37                 ` Ludovic Courtès
  1 sibling, 0 replies; 34+ messages in thread
From: Ludovic Courtès @ 2020-01-13  8:37 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hello!

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

>> Minor comments:
>>
>>   • You write “Build systems are packages as well”.  This could be
>>     slightly misleading: build systems are (1) a set of packages, and
>>     (2) a build procedure.  Dunno if it makes sense to clarify that.
>
> Maybe I got something wrong, but I think I described this as you say
> (please check!). Quote:
>
>   Build systems are pieces of Guile code that are part of Guix. But this
>   Guile code is only a shallow layer orchestrating invocations of other
>   software, such as =gcc= or =make=. And that software is defined by
>   packages.
>
> The build procedure is that "shallow layer orchestrating invocations".
> Does this sound right?

Oh yes, that’s entirely correct!  It’s just the section title that I
thought could be misleading, but maybe not given this explanation.

>>   • Regarding ‘--container’, you write that namespaces “may not be
>>     present on your system, or may be disabled by default”, which is a
>>     bit strong; “may be present on your system, but perhaps disabled by
>>     default” would be more accurate.  :-)
>
> Fixed. I don't know anything about the implementation techniques of
> –container, so I'll blindly write what you say :-)

It relies on “unprivileged user namespaces”, a Linux feature that’s been
around for some time, and is almost always compiled in, but is disabled
by default on some major distros.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-10 16:59             ` Ludovic Courtès
                                 ` (2 preceding siblings ...)
  2020-01-11  9:31               ` Konrad Hinsen
@ 2020-01-14  9:06               ` Konrad Hinsen
  2020-01-14 15:38                 ` Ludovic Courtès
  3 siblings, 1 reply; 34+ messages in thread
From: Konrad Hinsen @ 2020-01-14  9:06 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix Devel

Hi Ludo,

> You can post a patch against the guix-artwork.git repo here when you’re
> ready.

Here it comes !

Cheers,
  Konrad.

From 305b32215ab6ffcf50f0e018c783fddf0e2c7ed0 Mon Sep 17 00:00:00 2001
From: Konrad Hinsen <konrad.hinsen@fastmail.net>
Date: Tue, 14 Jan 2020 10:02:08 +0100
Subject: [PATCH] Add post on reproducibile computations with Guix

---
 website/posts/computation.png              |  Bin 0 -> 81821 bytes
 website/posts/data-code.png                |  Bin 0 -> 90758 bytes
 website/posts/data-program-environment.png |  Bin 0 -> 101598 bytes
 website/posts/guix-package.png             |  Bin 0 -> 48499 bytes
 website/posts/reproducibility-with-guix.md | 1013 ++++++++++++++++++++
 website/posts/show-dependencies.scm        |   76 ++
 6 files changed, 1089 insertions(+)
 create mode 100644 website/posts/computation.png
 create mode 100644 website/posts/data-code.png
 create mode 100644 website/posts/data-program-environment.png
 create mode 100644 website/posts/guix-package.png
 create mode 100644 website/posts/reproducibility-with-guix.md
 create mode 100755 website/posts/show-dependencies.scm

diff --git a/website/posts/computation.png b/website/posts/computation.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9635d1b19fb4256f937d581a0384695a779f47b
GIT binary patch
literal 81821
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
L-uWzbv&a7fW2<1#

literal 0
HcmV?d00001

diff --git a/website/posts/data-code.png b/website/posts/data-code.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9b3c5193cdc026d83a04d5550c2811394db3a10
GIT binary patch
literal 90758
zcmeEuc{r49*tbfHN|F#+3L$G*vlCg8tt^eT#V$*P3`5#%F(HJILDnH#)*-3vG}f|=
z?95;+Gxp`XZl33<_kH?~<2~N*c)vfs<LkKlXNLQ_u5<mJzw^8V>1wM{A7(yGK|w*S
zp{{bBf`XEdf?{vnp#$KP6`j&&6cl@S?39&t9hB9So$ooj-f+2n*GkFK`Ht0fwaXW!
zq%KiV@P^;Lb?dsi0B`;66Sr>FxA31o?CN<vF!06oTYjHD)_?r`vEj_;k8!U}O@E#`
z{<D^X@&YrxPsIU!YRVXQCF|RbBl}IyXMSl=T%$Q|!^3zo>cWK!))YS)$Ik6P<3aOM
zFya-pwJ=3~$fIMF1tpKZPaR*Pde3}l{n$+{^_QYAH}}+!Ywj(KRrHuoQ~tj9j6|pT
z@#7D!HRxP5pjb7p{np-oIZ{R8IOVxa`g3P`rK;Z+@QTW%sMOG&x}JGB(W?P2eOUE?
z>Vcz2-?{{3Y_S|VrlXoKdgvmhVqi=7ty^;zjUPWQ96W2?-t_UkVt~KDAK&F`Eie6*
z6qEdK555^~M~P%yd~xmT(W6gSC^8XOnK;I;(*ns+xv0b3C@2_DK>zpHB((#<DpF{u
zDCs}kGo3*7hQ*+4X;2{2Ql$Bsb-n#3j)Erwdv7lml%758<5XJ53olz35`yR9vSSGD
zO80B%Jr}?1XUydo&V7q=xp;<SUHjv7lVwD+B{!XQl`sFB4_OuE>$2ix52G&GfWdEO
z25nw=ukG~oiiy-{jk{^w_qY`I{^5DKXK$qFOMhDRN0fhf&YbxebhzsHAHI1+DWd#{
zjy{&@@PV^?PMrDI^HXKN#lAnRr?@xv?8l(s=A-+cyriJ|_v3<kocFJnL9h33KK@hX
ziuLoyN`KtVCB2%SKfUjzqV*vc6o;sC&6z*$=1s;=hd&=(l=6~Zcx>{m<9|5anLXP2
zbK-v%DAV3I8THM&7Y_a5bT27*_*R(zEiLd#{Za5vOKaX!PyeI{AZj1#e@hE|V)-1r
zQ$+OS(aV2QFQmQ$e-zmNSKog_eINBX{-r#Jy(uXvuAAhZrcg;7uS0jv`R#jsAGEC7
z5(V8RTB&`<+meLS-?#?9ars0g;w7?e)&)16)Y%K;0&XA>c2!%{vA<L=Okrz9eNFk8
zluB;dcwD`-(C@mw#<Ewk-{pzv{V(*cV^Kzpy~PfgBRvfv6LLf^*V(d(Mwm^)*Z}e}
zaFPwW*J6hDtHMv{E&V^1yAxDwKGx3Eb0S|=Z;|tc41BbIGm;B?4&Cc5(!i~Cmo%1C
zZ_eB|^6s@uZ?I8Vhe>VB)z-~i*$3V@P4|<Q{s%iJH`kuPk1^F7RzIo`-eqn1b!?|u
z<YDGDJipxP*0rAj3LD9$E;aiLd^gwhmq-<Zo7!RWYm>KzM^e}~Gp@yooTIlmLg&jE
zl73Za-n3LAkph_!IPs~N>d;(ZFy*(S<pQRqx`uh?W*$|OsF2ZiO<_UdMXFz(bo0c@
zSIMfg6A7N?17<7_zA3qWrd6x2^jfrRlUshZwdIQ?M$pL4J?i&aY`IQ+OYEr}7e}qv
z<H`IhW&*yG4d)V%^n8U*1Qw6}kB&ycHMf|wZQ81^z46_=(7GkU6GJeo5$8E}>F1-H
zp}CzY7jmoC>{sUk6a;7#He8~dRu{%Z5Ni)s+heM@BDuA)dRys%ELM3wHcgKE9fj@r
zwQHcvqBoD&sFE40`imWm3>f67M{5qUzgn(Z#$0!fxGaMoP{7SSm#iP~9Av#_crC$r
z(>dE>wbAIYqk+uuVW5S}Q1CnZJp9V<cJWe?a7cD*Wn`he2cv!9zyXf4B+?6EpP?f)
zI?m3{mL@6t<?M%njUXq<Le|Z%_0DboJg9K$ny<d&Pw1Wfbl{z{0WbIe$9FnVnfk7d
zxz@3I>OWgq>#1fl)i1Q)_kMV~u<aN(KcCLxDQ4yfNz9biBf2zjUN0z|SH3vu7V&%d
zRXjiiIl<PV!ge9wkBD=cmQ(F%2876*ON-5-V=d0UZU#LT8^esQ>oX-r=m}^$K6DxK
zL;Qo}3y9W3vP<9Zq6&v{r=)@g1_qoiKJ=MP4j9eK&OLl=rlSHjd2j9U{v(!yh~+58
z%AfnG+uV-E&-9mxR`Pbd(+UwFILcKoV~7oAo&)rzm3E8cEh2tfK0o}nH^<(%wT6#`
z$s8-UjWnm=^GUQeGBR>;C)8^b1b9zdopf5CF4W;#jutertbI;xrSZ_OydW=6XSRBK
zYhfu?)F#;6JvQ{0*|eXTd&0h<NRqixIyE3GzrETPU=+GuhKts(rUO==LYtR|m~n9Z
zVHI<wyX;w|595fZKCQ2sd!DiU0m`c-Tems=^$+EkRe0o(P{A84UZdge7#-R9&w*7B
z{Kg7=zXa3Yjq2mybYC5f)M2ZbNc3*pw3maGxmsCT^!AYZfPa6l-t4OmjmlLuOQRw#
zzOOxYdL0P&h6AGkK{N6^ZFM`kJWGsh*zZzH9ljNp_TZ*fYE!yAIg?N8lH1s#XzL};
z_M{`fJop0JULC)+j_j(CN+N=I8fn#1#lHT%E^Eo495eO3zFz%ak}PzJ&H+D#IT`zD
z&4-_IM>E;es)xT9TzO0C<K3QT-#*Lp#^rJU!;w(x+RZ5)zlghGQmVe>Yzy(uuT)nf
z>1)DI#F)AUO=79Yy$PPU^KJ0%!qFLLKktEc@1Dh<62H<d?_vLT_8$v%3R@SihvCvj
zLY;l?TACRjflIzzT3QMmc&8PA*lX=zb&Bfq*duf=Kpy1&{>TPnnvnXCU^2+ZzV<CZ
zC68^Uk94>L&Nd39<x@c^z3C#iN$MEGc@v+lO$|MR6qGD~GV&keRm2{eR5)eup`A8=
zA(cli)771?Nls4AwOxb9z$+^3Guk+2f_@_`ZUTFEN$k)ZGrgT|s+v8e{Az=aDmOLB
zwAiS6tqY1uf#&f_dDU+VmwL>-(fx1&I(#$NqFTN*X(?S{bE<v~egr?0OMKf?_07S2
z@@as1B<cZk;AFsO!IFNCq}65{mAoigr=}R;n3yV3+QP<!f<k5aRGW?*S^s>(mL4w8
zygBOupQaa#=MHI&IrqHUZ-P^QqS#OA&qnX?<7)b5qqE<7U%il6-ReXVJFF*Xe+co;
zMp$nScEndi^VX+C(x*>1cwT-L=et_XJGOXCGm_$Nn#R-bZ_-i(znYU!j8Vn8gFsrW
z**#Hd8UcJ5f>HUSiPz>dC_{d&moK8UmoxBwb2SHhWO=S*;_jPUT8+0?-%@cke}KIb
zbwcPj!SYcK=jz-C3GCglS<`5oLvD~y50>cG=DSpQcg$-==qoWJU%4)d?hS>`CNHKi
z-wOGtHP8YiJrVDv>F+L)JUY=tp9z_Qhx5br9+<-<$C3dCSdVQo8m&d@HiW;vgO;#r
zJc&(_6Ds}rI8ddHbpu4^ld!t|zbxuCFQp;c*uVg<bdXiQSg3^_t`^?dJt=)RYE4#P
zQO2H4HHZlf@ZzUn0R$c0Hxnd2^QbhFUY=HxJjQ-lkqlCcBF4#}&wP8W=OE*3PVe!;
zVNUkdz*o5ftUp}mzc7a2x?lYkAh?<LV5s3%9UV4;CLkn7A!q^qV=cCSU3O<LZN_%Y
zPs+VD*9(<@ZW8_cT-dFWRNx208b910`Pyh89z#|S^4nha%PYgUDo>rH_3G=xF~HF4
z%E;lsQ!f6$qL8cl+Xt5L(ej(Ql!Tz*u&`q#*$XM=H!<p=gL)xiaXIIx0J7vt{wi-x
zNxIq!?>j#z0m30R<ks_e9ICN|)xA@%z!uA4;q_LAkW-jNqLE*@)g_(#3+VWB(4Asp
z3ddrxStrPMCZiq6_%4H`goFeG!b0WaLA^y;cyr<but=&>I9n#|H#cT7uCGd~IEww+
zkc_$50ybMLWe0?mxlO2+-$!vge)22k&^`KCWY>|3!C<o5OM{;BVJ{iVF4S`xV94wh
z!JR-@>M0Gz5m5R&VLyFWRWVP;UqVhysGoE}Wzb_|zHa?$leFC9k&pXm1cV86r1DeY
zt){<i{mqHM3iGFAg`ctj(ijv4OX$@QGYpiQ>3_wG{!*A%Q*-ewU%PEm)Mk#t%hO{+
z9=~kHcE5iq)m{Se%6&C`fKJ}ikHyavE>yfDhViY#kk6cj@ah!j0M34Oiu{g}q|MfH
z?>>93{CeI-&l7Qn?v)2m#OtwV-%H8-%Ca9XQB9W&`WhVT_G77I)zkB8TFcU<GAhDX
zoT^UYX1U<O57h!Et$9QA)W@D(L}y=JJNs>LkUi*~=e~T~z7LLt@6&jGp^MbZKT{*M
zvljB-WPC4kOW#;+^ULj>pyGL>TPzexk6wcu%kBl6+`=_bMR>8vS+h&}CnqPXup#A^
zZl+p{(K3XGj@%5akX*eq{XOcJU0pxtG91KXxC+v!yU3+WH;d&%=?6DwJ*_s^$h6tH
zxk6IY?`t^-?Z&oUo)>-9v>Yg>B8{NphfsgflaErussD9-I*g9q<ikCUSIC54RmfW=
z$}pMPOR*R4s#+RJhr6tf#i(_s70-cWQQnB}cWaAkh;-b_vD<kqn%O${^)1SKz9~GX
zRHEZ8_B!<BKC30j)%KuG7^g}=aJ>@UVO+Yswcb&HqWMiK+KR$Yw}Oo-QH{$0Mn<v9
zc<7_q+ky#s)#h6ZG1dC8H-1~I24MTxEGQtxbsuWy$%AUXp76V~`iC~Qma790PF1Vc
zOsuS-r1f;awe<P|lZ?vo1Je9{GsQj9{PMpbk0Ljf>BFIC24y66_o|gI!iLaNr77pb
zr189&o@ZMseW9#5UwQp|$sw?Y-cvnG>L99(X&Z$n>%OEE_D~X*=Hm?=Iq`y4!RfMz
z#96z!hXizqYBWJ`@^)m&fQN}3RY~}-B-KR4;?{iegy+R3Bx3q*f!E@={=z2Ss5*ju
zb5hN~oPBF9AiMjS(I^=*spo3pZ9E*nq^^C|vuUx~OCv{mxiQM4a9&sv?h2rEW0#Qy
zYq%UaQzuHwZCnLF74W{Y^qLf$cGGgk;mx0pU4r=>$z{J4Ow@;bmI{-i&fj>aq7PsD
z<d(R|l38hDtTLMK0#I2)llf9X7N@ZV5Oh<lO(Lx4Y~J7(;LEe`T}LPZrw~kap<W<g
z-ruuwgw@>W9UB{4G=#PdA`e0l-eL9@7Inp-&v&gO$q=1wnt$iZ;nh!!Rk~%p4rL3+
z)i9xqr++E>=7~!HEsmi=gtB_SK*<vV6e`>KJQ@%b;%xI77tP*ERwI^r030S>)Vv58
ztK+50lP6yT#Bf-)RG<Y3qKE7mC=sRMX3{0@eLwD_z6CNa@--VMF&46nFnk3<l`cy^
zYyudcOgKNRJ+0#0XOKOW9J=P8!#H!TeY`c{^wd)I_IkC!_Fh`r-=p*OGcF)6G-1`)
z&BjuDmZd>#8`E-zNA@F@2Mqc~4Eyibu`Ym`=Hexe5u)F=w+gC+vx{gMrKYK(q9ZW6
z3MuewC~uF}$-Ostt|sS1QsQY#hn}AveW`pb{D@GgqWMBZOnue*>}i&&4E7v=-jW`N
zD9M3kXpdm1yLsg2gR*K_YB}Wk_1Z%Fi|lTA72_C96vQk*YHygYV;9!(?(MK7bfZxL
zD~R>J!DCAkpVO0k%O|n)eI?GG+062@m}T6FDu%B~+Zz)<Ekv}X#!kZC-}0YS`Fg}+
z<<oQdlfNPx#brh38(EBd6+j~47_{je0Sm;m`E4!MAbs1~{kVE<k`RwOY-~Vnyl>yW
z0_zrL7zSRv0jiAXirI30j~-T5R+L(Lcf}*?(!03oka-#VhhnQfmuYzu_O+?*%{<PV
z5OB$GZ7gWxm312dp7d}yh<4L!BEiUry(B+9oo9G{*0WkhTjGQ3SYx1eA%5#>`c-{&
zk7L@Rz}=n-X3gb;$N`<PMrWUq)9#2j7Gop+2iYzemQ!@yw6U>C^_#Ld#pg*2>o$!t
z9~y(eF=}G(FGEY!xaH#FGVRsoZ9YKc93pa8wP|ku6fu<MqYsNCLouX$op{h!?U_aI
zv)PX~6s{6q+@p(mWd2&iW|=%0*!WI#`@Yt8@y{DcYx*vi?({D;x<lx5Owid&a|~bJ
zv?fg5W9k<Aiu<-@Pp+AJan$J;Av3%?ucej3?=Xs)vbV4ANl26*fYec|ixbGc>(%K~
zg1Y3Q@D6Pm>ZPU;$iSZk#Ihb%eY=)d_?W&PAOzYyas$dVXFCa6V)kpv_d&H>--lcJ
zpxO?g6mglxcW&Pghdc}ifuGU3CGK2|Io$3&a^JB_XTF;{d`d0IGwBvS2sb+{hkp7S
zx-nK#<Y9!MP}An}pfJ&UaGh%w6&>mt6~;$ByOccWAirGJrs3)7nIa@!GBFQXayN^%
z(`yP!?x}eWy0_ZV>U$R^Q;-KHE<e}X05SQfP<twYWTX_6SB~d9&-$2g(tY^nH)R@X
zUlKD7JZWxTY@kj{a)1lI-$9PXZJ^w}Mvv|wyN}BSJ=cW>o`X#zKLQ9c($dVG_lcP0
zVDqQ;<IS-(F_f74DBrol-=e1|Rli4{V~xVG%^@1U;~4j;H8SCf@XcH`B;HJxG<jt6
z?^=;6H(wmFM$+fB-r4<vjD42y!sFNXQK&Qf8bp}sY)NOoefI~|>pzsGzZlizXMb(|
zqT=E-yLf(KU$vGlmy7oz56yKVx&6nTer3TO))7T{l~FwDTjWVSW>bzmCtN^o7*d}L
z|CNM){ruZ8@FjNP>@AAlmiuSjJ!&Aihf%U?{E5so)&^e+vhO|cYoEV<@qcd7TlP(K
z7bvL2f)t&d^PqeYIz0oTR*-<(Z|D^qFizvqpkBO2{CeXNe?V17$GmUW_>HIfC++Co
z+bc^>`99Kw|0R`wj(f%k%H7#RcW(YcJiHPRpz`*CvHo)Bf1=iCFvtV0;-*J6|FGy6
zZji0+AceCzf0Ni>V)Qqq1+X;tdC2WQNd4`1D9=yNTe<%#um3s8OMVC^0mBgZ!+uW2
zgZ%`{Rpo^J!3<ol09BST3q3#ghyC1v7@hpOn66*8{tGhXLOi%p?U(m|*bk8Gn+)Ei
zl>+HM2(O+V2yfKB^wfVM%yvW{3}_(wFKiZuYJU)383z!aDK%s5FQD{mKlxNHDAfN~
z=Km|oyrxxHnVnZ<EI;Q@Qx6EV_M$Y#9phFEreqMfc_s-U&au*wFimWfA!LCskNLB2
zuhi8nH*9TfJvchG+rD@yy@x=IjQo04Ftn4Cle4{}gA)J+yYJX1JHGJo<wsgIma_m4
z#}BdDYC$G<$v;8H^QyD6aJA0x<oBH)i_`wNux@Fe?hEMcAa*`2KRcIzoh4s<OhL-W
z<#2jK{_*Inf9Pq+h4s|47RC@up%_PLm}?sQ&g?UP*A0bFt=`l50nM?ZJe9$1yY6kQ
zeyc0X0JUx0pb9Mvh)-gq7t{H1u01CpULnt1u(q~#d@N2&zjE%G@T;+=n0UsIth-@m
zh4yCU!~C3^`JZ&I(L-XfeDpEIV&e|%!#&u6hzq+Y<IxG*?&XF~?aiO>|KPx2iyt2X
zpSe>>`6KBMkwN{8IB;Th>T{ugh>njaziI+U9XVIO1xeyxPbL(}?0M}}{_q{w1#|G?
zQ^HD1JpYb4drqi_f^c<RS%dQrq2rAI{E64n=1=CA*jZVl&?Y5~K%!Q?MRxffSxhV}
zuK@L_VPX>B{Q9EuyKAv0vb&-(aAdnzoR!K+{Tk#doO(iF_xzky7+gjOmO<At{C%a;
zP**5}t>JNJEZ4z^b3xTh^S2Yzqy-DPZci@k=FMOg3NHnfqQ*m5PUB9QARJj^z3>L2
z*bXC)<7NCTbLh^ia~e*A)6qDgCtaQoxnxl8cc&K8H+u_OACGzz+rKL!s9+-TW(tJ5
zXdV5dM~_0rY>Ds8%%`JQR#t`@8$YQp9=+S014Ai9QFm2rg}Po!@Gk0Hf5_?1VT`5$
z%ht8ZeJIzCQD#RJT*4q3#vbFt1+=q~p#?lGLnG+8RPZa=o~7dLJT1xVwxg`ALn&&7
zZ`T@SO}T-9{ZYpiaWu5(1tn4-16do@Bj4M;RoOdJzP=5eV1hU@Qv|qWwSqIfF2|At
zqH*PZpV_g--r3a-Ud%c%Fm{A%3jD!~H`P}dCI*`8qP6v>zvnBjt*zO2udj?C4@RE6
zd-pDIEIJnVWHkfQ^76sR(-60oo15$Er%#lYXdHSli@i=93GEEBEtXe7+Oo<lf5%Ik
z9Yc^BhDq|qua0D?6<k8gOEe~m1t3f8Bi1Av(YT>*^(3)?*_3e4O94o>mdAMhMVDB}
zOoK1)>f_+9KFrr`HP;vIO9->u>km^*-&7+@I`An-pi<jfDW8IyaKaX?pNhi_dMkI#
zPS(sCEE<Z(UUc1JfW7f7WH%Af%Liox6BARW^i@>B!-SXLYVVNhgJx%EZxtr4C8r1G
z7#H)s&Y7H^ex(t~y}wTv<9sZp={j;(J9JpiUaq5Hfq1Tvu9dgV21rXKQuk54?aFSu
z1{SLf*muZz-Ud>>Tvk@e&N(iJx`K(EM9a&F9~lmHRjL#$d|MU{WFEI~UahDbcc?bU
zs-cm<VD(xh4-q$D?0Qj4t|bM7F_V^-e(a!ai*+hEdsLCe6Z<ZbcIaJC`nN6VpyWc;
z++_G5OY7kOtxc(Xc_Zc4=<bB8l)6-os^lPjHj@>d{S@1gu0zwhzqicI#^q|DhcdZJ
z%9Kk}ZWz+L-t&x-HJdbTu@D2NS5k4Ou{L(H;r&@%<1(t<?#9*{5ps`ex1k`VSaawM
zF(A<J;#s&#2%HDI?#qx>A_0s>Pbg3_?ljQqzDE?wn$9hcS2&FwoXKim*&D)a#RDX`
zjsVeOr=wweF9@z!Xoh9XW!`9O!g6vyc*mDp)^McDPMLf^(d%Zw?rtO-8GyuXkLe?=
zmB_Yi78v(q4%<1MQ}N2~ymb0V%j6w!vhbJhQ~YgfmdVMc0-~I-<AQNN+D!`2Yz21r
z_C;_S^Td6*o-{FS=h`r>^31&Ua=iHk(cCh!bZjzpSDn}RZPx2Ns4Gk;9IpxREtHh5
zT-^Sy6fYlgw^Yt%;q`RqV_nJDbmbzR8ACy@o^H?R=5Z|FKIqs)F8EC3v*)h)%`YsK
zifpa_Il5+;ZGtU>CL*ygz2TfM!<iO2E>gP;qSL{tqT<6dliaR4N6$6m@|-+R_s+(t
z4-N^lWk^HuKsIc5uOEgSsDMJ3w26I4hUp@hnMP!D+-|Pdb)75`;+GOT4K`QT)wTmP
zbt(7Oub)L3NPu5N;WS9SJV&U<?!+<yMPQqO-R|G9+h`W7G*%#bP1Z&yQq!7;uRoJ@
zHZZ6WH2_a{LpmWi5o1f00z2W19dej^I}UTC{UC7baDl*X>44&DXEdxK*$XR>fs3Kq
zS^1^p?#jph>no4*@R2Ta+}COwz>eqM9y-uz#6A%l;0~g`p@SMJP=d+`NT0jmF-fWL
zEgTq3aqI0FqKSi{tF5`%k*sB_%R6v>G?Ze&H_$d}A4;t#!}A1Yso}D6*-dNJf-}Zq
zg=r<$N*lE3;*xV}MZlWV<lBC9j7Cfa1%LSP;pZEE$@8>A{R7eZfVI#%coG|cSs<}w
z(qU0Y^_*W_97ft=Su&tlhLx>?6Ii;pV3{3~0eD?*kby1>LTP+7Xm{;B|Mj(h1RWME
zNJ-($D9+0hzP>m&=i-ug3v(q?2E`F1e<v<w|5M-@km=p|pD?{I=eBT3c4f$p^z3ZS
z0|yUUtuM{gT)AW2`i7~Wv$VQeq4c!+if?{7zrI52LqS5=U*324=>LTG-ESbNJi|SH
zfUEQ>a2k+iI(6!hZ;^}Kmz0tcNmsFFxoYHI9war;2j3CkT9GcQ8?=rQ0_yBQ`5^rn
zLmH_nwmugyeg)Wv1$XC8K*H??B&jpI0m&grK<rhBl{FM^L`~oh3_Hov#8ri$Qg{=;
z_(o1pDDrBFLZ%<PZkrt1tilk0Rb4}2Sb<8ku!Xrf8<7s9{VZ|eqGNAS7FF;iXMOgG
z@c*)j_8<hzD{mU++)UQ70)XMVm$BJ<|81z0^k+D66Hs4JL*dOW&>Jtf_oHCJwVw_O
zB>1Yo@=mc119RgS5z&bKSX8Va2IL^5EgB;zg>py11jw)^wk`P|0|SD9V83`?p+imo
zDSvlJ@MI=?6?ND8nza@bI*YX-$z4$SACMeE)>H&>v1R_`*Q$R5O7O`lC#e25LYe4(
z^#DP_*nJdlL)G7V<)%-60IO&Gpi;j2;@vxcfRwxf{?TUF+#Wp8hpZP6Wi>OZHqEbT
zO;^r^iJ_>MdwfkwoT!C9WqKY7asc2+0qFa=!+d7P6fL?biRZa(g2ro;3lGW=u`-w|
z46lNU*=|1ufjUew;tLtOS+wR^Z#BdTZS!Q*qc(4J_JC1{kM<ekmfL90bz9Qv$m<n6
zw!hV4ebrj2sH!ZXb=euoRW=~so-5kctjBE#*L)t03k&EXNZ5I_biL?~2ntS4J`1b%
zMa*%t3SD=ONmm$pZd<!aTK)J@(WT;5=8g0NCF1CQrz!OMWuPQ0)=>OW0xf#UA+@A6
zp|e`g3Ek3evT3&1FkG}2I7y2}N;ZBrCYG*r27z4*J@E#ZtZ41K`e3ubkm>Gt&lQeu
zlNbrpY$Su1vuaUXtufJ_oY`SV&JSm634O@ZwKi&~)jl2i`l;Kx^?ig-W#ssW`e9d_
zhCZH<b0AZr1v9J34w{AHDdGs!W#Yc<Ux0Du?O%ZL@Lz!Ot%r&Ul|x+^YkN<RQCWHA
zy(zQ|2)B-9k9ZQrvP5&#ihA?HanhdGw^hrEB{ZGMo-I5f9e7R<EdiFLbHI!Y-{1k(
zU4C>H3w?2y6Cqmo)NNjBM*%^KDa*YsXnEsN3=`J=m;)xeD_uLit4<XzCOMp-Plz-T
z*C>>{bE0)7{tJ12UOTRjBcv(eoHGE$M+Gs(A5yov^8{PEbGk`EhasGJZ5JoLZG~cg
zV1Plk;r>W^(8d(8Yfrtk@X3hq2n{P#1^=?bx?TDPI3sGw^JGIg;B=9eO0L<}c{piF
zJTczHp@^h<D$DS61S^&UI)&VI=nMy*><dGlbNk$9HSw4IP%KFK+lIGMsbr7bLaX6B
zK@tHQ54G2miyMdu8vpiul2$OTPee1i5<p65$Eux!YsG1?aRYI_07yQ)60fcLwC~mV
z8=yNX_xjei*fWlS-Ck36Z1@f=mezFrat|R@&8m>pjW`Q%P1le~I-XV#Rni)|#_4Vh
z=R9hVO%1RXtutignREaFJgM1JR~I2QJX5f^Loo(lrC5EVSX4hjiR!xlzMIqCp3Ooo
z?)1EBG01weO)74-%Af{mag05uiBo5QEZdk9@4VUDeyznxO9A!CO!fv3H(wuVs^iJx
zh{tR{O#Yk-^1~cfIuG=bO4FgX)X&M_h2U>=Tmgh}0vf)X&PNUX0Dg1o9F#2Sww(&S
zppTXSW!RNUJ??IJsx}DJ)CUf-uxpM7mNd1hK_P&bZ_lXPUMxovU7%rIjWMz_6F@Or
zr_ZOmP;jvdVY-%NY5@4eO01#<yf|S3OvZ4B&<x0kMa3(`$$^LEdQ^4BzA+`0j&pPA
z2iT5O;?Y2An;ct#AI!B{aMlTZ?St(VKSo}5Z|OpN5Q3702p87+yk^A4v@%o^U*URG
zDamPUWrZ$brV%SK2;-{qYDw(r*Z5kWg@oK@?DmxNRKn6t33t@xJl13_;nz$({qTfl
z#iIM><Zc+8;0r*MN!~ka=fYM;@S_9M_thQzcC3dHSPutNgl!?HOnsN2aaw<l6N<Qa
zT694{w@K*1xIR9$6N8o3Z4R?scP+c>B9hZe7T%LeNZQ^4BQ{6daZPl-@N^`+#j(fX
zYUxBV$;rE)%wtc!PcXA6F<qVfz%y?s+*94&BUmxh?OwhKlPzbq_o|p_xpk9Y8BG>4
zNtw|o>{)18fbWFEXCSbsKj-Qdu+oS~Li|$?S%Z2ghio|FKmMUH{Ig`<kHt8dhEp(d
zzNPIHT2^3F5Yxfd^iEs9^o9&6FsO9AJNp>+t5=ta4Tx-4Kuo~I#bH{cOVX;-JPYg2
zqBoPT<&f3Q)EQJlEY(ph*Q2>se+2B*i|Q0m+-htzb{1!|b;@SZ@L7zL%PWg~5pKW^
z*<fQW(3Z?h{=EhO-C4N6keFyMiJ9RT3MtW=jg!`N9uNjDOX%vHcI++_1pA7YJ7zaS
zV|54k;AH?CxRg&gMi+23w8=whOIKxYy|*aJz_1&hJ+J6yGNwKp-!tvil3@8FXYHm)
z5y_A(dMg@dhqUSdXjO;}?(`!5)gi`FC(W!9MuWhr-uD4*ZeUFXuqMLZA^PiIM_ftA
zu<tk?4RE~hqZ&o9#t1HjbtwNS(o&rvwgei&U<CBneJzeroI%d!g%jeQ5f=;acN@O7
zn|R$^Gl8eeMQbHwe47J3F(qmQ0ugTfJRso7`WL+5)d4f5<Bp%3@7A=Ncp^bzg=~-G
z&fhhwqCM(fYCC4d_TM%uH-Ql%UEDYuUuAiDxuuJX?g!^VHd9_psGWkiv%bFmq{9Cx
zaZiXXzek4)7VIHxg|qkhGjY9JyPg!J{1TtL<4KqP+nzLjQv#$PXC-N8oGh%wDFHAs
zlnTZ#6UVWAeJ1j8mwV0{cX5K$=mu&!hD@xn!_LxuaTQStAVDH`(&K;6idmX8(o9};
zR@-Du;JS0o_>V9M@Mgydz&OA#mauT09G0Lzd7d4bG`yz!!sv8QHBOpKO)kl}?>KO9
z2S4;p=Upk#-wppNzZ28A|B`|PXVdVP5Gyd(r&I|mwAL6q|4_rVaA#-%G#9~CO@YhM
zr-HHeG)=1?1y*BY)(T2c6zIN<F1hpUf8%zM4+E-oJUl&{08Mr6IeH49!0c}!UH}Ek
zQ)Aawo{0kt#J+=pY{_nfe#n;5Y%!_pYOyy7;nFV!0vQ@!s>G)WXe{h*<YYL-0`7%v
zR8%p}UiMqRp;W}mxVX2u8xIp_wmg)jq5^;mFF&j+m}2Z;alZ9uQjk{&YPfjbgE9S$
z`2K-@plAw%8ZMHSN3Z>XZTtdeX@ZBt1o{8eaOtPD{qaRiO-;=T7^TNdFMWU9gRd``
zYMx!j({{@50Kbo!o`*BL1TX{gh(a#xIvgS~0*cLJ*F}n0*gH>;MMOzQj;a>g+?K^k
z)5@XT^Y~xgE@e;JVSx2O>5vp?xcU~}Q#VnOHIlbJhXvdLx@jn0E)Qp$piPvK*C18l
zc-{1gGE3Sv<Yki+&xLNJ3?_43^TA;IqhY$v`b2xj?z@`Ye9xahw*-?iH3t<-bung%
zTb=fR$*!5vd8eJg+}|#yZ8OD+OVWu>g|icLI)ldFcgu{+A5Ac12b&_3Rm)1J8DPhW
zsbz?=Gq5+^pH8D8>dGb5HX#a8wj(z$o=25_9L9iLWYr95vjQgO9y@S1W!j7EK`yIP
zb(c<%=P=d>G@ghWIoB{mAh4tZbreC;h+TP@QU-V|T!y@<Lt&yM1oFDFet|sJzgfZK
ze}TNLHP7kqXF&imAk^{;U~1Rr8zR7a6QZQCEZy+B{($6NL<i);7&E|eWH>>rM3|8)
zq{H}OiaQ5f<#aABy0Abv24d0A5COBMqmpf^i@9qzUj|VmLWSP<UIFpu$}fM<&`$4A
zQwhN%D)q)Qa9#G{`{zB3UnL{u&(pCxgZ$3WdAcjW!Et=?osRzG)2D3KC^hW|o}LGb
zKNJ`5S5yB_)E}t0Ko5b_K+WQ_QUS>KXJNW>!+&l2Y4X_0TO4l;Bzo1d(PHhVM^Fa7
zy}Cjb-t*f#c|ics89XS1s~Kzv3sn-xQv`GBD%b)(v^x{jn%$5QAUo}*92;0#Lap;H
z11*&ZD&*N>+;rVLi)%M%M0YqpXd=<h*_no$>w$HfxLk{JkLQC2lsyIC$WA9}?fO&F
zN@n*pJjT=hWdfW>1?vt1<y!)ym25nh=gwhz9KF!--1Wym$Tq~j``@8e#3|6CuU{rl
zu8W|cDtOs`t|h|Axk$TfT_k@=H8urcC{1V0aa$)bfakf681rO#=8>%xBsK#Nd(K}=
zc%5-?m-y@3CH|a}L~XQTAO6N_!8{;f@N<C*yRz^)52zlH7yfY^Y(H;IWp|K^Qc<JM
z=|(G0;jNuUMDP^~uWgm0t5jVn#HK)q$sNe9k<>KDV5JR+O`m&DTZQ4nr3Ep9u_<MM
zbvha@V4IME!*s`Qe(&VuBl(<?n^Cq&8jg#v)Mf1zz(B;*u1A=Nl#o;bm7`R-7<W2T
zuh=#L;+D!XcO=0<w<8G=WpeZzKuR&Rya7UJ6_^5+!<O0Ae!9WmzVKC_$Ps)fUT@Y8
zA1|$!+!Och9b@wg2PcfS_1l*A(=B&0+pZ?qg396?Na27bVE8PPR~F7}5Yin4Ve@$S
z4*C=U^d8_KMD?8;c6l@}vMQlDf(<&Bu^=X#B|}1U*Q40R65q-Deg)j#(@K&yJ2|e;
zoWOii9^qj3b;PWxke*=1TD&y#f#>$kCQ&C$pH9Do*~Etm7N;LqEt(_=1U(^GCQn|O
zp6~zRL5H+wGTc8uH6cDwPtHXyW=s>hWy~N-uVN!Nv9aF?(_!GG<M3m(V$)!)oUA>;
zHn3Jij`H<_L6(<WIj*{z3^{Jd_`Ad%M0RaQzl}$`Ok8(ZH8)7Lg{f+gtr==Ma~;fT
zx$e{?kRh3+R+gUW4B@hmoIAM8-mI1*7ilu_*5qLY!gA;$zdK4QhYULv&&8xGq_K1x
z3muo?|LC~#df4u6hBw<2+~+=hDea5E&!}VHeM49N&zVsTm@#?00U<K!9YkhG5WE`6
zqIY|Sm8x%ezvgpwJ77|B5ptTwuQUw{Cd4HhX`twBEG9|bi7b}8k;OU#7qLt2EP|jC
zdrq#ArHiu|6mC+wj?u0r)=C&Xxkfob#0KJWhbwY^3XhMdsZsg?uHU%SpulB>1IyX7
zL?X@XffH5ij@OpUvjs4O+0us7yKXx;dRyJmlQ*W*LsmNlsI*CypaK<hT5>zJbu7ig
zR*-EJQ&!374o^K^2~Tmi)<A+}p^lEmsUOpiPutCBNLL-rK~O<s_D@0gY{1lw$b}2X
zH*7D$dsV?q^Ki=f&RW1w6t)-ago~u8c_p{Ern-Lo2y?d-*>6yiz2bI5XQznb-bq<j
z&+&p%JDj`}lvQEvDb0Fv*R#_kBldM!pWlu0Dg7PoI(!4D)Gaw>x#c2{8DlVWrUb)S
zHk^P}`FMFr%?6pLU)EWDE#cT(%FP=$!&*{ph%U4Y?0gDRDd&&E)GK9{=KyX=+4yS<
zGMj&4ubSZ;SYhhIN!j#~okG1R_#?h6+iK|3v#|kTvvPd^qzui&ydOi^b$~Go*%Z?)
z4FR~tv98l-QBC+OsVp`7Vv?%s+g^dO56zF^De$phOq^0cEf5zc-=|E{9X2>V;7TFs
zLw$Uw=&t2!czq~mZ%pg*8rWKl>l<4}02-1M*exl%L!n=w-31^&lHpLntrBA0nk{K;
z6HVI5HTF}Xql(3_M#tFwWK}Zn^894HFQDI^T3P&oCIgv*&UT8H{)?*2{cP`s3hn4{
zGnv~Ikvv+_umtbM#KQ5$>De;Zxk%*88%VEQ(u0=gnD75_EC;Im&LlxpT-*Jo2Y3U5
z5qDh1Hx!%6vP<d*8owD1Dg4`!G5R(+3vGqj)o{n(#;!r8+Ie`{AQ<R;?T7((@_WX{
zSmNm?N$KpH_q>+dk@b<|(+N||eh+6{nOK;4ZDdIeY7HI7r1C49f4fumcc;3Ts^}i-
z&Tp(AT4RUxd(SJx_lx!Wp6SVu+2d1e%K%u<Vg`NU+KPx0IZh3O?qzr0EbjN|Ng6Hi
z^fd{Sn;tE%xDO-UL5F_Dm1tYwEVhy~twy5V$9yK_7s;;QaBAw9p3<hD>oP;l2m+}E
zv^ohBi@gQS5%kWI@`o7p<5k#OzfA1-Gv(fB;(8czwsvAsiyX*+<#gw6n2F!t;*UqT
zl`_*}tQa(%jk3Yl?f@hdg%uM$4LbV@S_Qmp&TF<`bQQm;@WB#w$JSQ8JI{i>GB)5y
zXW!VAPU+cR7X^eo@U?y+E6{(Y-o8o3qF{g;?&{UWEMdoQOgN3rZgaxZ0qHs6UF6yL
z#d*W@J>1eV9W-@gzRJUm`eQ}=ta`p{PxX~wytFy;ywBHU?XDjpE$S#WO=F+JynWdQ
z#;9><o&84f0NMrS^VNJ^tes~JjjOFyF1THL0Kr^Y#cwfEE}!X_(x2hk&QhLaXrolX
z2_PB1wk05>gVT8C34XwLMSaJ+&pfJ(;q1LCQSU8?>e^hHjI>^!Ki1Q$jvQAc3u&gX
zfJB2JMZ*LzW}$1ZJrZo4fRbv(jXRl^bmGr~G#%+$lp|{TguH|9Fvji?ckbQ028Y8R
zr?8U181je#u}0c!!4d?*!+6!AsJ9-wurw<BZVaMmSLGD?#NZ`}?4-r^bbKh*is=ZG
z6RpSCckwZKx8IyQSiv^)^Q*ZZt+%&#)7`v0WFLDeOnxzerrv^Bah^rf<0wsiypUI>
z4?(#){K{e?%a7;dOIV(<na4BvYU$1KlEO>kxuAbfeqDj!#07S*R@ChZ1WnT=!@V|H
z`(=t&5I?h2vrAhY-UBh0h6_7Y+-#j%l2`@Ov$PxVmj|;vVa#JL(#w-6CCzuHX6!rb
zz}$fwCxn)<sMhy>y`Tf7pY$rlDq)B@ZoYDgj=o}B93i%%TwGBhlaY@`3tk#l+79e$
z2ySiFjuo?Or`ukbO?Q9)59W0!of!g9dbAs{(+J513}6>07^slmQe$y>v$4Et5uIe}
z_snOtF2=UVwXf=Kyw50s7~NJqad6CCondA)Tg^4wc?`=DnSL!AT(|n(Q;OH~8|=@J
zj8on$jMxvDMZM=)J<kCc%<w$^e7C8w7tmHsv}omL5LZT4BiVX<1}$Kqe#5e2)h5t4
zuU~oVjw%Bwp{u|5<-FQv;c&u)^b;lfnr&`L@1!;1iQWey9R1KN$i~I=iN?umFC|n6
zl_Xui&6M|`XI8rOEVoAiKEjN;QV5Qf?fw>kU9ir5V{)K_trJ;yn=!FUMaZXNJxjp3
zd}MiHQNavm&K{H2{awa6spoK_4BR;6$f;%K9>)xY>pa7uwq{zehR2p_MH*k#*3Xz8
z7sR9CI~S>VIe_j!m(*~F9P(2^TB`w;7WAK;qX7R4R2KSz26T~6gS6g)re^Z%RN%*X
z<%*t4W!T6A%9<UHT~jl$ikC;g-`h{LCe(1E+|Av_n`xI*{GN7yd(M0Q@4p4$pq-8k
z{mXjUKt++cwS#eMVdl%9B%AIBY(?e<7v*itjf`1wg?KD<rIeA2qKwfC;<?g*K$XOY
zj_YpcSpMad#b==-us$8y-l6Rtfnp0Zx^&M%Y||#KTpa7XYQbA6U5tSf8Y>c#CMhBh
zdeV>^ikC=OZs=|2Je(+Nz4g*~uKFFArI_fQq@|lh7B|8NMxWu2JErOMHto8ZkbaUx
zNUE>hsBeR4Yb3p=8GF#&WN*M|bcOTFyT_!?7vOA$64jhyWY{-Ca&U7QvIY1(Ki+$x
zn`aY@$~UJtVmk^I8JcmL+7Izl)E0&N(mHfM%zo!G34lMI_wpgl*Uy$v-=l5G)XIA$
z``+=rkBT0r5KV5mnqmKz+7FTUdTSq?UuvZtdC`jRzcIelN+aUYIvK9KBws!%%QHu_
zofqyY>NhA*X!%8^Iq|RQt?5HItB8GRUlYQm?|W{u0ZkH<D2<G*^GT}wS3nun;tvqN
zF=yO<a!G60Xg;Lj&dC%<JixLtzs3Xn0eReR8ek1(a||6WlkHqjA&r>Jkn)o%KWw)4
z6u8c8hVvSkEejGs$3dmk>5I;ojKX%r#>^HyZPKlw@X0Kuj^44<ba|6jsWJMR{TEYA
zJgcMg)|<o&rfrh4`t{AX=809DYa_kk2j85DF<mLXbumn{_C@PtP~DWH=xA(6TX;<3
z{X~|nSLsnDU%g@^qZ7pzms><M4J&K!t-jeA3;P)MXl%X8%)Xx~lg@LQ=nvd)OT#4%
z%0flg0g&lpfh<fM1=IB-Oslg&ZmAwB-@C%JFDa2qjC?G}NT$RrkN;<4Pj6_SIgy#N
zcnw7usIn)!^_el0OsA+7;REmvR<=uPMXpJR1^#T*;DdEycJ~+bDVAO#%|XBC8+|so
z;|dzI9d@=8$I6zXv&S5h;Lijq);bJ=RoxBTAKtlw?ztNAqLx#6p-=%~VZOdKp(-NL
zIQ~I$WVvM~n}Mc8PJ^MRqzhNP)V70}757e^c<(c)BRRFw|5CcHBz+A7TJu#~xVn-q
z$dHZ20oiGP3|KOj8O$V9yL)gUp#!I?vOC@Y^9{-4@XsoyZUh5}{r}GjG%ic>9c5~l
zM_6+;j-yXowmh%nAn-AI$W>`>kvp7Udb4erjJ;b}C~9}qClt3Kh{_8C7QW{=?&tle
zzlz*nS1Xr=)KQiDlwy9w=BRfa`TmccWth>*VDey=5rl}&3fg^6yVG;(0Tc`7VYVF_
zF^Ql!NRiS-z&~dt2o&Cg8yQ{qqXx&on}hg>w$R%!)b!INuGrh>6$5KDt3X+r!~sCL
zFNIMl$N}E^LINYrj|yG9>c$$kAFP3<>Pm08Eo*K!mMCqN)l4wsMdk!0Zrz_yE@^x$
z<=ypSCCGUzpns*rfwOPfmiWrgtD(B_wvLo>d7n+w_gszku7UG1svnxr%l(iEJFXHC
zl2_Jzd{(QQ<^z)Wbj%;#dT(w~7$CoD=Q>ojZC<|A_~Iv=!D1~5*$_75?^=DAMh>R!
z)$8_Tj8$325@|P3<6vs^wCuCh^y~b9N>c1Z)5U-U-hf%Z)Cca(C*&HH^9+)i{N@N&
zt`o|B=ZTt0r7yhO{I0&2KT_>HB+Yp{>E@|6qOW1)2!42XEZLt#1$;O?NurGNy3GPc
zY&Hm(b|@W}(ajw%hDy`_jTf(}Trn{*amkI`x;?B|_ICC|D*WKFf$?njO*9);0Jwua
zA_Espg^#y(!hEwDQ~7dN$23PoD8_toh{tcm$+F}2I;&tz<yiJuLugC9WK%cV#A>aG
zslBf-UEoax@{N0A)0n7{k7BgNVww72HO~8n7wWP_;kw+^87ZrI(WXe6EE*ksmW@%)
zu_&7@&7b*zyZk8un-vlbYx*_^E@LelsVt>14Xy?w)q9%FVMVrjKP-@0-+b2G+K1Z0
z+x)hb7e)xxOj87rwXI`iEO4B0%3w=<m@FgUoU<#ytPBHrNkwUwYz5Z~&k)A~J>KMB
zCniQsgGiSoUHUQ^xC2p_%3KF<C5E11pp$HLo1O!*uwW5pAt(+y-8{u>i_c__LxW5k
z_`RoxF-TfgmStm4x+f);ldtG(Z(wZAUdYyZbM7nYrnq-6B=%LjweR>)gEk=a2L~7p
z@F>?langHtEs=x0a&BRP>x!3hb7V>7@Mgi_rze~yTOQjjHLm>*hLWWO9Tn*)2K%X~
zrYveCrP|d}`MCMb?Tx8h5gZ#bLmvXzV`P_G7G7Nmcxn`tTaz!t`H2Oq>M>sS2y{CJ
z<e+Jr5}w12P?iIutr`?w!fHh$FQVYfIhJZ}Z`V3&o*fkgE){Tf4jv3Jcexvg44A{&
z$6=taV)P2@0%bqX+D{ZpH;@_MOwG*9Y6O`}peDx~E2zn_8M@QtI6jGSGE*+fMRtL_
z0J#`Vm&rvXL`S1s$pe)uR(%rREy}VgeT=4xUb=W2PZ_@RZW$D=%$i+Hp^-Od;~U`a
zEcRxr(jt+Wm*Why##ElMrRnPAnX<vW^9pI$ke6=d7imlxv!rEyo+GNLoHYJcfskEU
zu4r<YHSzMEW4Rq>+a$9$5i~dqId?$ZzDvBjWB;cP?x2$}&Ipa3ofE_99_qZ_NoKKU
z0AW3@2rL3k+wyqL#71pl$35)tr8=&GX`2)Gf1kDyOJzghel=7~B*cyY*&1^KTHx`+
z^e7XZ&5V08&$sSt1vWau<pK~%4-~z~4Qg`P8~qa+Iz7{Y*K|6*aXub4FQgr!J0f%7
zAORoMRR8_GK-~K1LR1v;yYqdQ46`w!%A4xk_^vV=%Z~b7zy8CQ_^X}kfhGl6px`JY
za_Fzx@d77QLKqi*qzWyJU<Cyf-S9l#I`&I@Uv}xsLx5OxX9UjreAru|7_>i^gyyIq
zvj(&ud=2W^yy&7^aq4g*G77BJvA@)e76=DJ*gZ436Q2k}bGr?j&+eCt?r(Pdp29Q6
z+=tt*h!i;3col9XZxfn`e8Pmt`OzvUeVfH#goc+FL~&;rG2^x2?skHe>jjIWz4Se=
zW*)SURIsliT6(74gnhE^^%vyk_^rBa!Ej4i+gX{yM>KUJTr-<Xf$5K~vscL9qxRxy
zq5W|?VLxcc;DsPw1VeZ=SfCZcC>%}CZ%DbGB<^5%!N0rULjOgGr1^aO?-8L&tKUb2
z051JHlO07U*b$K+lL-|5{-}42Vb*^}gp?ZRy8#Cr>>`4B9gw&-)Nve*9DFFY3+N8$
zD<qb8Ov@zpBl;u^uEfeYn0J-W=Y9)u*}{W~O`_8l?6dtsYJ+*?vD}W%cI;(vThGZ1
zt@cV2{o?*spd>1^&nU$m3@LVPLc}3l^3KN@s5S<98%#4d(K<>`wYxQ3^#FyB4)SJk
zBovJBSMhmDAZ8En1Ct~32M^kVwm7SW)=V)}BRUw3mZYW8(fiV7a`^N5ha$Ew8P_;!
z02bG8GH<Y`{K3U0H7l(t8}iq>t4L%6zI`!Z%Qx@dkE$OtC@Z8_{dbW|yHfmX;t1-y
z4uLB$C>LepjmMwT4NC11prQNfmC0<Cl2a8yCoM@K*!+}R&q&1^EpE2Omlx^Yo_f3k
zsCI(P4xoMs-RY^nE$E>KPgS;x9}ul}HRxIhmdT6JteSU%m5tYAITnMz-y&jAE)BO_
z?4~Z}%FJz3{;GfE-M<=P`p0coRlZD4X51Sn7cVt@X0BgozSx!J^!`EmGcXsw-_!av
zxFGE!Z;)N-US0KrRuGJ&QoCJ^km;|+xmgfhmcr`-#+D8`g?;z%c+gaJWQnHxSuxz`
z7^^p?VCG=;n#U@Dl5|r>4obpXUUOAy_1J?+XC~e(9EL4Lw$*$3tw#CP^JpCwVovEX
zvLnTHX~QwbnEGpS82hbte&?8MKctl`MDP@)BnfZ34M>izS8o|h-5nFWK2ka<Wp|$%
zYwxEiho8Y?eM50Zpz#Gpsf#rVOE>=-!&m({ff($1VOvatTJFj^wwY@mb&iU0P#T&?
zNyD|DzCHYv#S4Ar2N=tm5lP#WYg%=9r;5`i#DAGWU?N@eNguN4#)e5P@O!HuY@zhG
z13N;fCDu~f)MUiOxClLYH1hhNj*|~BuieN7;}!CV4KoRLNJ#EX{V6)pSJ5U;q{$Jp
z*v;{ZJVuPQa%qA`^WxRKB#F#U>6YS>txFyeci??TrN+NSKGq0&=9VZRn(onXcAZ@)
zgkgH5{Hr|vbU4w$kQ&SbG2^SfS{U!}oPP%x1psrT>PxrH0~#a8X9bT;ObgCNXM#)l
zky`N*`;BgeQJWaULNxn{V5VjhhSwvyY=)YfK-74_+unIgDq_e^LGo6ek{Lq`aJW*`
zOM_jvty`3z9U<CZDPnLhXMskeG%;zCpHzS+=sI&%q=A`wc{TG1`QFqYppAk*>PBi{
z>y{*VY4Y#^5@ZPBEz6F^nP1^KPqIk&284-UO?L|48tBt2oFrRxSCp4$eK&>^T75Rm
zcz+WSm+{QV2y4t{h|zY<Ou@!V^GMsVEnVd4_38od5TCIu%_igJQE?lLhPh{}$ra?+
zZvv+!?j7PTv38%G;u2?9)65f1rH<il!xyg`;m*ZatcLS7gy{Gsym4E|w#s|9E;i<V
zx~>98M5eKkkJUPmdM^V;J7RxV7?0*di(j*92nADqRF`icPE96p`98a!5kIOpqhoAt
zUN!b6UJygeomC7-R!(s8S}Bs$g7h+$yTxhBQP1Xeiq6ves@S&OI{|S&En>+Q?@o)W
zWYe9%XKr85S$@#<E?}Dw&YW$CKFrN8EhF=VmBAT|qkuV5$WXePd!ha}Ik$PM9)EDO
z#IH)aesZg%u31QGYwpJ5hK$nu?ZFCPe)#=Hmx`bL%k>0{xuv(QRazAmqC+!LZ2=y$
zfjR9#7gELBw<mj@zgYXs{BWN49XMuW`Cyfg3BP7s4F;AF0_2R6@p*(G3I|<Wv5&OG
zB6jZgfH9DjDx$+oAOj#~G;nobKF9$EI0=#bP7^riHGKz&=PdvutH&Jc2`pF?q<U~S
z#b7X4qKsaqt3wvt15N`_Z6!rRw6x(#qimodP1o*CgNb3n7KsLyAnpn#B$oX_rcKpW
ziGQkT>NG*Od@4Opd@1Tj^~14qHCU0`gONy|=pwBI1{UUY0)O3Ba`hlxbQ9Z5LQVL|
z@^;Cl-q36gHW9n!JLrDB{8zc*`Rm5Vi%B%y^?{X6J&xvdKhW_knU<3(_i_K6l~o7y
zX*prKU|6@D=5IP>a2bJS#iHP!Wg6BmfngbN7BKM@4cByj8e|Xkqt!jYtb8)HR|4pi
zRHT(yC1jM~O|ZtUyVn<r|GvI}8m2<IGq$~`Q2z-Hp1HjSgJ(={PM|7465K==yuBvi
zmVz6awy410Scs2Dsoj{Q{KB8)=HDAF{Ki;niAL7L^ZmdkG4mh`qp9hQ7{qHDB1=RC
zTX~l|4I7Wnr}1TyR*t#1Wy@xG%g_t?ygvV$8P_(>k}I<PmtQBFOtA4|XwmSScs=Kq
z5z)l%vM!5wX9j&B+v9<Mb71e`c?SB1kV?@7H@kx#rd$&sN8=9Bbs2-6PWUvK!dH&(
zB2vb&Hu%F$x`W`^RrJ*BA=&g)a?6<$C#PuXinn+l_<hVe<`|8Oh84W>mUTCGA1E1J
zVAr>(9Xgkuz_Yk)dh$)Jk;Am-Q5sbbIn0CmS5wX0HkU049~n}Qq;_4*l6B;KgPm|+
zuQ2iB>pQTXy%h2SBxhDAAZ2|b<S1hF5D8{T?;FttFDgzkLpkyzCD+I0dAt%B3;|x3
z&7W8O6*N!H6zm>kr+GfmnG%LsgNd^w6%UppqI$`mhJUwGx0FI8G@Y9SV2uf>tzD;$
z8Utc5DGwa5p8D>Co;7<G{ItEaE=U>VweDM%l5JlOJGgz_z2{}%nIe}SWxpsL#JYmA
z!$zWE;&47;eju-<6c>jW+<#D2;+d!fd;qsRIkT|s>j6uxHp!^FB7WOhB^x2Q<4}$u
zrY^UHtHk`8UAgvPuMc~k?|xtdK;T_bJr;L?59KC_m3Otvl&6zo1PZ}el@5nY7#XS2
zrrr8nqhD&Z_^Ffk7<+gzX^5Qb{LpNrtS|Ai%=E}&|4eptw_}e0xQ6i|nmd%7lGYcL
zYr1$V%D``%0d(Oij)po#GKuzD)y+M+cX~1=z-W-Cq~HC?#%y#_3^zv>@)7okZPkQ3
zdranycL#bTGL0sb(t?8HiEDSg22YpdM7H@ZSC2X7RhCxfE(EP@PL?}2+EguCi0I!}
zd2Y`y+zR_qUE=WJ-lU0%Ibxa9kD6P*k^i#J0}E-r`*q5aF+I;k%X|4OOoT?P2CHs9
zSIZ*u6%;<$qt{b%&vgE?qt1fyeFVQiQ;1VV(@b>J<6s^q?+5{ULwCjjU;Ci`C9X0D
zuXn{btL!n*fu1gYV7k+x<NC(DcNS6JjT=}BBFWF%FInBmEFt9@SfI%u6%mb@M!HSl
zbu+>(?$IC|by&U>&--*uzf^hDf%W45;_bcT;mq3q@y*)Z^hgK^f(VI3T|K%WN<@oJ
zkVNlE7z~CKi54U}6GV${^ge7v34$ntsEKZd8Ep(R%J1AGyPxOtJo|i~-?#p=HZNxG
zbDwjr>s;r3z2DdMeNdWJ`1C*In?>Wt<;LWA(c?ZCj*(lbqVbd}QhS)7ln_JbcG<ah
zy9wBf&&d@!pis>D0b^A6{M#+XnyGV^alIu07u44aQ~hrkq5|~ywr>(*viYRAu9tpW
z?F;;rq#4<ca;>@JkLWj8Tgjtzz|VF0mhK?NKhA;#9eZr!gja@)RnL6q9}&xay$z~x
zq+IVSQc-<IJ$@p#sxttwt0;*t&hC6x6Q;~945h9<cy{e=aHep|*L|-mVX`ES9nW+h
zNx6}n^oU4~T^nT>`lOB8_ve~!lB9gfJIUKg8K~#Q*IF=c%G|7^b&ZzH+UFVdw%{cu
z;QX5=YF~k?wGZb>kfKuqej$s`-V=MEA1&@_3TZmN>s$uhd&acG5AV(?8D-B8wk3D2
zm>}Yqgl^h79)Rw+zOFPKDh|d?57wNEe^E6WMBoI-5E<VXTl<`Z$h*5)MEJC1vi{6W
z+<}p`#|Or?8Iv(<V7F(vJ=Y_5F2vtuF%q$xXjp4|lf))l>d;C4r2Ld#e!9ABMs^-?
zyW6k-Oet<PpuSRWYkz`=TvqMjG$2?%e~X)zO<QJ)X^mp$f5yaX{$o|}p1t(<+-%h=
zJe!stId3VSB|ee-*Jst(<8=j@^Oz(^ZoysNJNL6YeS7NkEq3tqmzXA3+l@dK417Sn
z-*Tfr-Rj^AaJiLz8Ea}@Igl}t)K--?kuxEoN@xCG9L(Q)kFFr<$qY}ZN1u_AML;;9
z`qcUNEf{JL7E<~wOFz3VCd-8^U2nDg!Xdp~AH8t=9h3s`n%F(Wh+l%ZnAdJ1!I=@q
zH>-j>fs2${@vfQSw~V!6-?I5#J#DmU`fH9BdSUK6g_Wg}PkvHT_`=)wXXK_7CA5<J
z45g-~E^V(M8~J3jI4?#>&dfYcRnhL2nzhNwxRMunFBmsp+PDxi)KMa~nU<Zjuz2wi
zlO<yA#acu>LJb5%CL$S|P8-tSA1_FHgqNEJfp8~c+SG{^q_mutCBlh-`Kcni0cAv=
zhNwItOk+4B{^N@>+NLYM@dR8UYYLfsDKH2yKYh>Ome2p-8Q@Bu0C9(`rwdQ-sDJmQ
zd)h*Cv%9uWN&VWZ<1^E4<hZ+!ze~)Rw58JDjaH;-4!1)~sj7Ik2Tg1-Y!3}t+<_&j
z*xb;&HH5xSOqlOrV6V~In{6Qo5Z2MC{puwHsb8D3yAlR1lJvK0Agp=&)AON1Jc(vL
zpq)3v0{PL#uWNncZj$IQ;+{VGm0Tk|@jMoh#TyU+#X9E}xRrmzyL>h`$_`ThT=yvE
zVkp1f9&sqLm6H1r*h)lkh71aW05{5X{Y&=m+5T6TKw&8$4L%|8CFdM}qNKa+L)xjm
zy}fTzzkK%{Pk(N;=#rSlP!q8J!nZS8h3Gh14=<x$pw5+2W>4aXQinl(C?a!@3alF`
zq1|ono$}UmX?>=aK|VI<*3die1p?`pY`xF;L_t~K&vEE^yx{!Xy<;ZV15giNecNuT
zp?s2%-@<)sdRsMt(0i!d))2NCA06SN5^HEA<Ip{^MhpwM;v_D2#cPaY1b6QGDD2x)
zQ%ZWq-FYKR&$y|}W@rfSpqk7dMk~u-{d!@Smk^^mB+EskbXg_ql~joPCx6urrYxN6
z!kM!pF=<ZUUy)>Xs=nc`xcjDZQ9esvWq29eC@)ZDaT+sEf;jC)jRa1xjS%i!y*B?v
zMyF5yX|gTf@(}f!;02o{4gro78pj>(TCov<zqWh169gHH(Vt#grCs6K@C+j#UIf(-
zt?%8txTX8q=a$+(&^F$@1n`*JOI!OlOAV&G&-b%>;0Oah2?yc)vMNWUS(+D1Z%72^
zrgR$qm#}`PE6FnUsUz18^GlV^1>UyV?912GlAYRKE3mRSUGMs)KlZLl*J4si$M<z<
z-9)8;pmGd(w***ykzuMT2ni|HYI*H<;xfgG*&%%6wl#EIvmvPW!MfTtvJ)Q&1BuZp
zRi-|wpqguxji&}-L*4r0qdSY1ifw(t>HBNwdmo;aVxWSep!_PtknNT4-Z=Zzq5plj
z)3ZwgRastRd)PuHAddE-IJZE$0+*Zo#7&1pkoqb&g>E86ZB>t1z?|}u;^!Vm@%;(D
z2tjpkVzYnAN{qCCkc-!Wf3ZS}G~xwfZ93y(<HI(%+9}>|u#x${QV+(6eDs7AAU=7a
z-^Pyep?OKMo2Ag8%O#t)U;IVOowA;`Fv<ax5YdhF%LkMYmGw)ICKa&jK<;s{MmL~y
z34kaVW)Rv)G+p@Dvty;FJLHcOKh6%Tzd1Yd5yxOcT?LA^0)IyaIV2Ah{43MS)Y1e0
z1&ADQauw(ySmfyIn&bZ~A1(KTXc?l_cNV&nrCH)|`3B>g%cC@w=$3Q~lM3B+qNiM(
zkEI*9f8ZPkR44gz06zk{^M9k5-aun4S(?CB@0C8P8U|>&3T=lmW&^oQ2O{i+1FGnl
z-$vf*uG|^6<LqwnABNb09MhZ)-4~ESAb=@@G5IBO_14K17U{X$>&ZFTeO+E6Br6k;
zEJPIx!QjE!FRD~+$(yBMafjsZ{)0Vc{zJ6MYF{jCsnRRDLZjkH&p){r#Z4AIymGs_
z7{B_DAk3753J{3j&5$FtPmwR0TDpO+!t8=1J<hvY^|%0>sMR6l@>1RXDyh7zx}<#b
z6d~x~a&HfY4)hXlnHLM?^&p78BF$$xqwowp=HkSkqJC5JdHmVB{ZvoJ0qNWcZji~X
zw>a$rUGxFLg8C>{Z9w+rk2jOjEwO4lwTQ#5=k=)Ot7<K9wG0m@Y;0`&QpG)9;S^8R
z@N@jh*4^Fq4w5zj6xugZXI!dP5cud8B9N+q>y>go1!M{aS06?)-d)2c$5@S=h@R8I
zJJ>z4a#&`apgkZ#_W}+QNEb_r^_c~{hp=ZSCE|#x8RwO}8})$PkPMXW<rTHv<JUa*
z<(I+Mzk}9x9bkc@p>hO>2(X>0kCIN2;-#1hRsmv5SCW{pu<#w&fYRNPU_)-Mjo0U7
zAEyHvL$Q;S)A5J_;|fQE-%WbIe!T{&C?Bijm>BtRpo|~+>6kHh6pKwT_|haA;0=j`
zw(XZu6IWI90reQp*7L39(}4*6#?gzAHt5kd_Q!mSr2~#GpelScO^ua`%`kw7!<;p`
zZq^_p2ZUGP3v(oZeCxNH&tSE3UH;DPVmuq7k(-;Iiwg^<!S0y5Ld$dLqN(i6UmC1u
zyNg^eyS-~(dONZI5XnbByzw~W1lU=I?f{-g26A+?MAc+TbO5<(5)CW6zMDa|FaO$~
zN-KyW+tF#{wwnk^;S0|Iy6z2-#2f@%*W3%>-U^`u;Xa(xAQ=zT@jwp+u8P6pSLq7+
zi4L1qKp>w0c)B&+ApLY$)hNbDU*<-+Pg0PU-$Ju8m1poU<&DLL9hAMWZ8noO#-5?t
zTmlF1GaaWP&HZ5jv#Os@zsr{h;!o&_l3!MD5Dj6qLzk#!qu%8l7+gJ&xu;%(uv}(c
zv>^Qe3(!6Snk@8Mz-_((3=m<kD}Xi(?9%}j@XgOJeULIwwUw`&2|gBfi8yva_JN{Z
zC6&)>p27lvmM&&`$Z{YmU>Ea8zS;I;Z3Q!*`i6f$PE`je2><-!fj}Ckcmz0V^~V`N
zYfaz&Ch#~ml|fcGC0Lx7SaShvVcgF8nsEYPBhI}LN8hsrDP5Q_XAh(iwhccDR@4!q
z2-}9=k6W{TVP*K(+QB*D1r@}-$aDzTa~2@)jzHYT5$FwM?KOb#Fc31M*7Pf}CzOpz
zTNxQkzIzIc6t)M4zuM226I@i1B>tfBnw}?;Z5@#L8HQJ?%yAw)zz9SOsqWj97EEm6
zgV>;5Tj-H9_dh2b6!3Z{_va%GavJ1977UwNdatyHlT~?h8=(P^eZwamm)RSK=1@1W
z%H>_C%sn=+=9POEWmOfw0}{zVgsJN7YNA#=I&DQ`X06VL$G3)<r&Jy*S7@OEX20+_
z$i*3obgu1{H3{)bmdY4@rk1AR`lk8^Sp<^$o3iGSI7`i5{Kwbj8v{g#+dxdUEj>ad
z?P@a))tt-F2L8{f;u3J!5F^@U@VxCcZNuxfmsR6hUz!|b-=fYG@7;zp_J(2DGm5|^
zYeumU!G2MT;JOQ_DGP5_mCH?XduA2Dfag==+Y~kR7g*&tWLSarp6wSevpZ;h#}s74
zc?1spofX8zG35pmYGRd;C1dhEA@+g^GmGs(j|nxEKVOSKPxT1LM6kHJD<Iy$E=fi`
zys=xBuG$K=L6%%R4cL^)0Tyf!Q1J&K>w+sS0&!*!l;`<?PA4*E!R6C`E)?mx{dy_b
z^ODf3olE83hgdoDt4-SP8?Yk|Zfi+@PT{R17*72&ZlGd_1Qs}xHy6~a-|d<7a!!ZX
zm)%M2d<q8KEl(S{N?QA@w3hG+<Pt%#)T^L&BCP<OD4_g&W9!}B-Tg4G&_t>YUra$7
zKxc~6PvF^x5cgBu=|ou!H}8eAC{7Klk9-G7llCLV2fjD|Ch-Wzk8J~#EL^H|0yzPO
z8=t%{jT8*bKZelr^`4K^Fpn`46grQF;Rf4*vUnxq`Mc~}8=ISqQ})LS4+Hba^NM4J
z>?0hqj}Xhj(gXW&@k^kp?$mzbzW2j3oyBl^oc@pR3q<pxxdE2iJv{%ak&>YNMb0(7
zf92}b`Ae`%Bh`qC$E?r@G{Fceql^Yg$qW%D?Y#x7rU#{wE)9=UiMgURwzJ>-sreSh
zr<i=B&ZZZ~JCUFkA`j3w@e0~)hY;<K0RS=fTApg_q5t45dfQe=?RdN^&{G|E{GKH^
zaE9S~D6#314_3AJz%@zypL0!RWaFGL2U`YV_rI;*v;~SRy<q3gJFuI7`fri~sL!PN
z<g@udhiB9v?LU0<-7L^z9aLEQ?Oelvw8wxG0AoSm^rOhquT?_HP%`O8nkis^t+(G|
zOuZ1n+5}Y7tQt<}o5>5q89p-=&l~|aU~smWS(};#E|S~uY9cyq_&&9LG*)5B>6Sfv
zAZ!NQaj4z~2$aP>+5M8|Wi=oDD+a`~g`GgDQ^Suo|7}u85maP|KfHZ{bU&w|h{MOS
z5Wu+-z^prHF(6oD(-xHgs+2-o*-8*Tf_q7IR{KD%-gC2%LEa0!dD@)2U%tF90M*jH
zg<g{KtCssyJ6>Wx0@`7g?y0V~<y!1+f$GNjJ!b-_*$hlUjs>N9E*i+Op+S6OdownY
z4aDxx01{(+lQ_~=QI7LyAP;|%E|_(PV%)2cq5~9cDO2&;5cwGs)K;j=s2>I{Lf<ct
z>vdg!s5y1rFm;2$A^kO~8fc)p{}no&0p~CgaMiOx$s$_7DVS3se&_4*ndl1%1@(p1
zEG<)w3WE(#vMdtW%B0kV#Ko_G((xb8u=?oV3<wDL{gLnieU-;fi8vd<)X^6lVyk7E
z9VyYoRe+ffZj59EhU#djk3!sC2QCa+4V#CNYOc%uYM|^5pq!PZ`z%kJj=-cW5zaHL
zgKGym`5)_H!YNB;dW!uxJ$Uta9-y>A@z})GDj+dp2PXjl)6Jcln-_uRXrhf}_SuXI
z8lqu-24WdNm+cLbOjmW!AU}+=l>_>XmLxGJYisLFtlG=!CQyukguwx|75<0Xs?HUP
z+pzx>x22K!Y*ua36M?J_Li8(uCY|~^w)&|<QoUorY&KB&0$UYg9PH9Wo(;7K2GH=x
zk<JtfuVXS&&rq`?5Ie=)zU)D;cRnMS0$rf`s+jQdE5MaogPf17TyP^SIVp>w@bbC-
zfxj{!)dGQx_$$Bga9lK9#^n!vG%sJYR<70r-9|pWk3KIoI?J3l<ZseGg;Wv&iZlp`
zcLda|gA`DX9E!?F?Klkr%&u2hC@o>oNj*kyUU}k&2b%A>d{uc)Q0?bnlh1vzZ8^Pa
z$PZju`h>l!6PmDPJmk<m);H?ocRBzkC8oh^`e(E@_>a-r2*!vYkdjMJAL~NiSo{E2
zlJ>%%&^p??40f;e<uJDhu74OC2zd-eGRQz}HK($1RSBYKisV%l(1Qn4YagEli(UhK
zU?Pfb_mu(!HA4FrBo-Kyn$0RepcLklQBz24n6@&{hQv*{)f+p7xB<RGdr&?ko#Dkx
zkZPC(^iHYh^Fw2R-C3SSzTRVs18H1Kr^ZJ(e)RO_P#(1s5AFsr?gYq_4GO!{y#!y3
z<T~E;Th}vhy@PU@_q2aPu&WZ|7y$3&uOdr~kcLe?^6`z*j0xcF=ioA7cjp7&=6u0f
z+4mo}Z56As;1>D6|46$XOYA3Jz93U{zbbmJvJPikJ!^^>^UOwNg_#k^tuFmA*SdAj
z&IV9-sTyPq9#NbyQsAbVPkiU2@tYc>vQwhuQ6+FbXh!{d|2dGM<sQ&)in*UOL}vJO
z9)r?{U7+ZN3Ap2d3BOyKsakXKtF9YZu63D|n?>%5R6YFI8T!~p9U!}^QLSot)9~0A
zZ3FHjL!(}^;u?ewa4rI-CO8*?9*72@yr#BVO;ErNicSo_Gdb<%co2{*9eqcb&Y39v
z8PcNsS;+>J35o}jHvu)z0YF6_k%_c>gM0ghp26q)o9g%TWPA6a;)jAiSt8!r6~X`}
zhpL$Tzw@3=)QY#i&KK6GhpY(3*74^~C}PkL&me~Ld)*O_I3{u$diOq#f)p;rf#?oR
zF$`#282=AV@j_S$ln0f?;&8{=#`meBEPf!$8b8BOdlDlp{{wt_$gJU370D+9q7l==
zlNhr#1;9S({H%T+#J3<-d4xsu_>?BKtkdf!vWGSh7cgdqPk>eZRm2OD4+EJN;J!mA
z0djto&oOzGG_P!7E{XAk!P>uld*?jaAY1*V8<aVGPT?bg;(A^*M<>mUHI#`*pgSl~
zb=3oD(s?j|GeAuT(O>>|2SD%nFEV-Z&zSz-eSCd6LGsfFoF;w{-i2__=?1FE`-RY5
z!^8@@RGTof$4CNwsOqpWP@Ux*Y;H9bszJBk*(O5O5*pF_N;Zpyz97Qq$L>aku9Hs8
zKGP5WuL(E^1W{T&MkAmxmCc7|zuFN0!sqzp|5D56C%p^q498B(I2I~_>|^0>Yhl$!
z#HeNdAP2M_0QnLAoAp>OhXA_$o(be1ow~8xliUh}$T8%L(~84h%F3skc-}p87LGW6
z?D=^wR+vS6@2Y$RYHAbvDk4DQf*0o~VAouYNS~4lKCQf|d6Dny)3LGF$mEqx)RY5m
zvk)&gS&OL6uT5Rw-YCTDO|B0Rwv!t$=GpmL{HEns;gX=clacQta^BhDR07SMLiPpY
zO6NqRgqsCy9TWw4c>J6|L4&{=eJy*o-{-Lq#-=-6LRK2bL$r;Vk>opEDP+a+{^3Aw
z=R`^wEBt+<_NfymszFPL*RH2*eK%i)mMbL%D#!Z=GIj*DGN@YV$-QT!t5f4!eO=t~
zW=#meVS0o`&z+4n#ItFxSFt|LRL$9{>yY~&7k)oHC9Oc3j)_b>)T?NmCu!^Kz_EH%
z!%ELGv{}zG*pnH#63Fi!;Hj4)E1h^{J6mWFeB|@NC;$78k?AKV^~>ArMnfg<L2vlv
zUw-^@{T>a&p({)e{{GhqG|P|v_>E^|y3D2J-#z5#3k$>6Nq`{Z4mdkrK%=kedQ=Kj
z+_8R!R7t|vE{{~SH^<j1sg@~j>BM2L$lQ;Wo<$%})2cf+`JBuoIQTV&m(E@r=jo_Q
z+>}WPY}Hc!1-rr*&f3v0b5z?HRrQK6>cRfiojNhKm_y6`%VqA?gqPk?u4kIsc9vc-
znZf(E8Z^sD2F|pIo!5J-&N<ZY*)&yzol`%K(UM7n)1?&4siw=0zh~`{7S<_wG_6wQ
zh{>}KdZTrxs<S`Cf{Bey%Qc`B)K|Y;MOWCi?b8%gtS|BXX#UPsZ5fV|qexYWaLYj%
zv@1UneQw={jt;q?Rwn9sM0=e}=6;r#ILakQ6z40XA2wnv1TDq8QC9oP{R^E9WhP7I
zRe=U|34ZxjdbHquwi%H_;`&m{-#r;d_u~vSf?Y>a;fSNXbRyzi(JO(P^EvYa@gtih
z7FCFMiX>0W#TL*tVit7wdh?bwtqdwU5OpJ%)pPg*kwl8@@B&?|TtU%#eFXa0pF{S$
zMv!%crRb|VHx$5q#!ba>oLG*K<oJ`l$>2&rom7YLE?>7KB7%)yu9Ba+=N4=aCoRh_
z`pYaElnuj8DmY87O=5=!l$z)b<(lUzPR45aR-3nMHrin5(vh2X7M6<T&95|}x9^w4
zN)odw5ub-#*mJ%-3DnZ)O{52v5Y%0#+ak5QUmMqYI0zeq@@k?Iu4C2K<7=~><3NF_
zl8n&pIom{kup=a9t!C9>&2ybe*<?|DY2xeV_s+Ld=G48Lc-n^j>?h}Y)5Q&`dwap~
zup%kdLtda!(MnHTT-$@5pE}AUtM!|!uQwu%V|A7Xl<1J9H~SPTg2;u{qT1jcO!b2|
zm-$EbtCpi3u;phNPO4;ff)*tUSF}^!o=~&5ZaZf_mqu=AXs{MIj-lK*(UTb;$jyh*
z1kX3>XzPf^26x4aX%iiCJi%0Ieoc^p*2*BFWcy1)PsUA`0;+9&DLfU32XlDW|3&M2
zXXliKE2cR?f!qb6ZF6B$9E<EFJZU4jL0sZCVVN%+X^Cc!98$n<%X3aIkD8V5yN&kb
ztVG*6-b=5%{r0+0jfyR}?zdm&FqH@0k$5V7h}fB>P{*6C^ncEo@c*khE40&JATyb7
zrk#0PFm+h4nITta91L70O=k5?^A%^daZ!Jh^;cQQW`1T3O3F%LtY8UzN*1H|fW?XG
zR;#4$QMyY=e8ksa&aRYfm(<0wKE-xN^d*`0_c61ppT$akKdK>m?x_n-;l*5%PH$kM
zNz0Ja?-^<@Aa^l)bT%ZCOZ@)&!u!?EBs;!wF4tb;5fT`IUq}}{A(xSE)c8;5FzOY7
zw#$VkT{xsGa=dWqh`yI+%-}#$+~Ag4x=s%;!1S6U&YQtExNK_sRWqiBB$A$|>r#wy
z^+i6byFRGV##6xRy<<?>9Qi3fUd~XCh*fiLnrkmhX)W-{yUeS?gtdp3u0FIYdhgv|
zej98}=Sj)Ulq@#jZaTQc<vpuPId#Ur>YC~~nVL>>hA7H%%iIr{yHxDLnzIt`IUsG-
zG~`=!<Tv%_L(@bIc8!>_u3<SD%<as^Uoq;skz~(7o!pFi$DudFfnCvdg_SC(+&Gnz
z(E13-HaaqfWfl+Ty=WGvo&Zl>VSj8UTM<mK9N-;pKUlZ&;+6gxlgyeWR`EVdOfKr`
zfIHYc_5weTzIl2~bL)+PM|k)xv?O2YNO?wg;~_;DJs5ZFS~EKxvKa2szh%=U66Z=+
zWzV<l3v8&Nc`k&ce>}vcfO?9IW1lQbw@s8$tuL{8t_^SK`AeR(^erbxO${eMF5R4Y
zU_!ljf2mxiVSrpgk>L7sItTh47j>9)-z5h0p<q|=ttmPwTWSyJ#Uovr8w=pAeVS8@
z;aLc6@N)6PGOH<$93|mmRF7)LT8x+<_KovV14bD=yfZxB5upIHQ+3cRbZ`id<T^%t
zyApUgDeR9**gM6eBqH%Loc7eIh))547v8>W0}Ja*Pu6{-D$yQY3@?B6du{vi^cU2(
z)V#w|k_47IMMm|A)7mpf2fCu-e5z@l0PCyuKfk_OWnW20!*lW)8z&1b8z(?jY=Okn
zb{#R-+7UKEz<<|0%_J-`>;8616Pj>3EqD}Ph~}_Nt;0^~9FvAbh?!{IrtJ5lyp|8v
zn|=SMR~Iijy7~0j_%o00x00^29kH(7-q+!uela%{0$8PDiY5mFI@pk^VIzTzU<O9~
zo#jMT^RfzRL)dRxS^2Puh$Gx|Cv!cSC%q4>s`n6NRYw2Gs`{6zJNPx3Cq+bczK1gK
zj*Zp0=Wo0?XR#nqGZTfy6>ukIE5`fXPWU~onC5KZ7tJ-Uf^uCs-c%ph58KAg#u#XW
zouHj!LdIfr`H53!(bOZLBO7dUfOwS5_oNaS`AuV-ZNdGzXp>H+6mbwS1%Lme)TVO`
zlrP9jJI81IjZxsPF+z5b8xG82+_tJB8?wkXF>&^MLJr<oYR!9?*EBSS8{T+Y+$~~}
z5DktiSCGYmD~UM|ZHn;pIf`xv3G7}qORI%WY!&#F*uN|gS|wJD!)^I|0e&RI?6-Ui
zA+d82aSvdUBdy^q(E~(NA`i0~hO1F-@D-Ct9))i?M#634u8Rn$GCETuchRFYVPqk#
z^XpE%G@vuU@{Leh*erJxdh^!ELJw!8Oq9J2%kl<nF0lg~m19t29>;pb=2z|-IU{D6
zVUlI`P!Ox9ai2;6z7|)6z3f@HR2nwwOF-x2mO`l3iN-$JjJ4Upn`G{#Q(vA-oW0X4
zPdY9_hHW!6?$WIKgkWHJq80B0RhFDD7tVqpT&v-(ll9$b>%4`q+I>2dAeKUC3=oS1
z{a1e9o+=c?f|jXyDQRgmuSVS(Wxto>K~JRut;{kYy(WPcE(VQT?4Z#c#@lP`kt!@u
z_3&}W>~z7s#{FGFzU2;RsJb#!N?)i~00t>x!rjH4>Q|Z<4RzJ6Yhw=p1;9Y_OGDaY
zX9)p&^8tCQQ2VedTv6Q>7knK-&TG9(f*a>C_X+Ap)Tr!^2Q6$9LHYi+DA?f(4;9v&
zvJJ7{7R)BehE3NdK@3+&#yvYFSA^ai$qb(eM!~zB@>YxL*KSpLEcVS1`%^YWy*jRC
zbM?SZZ(>mX6?udfLI09y|5&7JZTl{0Q*(PzGfA|4_oMud(jAn1yrqAQ@7DLAXjqST
ztH{`Ki<M{A$>f#()IATe6wxj3wFS_(^w!|w6N2U5tYzLRwLRD*JvKWYy=2oa)up}m
zf!6<bc#&V$eb72f(_(*4qVW;bXDy!$HI+1+M(j+pYft4)fhKQ{&)t1^qg1Prt`TQW
z$iw!pE78h|nvlS=MB6n+dz(cp$$jxrKD#xbdF~i!CYxODJF%WJ5A~Mi!VS#(6p8z&
z<?rZhgC~A#03Ct3iM4XKQ?}Q-y&C$*K_8`dDfm1ZvC*pv{UiQfX!hF((2Q?}7_d7O
zPy_XGQfFb^!XjonahCf&UZXBmmjyv5p}VBW{jJD$_g(p9unE;!TJ$U_-k^n0E~S}U
z?oC0z;6fv1oZwg89MGbNT<?*eM0}%RR~uYh%Awbm5y~}cv57aI+ek6o25-JNvA;*+
z#>Jra8waG&Rc@fwm36ZJA<9s|u8{%vK4Buj1qT`pSrGTJQ(=Ohpi8N5w0K`O2`QMJ
z;^Ro%*Cz;-@PI;X+7oV}S#8?>YxE?jb*2d^R~wOs4cp`(@2}n5rzKD7>IRS-EK9A`
ziM#nQa)5WYdrC$&UVd*{eoT5|HDU(7%yh&q1^%A$k$vxVfp0%@BBt0U&5~w!|G7o>
zbgr9UBL>^QuVg4g3?gZ-g09WXq_KH9BkgDsawz-8*^|$<)<%XJ2BGG8?VS=0tKnMv
z0S6)Ke_h6&-np)`ojw_LN7DPtWv;}?{oTp^Lf2_0ONwc1uAeSy5T`z?kY0<2x}(C(
zXFI(rEJkxKI2#NZoU+Kn@f`NV_{ip7sMjAtuf?JYit;afGQ=^U9<P|1lM;LU-q*T<
zMj82oxc0^DR10&X?I}xhBc_<#L0$`+Ki<_AJ$|QWUbWsWZG<DveC_e~1W))Qx3);!
zVpgF5{8s0#iyo744){2e-CJGr_y{AWBRPW_mNri^M~WV=+%Y#w<jgchamUh>U~8eK
zrx;i)O|~O?YIn1$v9O5JVblQrhDC6kJ(lLHBeLVEXN9Iqea8oD=sDFRD%w2H=`pay
zy_^eg!Kew?d{j}T21#}Hk0S7;4v5$rPqDQf3N69j@}RG7K91-4F$}C?*NkZ?r$__m
zbQXMX1-WmZ-3@^=%V&0+-UUs>ii$Ma@|Pn!F5We;oK>hBc|X_)H5tahphk50E<BB7
z@UEG{#X8X2NUpy#wWREI_On;4_U$)@uN9uyGJuI<Cp#1r#84X)l(3F&;ZStPy&GZ{
z8GD*-PMLzNg3FdJ`|l|kZyGizJp|ea(BwC7Zp2T8%TDm%_VJn~mi=xX<r=~^vr*7P
zEz0G`-TUIK0-0jHysB`FWxb!3hyCYXjhi+wmg&~;oBcnn{aFhjUru`{zjUJ316}P=
zw^8eXnDBO-*WjJ1FtxOoNqru-D85J@fx*``+itt%>(=|Y=%>1#V@6pZN4yu8-;d_V
zp$kQgPz{xu_Vpf1Dm^SM`QSyPE#g&uU64MjeZ<9O9Nfp;rCt<i5$_spo7AFF<#ZMW
zo`=YA$*R)JNA==-ma!O#zAw(^rm8L$i?GeHf4bIREv4xd*j3|B-c!V*XtYtJ9vHv3
zVQ<#)#i$7IokizRxT>;SE{NLX#<{!8eMFyRi|nBW(9@WH&!O~ol?IOGkb%Y36uf8p
z6zcwvySaEq=M|54X+Z+3D>sLRaby^V(&?}xWnQbhZ6I$V0mJHBCf^M}g=it_J*3Se
z()$N0w6ZI+!?ZMqvLsFCQSn1Q4%b01JUV?`-;fXX@iBA8G#_*3*8+8fhPw6mxdka-
z%b6k2t=tR~@5+6$wjje(+A$xuI*S~H%gWi#E=4)kZ}7YE+O=1^cS~}c#BZuCXKKPi
z=LM5jR(G<PP3Hx1y;A1s=^<7Ig!!v0E*{&#sn5R!(rc|?)B_CtpQ5nQf(=k7^7hM@
zLgP0La8P5t8qSF8mmK0FvPoYc2b^hfmt0C?KDYt;eG8fxv7jEu={`Ps!==GT+i%H=
zT`wmySwLg$Cfnj2h6?q@$Z`uwxLd#b<($X{&`5^MWk6uusJ2--UMXjwwLeRw_N}T*
zA9E%ll($F?i_wxKr)yklSWhN!;hM9;1VArSvxzAEZU5fm+iTP8`_*~cY?Sm)X&$>T
zT)4jd4AXtW{vJUqo?qS4=hA&Ntw%@*miWcSxFLs@IB^HzB4Zw!j))#yL=eLE*gcq#
zp`bG-?(rG(zI5`2zhZ#^rFYK|=QxQpb^B+;=V~5JFP{8p(8TWY&>Bvo^i;#njkF@B
zA(>-&L+6OkY2~gbRw*6^b^B?UY7KJbuMb{e@NYPdcr)qNxSMzQLz3VPce<-7bM;?t
zq@KzYtNuRU^yN@}Lk{jI%bPgfY&~w50j<M7lcP|^rjEig?1H<$T8?D4(8{TmJ;)EA
z%hl19Mh^;`mut2dAxCI(M6>4uPtKyb`%pAys5;NlJ+WCO*w$9bmP~DK-1%K4L>l}~
zigy&Zr~S^QmWbRIQe)+r+SDV&FKvUuvKsEoZ&@6=Q;-lO_T}2)wFx4p^}ag5+~Vyx
zq-3%Qc{UV_xHkG!w}pALoS@Kry606gRla7F_$|fZ4Npaii1totYn(jCNG^8_X*Xt1
zE_WK&H%?S)JVLhYLEJILo(qum>-~D<mezAdN~XUJ30E;7wVTdkNOOYu^~%lXCl)Qg
zi6y){DsEH%+X?**j@NRXH<tSwOT$*BG7C39|6EAA8I8GC87eQL<d-3yLWGO6<mim)
zh;w<4(62TO^lQS|QJ7l9-9~3dd6a958{??cJLeN1T85`O1#`o#g0}8t4hvOyH!8`f
zm%+D2HaABgJAdl>=-pR4#_>qK3Ci&8pzF-YHRUk73g`E-sEF6Y%Bo3OB}(3%B9!Wv
z;5}t_6D9o1NY&+Mg*;!8Tqb0kD7<sH%DZG;!9&T3@5(q7Zym`O;Sg0zyKyvt<;KZ7
z3meX?TTV|d$>w~oViBpVJVTdizv`^!j6FJwW{k25c4Z$DM7H$gBOM*yf5Z_x4cA4r
zJLt#3XuU1|{b>3B<7g8?{>^ANaS<o<7dD^O>Nlk(ez~gN<fx!11bhFa@v~CA<id&H
z%nj2&95e6uF4!5&WG4A$EAVm&SkK6;(ME2?X}$4grH<Aahm;rq)kyXYH^)Q!=!N$s
z!xtO9n~a-7)Ct9VT=WP~0~?1HlV<U*<eGN5n)X#~*z4h#@OHD5uWh%R&o$)<8YoT%
zJpk9c)+-G<+E)enldlG#U#5qf4P{+O;=4mHNN(ra{dS}9L=*NbW9&vfoll{LLb>e8
z2lk>}@d+grC+Sj)xx|TqYb752a_O}pLEy{#Wv*$Hqrn%Rz2<qFznQ*-Co{6Ls<@Gg
z@p@#_q*0V0*gEGF@#k<&c=}BrMR?wG2vwU{`z&XBso}ICBA1RVcUEIMUQB%T1^BhY
zqVnP=CWggr4$=ANslmdXKQ)n$hU|=;UG%Qacv7U%mn<%tmUZj%u&7+G;sZVHtLz$8
zkM)m+Yr~?Uw*>=Y$5uVgEC~_38Oo}6d{w#N*kZ;q{}So|E?87p*n5p{yT+cUgjTT9
zOR;|guKw7ICD&M@t7MWprT#}_5~9OYh)Y>1X4smv&{_m%T())2d$FP~F&h$>;A{fZ
z)3#5E;r8*l?D<(HWU@8s0O+1^e*zw-t=~Hw!)<!R>@2IYJKNye7~XVQh<^1&@l9Mt
z!bsRz>GyFmh>;x4p%eOBWx{=4zo>KLaY}P7YE}K~2_;Tdn2sUv9J5>)Ur9$Ea_;te
zrc7@?Z;92M`pyCBa>)H+DvgJ{7Cb$)^}S55;&A%H#iaG(xOvYZ$H>HB!9adf_Lc$a
z2A^5%S8=JeeRl~#=`9G{CHuJFx2{-)H53Mz*KOd|n~TE1(=3e83I6DzWy_#7VzuW`
zynzHU1lV<Yw$X#O&(T{y(3d#{xx)+oZ`YI=pw$I$(|bd7{yu-tauJ+;?E?E&C2@y@
zLoE5+Mf*%Pd?m}Q`a+X~BWg^Li<oj&vaeyN;8Vo;xzVlj6)p($yyK7;wt|X7tsLM`
zuTbWbxkEM>&E0h1N*5MmhlSR;{0}g_Cz7vw4uSn8qk9utN)BgTkJDXn<4*TFr@iZc
zP`<}EGz^+q3Pu!HJW{l1do>A77*k(R;9@NRo=!y>c*sT^08d*|lW9T^C@#&$cgABP
z(<HS&mtx=7^nuO2v2klD0Z!L=0RQ}P;nVz2z!Rk8q(eq_y7H=2@SIG+Y|VJZh}D&;
z<M+b`RfQ_fLAC%Vm+K;nm~*}qYQe_C_YZ4u<J~m!Mq~QYPlYoe9XVt$V8$+AF*6(=
zpiknS4N0*GVHMGysw(-B9@)O|j`FC3-au4*7NmR_ZyxS_8&n}vRcGk?S=o=nxtDzP
z{U+oJE^DWXJNApwFx)Byjb7Se0ESoYMvA-K!q?=FF3(72T=HBx^T2H9nUCT&V`mp@
zQ9-Rk6Xfw^(R9+bDa~$wW_#8op==L#p1pGiJ%1p7=&5u`S|_+IyT}>KBWC4tp}A<a
z5-Z2{{%qoi^<-xmoB0ZPZ_mHVf7ho9G*!tCQ3U0*qQ;!O?Cn1}{5HCQ@NnP}veM%Z
z%&rA9)ok6FhxAeW|GjPPHvh#sOi`LfC-v=rfAEip($z=il@OvdW~X;m<@0bTd%g}>
zz$|1de?EQ~-nx-R-L9LBt3PIS>|nbn|F`WTLZSNZbfWI<Wyoo0q{tNx+1{P~{5%_5
z$VKEeEO_WX-(4tPv(j{Y{Br!=JBV@oUpUhJ+calQYOPwkM=bKOIj$X5x8{wfV+<s^
zkpEyV$??hZ0S#uL-b$Yz6*LmAsee?MOm#_xkM9B27?7R9F%SPr_p#xibe~Kw$k+YD
zz7`o31ADBjYOq?|cE=(lnY(9$)c*A8p(-FMXl0FccQFFk;-&)qi-o?(^OtRx&if#4
z=ONeprIRh<fB}d9!-)Qa0Xq)?m(ew0Iz5tbV6!YFi}ea~u|(T-kMRGxS^oEI-_uLd
zAdPnu&)RSM_j$aH1R8OjUMp7D#UIY`pOb+%Jwci;bWHkv*FW6{emrtP=&+Pr;#{T6
z=om->M~4W)f+AF26o=9`g@N8D=+Ro3(_@x?(2z}1ljjbqc}@xD8(~j!QQUp+7d$C<
zrB_pyG-?l$Qio@=%q|b8LK#nwvp0_eFt(#7UdK|+ugQni^rfSERmuFp36?=)9iV0m
zzv<l+H5|%99uFyAB>mjW)-eZV%2wZ&rungHD_VuEUv6$oFa?$qEprXRG(oGBkGMf$
zE;)?mc6o}Y3}H*51$1C~tP!2;IdZKg);=TiX#VxCEzlXV7W4<X%$hn;<T{$I>JrjL
zSr+T(j{tzPY`#q}V-J)71P-9b@#}4A%njgUOW_rw>s*COJxW^%0P}BZ?G~wwGu{0&
zvhuh%Bl2lp)3|~|=Dw0ubkETyANidqd)oW!jv-9a1As0P*xZd%S93;v6+~{I*E<dz
zcPb|_E0H@i-bh1jslHZeEwlDo>fl7tJS%I?aPj@;EI=mJ5nFt0_|=fCm6+P<fSz^@
zlZY*soyS4}=sJ^T{mmM{fDZxt)WD?#-k4@v+oH?QRcTjoqIYWhbQ~5OM^h&JNQZ2x
ztJ>u{;;1;=luXzH{0O_=ae!w6D;>O(KWT9g1c#pr^!shQ{%F29NNC$TuSwo8CIng1
zEps?q@C#W5`J}W(zaECm9t~L*qu7YBTREncTqC$=Hi)h(udX>B4M{fgQcD3d);}`3
zUC&9w03aGK(6@*Qc16i>D$szUV?jeFHGb1h3)K1NLbA#G`#m;n1BLLTKZF8pPtBw0
z*2}mD>uI%@UxF22NL>lcg1pyjncP#rDaK@(K7d~x7pizY92o1$Fa=WZ!^^i47$;lf
z{@N{*x2e0OZ+OQ2S@GVkLOFdLn0Ta*R{87U0eU)+w7ks^TzalxraVX)AwgydoCEuN
zj-*mfkP{S+Y>(!ygA#xiM=mcP{>Aa+#e$KSYhc7TpPyMw-@cZq`TRUH>-uGJ_B=D6
z97Z~`RR9eG6ITX%82b*K`zCpp<AVA?;1i;0ylBYL@Omq7yeQCN)#V4dKtf7kvnw#x
z2qZ<qHRZUE;3jF6rSIp)C6wgOD}xWoa+Ej(v<`r*Cg2s2qroiXx;E*J$B+mpPeJL&
zDlJQ2%ktqx7HBESx^z?B^}u3B<_=1`NZFO{x7Qy%cq}_L*M*GMP&_LEhA16*Fv8(W
zaJ98pg-H7}K8zN*OwCj+1*9!`n$LlVay0gL{)X@$>0gz@pBfU2*FwR(m$c9Sa(|cd
z)E*>2fvpkW+Jm8RbBQnaPz_DbQZ3*PKbJU2j)K?U+r{8*RJ(KRy`m~c`(ct$kamw6
zr0Iop**WAGsa6bx_2YfOpO&npNkK8=)MhAS6!-o0jgw#%WlRggsm^##p@tP`JOaa)
zZ`}qPu5BYrt(LmUCV3IcYng0!QtTbXMx$vMlGv4Q(%afHSfW0hh#mHed+7ty*Faxi
zE&|6LJ1=|Qa}Xu-x}xkk;B?~JlVBCPGFnD{xVxCqLttYM4;M8L(2027whYabe$NOl
zLFhhJE^RCa2qz88zN%siCvJV1TGV0>549xBcdejs6|1=QHR6;lhT>vVsF!R>s2G?Y
zF(<$<qeYek7-cBUPu8`72%KA69!i&D(W|(|<;>}ZE96`~YUbu^=yu?gzo1XO25zC%
zlkYuPbt}Li0XzE3a10?<?h^bCE!ghmNnH(_X&AF>#xem8LGo7VhAAl0TT3$8aJ^!c
z8U5arxy5l_3YyEue?OO+Zr9)SWT~<v2KY@%n-TNUlaBzW+8v<#o`9Tz(z-XwqGfHD
z`@u~!sjzLrm#_>FE_<&5UDX<;Q<7XYo$>O|h3hIXNi@l@Cw^L|#XSv$Dw<!h_QzjZ
z1b3g-_kO62GwsnnYVh<djI%bazWt>)1?f&+`a2gG8<eb8O_&c7H|2FH*!O+~;P%nc
z)>l}KPJc0@J}iS!ngV$~MyLMWQwt&vpw%uOARG_l%{>!+S3Vpbf3Jyrd*#`n;FT_a
zu|@x&O1qp7M`W+uPWV>TKz4-k1GNx94IS66^T}R#1{S^^Iw=KUNi3tG38oKPBNjE@
zc(g$V)L=voo>7+tk$RtFrQKnk)=2i$yB|?Ej!xd6xEo-0XZ*eXO`O%5e;tQL-eoRZ
z>GRYXefPJ!Q<Eh9ZZvEhq%H7I53{Lt=X~+Kb$Fs~xzg;hPSKFzU19GGk=q`X?JFzA
zP?CUta%0<#hGFy6wNe_$5tX=uK+$$7q2a8$7uEmxW<{!{3@8DoR%q+{_?_aFO(L-d
zkcO&1eE4w2Qh&oKreSB1F>CKtsOL(iRjwzU^c4-5o?M*g-*0S>Dw;^y%>+u*xrT4}
z>giJwqM|ceQj1((U@UbID(#9Nt0`)1Y^*zZ<dc?NET3h=*f?y+91ofkr`OHKnMH|c
z3!pddcrBy_)q=#6@WoJ$IfeNPR8vgW{kNugd9;j%f&6o}r7<X#7yp(`8uUTP?zbn}
zXlDn%Cxr2Sv|7*91Ag{Dj$VpF&<-F+o1uMR!qs~aqR#65?Wrqi+{+87#jyApnzH^2
z3?TRP82nlPxY@)SBZ-I#7#|PV-^F)J6E3V;Dc`&P@$=J4Y3g2(e)Dhl!Yyboh@Ka+
z>%LI+c(!9kUnlugUb==1=#40eJ$~Cc#e)Zs7TT<HUBRx^g6YV`xwb4b@N<EhA&V@)
zVZzIek$6vqcmey@iZqPmr4cZM=%busD|o`Yf$>v;HrXOvpl0=(6H^PSN0M#QM0kiF
z0~y@kEgYDAH@Is48?%pMHQN5e)eqJEM`59H$t6k5!1Or_@3gv^D2<&?ML{sD@qYH{
zg&VVMMCG<QoQp($ier0dZ^(fwNdLQyJ7BxFv+dfOep7vYu|JzTzF{`pW?72xM8N7x
z)^YOrArz;?xJUG;6AG=;RW|_7YSDSOUqXvmP-<7Q?2EWQb;N5rT!K;QZElX#yBcND
zUQq7rfDyML=<B0SwYq`7pXvJYOez(Q>-oO2)z#55JN?X)eVLcYzw(qraba+VsoGKk
z;MQy#kATDd@B9Pel>L)Sh*4*B&_;38@{{^iyQEK5<z8R;3kEM-jXSWbvRD7kuB>dl
z&O80&^uy`?4ew1M|3dN8P(x7Sii+v~O;COB^QmElmIVItpMKn4{^iFPp2Je&sxOL8
zVwP{fG<3QQi_CHtnG;oRx&XBd@-uf@h#)fdbPD!e{m^+O4HGM5P{Vv_ywC)1vwIWI
z^WpkQl~4NsMj7_d&NUBaoV*g4ZF-eZG2C~6(!nlTTjJcg3q}H0;G|BD5;R_iKZQ12
zvz&eq$KOOk5JHB|k|o(bDxrXH`6A;GaA!G9%5QAg??g{-Pz-4z&^{YPXBFj6U*9|p
z{SoShCw;nA_64VlT3}4C%}T(3J|nEt`wE1HsofbE(+=iQ8E3ga2C<}Lt8a^aXj|uY
zDfNlm`o}TLFngwS0Ja>T?KfSjIlywTKYf*;H}n^qZY#BPWvr`gJi^{Yw+uqF4$566
z4`0L11V6CG@VRi-DUHv=%h*&9$1#EnRMzt~W$ADbna6p`x=|EfxIRt4aSY5IB?;%s
zB9*U55*fM}=*skdv;f06&h7v3VR2<G9%n0qxv^bdZ0K~&$$9<vardu1X1f*~DfEU|
ztM!RA+Y}vs{i>lf5VJSw@yBR8{dt4Pr?Cbx;Wp+Kd#8Vm$<oN)CBGvY<@AQNAZ|U`
zyKKU5wZ;Kpi9`v{U_l|Ps{8=OwM<iR`HBS*=Q4;C`%Oo->j8I#`SllvD^l)?By)q_
zEOsfS2cT46`@NQOhyJ{((`F5RHKTxgkW(gzO+4G7#~KsgU`(CO0#Z>pi8@R`j#1hV
z$YIPgTLpju7-Kvm??Kr5V~7kL^IrvnS~qu9ynjq1{dg#QG&h7YS<zcQXuTrUoOinC
z8em6Q9^vf*#D%`$nD{uYm`d&Ux&62GMbEzxNJ@RMHq+kzBv9pdM6V579s!5b_)S!w
zKzNQ%+z^fd>nx~QQXV5#3BN9|Ysk7PGwA!mTgx~kvMb0(u|j7&6o4uzj%oGfKM0Iw
ztQRS^O&us5xgLK>(Mo~@#2n%-@X$+HFx*LyfglrR<Q9kzdpQij7s2U}TZ+aG?`7Jf
zTi@50d!(1|zB(okw;gOwr03SUT_ghPIJiGn4?dA7>+6Y$2dXb_J0pEw;grBN5H?-r
zkBcj96{i)MC=SRCB~oXt)M`DAy0lXO6am&D$p04skQ%D;#`Kg~o(f;4gag{o$Wh+$
z7;aDm;)*tek^xv0uoFFk4LDNt0E-KNok`cU*D_14LC~v<Y=+{{$AwbbaAz9^d2bE@
zTM$cWmy>QSS+qxQ$l6eeE*@=jAri{R?}xmU;ln6y%Ow33rdHF~ObF70&F&jR>s4=T
z{aL1yxz1R&dEj)<QC@}^?hXeC#woNNmC{M8xuP$6-_~%I$ox6j1O!9$%V@efqctvs
zHkG5rI}V6)CjrMdor6}RLPsw0ij&nrsCXK$kVxtT_k&rs*^jJ(j7%aurL6*nv_fLQ
zf86?YHsmn`-D~83UD9JQMaMQa_b1CSGc-2zUN{>*5>&K4n%hPpS_B2Kb_`9IVgdGt
znn}d873O77scGEe+A^G`M>Ird?&mUg%=cQm{BVR#tXJ3l6Tvc%W%$XqS#Iy?jSsq*
z;R=feDVD)7+e-h9vHN4ET*>7ou7exqW8E}$)z3-rm(trNcGXO~(nh1@Q|kF^pZo3%
z4x7}(WJQ1tHmePvVuCPA5HOk@=Gn<&C3YtOgwY9BDwh&TsG7&^_6_-V3jzdk2l}6(
zAU*^Odq!nAigb6Gtb&665l1AZ<eN_}RJcuB4U{%axce{SkgF9q7PNrVl8U5FVFpC-
z?PEmtbTnG90<Y>b>SO>2h}(vX<=20>?ysj};ElI|`D^LQjhfHL$!-RZmcrc8n3Fhm
zlN#@4@;<?d@VG~2;k?%#liR}}g4b9u3~pJ@(^Ie<FXm||V3W%UT+X&$inj^`4S~xD
zM56ol#z6E^-W|77VFluFtl!}m&|PqVx5W3db{{E*$^`6VMRHG^<`2BgyjBdn=(>HW
z_>VDt|8q=uUAeK<otet)${HlTK>&Wiec_txheS7ap{G_UpM=)+mr^HJ5LMglnyx@g
z_l8uCNLh@Kv8G(?G>%AofbE{P(j7T%d4$SV2KRF4BH=<&XxUnwj>dUx(9VUgsc(bE
zIi8t9VU-#lIw|&q*kN=O_o8pd9f*^>7|})V2HYpzNw{&|i#52Y2@93__4(<;!yWaO
zSAcbquCn93oj&0RTNQP)JwtWc4ZCz+OW(QYPce&Vx9oMJ8nA|-Za^M^!LG4JN=GQp
z>U~0O{sWDzK;RZkZonU~|JVbY1##ed#baS<X}RY3@Zs;EurLVxqbQwN#;lT_oG&jy
zOc1G7)E;ILGR_MZU&IR)zK1sLtxMwCuP*(kO&dI|$F1$2>enWrDl6c#+k#IO*b1a9
zARA}oRyW<MNoc$to?p-xML|aQcu5=0<$mH}k#KuR*!!G6woKX;a)LcHe<icqx_cMC
zS7BK>m2mC7E2`|31~|KBfz<^-m~fn7Dda+$Kn3A(G7$&*<=~=1Zc;H=BT#7KYT{4a
z2-K+I6;qZl>^r~ZO=dJ6nr*v`1~!}&m6|C7h<&^Ov{zPQi*p1(mgZpV0qS;f?5Qvz
z9tZ+DWIKYc%lYppdv)mAMJO7fES90T;%>)x+COA6LulOU2r8tnymB+H4J04SWIhRJ
zW>2@>t<EtU_T3kwh;BK~!50m|Z?Y#nmla;%2j5L+8D0=+8CWL9KT`MOD5!rYvl<Cy
zEBbCh?98Naum1+^a+rrg&~D{h&9r4*)|er2MGaIlK2}DFB1@|(3o+hh#kF^Ue&K)Y
zL8_-;4Sd)WIdy#mL8Os?Jh|H<G1k_&nsVmQpo@1CVhOiDBd|A5c$Gto=<Sw~(Dz@!
zFfA5dw{^_M>j;MZ0nqRKv8&oU)T~-L2$7i_oc(&fP($RVu4L(|TbAD6U*MxO1acd?
zebV7P9^}5jqx2)<3cbfzg<w>FE`r+~%sZHLKQQSce@%M5XjiKIB%}g)BY_}q%pBKd
zD;#`({?wS?dKW&JGeWJ|zO=&3wWejcV#uQ9w2=<OIdhLUly8US6LO-xK<KP@BX+Z>
z02Ga>0gcrRP8t{Adumqw@IDdtCUxek;JM4}>B+?%k!ust(~L`UQ$_5x=!KsBX{|=7
zAz`Ot#iw#RbAr_(+TIRD2@SdvG6>4ZER&n$XW2?yn+kIMeB%Uq_Ze;FPC_oGHvgH%
z9%Myd72yvq11oY+4@ey#MS?ry>5vc3qw_gxy#3Z}wHq0%?sqb)%qVaFw|1R$cYAya
z+0kp~dk-sSg?ExNlOtt%M!F}N$1b()x@~A7l5Bi71q^3a6+U$oGHROw=TX7k^ZEDw
zF635VJ8bc25IIh8+nx=6PmA*YV|TS^vd)h6@lG)L^*JwjZ)Dx{9&)Tym0gQ15@j;`
zUK=^<nOKvLl(i~C)~&PQ1MO0<<SW`P=kX!mIV854rw!)XU9=5TaqaXUo!)wog&mq^
zI>h&U#OqK!rj@s>44v~u4nL3tczDU%it2v}+;y%Vo|E6@^7<nss8(LyukDDr{1(RM
z0|@h!w=n7Kb-ey-m%VVQRhD-oFBx}*sncgy_eWC9Na^zpeX@u~PNzZFfbEP)|4sz9
zbYH?fnFqB)WN80L)5f-WfwaB9?y~=QK=@^=E=$QV_lxN?tmqBS2NsOf?E61q_PVF;
zJ{&}<V9WzX-Bd6(1_hJV-TdDBi}-!NP1ud+XG2RK^^>h%e>Wh=f8^i!Zdck=SzdI4
z*(|B}SKO_`&hOHB>o8Hm|1A7@%6GW?I=;nqt-0Y$K5)qc`~e$p&cG@JE9Gi1=y?&8
zyO&@?g{J|rLZIDVUv7UnvewOfH&*3S!eH!;=>)p+R@rHVHo@KDN*A-o1S`$F+`0f!
zp0t8$VyxK~REVqQMNg)Bbd<V=)ENMtrE2F0PAQqBBa1EE`S|7h?Ni`e2_OX=cp0H=
zjC#7$*t_M=Qmg7ywyXSkxGyc;CD8t>R?sTkW4?Dv?CX!~&ZCPxdm<k4Y$BB;dHv(x
z*B1=^(l5sV+^%g?a>#5hWO@B=mFw`blv9dX{nEsl?*#8}+OGH|SvtYehS42L7QuaJ
zT<WoZSZ;K7jYR!S>X?5W>y#%F9gmbOcAvF~(XJ7T-M+HtL4x5AH`b1g`w@tomFw*q
zdo8TH<#u%@{ho#XRg$H`@~zUAtKWG@S^IlN67~1ZiNx=RFHEN(n%AR`iotx_YorMl
z=JEdN!zRp=TYaQzC6aX0GJ5n-QKMV!Xf^z~uLtp%*RD$=%xD*HhTo*@C!Cr-JD-r9
zy0n?-^)1*3y@D86@@2BITD5|sL@C{>R&8@u@SN&p0ao^$^N<9|A>G6oc~U>Hm_@?X
z15~xWwfD5o7HjC|Gr%kKplu+kn^U=NUdb4m?&p@3reTr!HXw80_jy>~H<+<cH86H?
zxSo(<IKMdU$ONz#ZP^Q9aUN#Au2dbySJqE;`zO8<+Fm7Z$|{3-#tw=H$DI~OF|tc1
zdo8cmm-NH&GKlV+r=hAm(FTKIvV{Rj{W5fmj~5zLt7#inA5?v;JlbB;7L81O90`EK
zXA9NSzj7zX%g9ku*&oN>C2o7@d3|(gbZ?VgF1P-6qfOy30b#th@_K7Sp~b>|(<}Re
zzm}Ni;G?b;@_kaq<W4s28$QzHt^@wLTlFw&`D7X=cD(WtKDSG{HsjQFN%&oIe@_i>
zfY;)YxjEmWo(nl(0`sOp&q#IW3a8c~T#s$rOQ8qgMn#enUvGBzSBFmuY?fxwFn~J7
z51&7OenawQaV>4ZZ`V?Mu-7E4T3=ZQ-mx<{aq{Hl=N!z4B?5uH0(~CjR@J#rr;o35
z@bzjMqdo|l6}Gftgt<H|<N(b8Ow=N0(=8|G36gI9`o^P*6Cte8*=!LvHEIiGC8)}T
zrBgHG0WX(GR;^kTHgHvj!<<-@HI5*Sz}>e3ju&>XDo3}kSKtN*WaFx*dnCBsHMdlx
z@x>XGZ<9v9U8~fx_gPxqf4jfeVREXGS?K9}Dt=E%Sm*n+n3-0xR99D`NH+daxJ={X
zCT{#aKTCdE=4z_Ij)cUcwuTvJoq!857<q!}${8;lVyLdAbKfVfy)dAmMEKCc3yil9
zU7u>hq5BR?r{#EiUR!-UUjicjs!sRDWKTXw3Fo){xC$I%x^}YGmv0-NR9o<14u5?T
zq-egk8sQ}ibpJo%-UF)1ZR_{mZub$ffQpEKz_tJ?O{56~qJSb&r57OzB0Wei0iqia
z0Rg2dn9zH#p#_vGH9+VPklqt1AwVd11>NU8?|aXCzi-@e@Ar-27+baqPu8=_Tyy^a
zzuB6q9K++w3_KK0K+CAy-}sJ0E4Tq%f4D2@<1R9|;J2>fK5~NVD6hvkMtZ)E!fkyI
z&04dy-g<~(Z_`iPAz}760&>`*b)NLqQyqk<Mk)K5F>``ZMgjfN%>xi!ivA>TZLQ58
zdCFotyd5gXev=E8VSs+0KYNrpIEEl{#bhPeZUoKtxU@c0x*U{g24wO+%prZAPoq>)
zR)5H&#TM^mm>gVk_~vl+*iEAMd|B49o&&$WW2UR*wH!Cwhb3Ku;ITM$$A9B+@A=Ro
z>Js~Yzk6qACtUJcB!&x;L4H*rCG&t*=P8;BmF5}2|M}*@rWYvMrCnIy9i~@yW-8-A
zM?lOxAA-PtT50EPLC>YQuqa+KZGpAZ>|fJvcL%N;3DbEF(Rd~-x4kP5N^p@aEl1pU
z5Cu}vK%S(#p^lZ{3^5kM4Y3|&UJ{3VuoYj@H+7$SA18sZ#|-3AdDkJIf3$0LyCp8{
z6+cKRaT)2KcEOtcIro4;d#i~YYBL=?+X$5U`<Fuuykr<7w#9be+-wst!f3-j?DOV`
zp9#*7v54lC?bZ+wb+wh%mgvB*qx4;;-vtd7Tj)9U(Is@|W#}DW;>GpG<^Qypy|Mab
zG2;To5CLsO4#X-{TOtJ9lxgX7pmlnvZw0OfI9k1IlW`&we$FT-s!;MJNFY~Cg+a%#
zvts!U`Cc=8gg{>OptI?0p<TCO+|fqIr@%}B2YKn2>WE=HO>WKLwmD>>htppv(X2eU
zM&0{ZIK$p82MS0HY2bPdNi1BlitoqlE!*T$%!j96Pb>E3m<8(9eCHZH8Cv_Nq|*qF
zarH+%<G_qfm<*@>?X^=u98F^TSpAry0lw10#+I0v_)Skrr=GEBmVp2aS8o`ya5p9F
zc(z@`<kC#0UB73NRMf9=p=|QkuWxwqMu!~8OC?^P6L;YV>-^Ydsj0gveaQjLmB@5Y
z(^Ult;5Q55fQF?Nm0spNM>9bN4gm8LM+DF}d_<oY*mP*-m{Yqm@yB5{8igQM5EFbE
z9BENv6_r>O%+m*I?vF2ZeI2xrU1xP$%EeSlU>8)0@8uaB^4%NxM#To6L|i(5f5`G~
z*GDSuW8qQFwvfXjLGHWUVn*w>jZ6{WFmAb0+p(gdz3E|6C2V{PS{j#4H7sP08lH;P
z5ST0)<i*GYii!8=`MDT)q`CBYel!_amJH#Dvroh1EER_>Dt`=t^2z^QE~C}SwPXt2
z!SUg-(G(i5s5LZv2CP~x5E|P6qfux}w2qsKdeBAc9tl}XtpdNEUvTS~-tP|c>GfU>
zhB+fvN@EavOE8kjRvk;|7CH5;<VPN-r~Dw4`T7r{JlD>9#PkQnQ6T%D5UkyGbR+la
zRRIiNB~YOYZ6DlOE~sxRq8}BX-4}Ub`}w-12CV{Ca(i=1KKp?rkYROpa*6cjZIJi%
zujJmR+sWpH%|^@a6d0L!@FSMbQoaQ>5+}?V%elh@U2Osedf(V=4L9e}iS>l{J*XBH
zMA`;c&3!N;$WX?K{imSBH~mmzw9dw&N|4x6kjE!IUD?YnWAY>&J9Zd}TI}kbJOCC-
z&4>Qm`Ae~{gC3+SX8P{#><ql_BRv=|<D3|v4(_{LhlSa=$#esImPf<?YQQ9M9-VKE
zES7pZqWJW9!la4i^;qCt$Ts109JWg5P7imz$!Ls#J6Vgmjw20hRfdL3j>c*&gNnY(
z_*RodRv)d3gP&rG-%`+o+K)jfv`Pqet5L|cidbnA6->TH8?$A7pX+d1k*lY5FpSZz
zHpH?L_CovE%|+%~JMZ!FBA4Q-iOuoKal(d^+kh|9ks?rmxAS(Ser6&MM|jredfM&o
zJZR?Z*=nxxA;GKHhZUA&7{_8y>GlQ>*^$SRJw3L`WA&a-bg}kvrD`rd*sv8?^W;*a
z0K%K5kHfnyh6HVU;y#3~+j+ekF8hy6j5IlR9ysW{Oq+4ZnYMOs1N@>GL2gUzu%6PE
zMokRhbfjIHRFqG!8x43{i?0kPQA3wj!8{w^1O5$Kt>=-CalcU4`W!C5F}bGyw^kDJ
z0O1B4GxrH<L%u>L)py)ZuuYdQW@S5Kgq-A!e^08)=wsNJcYXnV=|)|_R8fHVn)uNy
zR7sFYa&H5l?etfv6y<Pf8Lh}mnfw|yMnUS5-5qR<2-Si&CY(C3ka}Q(1f8(TgKMeJ
zC|zq*d^Wr6xK%R{rH`M&c&^NU{gCrU7MJ6awQdNRi>dMH=BRbzI%tC4@6%T|dc0^O
zli4?eUHebDDw>Pax<=dtQ%wYVH*bTsn>)93G9?1;>$1b<#-GrX6Bzsg_u;H+{I|18
z6~oZrlIa^|O9#qpa~oU0c`_$hwR}50Fez^DuW*hVuw2=AIH*F_sW^WW3f{^EHnC{L
z)kPRe_$l|u5mnv1W}MHah+F+>iEDJ4dL|yJ(le1-MeOeq57*wZaLQ<j)!~R_4YG@$
zu9D{3!XJmFtFpeVTB+6}Z0nW8@6}OcCw;b?xk4@VNdB``g9ze1qJg^f7z#0*JzB@*
z-S54$n6K?{V1p>VLT;G*l*P7MvRU4=&Ze^aLvM_j2ku2zw>*VjY><{2#;B~sx4vO6
zNT;6dhi2H1_cJMIKhD~-1h4|pmO@M;I!Bp(N?-@o`==+Q>&HWt(r@)7>0bkK4YWRl
zHcp;q|9)l}Q7&;^yeK2@sS*}+&d5Twmzt!N{n!Gw4D11R&;&w>RRnb-9cs+iY=Y@J
z!lAvfc<_qBM^1>ZXNX1QMf*dZgudxG;YaOz7VU$=)jx!Tfg&JUx3OmGb=(8vV-6tu
zQqdB@!)w7{&Y|o@wSaY8O8HoTZ)knmKu>({jRvc2$_kD#-pm<oa#qJ!?e$M@rh*?W
zy`QM<A<p(KLnd#vX7{^9%nJt1hf|4E&IJbOyrtWB6Lq&K!gGmYBnxH3H(q%0V@qv%
zYt07Q@*t`&zLYcE%W8QL(rv<1W^?T3b5DSs!snJ8qoX5qN*|EfM7&?)u{JL3u@DRG
z=|G^GYnQl48>85NKSn7=n7Q6$mbPw1t`&IoYExyV&C4X<O*IDDla}efDy1J*1<Q`4
zXvM_qXM+0Ro;xVUFC9JIKmXg4abeHGCtj<KL_2$g(V97w4~ab}h2o!F$oK5a9#!H+
zMN+A{y1O}*hs&(k(Mreoa8d;g9w3%*4~F)u%{nuwgxNegxXVc-#PinHOnOZx%4K;Q
z-nm?n94hlhSBMK=sEB<X<k>71#vtGnW4yQh*u(hc?0D52bSV`+yMZDACuszEIL4eq
zWLre+!9Q+T-RB$QBWtD?nyr(aqbq8%kKNq3mw6V6LT75h(}5Op_k_5pXk`2MxSCr2
z6;Y5W*H-5TZhTu#Y~j>gw|1F$gM3|U0I(Ow0+o$fk$E2nJ|d~H{|kobs$sOzR$1fx
z*`bLQ4oD}&1}60!X)Q0ik&F3ai0vbEm%f8+<%O$W0}Z_t-|C~x#%6M%3O>NV7si&-
z6$agb-r4Aqk7%pwl%+0DJ6%@XdZKDdgaVObl<m`Gnux+Yr;y8F`&HFu*@vUdTIm~A
zW@w-A5r+WO?J({dO0aSSy(r!oFlY9Q5#;ge4q7>Qe$Z@c_VmK6YWx6$_I&$q9Qa=8
zyzLbMC~N9!-&}P)%4zo>EoD8;_sEb-mlpG+k-crj=m1q|?tjn%-^h|Yk72O9c9O&`
zIzK-*<%PC<@_ZCy*Z$eypyu0UtP%i|D9B4+qy+^f&Hr{cIt&Uf7_F=37*~mZNG)b|
ze(DPJ1-x`GfPwDCZT-i8bo8XbswsnJVOPH0$T>zxH3fxd|2{p1XKaJ3Obd%&l<1^s
zCH#CJayFsOWV2{m7mMoRa5`WGfoDEVg%e%av_BgLm9}O`j0l6&hm2dv^~e}BpJU9w
zB<V2Q+ky|jcOuEW(M(y<8H#GQl%HwVKaC!c&Z{{1Q1zf8{&pb_C3!H@lFCsEhQS#s
zTjHp2D$7A(>i6o57z-K3z~^kz;_4+a{wrH|{r4R<j^DVPlXqm;4nqk4fJCvSE@jCJ
zQr?1uMsx}6@~{l3W)l3!Y`aB$hF(tu<W1*h%$m}M<xAenUdbtGn)T)?l~U)@YkNN^
z?6EkZUy?F1ygth?4?o7W^@T3{>v2@>kJy3gChSJ4kV_@A+1VflHu8Qq|D<Q02xKET
z#Al)GcFz%y=~^bskeXYI&r&On+WV}>We*J5-0oHz?Mp+qR#S2B_k7w17rf+3&dBD&
z?R+ii4~2wO8|YRo5rf>Z8rGC}wyQv?WWg32#-t)zvgopa&#&NUXdY3%XlvLkOf^m-
zG`3o6WfSOp&N{GTyFN{Z%vP1>zet!|pmNP@jymBgo9~rY#ygIT?kOuWxc1_iz-3Y3
zSzlV8mmNB>`ORfR%jH3@DhOpH5WBo}_kPYF<Of|)=XXG2Bl~6+A{+>>Yw8c@^${w$
z46;2QEOESh@<5^|JXEw8x}cP9W|NewS3SwxBGjyS$w47~=G|}&Ly6eE5@JchQ3pb|
zTs(s9VWIDj53W}4O<TgbTW;VDlVSLcf}X)6#`Sq3Z$<STK=8!udWQcn_-P`B+1b(d
z7dg{|?|Ly62V0%Z4_K+gwchC?W&_@eed%WQgC#x<JAqMOLx#g=Z3c|VRrXb-^=5HX
zFVb6Ovt56?hD8~MXz{38eWR9{P>`_o4q=-O;o$NOkEX5%v~0}uVBkk%X^n1r5xclw
zxkJL#E1!j(Wecd$pr3O>F02hSx$d6+ZC4q#6OK2&&?!0hdHNi4oIajA-3<zSa70?L
z1KpiqByjEj2zY)*k*RfI1I`!1(e+0X7j<y{XjN0LZLXvSKOLu`Pi@uK2$xIk6X(9`
z&#3LvT>|c3jTHL^bm!GrCC0Xa1$Bfp?lbV7!)>t8P><AtVjNxGC(UqWU@GC>E0>r7
zZ6~kI`aZ9y`1$929j}F@K-$wxv@7;d(@B#)pkCfR$_zrtZ2TuK;4*gwZdE-;BN>8=
z0w$o{Nt&oOeby;X3a{Yw4)Wv6QDU?aT!{yZk3kYxRnl3&jkf*u+MNQskq9+khLE6H
z?ZE=8K^bAl^aY`+0fHBfOpK9uBDScT5|l_UD&#pechiDH6k4^I0OIN9{v79cYJUJ>
z<baq|>6kJ@t*z|!-V9=_3=y+<p3yzabCgkp>gF28keAU^yMjZibfUA}nx62A>NXBB
zIsN$;P%NMQs(tbh%|rtiHMrjOJzL4W80NEa6*##y-GDRs8r}4O3Bt}%Qg<cap^$uD
ztOkxrA6gS@DT`+N-c2x+a$p}y@_b&|{`&TvTP5%=?6h%nsRGy|NkmyH@xYl%^wH3$
zp5vlip~OS?ibghj%Wfiv!fL-q=Xwre_Ztu9H%Io~Puu45^7-Cq)0LUd%lwR8of_YZ
zF{<7eyID*9>^&MD6`Y+<-mNr3E`ZGPbnD%wV*?T%)-EXY!zmd?f=O=G)N5#k1ag_1
z76Lg*tH)1?zF+;EjLXX-`86#ztprM*`Feys<L%Qdf6>3wxu((yN+OgId#D>Yjd_or
zXUpmGVy^5><Pa&f`Rxl-^m@{f-}ZX+>|ZIwI=}H14eFMUi0zv)T8J;ZT<gr!2x7(X
zQ<}@Cc?xY(F9e&@CW6cN?^s5scpnOL%U7R_a9ZvXJ8M5aQM0p$<my(4iI`8Mm!wPU
zd<nAfVy3t1>v1wW{~*T0*6oSy7}<JojmXY-J@}D7$BmoQgNN++BlqE@ChDPxCMSaZ
z{vF3j96PDH%#psel-_Om8IDyLETWLBe~g@TN@!$owoQ<O>Gtcvi;DrkcDgMjFSW1X
zN=OjYUn|0Yp-r_|&b`jMDzUoU<eNwuFF2ml#-WLON^2XdO3Pha(dljy2-ZmtX$Ze2
z@`bc{sk!T2w{7>$;&{{(u$gx&R<#M$j^-Mc-uzT7M<Na0KYC@UKUewK1K>?lzOi9|
zb{Y6E?Y!K|4T^nmXK>TfU#k#OTUQXJF5BPd-04gZ(Lj@PEGo>xWcq0icmIk~TfViW
znTyY1YJ(-|*6GS`<!X@UbVuHPJ;W!)!{#a9hX)sAEgRP@IGx`~lQssbB5q=?7(=UN
zSw-z!A(vHaNH9tgQbmwk38ypRVmDS~)nLw6<CD(OT%}k0!%mIKl~^*RMl=Zc{5`LB
zPr}Ege&(c_X9aZ)iLA>tp<2odVsGa+t*axG5q*;OPFmD7@m~EA#axI_8<SB*I`!>_
zg^0K)P~m!v*P=S{OO|s*Ky|&7lq95e8)7VK6~RdkQXA<#)f>AiKHULi^p9Z2$N4;V
z_Jbzq0fEe<81}{zSD$q{kfY8B9YSHczgA#rn9}@+BAGDKXZ8LrMx!tFv}Xe(S&sTA
zp_1Inm#@N;(aX|zlo4{PLZpEcu{;614`Qv)7d&=Xn+YqJaiZ+{C)_nB>v`!fOC}U4
z3|N@lVIPlPkV=;Gy#W%4%J2#6b+>nmNt(Lvaq@NjvG-(~>9bc#V$*5W`__;j2DW2+
zgA7xyFRR)=FS(*h5supp@M6l#bk22&mgf;YsrUN3rUIQ0R8Uf4l1me{`3Cc}`bGJ~
z>8106#moAvk#|-<rB`BVcD=#y?yQXs`1D}OQ$kK*DS}5<m#kwVcvM_ZLN}NwV>s+r
ztF_MeMJ{c+6r|u*Bz1wSW=Zg1sIkS1gFLJ>^??rkUC@0$jzFwho;s$-$P<P^Q++VY
z-2)*#<tr_AErbZuOSR_YT4xDq@$(VH<QL5Wey0OfU9?Qtye<#ZXKzJPVoilcWHl1;
z3StivQDHuWuKAMAtcz@Hk6hWL?6fJb^95r0ZGTFfYyb#{{nP{y4U8WVhJbuizs+Xb
znH3LUCZHKIi&uS;9&%n#4c^dSP@{A1%2n+D?cTe0WDjp3gq8BP((AS;BPJypl@p6`
zvMn>rr6YY7HJvG4uU;S1**KYfOgqKEmtE>=O1B-wdTPkV>6I7fxw3wPHAyvnyY#-F
zEGxKQe)InK@%@jdTrJ~2xY&M|=|zP(|Hx6U+VxRdDmt+W3GQ=ftw_f<p&WY+h<d?3
z%bXeQ_g24zR}mHy6$$OHjh`GueuCE$7+mKda}W$Q4-p!E%RUA>n##3ZQMEY>tBfO6
zCQjmYF$2|mqx6ap`}5gBgcqa*aHl>fZ&co2hF8t06AQ)oMmvjNRLRT{ml(31)P)O<
zDXv)HpzCC!J({|v0QS_e3C<i9{+)(5mnAIv;Za9EdqkDtUIwhVyo(bz|C9C9L$0uj
zkWS-WG^ql?RnbVmZuLLE(qsIh-K7dQ3~gPF8&C~99fi>4N|jN9@&bn{(EoarVx({-
zp{`JxF0JOfrA5-&qSvoqUxV$nCZ4@z49h;Nwl|rGyd4EP&ho-uSSymkqgav0fd?QJ
z2zod*)xmEM%D}5v9_RDJK#KplqJkv59?^m8`E1Q*>EIXC`@dNL`4#N&^2?GgJ2}Oj
zj*6Tf&u^3DvA%ym?-r73s8Xx7fZjn+l^{&#l~10KK<<0d6ulBMUo6cTE@bZlMX7w9
zr^UB9*=Nkq3x^cCsH*__G<dTRaw<dy(UeCt$06;E1@P%F#&y0e$y#D8q-3<&P8YcQ
zG}|!|L>TXsU4|`9y<&gK@_8@qdDp{c{hMqT`}g(Tf_k_Gq%O2cagJ0jD7mc_cd8tF
z-kZk?jh@075{6BZ&E#__HGY@4&P6w*(JUGo;*9y?D}prm+YO<cZ0{bjpw=>Be$I=5
z5B?G@N>766@8<KzzEZCJvUTsBGvWYHno<otxz#5xll=h4a2VlVjp4^F?<stM@W);_
z@WGh7NhRPEP*E9*%So^*XPyQc4@YGzQz&icwj@Z6NdO+&^DepgiH;yaoo?2s9dk_>
zn#*TvV%pghWt`adaQLw(^i3J57FJ>wR~FI_G~$f(OFH2s2|t}({a@rZK<_fmZdfa5
zFANOxi{gz0k*gVA_6qRzfVrS>(tQ1gHJ;c5KuR<XTWQA5WP*?+aBhPgc5N#7!TLsO
z&ST*7DOIhbJVFc0&{k|M@~vxK59P#!fcjj~=0EpS@L~2|3kLS)i+VN)O4;c+sm!ki
zKzA<>eO7CcUCc-hSB72?G8z35@Q0YjyLtv`{tD;mouzy?Ab^HBM$a%Jx9XpxPo6ey
z5M)aj1j6kIE=AF&rm3HQ&H#yjI|KNgY$vbMxM@lUU4tcIZ)tWHAoh?Of>aNeRFwce
z7EHrAD3n38D2S{2jNWVypGUZC68a3fK*6aSm^cw(@64f(uQ3Lvq*{_(@JzE`0PpjV
zno@RJdrRczhHo9X1)uv+DZUHfDK8zj(~kYdhFZ-y7L*vkGu6u>zk#}Iq2sln4108p
zVbL3U-09l8aJ7!iMEbi>K)iV)b~{Uh;r$-(vy)NR&dbvvg4_UU=^wpuUd`(o|BAY`
zRG-{b^W>op+qkTpMoY7hpI4RxLb}TX?B=CHkBsxDm3Gtq7f<}^*eOwUzZV4q$wRht
z&mPxbM?G3<+oOz=;*(PMV^R%Z-$mzpLMLna7t1oF5co%uK<=ns7mW{D$vQ-T^@71L
zC&mvBgXxjFr?j48XbI*HO|)Fuc7c*VE;^j>q&7+PrjK_q>^WQG^*X6|MHvAf@1gaa
z7?>^=CuxIP-1Q^{B01`q%1o+n_Zp!`5G|nK$CpC#8lmN3A%#ngIeH{apRKoaNiY5>
zxzY7*`iI5#KTZ>uRFc7?*5>*$H@fl~5dcl=Gp7`j0!F!1Q;qK1eni2HvssmOEH7Y$
zi5=ocdCOeE3%5e{0GTZt*biui0b)@jji(1SuNq@z0-0KK5&RN)$6K~$jHb2o@|F<t
z&Xc7KKlv%VlbED8Voz7e2M%KF%sA5+V^2U$NZ8|%egLR*_2z?7?Y8Xtn>J}WJp25P
zBi^gstiRv%jGy030G$_FKK&lMp~>WCCGLT$NVpgB!iDWTK3_Jr%g};-zH)5i6BFV4
zR*1yd$5YzhBuK^*(|tCQTYE|4>ix5%rN*;m;%c8v4g)I>Ab^d|gbwFMZ9UW<ju*Ah
z@^1=j1SY7k)GAvCP_IlBQZZ;mT3x5ITs?TPya_4ZDKO!n?IXGA`KQRybDJh?ZHH&2
zk}~VqL0Vzq(Mp?sMd;4sbY(W@=td5=(GR1arnrSXlpJ|a6W-(*porfS%NQX)?%uX<
zsF*`9fu6b%(g@KpPmg{R=kEJzzRbF<E58jP&y}_3b<udF9soZVU4b;U;gvlXy~*1V
zVV$^YwhD}IW($Hwqh*ZR^TF?Z3cJ6)A&J_@`ZPZ7X34wFGSheRf4RaU#*Y~H{GcVn
z4{<^$G10CBBcH_!3BeZxto74Hgm#T(oKI>JUYmh@xC<SJb5{n=CQHKtX<49v5yb*f
zR=5acH-Ai2_j*2;Oe7Vg`cPi^*QsHDCVEhQSKN&E6DW2&1Yy#obpP$V#^fGlzO9&^
zx)>Y;&rH+O^zJ@2DW$3-;^S5y6KK+cr@+32dxA*)jita%GmlX3UwcFb$phbbscSBS
zC#^SEPON1nOD8+rgHKeWJ4emvT(Zc`hNbB5fKaB4U+TchoqjMMa9l?8Zi2GX?li_Q
z-946T68Jb&1O=>`L2jm*;m-G03X`B&09M<`_4QGJ<rutebht^(0IZ?W?0#S_>gViG
z|CiaJ;y{bFU~bN+9Jq3tkf2tYijt2(x6F64KMzpj-DWk&F4bGh>8R?qS)`w!A9-lj
zJz#(~8&^NyQh&wj#tve9!(TE1r-Le-r#rHX5|CR0P!?TZhRgR?$wPUs8BRN10(3LA
zqepj4XXk3RKtU|>iH~ESj-HOaJ=-}1|GTn$5~~#7b6~nKqc^uZIeR!~o?2azJRJ5U
zFms+i4Ex%kSl6?kQl=#!>cda7NbwWQgJ`(E(+{?6EM08GWVD?#8vt9nYSQ+^44%*9
z=0KO649!qVzVM+K(p(dNJv`ukk7fg<%Bpql)iFNnHvL6wGjnV|w*kmM4xN*VkcWM9
z7Jt+EqU%QfO}1NI@)l}Y&#fNmmduA8d+7Wk0RDRTw1suqx9B{2`NL^(@BeXHoW}r(
z;B7^ip)25lP3v(PubtiDmOIMo>30Eyts{(wVJp|a30v_Lg*|f-+{nzc4?D#*MrBQx
zE><0-+0kIs;ek;Q+eDtywwzQW_)q8Bd)wTG`uV(br_szd0bp+W)XCGfTOtxoHRR>v
z!)cw1cV<7Dg)6I)k@l%om;R(W*7aBRE{kw?FzK!sb{uXVGhp+$=~`JbTz|WnNA?^b
zOO8=5_CP(%Y}hXY;XUrn&v<3pTz*ZZ89uiT*dSYf^cn29q>d<q<7DRpZEBzExNjza
zE2KOG(MWi7p|s6e&yFKV4}YGC-cQVQobCySlszZy`IwXnr@2bt#x0kjjEb<PST?gV
zOGTIt7`v%<4)?NN(5=KDDLS}j`-zZ5yWXq;_Njo=K|}w~6E2qbUrxA<a^Uy9UMZP|
z`w#DRtaO6NRTqOffHWKhcdZZnV$aHsUH9rXzv!tFFH6w-DV_SID0{5}<X~6u7qb7E
zK4^cfK?km9GiuO1XSW_DUT!9H>(CR%o{0g>Kb5^d|78ZqvE1Vj8T<R^Ue7ox<$Ete
zXR$<+8MTlwU?`rAPd)3?dHn$5oN%vDjLVPkdr5-*sR&v|;V?ZG*$y%n*9`(bJ^B0l
zCZLb9>321l#)`=KUZ`xRxf0;y#l9AEmXJl!cwhM0ysyVj>jM{XIq>~*N5J|=(0%_*
zSAp+&rv7y(pbeDS6P&!kExsi)u@c^QFsv1K{aIf$&7O+)u%tl~Rcj!NC!Z$E>E~w}
z*v6(0D3<sY0eQ8&%&O!Ynx_EES-SKb7;0Cr4143e=!Q_$(lcmJHIMwpXaeaKPblPI
zcb%qNn2#2M5kqA*2d70g%cnw}(my*s(oA<@>&nQ*-)&rN<|3J_g~ya1QVR3$1$)MK
z5J+j}`aE<}dqWG@6Wy1^Nj?zKn(+t4BqsF9y(eijW@MI8wa{fwnwyu2fCgG3bzDFZ
zQ1fFMKy;bt;VI+CXr3t)nU0>Gz(NaSI9M|V%N>%9K%cZV#z-}d+TC8YqWk)dS0F&R
z<80z73xO>6=NLqcwqb|v{^OavDIS6!4vann#KYACoJozv!jSfC={M0IJ;Db~*LTkK
z#0#6zmIMd`avRZZ`9~{#n?MAYMQ<H?+_)yu=+zS45oV;T-<Z6C3*cnTMaTw-y$6{~
z^*e+IC2_4?T^bUpW)&%yEH@>EqrEMP2XC<68>h5p{lxJ~%qVen)3E1;#pnpi<r#TX
zAO{jKL|e&Ru5p+3ORWL=^3|N^%fooDDm0*2Pqy&Js~o$rk@^U81HX{DQ<oydDD{58
zDs$(rR5|@tphkPEzSqry1qMiM)xC5-oyZrE4w2j(1KU<jpzQK|3oo^50>&CjrJ3c8
zN45*!mXwS413BW{KfWMWe{uzMAsh1G64B+Z?+I`nHX$$5?fsq{aE!}~RT&lbcr&%e
zLVrP)&JdfgD&5O3Zr)tPMM}Al1p>~f@km~81v9{4wd(Lx+d%_65RhJ95Wtn7&%hvD
zb(%0>3vt&47jdf^6z*W>begJB-z&cw{sk6x<Abau7<_}T^U%V6;vk#x8FK(_b~a|u
zmy8G)mA#X4dQKhwfTULjZ%gU$qX-2BXiKaX<`hO<1!ioZfarmm>d2LX@Mb)(Y2P*b
zXyrBeqf{vyxv&jZW<sn}_F50+RNPjv4%}5xEyp|e_K6VHAqaK#iser(sj5ehqNq3s
z0y}P|kZ9(h6+hK*ehu{fRSl_(uoS2jdQ$rFzNhcHxSer&K?Vq*E9Xzf@a*;geUq#9
zapmogg-oka&>e1NNix9Y`U+<aWR@HF7g%!v^!m?7W+W?A>d?qRYr>`Hxyzh2U~*Jm
zSKG<NL(Dc)tG%8Xva0V$$BHxXkMb}*b+ri<22UO0%OLe_rS@Q7xX!3uT<VMsEc-kS
z*NyY3K5m#n!~Xhcp*PNk0KWF4;uFAz5HSc=N5r+0krt03kqnDh7t~|Zw}8JX{_zAa
zu08g%GDZV0b{mlS^Gwbq6${Aef6|K_thp+Ns1%BIFt*U^<@3{dr-62#EcK_ErNF%5
ztqi1DX8(TdhsdUPs*v;9=dw_XX}hjsn;0XGkJ4^=)NhKi;irf;S0H@P80P7Y8hb9{
z7EjrjYoFzKTbi$v2Ws_k7EqHv1ZdD)zFNRsdfNn;)Tsvk8!|IWwm{^q6#kFa;_IA`
z=*S;7cssPbcpm|qi*s%W&=kE=&|N)xZt{4xKF#!xiqcC5+-PAJ@N{9RD4J2kxPP#<
zuzgsG>ufXtFeNn(I!Yxdv!JP?bJ1GWnc{TA(|12?qRjga$;_T@8tCc{OIw-|3r+`|
zY-Jq7!9}MRPtF8~TV%VGkb4-B4_@=Mx8JNW@n!YX;Rk=Qsk1d(%S9CTQ3}ZZ4o$7-
zc|jZ78T}V4Kpv$mlL+ZH{Tt`}uRkhG6J4Ee_22!d=V2F1Jo%7;>C)cd282~>+rTZY
z`e5VNzy6b+ok$?x?@<Mwrf3Y<ivx*8O}e4x{c1ov*UJR#Q9l_?0GNK>YTQ8gaB#CJ
z*JoO&v9!?*oOLY#^I;?rdwnFKMx*AsN137GPxFwJ*_G@qPlx}TpU(Mtf?R~}b7teP
z<Rk-SZ#u9b<lXCf1}B3xX>SjxP5+y>_cw+7^_3Orwx63NnKKpQ0i!jE;O`z~00uf+
z=@J%m_Fk4&7H*vGk|oGB5hoLu;JXP5QkRjynckztalZBDF~CDNOJ85uaEi51!GcrG
z?2zH%93xid$Y1OVgubZ&o@M#7@dLnqCp@Hf7Fi$e3RuM(>SF`6Z9!QS;|q*&BMd9|
zhmMi`*Y39z_el*)X<S|fS2iUEAdkK3I8<V#<yfmvIICcxopC05P1uZg^5j~;EUT6{
zuumNtbeRa|A-R{@a!?y*p8+}=ui?ADdED1~YKn7yE@#r?)(DCiZ9SjsSa}L|(K30&
z<Fb3+iC&M_Y*Rza#?aa{zYK~<seuzJpUZu|p_O)x63D^E=2*F;xWifCC!o2k>)NGn
z_L#A`68m5UOjn8FP5pjgKj9s2WiyhDHjoB7TulI1E4lbLR$e2;+rj{N7eO*-EIE>w
zWJBwW!5usD6?jqY0ydLueRt%xlct9ranQ0;Pa8f<I*qnQ@eu$JW=%t`vfT_c)9fq0
zp{+<eg#-ld-vA4x^8egI;d6PHJ-VN=DkFasQ)b$DLc)zWdeeKtpQTb+up(tgYAJ9w
zvx}RHiAUw4@LgeD-Id^T(tI&$eP`88ZBh&YDg#R6&QyW(!t7INgzOc5K!EGH4N`#^
z%kCtF{*48^@d~%QLjF&1Rm01F(u}(Pg=Q210qlKvu?h9p{Mdf9?dknNN1b-;84ODq
zD1v<?Lb4Pw0_J3MC-0uO<I|^Kat(@kT6so%9^98Ysd_$187g<;8FLuzc$0UuVUb^d
zml+IvOZ+SUCzf`oj^YR}{?fm<kNj*{LRbQAOq}h<4PX3Ec8)`P_uU1Wp}WWB6TSG~
z^|N1w#$W%b8~{=3{8&wC`+xrbe}DD5N3yHCMRcbBZ@!U|m<uH==gNz{9WtC2gxaa_
zs>VjDpd%WyLP3)bdm#mhzR9TouvyU>L6Bpy5*;9Z0Nw@qrS)KP4Y}r_R<=w^p&4}&
zYwLn8Jd{a83cYKGe>ol;UoA7z#{m?n9Mo5Ch{ja`XCkNO7>0f|j^@j{qI-YDG7SaV
zP6RBfo!f1TzcRf*_5&0bV9xG28wXfQo3a}qdc@nA$^I9_k*bwl(ckU?DKV@XrXQbN
z2C`YDBUWifUSnIA3-O+@tJ-vc0pFi9*8vQ@0EzZ2Ra%^cwJHse&5OQV2)ZoT5=3h#
zGH>So*&jq40AivGN@e|*<3RHkaT+!SL{MCjVGGYx1WYi|9Xs*hX%Q<O&cMtWx4P0J
zAk$Ie-jT@P4T=m<agq}^+HYsl4C6G^{W|D0yEu(^QMtW{E@Vq_U(8G&1(@{kVnJu!
zMi718E-wU`&~nff-WoI>D64#33jxor|Nr~5BWQMdkpHhbjPI0_#65sue&ZraQux-b
z_c@15quIv)!ZZS9fqXt~j5}L=gYGU3ct{H#xV0&+QlHZe!5;$eW%HWGu+lPM{~Jk!
zaN(WEnLqDnmEA{*^0{*;LCbOU>@-{y=!qcT+PrZq?E>g`_j7LOhTcr{vL%3oHP~|>
zDcZ`GAXD!9uZ<X$QtTCZ@V(}oplh@%Ek*a4>Cq6QcnW@CL70}Lj{&JLVXORmr$X4a
z!L@g1E3vW>X!*+~1Hj$sFr-YZ#Na0&ec%rtx!KABw2_)=j2LbZbSe0V&Q{O;+3_TV
z;k~!OGprtP+7JG77R#mu2$x<T&{zR2Xk@i%jK~?YB_6};H1oX_U_9+z6}TBWK9+?=
zf{dOpV$*hxi>)9-Z+H3=+s6z6nq53g9KiC8LD6#Ow0no4c#i<OiMNm$3S8`9#H@7b
z`>-g6xlCI6q0(%<5EAKnt_t*y=vSR;-gx3|eaNkS4R?OEY(u|<y#j3PhZiy0C45a-
z=3VCfiZ|Bjv<In-N`7>m%SZyin?N83))nIlm(}CM-A&z<J>c#QdVl_xHe6kI)t6;b
z`?&gG4q$HtbJPxP?s;bUf|c)SDscE5+l|1<^KdHqaD==j5$%Ht0YCR;=iwto&}+8K
z)usTMb(lc(m;?+28nh9N4;q971}=Px;OC3Fa+=sx7M^!akaN<{u&is(nOqY4m<V3L
z3%e=<<K?Z6GSYw+2RQ5om~525WwxMI2tfVi*)TspJJYxsh<$&Z&Ulbtzx>Q>j`^Px
zhiUxKnC_PfJ~;@k+Omu!!7-UyNUL;&a3jtq{Pt<_7xJj=C-SI~I(OMtChf8J@>WP0
z%0$rx{75TRVKhJs^5!@OcQpSH0=UM*X{%lx#u_(&>t`DhHR-#X0e&GUJsR)^%q2iJ
z@&Y^x02qh{TLkU0m<^wK2>4u0o%PwO647<Q;GitM%gR(bOZCKUr{>!?FoB%#x23^V
zdC|9t;GGX@U_B%O@e|OYJWP<LCBZAor#e>VxfV~hfNNAz{m;lt3M6W|&WXF4(5On_
z5g{p%Rn#GqQ$On}P=7I%<y1yp1^W@3G$>gS^iM!F5(5>Bg7Qvlt~%*&NvQmP^L{-O
zOn0|dTgY-g8dnHM_RCWCiR_;Berw=Z5!vuq-YRrHL-0G@7Z;O!xIct-%#kztR$34D
zWZ4D4gAHW(NsgQ^p)v9R$E}f;XE>bR4Q@0pz{zKsp+G*WHdwT%8w%dF)iNmjIGf#A
zzU$vk1Y8IR*QHCBCiZB)YeYBjUGKj;(TX3u`o|yDZ#kfM<^IwDlgu__toqX7>POnj
z<}2pH_4*-ZOKGc0wKTHAuMjL9R88ao2#@dAaS#y6TZ2Euttx|NPGC!l*1<Sl12s{z
zxrx5Ckw=?Y=*e(%B(l~BFav>h$@uoymdG1g;fO8<;K_13+Pw$EgSV_|fA#<7Kp5TF
z0O*l>Qa?FBk0c<F&ye0Dl?}9T@M>q82I#$#Jy_BZ%9RyB+pguwvojgAy=KR3-2-&i
zs`@qMcL0U<e{<^THtE3gd$wc~UbE)w7yef>GeA&wXeBDk0`}D{>sMF!z#57x&3)lg
zI3+Ps15>9hLlgBJZraPaSv%;(&uBIJ>yf;0Oo(6DpOzPC>hVNtq3o+85<i#aMFxJO
zvUbq0G@s2ANL%3(b^d(=2I}AT-xnB+SeqOFTCKI9<5}8&yIR}B_hlt--TDsFQB3Ae
z{<6teP=!1KfQym{-rH${Pi!y;6r1}1m&pJQ?hj46Ifs*Y=3Jb;KP>m{<6m<K_P;%c
z*dJLPyIJ{l*`(vyRFfSs*5(+Y6f{ub)3wce(pp?mG&<Q7;skGchq@WFx;(u}a4SM=
z7SoNcHdCq=@GEvh*(Bz+k-yWO|3dzezEVQDD@vDF<5@~wi;1bq&gaZ&7b?nKaFyL(
zRlGUyM$)a{K!i{=j;)ejNLf%FiR5r^Q6|3BGud_*3vsJOFj5M`R<ykB)c=kt|HbV)
zFGhF58_{F3^bX!ac}*u?&QkNk)vbvYQw1y{s|oi`#8b;!-J5jua$P}Rlx%5ouTg}^
zt=&ralbhqM8+?7uWp)CeZl|&57JdGozI%cqE%xPHn0HO}XyN7~BnFJl`)t+snT<`0
z4dgiByk@xw_DFV%zoLat{x>)y0k;IR7$4j0-N<ShQ<f&sa!sZgGI#`9THhB~gJw)U
zgC6eVhpqgk6D!-4ijywMZEHmDTnPc~7j9E1NF>Y{q{G!-rlZ6OD}~Jst#%f?<st0x
z&Xm!0Kck{)C5-zjj~fZg{-D&j!clof^Zf`x2)TU<py#vzt`*2;emC<h_gIg9KKq35
z7pD8bPvYjAXb8GtlluXvuWtZHab!pR!ND?${^Jt^4|G^`e}6JuNrWw=>z1$ZDe9N{
zD__p|er3I6_E+JMt>QNZqq@oWXV?pljC_56kxrUH`PS2`C)t@I=pM=yoM!kqIQUAx
ziN9Xl?CG&wk&Hez7mRqy=z(}TRo6v_us%ktUDRHX#^JNF5Vh+B5)!vEvWR!fob5rJ
zJ#*yjMeg5kKzSj^8V^ss<{PP<8N7x|5lJLP)D20~kj#qAv0^oK(zhwiEe^iW8$&S7
zQq`t!ZE?>p4}TLPie%O*>ry>xxxOhh0xVa3p;>e5QPa}9h$m=o9rkWRXcDjCB0<64
zJEx<)J+d|@&$z10>(bJ05AoofcTlur;d3m{4WHd+%o{!I;_#0j0rrCM1cT9g>(muc
zLpue!%J{!*WY+U*6RhIj?HE@H0Q%dw8C8koCX<!@3+i4;s=7~D#O-BuWYJ~#KNvbx
z$-)ufJ{KPsXXnwNo=yt<SZ|^yrL4unX#iPTj&Zvg^O4sak{s=+M_s@kfBWkAJGR%A
zQ|WU!33bw@LsoWi7WnXb=_Eari)5Bq+H{&HPD%!wt2U`#BI$u&%~{mi6lmq%LAXco
zE3k_+4@53M9>ERNsA~^8y|4?PoNNqkWa27|wm3a#z>LS^XM`-XgR5?+si;JrdfP8`
zMy6Yn#N)YSW(S80s;H`VARlhU%xjfI2H)SUV^Q;Gsojd^wpy{`BzX>C+v3d1@|PnU
z(L1XcBsJm3K4tu@&#Xnwxz5i9)v$UFx6h11?q8u7eDunUqT;RKSz+uek<xj=`Ks95
zTGah#xG>VD%vsE{d_I)9WQCqoumx&wO^qY@Bd`CnUQLoU6w7kt?3ve(uWGpMZtQN)
zE)ZnZTwHX?3O0L-8+%#Bf{LY0k)zrqgY<MvpVDriIIq1FTF1M!=6;0&lF>fg-_mS$
zD>hulnz}bk2|N+^z5uVeEYuhg5n+yXjjh`A-~Im8cjkHHY{xp%gV#{xif2;lnCeCV
zBNxM5C(6h%I?%(#T0y-evMm?Gc>=6!OfW2mg_oJ1WK1j)^xCRtyiU{;9y<r+Zqq_L
z-gl>t<e$WO_752D?5~WY84jpOoF8n<pU*IQgf2F2QOmJeqgQ&fc!0b#5ECQkLPg&S
z(TnD(z!tgpFRZBU(aSH|d5Rs*cb(reo7Hjg_UJK(QOzY$neKB~H<U@m4f+4{u0>^r
zFxOesX&*H1);sSV@G0Z0hOKV&+ulwZrX3gJ@KOE!B)Eul|J&$A8LZU>{D?WH?!nfU
z`*v`aK(-0bv-s?g`M_vL59&yIy<UxD9$W6W+AQ~L3q49Fm{MN=8>^!GP+J~+wG^mg
z0^D4u<(#y<t>JACvAOE${R@aXXA^_i>CM(jgLI4pnfFvCW}#2v?jH(Iwdqqhp)#}u
z+w7p6i{DUC-WYT7oJl(+v$U~MCKU+no}E^0#&0|yPkI8uDqTpjtGl(iK(QIeWxSQZ
zmB8wT<Mzac@;*oc<xw5?<;|Fx^SK@~ld8oZeW;r&o0?^yy<LojUIPwg5{R~Btq-0+
zkv^N8BSqy`E0-Va8R1giUJ0K8Ux`<5cLdaBYBh>LYR7>W$F_VSt>Q;PK<Q4zC}?DV
zO@bU+>f&j4@PGbY3<RF2@@W#J7QkwxO7C2LCY2;6^!HxlXc^f?9dlE3sOTJup4Wq6
zd8((mr46IS_FfK|+tlIXYp{2MCoO{;#}D>0O_NMl*TO1CK@E54hXqoc1GKxEYTSeB
z`X?*mE=0h_PwJUSUf}%k>eCMpL<*oE6qS}swC-Z$U7)r@FYD;q9M?N6>Ov$;uJh>E
z7{iy=+L~K=QIPLPrW!YAdFNFuI*5He*{LtKCs{0lo69*F$M-iEUQT}-nxyjkW#^md
zJuwl}leJ1MUug{2CFhyx_X!F=(*M2y%^9N~yml5W(IaQ|d5-M8)93k;RK;6AlWrtQ
zN1Lc2zpe5Pf3DVpr$|db7DO3K38jvK<%Gh|RF&j2F}pGzvvI9&R}&D#w4C}cg993>
zOmG**?{BmPDZOgsMev{f@(-LhvGYeFBZm;excp_|=lM!<e}Bsdcm;GdaN&pjeuuzB
zalA~QLpErfHCN9ImDC$$oO<YRBV4s$`Gk=7LSN&a<}5{hgi(oF46TycO+VOJ`LT_|
zxvsd@QteJ5DDYFzgY|U_zh1lK9hq*pHDrvOH#KqE{>}wp`}3kM`s4DwR|0>$4;Vd*
zKG;P~4B=|Bw)W$=;<MZ&-gKvAg|vOkPCqE{Wb)|=dPUp0MXx5rpY15uL3rHGfm?Ku
zXmej2-Vkr;w6-}0z0MLI;K?M@9o{Z!NtJs1m@+U`K1S>~Gw$YlexR9prvZ1vGf50;
z?~Q5SGf`WFAU5T;s%mYp%k^l;PDy&HNqFHX8|UiVz)7AvVf=Q>;TI82_GD2$qi*zw
z&uipruswslM_W%|B;12oy^fd=%daTCgP3}_6#=b4ly44?QI2Qse1>?)LMRn5q0Zs*
z<jV3Xsu0pcaCc1z=U;n3U7wI4Ra7UZRo?2qKv^#bR)yI*5%g+QUc{}(EHJyGSq~ib
z!61fYx#bHj7aXOI#a$>D+x7{r$;>Ydh3}NtU_0SEi)(|J%A6h9JX}Xr>|@e>ushuS
z!|QlM{1L+Fl;_^N`3IH@2gSotZO;aYV&8D!AF@vFT%tsM6yTQbj^*lR5+D<GM;-~J
z54E^vN`Nn0KKqufXP#DTnOvA6><3+ni3_z95TyM*coIfdQnYTyDPCG<v?QHe<iC_>
z#FbZ>mG1=OF0&>&%?U<^iLZz$6~c`vBC^Yx(d_Uo!>!=jkH&-Po*^NsgS*q}K9W}9
zNsH_Ilz9HmtSv)_A0%|+Mjt6~@IV<BOAnk7AuSQ-3*)i-gmKg<MxP&Ztx9QGZc)#4
zxW@HL9aufc8(g~fb?Sz+RdMF^i$69*l2|d;Lh5h&R!;3;El}vOrjRWrJGHSfD&36S
znua~t6T&6w>|n_3cYm(D;X=h4o0)YG6CRcH2Y{{FQ=;1_{u0|nkB_+jOzr;8>7zH2
zW2xps)Y)*Qqtf^(UZkUzd%Kw+BXsTRNN_Q|xF6`=Rra!(BfBnLwp4tOn;&c&yAdyP
zUKLviU5I(@g(<&0Khx-UmlO`V>c!PJ%l3P|2qX`d+Ss{|PL=r+sw4uI@<uM!Y@`lN
z-j0Z9#A__)yx&%Sw7;QlFSJP>V`A<j(XY$6|4?yXHaocNMXAaimp3ZQxxpiwcT;e+
zoF6iOFUEhW85b3C7I<$8Uw;4cX>#mRa7<x)hw<@)-FRfh$9LObU*31f4&xcOkM=KF
zyy&txU}C|miZQQWB;;}m&`y1@rAYq1!&>MSjXo6<51+XNp)H=@4;PO~#RuZDLWQ&I
zLUkl<1-Yulka}nljuvFukd4}S?XM8`Ni(GtVN{u*j?Er8ATr&Uu;iA+vx1mW$LC7Z
zbh0m}!p-;e&o~{_9=KU-5yoZui&{)2PSjEmdj7n!4#o~nE!l0bR@GawHF@PMjTJwF
zYs*EdzyHIHUdXe%V}gUEpR>^ZDfk%<ZO_bfafF3v&~5s}YpYdnwpIE5a13;cHLl)%
zw<-E%7~)BBLD=}q`ZCSU1@&=VmFr#>6Cd*Ca2Rw{4^d|iU7%G3oDlf}pHken>IVX#
zJIPCRSYl~uDwXlzM|9Gg(uuA_e51E;XpBel7al3_((G9xr1YZ08beNL)kq}M{qN5>
zp}m5?nw#fH&u)o{^=Te_60vBVI~ZoVw=7hxtxUc~_j5s&XbWm-<s!Q=%X%;w@q%;w
zlx&y`65nyr)YewVp|}MR8F9XEueD!q=}E1Ri-UZ}Ql0vq_L9ui8gj14vxEJ9-cSX5
zgm*oA==m79c8uSTG>N^Z?n_3<1oxtjtV#Yisno3~Js%;jAHD;AyfRiklS!p+OX-`W
zK<Jk5)rn*-neHn)nenlwNIsOP875gnU9SV*z6x(@?2j4>q4bXYbFJX%FR$^91}t;z
z$lB76++G>C^IJ!ja`KeD!5NiFR^t8r%Adbq>H7T2=YgmN3&QjEyOD1bec;kyZ>D${
zHj=#k94~uh9BwZVOFI}YqrjAxho^3N*>-ilNo%IVK-_LvTbAPH=~?N;_K^G_P$4ct
zqQi9OiQ&!lspc3p?ZF6<psJgvQX-Gi37!x8hh0aB1+MHzhT>3BpECT*P-f@&{z`UT
z0Mx5`P=dvR%j95Zq|OOl?4+c+85u&U!MK=C2da-=0FVdc8E<aSl_?MuB!BEGuP#3|
zeb?iYQs3wfxS#NEqYH{}fZmfN?bJqdcAI+pz5dQgY8qARfhp?pXF>Q_MRvL9^z2iM
z;D${!rQJV%Z)jWnF~F^}QX}-#51x^Ec2k%SmzU*(yU?q#4%wS)&-DqN3FC<Vg$29O
zx3s`)1&h=Wyv9i8@l4|WM3=ilRq&UYec2q!F)`nrJR|gcQ~8rvRl6DJKYtQQC^c75
zCZoqhgBP5vGM}h@wnUvT*o~7Ip_lUgl;J)yazSY1EkAN6y}4CuVwl2bG@hx3uqK|C
zcn3y-U$%3Def$mwfM!>`#39N|`q%m~XnsLhkWnnso1C40W88VIjJeNyH`b;<I_$)r
z{Xs6d<(lh4BQU?1>}Zpbt1Qj+dbO4AT&J0KH|@u<TWABL(e<QAx83wuZa<NUW~7&y
z`vH}OR~#f2A{tY^HBM6DI*L3m3_H3Vt_GgWHdv<C3{ZTMX8y9($FiL0Vn5usk4PNu
zJthCI_MW*Ooko~7%RzPJyLXDAm*}P41ovk=aA=uEt92?uYS{bcatR4s@k>=SoEH^J
z`s4q(ts4pnh9O3w{1t)IAV2Z`$1A#=<tZhtJA;B=jm${c=v_yLwdrS!>_UPz?oU^I
z%=i1G4t8<rZS1PL7;327Xz@pF{ZWh^p`n5IFPR?EGSKVV#=)tTt|9DXz7EM<N$ZKn
zh+TTU*npRm4?pZ+uXbE#blh|<oD>M#ZH%jDA9uIBXCrZ3#$hrb=+c5yNc7B6t~+e#
zo!&SWujP((S#rW;T0E0Lo97JttoZI>#CQ5}61>WdBnZ#*Ojs@k93$=+-pe9^v}66t
z>o1A&0YU7VB*T|uRc`jHmMh*T<721~pjV@n3&;nmD+d^Z8iXuEeRcl(Wd)mLd2lVj
zVkzfiQPYXE!0?)rj?v!1^z`)eRcWQA)CHXt$1%ztCv#tc>pElA#?_fW6-&xa|3?gs
zEw>#h+weIbz<^?XxSWsl&NC0MlUp8g(&_OrAGSt?c`v63SX;$!w@<QOD4QHCEEb43
zU$z{-kMCzU7`|<zL)zvJJ^)c3duyA-g_uFxt*p>-Cgi$AuKI<FW*PAWr4u7>%!jau
z1+4Hp7-A`^%6MeDm=@wmOk~K?wv<1Ae+TxITPCPp^eJgOdyTfkQ_AF5h$r+PA)aqn
z+JU6&nT3)LTlzt6x|Nl<aR{L%Lnt0fspt><V`QFj|LIaHTjo7+dlMs-^EraV<RW+a
zwiQgg&4N#xfbvrH<}g_xwwH0>NpYgP%3{xM-@ZlXljEQ}?=H8d!#06fmgpYTJjs2@
z!K2j%;XS_7-{Yz2mGUz>r-dTFelh;8j2zh*41y?zewm38l1VnzU}AO~?UwrRv;f@c
zUog@2Q(F0&|B_j~3hr1&d-fIP3#`Wnp5Sc}{rPwW<<T;%52b1@h}~HiY~>%qJ|CxG
zNfw4I;=8>I^n#~zdsS)i-M{{dR=vx_-1flTifvG6eWk-DsgCEE8p^O5C>!G^c9w*U
z2EEc@C2?w(J}&g<+8FWNREvkBxaYkdG`{hNOshWXB>A|lj<GjL>x`Jdtf344`n_qt
z|Kj`Q3(rl#^T;b@io$5nddMs5%bU~etxK6w%u0u=tt_@<2gT2cc}f{9h<oj71743E
z0?fA?V_{y;mpWK-aS}Dc2iF2j%&aO0`L#IePqGNUQIuV4npC<NY#|0nAnf(35;FY5
z=c(P3*WL*5!y7dqJDb|8+JS`{F{w;3i)HPkVVgPL%SoF?<CXXen38S9;xhh6Z1J1C
z0Uzb1V-~NeE?v-_)gn8jI#4sm<5V|<T@WY-53<;8bxE}nO7;jQNtQdnO7XICjzK<c
zX5G5^N9?6InJ{YR*oWG5*}f6yOeiH#yx%hah5-a?_NG_LY%_ASS2|q^TdW|SdBA(s
zGaO}Ub}Zk!aW~f>?Yy9<^s1omEB?ph`2(+2v_H#wSC(I%D0F<4<v(mZzmh%twtwfW
zOt-Gc5CTz>M40G>|1oTr^w$<st{vE)#QUg;jD$-~&3Y`CF5tws7WGyhqZNaMpJ;`e
zQT1cpN>gv`wp$QwKcy7xhk3M54xQf|BCc!LZMGc<V7w%r_;?7LJuXqBMhTD_8hIWt
zaLL+avkVhRHHr5T+cUXLS9x|j-8%h1pjpzD9)ZcV#hI$_TiUNY;o+TI%2@PSZWi|k
zp@0LT4DRKnwOYE7$!CE>p9J};#%a~1qdrNpY7HM1t>M7EzO!wzeo!`GU~EB>!Df$S
zwFy5m$Z}aaOr4#Qew_yLhGEnjV>(3i&UyQ~_m<gW!_-QC^jO(m+P+IgrW^iJ8R}V^
z>8IS(X|!JFL0l5=rNI7k8s6>baB1rmvHS5_(bk(jSQ70JyxquiV>u=bw3m;zxHbq=
zUSYXGZ5&4*l@=C07yy^Gr(ja8_zFu%=u!2dAR#yAlJ>%&%2j78kt_B(DeBBNcn!kU
zb22P-$|kpKp7SU3)TG@KT?vqNhPWEI?|tAJs{S!HHoA^hw*Txw94#v_Ykm_-jUq4T
z&JEP=6HHMzE{uScUSl5b{lj;~=X|dEL^-*?F)#=|hT2>mfg4q`ys=vytyovy%vDp@
z2W_HswkqOB`quW$=!)$|`h~m>KE|6%y8n2(x>uI@`C6gKt4Yd8k`J1<g#)Wq8>0%d
zbD2^vK4YK75yjtENj9M^<Tt3hcrzygj%#Xi!FUE8o|-A!7}u**($~IOBN&{Hv8&BQ
z8p9U}q5*amgGKr;Y;IJ{MXevC&C@F;mHwg4Rh&K@YKTzno{LP4#m1AUvX7tD<_z87
z-;6Ow5VJ}P3k%nB{-FA|^6-HY^d((pi7S5^u3rYDX>apCh<gvHsMe%i_!y4agNk4v
zsUV0FR1_o|P(*}QqGXXA8U!RYG?+jU0Tl$visT>}Bzr(WGDxPOIb`StT0%D&{@S~B
zPMC9N=D+uwduOp`F|%Fly=&K7Z`JcWRWBfM0&Xv}SXcxiE}twh9xFjst~?mIW$C4#
zw%&D>thUv*T=wlH%QfwfGfn(*o`Z_e)1*On3&pAOT}QSn|8RQgdyXEloBDnvOY6-H
z5e$A#pDVzmW(78R1HNsUd#}3;y&ln`buM+Aj2-v|kdOZ0-93d9wV^b8AwKGkgF|eG
z8aYNLNUu0&o?SzA+{N2OrW;50=%PgG+B;NVv{kll){<v)5AkqPo=7uE$I<bxmMx72
zb|kRb;23t5YkMoBwGvO0rm;l=EMET2R7{;hk=ZXZ9Bq7Dj*9kQPgTb#R;PIp7iSBY
zN@&#FPCc8HPD7dOP9Z%J1j4&$nt2_8@Dg$t0Kf}uQcTUQVzLl^_Z3F4L}g=P9V<~H
zSI2zHB@bzmBO_LIon}J)_zu*3d3w^dQrvfMNk=a6>hvPHovGw)ZhdNJ%=TUm-;cpi
znl0nG#3lgPcI{m%F8FPC?|8SU^o3n>or)%R;TT<S6SwHoxs?xzHnJA@9KCFcmVrT1
z*(LU`xV#$v+$`OQSDGVvcKaUcD9!+o;+cx)f6QVXc0wQ}*j>WheDaG2DMgPo?}GDZ
zjb)?psXYpz<Js$QmWnG224NCKb&-beaQzA-F3lQC{<GjrLvL3B&ljoFUo8vq7_3iF
z6uXkwB6mO-ieR@~DDggr_IC=ZO<-3R7i1+OB*oX{_cw*?YhuLKLP0>=Rbp8hrOvr3
zV?p3Tuv`c6my#}lM3tG6<)BC93c<sbBECk3ObeYBf}XUijlIitS_Ziu?IV)bV>Go?
zUDfWmC@L?Pa22dz_nop!ZmlWxGb4hYFy_kF1KSx2;p$e{%~S4em~Ion0!xLCyi98H
zleH;n-ypx;6T@r@Ng8e=j>U}o1Pi-j4upSP_IE$+PP@4`LSmul+dlX7bE0=@l886k
zrB(r$=>rfFU%Z^(=V|Q`C%s}iwV``$iGNs*ZH?BQUQ*<c*c=##`>RU{Ega|@!w#I!
zxFI>kZNCTG-L91BgwtXsMTUgpnpuaXlQphRhLNHT0_4L3^r7Y*b0m{xJajA!f)qN&
zmE)M*cb{RS8!Rr&z6P>=T)SL`%!J@-KU2A2TS`IG)WAqta|Erf|7Fy^YMX?C*5cLL
z;O%`?m{nVwd@ZuZ1~~s+X5M7YaxCUR;1G{nlzsmf_OXQzj%+7Vl9p5jJvkP>w7g<*
zEbeDg-=`xW&}lL^&TA}qye=Y4-=FiPe2<jd(u7GV$MUZ)pIxHlV(=s;`HiV~ELlcT
zC!7ZpA;|4s+|xfZUrE?`u5-@sKy;g#SeHc6YmYrI&}cNx`P+hBX|p)bt7yfjn6o%|
zd5n9%LRP@xlxA^x|K$YyRfnjU9m+Gptxe+!x&AICZM`SMo4Z!nk~?<_iD!T8<`#O|
zR`@i+RD38|>&miMTY=)Mqvnp|xAy6-kSqcZiQc`<y}aDOvE9LWgPCKujlgmX1~0k{
zfWGCJLpc*#a_MLWmNNvF*Jpj4u5R0!*1MQOD1CRygqfD>Wc~7u<fQem!CaZsLQTm5
z{+jlJ9xR^(HDLzxF2Ni-l)7Af_Se&@1j_29W9hz<bCCr)9QHN~WL?LsbL8k%U7qyb
z$sR`e$vXY#Qp<hina86XbH()L^0k7r&8G)>tdH|Bh@bKz<g|-X5_9~E@%Yq+GxCC|
zLm!j_hxVwrqri#t`iM$n4COUXQ};^<)MsAC<r+=R@(^X@4}67m;Y?Lz*Aqh?&FYh9
zt(Dp8i1)<v=ExETzXjy4Og)_l^&(FcGfd$NxZQlo1CmGjM?My>oc&<k-!rK?Cu)@x
zD)7Pj)lphq)zXk)N$i_|j&!cCCekiB^FxaqWfr<K6aC{)+v2o9Fml?*v50I6XuPzt
z#F#-M-ri||g>o}&wN32QuFDmM&9SY0OsO60`(CF4VjJhpVouy&ygbx7ZI_ELum8=d
z-maJ(4(kpMTorV#VtQA`bS<W0(tnDj#3q+{rRn`h=>Uhjvd!9)$?OQprJ`?NgWN>M
z364=Q*40n+R$5~i&q^=&i+D({4!k#-`)HljZpL_IZBftt{hQGR#TsMwmC>4Kg)B8o
z$)Ah)A67s4Slm-^#LSuS!CFIO<}hu7+na0<XqEr^7JF`M-H8t+EgAO)-VLEJ0>k>L
z4gyxo2JdfRH%{*Bsk7TvBNr|sZ!tBS!xypoIn<Q*l4hJ^Aoqgu64W{J2V#e@iSIi@
zt$60#!rf==uCZYh{M@Ioz1Ov^fE3_};_0G2=ZyqT1X+w(7QM6_mrX9y<p9ksb||_S
zjwR`>OnkE_p-uD`ZwalD4bio4&F>$7l74r2J|U_hp+EVFc$wbn&^_mbt31VmZc{p?
zLXpl!@AM>G-X?l$L`*%e>tk5En}04z-|bH68Jda@$4XPG=ZLhsom0#Ew#Stc!>%?7
z)ypeFfD^mU&qzxj9M|2w_KhLMe=mH&u5X#rF3t@rB<BXg0XNE=)potL#s1HqVJ6E7
zb`~7pat%Pn5|cJb&q4&Z!@u{uJ5y&@u5qM!Ncp<dlvg>nXRbK3R6&G)IHj$1b=Ag?
za8P$P$_rp1{s`=85yy8QF<;tCE2X7$u8Uc2Q`f^wbyM6d9x4>OPI<?955<)dhz`*m
zZe*h~gj_$S<Vm#_$Bg7tr=RyenjrYryca007_wiaQH!KpaC2Q&arV_;y`BYn0RaE$
z_EsnMP|2dr@+tOYh!)sK-h}NxW&!kETj9Z26Y}Gvr?|Ut=JHICS_D~{rO8A1$WDwW
z`pYN+ADcYG{zb;4Cq7y^lWddRNnNqIuY}^VZG~pYHX{mgB#4Z~#KIJ+N%e@}Mz>4X
zW&{**TY$L;9}2=Nn$ga`2IQw;pUI&P{E__JTO%IZdrwR*-A%n)wo~sIyHCE8^+uOH
zRb)MDlapb`>e=UwPuZkN0WANa@m}$4sleELnRK_VM3Z4M4<*||oe6U;&%&u%*@~B2
zV>oih9o~^)0p=RNAU#@VJ#F+}aAk9(+vWK_jtD+(4y#id*i13K=~q?#wjmS`2DiI5
z8D(N!E2oH4zRuoWUYtX;eAiH>Ae+bi<F8$q{4ZOSs@P0Fo14?Z>SG_Ci%95Q!uF`o
zzRyTLrWlMG^x3X&62dOH)T>h`3@^f_eXyaKkm0n*Xbln9ESv~bAZFrH1|z@Gn~>ZD
zUt{b1@a`olG)X+N^3%;CTlGiFFx_zFOOT}AH?4a#>Xj2BNR^!8(WHpU1uAxVd1d!C
ztd1A=rC1lq+B~Xgs|<|I@XmMXu`rmbnP0Ks;q3~RnEy4jRBw&Cp-fdhTk2=7#jeLy
zDY+42VsbVU+2k_!HA+FL<m4$eDg1lo@TMAF7--pA9<xu~6HCZ%Sg;R?o^Rp^-$8L5
zDN0n!rtsHz?j)DGucQ)6OO_nv1vhwY;=$-1o4m^=on1^E5+IjCAffhc#dN4$kFS;9
z)UmXba`wVXoY-({H`S^}`B=^Ld_pdg(>T!$<C11dk^{ShRQ?Bcv5zXf{hYwL>6x&R
zdv!{dkV$<&gJ_N{Lj@1_t`rTVHoL=Ja&%ROtix0FRbgpH+TD5nGmnFZ-eL?^-s+sj
z=0^6-=0Pu^=bvFGL^%R!a636kgMI!}O{seEbXx!TBc1Z%0Ac+*7y;+jqz_v~h)(#A
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

literal 0
HcmV?d00001

diff --git a/website/posts/data-program-environment.png b/website/posts/data-program-environment.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b9ff3076a452c06c10040d02b77fd1b0ff1afdb
GIT binary patch
literal 101598
zcmeEuc{r49*tbfHN|F#+3L$G*vlCg8tt^eT#V$*P3`5#%F(HJILDnH#)*-3vG}f|=
z?95;+Gxp`XZl33<_kH?~<2~N*c)vfs<LkKlXNLQ_u5<mJzw^8V>1wM{A7(yGK|w*S
zp{{bBf`XEdf?{vnp#$KP6`j&&6cl@S?39&t9hB9So$ooj-f+2n*GkFK`Ht0fwaXW!
zq%KiV@P^;Lb?dsi0B`;66Sr>FxA31o?CN<vF!06oTYjHD)_?r`vEj_;w^6T6O@E#`
z{<D^X@&YrxPsIU!YRVXQCF|RbBl}IyXMSl=T%$Q|!^3zo>cWK!))YS)$Ik6P<3aOM
zFya-pwJ=3~$fIMF1tpKZPaR*Pde3}l{n$+{^_QYAH}}+!Ywj(KRrHuoQ~tj9j6|pT
z@#7D!HRxP5pjb7p{np-oIZ{R8IOVxa`g3P`rK;Z+@QTW%sMOG&x}JGB(W?P2eOUE?
z>Vcz2-?{{3Y_S|VrlXoKdgvmhVqi=7ty^;zjUPWQ96W2?-t_UkVt~KDAK&F`Eie6*
z6qEdK555^~M~P%yd~xmT(W6gSC>D=hmCq%jf`R0yT-0H16cmgnp#OVplG=e_6)7}S
zl=L6&nNFa3!(vdjG$;^hDbjq+y59a1N5K<;y|)(&O3xnlaVo9jg_kW13BmJl*)arn
zrTaDXo{L}hGv;y(=e|X`Ts*_EuKjVk$ugqZlAF%D%9sDmhpdY7by;z;hf$Yoz~DDC
zgElX`*LHe(#YAef#@#gTdt8cp|M0xrvo})or9Z9uBg#KKXU=>KI$U-958phZ6j6Re
zM<2^{_`umcC(iuq`KhwsV&5OuQ`{SS_G3_R^U?iJUQ$r~`*A@%&imKPpx661AOERx
z#rpYUr9bZGl3q>EpWgRU(fW`JibGVn=FA^=^Csh`!=H~XN_j~yJU02(@jsmI%pPt1
zIq^RWlxgpqjQVEX3y1!2x|b9@d@IcVmKOM={wR2-r8V!Vr+-oe5Va5Wzoi8}v3w5R
zDI$9E=;c4D7gFDWKML&stM9*|zK{AG|5BdA-jtLS*G+OyQ>Y}4*P%P-{Pw-R4_el3
ziGpqut<=8bZArrEZ(M`lxO}1#@e<iK>w=q3>g<Ja0XGl`yQ(ef*k7s_rm(f5zNUOk
zN+q{!Jg#0^=yzRTW7#X&@AAa-{ug@Ju_&X)-eL#Lk)DQ-2|1#d>ulLXBg`gYYyf!~
zILQXxYcWInRpBS}mi`~h-3cl-A8TjoIgzibx5#-z20q%q8Oen`hwk+jY2ennOBze6
zH)rk}dH33-H`pkw!=yImYU^gM>;rF{ru#`t|AU>An`=+t$C&C3s~=Se@3OZ1I=0g+
z@-Xuno?mWt>)Ou%g^grWmzw<rzME_MOQedyP3<uGwaHt<BPr~g8P{S(&e2;Oq4Q-7
zNxv#IZ(1smNP)}<ocL5sb!aXynDX1vasks)UBf(cGmolCRLE$%rm&#!BGoTXx_M&d
zt7O&Li3Csc0W+2d-;`WG)2h{1dM#SE$t}Oy+VaH`BWPsj9`*Yywp=H^CH7Q~i=)=-
z@nrrLGXdYphI5HWdcHy@0*gogM@OUJnp;fTHf>ed-uP}_Xx$Rwi6NNPi1Qq~^z+fp
z(A>_H3%ONm_N#LN3Ia3=8!k~!s|#Zyh_wf+?J-qck=$BYy{+^>7OOlTn<mHoj>7i*
z+BHyS(VItXRLP80{lyMO1`Kl4qcsQFUoBTHW3D?#T$aHPDB$LvOV$r~4zgY|yp~|R
z>6~q`+GzCH(LiSSFwnwfDEOUy9)9I_yLhQcI3&BZGO|$KgV8>4-~h*266uAo&(M(?
z9cO1}OOurSa`wZ(Mv#+aA?xPXdgr!(9#lAW%~#*?C-lyKI`GcffS3FK<2xOwOnq0!
zT<cgp^`EV*^;EN&>KEGYdp|r~*mjJYpHFA;6f<*#BxXwM5nUQMuNM@~D_@*+i}*eK
zDjuMMoM3BFVY`s;N5nZz%c=G>143lZrNw5^u@+}vH-jFFjbTRD^_dbQ^aQjWAG!?r
zA^t(~1w`v1*`@DyQH4XfQ&K?#0|QPMANout2aINA=N>*b(@_DNytnpv{}IbU#Bvm4
z<<I@pZEi>7XZp)TD|tKKX@v+79ObH)F~kNl&jEVVO1s7J77@QKpC5kPn`3X>TEj=e
zWR8{FMw(Ob`6OB!85y~_6Y8}I0=%cKPCBhm7wT{=M+=%*);_1U(s<}sUXYikGh4mA
zwXhT`Y7=bk9vk}0Y}(JvJz?KaB+1+;of?pp-(GDCFbZ8S!$s>?(*dhbq0P%f%s9CI
zu!_0TUG}WfhjGMHpVn8+J<nMF0Oi$^t=pXb`iFANDm-#XsNfA2uhDRKjE?O5=fJ85
zeq#l`UxMlHM)mP;y04B#>abNzBziY)+RMSpT&*lEdV9!yz`ws&Z}wG(M&+uSrBM+V
z-`5^Hy$*zX!-3I&pc#3dwz?f%o+U;$?02c94&RDPdvMb#wJBYmoXMwk$!%;=wDl5a
zd(x3#9(;jqua4hZM|M?6B@sb9jkId1VqgDWm$hV2j+y#iU$1^INftUq=YXHWoQ(an
z=EG09qnYe!)x+NluDm7n@ovwvZ=dCP<MO!w;YcWT?dFt@U&P%oDOF!`wuN}-SE{R#
z^flopVoY6wCb3lH-ULtF`8IfW;pmLBpZCDJchBNaiC^iK_ppCE`;Ub>g{_O%!*FRM
zq0T;cEzOLNz$ITUEiDBOywi$5?6r2VIz{z)>=C*bAP;hXe`JF(O-Ox6Fd5`yU;7rI
zlE*gFM>^aAXB!35@~NPd-gJ@MBz278yot}&riPwD3QCqg8TpU#Dq;^!Dx5O-&`z7b
zkjf*M>FUncBqt~5+OEN4;1w128EqUhLBA0eH-WvoBz9<ynchw}Rn4AKezieIm7AJm
zT5MFk)&)hSK=XK|yy~}wOFib^=zcf>9ln`sQ7vDZw3M!}IaR*~KZ2jhCBE&c`sQFh
z`82>h67_&Na5CVtU`anm(rUAfN?sJLQ&Ws^OiUFiZDC_VL7}pIs!d0ZtbaaXOAnW4
z-kkM-Ptyy=bBDCXoO@pFH^HetQS7JmXQOxcaW#Fj(b;dkuU<&3ZgnDw9oCbxKZJN^
zBdj+EJK`&%dFxXm>C>khJTJeB^Ifgx9a}u68A)+BP2=hJH)$z?U(HD<#;D@lK_D&G
z?4GDJjQ~Cj!KnPv#A|aJlp(*?%NJ4F%NcmTxtfDLvOL!@arezFt;XA{Z>hMNKfqpz
zIwAC%VEHJAb9L^61om#&tZ6jPAvegU2TOEo^Ia;uJLa__^p%*AuUr>J_l81elNVE%
zZ-so+8fXEMo{0C-^mms?9-U~S&xB0D!};NQ56oebW61ymtj9JPjn*P{8^T}TK}%RQ
zp2Vie36=hQ9H`R9x&b2dNm$+fUl#S6m(mbzY+!&_I>@SDEYv~|R|{|Ko|L{DwI(aD
zC}Yp28pMPKc=1!P0D_M0n+X!1c~qK7FHb8;9%DbONCv4z5#wagXTH7GbC7X1r}uc_
zFem$J;Hz8#)*r6(Ul>Dh-LHNN5ZugrFw}6Xjt(0^6A+T45VQdQu@>9EF1xdrHe);H
zC*|In>xIfcH;I0JF6>rGD)570jUVohd~Gxkk0GlE`E4)z<&|Mvm8VY9diC|;7+~mi
zW#n++DHs1=QOH&O?E_2rX!*@tN<vU@SlF?W?1dEbn;7-bLA?;MxSVrT09kS+f0ehU
zBwcNV_njY<0O1fDa_f0K4%Jw~>fWhWV2kCj@Ompl$SKSs(a5jd>XOd=1$6v5=uR;)
zg=4YUtP|urlhKZ3e3!veLPCN8VWINzpx&Y^ygBgzSR_>`oGp{~n;SD3*H@)g9L0WZ
zNXA@j0h=wBvI9cO+$L1Z@1r;#Klv4N=pKD6vg=62U@%$jr9n^mu$K&F7wS0;Fl6?M
z;7%Yc^^^wV2q^uXu%EuGs+gzaFCix;)K9vgGU%}}U$=g>Nm}ml$j5y&0>T73Qu(Ry
zR@2|M{^mqrh51vm!cSQMX$*>jCG={D83xMD^uOXoe<{qXskwNTuiZ8&YBNXS<>|2@
zk6$)pyWhW*YA=C!<-VFeKqv3%$Kq!S7b@Nn!}!)=$Y;(%cy)?%0B65CMSe#~(q?P9
zcb`31em!ra=ZUyO_sWAO;`P|G@1<mZW!aCHsHRH>eGQIv`?1uq>gjnkt!3#_85Q9x
zPF1IHvt01thiZY7*1REl>SNC?qO-5Ao&7dA$R700b6>t~-v`IS_h~%8&_(LypQ(}B
zSqu4ZGQO9&rEjdZ`Q`RbQ1QIcEfxx;N3TJSW%q(jZs8iJBD~n-tl1^~larHG*pPBd
zH&ZRfXc@voM{WjINUmO*{vP$quCAYR84ltxTm@;=UF6cGo5k{>^n;tTo>rS{WZLZ9
zTp_9H_q7~^c4ONv&x^ilS`L&`kw#GQL#V&#$ww*S)c?9Z9Y#lQ^5LGwD`dj2D&#E_
zWthzDrPzyiRV|IA!(CR#V${0RiswMGC~w5~yR}6%L^^Ke*zLR)&1{|f`WEFq-xQux
zD$(&4dmVampVboNYJ1Qoj8i2bxL%3wFfQHRTJI=8(flSAZAIayTfs(^sK#XgBcoVl
zJoM4*ZNY@RYV)mym}-648^5hp1F(H;78DTUx(~JU<UuuGPx#$g{X-jD%hdr0r>a$J
zCRWx^(t5hzT6%qfNk--P0cn1}nc^O4e)(UJN0FP#^x@DmgEA7kd)3MpVMA!C(v<UI
z(s<rX&$BI+zEIYjue|=f<Pcax@2Q?8br99Yw2i`(bzf2ndngG@^YMm`oOnU2;B?tU
z;;h}=Ljt-)HJTtec{{RXz{5n2swDhZl4_!2acjPK!t-Ji5;1+Zz-w__e_<1ER2{*-
zIjLq~&b~Dlklp>vXp{_@)N{4)HXaUOQrAA~*|b>grI91O+!*CiI4>*-cLh+ovCGJU
zHC&FIsS_pTHm(Ao3V2^xdQA#WyJ<P&@a9j)F2Q_`<g(uiCh9{zONB{M=Wo1I(TA^n
za!Xuf$*eRnRvFEA0jR8@$$Y6Gi__Qw2)ZfOCK1+iHgE6?@a5U}t|OFyQwXNIP%n@#
z@9$YT!fI~xj*X2i8baF!kq4m&?=X7{i@IXa=eyRCWQfi-&A;>I@aiYVD&4YPhq8s^
zYM4;Q)4vpb^TZ{97ROK_LRr0EpyUYw3YG1A9t{Wzaklx4i)L>ns}V~*01gu`YF>nl
z)$vm0$&;@EVmK^YD$s%i(L?qOl!(%BGwBldz908d-vSvI`I-%s7z<fO7`_6bN|&V{
zHUW%JCY&GEo>p=0GsvDw4qfxlVVt?vKHi#edTOb9d%fCVdoL~R@6q}C85fWjny_l@
zW@D*6%hDjWjcGZ<Bl{7{0|tE~hW+>JSQkJ|bMX?#2+?obTLo3Z*+sOBQqxpX(GeJ3
zg%tQTl($Fg<lY-RSCexhDe<(WL(fl-zEnOIenhBL(R?8yroL)@_B2aX273-bZ%L0s
zl;prNv_~-1-8}O1L0PpdwH$K&dTpWoMRqs5igAo43St%@wKvSyu?y>X_jXtky3weB
z6~ubq;IXBN&*@3N<&#+Yz7l88Y-agc%rfpo6~ou0?Tv|_79!eGV<%znZ~0HEd_7{Z
z^69z!$zPF;;<BRijV#8!3Luei4BB*#fCXaO{I(WrkiKp0eq6maNr=ZCHa4I(-nVaG
zfprTr3<EFT098hG#cVmhM-MA2D@rZByW){`>0MlP$h?gGL$Ot#%e1@+``T3ZW*+BF
z2)JapHWsw;%DRmJPkJ~UM7!xVkzi!RUXq`l&NDne>sc+ME%Cv1tT9l#5WjUb{i;5?
z$1!bD;BHR^v*z+a<bcjtqqEP*X?MgMi?I>^gKU=!%PG2U+Su5n`b}A!;`5}1b(=<+
z4~;?K7&Wo?m!YL<+;VYonf7Y)HXk5z4iUMl+BCO+iWo}s(TBy6p%_xWPCV$V_ROO9
z+3d#~3Rj6Q?$O0OGJmaMvrL{0Y<wrWeP3(4_~(tJHGP*$clwta-68ZjCg|*?IfgH9
zS`()3F?9=l#eLhdC)doqIO=qakQv^c*V0PicNoP?+1uCmBqYiYK<cQ~#R+8J_3HE~
zL0xiDc!#zO^-|LaWZ=&NVp$KXzFo^Jd`w>t5CZKUxdCOGvz-JjG5fXT`=DB`@53#9
zP;CcLinvVUJGbwLLmq~Mz|Uyi5_c}f9B%g>x$oGeGv7@eKBX4qnRE*ugqt0fLqGiu
z-54t=@-RYBsA+R~P?+dFxXv|;iVk&+3ge@mT}mEwkY6rq)A024Oc4?<nV5$xxtm4X
z=`{r<_tZQG-CONw^}P#|DaZp8m!IoxfS7z#s6CZHGE$1kE64MlXMM~#=|24Pn=%cx
zFNv83o-{WvHc+P}Ilu+q?;uCxHc;+fqepj;-N)sEp6fyb&%vgV9{~gzX=&!p`$Wug
zu=!K_@#ff?7)nfil<!>OZ_!hfs^6o}u}0z8<`9kFag6)a8kulK_-3ve5^p9;nmn@k
zcdba3n=g)7Bk6Nm@9cg-#y(4U;qmMHDAbvK4I<2RwxqM)zWamf^&iU8UyN$<v%j`}
zQE_paT|B?AuUbo&%f)+<hvqtw-2UTEzp~&C>xiPf$|#=nE%Kxuvnj`(6D}Y(45`nB
z|4PEYe*Wzk_!7Ht_7=r&%l)(N9yO5M!zkG`{zPUPYlANZ+4mm!wa;I__&>MkE&C?A
z3lvmhL5j}Kc~HIxot^<vD@efYH}nb)7^m@QP%mC1e!cOCKcK3kW8ODw{KixLlXi6P
z?Uf~`d>?7T|B}i-$30^N<?igEJ2(Fz9$pCuP<i{nSbw?mKT&Hm7~}z0anqxke^~Sj
zH^^3ZkiyxVze(&bG5VX*0$7^+JmmHtr2h6hl;@}Ct=xZ=*Z-X4B|n6dfME#yVLvD1
z!G40}s&c~qU<R&NfGW$Fg`S`L!+!2Sj81-COxG`4{{<OxAs*bQ_RIS}><38pO$P7M
zN`dqrgjY`wgg0tmdg?zBW;>z}1~d@;7d8t+wLb{2i~|VIl$x>j7f|}OpL{A86zcyg
z^ZylPUehY9%+9MamY?&dsRsmFdr=zWj&UmnQ!)tLJd*?v=UC}Tm?k#L5VF9R$Nbs1
zSL$k(8@9H#9vq$8ZC|{U-a{ZpMt;327~09n$=Tk~!3ltZ-FNJh9bfqP@*}Mp%UOVj
z<A>O6wIGwb<ewnpdDYojxLRj;^83z@#c6+BShuuK_XYHJ5IdiipPfs<&XO-arXc0x
zayY#q|9EuPKlHTZ!g}gi3uB0-P>iEA%r%XDXZD%D>xROoR`2QjfaX|Hp3301UH3Lt
zztxpxfZ8^0P=yu-#3wP*i|PD0*Pas)uaIXhSX)~=J{G5?Upe<o_|;fbOg!U9*4;3(
zLVL6FVSdid{7*X9=pnIKKKdA9v2h3X;U4Tj#D!gy@#utY_i{t0_U6y`e{f*1#g7kx
z&)lh`{E_sB$e?~k95}H$^|{bLM8`*zUp0ZFj-0FCf+X>;CliWf_Pll~fB25;f;o8c
zDPg50o`1)jJtx#dLAbiEtikz*&~e6p{={o(^C$C5?5wO&Xp@pgAW^H{BD;K#EG8C~
zSAhD|Ffoa5etl8--L=>g*<Dc?II`U<&PwH^ehqRJPCX&8dw$L;3@#%C%b;r+{=QOa
zs4JAg*6_G9mg``|xuEK$`P+$U(t?Ftw<i~N^JcILg_nX#QR5*jr*WrD5RR;|UU&mh
zY=@D@@iKmvIdtdMISr@5>1dqLlP=GPTrw#4yHgA4o4p0Ck4HU<?cWs<R4|cvGX+9j
zw2uDKqemfQw#0X4=F`zDD=R~dji1yPkKXOhfuR(lsJkk*LR~K<co%i9Kjd`hFh<jW
zW$RkyK9p<6D6=C9E@6-iV~_FS0@~Tg&;p*8p%HXkD)^Ob&r<Pro|fcw+fmlmp%k^k
zw`+~Errbcl{;1=MI2u~?f)Xi^fvk<{k?(Eas_dO9U*CpKFhLxdDFWQGTEUrKmt#o+
z(YSKI&+J%Z@9b&^FJ_$>7(2o>1^(d0o9ZhJ69dh4(c1dc-}9B%*4FI1*H=c62P043
zy?Ylp79ERwvYG*DdHG=EX^30P&CPZ7(<e$xG!8wO#a<_lgmwnm7R#$3ZCPcOzvHFN
zjv+`5!z6j*S4Xnc3NE4LB^ndO0+1#45o?l-Xxvb@dXiYcY)ZK2r2r&b%VRwMqDw4f
zrooqY^>J`lALi?}n(K@9C4|}S^@k~@Z>o_c9rzR^P^oRLluyA;IAM#{PsL#dy_Gv=
zCu?R677fK?FS>3qz}|QkvYUwL<%6<;iHRvw`YNj6VZzIAwRcGML9?^7w+a*2lG6io
zjEnhR=S)sdztV{0-ruK-aXuE)bRD^?9Xc#$FV|79Ks;AS*UH;w1Ei%Asr#tjc4fC+
z1B+D#>^tN<Zv!b`E-R~K=Ny+qUBN_7qUB}8j|_*pDpd*=zAXy}GLPFguU6EJJ5-xv
z)zC;_uzIbMhlm?6cD<-2*OG$4m`O`ZKX%Zz#X1$7J*r6KiG3GIJM^w6{o9swP;#Ma
zZZdq3rFHQC)}~axypeKiba%p4N?j^PRdSF%o5_mKev0i#*P&_M-&^Kp<8n37Lz!G9
zWy+-~Hw@`r?|DYanoXLvScrksE2+5CSQ|Up@cyi>aT(QacVlaf2)ReK+fa~FtT}Xs
z7!YW9@hn^=1kQt9_hrZ`kpM=cCln|dcN%DQ-y;fTP3M-!E1bp-&SbT(><wYI;sFv|
zM}TOt)6uZK7X()<G{Z9HGH<jsVL7=UyyMF)YdF$nr%b+|=yfw-cQ=xa3_#+x$Mlib
zN@QC$3yk|QhwYrssd!~~UOIiGW%3R<S@_HMDgL%K%j9HJ0Z~raalyDB?Iwk1wgS6*
z`yx1vdE&lYPnwvvb8VPbd1hXFIo|w&Xl@x<IyRZQtIliuHtTgB)D<Qaj@JbE7D`H2
zE^dEUikA<$TPkO>@OrxQv99E6x^fZEjG>@cPq$}u^Ej4oA9QRY7kno2*>l(Y<`<Sq
zMYh)e99=WaHo=xb6OmY$-f+&B;Y^Dh7pYwa(dpn+QSsrKNp4r2qvx7&c}||EduQX+
z2Zw~&GNhq+ARD&3*AGJuR6wCi+QdF2!*mhMOe3;6Za3HKx=xk|@k@!F2AiwvYTE&t
zx|DnC*UzF1B)~7Ca2ljuo+H#_cVd}<BCyTCZujrlZ8Qs38Y>XJCTpV;scFr_*PqEc
z8yM7x8i1#}A)OGMh_R(gft_&14mr%d9fvv6eh|2IxIkdHbU<;nGaA;A?1dG`z{ODQ
zto%}PcjaUM^_9nY_(+#I?rXITV8?TB4;|<<VxNc&a0gM}&_Rt9C_!Zeq|e>(n50zr
z77h%ixb^l7(Zs>f)z)0>NY=8|<sCRb8cMO?8)zG~52aR=;duhH)Non3?54G9!5L$*
z!n6`=r43qiamhKgB4EvF@@+plMkA(zf<Jut@beA7<at`5{()$Hz*=Y>Jc$j!ERa|-
z>9DAydd{yd4kK-`EE!NN!^&2{2`t@Pu*?q00K6_Y$Uv6`p)@`kw7d46|N7cLf({E7
zq@-|W6zAm$UtgS?b8*SLg}IU`gW?F1zY~|T|0(bc$n@^~Pnh19b6dD1yE0@)dUm$v
zfrAIF)|X~#uH3P1eZ$nxSz2AKP<mQ@#W%m4Utgj1p&%jbFYh~i^nb$p?l+KBp5Y!p
zz*Tw`I1NZMojP^Mx5!2AOG-(Jq^sDoTs3kp50V<_gYO7%tw<Nu4O+(t0d;nue31T(
zA&pcOTb~OUzXI&Tg1d7kAmMfclGK^qfaH)QAoeQ6${LC{q9$+$hMi<-;;KSWDZGha
zd?P0)6nV8oA=8gtw@nUhR$&Ohs;;3htUx7N*uvbLjYx;lewMg!(XqEEiz@h%vp)Mo
z_<z|%dk_NVl{XD@ZYJwk0l;wG%h>F_|29-g`ZJuk38*iqq44Gw=#3ZL`%$pq+D``s
z5`5KPd8b&1fw}REh-k!qEGkwI19A}37L5^<Lb;=00%TYd+m`%~fdN54uwOi{(4nUP
zl)pP9cruf{in?ok%~}fzoyFRa<SwZE4@eFnYbt`c*fM|eYt_F2CHQ2O6I6d2p-gnY
zdVnBd>^_ROq3Z9wa?__jfYmd8P$^%1@$Q{JKuTT#|7f#oZVw*lL)Ht3vYHuHo95TF
zrYq;d#8A}BJ-#L-PSir5GChw3IRJ2^0QCLbVLr2CiWc3J#Pi%XLF2W_g$HGbSQ*R}
zhF3wwY_}hSKpiF-@r8`tEL!udw;JMvws|t@QJXh9d%!5fNBfL%%Wbshx-DsS<n;<3
z+uv%jzG|&hR8^MHy6lYPDjSe*&lPQJ*5fvWYd(+0g#~mGB<ws|x?Xfg1O+E2pM_QX
zBIdYRg|0itq$><Px2@eIt$zHd=u+`2^G5oC5^;3D(-eCBGEkBgYbgFGffl{wkXq83
z&{?hLgl=g!*)&^h7%o~1oTNn~B^y5*6H8Y*gTStZo_GUHR<!nAeXv<z$aHtS=L*NS
zNsNSPHj=^1S+yvx)|hBd&g`%w=ZCYkgg)fyS{pUgYM%~${nTyU`aZ&^GIIPw{jjS|
zLmyAbIgqK*f|=E12hBq96mbOVGI3w_FTgnS_AkJA_%Fct)<eaF%AqcdwY{gusI0v5
z-V|B}gj>h5M?8sQS)w^=MZJ09IBC!8+p1;75}M9r&laAL4m>A_mH^ArIbcSHZ}0%?
zE<ZYpg}%7Ui4ZM(>NYR6qktgAl;vI*w7l^sh6!tb%mI_#m9CxMRi_FUlN?UaCq$Zv
zYZOY}Ing>3|Ajn1uN~LN5z>@!&KZE>qk@>?52;(-d4et7Io+h7!w^oqwu=+rwnDK#
zFu)+&aDOB{Xk&`lwWr=%_+&(QgoYKWf`3_I-7b9toDsF;d9tA#aJooKCD-igJe;&7
zo)~Z9P()Ham1TH3f)&dFokH$9bcO>@_JtwOxqa@ln)u6pC>EsrZNuBBRI*2Iq1Eu6
zAc=sDhuZ7O#SO#+jemPSNh=uFC!!f$2_Pl3W7W>Vwc@ncxPdrd03@GYiPu(r+V|@G
z4bUBxdwuI$>>0<vZm%gjHhc#bOKZA*xrdOdW>rY)Mw|t>rfbL~9ZxHWDrpT}<8(KM
za~?IwrUqDx))_MLOgex7p49BAtBa5to+((|p%{a&QmnpFEUKTNM0MSN-_7Z6&t@SP
zcY0p67-YTKCKWeZWl)2(IL4mS#HlktmTk<5ci!x6zt-ZUrGWZmCVPX2o3D>F)$wF;
z#ACJ}CVx%^`C$$#od^0zrRh*x>gQzeLhv^_t^mR~0S(_x=c9&x0KYkP4oa4E+fIdE
z&__#vGVDsF9(Ol9RT~6q>H`N^*fqxkOPX5Mpb)^zw`bICFP0;TF3_;9#u(X|380v*
z)92G&D7aXKFkMSBH2{2KC05Y_UYsxiCS$lmXa;1&qT&_e<iNvnJ*qlm-<Xn0$GN%m
z18hes@n|5mO^&U=59V4eIO~MI_QCdwA0scjw{)RB2tmn0gbQnZUNd52S{bT|uW&u8
zl;kwFvO<?I(}<NAgmG1QwIufRYkaNGLPBmcc6-WsDq-oSggfeT9&56e@N1@?et1H&
zV$pqbayJZ4@C6{sB=4QIb789^_|bvs`|1vUJJ!PptcQas!nP1proKziIITa&2}N8y
zExMqf+a&a0Tpyp>iNQ+iHiucRyOv#b5y@#K3-3uKByDej5u2m!xF$MZcsdf^;@IPG
zwREDG<mBB?=CLQ=Czx53n66HK;F&iR?x}9?5v-W$b}!$A$(A$QdsWP|+`7rHj3x`2
zq|9g(_AIn4z<0voGZ0wRpL6vJSZPEgA^xd{tU*1LLpB`oAOFx8{#i2b$6}mJ!zma!
z-_mvpEi14oi0NQ!dZ(>ldP9a37*smmoqY`Z)vL?I21K?iASPhq;xH}JC27@Zo`rR1
z(VNNFa>(jt>I^C&mg=aM>(N}RKLU2@MRf`&ZZ$R<JBzc~I%TtH_$<cB<&{Og2sdDd
zY_PEwXiH`$|6T)t?krqjNKCYs#LRFEg_LN`#z|{B4+sO7C3JO8J9d`|f_=ry9kZLE
zvAP3%@G^i6T*@aLqYJni+T@|MrK_^H-dhx9VAu`Mo>z1;8B-sQ@0s>$Nw9p8vvyOY
zh-AnXy%mkKLt1qJv?{~~cX|>3>Ja0olV(;4qd{O*@B4r@H?XDxSQBCI5dHP9Bd(-l
z*moR{1~^{$QH>&4V+5DNI+XtuX{pW-TLKMXFarAPz81$Q&LC&=!U=KDh>HdIyA9vk
zO}uWdnZVQKqO}q-zRiK2m=ZMtfe1H#9uV+k{R>|3>VTQjamUZicWc^BJdvQVLbk_o
z=kJ<T(H?a#wH>o!`)`|-o4^Q>E^eHSud=+n+|tEG_k;5wn<=j))J{R%Szlj&QsMuU
zxF^Jx-=o6?3-%DU!rA-$nYiAqT~7*9eu>ZB@uW-tZBH7%DFM=tvy!wkP8L?;lmM6*
zN(JMWiR0M5J`?%4%ROg}yEs8=bOSXVLnhYPVQ1;SxQZwRkRXve>G8j3#Vk!4X(q2a
zt8FqSaNW6P{6`oBc(Y>!U>sl=OIWy04olFVJkJhI8eY?VVRX8u8Yj)ACYNN~cN{pl
zgCF{)^R5)=?}mSs--&75e@Q`tvuXHCh!vRYQ>ug&T5F7*f2iSFxHGf>nu}nnrod(B
zQ^8n!nx@r{0;{nxYXv1J3UuE_m)v>wzj3?BhXK_(9-f{}fTp_k96be4VD`5VFMtB&
zsj+J-&%^-+V&B0)wq!R#KV-{jwwTm)wb+}4aOsx<feZ~VRpQeGG!}L@ax$D^0r$c-
zDykS~FZ-?EP%2_&T-@8-jfaUdTOP_%Q31e(mmk&@Ofhz_IN$m+Dab1XHC#OJ!I=I=
zeE&c{P&9=>4Hrqvqu2hxHhuxKG{M7Rg8YAKxb)N7{`exMrlw{EjM8JKm%cyl!Pgf|
zHP0^NX*=b2fZxYV&%>Er0+<1LL?IV;9S)Hg0mbIA>mo%g?475_BBG=tM^y`LZp&h&
zY2{GvdHk<#m$E1AFu;1CbVv#`Tzw1gshg<C8p&Iq!vgLA-82+0mxr@W&?d^rYmlmN
zyl(nLnI&x-^0LW^=R!A929vq2`Czd9(J)<SeWJZ%_gzhHzUR-MTY^cMnuCg^x)`&>
ztxkKuWY^5-ywgr#?r#^<wwYqZCFw+`!r6&Aok8R8yJg1Zk0uzhgH4gis%53q46x(G
z)G|cb8Q7cdPp8okb>$Ljn-GO4+mV|W&!b8|4r4$rvTBC3SpgGsj~%$1GVMk7AeYst
zx=Sa>a~SIb8c#%xoNE{&5LnWII*K4^#I8I{DFZwfE<@hbp)gSr0(o6ozd#=A->l&A
zzd&Brn&<TQvmgK&5Ni1aFtzLR4H4kI2~pBmmTq`me?amsq62baj2YlKGMpe*BFxAY
z(qa5C#hnALaypk5U05I-1F`65h=5tsQOP#d#oV=<FM}u&p+fI_uYh=S<(I!_Xs36m
zsf6GWm3reDxGwwf{qr8iuac4S=jqs;L4IfGJlz%G;5fecPDg+8=~Fgql$!PfPtSwJ
zABv0jtEvAd>JL<0pohR|pl0z|sQ~2rvoKw`;lH;1G<j_0Esi$^61{5KXtDOwBPavk
zUR|LI@A>VWydVJR3?7uh)eJU-g(?Z;DS|n56>I??+MNk%&2GpDkezl@jtwj=q1O49
zftE@H74mE`Zo2NB#kCtWqC1=)G?8fM>`cSW^}xDKT&_jA$MeAh%ASI6WTz9gcKs=7
zCA0e)9^+~MG6Bw`f^`Rh@-2bUN;aO$bLTKUj$Y_^?)qaOWE*1N{qN8!;uL7n*DsSN
z*F{iJ6})Ue*AijmT%_H#E|R~b8k+(zl%})hxUG{I!1G*3jCry=^T^f;5}SdCJ?F0_
zyw13{OZ@fi5`RufqBh#F4}W8|U>*=K__;uZU0HaY2UHKp3;#F{wx2hqvOCB{si;xs
zbfcB0@YYTvBKQi0*S1R0RjRHOVpAZ*<PK!lNNSp6u+j#^rq8{nt-|o((t;Sl*pxEB
zIvoucuuaIoVY=ftzjt!-k$g_c%_!R>4adb->az9<U?5^@*CR|sN=T}J%2BFZj60pF
zS8SUAaZ6>HJCfj_+mVEbGCBGUAf*^u-T)!A3QPgZVax1lKi%MOU-+s|<On_#uQzLl
zkC)a<?uq;Mj<NZLgA+#E`fW@5>6Sa0ZC4X)L1l3cq;S9zFnpHDD+^~f2<Z-juz5Uu
z2YreFdJk|AqWaDayF8i~S(VTn!3G`6SP&D=k|CkF>rrfDiSOinzXERWX(dUUogCL^
zPGCMMk8rU2I%3vTNKY_hEnb@Wz;pX%lc*D>Pp4nPY~n)&i_?#*7EO`_f}Rj8lP9lC
z&-efEphMa-8SbB-nh+nTC+8v;Go}gMGG-8^SFw?s*x2uc=`e88arm)Xv1zbYPS&1a
z8(1qMNBMfeAj`|G99LaUh8#C!{9WP>BD=Pu-^Qa|CaycInj56r!c;ZL)(kbBxejKv
zTz6^`$dJrZD@)IGhH%+O&K+E4Z&u5Zi!_;dYx1xHVL5b>-yJ2DLx!D-=VH<o(pb8U
zg^tVce{@`VJ#2S3!<+31?sK2Ml=em7XVkIpzM(7s=gg=E%$PjhfDoDV4k9xo2wsh3
z(YrmvO4T>KU-P-T9WW`m2susTSDJ<e6XKGMG*I+57Lz3JL>9~4$YPy=i`b=h7C}&n
zJtx=5(#2T}3O6ZT$7oj*YbA`HT%(*IVgqrx!xcF{g~vzK)F}M`*Kb^EP~bAcf#vL3
zB9UhHz=<k$$7{>w*#a2CY-z*kUAG+^y{+!($s5z@A*-DNRNACUP=Sg$ExDcAI+kK#
zE66sADXV03ho>H|gr~S$Yal_gP)A4O)Q{=Mr|sr5q^pkRAgG`*`=_9LHel*T<idsH
z8@3nWy{cfQc{t^KXDwhT3fl{I!bMWlypr2nQ(ZrPgt=Ra>^CUMUU9pjvr|NI@1!iN
z=XgP>9Zp^f%BryTlx97->)C0N5&OEV&+kV0l>Ux(9liln>Xw|c+;Wk}j4_xwQ-WbE
z8&1Hge7wA*W`oSrFYBznmT>GX<>rl>VJ)dPL>F2Hc0L8El=DYn>XkCfa{#xbZ2Ywa
zna#hjSIuw^tT1)qq-^@gPN7~D{1M-kZ8h}i+1P-vS-Cy{QikSX-jAW|I>4BPY>MfY
zh5+2+Sl4N^s3!cCRF;~3F-g_+ZLh%Chvvud6!_RLCQd1!7Kn?J?^7n}4jUXFaHWv+
zp+3G-bl37Vygrn(H>P!Y4QwsO^^Gkf01ZhB?3NVXq0leT?gEe>$#AIPRtd3g&6YH_
zi6-sj8vCixQN?0dqhsuTvMQN(d44k97tn7{tt|dPlYvY@XFEkp|3y{ieztc*g?4nf
znapj9NFJ?dSb}$BV&Qn>^lX{yTqN@44Ww5t=|RhL%=iB|mIGCOXObW)uI+x)1H1vj
zh&wLh8;Z?j*(LP@jo%E16#nhV7=4?Zg|@=%YPjQXW7i;4?L53}5Dav_cEkWX`8{J}
zEb;V{q;&SpdtS@!$ok0f>4Yg}zlSrfOf1a2HnOA!wT6ykQu&q5zuhVOyHj0ERdf$^
z=Qq|5t+B)Uz2_C;`^EZw&-7%-?C~kKWdN*aF@rvFZAC<h9H)js_p&>07Wez~B#jn$
z`kI8vO^=pW+=r3wphLgnO0+F-7F$W0RwL2wV?Gn|i)7btI5l-lPifQ7b(x`N1cB57
zTAhT6#omJE2zqBp`9qBQ@ha@CUnX|^nR0J5aXkz<TRX9+MGj=Za=LRj%*5|+@y8?F
zN||XfRt%cXM%mzNcK{NK!itHW2AzEctpZ*)=QZ0ex{BXa_+W{;V{5D4ooB&b85?k<
zvu|ulr}S*EivmI(_*%b^73e=xZ{H+iQ7}LaclGLGmayYDCY;7*w>jbIfb^X3F7j;r
z;=Ez{9&Txw4w||#U*+LO{js8bRz2Ufr~1k-UfLXa-sfwwcGnM)7Il=Grm;_9-o9)D
zW7Igb&VHkK0PO<v`D(r{*3L7A#?{s;7u>ErfMBky;<p$nm(TP|>Cf<NXDLrIv{5SH
z1dt40+Y%7c!D&461V7-rqQ2wZXC76?aQ0r6sP`5`b#1OpMp`e=AM5E=M~*9!g)~!G
zK%zmAqG19Uv(UBI9tpNiKuNXY#+^({I`L;gnvQfW$`LhvLf%1l7-RQ{JNNEggTvvE
zQ&>r040*(WSR?JVU<m@@VZ3Tl)LV~TSQ?dmHwIC(t8xl`V(=0~cG6;dIzAL@#dL(p
ziPmH6yZD&A+i%VttYDk@`PJNy*4x{=>26*gvX8wKCcl_KQ*S}6IM1T#ag?S$UdSuc
zhoD>?eq}L{<;U~!B`nX_%;TASwe;qAN#P~&T+qKKzpg-V;sU!@E9!Oyf~M(`;a;1p
z{W3)>h@V-i*`=)x?}3<0!-btHZnjP>Nvs0tS=tTw%Y#{-Fy=8A>E+3klIA;8GxnWz
zVD7+;6GF>aRO@@cUeJNkPkNPNl`zB{H(xnLM_;imju2Z>F0QDM$;d~e1uqRNZ3lKW
z1h=+o$BNmt(`_%zrn|rY2lG0V&I|!4J=%@fX@q102C$103{*&Osj;}c*;rn+h)y!~
zd*-uR7h_xG+E;Zq-e;6RjBcx*I5_66&M-5Yt>&8TJci|nOurTlu3LTYDaGsg4fbb9
z#wl+WM(hX7qTchYp637zW_TWdzT4E;3uvn*TD0;rh$|zjk!(FagBCDQzhPOiY7^+2
z*RQ;FN0ot;(AD4ja$aq-a5!N?`iYW#%{I5BchZ{hMDGI;j(%tsWaDD`MC0VOml7(3
zN|LVMX3BfeGb>$smfNEMA7MsaDFnyLc7F@NE?DQjF*(q|)`_gU&6rrFBIMJso+aR1
zKC-;9s9**&XOBti{x0L3)N?pd25ua3<kT{Ak7I_yb)Ml+TQe<K!(&UeB8{(V>t{@l
z3*yo6or_ew96)!VOKP}74*97dt<?Za3;NH_QGoviDhqu<1G>nkL0WG?Q#1K>D)8gH
zaz#(2GHm1lWz7!9uBn+=#mgh$@9igA6KXh7?&fae&9uuYeowo<J?B0D_um3=&`w8&
z{$;&vprXj!+QGQBF!SY4l1=vmwjy(bi}E(+M#ikTLOd3_Qp(6hQO4*6@my&@pi1IH
z$91=JEdO%K;<L~ZSf37U@6dLSK(PfHUAku>wrP`AE{=6xwcxFkF2=wKjTH$=lN6B$
zJ!!}d#Y-eCH}tl19!`|C-g;>~SN#smQcUzt($dW$iyPqsqtEci9n*Arn|9qyNIyv;
zB-Ph$)VD#jHIm-bj6G;>vNvEfy2AP8-D6Vc3vf0=iE2(UGVB{6Ik>qD*#i8YAMd@;
z&9ezc<(pF+u^okq49z%A?T7d&YKy{sX&t&BX1{Zp1i&B9d-;&&>t{=-@6onoYURC>
zeed|*M@5fQh$gpO&9Hw<?T5&Fy|oX{FSXK+ylBPu-xyzNr4jLHoeWoAk}n^X<(Z?|
z&I|Vx^&1o@wEQB|ocP!D*7Tv9Rm8ruuL<GO_dU1SfF_Aalt#wZ`6N~TE1-;O@dt?C
zm@{raxui90G#}D%=VXc_9$;CSU*iG(fIMzD4X_5YIff3G$#$-%kVed9Ncl;XA2wTi
z3S4J4!+DL&mIaBR<DgRN^hIY(MqxW*V`ht<HtE(-_+%DSNAFl_y1YrN)EIru{);Il
zp4HKL>rLVX(>6(2{rcux^TaC7wUOTNgKy5nn64Dxx)`Qe`=WI+sBX$pbTl@kEj%Xi
zej>}(tMsUnuU;{d(TQS<%Pk_BhLyGVR^RN5g?$WrG`3!4X5Y`0N$0st^at*@rQwnW
zWuc<$0LXN)Ko%yBg6aAZrq$UXw^R?6?_FWqmy}2)Mm`o~BvWFR$Nw|2r#H0EoXAXB
zyoMqSRN0f=`pg(grc>04@Bw%SE8C^DBG)9u0)IAY@WDDUyZa0J6ics==Ahs6jXoRP
zaRm+94m;b4V`WRx*<+4L@Mi)QYaIr`s_q8v5AR$-_gsy5QOl{kP^f^gFkj!AP!*AA
z9RDCWvfMJ0%|KHkr@_!u(uFHtYTLogihHL{y!RQ@k(^rTe<@v8lD>ukt@)}gTwO^Q
zWXQ(ifb6tC1}quN3}zCl-95OF(1BA`*&T0y`G(|i_-7SUH-Z7g{{LqM8kZ&cjxx2&
zBdoa^$I+)PTb|c(5cn89<f=5c$Q{lvz1g-*#@;O~6tz3*6N=jqMCFA63*U1b_w#<#
zUq$Y(tCh<_>Zr<nN-;lTbJV+zeE-MJGR$aYFnKV`2tq_>1?@hk-RU{?0Ez|kFxw7|
zm_$$<q)6!^;GeS+1PX7$jf}4QQG;XP%|U!bTj*^VYWissSM2Tcih(tnRiG?Q;sBuB
zm%^wN<N$AdA%T(RM};n4bz_a&57t0ab)`4lmNmB<OO&?CY9^TRB6ETgx9(3Umoz?>
z^6q-E66CxU(7#gRz}dHKOMK<$)ll7dTSv;cyw9fTd#*-%*T8uh)elYR<$lP79ajkm
z$t!C<KC9JD^8rbGI_3{=y*IZg43J;7a~&$%HZNaleDM>`V6m2jYzQ0jcdfolBL~y=
z>UDcE#;Po1iL@K2aWFM{TK3s$`gMLlB`J2I>0&?vZ@{cy>I3)Y6LO8pc?QW$escsX
z*9m36^F+<0(ih%seplbiAE|a8lIFafbn{dj(buqY1V6kxmh4ZW0zRCcBvHnB-DUwJ
zHX8&?JCu&g=;n?WL#65e#*5cfu9%pZxa3A|-5ypfdpr9f6@Kv8z<9R%CYlW^0NlYI
zk%0@Q!pB=XVZK?7seHMsW11r(6l1<P#N)T(WZ7|homDWVax8nSA+#l4vZ)(wVzpMp
z)ZSN^F7T!T`NqAmX-w3}M={!Bu}poi8s~k(3w7C|a9wWdjFi>9Xj3Fj7LATR%f=|@
zSd`6{=Ffb<UH+7S%?gQzHGP`{m$8<ORF+bh23LcT>OIZoup(Q%9~Q{0Z$4{o?L%$h
zZGPLz3nPSTrYVBR+Sai$7C6p0Ww50_OqLOF&e;`UR)&GRq@uJ-wu0-0XNY5g9&hrm
z6BDDRL8MEPE`6B{+<~Y|Wv&Cb5<|~0&`CDBP0s;YSg;7Q5EKWUZl2<`#b>g|p+Tk%
z{NB^U7$hw#%d)X2-IEf_$yao?H!!wlFJx=IIro)xQ{1~368kFN+IM`YK^qYIg9D5P
zc$90OIO)B+mdL?gIk&LDb;V1$IkKd3c(Y*e(-TgUEsyP%8rOaYL&;Ktj*4^?gZ)%g
zQx-LnQtfJ~eBAuz_Quq$2#yVzp$`G<F|x}o3$LyOJT;2St;v_+{KSG)^%yUE1iBpq
za?rF*3D4n1D9eG-Rt*X-VYQ->7g6x#97{E~w`-j>&yETLmkPK#2M-3AyW9;#2F&5?
z<1o-yF?xk{fwG@x?I#MQ8_0}rre<blHG<3~P?O`071ZR|4BcsR9G}EEnJE|LBD+9d
zfLx5G%jBXGqN7o+<blc+t3HYE7G+tLK1NeTFI~KirwreDw+sqbX3Z|9(8!y!@eOcy
z7JIW*X_3gx%W(!;V=B+s(sXt5Oxa-Gd4)7=$V<2Ki!`Q;S<*5;&k<ErP8xr!K*+8v
zS2Q`yns|B7vD^-`ZIaoW2pSxQoI4<H-zDDNvHw#CchE@~XM{%2&WYi44|QJeB(vBv
zfUq7{1Qvm&ZF#(AVxzXO;~w_+QXSX8w9Se8zfaqUrLv)LzZxng5@JVyY>hbqE%5kZ
zdX$OIX2w04=Uex+0vjFSash~>2Z~<g1~s|tjs6J@ou28yYdRg@I3Ew27t#*V9g#V3
zkbsYBs{j68AZ~qhAu0;_-TA&thS?ZV<xO>Nd{>!`Wk-FkU;p7t{MF9&K$C(jP;itH
zIrLZUc!3itA&d(@QiT>quz~`LZg?JV9s8xdFT3>RAwVp;GXiIQKJ2Yf4BDSdLUUA*
zSp(V+z6SMdUUbo|ICZ!Y83k7A*k5W!3xtCq?4Ft2iBE)~x!s1%XZOoR_cuF!PvIG3
z?!)a@L<$^iyb8CHw+T%|K4C)S{Ad-FzRhAVLc_}oqPR1RnDN?hcRRt#^@7FGUizL_
zGY{HFD%e*MEj`n2!aiB|`U`S%{8rtzV7R5M?W|1UBbqu9u9?lH!1PDg*(>DlQG4;U
z(EhlcuphKz@InwTf+4&bEYJ#J6pp6nH>6xo5_d4X;NM+vq5mR8(tJMt_lQuX)$b!h
z0GEE9$&Mlv?1)H^$pi|2f7H9iFzY`fLQ0ME-GBoQb`in64oF-Z>Nt)@4n7py1#}1W
z6%xxkrezZQ5q%N{S7PNH%)83xbH9bSY~jJgCedjN_St?RwZS~{SZ+sWJN7cTt><Kh
zR(qw1esO;*P!bi|XO!X&h7`LtA>t4&dFSH{R2zf54W^l!XdR`e+T9widVs=52YItN
z5(-B6tN1)65VHsPfyt5ig9q(FTb$KGYo-{g5gm+1OVZNl=zVE3IsAG3LlN7TjB6Y<
z0E_E4nKxKe{@`Mhnw8d+4f$)`RV1<j-@X{I<(qf!N7auRloise{=3MfT`B%GaRl{U
zhrksWl#8<Q#^X=v2Br20(9nJL%4D`m$*GE<la{0qY<|kEXQbkd7B}1C%ZqexPd(lN
zR69Xt2T;F+?)22(7WB}Arz%^;4~SN~8gwlL%jCsqR?R!X%EoK59E-u<ZxJylmxfy|
zc2gH~W#+aif7L(o?q7{C{o}T)DqkiiGwuzPi<cTcGuJOPU+l_qdjBB(8JLUT?`i!S
zT#$B=H^{DZudez*D+oqXsokzd$n;m^+$@MLOW}0^V@n5}!oGWWJZP#qvP9GUtQc-|
zjMW=cFmtea&0`fnNxCT`2PNSxuemC<dhEfZGZSwX4#Sor+v+|2R-^ptd9)4-F{ktx
z*^%P9wBZ<IO#L-EjQ!R+zjI8sAJR$|B6x~Yl7zS21|&z<tGA4$?v4pwA1R%bvb#@>
zwfEDM!_VNczM(iH(D(wQ)WsTwrJH|^;j4a}Kn!-huq~!REq7%d+sw6(I!DDgC=Jb{
zq~Y36-yZ(T;)Oo*1B_+Oh@@@GHLW_lQ^jc$;=fEGFp)0#qz_qiW5c8t_`OvSwov-p
zfgK^#5^E`KYBFMCT!fxH8hQOs$H|A6*KTBk@d|mwhM5FABqVpH{uG_)t7sD^(&UI)
z?B;ky9wWwDxirC}dGTsql0;^wbW3r`)+LXKJMg}vQsdtuA8Q0Xb4wHuP4{RxyUs2Y
z!Z1Bj{#71-I-KZWNDbzJnDNzKEsS?~&c6eU0)RPE^`+b90gaL4vw}w^rUhrCGr^_&
zNUeB@{YJOKs7;JvA)5U}FjKP$!|M@UHbc!#AZoneZSTA#6)|L|AbG1!$&4WeI9w^}
zrNOS-)-B4<ju7py6fwA$vp}O!nwT`nPb$C@be*{>(!fl;yqfuhd~fOx&_=-@bt5&f
zbxRVwG<o;{2{MH6mSsod%&+jACt0L>1H#0wraOgi4fN?1PLeIUE6U5Wz8k{{tv(xO
zyuXQv%XnsFgf(U}#Av%_reI^Gd8F;wmM-%2di8*Jh|gG-W|Q&qsJIPA!`!pg<O=fZ
zH-Xa<_YQHFSi8?oaf!35Y37NhQpa$&;fvReaOYwyR>S!kLUjBR-ncDfTjf1l7aMaw
zT~~o4BGcH&$7&r&y_W%_9kIVFj7RgK#jja4gn}tQs>?SJrzVrQe4pLVh#ys)(J?kR
zuNr$3FNmS#&MF2ZD<?R4trSUWL3$a>-QqOmsAuy!MQ7=KRczbtoq)KX7O`ZDcc;Zw
zvguCXGq<njEI;Ua7qCqTXU;Z6ALizlmXZ0w%HRyfQNSE2WGG$Dy-@#~oZGxrk3TqC
z;#VbIKe<&>*DNHpHFx82Lq=)-_F#oCKm2~9OU2Lr<$8j}+|t|DDy<3&(V>~Bwg8XW
zz?}A=3#sDm+mpS{U#xv*emKwj4jePGe6Y&LgkLkR1_Mh70dhvk_&h=og@Z1x*hgAo
z5j*#Lz!=C%713cPkO2@g8n`+zALIZ7oP<bzrwN?%n!W?X^A>=S)nktJ1Qsj`Qa!kv
zVlWsiQARJ*)gcS+0jB||wvwVDTH5fWQ8v(!rfc`6!Nf3Oi$nuU5O)O=63hM|)23>x
z#6Q(Eb()}CK9!y)z7+MN`r+8Q8m!3e!APV}bdgp90}FFHfxm7mxq6T;x`}Njp(gxf
zdAnp&Z)i3Ln~2@=9dy55{;S;Z{B`5w#Uz^U`oK!39!GP!ALw|NOv_1?`?!D3%BlnU
zw45+qFsxfn^EaI`xQsxvVo~tVG7amOz_1KB3z+zdhHE-M4YG&&(dr&xRz8{9D*<#$
zD$+`<5;98gCRk(F-Rld*e_vlf4O5}q8QWe|sQ-ip&)i;v!84{eCr}k232veb-d+=M
zOTi6ITU6k0EX2p7)NV{te&J7Y^Y4uoeq$`PL?i3r`F>!Nn0b(e(bV)t4B|BnktL#n
zt-Q;fhK)z()A%w;E63d1vSl;8W$1-`UY~!>jB6Wb$raiD%deA7CfN8fv}pKEyq<H*
zh-hMWS(in;GlM>m?eW0BIk5NeJOh10NTuk4o83VVQ?3b+qj87mx{N_jCwv-A;VZ{?
z5h>$X8~ouW-9hl|DthYmkZgJ?x#i4>lT);G#ap}&{61zKbBxAC!wOz`%etGp50s29
zu<KjY4xLL+;8|QYJ^7~A$YI*^D2=Lz9Ol9OtEpygo6DAjj|{0tQoAl@$vSer!A`iZ
zSD5(m^&MExUJ7{uk~1q5kg`4zauhLohy*jF_l@X+7Zs<Np&a><lI!F0JYES5h5)b2
z=FhAC3Yw>83U&{&(>x#OObNrR!NggTiU-RPQN3hO!@papTS_4kn$ArEu*QVc)~?e=
zjR7&3lm`x2Pkr}6&ze08e%fAI7o-gGTK6qW$+j<t9o)X|-t#i>Op!~EvR{-AVqHPm
zVI$EnaX6naKakf_ii<-G?mwt1@k~?#K7d=EoLSiR^?;>Tn`G2o5x?!Ml8q4DaVSR+
zQ<q!9Rbqb4u3USt*M~jNcR#QJAn>lJ9*euchjNp|%DdWS%F{_P0)=3#N{2%xjEvN1
z({6pP(J!@H{M5;Nj6J-VG(^sIerUE*)|dEMW_o0?e<nM++p$LgT*LSf%^gZkN$U&B
zHC?<FW#G5X0J?A$M?;+=nM8Z7>gFEZJ3Sc_U^K{6((nFcV>UV|hMOY``3QT&wrawi
zJtp(Uy8}HEnMM;zX+gp9#I?I#gQrV!BHMhItH&JkDoZPK7lPI{C(E51ZK@V6MD*{g
zJh$f;ZiW4*E^+v9Z_>oX9I?#lN6oF@$bVVqfrYf*{W@jIn4agN<-L3sCPE`tgH<=5
zt7Q@S3JM?W(d#L>XFC7cQD?#UK7wDMDa5IwX(qbqaWIdQcZ2}Fp*!P%uYFMe5?7gn
z*SlhzRrVO@Ku;GxFx~0UaeZUnJBujq#tke5k>qFXm#pq&mXLA{EYM_-iipNcBi$zO
zx*6dX_h=A~IxJs`=Y6`SU#dLnz<Tk2@%GkXQLbD6_!dPrp{Pg+f=Y>`bc3QGA}P`-
z9V6W(ASERrp)^Pc(lCIOfaCxp(hLk8(ls>ryPrY#+1Gi`dC#}r-~Pkv+RV)J+_CO;
zuk~4<wbtZ-@O7?Be~UNs#EprKim}v=x%J;1d7Q!%cUZC89>O7XmlUyIO5SdYcJ%K|
zDpv%BVkr953%lnN_wH9sk?Y0w6nj(4Y~`nT-BT^}Ryo;!xb`-iRft}oWMbp{tG4%Y
z5$%O9s+7Gvd!KEt=N@*rl6Se69C?m4&4K_OZA?AdIYYz{Igj`fzVf}NPTDm=tS5B0
zpeCbc6&+K7@b)~uFSuHijqt4sdBDU4g{~T$x=yy~lIg^&C##Do^)RD^AM8hx?<Kvr
z#T>+JqDTkZ6bgTO(N8xD9=7FPU_l)A)v&C7)+O5!c?c(d5iOYc^A5^Imjx5Q<kg7&
z912`(H@XWTME3~jg-lj6r^VC!(IRAHa3kTdRVh&K8Pn#!v^$+(lo=ZkOQw&!9G(RH
zN@?VG0J`(y4P0}uC}?SVpo%=szXBDwMhB3ggVp+&&wjg}x!OAgYi-LKTfSO+=498A
zZjLlNZ!>0}nV#tF&mqOggS}usB0P`ZseU$jxJx5iVvaayd*DMNK3!QlBRcQ-q}!wS
za>>$$cMV)@?<e}sL20FfWgkb){9`6!8U>Ll%FRP9uge<F^Gy{&CuYKvAG4(y@9gL~
z<Rl(;^0)1JZOuNSjZ@;dmP^UMYaP_(a%7N=a7R|F=pL<-+@c)cXjcPOFjl>5JXY$x
zu51kW1LsyWAVyOM-j{)X-&&D|&O!4_U(xvo2a~f0f8Dd@fb=Ey>QhtG^$r76pK7n~
z3#zhf3(4R0N;+TsND>QP7HHA?c2ju2CVGJ|6$*hkqmR#!tu8}cOy-9P;LeC;ot0W5
zT8a=_cd43T(~B{t-81HtNkcVG59i3&F3e3HUZ;YyijNC&Q72|y7Mr@yFQ4>XRcLDJ
z*8X}zJ*#LY-HmX;nHjqjDTQvKS>wzM#@q<~pr!ee`h~ZH9mTvmY1!`=e%!F7)bpJ4
z-wcoQd<2Xk4epE`%WdIFy9Ggqurkd+VD5xZYg%3hAuY=l{xA$+eoBdMLlIG*V5ygD
z)BSYe|8b&ZCh7Mhod8$J=<wj+)~i6k{B*y(v_kQVXRuWK5+rwsI>GMrpuD=r?b8;%
zezjL{E3VlLC7hYIK8V$}o8+I-XiXu}j=q2PYnW-RkhGLjdmws`bboMASK0Bsl<~c%
zj|Xc7F!A#pq_kD?C$r6K>}y-Kg+D8op9$f9&F+dH(0#A6Uj<>!`)z)M`K!BU=e^rm
zGISG~j6J%x(Aw{LhCKCEYD2~9NiY<Po|!D(-jJ<BzQFY0m%Ynse6RF0^iQvUsKZ<6
z(SziJEL$P5UxqDz6kYHD7cg+6G`GHGb7p(pUIvAwKx!}%`?nl&ws(T|CN{)VCnqNp
zLgyyk$I|@_f56^ll2&<d`MV>cr7#w#8rM>+14UkPID26UBZLR)Lt(BVr5w8x_!YW!
zT#^%=mbYd;lZwX#J|0YUSy<aWm;JPJ^&N+(duMFz{3^$M;t7F<fOnxy=)`_w)nOaI
z_}<b)V`2r`^Qp~)*1C|Lxae><sTfr?5%X^JCMLw2(UMP$(Rp-N&DE-_iOU^XRkG{L
zgt(XaRK2mwcyMslTsny@gjkfV^3B3A%i3G%K~eg%k_=Lrp+dp-ZC=tHl$lE}7A{{M
zd7EZA8M-TSR57v2Xz!jvf7mH_n=~M%UYxx`_fr4-F2re9t6!r7V&rL0-(&m_GCE1p
zALFfgdS|e1g0tf+W)N_sYL}S8UX*W#uQDGqAb^qaBf2fXFpcrfwo}Lf-Vady&`4kZ
z#-38A+v7)nqisY60C?<CfQeb;a-HU}-_J~>tLHNhesiw8(h7?Ntu$w<p5So09pSXq
zb0NK!j7cJ9DI?5yY(gb-ubvq1e9x1U7oFPQ{A8$mspdswZ;ZB7*N^wf9g|zaO7A4S
z1Izjkj*G#mFHlX91}5R5(WBgU<=79rMYIsU@x%zau4z26{$Taz%>zqTU<P8Mr7ASt
zq(L>;C}SttwQU)rCR^nndiPtu2c`eqtkrMuE$N2}ih}a15JR>{ynFkqk9luan5FM6
z_KHmB(UZk|Nst`vc4*ZM<rTmlvSD`2-+|CqnI`0k6tq^@QGqpO*^QgCi(>r^zTAcC
z-o#{|%X}B13n3S8Uj4-iDUgk0k1<BX#>9ne)3+bGL@q|;;bJew@Vr{I5FkD|*CxiG
zSZi5!V|GfQL6-@B-S_{CmOEuMt*e#;C?P!C=?tfo5UH(OP);gf*MZpMK$Vg=Vi|xa
z{nvnL!{12#U+<1}WOwivqF;B1;lH>$@;nI~?{<B<Z^Hhs$RKCLK?eW&^aE_^fqwuZ
zr<_~~5(pN-e^W*HfAZ5Z4~Uk*Q>nbrog_>ZyOj5AY-a^^R<E`>U00)AX$#{d7VD;G
z4g8NKi$3Xb)*Qf(fPDUmL(O}&{d!c5K-7DL@ufomEmxuyuV1V0Bjsrl_QEMubkt)z
zcjH*>G7TZEbzH+BEl9`Ip{f1uow2qCmdugT;~jlZwOD?^Q+u<gV&<m9E6Zz157rW>
zFjBf4K?Aejq_Mdrk;_4R=1G%Y14u2eLE@xG-}F9XQ?IV%s})5!{pMa2HR`&th#i0I
z_o!(CW~LZafPhasLu|Kw>fnZ^o;7$>|1k*CFS%4o6SBKv<U8)d0%YuO@0OKT7MJZ@
zTnjvP?#;l^LB2%dwIBK7Pa%lDJk4z-BmXi<{|)r-q<&4E`PHk{KU18@`h-8CnLs4B
zM)wj7a`XYg0{g1#3V`g(7N;eoRBYIK@yF8ARxVOHPg;I~zIkXUetUcSTm{ouxn&$S
zhyUhpw(jx1OQ5g@pwLDNU4~Ukd9Fq`V?e4JaIYTZ9fC-~z=ll(nfB&l(p$q3qUbrr
zRdZ8YL-UpEXyQ{6bPwPlfpD=P?{_WlEC_qHl*EikYtb?0-m3xRh9r>bURM6OdyLuX
zr}zpGedSt(7kyN&wNN<%&u}2l*jEWB3$Yw(a#R3fOV@i|E-o%*$398z;viKf`t3L5
zqIT(k#!zHwX-OE~r(SOHj8mg$c$gVfQ6_-jM2|F_X2y^FL7>hQMP(cW9{T<)(1w@+
zlXiwe^lj-pKs|P)K~6NcohG5*!@mLL2HEZ}{#tL|bimOCRD~wZlo+9yjAsyWn6666
z+6YACK;jj6U=BY>-#Y)$*YUGhmzPyL@11R)h@Bm$9}5eYfOO0;65ly<LsN9-uN*Aj
z;~(?^-7ZxDE|#>vlH{Xp?%8D!0m)Le2k?BttD7CoQB|4z9Uxux{n_iZD%Q`k-PtyO
zXIeoN*$#x7_3=9>6+ZtmpzGcPLCgWbb^S;U{8k7Z2y>&G2Ellc9S`!MfU6k9cl*kx
zUX1yUAxMyq2Rz-XZV-OLlU94HrXq5$%<X-kyvM@V2UwngO>(5}wkZ_7F!`z_tiE^|
zd*<SA0zK1l3Cg+012C%$MY=ZYJ79l8ZxsBtaSx;F_<8Uawro^t&gp@x0cq|j%n+7)
zO{tcHq>l>ZJ_4F7G%cVuBLM@13rGdX4Fhu8M+KhjcdJ22C&fe@J`+R`atkv`E&BYv
zDICk^)k&rTKugy(66oYWRKTulO{}x+1g)QD+P)8Q5@NFhB)D*Xy%40v-TxCPY8kr>
zkZVoS9{GxJF@;o=D>;ad1ye;0M0n|FYg0WQuo36{`D*n|KuFh-iw+6p2%CiAgB`Vi
zD8eRT2C<t){)Vb{M&?%W{#X$A2IZM0<W+#YTY%)Yo3C6zT6+~BJoE+6JZi+nAYao^
zDm+MtIncfcM(TLt>KghpPmJS-q#))OjaQQbb6{egke8v#SfR7zfCPttCm*Z6HHpE(
z=0A@KJT`$|Ib+Zne_FsRRqXdGpXJnv1uv+6rRrg94?B=%`B)DP;J`g>++u~cesHev
z;o^g`uEGx|G+@u+C%UB-<(z;-(ig5N{iG5jA6J{UE<3YX?RLk#3X>~Y79*CgD+N|R
zpAf|2RJjqGC#8*dSp-W&R6DVyY3L`UzZ`Hwss5VRb9d=VwEX|$bXi9M(cuY5rrH-C
z!IE|r$Ofy(GZcXSvn;;_6gI?&h7C}dFe|7Em@r7kwghOLM&F_?7o9wTa_m(@7BAli
zDp@Xy3IpWjQ8>Lepr$NDZagT{_=ud900W*+iEF(tr?PNed|Tu?$i1gI=d7h%%Vv?B
zP)Fgp1iohoad9-6z=CQR#%GFXOvcAhYh0r;Iqfm=Nb2{r*m9-+yonCtlX(G%H;%Ui
zqipUSm!?a%05QlEi#rR1GRa$)1_CO+0J1J{X+1qJpMdf_4YlbQvP@U;bew!{<dZkc
zK~A^sh92E2b2)RJF0WFf-QXFm=c%{${`V3-{<EJ><+3%X7{b2@lu0DDOl9hcMi1R|
zuvw{c3c?2rxLce!Vq<r+Q*tvt6vPrivDDk3b|NwR6&^tOnV{)8K0a<3lW5%i9QGqQ
z;Td$NSpEUttqO5J`7DV_-!idKmqyXa8aA<>22I-kR6o_dc@Hsv-uxvtAd`h&`U-oF
zx9WDA%dL@5ee-q@dcK8h!kT$xA3&k=Xvd|2c92=Tp5d38{djw4hiuA>ARiALk6h>2
zYtZ=!gU&~=-ayIe`G9%EW3%oa{lTRFOEX>Vr*pXUALk2_=6ODP>nR}b{MQ^Q{=>h>
zxta!yx2Gs>Io=wn^enf#4vjz#i~t^`Hn5vS8m`ga^Jzo#v^3JKp)o8mm#4~PcESrA
zZz1#P&r?G*`V%4&KrO^OAjgS?!*o9wV@d!3#2DsW>6SD9L0j~+uJ5+5uD$^IRD>3j
znH+tWNhe=p8gIERO81<qCjS3-s;TrqJtxH6gp|wvU)FEh14WknX_<0Q&&@ym`(6Un
zXOer_sq@d~8P-Vq4?j(v1-V$K6_(DE*YycI^jQKh78p*yiY(z)+)aXlN%zt;0sCvK
z{V`bzb@=s0kTrc>*0T0t(!x-N+f2Ey1>gn@%obf!z(#=!#I~IqF_zozJ|?!K<$841
z*|VpK&44=&)!P7uGH;vdxm;(%`DomJV9(|wK&DO=TdmId@w@jyMTR)MeWG21oVtRW
zZhH9u&gBQkx`VhM7;7{NJp3RlCEr984$Md3msDo9_kDcorxiTFLfw<AKzID@+nZ0I
zTDr^KfZe=`mEM$&fW;<2JIqwN*p*l&Piy^3Mm-OC*&7?p=>L?XdssOa4bripK}^s@
zj*eu5WOrYH#F#w9jI@@QEjiR347CY=nze^)+}lt_2PoK5D&@A#jng04ny*Br5&|5d
zN$P_dr5C@lIhCyYs|SLDd#j{nYeCjME_6Es&fz=2RnG<`i--ZIU``4%$=c<H{vP}q
z)E9oFr<bCZAEbJL>Ia6VR7mD7A0Hzq9p7;Ix|_;FZ*Ol-Tdq_3>K#)_%xpMi$M>LM
z6M4<-2>wR;PyO>j^$}#?pjxP^6nbiJ0Tl-AhOte=qZcc^k3iWQKshT-cUzg(9B~xV
z^R$||KCpS3C;w|dH0VSRD18>2rUz~l<^oC^WRIb5SAY~FT5uBpFkQ#;>(?J3=Lp?O
zHS0SgRSVHDJ3+Dxpv(3I3Z_fjXB^nXnuvk?jpp~fmPSTK9~K`4R5pTQ1iSr9Alqv7
zSGHC43&?I;{3p9D?SR#I!#MpNNUMVo{c@0#j-8H)O3I*6&u9>hF;u?5L<$q@cnh6t
zj4grza(KjcFXwY@^=G79#zsdVc8a}O>GL3$JTkBZN+9d29PRA!X{pQz#C$}>g6bWU
z-e;2LGm!W8{S^VJWPe4r%6RV1%^R94OL>D$I%PkM9#qPKZX<13(G)_c*=xCjUK;IF
z36k6(BMn00EdVv^Gz63*R)}S!c3c7mW>@GU6qa~~z+R&d8DDy=f}HQUJZW({Q0?bb
z$mhP9G+)|KWdo`#9c}i)vUY7xebBsp^gGJU<C6E15U(tY=5K3l;P2MjNWa<|d-6vT
zk{H;*_KyZvNnz(zB6<9t6(GGv3?bIx^nV*0FnLtDGY&wu)tuD!ZAplt$(>vAi3GeD
zTl@Gb*z_u(1K$<W9EVCkP$MM2Ah19x`BkeN7)l{-8CCh1x@kk5Y$&;DY2)5e{!$-n
zz8NSVl1}O$074D3fZiz-O))qM*qvo*2LedVB@o8dv#hsWVym6r8O+62;#s<fi6sJY
zvH>ppD*@oa3G{@G=evAeo}QM=)K~b!lU5oNOA2@=e-&9GgL2qpBJA#!WT1hzpK}!n
z(Vl;mnDcGP(5#oxq=mOamx=p-{*|UjdW&r=tbv-fz0$RF@aiR#%2`d%QK#&}%n+@$
zgBDn?<BRGoCqx~nyHp7x2DXQm{X)P~&BLU+$)0~i_Q3L;AigBHALOEN4g5eF+Q(D+
zO%c<}x`+%n1OXI2>;gqEG=Pr>7F@gJgLKu6VI^y@U0Wi_4-4$?WAouhFO$U7D}uDE
zD(Q;4$T~asT4Ugk45FN8`DE8Rz`Y2Vn&4gp`9Nm@%ByK2-v}A(py<R<s>UU2i&KMS
z89#MxItN{X1LdOpu4Dts1jT`rH}*$PeSnHQA`)R5xs>>ggw$;^vNCJ_z|4NI$cEz&
zJ<mkbd`E!E6_$_x&&;zCTk#fmKEFyPc%37rn(ZU{et)gaWzV6!9(zyQo9LXno|7gN
z2;m-@W9*?Nb_6*tWdDzrcp;=1ii3(SE-ew#jQzwWWwC*ztg*|apD*+ai~j<jY_7>#
zS46Oi0Bb}u|3bgkrUYQ0AUb6zfPD)>m48z45KhTq%R0SzDSBqxle%9^^(8n}e--h9
z(uYBs7T~@^H$lSu2CGHV#_s$BT^+%GCr8KjiHTIJ@jB7UZ{48Gq2D3vE-0?&d=`IP
zOI`K>=1<561zBA+AT@~s4B#@zri17&|F;7mar!T5@&`Emy_|0D?sOpd=>~2S4+!t_
zw9n}VS&;_$kguU(2szan*J$4gg8WeFA$5>-mUAlHkEE~%x?Oo61650?ul*@${3G8T
zSomy<#}Ti$c8O+vRf7Jp0H=mvp*&J;1T>~HZt%r5#{7lPv5NndEuZ&3H3$*5I4xq4
zFA1WL`Nu8!72Dw`y}W^&(0%~qhwESL$4VIl(EUWB<Gu_k#jMoJea@EoyyoC{U)D!C
z)%fW-BR!P|S073k^(ZJdT&NKDMFieH@L_#Tcq`#{Q2Gs=*MF9fbtsRNlxH3$^Dvl4
zI~=B%HVVHJcAi7KGVYF!CM0ehGH}~>+oN64^PNe;Tj<ixWKonbwSZ0PtH3(uZdekI
z{F!VCQ|2PO*~gUJCZXO3rARTY7ge)lKP%rl4;>1GRQwQb@^2_fgpHghZxQn|hLwJP
zdnLKwf3kbTWSt0}h$^M<I-kM>zz*Z-mar$>Of60*8q$0IocQ<wUi5OTVjp!T)KRQx
zM)DRXW&_F#l&l^`8+?uim7MAciM?iRHl{`9m7F6*+7zgZOIK|O1aK2^c1ZQtrdiQh
zctqsq5q5BMDs75GqS*4TMdimXs^kH}mI)2qLv}Ba1v91<Nl&8pzX^PL`h|Jo*RR2h
zUjFTWo0Y!c-g%u-Djf2+KmOBq@UPnVygqkJFzDZZ<$vul3uWy*P(FDAzjZ7O1$UM8
z1#sbD!UQ9^Y2R>}c{Kk9gX%(C9EFE6D*{YHeXo0}T>i=hN)(Z*ASVntGHCxcA!Q=$
zocETkLWYboiYEA#$W_FM{A<%=qje(H{n%+oDl58*HSAPB=i*dmSFd$<4#=g;6iHpF
z=~|OdfKM`6>MhMw7g$;5>_nGEJdd`+KB<F&c};n$(aw~|0Q)FUqe{G`tA_PYaY(zm
zx=KI_;#$CEhbxHLNe*^iUS3y3%J%YbuhwIpi`n}`V)(JMT@#e7M}`}rjG?ge2?6|;
z_1ecO=%Kl4vR;d*uY65(LB=qqhEgvsm-B=L@C^Yx<vKWCz^tzjyCB$6d7pv;iMm5m
z>D8otE4*^!q8w8aJu}p&0HWlE`}`=E#Iqkud94h4cIvgO=qJ12rkXlYHpS)%m}s!m
zsS!h_j`)KWj@sK2xC2fP-#iC7CtPOVZWKD7b9=_a!{c%<==E!Yj~_p_Z$gzKl!2uh
zLmSsH5v{L*1}|vTBP+Z{I-(F82=k~q_*hfiH7NBdAatc{h`z=T9zCHUPATGttA=vv
zXVgPwPo~4i2C%~9V2rytCO&-VqL}9a?|rTmQQS2}2utXH12%3!pDM!sh9f)x#yWBm
z#}Y?hGraR8PxcBs9}K$&RNI#iKe109@I{2s<VZ;1j46M!Plv+?w(`{qb#;k@0VC3-
z;q~I8#gCqhKs7i>;TrzzXsNmuBA`Se;%Ds24VJN9qlQgfg9g4ayT~-c!|bdo*}@l6
z9*h+QGO>{sCfFg5wqh#-R@}cmBYoud(`aq_8_P!+nI#o+-K4VU8nheT@Quv$o4sOR
zZZXVuTeJ<C6lZ?*pG{V=9x{d`flT`i#VU;V_0Rf+X!CR}f-An48&otjm_c=iEu1Ss
z%Vv$7#4~Eop1Im<+|cu*c#Z!8tk&rO_5S}Jpy(Zk%_rv=8$T+fh@mOo4GgGSKl-yH
z@B-Cb)8gV{4Vu(T>gz>6(;`;u^GN+ku8@jZCPWioo%ZpA1jb);=iB&{0?C9lYVQLq
zC4g|Ta_0A8l37bx_M~=WDDQd>o2En)k*i9A$21J{)v53pjo_(&_%Nygjw&nsZDrAD
z^x}nT?2~*6uQb)>OKtolFPFw`LFy0T-4ale@gx5dqx>AZjdJQD8FYpT4Ox?2BOGet
zunm*t*lV#cckt}A5SU1YD8j#Zr3kB$QuFRitR`Kz*1*1bG8pF3+W#8<WiuSE9IxG)
z$tlF8s@?@Hzd#%gJjaKilh@}JK6ggc99_K9<6!I&<uTX@4gbdxEo)9F*0NBCuYh0q
zv%@z+cUZ|=;7vlOXEOI?wX;)=F_;zjlnK6ZU5#Y~2O&K2*ud_3T;oEUx&g20I#KMT
zHo?$BkPm~2`VTs_@0;58iZi*^c~4xMhX?Iu^IK(r5bdaYPzUCCwD9@KH6@hO&MIir
zKvUk}4mVU0Lojqm3C<K_bwj?@^t&DXDo*(IUx(}&?r3f4G#kRA4Ja6q;;^+!%^os!
zbdM@Q^it(jDd`r1JVCIfMDxmD$aodgB!#Eko|x55J-&CtMp3MTqf>T^G+V0+=?~o_
zuaHSg@so}Ez3V0`^P4Q%Ekh<n=0`;K2**ylcH_La2zBVF`%A$$o(TW##sP|S6+OHW
zYs?FshvcCaXYG75Le@1i7XNlfZ33`+{{4yI&<EHv>kBg|`rwPFUuhY-(cEQl`B^rF
ztJ@iR?9zJ}Z-k2d4=jB;-W@m0;%pd4Z|VcZb2_nC5s|UVjksUd!39kAzQ_fv(dn}5
z6?lzIbq%rcvZ8h%#Y&EHk#dhEG(;Jk-t%hDzKjVAqf4-Aw~++37oJB7^O?O4%jB#I
zmo;!O`c(8DC?13jJFb<|SyG$I+}w_>>bg3yrk}B~WY(S<tV)^|qIbTpn;aQ|)i(Mw
zY5wK!)wX5Jh%fHa@7;TMj}>_a!4Odu#b$!lFF3<3++knr46KAtZ|Q|xf=YMOR;^g9
zB6WFAHEvs;&Q?^Dk$;tO(3TlUFR7|MI2@GSNnv5SOntZV-oL*#3?kt?e0**sQ`>9f
z<63I)w6q4T3-py)c@M9ZnaA=23AxcdMQI9dQoak;171}J<{|us6@5ikC`gs+SWQ!|
zXt0OE0v)jyhR(Ay&TGpqh!U)ZRIr*BE>JDQjdd=IX`B&a_wR`;ZnWqI^4L^WTKte$
zMIZnBWjd)gfE#=Om&~ExpA?#RUDhX}mgUZPVRcQf&Ap@#!C)<Hy?|a3E79(V;m?r%
zXaKW#(aYx!EB;(Ms&RPn*R`FFl{VG?EN!NS?(qzAc7>Gh-%LVD{Czn}Vh5ev$hTV7
zwf*AZBMl;?6q`NO&TCN@6tDX7Pc!-9@{|2__JF#H*kZnug54F$W)Aj<*(;{meOuV;
z&R-s!0j(l!eRq&k3tG@wt?``2yZCnflE~cAFFVZY_HV1u`T(@Yj0I+4v-s+Q{Cjs(
zY2<MKVkvg*bYRo4^6Ll`Sp?5DCvx`887BK$&Y?1~f7pcPa<iY*wt-E^7k_kCQoMt$
zxCT0eFIba%-a}&pXEiP_1@6M_Bzpk?7ftVof5T7h*PJV=&PB0b6kKIfgiF@c^FAR#
zbkH``gZ`ZI-S)zfYdmIeypfG^RpsUVg->;KR#v77aYS1b@w_Rzv$j^D*00cw;IU3E
z?p33P_Y;&on6s6*KDynrMPv^80d3ADSRd>#$|o*_A#tU*ANO)mgRUxQ-RnnMMfyJC
zUtjF4PjVSFo~!R%fh<yapVizyR%2%OmNg!)G-Fj2PjOg9rtm*aTs=XItPx%=fjgH9
zmBin*32PHzY=6+`_gU=g^gT~d+JEcV1#|_i#j_U4A*ST|x|Zfc9;&A2+253AwL9j#
z%k*8N+9{t^qvWgiy7<J)vmWjM_uirtanX<vr5D)~$Miit@%ss=p|u7~xBc?@(JoCa
zXXimbP|voV@4$9v0VL-2j+QX0`TDD0(BnT(oX63i87nKDbolmS4Q4=V6SNC+HC_<h
zYyfR>bS!UyZm&fEi$t>|h`5&QS~3xA*f|X9IJ*k$xo`JKAJ(%^%ucs6rED)w+&|jR
z7GFVCuhktIfg)e%jb!&#=0IAn%8H1%B0bP3N35RMd#?%S<PnGqL`u_o_OUFXDhfSL
zwo-OCH`YK?v^SZuac;(k%cT*C4&P;TDM!{ppTvz7AHNYlsoin!dbI%ZI&04*t-4yM
zd+G_VkJG_|wD@9-fmakuL1iN<uzrHm{5$>Hp7_uG2+&DQRIDB}Wf-a0ZK6H-RvH-E
zbW!+8x4<+}AyNGm?^zbTjeP@eP>x@BSo~yz7|D@{M}i!6=#|qIJJA76U^hoB3tchj
zpC`KrTypJ+n6$3q2%){RY70KwpcC*zs5u%3?Q~P>yDSdRAF^Dat6(9~$VWI3p6Ff$
z@iD&!8jlg{`s12u@bn0%MY6l&`c%l$<6h8;k^?kH##~eoUg6mXoqv{BrnekGw>dXQ
zePUSt&Wq|5zWt2|@8y_D@@=MMm-}6=2Te4K9!Jx(aZraaT}n6UTG0M@V>8kg$O>VB
z`3I;o9n@*n)p%V^JnnW=`7xNjtMMN0GH4rnAHM6Vc5GYVzE(T<Q+o__L)`?u!Fuz~
zdR3x%pazI1^H&EciXH)?_+|nBP~*5CvDocaYWq;No!*p_zCqmGOCEJRlUpy57q5&w
zMR@`4$q6Qe%Y!CdVCv814$$GszG@~)w&vJ|_|<fTxNfrR9A)8hY0B}Zz~(bv7y6KA
z!~J%?@r}GN@Y)l3Ff8ew<5jd<=zT03F0%P(*=;akQ}Pn-y-RYS#cP2GXitisG!@&T
zY?w!$TCRWd+axq@>(gu#Ms*_22E2K2a=csr6NB7H7(Z%hjmL8orxl)i*vL`6Hx+Ws
zwY9!7KTSPnjNstr;P86qTD-MYY^bYyR8rb41pTeVOKkaFoLc=d*kuetDuQNZ-f(`%
zFam?<^sCo1@#TU(f9a!VqU&%}k|r5=us`GqnmjGVy(4F;XSG7s1nnEoWeyb@;t+a?
zIYAx$>RHW@=WvcZ*16AIsZVxw-9U6w-vpm^hQ#YRbqmh#8P7GhBLiz&X}w1|4*Lte
zX5;)<a8XS)Z3m8>A#gn=@X#j*;7db=e%DD7*Ac!e2D<Xc9z*V+{qK=m!wx5h6L_5O
z(G$fl9Na#yiQFSZHiN)W3A{8aJ>`m;I0!cp#vDU523`%w)`#ReGxmR?Kp&6RqmtBG
z8~6AdiAZFP*`Z_O!7*s{yp8bMN9ch!7oLEJKGARBAROTqB|bV@$HZlcHtzVQjBB5~
zf0=@$Q#%CFnKiZb18yGzu*8h&6DUM~-97iJJ=_&s3}J<Jk*M7Up{}=^c)Xx}7E*9o
zA;5n1)ZKQ7!kNP(|0(9b7CNzYpGnCs`}BI1_j!raFyFp@sPm3#_IE7+i9ZG=#|X9<
z^hGISPXyhz7be&6wjwFj$U5=Z)j8D3Iu$I5F+8M=x@r3i<=JBTRG&yXiQ_Uc{AS!P
z1=>4Pi#Np8IX>1_3K_UJY@J`aA?{LegPmPmo9Sb1>WcPZ)v`ar*U8t|yfSd<>oDOQ
z9x~!sUt>u35)~`q0RHpMVZs5hdIhZUDNEW7Td($Kg~Id5<5EH->q>4!6zMf^{qm}T
zvi}Vr+&0Gjbm90<q3a$u25l!A?8aKv*K=N_5jI>cBL{=SqnWPAP!<qZS7=Sl(B-6U
zZQ!D|bOS919R^Y7mvHxuUv{2ZHYg{dzupw?NtDn~gkNJeK`bf4V-PCZQb?y4*lR`^
z@FHFhQ(JQ8?0GXd{|OCAQf{rjD3SC%en&u{bLUL66bhJ2ebS1^pr!_;^%n0bkx?%N
zPhO=U^YI|M@MjjF&b+?Z)ga(5_iZWF@8ae@?vl^h0LNEIzt0pA#AAwC9(`Fqbf!>%
z&SUA;-Ubx;atto-eNh`pn&ltg@XNC$c@?vo+!O<D-ia3=+ZU4d8E9C)oa6`fCF{2;
z6z$?z7ZYDdHwVo$*8_sS=qjqcO|k1><}z#{D%AZ(Q;;UhQQL>WV;5Ndqv?I!@rt#(
zv4MM5TqOUi8_OI8!7PO}SF&o{C}Kb0Uo*%dSUguq_qK_tpHDyyXJny;%6fY-RktXg
z^Xs{$n{OI-I33P6xhgWXojF>q*^=j=#Y|){5(QTtu2$D_P59zVs<PLt-{+7;;o^Op
z1+DGY_wO0XQJ@XnzPT7TAa8egZ$_v58NlYFXLHLy8;|0-ug8%AMJ!|4%>uTWz!ihr
z1gmnln;Z-AQ}BokCGTsz5e^8^e?++Hw~McTcNuS2>#cvG+}r9?Z}9Iz@C^4;{()^H
zK9h^#{>GcoI1W$dukp5>881CVaunWiH78Wya1gc)N}P|q(;sKpsg$;*GjY!g+@Tmf
z-@AG^bM!AoJ6(O^#A+VVRi@b+OyJTGFS;~H->>>1ztVqCwC2x=o3!wvW+N91j=h(}
zFDB9(@N5ELeZaVTloM!Z<%d82%Cir@UIN#4$h1giBNu;fx>?mV5Sib~D#lD)ZcUgH
zz>jE_IxPBJ<W=G#70m;W9^qg>@l}}}PE*UQk;w3>poY$ynqNd#UH)3-d5RWj5PZ<V
z(6t{&*G81On8m&doLc{+`2uNd&ZFcV?N!gvf5|D*Y9c8GHWKiY`!nazgliPs^xEO9
z1=RulWVc1*RC$swGTNn{z51E>dPwStTY<a*X!)~|jbD3tg4&mi<ZOM3r6Bxv6G!fs
zTVGzje8qT<(zpH#UHnUYzMCRA=O67|`E$ok;&`HP`O9r$8^T>yi7Lh?s(7eJBiv{A
zv>mVJdCd{3e0ia4bp>@#?&aXs)`aG~+WT9o)t|de#o4TfkfvIKMe0;80}5n?b&Ngq
z`789F-$ua_v{lyV-=8ZsU!Oc!9Xf?^NO3nkO^bJJ$qI$$rq57YCNy(vUk!nYt(v>i
z7k91y`CJ1fv)+wd*u5r2em)^fw08vQ9Ofs>JOZ~J%ffJv>H-jlYn!h7%=Qxr>mYh&
zd@|9Smp(`+-jBQd;0?}L>BdyV9}hWm(&o#}spcO&Pnk>~qK9k9sn^&Ucsyy;T3O^v
zIWDWwVBdGStv5z?4SCQ$MTs_tG4<5EwL;CLgT5m4L2`b?gU+qLK!DqC)~aKnjp@Hj
zOAMi>$&=~oRsa%2&;`Q+q%Q$L(AU{Zs-F8U*cqOccLQE^mekshd*ES9eEBJpJ0+f@
z%svFH96@PUM!0XrMH7*o!5?~{aOV1)kHN)-hL;8mf2!)=4!npcGN%%|yF<xpn9%>K
z88wwZ_(1uP)mloD%#s8eCBQgnHBh1KnMNo^aw!u1$ap@ByvY;cQ}E!U#P`FS?zE;G
zGOnql*g@im$!xF^V?nCl!&5I~Q2xGjNga4(BPI?8yapQ+-zh(O5<R?(3{RtuXT3tg
zv1k-^P2|sB{i20N->ZpgIIR>ozFRkge9Yc6CctekLZGu%DR6VOYKHj$qH?W7JptNv
zWEqoXLQf{NgpFo6tXF!aV7#N=r_#*}urP6eg+T|T3<ta6UznJaXBz<c#kT>r+L;k-
zbqM^yW4G%#2!P6fNq%BvrO_6mb9@}}dgAC({MJ3D^w29W8x~(Z5aNIMjYjqAmrD9i
zWj^?9kyaxnE8GCD2ERa)S?>kC?Gr;J6a&y`N<&=3L%DX6?*DXP3XwVg?Z^nI!k>S-
z;P&K(1z8M_%NgnfFqA4zmstJ~)5@W*u`JfAB+$yN|6qs14%!!fp-Nwv-^icY5d-eA
z>L(Z((#D`Dv(axd@%++})l;^k?yn1t`m*_9R(4pW@xi=T+wt?0)cfwn=hV*O3l;3k
z%r*Zx&{QXfnzSd~jGqM<XnQ#w95}d3+)GR$rh5+LD86H(Z720#u=}IzKOm_fVj18A
z!{QuLo@}s@_jB}ue<brVeeM9>J|M+c6$hQw?`7r%LOP6!m$kikIt<t%5(w#X!{^L(
zL@!#Gi-fHd<=>}aDHKT1EU3W<FpFJOTRyUz?OOZ_9U!r>X1JU<W$iB*NdWgd^A~ih
zhDg)v@~$aLb|Scn3uj`lKG0yfA1|7tiOXIjo@f@pr)_NaHO2K@uN`84KRv<#^NPb)
zG2_pyq#=1<C?Lg|pTXDY$g5{Nx!EnG3IR-#rvOtRah&sjZPlg;=J~PF22slDb5vGJ
zDEhCU#gD5{&?4EOdBkJ`#4WV$h){H!7j+}~`nN?TFyHd$0?Ye7CMc|i<f9A|cB(^Q
z30{omlIMG8aY*B->F*ebTvQ&VCR1|cQK0GzfQbf%u^|$gQ4@(RCg7c(0IL1pdS~O>
zlTfe-eIsp*yUHc7XxaCCUC***aqkrMF}I8@;IS@Lvdg|Uemwl@e7SMLY~zFm8fcm4
zBw7VEKy!(Mb<D0Fg8yL3s5r$6L6k@c7m5d&su#n-r~VDG1jGUM*FJ5P%9XDRlVlM3
zv6b_cwAVuCF)B;WzW)c84}pNjvuCsWngEZVw3n3)shDGrMalGLG{RSiN^r&Wfi}R+
zN*K`w6TA+vqW_Hvo*rN=3z$)~JM%ESok1?4r9W5~!F^F@Y9E9zKyiK(b1SQ>Pp*Ei
z_x85V9}5UL-#`R!aCFd6`@cLhq5ndNwUgLMb0j#Qe+{|}wf!}>u-H7A5D0(~(TE5*
zS`!QbJ-Y*A0LQeVIiVaZG3?O%X&hF7tPX{1eg&P@35viSh2(q=D|HC~%SlQ@G|!_x
zZ@T?oS9f}Gn^Tn7sfCnlKToYNRw+Yj|5>-l){`pW;2%#vU(-(}AlhFTt9A~=xvEqH
z8wnTEOWRaOv(_n!2wP-pyOw&D0#hMC!MPaLt01*jHU#Q*w=WNu)-GZ}AkL~XCmm7j
zaaO#I3;G5!8@7aQbR~K24BH{tD)w5hj~PI+KH2(DvToK-p+jM{J#05WQZ}w*mA%2e
zC!(RH#X`mZqH|1<S+-gw;&tkI&`(fO+=@N{4qJbgz-moaIR9fA24uj|@PA7N{^@0?
zZEokKS&kLuX!AMe!JB`x;7)^zf4AzjQ`6sSwc6TavB1AR`0INT{7*s5@Uw=Wurn4o
z{d+j^*S8fr2r4BWGFOC8&;9GLqrA_HEQxG|tSUfm|3~C6hJtmOzTs>s5YJ&aETJOQ
ze7w#RH~RHg1^^q@kha<k3dvwhHe|L{6Ns!;?M0>2j*VQ4T-K!?=h6XW-G5T)jy8oj
z2*mZiRe{2>&uE4iXRmyk-uVUas=TbC<x)3m2GFG;l~c5s@ZF(_@-H?DujQJWvtUy8
zWC>SOq@q8-eR|(MkWSEsZtace=B!CyA%Cx3Mf4D3F>=#n<DOXa(Au`d!>3Q9D?Z2|
zlSOMYAJ_|a=^HT7)>Tz$07~Q%ug7|gI;fL5X+%{xk7%V505G#w@et!=`X0SH_CC5z
zhVmHIpaD|S_`KJyJzM4t-cIxc4B)`r>L{;~xhr#P;lD?Hquu$<L6^Q#Ac*#TfWKSA
zKcDBe5IdQCE+IBV4kg12BA8cD=Dae`wFH;=Qo{MFir^YG2W^W{3M50a2!`O5vYP0<
zc4*|Q%_D1l63qba`v7q3$U-8r^IMa}Cak_!0Uzn@J-_p=qC(&D(gAu*n5d$n@<>iD
z4B5q}tME30-v)||JTI1Oe7GS4B1qt(RAPniSC)#X19jJ&H5;W6eS>(JsR7s<AglmC
zF6(0G9KZg{7|M}|TDyTsXh?^`Pcks>aS|d`%r~|sQG7l&@&tIaMY2>hJsb*^!tDlN
zV%NbsfMbq{>}N<}EQ*Vj1=Dk7+K2|XtKVoy)i|@y>t}hY?Vu7<sT<b=!ESveab}t`
z_zuqZkijD(nrnTvZkSCsN2ui{p{k0SnrsA(Xbl%6L-zt^8;1fs0e+6v=#5}m^uc{Z
zhOjHnyy<c}_K7fX=L2T~_C$bPv-KAVKn=(aKliEZSSIWz>le9+a*k56B7oqi+6NFq
zHezuXJX?+(G9nfm%a}mis%z6^9Xi2-YQ+^vT<;hIT(_476>@WPYg}(ml$}4<h{LJg
zC-+*~nVkL{oiF~@)0b4f6hYzUC1DC3R37R8kRO5qOkmoS?4c>F#E^AT%u23x&9_1h
ze0ZJ^{V0?@)bl*5<<)e$<LJPtLH`gp-ksaeUlqhSN=~I^@N833Ly0y}?YzL`0LC{3
z%F2CYrV;3;PwY?JOMtZo;q*X4+&oF$QOu%u0zlC4P(w{^9#gQ+eP5V}>{;}b<7Q`0
zF!$m1kLfUJD;NwD@ajte%tILs2nuk66d;?*-`{NX@>vHEh8S0IuV_5Ro<)xbz^GZ~
z9^zx9CeNRSpW5&&cfO1!P_mXi2eT{h@=)MZuce__1v7o#%a<qE1Xj)hND-=+ksPv;
z91TXI!M2%zcp*4DgG+fsDES{sN>)rw^G%i1+wl@tS?`#y;|S2B_HJLab!Ckc5N_@U
z1$|t!PKrd-YuM05D4j}9FRmdTSQFS+^U6x0-+Bs7zzJk=0DgzBYN!nMG){R67EK5&
zV&^!%=SN1o;L?q|Z&+=dinC>S!=SM<=fnP=CO3v#q-}!`hE-pOnVo=b+l<-_oNbtb
zZ3K+1Hu`TwH)NSp0p$a9O26%?3ia7keF=#S{8@23ke39&5wXUqm%8e*%hODGH-RO1
z^%~W2mhM97+j!AW+mS5hRow|`t+tM3B5Y#aFI4K1S#pV7H4C(-Y?`~(bZzJRv7yBc
z+sg1ca0ET1_h)m*PbaB8(h>u_7OT;H?Ydugr-Ke|JkT1JT6YtG5WqjmGH<}!{edM|
zElYLRtK=HE>}1o5dkkp_JY%nvW=jf}wLXYXo@0@(c&}&XF{E2y7%R)J)y!%Lt!drA
zThlSgGaekE&#OFWp2qGx?pg6kyGogiLzflMJ$9IiR%jkSa1Wl~XY6Vje}zv1H59S?
zat5yraDQu`)s^8HJHX<Wt}bYw4i&}n-wkz4NYN+w0SGg$-uOXHHj)ZoSE8QURA;w!
zdYuG`G5p8?+zVPY1{Kvd22eC^B%m0n-)m#*__+>ePhJxQ5k_6-lk5O~j6hk}vw{D7
zgHty`Wa{+fKG)rc(cGf&sYlnkBP5AM=>c&kda1Bp7c`rolMKAL!p<cij!--^=kD7u
z65GfK^cM_JZ)&hQYj5?tRA|bl0HD{E&8#XesBACxBdD4pQeW}Kzs^HMJ%6W6{}%Oi
z$u-(agI&go>}(S>S`YnyKU#I&<uHEqn};D}uA+Br<R+Wlw-<WQvV!3{S2$e!Xc!k@
z-~0OLL6#!Mp=r0CP^FUP!&_4QIwp!wuoReGu{kP>J@YGYP{Bc3V~2g+Yqw|v+Qh%b
z2_b>|;8SjH6ljF}7^FzF_z`%8H8#=4-tMO%ZT`Z20byrqh5A}j16T~JK=oLM@GpZ1
zR%i+lpB#!4$k#RY0{KBzeL#e;n-1ge0QJE?q@~@vD7?)1PR#SO#~gP`B(S_><mBWA
z$!_>KFFY#&G!9V6+Xn<M>fglac?~bQ+M!?-?Pcb@M)k)#vii;U5^<8U|JV|3(1*Dj
zMT5JI&ykq{jlIu2oXzQ46jUXF3S_2-qt4%1|07UO{TdZj?P~Gy;V!vDMspL*=b-b0
z&HfW0c9#L^G`?b>e62%-5q`jXzfe8qPY7awa=m;&V<rTI<n@-5O03nB>v<?av9O7Q
zs`+FV5WcAny)LYJ0EkKDNeT<s=W-~xjDnWS2X*Zx{mDDJ_{UiZ$=ToTZ_S$?QAB=A
z^b^E=U2r;N;phKh$d^JX?mmA7@*G;02wtzIKBAa{!la+@C{Qk0N>KPU0kRD$nv?#G
zHu*6^pud3Qd-YHCiE2wISjHIoU_wVtadCuze(RzrJ>G?DGq|?vbm!bOQl%NZ;%(ZQ
z6&HUgxbgo+!9916=U5)KbYv7kfjDYyK^B4dRwwuDfR=TCQxtm2fLKzDvq#mYQkvQv
zwO6?%HCw8kZsj0FgH?UO|8lUnj!;T%sVQ<NmzY}M8`VMVKy2RNK7l^P*#PzlOX~V?
zz><`1iJ(p4T~nUtX1j2HFVu6ldK`1I{)P|0r>-aa^Rj-4hLbEWs~&Lne9Zbyyc1m>
z(88WPvi^T_@@TXH^j2P8uDhNx8GjW8b5}Ws+xX$u9_}6Ny?Pe1#ZZjUr3$k({deas
z8Rt*Mb8%fQysyOL(n(+Pjr5-Tj9VU3Flm>BlbQKTM9u&0e*d@)PtQ27eTpXjErRoR
zQ`uh`SkVNTA4;eHjfo7L%0N=Uyt^p7K!lC5{s!Lvvc#ds0T)CF7ETa)p?Nb^{mRwS
z7(-^>(8%@}MN?4p4()LzeveD<u`e{ySu;P`su8Da7Kn$|Fm0C5IU+Kep_V1VD32Y0
z2=EOl=fu4V8IbWctpeYj`gK$1-FY*kn^(uJ-Y4U$;I1eCT+5YdHhu2{oN^T++%<01
zS)?aMc}1YUDS{g`sZRkes<A5Lnxlhqp?Y5mZkB#Vd}pA0)YzLxoF1p9pBl&sypg0P
zX{~zNjaSmum5EsF>G4%&nxKp9Tf}{PW;K+2)6p6DeLd_T2UB4+y7T)y2318hF?ev9
zN&x8)h7jA?9-bN#d8fw2c1Pe^o2OvPijDhSU}Xmg`{4r9tB!FpU)>5e6%E{VQ%#hN
zL$P_a`bzXyg;+x1l;c7sl_{)r??&A76>?EU9|pxsAHG=4st;1<!BW+52e_p#;m8IU
zyeqe96xzUGFq6we(;hCdcp=1BSa{;>%2#-Z;M&_>X@#Ux_U8$A;2XJ$Vsh&2tk$zW
zuq*6D$+L}9e%hm__b^~~aPFF%C#>C^6t>grHWeP#g{Xs*-TDmxy)Be+VIk8>*rNy7
z)Vl$vD>_yq?5c<K!02rR2vmb#Gxw+lidC#FGyV`zE^gfLdBM0K=;Nps$+>-2lpeGh
zoy29y&C5Gx_^O(($pG3RbuD^cW>Qub0ou<mg^hjI0%cC&+&@ySO3{U75-A+)Ln~^K
zG6~=fc7X0_+x;eg%%MB=)6|qb-XGd2qefl;Ly`-ax-P)+=3hpA<%ZBR09OJ6;^Z0D
zD;a_zrd9w1SGO_Q09PN3jF>$s^0nAI#?S9=+@!etBt9iwuii^n0_XA*If^--quks(
z9H~AYI(RyF8(^oyi#{FR5S`0MlV#Lr><HUXElmBdW*avHJb}9p$)t^K`>BEZ?9{;3
zmDw;~MaaM`tM5Xr9Mhr+U?-!CtVxg%Gy_0JU}^>66+H@_V@)pZf)?>zGq+a>z-KBQ
zr0%#y5G09kTTFF|c^<e-cWP>B)!w{$$!Ms^ppM<q(NTAeK%5R#eFLcI)V(e;>{f?X
z>W_DoIOcP{=T`p)4^zm+NBGZPI0SGO(heZEQ&CuR>#uE&n(7^miyj$pGK5HC*j?tX
zF&Jk|hG2yOz6@}`5fST0QgmsE7$)@iH~4agm>wAczsKfBs7fCVDFv~g0d0`gLxu~w
zf0%L?LylH$_0TH27Z(iq97{^WwFVR>DzH4p0v~{VukLY8z99UU%}1}6nz)7_az0Op
zQTMQGmL)XrMcS3?XtI4RHsCQW(r=ieoWtUs%sl_Zl{5ICd>7wmOUX3kX2GeE>slaq
z+pb?hGiyG$$+Bwm+w_M$0c{m8=i)J)qfm?K`?JMZ7L7OHCv{P<gH?P37|#Y9<^ol}
zE%-OuK6Z5++(1103^#0Fr#KEPmB3ozmCwcXyl+Y&t&SEndNS^xS0#?Tc{UL7ZDf+m
zcuH)u?l>a)9<SuFkpB?#+Y}}3j((@N9J5iaX5IRe;vuFyh7iaEOyY+ZR2II4W3kW5
z`@(rUeRatSTaJ1AuY2>c)^VXgmqJOukOiH#^cE>OJJRu!W1kcS_?$3qUT6UPJ+$AW
z`G@M()@0LcRXC#Gi9IE~1Ix0*<p<8n&*@DtE520^{|+GFd-pdSoPGf_H#C1w>+SQ6
zp2gRnwCkV1Us#5*bib>&>Y57O{CV7^W;8B(@ofaHv(J-p%tUBO8J_<p_u|p4g>Xll
zUArOJ<n@$h?)O+gGV|MzJidxPPDIYDpxdWN>h~G*vkXAGDdoqSot!tK&E3gPS%xmC
z7VZ&FZ3@<=n-^k%0_(N0bNoH5Dx6slJ(Egq^_<qJXqIG}D#Q7U@3uyI(c?b77voAJ
z>IDpOT6tn&2l%K6kzG^sG4w5P71Pv;GOe;4%E1Ur9A=W*8P|A(Vjo`zF$Th)fc=RN
z{4H*6f-p9>)O0}qMGIW__@Z*#@o^kOv)u<il5WI0aM5>HpI2A!wU>#8oD#!o00$NJ
zzaSFrq#Q(>!>$qS2x~DGH9e0!YMx`yk6|O*B=EJ9-NMWly+SGDObSPdv^fiH!qIYQ
zv0<)J0|3Ln@onbb{JnPR=kG|=<>o#H<*IIjTY$^K>`=Y<H|fu!TKeHN8a`KUxH#tH
z;A}9{HLe0bc(JQ+SD?P*z=KRw#oD^6=EofMS<gox`3n?l*o_`@TB4(qhPUauKWl%5
z|AYN(fb+F3?!->}FJR}`GlsHOLP;0|01*_h^K#)E_%rJ_ftp!L`SSfD!oOK7eWer2
zQ9YCWrJCUFmghU5UT$6pQLwvrVL^>8&U@#8)y&W^!wOw9ye*Ow2|O8DNyFMcYfTP{
zlZ`&a&nOJlph>^^i?LgJwL4EYx2(~0?kjL_RoCxCR9=f!js+s31F)OucUGIK$+MNl
zU^%{l<v2K9jyFRN);ZVp6`wwx9(!W*w84l57~s1DF)%Z;b=?v_%Q2@39@o4QaGC4k
zocY7heYS&4qbx^IF<}^{<!IdC%jWag(XLNvt<7<8h4E?DHu22-xUoyqwGbpS^}134
z93}b)-g?juK)NBo;(q$!LNkcT5C!t6gIiyrsr@gfdgk}c(`Z5z(p?I5J!jU>h9i9k
z`up3n<PvJqs9nwwGS*mv9xkr?!%5>YacCDlb$Tt$_cQ6VUMeqsHi#Q92L)3a%Me@b
zeVo6Dcc)16EIN*0quVIDVw0nl4HyXiWPpbkfsL8?e<cG3!mx{UD8)_7flrZHS&VDM
z7Y%N=Of>j~d{4lcHv~3TBAt1OxiEepAO&RrRv@8WJA>iOYZk^w<8?iV)&N*>jfTgb
z$N!Bga1tTsI6Qok%v^ucJwB7{eWL2Mhmz$E<$K{OT~M=cY1hQR+TEt$ruam>B3_qn
zAyPNUIqUhRe6BI`1c0AeJwTEI&8gz2hX)4p%;|FTOb)9S>at}>g>CkjCc9>hx-I3O
z*!EovU`;)|^4Xl!uu}Re-VC^aJVsqJHn)bw=Hk_6BBlAHp0PbbKO_&^aZ@X5+1$8@
zGTfLv_>XgQSx@A(jD<37GDK`9B-VVg6_1jVrdZYi^{zdXlDme)u%sNghZ?{;(DS%u
z?9hVXs2@EyQ@BncSq*v%zrB38de3pTBZkYQlVW`Mw_^Zh<a{5ElWnF2mY=^jt1hqL
z-f}Tzo|nFBkF=MVUdU5ehA%1Sb}e%3b}Q{cqzYfTvZi>smy7$Tzk7lKi{;UBZ-k&8
zyV&$=-+FG+_Z142ozBpL83D@pTdY~rFfSwGt*?nk^>IP;j<38v7ctTC!tz&uAclII
zTa7#P8uiL%s-b&pwz{1_*Y7-5-BDIzF?A;Ex_6?lW&)^GJD9VHBIzQi-wx_t`T`vP
z2K!kQh_3D*5yYLQhUmgK494xRgYc<UfjwDzDA2xy4L!rZ41OOM+>ZUaPGIRMhBUXb
zjBZ3lP&<Z;h|S;Rc5cp~Z1Hkj>%V?cWoV}~`-kU?=|CM+4fiYdjI)rU#a9=hqrxg$
zq1P*Y5)Y-@s}EoV)SlZC?*t;Xm}f^UAFh73%ujS2STZ4v-I3>A(A)Z<P=C`NRLSb^
zU){7BjQ?d={BlJk29+kFnLOB86pI}&w_FVxo|gRVlQfgob9XQ3)Dn<ZEznv#hH*wa
zU;IRKs|hdSt%09Zdrn$)TiPKF!?WY_GiAr}PyPDpOB-6P#*4?sTf2qjsBlGiF)L%p
z#Ee@0>N#l`Ve{P%IKrM_Ncl@`@Q5;;XgS&Iz=m7WPC*dUw_jq6xR|mL#lW^1DE=vW
zt6SD-Ym4Rc^<Qz;znmlqd=^g2!X~55O7qRR@2-@rKR4G<BzSi&J=oh_#+&KJvyM_j
zTTv;$GhlW2R-xc6xHCcA&MckG;J)%%FQ;r}-8y2NLA>_(=fl{WTXn6g+b36TK#Qn0
zjNVT_8WR}Irc)>wVMCy<a%1>YFd4o;Z&KcujaK5=LN7-vvS2kmSVxCF<uAPPFIUjV
zPHiHTL=1!$OYMI~$B@SqS5+x>*Db5>A0WGBuYPzLHW%Ba`)2ZK+;ygkqkacVcw&c7
zhB1EPK6~m*LKO!espTBPKx*Y^<LBs_E)7@qCah`vH#bpnm4MoLJup)*r8DyhAU;Gt
zTZ)}^fT4C^c0bDJ+bu)%f}0H<NfkI8(|X--7TwO%eseJ<=4|Ul!G$}{RJcN(3!t^T
za7}r{-H(i_KiguWp8KGzV%M>8nO6!RE>kNbE7Sy+V_!sq@6`^g_FA}1`0zegwT_xN
z;8;-V0cDCZ0WUk>S4NQc0?p{t^A~crF$Fmb%s-FjO<XscyG)Wp7<;osJFUjt<7J+*
zl)tXOP%&TQDrYzDNj3A%l<(cFWkttGc|KbCV^aVoO2>JHL7MumM7WsS8zNfW{>dGX
za;rh(RjC`xW*PbUGt8v<z3!ZKHnqby{b76L@|Q4$k>yvec!;U(h6A)&N=JvT-OppH
znf-YxLrie#&#92G%~AV=ns&u;uj+?31ve$#-a9ruYzfQbx`v4(k*A;*tawzgWHVf1
zV*cVqO7@4WtoymSaFep*rwY6s(F%O=`05odBqiZggM*2Mg@ZItvv;;ow6Z3+;?@B1
z+#T8WCr5)K^jckZUs1KedeY&a-WWz)zj3&t7VSf9K{*=HOCQwW#V+2YE-G(<Vidbz
zy>3vINBrV6&+qeV9P`x_nYAQ7Sl)?D73Urg<f=to1<2KiYRWX++$t|6EKH8eu8l&Y
zW;2XvYm2P*c1FO;l|zw@XjC1WLVc9r<@uLh{dNr>^`dp86=HgtS`ZT>X(nusx2#^w
zCAe&qXU}r{tdrDrn;s6`()L`cFq%tVi@DiPS356Rb9Tjau66G_Q~mt(3(&jeds$|W
zc(T~OgzH+UVGTZSam`Fl+OTN)nShns;VJuVnOv|zN-l$KqmLi2-R{cQGSV5daCKUp
zw);uq+@43Mw~owox;VPz$z|KQO1UrajqmZ{YNRpen}#9zj!e42*J4erwb><b*mShT
zl{bkNNPSV%VG>P_8Hg3@mfQ`2jpC->qHo~i=T9IXEl-}%B-UbW4y>;<f+X;s_@%cW
zKUr<R&^G6x7AVRNr5@H&&9}gG73kLX*Zf(?%_nzmdhFaWdzDelyI1x}CheJV;ju{1
zf{N_jrNWB$2K0_|xHV%JU)CSZuFf$ot8F-|Yz>zt%u<c3Gjr5@^WxsQXEI+t2yY`%
z2*P)<;^g=y+hvr}zd6gX_B?iy>dGtQ<-C=3NB_7LSq>d5-Ov2S6DZ=?4jHBkv4x&6
za=@ImtX&2~VKx9UI;GTaB`MjB+Ftp%%Mi!f`E6cne55(iI>$MzexpUTYQ51|_f7h-
z$MC_qD!L-uwc4fG_m-+{PZgSN1Ipp;alm~(XCI+$)9|R&K~d`q!}$Nl+FM6O*@pZ6
z5`w6J%1a4?g3^sN%zy}pq_i~BF?4qc3L@Pxgml-C0|Fx5&5!~^Gc*iCoCn{%&)(<!
z*7@tV|C*(1F>9XZy5qX9`}_S|F6Whz>{0np->!V;L7@pi2MsB1xjbtfI2?o8z7ELm
z=U3;#)}=ickM~|<t>tmG!R-F<yLnnpqY({g0H8N-w~a7Cv|r>?C;OH{D9Sp*uhD88
z67VA*U*-JabMM_8(Ht0CA`=zI(BCB{t{B@A1(n?c#wGrVV*BT|{Iv)tF5MWzF~<)G
ziB`bl4Z**n7Pfz@k@+b(xrArX)kUG!kmjpl3cqED?m;ruk54j)>iyHn^eS6D1TTF?
zs*>=IGYVzidQ&#%d2`ZMbT~K1xVj`3c?xCBm!H<z&nGxH%=~ouWqx&klhLcw0mY|~
zn!0LtgNCQ<!<r)IRm<v^@MessEGf}dIiWi?rExe6twWfmUD~N0AEmj30FTWRb9x-o
zS?T5Voo~G;8ZIq0=GUMyv6a^kFQOtJSR?rL8`f7!1?Q{WOU=Cy*Jef-`NyYqHZycU
zuK)Pe%tzS@EqpSGu=G6ZpP3Rt&G%mY>#O7p`vRIAH@VTay&Z){E=vY3F0PTExi|)u
zF1I2K)`Ki}rr#gQT`jQ@*4fTK4fYU-O&9S>)_+85b~l=jlJ$$p9ZCG9DkI7C%hnrB
z#=1qCXPNiZ4~SAzTzg%nATfY)p0D9(P}YocVut{nb2-=Ilka^H{$TAlm8RJ-^;hAp
ztFx(OePR~|!HVKS-ru?+h;N`>U%Tl$Ee+<j8cjeE=%~!$m<K(#p0GB-*bT3AXrlH#
z53j_c7L&0@jMqr|9;Hq!EXHdpas}jYdw@yWE~aIMo_hQGo>mK!0Qy0WK|#FJ7EFrC
z>5hiSP9?nA5GYiYooU2+?AE#t@UYw^LJlBUXfKAJlJw6SVbgSCyjebHE~F${>sWZt
zVsHhkbRE%ay?;-S;tkAEr`O4=3zlQ9%Ihz6DZI581o1mw{d)!6;Y&m-D$G<~*IMXc
zyyG<1EMRbmOc{P3Pa5yod6V?K6Sm;7DAuxn&?nCs>Sr#$g#Kea<Q{OpHqlPRP`q|C
zUYPC_j+Zjzaq`h}W_BkPyQ@4MO~0x7aqYx#>MXP16x}<sn5ennsX<om*-?Jen>v(A
zAU<>)SsD8yq6QmqZZo#Ypp#eUheII1IfF9+>6!7#2C%bL0=E`N?J&OLDap8whh&^P
z8;U{qK0+Xf^5u=N?*_7(|5<q(;0lH5WAj50t4}5g0+Mx^q0pmsyFpJ6sBo>{kC4*R
zWKO8y*<3@s<DgLZQA==8j-#dJjIF1+O%y)O7w7|=4ry%#6JeIpkJWnL!Pg2TB|nQ^
zne7D0T2W1jbJfE3qLjS<@S(?`llav~dj{SIZ+I_XU@p<eL{FuI4-4~QeNyD50vEV)
zJZBwq4hy_Px@o-cM(XS$zrCPJChI&_@j#f=Cee_=9eo+v69J1TeC=YJN<Qk-$7z$D
zgWh<ZwK*s9UW03%fqi}U^45%wnW%Vn9oG~Z9x4+Q9McWL{Ih;UIVtj%d3%^F1Fqyx
z(f6v4GI9A|f2cq9&Q)xK+iVTtCQwYySQ`MeglvE+a?+LhY}ssc*nYOc!DpxGSCA5W
zx4&_Lw8CPW{+;JNO<l)5yu8??;hHTOMx5UMS@UgbA3nYSE|tQ4$^$s;IQn#ZaH;c^
z=E2)yOo|<ps>Fl$)S4?z%9H{u>G8rzrrW#FlxMcx_C^rIZ^Y<u>m6aEe89B5!4M4o
z0T^I8Ewb8zD)1hX&09u2`gSj`xA#3NC?Zk%?I~Br{T|>dRyVMvkajw6;*k?y@E8bV
zaw__Pu!D1RW76*$-A8ATg#U2E$o6zsQpTQW;?nQNO+h27-Pt{wcaVZ3lt!B#pH|n{
zcfyWqcf#uOsja8rc%OnmDG%pQ9q%IKXta{=Az$+ALTG;y_s=>)@%_e&c5*UlJmx&b
zUE>fBwbU0c;R^G+fagf3pDQ+<p<;Lg|6R*rywrl|qifj#q8jnAF$AmknSq>K?q+<Y
zgtm5I0|djz7ay2G^RDQ@Y1>s*-(*q)h{r2sd@`l`ij>6Ua20|qk0b!8r4)EpH#F3B
z2i}FR!4O-ktv3VIG=~v(B{4We6sE|tFE{eRI3kgvqc6kBAa_VP6_SR#`lUt;@)S$C
zv<Z3EXBmK#OCp~)@+%{MPYY)70C_ds2&7@J#TY_T?!1ksgpIvS(plNeck88(v{Cy~
z2ed6|y1bYobevG{M0<yvNH4wC^qOt2J|p<j>DcpV_Sx`#LyL4@^Wk{CyZPee%9&+l
zig?5{x{etYXG%z5QQ!|YxvlIA7^ikt>1Mxf6UupFO~s$RLmYlj?X|5X)qScHj*;=X
z=f)ulQ5o@KxiV73Le7gh%|>(;w4Y^^U!3o8S1>qrAHtp?l=-@jWXv+#aZ>#*<Y{Um
zcs2q(xVi8@GuVG?@3Pz&D9?%?aNUNT(q?48{^sTSsX{QF-8&8XA*BEz3y5ccB;?TS
zO3mB+cK&letiFM#?%$=LQOq=*=Fv(QRW*1S<O&pWR_59EpA--S8zC^|j~`%?nuq5y
z+GnmEIKWW%YzdB5@2`;)>1VC2kne!^j_hg37~sQ-d;CN2<}!LAeDl{=5qbN95zH%E
zCqoPDM86xaoXstR{ErJ{sOwhDJPm^~cl(e*W6fam+-U;0agjVKoQ2o<Q_W`beu77q
z-mWnh!D?atpa50~4qbVCD2>%VHns2FYF<O}&%goxAEC9lEMNYz4&%uA)fue{!%**4
z`Xkex7}!R82qDDa<^8>x>cl<d{DOyhP_ji8JT!DGi2SV5ILH&`$1qunFhu^c=&ca5
z)~Kc2<C(y{KRmfxSXDJRH&>S`%N&~I!TdWJ%|+G|>08tM%<vT1Kf@sNEMDyOJ21)e
z(pa_>Wa^19&DGG&H=a|5WdHZE$<8%{HRgWk{ZRbgsn(Y85sUAe645;*v9VUdyEQB%
z?i8FPjIhmS=S`I((~qWs?8ePPU_}x3qr|U%m&VoJC@)}CAur^aZk8thu0AAvuQoyv
z>;Jf4Z04^;NfL1%{qdfCXf7<baFlU&9`JrJMpEQ%uWA5rz1_>vwDXA}d11_(*nkdj
zlw~g>s;b34p`iWnu{_AeZ+jy^r32`)O&hpUDqt)1nwqsIEz%8nTfVgmZ!bTfo|vZ}
zdkAet@h<oPs<bnrA^r{cv(HoOY(8gNHKNt{Qc{s~;hZ7Rp*VV&5u!VYgI46i8$FuO
z(Pboke+9@goE|<kn*GxDhZ?r;;QJ@dNFgdTF77t(05PNZIb$(}=Y!M8>tJWRoVfL0
zf;5*r-z-$rMyc-E+uW)h6O>-;v$Kn=B2zWJI9GM*%%p9IMM_#JHKMP!zgkg<ww93v
z7@VQtZc284<V!@kZFLc&@*h0uryo(<`V)wt8m+CQqv+mufP7e1HCt!ro0-g|e~@$9
z@&|<SNoX&C8vA|FeR8~qn3LkDP?}j0`ghS-T=@9Z$`Jj%GhVnbkJpP}2ifm@?>^|w
zcciM~kc7X1_CJ@(%N1C#;1-jeMc^hLKXa4sxvyd}X(iIQRV2&f<Ebt^63z+3Cl0(j
zo8e#(tf?>b!M5J0ihxZ0!r<rbZiA%n<w_eefbW9LalxZQ-rx93GD%*kj6%H__%PbY
ztX|nm`F`_)r*$d;QSDh0f#X0eE$rFvBIxd1$Cp7N4$X!19F6s~lcgYHez9gEzO&xc
zwVE--Sh3UT4qR7Gfq;=I;m|0NV%5y<`<Wsb;QAgg+Z={@pH@Tp#J2NNGQL6M{I0eQ
z7UVueZ=UB@d)(AmBHVtqE8Z$&a-(1)nCEGDL=<V~dUVW*lclAHOR;C&#zQw^-i_17
z(}VHtL;SK0cgR1_w-}2IaFe&HFohrTcC(fkRj@6BZUalZ=*S-FTg)kGSEGr?(Esgy
z3hf?}<}=|sP(uYOfIA0HLlAyAuJ(Z33d30V3n!KS%u<(aSPK4*=h2&Klg5Se*Rgj^
zPye|?CPvkAa~0iYb=_jMVUFv%2X{-M)E{ms3j5UId9!VB5-7wSxTy+#YK6_PD|TNw
zL9Qd!c6NT>Z;~x`c0qMn2CU7no-V**F)6<{Z4>g;Wa}W8GlIJ{%1maMmn9{rEyyd`
z<Ed-x)tMi+Zrs*+UTR2k4_&oa;akd7UdAKSD<2dUQ`2sOm%?6Vx+GCybfSSRYIA?9
zcqHIHB*##19{RelT-W=6LhPSTE3a&yM~1?e`z*Z4W;z10ca4Q+Sj#A^Ln>_c14Fwb
zt%iW&7gOsM#LVAvrb>gv;)7fd>;o)_uVXIAG`+!~tXV|0dQkApG*QnCS&t4D2p2JP
zyb1VNh9qx2|4cyrU7%xOFcEO(22r-QIOEB<Ddzht+`aX*qW9cdtwT=Oc^8{dNk7rg
z7?y6LJoYFIk>bMh81EgxyUfpQG6TB}vq)bww%K0+)_qGaNy*dTWt`&Biy_fvBmr0n
zw_!=jZ#N{q>eIZ+N7HMKG6RM_4bFsIR`Q-hmvB>6Rb<pu#qNIPEYbS50|y6y`v}1A
zQr}MO+wRkko+58yp-Sa{*MTIg8r_#t3X6zHhNlOe^f?&tsg<^aELuQ_kUpnp)xZwp
z<iNgO#X(Z=1*5J-CDXU^TZNg!s@Nr`H!6S4N+&Y*&x*b55g0SGhI&(NS1$`;+M9DK
zHtmgDio#{LJgXMVhoHt)L(OoRql%vvFleunw`%1!U7yZ5Awmr;@+PNNmRvW6_46>B
z;$shTu0k%5sRMwiTc>}HaF_GgZGM8H#0*==3~5}wV=-E@=sSUYW%9)XaGlgM)?&@|
zFd7d=^uM5L*rNBZ*)D?|)vG0OM{NYOy~MpA$UJ8(-REd|*+HxLTJO(nkZ;(;>G%q_
zG0)Ilgu!{ch28bT>N}C(J(UAbTN}4UIK1?AYZ=EG=e@88wmCL3@vLWtAI<j?Sy6-I
zCA@<^zaGn&u%$<or2;kegKOkKD&ykyY2DTG3&0}ny!xo&)4^|Q`6ShjT=%=jM%*;Z
z@7wPird@rId1i{;*Lo5Tv`yzc$K2Y5*CHu-f6Etmmu()L8&%JF97jI$UBlj)ZU#)w
zdUvLb75*#cn9(Dao#(*Im-Dn0RkE3%WEp~A)QfVjKmNFX8h$u=h^~Toof7*yzz)~8
z8~)g9mksfIQvV8CdGH`3W_=yJ>ELs<tJ!QQ^=K^qEax@BMe$nE?aXhPjOegzn4L7%
zITvhN%UCqUCY|+R<Y37|hZ#Rr+%AZ)*Bj7Gv*iQRf^-)syOQdbw~85)Jf6bPt%0E)
zztB!IrYr5riy>B6cR)WPK`E3U765~~S#2n+M<GbMMt@F7N$3@?azJAwxMhS`ZAo`X
zEO93Gju^<ws$TAzYH>QZBOnZ@JJuT|&Q#NHSi9fE$b}^1w}2MPYt+?~I|SRO3syXi
zV&DY@Fi#S~+55y-A4*{1wmBib^2wv%;w#c}SNpQ9tsU5OeWg#gT$EDT6%#_DIYZT<
z4cPiMZ~Y!pw-=q9r$F6Ru0N_ks1pQ{O(R|bai_Wp8qx7yUZIEl_~Feo2gnC+P!BG#
z#elGK&24dGGbxFk#BFk)B}^Q}H63(@ljpl)NqonkTEQ+?j%8n7Jf{eyB|6R&sm9yW
z_c>8VBL!NS@oC&M1>{$6eaY*%tTiZ4gK><>bPJM|LpNhv3wWPg8n?d&RbsrBbJ;HX
z`qq~6hGtvnIL!!=QeJQGQD%JWSJ4{K)U6kFzdY>~2n=1gUP>{#=9RBkhO{0|IyrWT
zEylhoCJT8{*_Gs9oo5v_4(TQO{#L!W%b<Y?5I};x7Dx^|7JUa;x|kMn<H#pp_AAt?
z0N*!NIr)LgsN}y?lA1z;zN$>BL&w-ZJG9l>6Pf?Rv2uHTbRwEwE4KgBs^RLC*=)39
zL4Rt{`zfABO1y#TY|T#MCKG(o-8eisio4nebl$epSOHb)kR<9MvK77Y&hcooGp@5Y
zD*pI5$H(HHW00iktTOrrIKe#!GvQ||L22}f<MZ-X1H!10j$}r6qnq}$tr_b3bwl_#
z!ipisdsgt4U5Oyi6b^WDtR0I67(5Gtdz#{taoM~iqIH98_PFiYpgOZW(6HWDgRV((
zAg@jqPJo^8xJwxyP(N7!PLWGJw|N(&uV<40+Gft2bM{S_qr=rux=5V~gYZt0z^PTa
zZUaxPLk*|r!}@<p?=U?4wb(%nw((_hAM~2JWg_%HYU{{hb$&jDyc)~fC8|%Wv--Q$
zD#Pk(UiVx|C3kogW2SmHvQ~`O4cdH8e|xoZMz-uvHSc2GK{h3ESrO0p4N0!n<bYq*
zUGADYPD!>NZcAS&|M<L>PZL_VY);ilpL7m4&|^Cjb2YDjzj~0FlEq`%4&pKHl{gIO
z04X|rd#&{*x#(-ey5uAb;!V(_ugs#yqMSA2>+OCLs9Zbzii|*yVg^^|8zA65Bv@gT
z-+){~Qs4a}dDk(ww>O=~=*{P3{LD$VS3<-6tMiNUkERyK?TQnB4P{=*#txs*Vg>Y*
zBbeap{XNuSSRyN3G6sR@*MMzg;?i@5-njE|e_NJiTOcf+^_T*Y%v&53`t=lZS{k+7
z;gyUQorN$KopUf1u&Z(sg&Y1lTw@O;cncJ!XV^%!IUkVQ^0!({B%@_g6g21h#UJe$
z{u$MU5<JVvU#Aw}@Y+zS7pwJgO*;6#9K80a&c^aV!p6G7!8vxspKN~nt4e0*E|=S6
z3%hs2!S9rn+FJCwTV<}M`K(m=*LwVPF3#hYq}P@zBL)^a{ZG56be$BEzKd{VV!Ib^
zltHoPnqrAq-=M;8-2o)SpAHqMdTwI~q0%lGxRp!GW!Vhryk@kf__Yl5Ex)=rJ@O=y
z0-D4wFB{0<F?*iv7zaKM?H&J$>9%d!Va^GS<n2rP9-A<LXnrLLTrtSqDBlM=-Q@u?
zs-ixFYbPC(C~WF{g;}LM6t}7?ZENCjj4w~US^W;5DYV3m0iM_EQ=IZk%qxV?<kA#4
z^z+X35l~$vXerX*)@P@RCX5!9mnUXPBD#{6v52gvK2bisk`h#AAK?HlzZmHr<20Tv
z5FoQMg+`RI*ti=kRS`UCA3E+I9+Z{zUv_#8XNLXqEH{8&Re`P4%>3y$K7lwSLp4$o
zPfy8@8XH|PR03wL;>46OdyZY<Ub6tnWNhP|6=eR!4O%Iv?gwjvi_h|B>7%<T^WiTR
zg&cht+6{u~Wz6uJ{(!)cDW%iPXJTHq5tq%KwdPS?=NI=A)@CECpLK~PmiFvp%l#({
z;8Q|8i5=U}*Verxv%xgxA@B_V!M&$AK0e-^Y@V^H!0}}Qs7CJ3<7Ghl)X6bBYfhkt
zf59oLkAFW9%;0V`Zd?wbS_K@(*^4?HC0Ib)-65{T&V0}bv(QdOhYHy4Go<So;&x|z
zwyyNzQ0^<>C-_`(wWvum7;|}rpRuFY1sr=GkiqHdM5CTPyq^BB-a~-zqbvQ8D*j||
zM7gd=5=FDT&ijh`%%-}`D0l99_~iakojLUl*s=ebHo6Tbw71{`gk-3riwXQVbMt-S
zqpA04z_l~tTrguT4Z1f_`c~{W`765Xjf}4xb+`Hf-@Dd;e!y&>u#B^>@h9L+V58MJ
z_in}<xBZCP6{Fv`2CSpo+lZk1y?)0V=W<-MK#(yexGX8Dh)~bBcUic8yik}mO#~rd
z<<76a<{upg>Xiy+9uw%pi|yoM|J5phCQe-aNmgmBBU{WOh_i7HQX|}9;&P&B_c_QL
zN?W6pO9|Z50oxUySQJZ@#+!R}>&Ss*tmukoNI@GBTDRXY1)GLLSfOm;jC2%n@v~qO
z-;Z6AT@GE(7|o$Rux0>B@->|qq&xMSd#@8{$ieT_x-Zscv(K!aT2G!ws1{eG)VXx>
z6NlL3F7y5hF$f>fXC8%oPIv$FRsUxhg||IX>Y385mR$8#OTJmKYido_6YIo_LyB`T
z)g9pVj3J&>jDGRe-qku}0XL=X6ayV=d9m)j6kY}JuSADFLTXcVV!=aM(t^qX8CdT5
zU%kpbF4yp@1v8uuUpXGWFn7ldL`gV2ofN21Qd|7p*n9)j&hlTZumk6njAea}>7BZ7
zjz%<XB*a$q(%<$OTt{UG??}2Gwgs(BNqy&vkH7V9eq`MF@y)xLm1Q;&jw|Ji-(~Ow
zE?_tKZ8Sw6f|Q`I4wW9>_12v%AELGv_4UT|KGlJloCz0{D!4V|Z?-);4w{#V+8vb>
z=%&3%Ds)Lpe<8_Y^7|W>8PWGPpe{<kT2!2n?1DnnZcY@N|KV>J@;ohhH=bbu-LmRm
zjuv9XYpf%r;s-jw*4TSZPSxS7{_&Pep#_}Xj|(3`uYOREF7?K{JvHd7B|@f(bH09g
ztno8^#<@C#1Gz1DeZB%Wlwv-|vpw(hO4M^@zAOBy535)WkRmjhpyTPdab2D1^qK{i
zP0hQbULY|@YV<8%hkXJ;*$i0#LjdE1`rkb(2j+M7bLetnvqo&8ZqZ@1*xU}qwWarI
zGv)LB6By2gx|hWLkiM-GRvw#*BMJyN_&1$94KPvcX96E$t}tpn2h|`X;qJXw{LX`g
z;R=Qhygu$6M*`|!x8aaXu7ywy*>jTHGz!#VdxjDdUB~=*snz^4f<|mM{4&S-AN}mu
zhi4T=2!_N=eH{GB6c5H2c6<#B@WF758p>g17KdOda=}zxJ!ilGK`uGWI3GD?-}OD6
zAuwG?;uV9#_-n_P`kB0m*7Frc#hZr-VmH`ZtD~<(cW_#>6_dEMmEzq}`&`x55O#Lo
zAF3R0YrY7j)n~=*3j8dIQ!!-#?`~faQjwL@?xZrjpOgNXBY>^%8sqJ2KSr1jVCKEV
zSlZEoL@;x`XN}6`VS%P=uSU2mL<ro(0FPQ&Cv5n<rg_Ys;9~joh}D1MVariE%DwI0
zvBo(-PhzJ<cgx_)aVNZKzapO^HhbI!+EY01#A|hKiYvVHdK82G-X0a!=w~|VD5JdO
z1jVF*2Weuzy8bTWcVLgcy;}g;j=2s)|L?m6zoW#P*e-)h8D*8t`Qpelx8B6dW~PO{
zDUQRw%IdS#<ZH2)_i264EG!{|Da|A&4Dv})Mgmh<8AFZ(ZU-7n%9T^L_}%pmE1wpF
z+MC@{gx1N*x*xj!I*=We)=q58R?Ipu0>`#cF)X*w!Xj?34rmYvMPjvS$4BJYpke+e
zz}9nXRc7cAA#goh-T5k?$Y#miI=JdPf_GMN#b>QOP>~^D9vBc7fK$!6Yucy%35PT}
zfhV#ZE4qKQon|0)>ZQSrCo=KH;C^j+M7*81aoSsSe4K<<hwcf54Tp$>X+=2+<hRi%
z5`oM}&}{Ks>lJ|-tm%IL3Im~glssFhhmyE+R(0FL`9U&TmROvBv_`NOz3%;}Pu%ZE
zzKQw-FpcyRE#sD^USBrE>0o^`k|CzUW&IAi*oYwvoVnd6(si!B$0yv{mM9Q@=(F9!
zqo(ryC#Q47KC-TqLd>jS3oki2<S5EV-kv@!@Z5gpO6gL9pU=hSduj$UgOtc0cZdWz
z-D-D}=3ZLdd~;mB=#rE(%hp+XVHrdPEI<n(k?BUf7)TkfR=tz!gS)PXQg~O8aI=YQ
zHMRX6aGtQ$0$vG!7PHlpzFavSlSwwImk17>Nwxyb5@!U&x}Q@sxkCdeln@-2+C|98
z8yz7}8-$-|I*J2wkmqt(m!l^Dk%^79RgGsqJHnt3unw-n{Q=32LZCXCA_#3__a!V<
zi=>!lH_mOrLneXkBi(IzXbsqI4*~^~l!@k>^m>83_7VKBcZa-bu2#2DHM8a)ttzXm
zx&2Vu?wo4W5FI~ox9xZ;OK!Rr%3GoG`{?Lq+q|{00x}WR8+I<cOe*R(B6sNL<}E`^
zVmG47kpzSE?Z{HIb@-awKXkJ1QVe**vV=|gS#4~lx9|=!3UDZgqEE`Nq`Xge+*X0p
z{#psSy8GGuc2!l77z>xVq#zv4An^6^*3C)zOtE(GF4>{`-dw*2vz0Zgg3^84eh<Nl
zz%^ODTUmD_U}#YLMlCeThTkkzkv$f8_d&DiNyXN^1fWlwbzxfETP2cy?kbBBIuG<(
zB3u@=zaJUjHVmJ>g-~UB|MN3u<DT&9`+JJEmX<MYDNjufdIeT<r=amN&?c}ov&!^O
z+>}H=r104Gb3as(*qeYbKw;SJ;^w2oas6wp()s7w&`pbiuj@MLDD_r!!241UY~mp6
zklx0NiI%GdyOyPsjPPylDN1S|N82uDLkTSMf{N!wyp*NlQc}bcT+6jnvp9II*C$rI
zc;3w(nS->^8pR0MZXCe(P5bF^Hjhd6Af0Vmj-VXt`nIwSX}o~RK>g5t>W35Md!JgO
zc<9Hi1gyN)(`T@vnRK%bk%I#}+V1;pe8{QRRqx6}f<W+J5U-vA7A}3o%PpV;A@H&C
z)8~&bHe67jFK-ENA$_0yBDOEW-g<pmJLS>=G0b$5VbPRKj#Bn@OY=H6016-RCwHGd
z-Ci3nr%uC7A?J16&_d5>`f<ko-is!G@RJ)KO4oYR#cA3#c&cAq2e!{C(QQ&2yxC7Q
zovKuYFK8naxJ=h(UmbFed94I6UNePjHZLP+MLuP-8B|Y$e_xN4i?URodO`_IY@&;N
zlfhL1E8BAVCkMB}4`|b&S~B;VA*HZ=@bf5#U;QLkhl5KS&^dt5$HoMVDzdjO3@fDP
z(_JAwq?&9eSO5qw7GbNyO0GK$E2}n$GG33C*;3G4?<b|_dQErv#;>0{2&gzC%sG8A
zyJQX9WwmDg9#wlStv6TN9$SS9LP`I$6cqOKb3J|MgE3Rmpkx}Hy_!d9q#9^Q#=4ng
z>4pGuv0>7Ge*Q>q+G{M92S`8<l%Hz_pjo)avnY6L>F;Fv-3xnu$KT-M5BAHYU>c&O
zdk?R<3O`b}L_va`#5s?DP=LJa$$umnhMfL|&^m+f<^ghmGW1sZLZ7b+Dt}j45_FX%
zw>sr_Eh|m>kg<)HVYTEL*E@b2-PFhZ%KOp0N-=ic7c!2QQkZVo?(UE!v~|mwn5T~|
z!gEDn??Zi^m^+ky4a{kxc!|EeWE^-D#|S?RIt9_uE00i8^WJO1$rleG-KY`2OQXS`
zYU&D0rhI&0A5>YBr1esBlp`&P?IE!M`UzlZ7PM0lwLiU@V@}#<`N|>dQ49l|9b{rp
zZ5u7)H+>N_7U#>viMM(Xepc0*voFI(#gj$LgX!^Rn}bqqpN=vYG(iVnm-Y3PQAb0x
zX^#u;EQPTqbVth&^$Tkz0e8F#jt8A1^A9Tjyi<WY3|2r^J9B-`o;{BQ&4Ok|ord7X
z`nawsL(*pDVVTei^sTrG(59GMk${K+6b0T;P-2umylS1E;8O)L2CWhYMemVVQO(1h
zd>CwIi7w*bc71XnICR9UmEX}oyWeu&2ybp_W^+Jtd&|DI8@#Wp3M0X$ivW<LhPY=h
z9_IdZ^B6Cp*LSnweVcph=_xlr`Jiw@J?LV*^F+2DWKa&{nBH8SB?b`*zf%-Fcxx9Q
z_kGsoM8p6KdEH|el#!+1g8HWuuoYDX{0r~C8Z#I4(f^9+4}}!xeV*NG>I!hYs9f(e
zGGiVcP)LPmTDF`K*pI@%s5nk9N!dUrb*8$>Qg+IY*RNa6O*w_ugAD$WpPs3%%HIK>
zD0`ev+*mja?#hPx$or!6Y31hgR^eV_j+f_^&}gOfODRfazUPcx_Ee;YSL_jxdlWYG
zd16OKv9o4?#TEWe7@@TGp&ycu%d(#t7|MK)Mn0*Az|VnTp8p{53#DDGt}ft-2{d@(
zU3vM7T-?;um`*QdpJ;0cU~03n*7d$h98WTo#LN+glN-nM2^|hgV!CTA)!W9rh-*Dd
zYif30AMx2l?eBlF^CgkvJn8<~{)MuUU50u@^ZE*9wuscR<Lm2B=In*uH0KMMM?h&;
zulGAp-5<^2wv$D+k?t7r>ap3`Ph}mYUyr2$yqovbZVN`k6qiM#%!aSnpDls*rrw8t
z3s5AH`!C+K$d)x)<p^ma&F`<<Sy~Pm1915?8CC0TjU((RuyTOINrTF?QYW%W=}ux~
zlLDewwJ!IUlu!d?O65-9#EW<Suhh6}u>APF)RvBda&=HmD3D#?d(ncu7R=s4?<1{Q
zcOYH<h#fQpn8sHpG!5dd%i)v2J<-q|0QQ#gjTXFs3HS2o;Ypyw5o6hpQ3G(K?8{q7
z)Vmj-2sDiL)*kZjShZl>9}O9PC?5vcMSwYfnJOr<Jr5qKeq0c>93<1z{lfTe2ctAG
zLh8HlKF)$k?9%7w)}v=%4KWWXxPES*?C1N<(@othV*r`jV<eqwF2Va|^TnLi>_{IS
zE~ETBy9}>d-Q$kP-m0IE9<e{L!<_Ch)_I>vpph=*_ZU#}F)+wHg8_IY|1i>gFIt4A
zr7g9bzKlk2uMU&t_?sIVTiL<*-bW99<~CxP*wgE>Zt5^s=@VM#8540<S8$4tdLw#t
z_lg*1-eT@J-WLjZ&(CY-jt+=s75<o07?i94jN)O1e>gMh(MwZ=m%xFKl#q~cK>=r8
zx{}CSa5*;*pfRL9^XdmQ?}|yd25jIq{8@F)^}UFgI05^VnDZV(_1H1R;+Vy&GFjx1
z9r1GjZJ<shcKphYVDMvgk!kA{UbjD%ShIC5An_5suJ0c5Ymw0Rc;!Td-|yit`H{YP
zuj|9qgv-=PjPZ951RG)s^aGpoCiK~96(9%_Cn+i5uU<XlS)&@*qS0Af4xLI7dOhnw
z_;h^iQh1s^2mc<nq}hE27qN9R5bxA(C`gTdO1HWl_h5DasMR`tY_9*v(PWdhJUcaJ
zf`C2Co5%D85!>=hngcD2es8hd>$cFYub9CN*!tGuV>(ksh~&+Gb)b{CyHffq@h7MZ
zQU7D=z8BOV?mY*YCBmq_*KMDhbC~*Yhjacs{Qjfq{U^|Qz;K)D<&5xov^b+Bg(Fw5
zm?k(vrT-Yj3F_OB4e-YbWT}s&%fueMXPYVWuFUkT{dBHU)xRN;ce<hqy|*GE8YBgO
zv+^(8*X|*R2$M()U%D$|KlH^@K$)=e@Ueadca0oMjw$^8H{=Jc=KM6*<NURK97TYm
z>nl!{EW|{{?x(Qzbh2k@c3EZ2uVP2oGc3*f*CvnaYCYS1<B-TiM9a+=QS@le;b`Fc
zH${ZWWs=_7FePfJozD2U!ol%q%`dUDZ!xZ+yp?HNpe!LvGNh;eL#zogZ}6)mHJLec
zu<s@MFn}J6bnw2~^*DqjYaOSv6Y_lOwjlXQX}q;Z?-dDFF2YQCw)rn%l9FV)sW{-8
z3tFdD&9HM)JG#+jKwv%nqUocDpXvgC20HNKZLN8QXfu@fUuX%s{zqpvjj@P(#;2WI
zt0O-3ocyB~#igYu-oMJJzgQW0v(u%WcjD0U`~ct@9>l!M8|j)92ay2TJ0Tnb4k}v-
zN@txpCb1sl)N6cQ>?Z#Y?S#p2W&psvk(9r)Oggr(ixnIava6568kahXq#WyWW?iu5
z3aC5vUj|P3{VyHIniu|YaT%GKh-0Q#P&NtIbsiDs9nr<ulN=AaZ)AC*I1PD>r<~`a
zz4nr~2(bu=)VUulm@YX!Go*MMW37p>01oXGWqf9`zxo@vuaEOj0>QWnctj;!dQEjy
zO*7`8>+@@A1bpCa_E7SW0u=yR?|L@HPe~F;TDQ2sFVE2As-tLZ9D8PMsq4W-JO3j2
zhwqzM-KkQ2R)7Pz^r$91JXQhWxuEhVJ8f?A)>wPX_Gv{A*sTJ(&7(#|sC_#DLwz$;
z03|sm7l_Bippf$NC-`*Qn8$pO8W8G<DExF!kcWcAP!FWD&P7D@B(aeCgNEwqKh7MM
zC`%MXw;6$4VLuvpqtnt=g&t239e5FOku*-WY>5Fl*_xy(2(NDon){(~tUt5Qd!PB3
zEcW29{R(v{iPsid`8DJzLEmir;sw_?47WyDJ1_M@XZAuDtkx#+Y}c=uJW2xYeg3_<
z^|Qx{cf$hVhq6Ylp=sHQZ;-#dnTqMx?&Hj^ES{Ozdiu9gC<bTrFU~g`MS<N!bYAby
zKTG+Uw#m`@28=wHu4vi2<(xZK?&e<<H&;ZAb>=|@^IfwBra%%3W`iZKiHpVt9vsho
zTe!bPu3whOX-CXv(PG>6eU}+f&?+Z$WwB?H)|67%IOr)r^{ug=#v||gHtG7DupAkt
zgNM03z2ziXn(pW~=kA_c3L@)#dxA))3>y>q@*C|?ZCZxl^eN2$*pMTY;oJDiq8B0K
zZ#t0j=!I&asX^=h=NE^`L&v<t7=(gdw6@1;^l1afc$DL0DH6YK>02cVJxk(}ozUHD
zD&o$5x<k2W%A@HeJ<s^_m4yhoTPmy#r!cO*hTHL`3Fr<|m#Im2ZNrF5K0@*d=n=TE
zn(ofkc?AK~T0Az>T&Roy)V?=?r225qlQUvbQTl1PH`=k>?QTf)KlDbv57TI&>WRIo
z|Asi?{}JL_te;86Fko<dS_PXq{YziDMTr5>pQR7^(}f$0!@?d6`XTKE#6<4hZE_(1
z*kC`0U_?|jZtXpgWBf^bxB!Dn5YE!<%r;%%_W_hD8ZjfaMDJaaNt26XtSZAcdAq>A
z?Q#PnnwpOO>d0FWN4d9YiLU#yILYwrh5@S)qAjJq%=5&GM=q8qeoTqhG?27!wUeA`
zpn*Ht`Vq6)r$G=N?_Be7BsXtIox*gO{<F5%p3Y#WB=B^A@Gw5-<c>?YKC#((ovttX
zJ;}kKs9%&^xxQF`d2G;HFDqk8;%A8dFDfWB)i#B#i$+9q!JGG}v7n^CHSArhuMeDm
zU@Bv2<aB#;_IYj^#<TR!c)rr5xsZWZ2#TbF9GG-K%CQun_Fi|EqTxpG1D0+dg?5O6
z<-WN{7J>zt^mCDSNOUEgNUw@maOsZSM%SOtaAO=~FCqWwf|s4$MmJypvJNSPubl{E
zwheB!2Al$(hwKL5>3qlg_3_@oy`*}z48V8oh*xa&5*~>&WO&OVyd|th0<X87KSp7o
zZ-PIEKIk(LmXWC10T}oeKLeO^04h)_UZilRB47et!n!+eyZ?vc7AvSL#F**}y4(kS
z99_z_8O!S@A7xVx;PJh|6q^0{U072q2&_pv%r|F#O}*=2@UMr}S{yf5DE^}d2%@pR
z><L^tSn{5|*Z___cr3Rbnw;xXLG3dB{K(pGtx3#o_P6-&8I72>Z7UQUKPBUdYBQZY
z4|=Ou!EEkW!%4xGn;6j6m&2t^2XI@BB#{qJqF$U&n;<tEvX3P&6$Emn`u1&H=;<!$
z)UV*F)X<9onyIxufmBjC&s6{SwH`tgOLx^nh#=d`S*<2-BEOPglJzMu$zR_Jr0h*Z
z<Y{&*j?I@xQc8ZOVM-R`%kZ?qlN;(XaO~0I6|zEvOCen9dvHI`dN!PACZ&s=ZdfB1
zDAvVnGVwzh^2BNtM@s=5l@L=|Ts;$G9XsdU;RnkxavaRs04`B&Nk7QQ?;QozH2`BD
zdeBREC#qP6biX11EdTo}spP)AzdotJymKtM;1@5D`23q!`@hnjCfzySDlX@U`)Hp3
z1&E;%p3YnH`@Ssyric{4T6&kf^Z}&_FvD!Ts$u{GGzNCdTe1sxYnWlT%6#Le{#){m
z+UVsE<1g7Zac}eim+Ocylp#m@Bs$X9*+0!mG5+jN*xm<#5_cMi*Y>U;gV()uwffmF
zD<2!oaUqx7L@l9&l~>Oo5$O4s$NI9y8_LIcy}$7w<W{tDFn#xBiXrM80+#W~(>P)u
zi-NO!@7c@#hiVod3vI?==1;EqA&f$PkAQq8uzAiG&E)Tog#<depPtL{1bJjNOKNH>
z04$MlJ*#jpUcnVCB8kLLFMYIrRTXUbAXPj7ssWhN#-nKDcgk&_AFT?bzYV3j_}!#s
z@cLkk+W=t-z}x=C-MA;F&Yv<y&~bH@Gd08{tYf4Y5+hWYRKb7hEj$`9l<Nj+Ef>`4
zA)@S>3de#38EwC3!u$Nz;`=@R0sI8=&vWxBi^(-R^jj3byOl_G#4&KcH#v6O5XtR)
zRQb;QyAfWjHlJf^0M{}f_OyhFkW`TDp8pE5m_&tck=$D09j6<UinT&%D(k<oX$$$=
zfr=I}NBNAB4Utg-Wg`c!A4U6sI_MugTi5WX1;ZTY4q^<zjr|%!-l6*SRwNQQj*#Y~
z^*oAOicm%d0AjLn;!^iqa7W3vYEC}8p$$_@6y5(J=V?DzSeB8hP$aGUbEoOwfYXYf
z6Pq;sNx_#R)o043|Ky|BV8Hh&CAI$FG6Bxj$_&XNN?7TwJ-f*`{|=4!u;d+rDS`z2
ziLdtDo3A{LjQBl{b;XtG4QQ}C>oq^Uu|DP(w}TlDeJ#s8KN<p~?y_X2T1}B&ZrOr1
zd_JIJjc)j81@Wk0s)}8IyWPCu1r9HLg<@d?@gvb~Rl7YG1CB<!i1zARiq68CSsfrv
zb~g-re=)4QM=b5h?dk%~ndRb$oCt2~GLnhdVh64f?E@Rgs^4y!@h(as!gw5X`TTlf
z%y?}*<7qq*#C}N+oK4jBmL$@kR+B!yYG2PG%$8d3b^nk$y;{q@!w_-_G%k2fG3u{R
zcH0?211Si!M7T@BVNBWR?V;6%<3i4^y*fbUFl(8gtp44qIbN(+D%4w)v-Q$ZqM|()
z;8ZpE@k~2veEvJ+EP$pnHbQlgkiBo;A0|MQCIM=O^&%Od?gnUA90E-Mh+;z}!o6@*
zT6JWfmFNjgeXmek`Q8%am~;sPkYocr5^x57*=__*4<7#sC+`K$qM8c?i(A`uy~*Y+
z3EW_*n`=_XQQ4pY&hM$Sgk%n!gG#weAaK#!OIX}%wpSbnVGS{ks&^!xUSF<*Q`aJ(
zry7&unOFe57faadbSKSY!y~KM(~v-=<R>@K`ha9^o_-sXGI19Ue#F)mllOp(ZQs*<
zqkN&H^oRT92G*kaVA`gbW*jE+x$M;*k>G79qVJ=~-!Yr@0$5Mh=0LCpUSS?BfMNpv
z$Wh{>0|=4<B2UxY4$xf(%VC(El$b?Jg-}n0&j`=KS+(=qqTaGmcGG#`ZlXz_Rr^v-
z1)z~m_*jhxY)h~qUO<;L-siP&RHf@QP=;Kth0qN=cPqg?TngG=wKmYP(fHAw_655*
zR!#HlwVXem^*?UlUL`JjD0FpK`Tf&`CyA@~g-w`Q{ZSv}<-g{>;qF-j+U&tSSRWO1
zC*rsIOGMsZ;zsZ7FLxY$7tj=Y^zG;H<I5M~{#h@Dlev2hiH{`vq2NU-ZIy50cR|L$
zo#ZJKj6J`^W*#<2YPbgl`qR1mZFfd?OIgqv+%--W0d_)DMC=Jb9ht5B{FkBD+}C3}
zf<t=lg1=%?$wo<|dvS(BT~!70EgguH)V50s5fte*g+sUOV%Uobf+9QgeOyY@Jh#Y>
zDi&H+cU6@jF*wBDAAU!ojD6X67;m6(fq?3rlD^AD{i3?9vaMI?iutmmvhT3pK4;^{
zaHP_G$;7cBG5oa~RFJb$5G3r4i|ZgRBk_#PSp1rZrK4Lo>`T?dC<>DY1Uh7+)}wlQ
z^Xe1o^XX+b9*S%5vpH2akJh?9)MP`QAE(-0!@Bp7Q^w-ag0S8?+<XS^1>v{nr#eMJ
z2U<1}i9Xw!=Eiz}FAKKgkR`H$F!h3{=iglaaFdPaDTzru#!WAA#J+G-H)s1T;eT!t
zKJKAiUSEdyOeN*`#I6ZX_;vR|w+x8K!cg2Vsng5Adqa}8mlF&~oWZ(Y&6Z)ODija{
zKl6=}C^4^7HmTmJQY~zg8`<fw_^&&|!URfM$qb@KAD*vM$UDAd+f{lha`NV+)O{=U
zP@@H3who0u`t;kEso|{=tBVg~xlaHy&$F;<X0@RPm3%7&$ZL}Jx=);NXFb=#E}RbD
z3<tSWi2l_A)6C-G@+o5d5UO~6wkHN|zS@1T*zNMEG_kH|%+GH$wp=Ad{V*mYGge(m
zJcx7+7UyAFYKC&zOvYn&h6N9<4%3<lQ%RchZp3Nw5mIc(m@5|X9mR2OjQG74&*l|5
zzBg_ps9G&k`7q+)jNcR2D4cAUCm9vJQTxHqR<A2h75_epHsk;ODEDRjYJimVGrA5W
zY$|pVd5_R!gR%B;M#Ze}eZR7CN=yeGNsJMz>r~kz&<#5DGx$6R_4%xM-QHCOQ$6B{
zn9^&S3|_>*<*L2ZcPy4vw%E#sty|R7J0Y+X2K{@*yC*4iC1Wa0X+HV77n`{|1B+hR
z@b`u{*H_DWC{NA$&AimZfcx|Hs!A_BCW`gr7ir%F6)Jhnj<v5P8e~9?vH~L9k<#U&
zaV|9q=@SP9GGZ*P<7%ze3n8pnRW~nfgmM)z2XsnWrBl`!ld|sZMf~j~8nc~~+Yj+S
zrmnuzGJS(iGJb#KTwDtIu|dKatuT_;!mQNn+?O~0aeQz6xay(WFYJkr7p|t$hz1qL
zO_>ye<<v?|-Aa&GU|0Myp<Vs!=9OpoRjIw{-9vf9v0~q;g<=U4O7D^DRxsRnoOcL>
zki#v!+}lZhSKHxMH92V1@D*2QYXGZGm7*L(+c~~j88zsIeQ<bxK3LUUL)T+1e#X?L
z>Bvq!{(Fn;Y=e{ebd{-GJ<uHFNFvNP?L!tXGe`YW;AM$Iy3sO3kmNZ=sh!ACyG9Xs
zE=nMxL37~A1=;VxxmU8=KlBS)NR@n47kb?$ToPR}v$vM(TbJbw5wPg}?N(n0Nu$O9
z<ZLY~6%tLQ^pj*CS2W-l*V*g`$M#%&db{h06!}_tqY(^`>C>1g#Rbr-$|-HFJj0)H
ziNGEE@5gI}pZF{(zyI(K<>Gor{n6cmlurO(!}eqv2GMZ`NOF`J=f4<{0=?rvi@VLw
zzRe#0{@vd{7bn>dxSx`A^q*fSE=4j-`LOY0t|F`YSTd1k`IO?3v*p`nbG0<ZXBJVg
zJ^ba!JEa@=9gzS1EjS7O#A*+<LL2n{{rOl*nd;b2wT2@)ormrbYH#p_pKMQ=D~SoG
z7`TquX6&tJ$^=_iNZ^pItgILTG7j_rrw(Lj-Rr;oD#PfXRRBE3cF_}gk<4p;s4D3)
zZ*>XF*JU!Q<ya<=s||Ot5b27f9lCKJr}f``YLt_&I9oHg5$P^#T1eiTZ}!AmeyxzW
z7m#n;31P-Y-TH-3+@L0(N)_ObGRzdw8=VHBV61t;!%j|L2X~-14lNP2;3Jx=4Vm?u
z-ykG+BmrPPiaqks&clj06eUy>J*|u+<aBR)P?h?SwkOegID4XXpaYtxDfo_n?W{GO
zyZ9g4PfhcY`CDBO=L;`7$HE&9)x}^&wi9*`EbbvYTp995q{>sFkoT~V?LcvQBj_T}
z+bVs8cv<yh%7ZmahWUMN+U+S*%7Ucybiz<#+Cjg7u)ABS&_e~-Jy!O1k_0RA?a|}o
zV`o9v9j$A&GesQIU|^QGkikhfnb}U>pf|)i<xJRlb|&jSllKXKg-zQ!$!;nEW1Dfg
z(5{ypetx{qkjZE<=Q5>Ni|rD5Pp>6Q#((<(R;{~hFi3I$X_@)v2DG_oL}-#G=s@R{
zcGQ!C<dT<HR3wt5)R&CK6}}RwjPo&P+|5q^$5k1w3_M)PVV>wFeUXBDJDHfZ@LILH
zZs<Pq?bBtivy6W{j*XF9Rn-EX?rUQA7GI}VG-}Fu5uarbP?LK{z424q<Te!+Q}^TA
zjKqJ|y<MYr6_6{f)vIH*j(l)4LhDIFLh@Otl#zfnUQx8PdZQ$k|2DER;9qr<o4-_P
z<04zwo7JRrK#c>rsyABJu@A#b@<crHla*U`x)zD;u%D{AkA&;1iC`oae{RSG5m&OC
z>W@<#YhI-<L(ZRUoV37_lo=tt9H!uwH2nfQVB&hHW*k4B0Ctt|3_gX6j6>$xUm`}u
z8s;NP?>VBCj4V0g81?Cjr~W}nwLr&CS`9C1)Cu2hM85Jd&e=AYI39>->71#vGXQBl
zZasNX;(Sj@tB74+A%8vt<l{M#O#eWR>PAj0TVea<Y+SBBlR^B$Lc5riOsit)t@Pvk
zT>eekN~^*JAXuFB2RB64*o`kGaWKNxZ@`_rEFrZ>{fXRG-pk)m_<JX`bIECK5tDjq
z)%;FZ@zUoD;5Ww$tjW@TfB=t?G4XCuHN%1g6+94LqMWYYqYSe6{sU~8{wFbKg4TW^
zzjXT_GQO*5Wt)p2If2X3=ONOr<M-q|<aX!0PicK(b5o>cWRBV>2Br$@2c8<$`m!kf
z$4`c)eDyBQJsihhV~5|qdJB%iE8|iHo_~rHw$jbspzjJ?FB&O`pSd<(Y!x3-84_7X
zkhyH4B8tlzS>}LNSanfu10V*&+H!S*!r8c8GqC<$&T)Zdg5qXorHe0CBpDTlCDOo)
zf1B#gXrpiPd8_1o$f1POOJEWGr<J-CWv=!s)ttXcD3K;B&)P&WU0A*8<y&)|9~Jk@
zS!OHgUCxfDox5Dp^+t*wYdkF!?Rn`bH^Bh<rNSA<*z(nFE9fvmzbKoX_BHt^G-39o
z<p24)Z(GWjd(Cejw)xE88`9CnzGxRu%=ld`JT~cA6h@%6Yprfw#BbU(6RFwu-~<@-
zEOx!IpzK*-9*7o4x8#eCFf0(Hl7Gw+E{@6a9;TM{8x`*4l-b@E|6Eo(LP_#8%3|`5
zf3RTt`|$nX+}VLG?J|!VMLFpBgSFCTU_3Ln;H&HK5mmX3$^_>oD`&VnxN?yU=RQ#K
z*;2(HYi>Hly@(T!KTQwX`Wx?)=qyom(rv&K-1qS1nn_@^3&mB0z;r8CF)#NyJ{gU4
zmkzK^nknf-Kka{BQgb^T=S#}gQe?Jkj%DG>3%w#I5*~lNlxx*jo_jI+ywyq}So=zD
zE`|lH;uMp(MKvgDwSU7i#I)A4o^l(XUru1HKj{@$`}*;aVO?Mh3w!P6pub3z*EvEn
zGLA>eI@g5Rc@^vatQ@)zg`R^xGnO1PE%r*bu50!PoV@WUwgDDplEt8+(x><{BAfK>
zqw-8j&4SyvTiMSF2IX9z^-RyK79hLxk!Dr`O{t~s2fxa|v^_xu?}nZg*#sfqpo_+5
ztZ99o6?{o_-T3y^jD3(C5aj^5kXqA6y*|FkNz2Vx&#dP7+j##v1E$w+iBrXkFBPvz
zdPz73J#RM|t`Y(@%SEArf2Te4LvQR5-|f8ry6#&6OnJ;QoCT5DpxnaZayr`u<Q^Ny
z=L0EaT_48u<c#riE3`vz1Nf(S)FM5h1z3}GJn}(IO5VgpFe_>k)Q`w}a=clh2Y*Wb
z?$8}6|2=4wxuR%Y)&FPEd@|oC9Spk&I4EapDSNXO(rgwIy*JI3aBo-H{Up{WrT~Oa
z?te0L<v64~U}52uDK2jA5#_$QIo<1KEwRUM&D9DXCmbfsHlV{ULnkdQQ~&4Q=%|bV
ztrE+Mv9YnlkQX#1rPuCDwNXdNrBG#TY^;RR6%z<2p+bFh&lI0sJ>0B*e79By>Y3%;
z1mQHLydAKR|GxuvGw1K&V7k&+M$mafIVmG!&`&Lj<7gV_k-Teje}JBCjlFg)mn8xi
zN&l12-4(WTz_<&gOsTI8!Y2+%7jc{1fP0;V0C41%)0UawJ=H8Z5YRAlj7z*yO=DYA
zs_7#;FrH05?MC0eeZT+jc<$@V5c6s$6qt)b%mQg4lR==&rSRXm<S&JdIYSXQx$YLp
z8hGv2E;nwM6~hg--U?s_b8V|9F8*T`iDzBYIgzSH-_A1#5+bzz7!|BHm~sJ!01HX!
zHuJTZ5C}vA5Ngb-dRm|#K9sx>xIdCh%N$WLN-t_u==vUV_33sN6#P%kf^`+2<14ci
zIli6k|DF&2?_BqGo!Dns!XfQI)afVxR}TCisqo(qE_;G=@y?$v$yBGfqPMFVkW&92
zA0Yx*v;`CkEhoMI=l}obzXAf}3_sfC71j)9h*5o~1!pX(sVd!AO#bTc?+@lRA6$*(
z)~mDC^F2y4D?tJ)Pv>s#d7gf@ZxR2pWqL59%`tWL=J;7$zWzO>X)Wl)IzN(52|gHQ
zrL+E|ddDSwvZWAISWUG%U4Fgwcj4oDC4L$j%x?DMMCFF?z3FYXczcde0hPtZ2u$RO
z9?)qhAU0OhFDj6#KI?ZE&Y&#glvh98v)FplDh`bXZgWoR-|~&i;oI7ZoEY&=AWyu0
z7Yj(X*CUzP$wfp&sEBAmX>L{y$uy<;P)8tieTdCf9q+me=2<Cly8BkpelWY|q%-5<
z-yf}oh9Qml;e%XTTYOSp%G))k3Ma;UWXUoRzmwZnX*m7lIYzrZ!Rh^sK$nY(mK^8p
z_)({ctLq;gl{+q-QoK^~(K;IOVqA<4FHb-BMJGTN^|RO265JU}V0Hst+OiCV4R3dS
zTR67GJ9}aoJAVCo+vj=GuSKZRKQt7|t^->&*V`xw>*?w7wl@Y~WkxnOB{0x3fezxQ
z4@tWBgKZ74RMSR2iIUHwj0&ltl)cr|!|?~p1gwjb-u-z~l+t?eJPTs0+gI(|KTmg5
zu>0?c>7fp`iGkd-qarf~S+98Cdh_$`uGR}=29(;KUt3OQ3vUXEtwElsRT0O7T9QT1
z#lx{4x#P56U;~;sEk$dw_PpdvESN{#rs{$Ke@)Qm;yAndWpAgo_?!H$jsC9(2M68<
z-QDkek)16*n8UU(g;f5}KtuM`K436xuujyu7b(@`LVHzd|0WK(7y6lF9$TOHgX8V2
z7g!`c7-xgD^K0#j?2;QU##8^@LXz&xOg-T@lR6y;u04KJ3+#@j?>zc|Q$@j~8frY0
z54xqpSCsp|czf@#CbM;KcxIfDK}GD0A|MtJ5Kxg0K}AGGiu8`4bV8)JKy(yP5K(DT
z0!j-l^w1#+A_4+ZLg*PlT0#gdKmtj=mEg>tefD|3^Iq>c`~2lKBl0}YTKBrwy?*6h
z%l!?{_}DKR2fhG<_@)uHyxWz!j&1jp(YBf{31QIBgG^8Gx_YMNLzo>+N%gw+<NeLx
zcKAGaFpr&6-&t@dmm{L+M|7#rDpm~w*g+BJh%qGW_Eypb$EM<CXorRUS<1EV5g{pK
zk`}naiHG070oc6pQ^Dtk#Nv4C963<Z?Gb||zRTjnB@ws7Hvc-taBN6^>8cs1A3)5a
z)}rfj?u6K)nM^;ko#GWRg5X5-&U5A%|CQT3w_}F^QnzA;(n01)o>Z}&+?noJU$G*Y
zN<0XiLxBPm%ygGaZUf(}cWR)pitW^JQe~Uo*t4~_{m$fMqJ={tggU*wv_vkiVV*>p
zy$Y7G{cBx~T~ybS&XdI{Q^9-CjiX$0>oBm1&{DAXPc<d!l7#~907INPgFykCe`ahB
z$>00alj}iA7zKY}ohXngE66%41yp6IniLAcp4Jv(9Q!ql(qv(v0hB<W5<1u*_;qcT
z+|u}V70{0SVNmEme~r}lr4kk^T5SLY1<8{vNI?J?k;h;P!PI2|>#@1xZx;4k;@-Tw
zWk=7KnMJP1zIk`uzfo@37ZuP?M^*?Wuw%z<^&a&Wdsgzgz_-67?&SnKq;*t3dE-Gp
z2Su3Dc{tC@?P`^f#m7FRiL1B8jO5CJ8n01bs9yz~)2>j_$Da9t+QQu*E%O{rJA3&T
zaa;^!2vempHhi)HhS9N<g6N=%(QkZL(9~gQZPj!73HI^mTy`!W$WR!wl_NBt48<HD
z^UZAf=^!oWM3WgO-^MHdSgLlqz{l#ZXwdaU4T1C1uUa56fN|!+Rl1xW0|)uqaZKm=
zinhImAGMSxjvky^oZR}{j90)4=nj<Xv<0~`4)NOM@Pf$1!77haulhHdJB~piM@VKf
zcH`AT40SJIA9I(3LfeI1@d)=zhOjM~RQlI4d9BP&pjS<aO-Z6-+{!r(MyHl^Kqbsm
z<P%n66!P|}yr6TxH}s`>UAV^9`^^81$<5*tzkdDtGAVT8?X{8}6ZdXT_R6n5x;e#d
zG2%ch$27$8P9zuShSW~wum_omrn$=yse#*RL6_eA|31N`I}Yy(^7g*e1-G+H7v8L{
zuHG^$54`5AlJWbpVeN;@jr^{RpLZ)>Whd4D`RBW#X=Q2>`cne~rf(7xxeW{qXgoS{
zZUZmX9{YNFUPK&wn#wYF1Ci~)pWE9{H-<cgHD=Sv@flznHKkQf*LLLKNj%$OKF9a}
z8f(RvTYz@ipQ-FS|7-YOfnB}5y|ieh%L)E&qcxauQ2vRk*k)-bV?y$T*a=XZIxMNl
zNq(>nzvMebc>e9h-6I`8^fA1QgPNW5`{_R7hAFA$+@BkF>Ngz>z%Td3gB=?zu)TRO
z+>JVb;rKPVB5hqIN?Y>F5qq8Nnz?ud_keR}L3hyl0uSB>5lm+2i+ZQ+vRW<y7XWDN
zIMh+jtqX2)Aztb-$M&vGda_?BDx|=gv;3%LE1*aiy@Ku?lE;Zw`(@NScBO&~n&rPG
zvr)pcHpZG2l<oX;gnOQVRhu8e<ckE8G59c2VQnF(Ie!L8sba7qP_e6LH~Rn-$2WEJ
zlVS4m$KAGI8%*^Voqr3`BUrAvzVdbbC2q}F(Uz8$CU7zAZ8?)U8S#k2r0g>_tEbpd
zbndXUXFt6eib>99=R{w@ppxgDq!=knh^z~IcVRnAWJ;gIJmcLyWtuMh{F(W(xZlSt
z@E!XceKAv|73pG->Mwi_WM%+h2pAIbUipij!!3m2m72ba2g`KW{yO0LAM3fl>bBLN
z;cri>N{DjKu>aXlDS*Q7{N917|I-hgPz675qpR)ae^NDao^oF2?x1^iz}o!ac^R35
zohgbjYVO{nH9j<Ltt6b5DO#6(RCC{`>Rg&^SxF8jiiskVTy9JOlrIuPF$@OuL@wlH
z0{ti@ESi+Ls+t>9yu2^DpM*)cf{$nQS)LsRd1)J;J^!3LbKX^w6<pRQwPtb)`AW2)
z|K|AS9mj}h(|dWaHj94eT!EDvjLjJKDCfe4(q1K?u54PweY-L6=H?g3nS==?#vAMS
zM-hXAgAc%s^YC!fbNbQky}Bj)jY*vIGQTw`M_X5SCOW{ZKG27$&>vcjW@&94il07!
z%yQB+E~=jfaFixRtO0Br=sIuGDU4bzuJZGUcvB9)jX|AXlZ!yQK;`)N+Unj<$hGiM
z=4M7gyg}`V39{}`K%;SPr}d_kL+OZ*dB|QP{%%pXxbms2fzLB%LbIx`Ngo*kp_VbT
zku;%N%7BwMFNdbe<X?%P(P+i??eSX$KO&7TC@LljrLYas&!eKIj_xy-0NKf~mi_KX
zm4J)4Z{I#wcXLB}96*g)<!{mj%<9*YPz_>2^{9>Pq1ejh9&~gcbKaP6(kp*YhC5t)
zX^bb|=c(^V7<L;Ac+TxTB;>nEi7qwQA$!{REbD*cw#WjwM(vwcPrNft(GYqq4ID`0
z6YNf<C9ub)-qZ<f+)=5Mt`X~>*ETWi<K)Y)&SFYlc5t{#k>CCMr`5dff*zl=yUn1J
za%03{iRBNGhQ?Qoy0fi63Mo7|k-|m<%|y)m3&1>_R;QgDidUg(2k499vg_jbh>zDq
zae#1QuWBEC=+YP`@&F{Gzn->A5SlXjg**VuwSEfAgMt!^B93!L3U`Cma~gz!99ehi
z+j@9lWgp;mhPA^ykRjMLaG+9>)cCX7D+ZO|)@7?x$}Uf`>ayghC#@3#a+uxS-CL;w
zNvID=#-PH<s@@01*)<yw04&9sdp)6YwOqg$an3F=E|Kfo<yEoB%NkZDi+Q$4+^Ho*
zi+UAq00o6<ut}~CY0oo=ZJaP0tanC4h+@_H*!9rW0r!i~NvmMcIAEU3-SiP~<6E)~
zmp`#Dcj%0;((uX9IAf#oT)w5@N*G>i?1i9eQkvC%f_%^!72BI(%Npg90bmtn>f~t$
zNJ#f_k#+N6M(l!FmzX&;QO_YI0KSvCpf-n9Ys=p?R6@|N-$yVU1~nhSD6dyZJ)K=X
zgJlXGN}Fh<@KW7#wd?j(B=4D2VuX-MM-SJ8Tu<<HTFo_!+;L#yJNV8{+~Sv#v<|DZ
z@A$_=X$g(4zA{2y!w<<*C+fBjqd(}rUna<FL9KH~k6F)Lt!SP+lvLpp20|z=h7B8C
z@@g}nTua*q(+&?b>@}Pf+~ZPX>ri%N#`XN;;vP`$a<Xmi)r@Mx4`nKPU=BbO0F<d@
zwOd=r40qETRF~3#t>SDxfahVSi0QZ?^tg}IeG3(xcg_}$H&(gx*&Jz}whT&zs<WC4
zN^&g~lSfd9-Q91ub?Hv{3D41F;ccK!=sQqXKr>F=R88w2gdxxsn!yGQIN#(BP_@A-
zI*eDI%Gp{#i$>vEj4L?zgam0$;s5^NtoBb#*vB5P@-GkO76MUs%}`kt2TstRpkMn^
z0&A)dbYxZETB+v13k!ucUYkmK`*jn0jvnkVPmzA{Z~j=Tc)(dMW|;NL%DL2pYwS@C
z#VG+whO?O%IbBK+2RD)YBb4GHHFKx(m7W!1V8rHt@A*IV;S?4YKUAk*D_hqY>K54|
zb_vP}Y$H)lU{A-Q#-2g8u|x6VV4<9^1}ff?+FSP0Vf%!%@>;ybR}GDi{d*rOkfZk@
zBO@bV6fh<{)UJ+>sjgYvsaul<SAMlP10`k&KeZ20m$7lE#dLu6Tm(I9`@4$)<ik}S
z;h`sJ=nuC|iM)AoPrL4HfAS-#gNuk$HG2w+lkCGnJI-xp+9TtKcD<NASaEBpUua*_
z?j?2h33MW$dT_dnTh?1vPVR_<gF|CqpJB*k0<af<>zYQUq<l%+sSg*Fw6#xUM?E;z
zpms$~>;KZVd^y-4weKcI3^vu=qbVPJ-$=9@v!-3IKw+QP9*Vv{SiH5~p`UExQW=J?
z-cSh5hH|nSk(1pzQkMIayHTK6IJZ<c;s)rXRi`uoW#1>@X0gz@xw$P(;aT8T%eVfs
z7eF+)QLVo-`>RT${+NDp;C`F9>t06<3GwU|74zkpob9vl&*oqNe7}6M`Cb&v9{>Xo
zpNh5*)AGYB|I)4`iHZAxvvCFCdpqKsq&kd}y0XA4xOw^EQff~IW!~I$3=^S4{1@*I
z0H!!<tkw@!#iWy5DaqQiki#|K?sX)|^6WUIWseB~nJvKqBaK&iJ?<IcR$&F=ucKnn
zMG%(_&nL?z>y~p5yICNo&DgJm`Vv?I2Nz_5W(4k^v*ci7$J-MApxW^lj&qK-`UeKU
z^|J#QR}<}tA=e@va4EbMyMEjvJk1jM%=~0c?~m8DeW@k^>NgxeI|eJ5_w^_rdAGy$
zq{UW{C)lr!EBh8yRXO$st7W9mTFSG&{tey(Mc+TtkXW7I&8!QmjHfmwb{f`&zB_9a
z3#MJiYJ5m87iJHLO5!g@d4CEjx}k;rdPf)ghf>B3?HzuiIw?7GbMqMkYye6cADAo$
z-DOeX*2?G1?>FM12|?S_cSzH}KFaCuh0_`)A|%o+H#+?qVr;^)jw&UKF>P}K8`dyI
zxGgI{$<x+8&fU%dH_p{(uQLcNMiR2J2z2Eg-&mTYUF0zz0~Ax&Oq!C9IJ;3<$BgTz
zCc(Ahk=l^;sZDSjS4V<a8cLPyOjDwF%|O<xAAp<S;DcupEDs1SzYPD@?%?Ry)B;&6
zft&lNGMA!xXVMTMOlC4+%VA?3!CHq4@H_<Kimt91k{WA~m$i>=;DIN4`uAlB#!2@k
zS|L{C5iwl}W56jpKlC==^ChqBT>ZSgbUwL^xj<n`IXyHc!3pcZHvY>oX(?VrtY1CJ
zidG(9zZfdLhtJCU4wLzbAGU|J)x}CF%76q?^KFn_z@4`&&AP~@ZE2g~YFp#gy!GAo
z9*B)_gz1VXZ-RB8b7$+YCS>^)+&mCVwZO*dlGI>9!^6w)sqt<g(*&HgwVuWFLC$88
zlFyyFl}v!j#Se`JmYQ~vECciUj~)na%=2VZ%+mFILlSxvGVWM{K0qKVx{ZDz*dso!
zWeO-fxa{cA7gDNLK0{c|mhZqWMZr?Km>Y%AQ_4@@AVx{n@~m3yX6*`Mkqe=hT=WdP
z5s7`nLK0|58i7eBq;~DS=F(oeqk%@)>L8@Bq6iyNG#eJxCar64Ec-9s(rg$wn-0Xs
zL&L+sK1#FMYPLz~+Pia_usOEgf5e_kWJQg&qL#+m8tGz;Y~g{Kb*L1v)q+StOi9=%
zvJBLy2GtJGD{@PlSk~ss;O7u#Ow<DYNGm~i>!a=$?6))0iHN008<jMH=Y8?Pfbmab
zl?ZK?(B|*jGpD2x0ni2!!}jQ{&(UAhC;?r`3HX81O}{U!ue^+}TfEFacsm`rw0Qyt
zue5IUrZHEyG}|M|Y77+XQkuZI4z;<Px-OsPl+UIjMkWOlSZuWbk_GPRGqoTyC<qo@
zPFyZc-~sp*&oH#4jl?usBF(k1T7-26`!Qai0Q`T46%(6a>egey)weXnW+fsra+<K-
zu-@UwRk1So=x(8z#Y^q8$@4$BhO94)@(em~1+9SV-WbzmJEmy6rRyFrSJGH;D8>(T
zzFZmnK!^LDP(lpaC*Y=CCysXce}elKL(+m}R9NlUt#*uk&v2E;J!Z_Pr33R|+Qv2L
zVA@t|+80N8H)PjdC9lz;-`ys}bOYMpasw|}TdTS(Z|I#hvJTk`-Q|CWf`$dVLd|>;
zaYIT;Kv0vaXR%hMwpoU;C$BPRqnSAsI&%Jc7Mcf%O&iK<c_#IF6$J(Bxw^sN&zwr=
zaK#W@`#x8ZtSUqBqjCQx3PDFzIYE>+(CCbjNVHKsz3v(z5Jxd}(?Ag0?RsYv3Q>gC
zfwn-pKqNZHq_8pvUx-ixuKerOG&Sa=T4BIhd@|3=zIY6YkZ#>=Q_F;+Oy;B0v7RB#
z%&(Nvq>!$A*;9co8k<iz^;!Fy_W+i4*%Tuet@<U%f8X<nr}egiE^apBzPuSc$`(=^
ze2q5ueQ2~<A*Y<fQxwqQx=b5<bZsNfh871mXLZX*3|=v2G801P5*o`=sReLz!rKNQ
zL;8%Orp^DLI?Hd2kp}*0Vg5z%e<W9cu$~V78SM`)wKs^!yt#yi)huED+h6Z9dHm(h
zzXU6`D|o?6-S<5bi=|B`Hz|)Ty?`qzJMD#m4$~{n3{mAjejU7WhiOf)c3}BW_nJ|j
zVCnhTHt;mQ`dN+f{n7r{n9Pb{_jW8A$B(mcqsN0r$4qZX{zgZ&!$;UnS;lVc;_krK
z<c99fy{pU4s=`?V-&Cjla7HG$BXh|iP>G6(IYs&>CH|_<d~+65yINq!S%INsbqT+>
zWCv2Uz1-;6mE^QZ7EnxSYDJbx-)e`i+cF>aX1@y3Xdmdu<hTr5qCy}?#HD&?PNvor
zmhsv34szF+xw<J$o{)>Wc%89vEWue7mwm)W)~d6*>Rc-K9cxVrl?U$D>@zfXIN>l}
zjHF>ze*`bqDJ?BQI*gZ)lAy<5&$n-;kt>Wwbj*sX3XrM&k&>yB2MBz4Eu1Un#ihvh
z2(v>ok*=76*>?pd*4a}f;1^XIrASv)6~u9QkmH@JzfbXB{LkAw?l(M!<>FNvn!X<9
z@TFi6b5vWUOS65m&&Nu0W0ePzq$9Esy%Q0X$X@&UiPH4&J}AZlHCj618`(SM6VYz2
zU7255wRb#1@i6$gspoBDk?r6;jy2Ql5mWY~v*1JAD;2E9+&#<&)!DD#BT;B#X`DiE
zuWk0JnTi+|Cml|>saCPPH4!*v?;%isg#GOyFCyx)o1OpA(oPsYlsrcI!>WDKUcsYU
zkaP&&d)L@)qD+Q&*}mo)YG4&&?U`OH*&-sq<4H79Ykm|qe><%h07%(^HLKSXGM$hU
z@3Xd?P8hA=CQjvCLVxHAhpfJ%m8Nq^_TJ5sYQEDew|z?b8>ja8^~1r-q0Be^LQ7L>
zeN?DZosKoalr$V1EP<xg6sp#yoUlRp-_x;@VSyM{Q2Vv}!}TS8BY|tPN&!&OG0Igg
z1$r3!r?7Gsq*<lSfpQgP9u*tSl}x^1&};t};o9<(HpY-smmLq!zP&R1S{I!GCB7G{
zg`Y|*ve%$2zqA^A6=YIxH~HwL3TTGeObe{BhS2*Hxd!b|D~igEDPOks8AbS--D-HT
zx59h+VW*N_SQoe>wF$@%rOsj9)zUsQPw6U2sHg1xw)*S9tUA8mF`@I@7dn+RDPEm0
zqcWp7{)iWTcR~GVi-=UMil~j|Pz@78|N5cZ)n;=Dj!aMO#~nR;!2)VRC0@SeQ#U0E
zYn{sCbN#x<$|4OpW}PqZP`Kmsyne#l<chpjRMI7ChEJx1&TxceZQUt$@1j;}`8kI|
zx6<|}jS|*N5hFpqi8n3J%>JRjeoD``hS0b$|5n%W#jIDx=Fu%sx&#-RsGPvH4W7}V
z4W1YZqboWT${<R6*S&&q$yU||!^SGLnrSxB%7M~$V;9}lZi?|2OP`SO-8P>|an@Um
zo|+o9-#eXNb1?*)yQ=F*dqj|N={~DLhm!Zc_sM?U|7vZa@rt`IO(!HfrvKTFA1^fd
zi@Yv3y64u@d-RgIrrOd&bJAP`_h8l?+K0OM!^7;tVoQd<EAv?*Y3z938KQ=exqR*Y
zldM-25DTI-wamP(NQ0TZD1<AN30$o`K3KJ3Kgc+-njzBhraFY+Z4<dso3dk_p~);Y
zNN_DHx852d78LqBnDA7=uF4C&Xqarc9T{um8(_XeN+)gqXs^0ss@O^?-)KhTcZw_Z
z@`%tUY-kdhxBcj$b<7ka<Q1mx#qdpP4^LX2Hu1FEY61Qbz+Af@Gs%_<UAN+h<!cAL
z@Pzvv%+8)=Pc2%3lK`Mm43+7+;CxP0rB{Ad38dgjr7Bc)F3p+`X}?R$37kK~`=<PP
zaV!e7ZmY2!dv!{)5nN+jIs5RUCpe$?`y2qMPW4B8?4DEkcpVis+0Z62h0$>X=lBEh
zM?V!%hs0nPnkKUR6CB8{lUW9N-P><(bmK&=u6`5WCHm`0K(xEMpofFYra}NkY5M$3
zTDtbd({3f#wf&aua?xbJd_t={ZlOQCLdMDZo0(+u`cKu1ghQ!71*`ZLzM9IB36AG~
z%bKm<SkG+G>*e!2(lP%$!q|a|_Jr?x)DX}&n{-{y$1&(|E=+S$z7X(|0B-e^q=!}Z
z3T^!P9b}QF2_@u3HU(`uq}F^)mh2;S`l^id^njRp+uq0oyHN<4bBcH?`jy<EI7RqX
zi)^<bW?eI7P<|7+O$LME9tx?XBjE;Q_h2XG$I}|AIDNSE%iS#PaiDFD+rfbb!B`z?
zxMdwNwy8L}{%99a#NFN%oQ&H4n=JA=+JNF+Q@&Hed#Fl>B*KxzIp^E!%C+h$N~dv`
z7MCw!!3z)V8s~OJO9sCd9?v%vrB3*WKl<d5_^#p_B>eG0)&(=f4ChTBoW8u?5x*In
zj$V}v;0)^4ldQm!zIeX8G-9%gfl!Z-q4Y<;IAUh7VVsh482ijgKrgv_1rOBd*xr$_
zZYo@_X)s^E^!3EU>xpc|Tb^XFRgrXb4J&M?NnaZtHzQNV+85k-D{b)!ravCi`f|}I
zFD7tFiJzkVPUW1;=>Xoxe7HY4IOLkG)<dT96(+N|&sc3A5SR^R>NI}pGS36VM8G?G
zE<nww!i*~b5Cc%ykfu>?jKctccIl&Zh~9qKU4w?D<XzG7r}}snzrV=nlZ(t)*rD91
z=Ia2vfdY)Pf2b##Hit0?ds3v2?2E+b{(LOiK5Xa!?fBlBgirSw$Zc}?)eocc77Odo
zDtaovJ(FvFS-f;Gp4hB!VVx6_2g}nAzJbsK_!sz)wL3<{%%i>l$qK1t!%pV>$P4ef
zQ4W%Ot)HG^>%#^dAj%!5=ua?(G5*4CsJi%?6gIT%%=%g*S#RoMfxk)R*7Xt|ibcQX
zBaUuEB!P(!r<h;$YZH#1Gm7lHX-aGdPd-Nl2W#iBavfJ-LD#hk2MB)0c@BR!M)u8X
zu(kom_8V6)6O%tj{<y79y9Az|j_q>>*c?d-5R}=|{oAxlIl`$v-ufH{P0FM{K><{<
z&A4?pbzvK9tH1r;6XBFQ+P)_~PlI^+9MwKoQaYY~ExGuTIv~*#+_zAL>VS7~ctfnT
zco9hPRW`CI0+Oedl@;j9({>+1xWcGQC?Gpeoovt@=N`TV@GbBLPyp0n`rQ-o`Uyt4
zI>gXE9X8-WHxrgMcdg}1dbq8XHkAI64m*<j9?)^c4q(Y-H2~F6vwoTrc-{>lndpgP
z_4z#YYwX!$!0>IqLm72P5lK{^w<oQKx{0|*JsK1m#qWbdR`TA{e-63)(bqm~&M$tA
zH@Acz3i8>gzc5B$`dV`7La4~}_D8RAn=T|vV#qN!2|oe)U~cb`8(L84hyUWilI@p6
z-3@yR<^qq)jy9e2)!UWt15$%?FNih?wiE#)*YRh#^NHR~9G^gA(k88kW+t^bu!!l4
zpU;8SH`M;hC?EP-iF?>32t94#;+o7EZgi=Od>TNAM&%Oj9R>6%?rK0gJ^x#CX{XK*
z8x*^z>NBc+JofCd=h0_yy(jvv<QDwz&iJl-Y})faoAyj*)1HbgfcAuo|7wfI@P84h
z6CMLJxhMdqpL~vgq9+Zo60(qac@|j9B&A%)xU&?P0i)%s^~xNO>az5~;t?Tpm-UN}
zvs_*&acc#exwJ=SLApiGb-V-uge-nmE@>Yi^N(`q%dy%~ojANJGeu9m1*qO^9UMe%
zYim!*R}B{1sx#q}K;*LJd?HW~>h^?<Pr9wDTLa`AO*#$8@={V*)^-XnH`W6AxZg)V
zxUtvrshoZOx6nYpF-|J77P(ukR^GQ@zf%i$(&s=ty%gj`t>AQR(<EWQ4Qk0V4e;O#
zwPbE{$V|Ulq<9e?q-xdQy+H@j@vraHZ36?9Sa&Yhe7Q&JM`OywE=999$sW<D*@MP{
zAWU4LuZ8T{x%sLK8~8fMD0q1cjTzmo{eC+O<R$#TkdHLHo2v~sEdz;ApAbI;b~}J(
zX~|^zm<P>$LJ*Yz4CNfgp_SL&D-EWo#`mMuoLOJKUR(cH8Z@|!dlYpw0S<0^&$fMN
zms`+Z+2=l8G^(N{{Wxz_swhk9RHBmw8`H}6u>gBOMPUr_VCwYMa<Sp41mG8X!tY)s
zOy~psu+?b?REQtGCoAN8CS$Xy(5lv@6mJ~_ty-u7M&V>_?=m&F>|VFjEZ;J+Bwj^d
z)Ye(`zxsff8tWxWD^UA9m>($VGun?|2XyFycg8*|`m3H_B~*c8q1iQ2_|K)Sm}ZUr
zz8PQQ`X8LhJT!hi+1Xg~hxN&A{Pb^CJqPmf{|R>!*hBJq`4&F@ix7@OEGf(Y3rK_)
z^VA<d{#`})w_o&s@f%G0lbyvG;Kur}$(HCDd0bzwT9WJq85x;za8o_)-fcYEB7v|6
zb<`pyAzdJ#(M3QDVq|f=<BU;lvSk6g;)r6HX6*qk4(!2l#0{w@QIMw;_f?FJiwGbH
zYnPCDuv|&rzlgBU%$VZlx^in2;_*2k)#PU!BJ>YkXgMTZe!Yzy4%uv1Re#!HVwQL!
zo5S+audtBzQ0^~khv;2URYj`x+@}(8w0pPOf9dM%3~LJKol%~hxTtEbt41~#B~R2m
z!3D;{BYZ2XGoAdBBSYmtqRo4?e1R`gDWk&rS;#IeP?2_f<x$+J2E=o8Vfe0LG$q#Z
z940bxqkMZ?j{gA|yed)*PzX`>D_Ssg8qk<XMc?JCu9<c0%mR!V+^!6>ch-5Y6*-iW
zeZoXmm1O&zy+Dpa!1Db!Z{9eWrKKMII~}@vn-1l5FW9C-Wv#F=z8+^9T~xIo8nwfg
z`sKA9%~zAbK8(9TdlRXFykk*xO)d0{&w+|rMVudy`}rJU?1O}o`~7Z7#Sb;#h7bK&
z%*?BCTXg33Vh@7A??H!%f&pzlt{m`AR)4G~G7DUQ2=+u~fu6KcYYIJEB{!y2Ye|13
zp31gn9si5bJTPS^d*YpezW4OUjSc?>e>M}kV)su>s7rpfi|a3q<|`j}cZ53i0&pEn
zzEM;x@Sk1u0xNIIEb7};P(M(wmgmAIKpg}5PKOr&X^*JwJ?mVSj;TxgZk#R^ik4&;
z{?n9$Im!(tMEM$B1U?YJG7P%cIq@^x|3v|(!N<jK_p8#Gzc^8j0xq^<Kp%tIYl{w;
z2nDIc8Sow;m*s(w>UU05WK;D8*FE2X@*+@ps84>$E>}|MpCa-?Q6FcrK~HUZMSpxq
z9-sLs;FK_R>19)KU`F~HDA#Mn6MKQ?otWt+Z(SZ0QfaT4VYj(P#wbN|h|W97ciude
z@9KMhtr~4rD~AQ5fLsIG8DWoryb7Rw`rjS3>l(LS)%ad_yzO+Y&@A#X-$ZAYZ{fGA
z#M1>3iCCe&E<P|Oqu*@NgeX+3&$(a=7gXQ$b58g_PGX0D{Io5nAOmI#O^*BG9L5>w
zV+&j|>+C`Jfx$I*ym2u%DM4pULRs%!kZI0bSR!Bsi#|N}%0)_4zf|JR@7guRMO^{a
zotu1sDamhA%w9kX>@H#$MNYzd{}u@R(w<}mfS8EPYRHmneMNu!*ZRso22_Y3dck}4
zAANm0Z#pYxeLCX@WIwUVQ*|!GDzZI!bU1x9@NvVr{?WV_Rq(G~&wMh$@|nBS5Eq`;
zB?=Z!at)eVyA)gcA`7NPjvY!_;wT>VIF`R26|lCO^$GgG#2Bpi*Fs^3^B17g0>6l~
z=cb6!N>6JLQ1ne?37|XQJY6}3&;4p^CP<2+CXgalPMKIk&Qda1rn-ZE98UBdJYe|o
zGKk&*cVcBf<&#01Qaq?F4P3lFaTe<p?T28oYONG=c6lx6>r+4$&)!lv?nAI%FM{j>
zRuWp~bfRI0mMA3-RA3#DBv~u|%zmQak&gbOVF62g_XdD;?tpRHk8QlfnK1U#mW%&K
zo+g;{+tH(~MUfGY4>a2WbsP0fuUGCI-=yW|P%t3D#%I-X(xk!r)wVX7WBGN(NT&3P
zKAqf-qZ}}Hr!3nsdak31bB+Mn;RVNT^w%N^Xa{K)qzp{w%lrDW(#Sd!-?vvkX=-YE
zvDo~l&lfiTxdQmlE{u$LXO`s+*1>+6J?{o7`#Orp6E2QNVM2ZnE!@YBA*;hAiEX{W
z2~KWtrg1iXSgy8bCgdz^4$L6OtO^pqv|TO$AqsrLPRHa0IM37rCEGB%yT$(R^_(ZC
zo;yz1uIHK^SJ%4xOJPLIR`zH6oB(}6duuOUW(Trw!GAxZI)i|WaP`-oe<DAdXM4f{
z;h7raXpqD7I>QG>S+!{ztA0s+>P8X<0%VZv@6Npb-Q-ga<X17ppdNt+l=K0`h@!qw
zY~?EWR1zRtjX>`5D(MsPInb}9{`w}au6(88WKi9$&6$T47PZCm;NEWAnNB1|@jqzS
zkcACEyXNKlFx@O{=9Uy#<l+Wx@}%%9Z#3E8j<NX1A}*=;vs6RW2CPi$H55pBewW01
zo+(DKn8mL6!lCJ+`n914qds`tn0zwZXe&2tTpIwei9)d6eQUq8wde4*B~;=Ug5!W}
z1Slp0?lf3^nzA?Q0TLLXw^QuZq2&6_9cHB-7ZTzH6)&kgu`u3*{yf4?qsIA}6l1af
z&HL)tyFrq;6|)?rdR~EY1Nnq3@}n!mT_vmF-rTUha+aLqwg{(hd&qeI?}jY4-h}Ru
zWM9VQ6zYFr(0_9zgee2T*>4L>(1QFw`)id)k8XkLZD(HX$hMI0drkL`KhBS^%?=ON
zi%d8u$=__j-;23DhCj83$aMTwnzi*ERQ+3NmT{9)ntjeXnja7wP4ZseuQ;JW$}#J!
zeyid?RE_`#^EYWmEYrYeW0<JeF3E9p@WJ55Pa&Duv|ON>e>aq=c8c^}0Os|R*rsPq
z5fJL&c>Cca*V_oc_C?0|%0r&=mADM)+>&~723X|y8z^cY{qp>P6ngk|W#5b7OlW3E
zq5h_*3u>8>Q#RWg7&yo!o{d7SXeJd{*DE1bovQ!%Q^SVRx6IZg&7nrl3gIc=)GaHA
z%qwG<)ofQKc&aF{lru|KufqAvwAX7o(?dj|C8vSh8LCC-+l`J1lwSUhdKHU&og<v!
zylNa)R%o-zKxEXvq$fM^nh-GQmRUeF*cQa@G7TgUFjt&`<yy^W#CAoTArvV^%9`p*
z|IM~=jB07}|8HBEnv6igpOTC%NWML4CZMhWTOd7iAaGPI-ufx!Wd58r-mH(3DH;Fm
zs%ajS?K$$%r)Z3!I0tVa`%+@?Ut7n3f3#dVeNV`*Et6l`c<55hta_1{k8eAQ?evrk
ztjOsF8qSJul9<Tg*k!YlZ<|JrCE#Kj>GsRbk9Kf1&h?`BkZ0~lneI5C6sqB<^E^6w
zCQ=i~kY%LT$ioS|#%@F9VxTYLNt^35L!kqxA#+h9mL+f)gG!pnFPqO9))|ds{Wt4h
zTK*~_6st?#bT0=`O<Ux#rH0}#7M`;?jo&`ugSf$Y+rSS=x*gl^dN4rL`mAm_kixc=
z9b3BU|9$F30wRs_Zy|atkBqFd{?(^o&-N+&4Bqxn<r=3-`&mM+4Ml$m!SyTU(q|$#
zm8lUS$BY`C#W$fW-BSz@8!(Wxw{RDNUj~qN8C&-~T@RJr!g3bP9><?@H`TX;bay}8
z<@>yUR$jUaK*c(?efB9|qXh`;cp#2zwJ0z*qQ^{^{?Wi<0X<O!dAKrsBjd+NW63cU
zaF^Rug)eys-k)oLa)~@Eq&ka1@<JcFxFQW1UK-n*2duAv-qN#s3CZVd3eL}-!Ub?W
z2!>MI4U&_Dw9CiM#$!wy&dwJm^Qey@Jc?%z_%E&y*%<dafY00pZPng!yrsbL@NxGz
z+r*#+q%7YgjnU$an_gxQ2rQOV`(=$=i8cM~QtcZMu7Ogm?=0bV8BPUnowBFn<7?DV
zWWKX%xQjspHGZ@9<B&Yi3+kt<+>Gbw(8{)T%>F-7f1YiK2d<A(t_{{cGh)Q7GCSl6
zpb~<;J7xfm@96w8psSY*0I&$;B)!Sf@n38TG>0VgboJWAeJ7E46`ZxDHc1i4iP4oK
zgfqaM0`!0frf!z9)nI2*ksK@0`-3^6mpS2b+-!xKr>uKN8hM!XbGL|F@NV3jlWbfD
z3G55dRtp!4_5IyK(@M$FKfUyRZn|B*P1Z|JY#Nh3PQ8LP%O(rqp%u4RCOq+lqK2KP
z8;TA_8F&PIIo|-wBvK|kmpp13%00xTqKBfihOv>Piu8%)903Aq8C@09Rk@}OVAqth
zx}_X|V`=_-y1lIWBPUj-J|`8Kj0Qvm&J~!70xcZLBInZ~fOL_FY|%HEkl~u>r_A$s
zv%yCZ{?3{z_tHmfJwm=sxTX-ENlU}l$1r>-b(xZHxoZ<H=3VcAsIGpBDOJLGYV29v
z*Z<9@(ty%!9w^<Y3NA~6M@nM!{}(1gLRIg=#fz_Py7;)xL?Dj{X&p=Jf2VU2ekZ@T
z+*MlVse@gs0l67ho~n)!BLucHtnA3i08bLTlX_Z<qaYhJ`%b?H{^V_=1<00HvNlCE
zD~G5(W+giNppE^NdQoBk1ntMM_2FPSR`>|*XV?~&0UrbLEfB2MrHP1$9HYCsyGtSV
zVg&CT>&lr8gY6?Ph6T=@z!z_PPhULaqIF=zb&J39ZAX6NI~DHO|4!taJFYk)Uf<s{
zSW;5L)`4edXD{>bgANo6Bbck-zTIbD+NT;>F>uz#vhv?M7U;5`9ft#do&yfe#&_!B
zjcnszhEDGpLD268s*rqjMXbn2KN-wM#J_7c&|VsAH)7Vhe$>7__q`;P4Wx|KkJCv-
zMZj_Tm#wwT>0x@J+*Go2dD6^KWX!un(`CaT4_Wk#9<;4;%oCAdx+y|`VstB3w3RJB
ziuac)1wE>`<wqW<LtH^Ou6J-Vt5;NKPRPWcdc@dV4+od#;^h9}X9&qX$cdx8y{@VE
zHR?^BE$AmwYi+@<<2xA&>bOuB3t(wJ4Rfs!@;UNXH7FyN-{WX_NTNULs`s3xO9niz
zPyuAkBmb_fY3P^*%f6}9{5|;pwd(tA3%D5U7B|02{AUgZu*-&tuxrMo!quz)hnn$&
zF1u#L^49;fy}<tCGwwPaFs(>-2IgV8zZ|Xn97n6cJKt6p<X;e;k}N2vhqb4gv-)oi
z*pYLs3*eg4xsY?DOrWgqd^u|nzic$C8(^$OExjxQ0a#wwEl}5y-#q(EThGR9BF&uZ
z`><+&)yiCE?;>nuo4-tp!9QHnnNxHuezOc5<Z=^D*AQ{#wR1w~nAaKh$ZkJ1n*{r}
zcD}xH$02Y9-a69)!30#AF%&@6h^<y4E`OyZwqjxe4&IP11^}tzk_KQS2rV8Byt&kk
zuGsSH0n%lPW|)}Ib)ncSII1oS4-GqFoq5zE!mrVsZJuylHQC;HFKjm{%C}}E>-Xuh
z`#4yvzMDHF?SVWL?=M`Sq6f4HY^^_A0t?zdy%r|xf~Qsk?S79`MXcqoy7hVuvspI1
zY^tNoO7_MDH8r6Mx53wG0`JPiMMOnct~`yCFbM<6LW7$2-LsHHaM=lLlH{yKa6*bF
zX)hhX-?Xiz+T|kIa3C$@{u_PA)hlLg(te0k2_N50#Y~3Tm)`F+VHoEWGUcYvRDDj`
zXH3dm1mnuFQG^x)ymac(a(AV5kd@<M3>R8wC=Ha3Y|n3G+QA_;F~DonN?9TG6kxX4
zdD`1NqBG?;A)zkPad2qwdO5&pU{d1Tn_X<z904Evt8@(R7C*rbhEtrOb_WC92Y?ke
z7zj5a0-%9hcC|j{izH^wG1R}L?*)VMmnnqZwCl}bn*7t^9#P;r+$Q+i<fkxufqU7g
zr|>o3_W`A`2h{jf^}bZ#_jeCD%IpOs1=1ls`@>T^3yh1ADd>k9q7;8!Sss|ir2Fj!
z>35WUh=vfS{ahE86SG*E%M|z^dOTiN0F6e=sFboC*IN~S^ETEj%kD-EC@m>zT?>@<
zA01k(O6Zq%bT$_4xF)Di$~;HaU-e+LQ}%2&Tr_E4yrN4uP{=5gu)9yoH4KayTK}jF
z=EDw&goGOcM8~Wx2zjfZ#B2?f<$Lcivva%Zy~T!P_zh071P>U~p8%sFhfXr3W!Lo!
zCvJz$)r*-7(E3VT4UFQD3pkY+NXK?{NH-xkjBsl1jx|q<T3;wc@7<0M3VJ2Mn`_5>
z*$UOS>2evZ*TfNSEK7yJmN}7K^+?&EiTRTsJdu|Ua%cD7G$Urs-Xne`j}NSO_7RaP
z{&{j}?mV<l1f5Jz14?gPxDWF5!4ek^|H9@{B}wId#v=a=T}m%ggl)5Q{n^_sTL%#b
zYjYKNt!SH{X>~^Wv^pn-mO%_<p|5)ivqNZP>*5v)aH&eCt|SD{Uan^soy{_QNgj_O
zMW&8%7fV+4&yd9fj`nqx+J_mnUGo`R9GkRduIA0(emj3Cw}2e-?b8F?LB7t{;!Myg
zY35egCB7NXiDx#J1D*H!Zq}y&zqpS8JED`9`!O}lo&(^rK+ryHSK~onXKo*Ba8!aj
za`|2ZgtB)LH^w-@_#<d`^4qj=LD{WD)4<%<zHxPXh%+M>o5bzYl~_~JB29g^R%<?f
z?&L&lAa>}o#*$wm9b$4ZvwB;9ei_ACS;&fE$`mJ6od8ujA-1v*M@@+TfwSz505z|r
zm9sJg8n-Ab7oVal>Al-jDtGk=s14F9w?O2!3vQO(v%OR+|LJqms~7q;(VudwL$wUs
zwi4(6a0m<(!4EQ?ehTuqQDy3w;*R-HRVS4A5o+eodD-%|8sdtiOo2W*9@tt<#MIX(
z*tE{&A`aZRHZ-G81(dQB&ICmTM=zJ!SjsmXXdwMlxf(#2vn~UKSoAjN4>E*MW&n!+
zV{fJf^1}WZ%|fI{q`mHD*W~z?z)U!(oL(%~*fg>&YOYajbqggW0BhNreyi+zE~L+;
zq|?+j#boS3ict0PvUNlB@YCUQt}V1z64HplASv#a7lORQ;O?D;3#E|f1x1AL(}f3R
z+en|-KLA^Yu>Zpi{L_tNGkz28?ZfqexT_oukygeN-Qr+ddzw|uJvydaeA2HcK4W8_
z3lz?zE0`R7y4hTnc5Y_hOynsyGskKIIM!kcBSHR!8;sQ$<892hztRYFLy?kv*Xat@
z4`u%S3sbhs<2~EuA>&eWig==O<Hs9pyf^V2u04CjB%J1x-xN=FE&Y({!{eKfH+sT2
z5EP^~Lzcsp@k3Dgk(tmLb0m7gstrQ2Y%MnOg%CJP+MP4vzN8ixRj?+ELo%cQdNyYO
z30%gzh+N(TbchikYYTip+kq)Gqp}yqJl^T+dd@cS_oHm|^T!CpAAD2ZilIq@21=i!
z*huj0bM=NdYj0T>Z1&wETvV6n8lBDSJS<^eR2>`KU;Wyav<iR50nbN4JBYL=<j$y3
za}a~%<I-n=-7HRN3hnB{$U3wA?88q)=X(wi>i|ze>)bp46wG$cbN|GTppk;Qk(ZYj
zt<05r?d27<jNkjsvi^MXv5@^cXQRM!jChA**ant#DVba>&_~qpfo<@&7o5m9(gJFY
z0w3gmwdUlm5sFHF<LBQEC_Y;k7jdj}YuNmBT+KB*j+OVu60KD3%(^DV0GaR5()bQ0
znR3N*ZT^OWGFJSyJ*$^T$4;a&n40>aorUB^Ehruq;T7z_4hj&eMN%q*to%2kQ}}!>
zyP02No-w?}`@AO)8ZHQ!Rn=u1?LxzaYFtm=CV0UVSX)u!U;BQiXb)>PhILS*zt*E>
zn(9&0O^F7MO^L6{Y@6E-+v13He76R9l1n%I@OojZ&@bK-AD<P6th7DA=2zm~koA5L
zIIT&u5h||}THBx`U|eLjKV(&M1|Odw8ZpGxaDl&ps#`W*A$>da9+yMYD)_advp0Sl
z_E4~VfTJ%4ca0nn+$divcF?BJEY7YwG|df$CVvoAmgAeoJ5=|Rr+xP#*6(lha78~+
zC!}(RHw2v|wbwRHTX8kMXqSJIpH?qcpa_$r$v~=Ex8J0tbU=3RzW0nIU$pDq;2GKG
zwGLg~u%fNWQCpUz!T6We`wFbm?gz{%QX>v*RK8X~P$YrUP34hqU^yvlP#=%aTA@n2
zKG)mM|1N7g-0a#U+ckPbDrEN4goC*bpNw>f`y^#~<Ppz!28Cv=;MwA~MpHdJUG}*=
z3Yt*RzIm6?8Q&wxcl&+_%DBJ9L>`$Iyt9Rrb_JaivN6B8z|G~3+=Y4}z?-jW{L6BX
zjMw~a1&{T{gAtkX2pB`AV7-MmZ4aSg?!ng?V{%9>A0b@C=H+6V&e6T?%=5y#G&u$9
zWe(c@>KWucJH?{e!42%Jcp_a(>){$;Mf1f0=$Lh;F91pmT}BEF?2AH-54&YtF^XOp
z{@%1_?f!G%^?4}8JqYY4dMVoP0+n#Ic+}{Dh85P4z1|-wjI#D7Begp5u1O0P#c5*$
zk^HM)@LcQ>Stw$~wK8;5&HY^6mX%2uCTquZRU?Yva~{4}NqGue!M8Nnxo$inxCEaV
zYFkH*T|5e5EwtXgXQNHQhA@*J&@zZz&M-u$Uz32m%f87VMX!#Pick~8BJr3_ACnbw
z&t`)j?&#8<N^@0i+A&tX=ut;<?HwPL#>$SQ^5`ELUKxu$Jmmky)Z!fZAi-K_Y$cBp
z%CJG^cNFQSaC5;_k2cVXV#aL<9_I^&%f(g5IOV3M5YN;1(;8o-HK{Rp2~M*`Gj+DE
zRkOI=#L7|slXVmv!QIrFP`Lc&SJsTIu;tcgpK*Ii9l|u&W5%Wy8-!CeV^NA)x8CPV
z?~$fuY|c=y%xBLEY+$fbRjTfhJHE%UGaAE9yT=|lD@gMndaAwShEM?c!(yVJAUDb}
zN$rtlT0*2y!-cwKdj3_^qbGKVPlPF2*~)mn&>Nn#km02V-`0jFv-#?oMK-N_7lmr1
zELVi&o}jSAI*oRV4*zv6EWbNz!W+7TVXZ_gW|~Mn_b;b}hZ;p-<&}$u^m@f~;L|ma
z$BPiO+GaDJUKWLZ>WW&472`|dqJ$9Q0X)(=+5YS!+hL(}z2lsgJ|~1Z6?<d$W(3gL
zV5ENkuXc&BS@_5M#a34QUgM#B(}Zl&>YS`=|7jjQrxWUGxlzjr^JB>1%NEDE6XcT8
zwTXRP4l|v*8wm{jaAV7u_gU6jb$P1>49ggt9LGdgiPaHz@a`h4KOc>ZSDO~?;uYFL
zy1h+*aGQ>aPW`pWzXb;+o!hjo4?I1x)xCp<t}Im5VEgjwZj)$lrh*2UhyR7WYaeI=
zv0$-IQ1d=rM-G*radf!kc0Q;KxSr?tylBq2=vel65=#$-g(E_OGFq1D&Ff{N3p_#r
z46E@nJepf=oyqmY3SV%OdHj~+a6n*bYuMr={Kyf=@+XQtp@t8atV;-(bn~B_bZ;oa
znj>CN2hD5Up(3UJZ;4H?Dw*MFGEcDiSW>6uM&sr}CzpN5WH0`k;~yhln{FFIU7LYb
zBnj%{t>wTa22x%-lrXxIwYZx#LwrExoqti5-0+Fnr|P&s|8&1<VQ9D!Dep5D_Hlu}
z?8aP);!Wc&`n+?*7xI?&{?Wk3W`&E<<e7Ws*=35%b=YX?2yYZte)r~~ISb5eeO$-|
z^-{H1Yf-ZC@G5N^pjGFz`Sp|oje1O>qM?5)rr{<1v0qMsHnQq$`z}y=-0aTg)YS6q
znz}ju_3m-dj*YK=)wL#MuMf7ubl}BLJs-x-kHn<w^{2PSDwW+sFE-e0>1@nWM&mBs
z*e{>1r94)$-hV#8Y3T}iO$#5MpQ<3(y=9bOIeS?$OM^h5&3k_hY+kEMu+oD^qI}G5
zRF5u8w=@nT>S!l45~C<xDG+|<Rx`m#`9?_~v;y6n+<xW-S^4nTR$oyV3=ZEJy!Rd=
zc!TQv_)s^jmKkw7AJ1D4;m_PCs;m^qJX@IGetK-F$D*;XyLVi&i|NvHLc@~P_hoRg
zGhysl_KQnvL6+7bxG6bUFdg0c_)s$yyHY(lj#b^tUL<!(rtH_Z>~{`Sq`!+nxhJ#`
zDs2fuzRA%=94hE?K4(WqS5#WA01U(&uMV*A1~HgbK1o{gM@~hb2fDc=#Ouvqz_9uG
zepOCiG5Mo@I9>vC^ADjhPm>VmtJnJPuZw&=x_>?Bvr~vRYfxro+#)S;4`Jh5$%C1M
zW7rai$A<UDjWz9{x=SZqW~n98qx;<%37>Yn=Vz@gJeWFojO%;^DHes@z=!iYpiSfE
z7NEh{r#lsvI$9^!9d_)kd?K?x%9UO<R8wMfWxc?upSgw|IpXfmQss&Co@>fLOl&>S
z@OAz&6@9dwf`3bm9+Ty3SVg>ef}pMJ;4w=}Oy*^+h{CwBv_aR#GrX?BX16^~88eJV
zu6xkig%po1Fgx9#{S~9GO--d*uD)uX1_M<-r$?5uau;#Y0#=uPrJ{9(c(Gm`+O`ux
z)OK5M8!mLvowdQC!0w?3T>@U?5{XPa>)n!DXzLDCBhbk=EM{P9Yb!<_4j$Z`ZcI+y
znwqyh5fv>kR&4L%KY~$iJQF?en^c3ty*HgZZ#S&a4vyERsR?=`qH=?XbqmQ$nq7>*
zF)p-Jt5XFuGNg)lGr1{pEYJ+<r6l1jw+a8W_7L@aW_|f7#ixr0_79%#yBzClEdYno
z{mi6p-dxvxO5Q|l)h))rYEQZ;!A^I!+4$@Lt)3RwglZK>Rv*!2m(BeRd=Iub>^K|^
z9}gI>FQWT?eRS82we~2eF_N{oJU^WxsU!3B?ph#B?y~13L3Z!YvktMze#D+9W3r>V
z>V%1wwT~v&FA3)jcgR{$@Nf&l#>_q1BX3L1qGQ)+x!5{!m1$AmLyqBb`NsF<lP!f(
zY3=K~bs4nXE4Lwx&d0LXX?5gZ<iq7hmOsybLLzl9l@g1R-t}CAzC1}PMQx3AE>2<*
zW~RzXhl6Z_KJ&WssI8LtLjA0RTsO9CWcQvs%q1qsiVzrYA;8TbRr~QcQm;+D#K=pY
zyNtQ$;0y)j&6Lqzpa4j)syn5;lCE;Y0~gb>vT5m7pR;s=nJ4PrN%h(JH93tQSInBG
zPpS26M6xzI7L(Jevp=ZU${%68{g5~D5C?v}Nz>(KFm;Dgm$cSh9orK)%7DL#;8Nco
zH~@5VSN&_cuC#p!vW<(6u~?`SQGQTYHMMNKJ9V{}?@2u(P@_HQ#;o8mwUq|0FnP#Q
zJ189cVV?q4JFCHZK^;*ov1JSp7Z+z>?G&?pmAP6!t#+(2%F1|@Fv(^7^6|V^g|Hvn
zAxTh~z526rM~eK{jmGzPQQ(i8v28o=MywM|WlK+Pt!@hLYhZ;&QtsUunf^Q!H$FwF
zy2uK{D*WNq1uYx*!VB%v-O3G3mN|lVmK`NAT`))mRw&lbdE*1i^A3D?G4I10mj9^H
zxP*}EF$WQ%qr|lvJB|ktLNwsDvqsgy)G5s-N9KecG;!yF7bA+vs^|=l_rgCNyIXTc
zxg9kiNSz>$$5DbWw|5l}ED5+a76lW9L9>g7A{>{5w^<LKN$H-?Ju#oUpRo{bSHI1<
z{u47@&u&@0E8unVg(JqUN&!nv*OxAb3clM&ue2Up`$3n#_ff@OrN|wJlMoxjqI^7t
zPRz;Db~SIWX1m@gA+a5YZ8k`ssMjkC-4)37IfIdNCc%FY7vH1K!AWB}lxakg(}tY&
z{6Pfq_ZN>3X>_=<w%Q)7h&Bu?LTQ=^R#5AX!yrSfnx>3}4Av~J+6)<`V4TdOAJ@~5
zS~T*o@=FM-X9tCX84DWlfKNM8YpQMEUTu$dNQk<`pYwI_kPwUFCws$91?IEyOsxUY
z(p7BSGii*V9^~a_1+4QOlcLeSr3qf%aTt7k*zb%e&Y|w_D|uDrQRht6Iy@%ochIqi
z2S^fjqjV%2j^01r%vJ`c2tLjc-Ba!w3q#@Z?ZteUi>^|;P+h6F^H#2?72ChUOok^r
zo;Bw3YWAHZ$XR#Zu{?s(?LzX{&<Rl^8P=X55WNG56Z!6LZ+c>z6MG}EONfuVJ6)A;
z-1)L-fT-Bu7Sg3B(i8V-RK$r|nR|8c%7=I%HZ01<zg7|x#>>r3R?=3IHbXJ|!~~mI
zvw){*!=uqwa2jYI-T^aAobhs4a@-1q)s@Ew->KbFez&O;n=A-Zs<A&^>z%`(4F6(M
zC|z_+WKF(n(v{_R@_1dA$Do&W&=u3NTn5*>*<k9Y-tkvvSiWJ&!858g-*N`hVODfQ
z_bvuGl8>tXt$j1j0V^L)QAt%xt>_Io<L>9~dt?b+cddTHRa`<Uq@s;s)3>tC19Zmy
ztiP7#O}H6gkDNH=d0$Njbn@7s-B_{)jSoOiJ#w~%tdrxPy#UlEm5?tUIkB#d_H`Kp
zn~1fYoVm1Yi(v(uPX`CyIma{8qg{A=wT!EX`=q8U<x$dwtSPx<fkSKrny|!|03EAS
zoCVqg8*2hF7^NhCKS9NkULZ4`8gz_nr#Y_L*NYLdw|k|5G8SX6SaUYP05#Ky>$2j5
ztj|y%?XePHj?-P><pu5jJg6E)Hk%vWZ<8&L3{TorWNcK}(&q=SSJ;jR!|YhI7oJaL
z@96ZEbjYdgC1$5L`wnKv%cf`_7&K0kKubs`KzuZOb;Hy3f3=}+JX$P}Aj%u`^(_Cm
zTvHM^-s70ksa7kN)>J0JCv;ag&K+{p>hos3;}PC(DjS2lAB$g5CqIvn3^A5-aIB9V
z{$*X2US=Rgl9ROdTYkV0N!75jveS1@P!SHwagm!HnD;YtlcCh69Xm$9EMHhRnSF2^
z92>M^(qYKvJ8m_$j%8XtCv6s3OS?;hpSySHzf>$mh>rxXHv&Ih(}Y}GFMa+%LtH{>
z;TWp8<6>Wp*jRJGpIrlI%UPM5I&Cetm1+Al0Vg;xtJvVX{MY2E8LYgpgp>Q!`m{LH
zB@(FJdS+S7t<w4&TX`VP+t#vYlUB2llNoKH#*xfA!Fw)ytkA;@9v@Ot0GE<!G0*nO
z4E{I*IJuCARi0CA=jDvm-U!2K4>gB_d%BQmLib05D2c`H<eFj!^2DQq9?K^vJ*JiJ
z!M=L^{=HfkEOyC1oHs;mpc4u^-8XU`N0lo@AFo#~7_2&(l9VUpF&gAKm2PP#!prFH
z21kIUl1v*o>)m|ret!Oou?Yi^^)Y&fh%5~MSpLcAVARjavN-?jR<j>8<O1)w@8&9{
z1|2MDOCR&TLwfYWE-V}?n=opVzI2({J(wt1a(GaoXzN(L<#JB5qY!*%rKNGnH5%`^
zKZx!<ImpYWayNLO*n^Q?he768F-HnVtE9hZ<GA>A1YreNNEOS4JC=R;O)z~@Oq~Mj
z%8hHeD`oB1&7ECq$w{dSy#;fv0?idZ>%?N;-U+B?wvkjBFYXV^$t-a$Y(S};UU%pE
zFD7W-nvtx5p(VSx$@yn=N2vC1JfLryQ?-p)RMe9we))<igZe{?+LbE;gT_aXY+|c)
zpOa|$+XCp6%P5BEsGmN>VYoG1f!%=cde;&rW?kIb02nOX<Qa)cet;iGF@XXaI13KQ
zbh~oetOE|@9b2^#pa*dn_^Z!m$R8%m>s6L@%#9-%uw5-Je1a%NKt2n7TNtjCR=Y7$
z?rcEb`Q{1!u6i|@5tCo~A-wF$kPEx3g0=;P)NpvXvE!F6WlG)FdyV#XbSIuyr~Nh@
z>#^BZcU^xb&q(QPfzSiA4OX~T{(a+JjW1^$JeyO=;}hX&zxs_`IxK&*VX0*PVhlm$
z$Vq;_&+Drms->kK`*H`hFY&va6YAFZuxXvaN1gecL_ZOFB+YN|hC+zl#pf_V*H;0m
zO|=apRfYX(tYvB_Gq(&hebSJgp$r}9cN@SjetebqEY#q$-TznHcR)3nb?uH7l_t_b
zKxG8!RiaWAfsv}<&<R4Q(nVSzARr)J1p!5xNRuE0ke<+k^xjLPBOOBM<(`C@`P!^|
zzjg0_U0D`h<UMDfU7r1%bM_WAEudEPZ|O5yr~$`u@a-XO=R%Ol#C46K&J4xPL#77u
z(gGmEf_h93t<!RRleQ&kW>~35(u5_SY212lwYI;WKJotK^v?8F8UNhZTyYsLH~fKi
zP<bWd&d1VOvjO2U_bOA-X6vVL!7%g6f^IQRlRNwrhoIRrg1s;2Tn2e$y7aR>TTLH(
zLBp;do?6}7kgh?2-2}Z#=&1+-Md(2m;vOoerESi-AykcUZ!r2$2rjg{dF+P+1$=uD
z0>s7c4O%BwXR+Pq{|wK43)o5b8rSZmERXI#mid!Du`34HgaG#2)gH1v{j^#1VM;fO
zkec3IN3e4#$grD>rn?FHj@aHI7?WMNQ?JOW3%YH8XQVw`M2C}cJgR(G6qB(Vq5sl2
zfi1K1PO}DMFYVo?QaZ6twVMDj(7Gj_->Z~hZIjGRG(qAweG(ekt@UMZ^$)T~?lkV|
zk+(jz?F)L-ZPTez6v`ubfwf>y!Rq0cfuxfk%x@t+%iN+>cy1ino4um8YiOPDDOPPZ
z@+D_+zmUTFW_2kZc(CnA3{<Hvmm)`o?~Txw<>pl(WpUNm1zX)X^q}injhq7C(x+H(
z*2<@-p*Z}kG=19WN_-Jdf<jL4N)~5^{LgJ^uPw2HagC&}-gb+_3UIbq%ZxR14FOPr
zt@hI)zfBg0DWB!Q(@M>w#|<|bp`pwSvO%qFm@bwacL7jeizN40%<--Ez?=UN`>rqX
zK*O5Yn|ZV{*qQ*h+0=Z}XVmtB;911mgHNyDz7zv)Mu1aCDzbbNvDv*xO)IIV5VUMQ
z&!3Eb`H3V;xZAn-!+L2b;8gKM>-ss|{118P2WuN|aPig^Q~!m=+iaBA(6ZnZE`Q6E
z3vN5r)YZ|`%8}4W4Q0G6w6BA4*wLLtoM+!?Src|WoKP_dxj7&I(=}%<t)<>2^nfQl
zlS3@&cG0$NT+X1cmsn9n!Zv2kT)Z6lX`pS)jW2Re!PeuVq6YL4-)xSDf*o4JI-$a0
zq{z|Zk>t{xLWc9ZVUOYVW_&PnOl-rJL9xV`p?I56WekU&0Tk1-m0{V=MX+2Xv&+>A
z<ViFQM6KXm^uuk<$m7>Lz}c&=Bg!$Y5ZB}L(<jufxEwv$N{H4Vq{I;mW3iS?^?Dwk
z9W9DKRBeslq$X&l-N|C?RR;Zdz?Lj<M={>obwWBeK4ztcU-OsdpQzxT+I;>(-1J&Y
z4qJ6fuqgYW(`R2#cy`$IduyegkY|bugIJH8e8pAR#$kA5>y%!@7Q7ct+XPYe+8D!f
zi_z^w|5V3J%E@J5I*Zg>#S=x6t79oATV=UhE8d|$mXxm@(t>8uE%yw~QY$}<Ax0JU
zGKyppz85i~pYJ9-Ofo1Q%&PaliXNGHUn-G$s-E)Z(Knt;l-*5v?u}}-HH&Hmhqkky
zTVe_D9T`Bov3Qo6^skeSuD_s71~E6vidd#sMJhDs*h=+hO$U{T*IiReFOD5ogUsG6
z1+n+1l3PMFyh3WMLfE?-8WV}1yvsb!Y0ww8(mdpZnO+Fle{?#u_~GUybi>Z{%?YpR
zt}ukH>rO+g>|-DO+BYi}u|8g)QM%_u(T5&24yj8aWFf3YUny`~$N<lmJy&jZwy1~&
z4<xn5)O#2RK9wq%v~~5XUn|!LKrMyiIgPyq;GNx4T-1F@f!AF3(#W?scq|4M7wJ*;
z6$DIX&KBA>p)fVp)smdh)V{k`ANxvb`!;O+i)C)3!@V-s(HdqAC(jHG0jaABmRG{U
z`yF1e#wLA`d}mw?{&Z`+$5A(phKDm3b%iox+pkU={M<D4-nb+kb8~Wk4qY(<`XB+|
z?kLD52lR#e{qeyR24Yz)fG)qa)#pbNW7j?BtKiB3F~n&vIS*&~@Jc@H{P~1WFcSB?
zVJqiCM00(^Pr4%d?%bVDo80+|nV{k`(sxa{%E{zxjSp6XSATG0-L87A<x+$D>{`^`
zV>JhqEEY8oRD^nV{heVz;$pV1Y<_1ORAZqf;|+mEaNMC6?|5W8>}pd5lc^j@{m$_I
z7F(<mZVh2L*4(c?M3`O`_ZL*PA1T{@04Zy4^7nR>cfB(f1L{8yC4brDy4;lC=as;v
zV-GfO25G(3XCdjmluvW?rBi1NUNvj&6|_KfmRd(ja<rd1d2Eb@;E$QPk1FTu5U}hI
zlj|ibVJliY+J=7?j?WpbI1cN`^-o^qVX<XlfRJ@b=xNq;ep-w<7LERvWw}?mp7x-M
z>;zA54u&lZ&&g;!x&MsG2~+Yt=KVJ2JJzEw7cbDJB;*-9Ho2dld#e&`k#cMIZ>;Q4
zhm(aEA9MtN2(y3dj^~c(9kZGEz+odb2ORHqdeq9c3PY)D{;bj1wjFwa(@lI#D|K|&
ziM46^M-De*iUHm?B%t}1YX;u)N`^cZti;_(rLT;+35AmqlaK}UfCXQ8r(HHa-kBj5
zhflzYX@xXvqLsdu*b8My{%oKC12yotfzK&{wnRcFB$_{fqkT=y2WS$~nKeD>l*F|4
zW}0H+xO6eCF?4KMnpkCP7?k)z9=l_3wh+fZ3~l8EXVQ(h30>J0AAaf{mpygyk!W_|
z!Sl*KOo{gww<%*+5`gA%Nb&?k+KL&q^4Szmz;FA=l%Gz~;{$?ukYKJI>q9r3VlY$V
zYrw$1v*W-~!ad?ywme-!mP;<l9_RW%;ZcFqXrtQ{%m=&G3N40Ka3S@(-TSKSAU$LT
zA9A!l>TEo##f=ylMr$~fT8-c5^a!@S{2Nbgp-<C7)K;fTscfp^MpvY7NG~T}Es@WH
zBvg(aEbT^Vu`rl940*^#NvBN}v1+_LFn-_ctv=nYy;b!}rs;5EFV1BDvZl<uZiS*y
z!mcd5c=gAJV^&xHBr#2UOGYX_W{LW}E1h_+b-|E-FH_k?Q%L;y%q>6;y)wlKyBWk|
zZ4*IX%Y(_N>rJ2Ymg;+j_}<}p$H=O&#`hHaGvD>2!_JpCp8A#r4m+V^2IkL>8o~nb
zxmFck6WB_lTThN^j3MkLD;|w8iP57?Ds++G8V<wo@#uLG<gk#<#!>Ey6q9;_YI!wm
zL)2~kamn~WIAOWu8A7+*&csm_dTsb=@~61s3PnusY>}RH7XFU4lF+X7oKpGv`S2})
z_tH)hUVFw2Nh#NamMV_$!_+T}Wu^_r6WS%|4)>xQC@Z&K`n0nn^f~w!%mvmvCtQVh
zEKCE}oNr(nyY*~hn!N0MtM8Xnd@J>ai`;0xPTB$&e(+*hl1D@JxIM^!<7BQ*uHD%R
z4h{~yGcz-@KKpP1>sjwWeLh#+u20_@0`ruP?9-ERmvNpMQz$KLntCK;T|r$H?&GQ9
zt<`8C`+Mc0yrqEDVn8@qs!CSrJ4WlL$>}3WpxO?`OChp(f5ekzC8yIK;jz<ZX;IrF
z9d5ZOwb1Ws5owcPvw8^;OVCGXgT$}h;*^SctNMz8H6t2n*qda$po9T9<kyv?!>CCC
z6{{H|jkujX96Hs6ZB)tpAZ~QYS%0*oD9*&Gvg_%?0(#s-)kvIp^TT*uDj{jX)@jlf
zp|A=`7GeLDEWY|IMw}h8yXiCtN=tXBZIVu70(AY?Y0Scab+w&y#!?r9T|awH)UBlt
zy+OfytFPxcgF;OBmX_x;2%Fm03qXqoy9?eK8|2P-8Yfb5?4TtJ9P$_N&#P{gxwzaK
z+Z`yN;#Q?cx3o$?xsv^>pZOF;d2RY&ZtOQ7NilIz_pF4jq96z%sg2tPwK3$3xY|$1
zZziMI)ka(rfIab6(EVsnMna`muI`}wst>PcNIf{S$$+}V-<MVWdAn5FU^y=^Cj)Jr
zHo7h8B&=o|++*&Et$C+$nHsm>50Ai=I|+JCCPf4($+$g#0~cF4+5<g{Sj>2flq#q8
zCx(wI(PAf}QZt9$?cTP2TeQCveD(D0ifc_*uhHC=saVsl$h~-`f?b17sDfr?at#xC
zkzT0cQ3bs$fhP4u<`uup-_!%l<XxTb&MXvfKke$4R6?WiNm=hJ2vX&v-T2K)+)*wZ
zUTpK_%P<CN>t03spei?JJh7G`sLPh4a_Ri_@D0yR+arDHK&A^_ltN4G>NE;+r|(w<
z{^Gf0MhLT!kVv&G470S-3TcI#Y=rfF2sLL*i{@Skn68-<K<A;DrBl_GD(tjnA3z@e
zIBU}RN#QWi(aUROoa~IzFeAV2!|wQ#!#s#3I<kS$gK^1)ksmG0_U`Tjqh2of+tl`B
z`Mu#9w$6|Ud#8fg#ZtXZ-)EJpOiCji-*}xZ+MPh#j*Z*cnV)CBW}lZ77H-8Y&a#@Y
zhzxH17+e<QrYg5Nbkj(b-RT(m;NBox;3^pU0isgz-IFJxKq+AcQG7wx#;QzmT7azd
zou#4HyTjSCrR5Qrkeg8XoG`@F$p!!Uospz#IX=-jXV~#~J2czYK4PRrPmC+UU==a!
z7$QyUy4(UMB<oN)v#X10n#w1dv{-(syP9dlj!*X=Dd%uM!~RxNAPK(y&3-l`y>v41
zk>}wQ+Tn1ebvb+XaQI++Kd1K~FMs3nqoA{*-J08r8n*F{a|c~>Wup039d^+2S;Nv9
zNc^Z8q^+s#-Fue>T$g8}$pwPL`)t$D7w2Bdm7mM&SJ!UeHiL=56`S1yCDI0vjEe16
zIi<RNkCZ*~p}K-$0Qj-ScZv=5v<+Jjx(R_7M&`yd9#yygINV!VnRSrcvKVQBl&6>z
zb|w>#T7-?O%l2m&7EF?M^W|eG%lnO=MYp5$5>E|QklQBS;wiXG+k1+ddPOUtAhk@y
zz`AbgrKMV~b>?@RZNwsEj>>25Bm{w#>)vhTu*5!D=;m>MFUcscY9C)kE0TVbDI_Y=
zSV~9Tz0Z5OfkSt)Z{J$uquSBf_?T<W^fFDZOb1)OZ6a%2Wro`sE~`4T6j?Zql1low
z^)qN5_QQ!Z`@Y3pyd>Q$j~rw6b(NSY`5t7Dl*pFiEr$#>dHIgS-7kYzw@!MreW1j7
z+DAA$K#=Vf>7DR5CY(mzd&tGWibuCM4)G(L#-7RLt0N29Z;giemb;sCU3HA5W|rR*
z97}7Zx19Fa#fMXTt(M*mj}T%toEg!0>;nx$X6UWCMCZfNeCL#ox33kbFc})TY-hEl
ztxT@Zk;gA!K1#ZMXLGDNL7B@(PW5r=Yo%@bPX1=3<fx7YtFy`qq`lRkqLC8kJ;H`)
znlcd{e-akUWQTUn9=s{C-JyB<zTD~E_j1__+(g6jwd3RHKoPBnGO;%Q-Bz?|0hCEP
zRX{5VRpBqlZ_rD<a6L^*PssOtjEJG1jG{qbsDdq)JoOB<HV2dIv%%fA{3!bmm&t`Y
z17wQwb_YuO?x^7E2jXBqLWNo|2Z?cBc(0Ll1<acoUSshV)o)KUTf1cndeF01bxQ2w
zw^Tm|6Ud<lk;65XL8YU<1(#WPLgXoG)`A>l=i2rUX((BF`~)k*2*zfKks`e=%>!Y@
z4HjtLK4a-|@1t)=eT$owgQqjL@7`_y#5P%6Hu^19>I<M$UwdxO#wt<{XD#=nzpF<2
z<_v}(j#DSB2p(;Q-&88!oe<EIZ?S`YT6S9BPp726DOt3pz)Qekqv@21;%PZgQube~
zuofF(F>4fd$|yadu*6P%XB09udfg12XUK$3V<fqxtc2qF-7GeDV=tZDy$@9%$C;O*
zl$i7OTY1!cuY)d&EkX&QoNVwHJpzNTU$P#3OEuxFU!wXj-L|_nZhs^{$yz<nZYebO
ziv42yQB%tDQ~{OMZzjXKlZqi8d+pCH52nt!4K#*(YTu+7@r6VfqrRJL2Zfw_1#I%K
zkDTSX%#=@JAETt3oHEoCOD@*_9y5YiH+z-E<@DptUP-Z$OPJ@XN^Hqbe<$giXJ=KN
zBjE?W%Q-ru!=vM`5SnT^mR=@)P281x5zD_ba*R{mxf3zFIR10FPHfZJ;c&8(O8z%Z
z0kK(Cx7@v@N6Qgg%<8?Lyn_FFKlqEBF%8rAMCI4<XLG&m7y5JELK#=yS3B;kPuur?
z`F;A-Qw^FMcc0kSs=L*1*+26so8u}Li8pjs+1!n>wLjhBBV6H_KJ4)GvfC6VLrJ-;
z6{hy(N8Tmw7b;CIu_KFudu`#%WjOn_NOZ#Yz{zBt8oyH(r8|S|36UI5O0xFG5F7iI
zp6cb%cSyH3SJ`50I&1#UGtm`1_4h<N=f@Hd)jmnEN1bopJOWOBqkF+^(VYkPJ*$hQ
zLSCF(ls*k=h#QEJ^?*w2BTeu4w%C7ZdQ4P<OWd!Ie4agj-eWfwR!TN(44<rA*qqII
zg;0L-yi?U}!g_BfNk&a%r?8`ZLcJkkJ87!*(peGirW*N~Z4Oh&17iI8r_XOEjT|xu
z(4NJ^`R1WXH)u6Bth7zPb*QPT-jX^=8+rMov}aM$b_OeoStyL5R2Z%pKl}1Pzn7YI
zSTjj;u}UP+q{Eas)e=v!1~UabAUTMKzDA3dN#UT)`9{L}B`Is3lh>}CJh+$KLZIC%
z+{K;s;)jtPGC-TQsdkDcOqt`&O|yzyqQYC}nFVca72B<9cNq6%4Zn*l_P65u?r2DO
z^G7A~)k?MFo}m{g=|O*0O!+yBQHS1#G^wK)L^-JYnR+z&mMqA=ZQJ@Wzo{6MN#NO&
zjj*Ec8T5=2MQJi=10E4MOf%nf9nviEEe#Iz@xA#(ZxY}DUWQlAYZDIZbn8+PVMH^W
zpt<M^<$Ace%k0cn9F|}?W-nxpsMX>Vib3gd#lV}T1_zLd<26JBWJuIQn<vJg2Bq{6
zt7G#86h?ys<4g&<uHRBj!BNsq*k@Q_@fbYY;d2$!&JKQd56Uw4yNHCu468h-pFabd
zrEocYd)4Z0QYhR$$81NV$_Hkzf>1``FB^!o*r3Lg+h^WK;&>&p&Cx*W<TzmIGw+`y
zm@uWTe2z60gbNVGiUtRd31TyM?3pFoD@LJByMY<nP<~i}DnB8{BOj$FT^kVII>#&^
zRR9Jr04wmw-~EB^wPY^KN7ahl`L?JmUk?tOjezPgTm*P#taz$||LL-Z<k{0)n{w41
z)Ehmz1s35BNG5i6S0?#Luvlv~R^uR=>end-PuF0JdNSzZP3C-AMJ>^FebN)@bsxbu
zyy3o38_?-i6RIIsNmRAub`YjDh=XM9eKH+DXmv-0wQj#)2r&6RCxADD5ywW<u75~W
z8vp(Y3^ejo)?wEOF=2O}X>pR5m&aT^5gdf|zjj(NRFMCMRoM4fZ~=60GKJ<;j%tc7
z)}lgK-`x_p#y<wedilL`XlH?kC`wOYApnedo49PKNAPbl4$iqaAiZlHKBot4ZWGr!
z{6pS)&8|fS_%U8`p*6y08zlLGB@Sa$ByUHKiE1<t*d`(qcU1FG)oHA0e3bO$jDpX{
z$tW3Gl{-uZm07vk@7LZ(wS2hQ>@WmMW)lQJTmb(U4;JpMFv@UXAZ9n()E~w#Z!?2r
z#JVZBfH}wHaA@Ps3spzOkcOjidSD@A8VBK$n19hJ<{>)dC|Cyv!V*RG7|b+cEeI6H
z?tQgoUI1Sh);iNT50h;+e-EovkNqnCSohapl*F8fZ{KJ5b#bU%0|O}*tO5nFQ&vUd
z%}RvzW3Fbem<xruDcT^u=DF0(4NAQq=mP%cm7FYXUWK<l)?(o$SV93r9!je#qb^Se
zorlqrcE)_Bizn2~YmL`zzv|pnlRq<4Ay@tKJwbUO0!vXu!nq`K(lRwo;0BAIPoakp
z@-(Rs(_e57$l+9MpJ}X%(LN6HFQy6Iq7nw&KsYu({lgR9%3Kdb&jYoXe~-UT1aR6(
z7Z|ZhVMT{Vh?c})>($SZ7S}6qR)S%12v+M5RP6#VUIi&&ysRE}g$dzySsFa9oY19#
zwwb{Qm_$f55s5P#f^V{m_AD>Tm`XFc%@aY4Owav}-`yPeUrbSfX{a-^;r;;oa}h^B
zu0>kYmrEwhMPx?0flGH8V@xEUhcWB{)X7>=FE~hA+J<$$R2ZJ$Icxx-ON`4kLckZI
z_?zZ6*EJ=`mbi)bI(p@a#{pQld{dyTDjc?p(HlG>i@ysY9kkm&3h~rip!0Sgmk7(4
z79#o|`UWe_(}xl6T8jrMpb<4ij`?*Y&*KfIMp=se|MS}3ha$Ib&CNQV3%}&?%Q)(D
zPU7XaIBw*mnTaWwEx9b1SfC*+_Sjd!cHVWOJYsGuF3ON__joJ-+PVzpE<7GQ@&22%
zM1N|3@mR0)M4(JLY19&~%Dd4_n_n3FAla5}u|#C2i{Le6;t(0aSZB)R13Q<Q1^wlE
zr!cSvs-rNd)Tct#$PiIt{D~pdV85Q|pEz?Id>97OHzeX`qpA8#ElGhVuMucE`Drb0
z$?HN|>WU{w&d2{We{K@+-}nCy`o?E>VChjb#Mik6Zjg`E)x8`pbIDG6;;=kYdN^1C
zieemEUvbCS4jy~|Lx4@q2lG$@1h8ngMd1<}T>tE;^Hp^b%23^vE>fBTIj;+q1>U!X
zNhqwZi;PwBIzpMkvzL4!zE^Bkg$U!2GW3FBk=jF;r<qlpzcC8vPk|;<Kd=oA2h_hj
z8Nm9TAy?i?m!lxrGZOfK31Hi#(1zM?nj4U6zRc;$K@!1gGY|oPXnt9AMRe=kJt7>E
zgPc2lJ@WtfdSB4Zvo&d9khkWjveNqiUhKX$@df?|Uh3^nfL2S<Gp&mNf6R09VGq8Q
zq>f`i9dlyc3ha(`B3>kZ-qSWwOBz~mphvO;PGASE>kbW`39I?GgQCT7!czygu?ml`
zw^YBfdE5vjnx<+%73hvP`u4iYm#f-H-Er-&hI$Aihx+whYvyvOU~3W39=ifqpJ%(M
zD|*t!Cf+>J)>gY+7)H$e{>eX&bxE4e9wl97V{?gzI9O0I=PYHj)9)Zf&YutT)}<o}
z@OwB21~IH8C9;hHqr;p130;W3QlR-|Z^l#rK@d&y8Bu@ujIjT`&&bSJ%5D^2xSnZ8
z^yL5XLCecg(xbI>p7H+8Lxcu+h%l~Ke)uoY>=>rOgXH>W|AEjnPSP6p@pb$_r52Ao
z3-$49SR5=kxU~V-w}pYw2T+ur(5pzl1AUPSwMJ_gtN?iL$pr9a*!$D%eemtbti9;<
z!VObq$sTJVQR=a8bVM8VzJAf!P7n_{Sy9F&X>2J1^#f_ebfd6k;nfCR++9XbS(Bdt
zNX(yNUF@Itsf#uR@-fj>WNmBECeS|Dp0(4PxoWv!-p|Ur%Jis(?hXt~ar836v<9@h
zabtzpZ}|MWzG8xf@6!?C;jM_Y#PEdna{AhQ{l$J>38EE@0bnKLZe9QDTuqlI2d!k9
z6sR$UrE&>2&lPF+>@Op(#0H<QcK=Mi4`)?&JSvpX+oS?*w-NwF#l(iZB1AALCKF-+
zf3n8+&K?wgIr?La+Mz_SDo(+u*o+Otu%=~G(gSp6v+FJ;6>=t=&fRZ*e+Q4qCExf0
zE`H#{S=}*<pwZ<!R^m8cfN>hB-7>JQ&qFfoeG6&bwIGDKNl0W<L-j?@m*o}qG}Ni{
zXn-<BD0w5(L7Nu**f&Aq@*XHB_kJr~#GPB6w^%eqd|Q9pFQy+V#XJ)xkpv5Ku!`Fz
zxiSlahiuNgY}x>ihY3?muW6+=;S?n?c%o8Pw156HG<$pFo*V#Xp8+sS><keF4%!n6
z$_Qd1+7#5(<-Wcrj@ZF~&)H{L!fG}6<+YpV^l(U->p~O`SV-XwRWHS6QA^VT3{j?F
zz<uN!yhIJ{$USX(WPt(#<qH@{88bx-V+IHK<w0Q8!*z(QF$2^D)_k0M)9?Y0t1^@+
z5E;`eX2>Mql?Pw!4)1!`C@#_h1MR}>t*pL7q^_)W47?6{ag59urBoR9QfW>JXr=)0
z8oC_=myp=66E*u5mI&g!)_TpVg_nG2O`T;SzcZJ_!f;op`64lemCL<$EWj(94h(xh
zA2naG%?tFAPsWG0ikblhCs0b$CUxdR2L_Pr-lpyEj+goSQzFvstRc&8kQu#U^z#wQ
zalGc~S5WjmYQ^Z$=xc-XQI?-fKIwuYKGO}GizB7o)aR@BKqw<Z<b^Y9Fy?%H#dff~
zU?tqeFewT|U5dF)8&9zNSug5JWRj9~X#TL2JxJ&Q>j@}N9TkCLAz%$SL1t0FKJ5l3
z1_Q|n0k=dgi<(tdMuBMxn|&iD3|8a*y|5(v=&u`@uO86B>^fj41^fxhRuwO(h`<!6
zlqLF#_XQFLx=hS5*51CAIJN<c1+nWwNVlKFv@Mwf1d><*SjJ;U+e9$>7!#rdiSZ!Y
za{n_Oh<X(AHUdOJK(dS5zUl3ovGNKBow>l(g4C&T6}LzRYtal)B$BaCBZY|TqBw!M
zh(R^G(xWrd7y-aVr2pmkHaJf-FXV$|nfGgr0%2WL^)IyzOF9<2RgO7;l-m}BzEX)$
z<4XGEL3TDcHR!~oU9)FmAG%uBDKn0ktA&R#u&7A0mcN-*cd$ehz_~bx1Frb|S?$<(
z26t5($rp^^G#5|M%qg9W={Ij4;ORXR&kc0iJWlveMP!!csaJ0#ukFxpb~GtmZJp0?
zwquYT3=9!2<lKn6!9{Zn&RPNZbK)o1E}B9|;Y5>Fg%Tr$`-2DZnu*}5D6D|+{w-r)
z`3A`ZA^|#RjzMXCA(zkqir*~!mlqN9)(lB_%NUsQErz&&@x2DKL;T+Bl=N|nsnF_e
zmT2K1g%?D#yA=rh1f?tw9TCwyBc?N073HC0FB_lJ9$k?)mc~fZonN1L7!`#jXd2~t
z0F5ySJpZREC$2?lE=E@fQ{;RDo{AiY9J|wRu@+^Y$#nVh#-!D~)cZ1TR&_O{(&^50
zzzBc3`J{U$L}@Dhk4p1G96Jlk`WVD+=y6mnD8aCgH(q<y)sgDgYk)1<)I60MDuiSf
z%}SdJShLG9FV)>efnXAE{`UV?q&K_|EPW(2-Q4%Se}5Gp7v~77JP>GoS`sAtWw%^x
zZChk1e?3Az(fvns`yZb+o$SxR3sQd10XuJB8%Svn`1zwNG!$#Pc~9=DIb5(M=9I^Q
z^?&}=K36>NKfuqvkQge+Lmcc9?AIphdvls&h1{~WbG~2_=P%4;RlSY`%_!8LCTB7d
zQ}4^on(f%Hv7V436w!of|I>uejKvBV%xLFAm%8I14vBnJ*)V(*l!z^c)SfI2eY0<T
zd%ZW0PaEmTr}GsFUJ^3xGAO$F7;is&c<fjjga7np?c0Ai|33Xda=@8rM<UjbG$JA*
z%39+gFy~>FE@|HNLDLCpii1}Iz$Z-*eZ4C`wGA6Ft{?tSIkTG_vOgQe@ruU*_TTYU
z$I<DYhn+_*NQ!@Bw@4WPiHNlPqOACL50B0RmhxypmzkIZ|Jz5d{o>q^*@tqs6<1J)
zZ#l*QaDA)^L_(}3mHGA}xY)!Xo5huQ*qI5iN<-nQCKj?^=WarTq^#TZyHsTZ&H*56
z_UFjPzYcDH3L}`u)nNk#=`M2za&DmXv66t^&Z&60&EOF@pnsf%U%KHe5Q*+P3l)L)
z1$|>5gL#n|T{yDT6Em44lMp$|7Dh4KtzI;cMS{YN=C)JJ7b0l2lsZ7tbujkU^2cbS
zxeg1l@AR^S{m7g~j90$9A-gxryR|i^qwOeWF^lbn=)P_}Y#T@JpJdU%09dq{o%-#-
zK(OS4106wKA&}?D*o&;qaocy>tzf2ZO>SYauVKiTwKglf41dMcWJAyF<BHkHG#8S`
zb~$OD8zj;{Bo(hs9J7qO!!+w1K*p=_NGzP$eFzV}DkbJp2e!!A=DGM`^O+!TE)212
z6n3X-)`t2~sVEvKCdtN3!y5p4L~4s`KIWx|_#ArSBu}Dwu~@7ZXI-In_sI9}-#>o@
zy>@0K?1sdxJ-z+S7x$fpmeP<8?oX#lB$r*H@gLYKoDy*($6dYwejbGi3+C7eli+gA
z@M>^Be;fOhc_mC@rM5;z##<GkUhjFRt55RHQ0|ADa3<%R)&lD^ON8!%|CTl;1y&(E
zL`+bVsncSaYQ(gZ!oUVoihYe}dPI{IN+Ww9hQfa~&vyFyT%K8>`Nj@RFW0Ri<s{{$
zxoiH3w4i^TOl5WTU7Wlr=#_>+nSy;iN(zeYt-c(CSx{o@X4aO1v~Uc{Ns15T|JdVQ
zs)xo|!e(fL9l_dwHB*nT!l)d)*?d%I41gJy^HJe!`!>gPs^SYYyJ)|DUPy0&43dDt
zyy2V-=u8JB%}Iois2P57de>~>Rh9-<(RKN4IU)}uQ3UA@FlI|qr8P2p*unHhs5?W$
z4J2}Fl$Wf|UpP}Mm4^T@uHD>sDTRj9s-{a+BEp2k)g7zz{0;g*q#GX&1bireJ3UvC
zOQI@5bVw94xUGuFNBR2*kN^q}Fn#hf`sCUuk}C8;o|*kA!xe=<+eEZsk}aDEp|P&W
z>>S4pKtnZSH!aFmvnMI(P1aS#Rq2`mtldvfkaW|=>6bXBkjq--S!wgbCQGWxVwN_D
z3>}GVq9nvzknbyhw<2oDBos4yfp++gM!F2M9W&0>D_v%Apt|yyP;&r;+EwSAGugV*
z3$^+j3#_+AK^{rWxI4D4$xF0DziJdk#O<1y8i>B6rUM3P4)YW<+V1TPybv~Bokv}`
z-NTo%cJfY<F1BdH^d~@}#QcyN&LsoBvtSIMJuf~)?yki`_Z^Mq?HE)}8(%#=i1jDP
zPi7fX>v8nK18;(bsW}C3g6*Oxe390GX(f!Ip}1%3>EZzV=gYRYCfxg5O(J)O9{QGY
zJrp*vKwm0K74a8{K>@VBYeCxBT=yqJOW;b~Kz@T$#${s$cMIFPMKR{K*?46qqU5Xm
z<aqn#f%zqx5IN=5Dlksg@-X(jItDPS`ZWOpnnkh*dMBm8Y~cJ6`dQenz*)uRwLhpe
zst_WzmVT-HQH$bmElM99DaCA;>K<NHK-`0~o5~$@1v9P}(L;zO)o<~`7$bYz`qA^O
z6ksw%6vo7vH&1;*ki4zIY0Xmhe4v!72w_0QOOY_AU}}R5DgZbTCodI5E;b@3R(+12
z*|o+e_i}0~SbHm_RCZbu&km7`wK7)~op5>5b0I6mc$Zs>w=6_l2dLOm1+dnH4@B|X
z@g)()ECD{h9NOED@3)FKUsP<cZP<ho!bgB{7g6Z^zYPZvyK!Ehq1Emj(TdKxJ;U6#
z<lJEji;iIf*TG6+*=6TQF7vEx%UiH0<G#HHI~EiAHUjTIPmTVe1Pi~dk*p!%Pf<|7
zfIkc%0|0Yyz<gtXyGVG9Ss=n8Yo&JpMd&)8aJ^Q2d*vPMc}0q;qhm*8`2|3}JtUED
znQw^X+e=gkTLeux(Ut}#$=FEy**}8xL;*CG%7gRaR1Ix%u17^z7|dET<3x*G*my9+
zU{)CQmr}I+S4t5f@%Wdfj*i!s1)x|Ciy}A|zuNAM<y3Co$jpl{f=NuAiQ-NTzx5m(
zlqar4c-D7DkX(k=7VQ4k47C8e1JzGGdm-y)z~97N1=*v+QUZbVm_`Zxb0}HV|Aj09
zU_CzSnJM@;Z)hMQBI8B&qx0M$?<L*7`b6Ld2I72J&Ly5O07hvceatG>5y}6);%|&9
zD?k+;!$vc75C%znsC~aSP<Uzahp`GNRGs<LD$|z%7skL2m@9KwY$q&fpvD~lc}yBc
z2iDN1!u>pkLUO#4F`{$rKY-ycbb)sKx_QaZ9WK=6g@tdcnt(TBPZg53u0YleOcW$z
z24EW@ZwN}TLwx;Qhl*WzHGP95264{UO@!A3lN<*ua+@9K)5I-O7TP?A(y%4E>B~4x
zTs8`}kVbn)B`{$XN8Z5nojtc}|9#3EJ*08vm;kh*<O>wzRZ1)#L~udVw`loZ<p2jk
zK5Cv)$bj`rLJRCv6T^xIMHbKvM0&0$u~>T;WNr)%=7gMz864Qwl2tG72g`H|D4`uQ
zHfF844q9aU-T)2%reRK^<xc0SMhq#D@Zy8N@Z#&g@Z#5E%^A3^P}}2T6w%CO0I^C=
z{lA??J3Hsm(bU{r=5U3F80$4<+!{N*hfdt9)AF+XA?CJyLO>GwyK=-Wd~<|>Cu+l<
zxtyY500HkUCX`-k7MkO~t&gQTJSMB4SN@Qp<$MI-<i>r88MG_2^k%RC2q>YG2J@ab
zU2W0N?^!nH(H?3^D>iU<tJ1&x*RA0{k>2y97c9JG#$?a_gRvuG%vB<;OwqdgH?-XS
zE6gXKX8xAWYj*$do&rMe4%sn*_iw+yy_y^tV)o^p;=g_U_@Cf)&i}MK`;YJWzki)@
zZBwIptkF!H%${xbY6u^RfRwvb0$Q+sm;RN6ewHtlY;>s*j?CP$<&;QYVL6$w>+>x6
z?Yj@0v0kV@sNlDrHV~p6UG!DIL`*D(!3`B|>MR(EWmY)}3LCqq#PC~ZMIFx|dGEBM
zlF}$>SfLhHXgAj|QtGTm!JA2f*>Zd5DJUtw$!1<7;@&E{^K(Pu3NMC?h_bx%Th;o9
z(W1Z*VEt}bX3OUnL#eKlM*T3bs;cURB)&zgdGR>hR7L-SNsv6)=vIqN`Ei^UXmLL|
zI5Ha!^nUpmR9V)CfL^}PrzF&L?KP9HLMTJ&DXLpnM0D~wi9gfx+}u&4G=Cu%@gF>w
z@(z9Smni9Z?nQHxW=f3Z|Mc-4yV6mV!hwGC)$nifg%{^OtAd5+>5r)Rmvacm%2owc
z1P?v+0{D#n=_mgA(|>yp6j2lK;lxdofBX2N!@$GM{0ll|$5Z^5-(QQKxcT_Aq2xMg
z3jgv5Oph5nTr{Wu`uuN_pDX4>6)tt1Qu`Yf-V_B72by^efBwx(<(hzDym_|tJ^nwE
zCUADa96UtD{$A2Wf<pf~9p7k>a9x`odIL1c7wuO?2^skzSUPp77<6z)U&Hl8Jw}XZ
z%M(?}XS<f;vioD+cVBgeeUA2wi$VFYuY0fmAsbIHz&uMNCoyf4Gdj6~Sn(V+T7Jgp
z*6umhEj>XK=@`W38Yj6q02^)h-Yh8F?Sa@2<W(Q+;f^Fw!K^(2<cwwbc3Ir7GJffr
z9E4l!9#e0YKRUOGG)r@AgZ6PLlDl)MqclpF$JJ$a%zV7Z7NA?tjJInT*F|;OEyI(m
zLqQ)`%rd2eyT6YcC>!2OIQz`)fY4tKi@1#)U9xv`CN_FyX}p6$#~pR0si-Z?{nYR&
zlblQTA0c+9D=STW*2J?Mtl?!kx>bg9n#6{W2}uPd`BTdbq#S}Ce*I;jyk5~jjpgK$
zgO8_yX~32GGRk3+7X(b%Wnbn5$>@k*NtW@;$!%8_2%GF~XXJ=h((dD}xCSZgQuzu7
z<2wP`{ib_@{=AEr{b`|cGMQCh=`)K04j!R<ppol}_ueq>!}eK7sKcgKb|n1rigVK5
zt&u6c*k-}<mK<GFO~Ui82g^XVNwPwn4_86|-5&Htnvjc_MT;Y7sH#;F4wr%LgYzOK
zY?7{z({>2+*pa3HM(7;qH|(>`y0JI9;$7-iR<7TIn;2=aJf{v$a4Z|Gz+)>dM#ib!
zzE>_4fvoN<8JSIy3%-7Nv>c6tVAjIz`;dBLO(0bo1+8hhw}6mpi0zW8`pdHz#5V->
z^3A@OJlz!Pvug#dD@Y>fpaJ?Ycg}*1<d8QnZg<6ErdWB#KyTktM$BqJFJzT^D=Q;$
z-cf6JJ+^Yh$a`nHcdO7;DVcG8GAe2RGusQpDPq%7`<a&a%aa^OCGoO87@t}8t&*S>
zJzsVPcUkerQ?6o0^%tYTSsj=ClJp1fC@?thz1t&;l@s*2tKsjj*FJw<+^r!y+L|C)
zJQJ7eIl8cadvjLyXmIP-Y>y}}r!kM&H=e(db_uR^ke?RcNM(HbfF0Q8Zb+5q7@qxT
zX&axoRq?<h#qvzxmCHW+YgDjx`JKLE%rrY8Q|b0|AteoRui9`2e)-#zVPgB?%|KX`
zTQ9k#s->r{Qaf?%b_DGYZ*N{Q+Fldb86Mj#$_q6<Tz0E;W;FIfRa(1GadP~O+}rK1
z#8?RaBA)04`UfKiR~lpwQ7b#X4o;7tgfBX!#`_bD_M>Gk-g}_St4<|bxIjC+ufS`P
z93DdFzzbdVV=T!<EZI=iQg#$f0dvCOayxSk>`Uv>gd7JK?vIXsEB6lPbt;E&C3hno
zJ~$ywcX~2praki(hrVTR$N04NHQeks?Cx;R_HvRF50ly(Y<C5%fzhMu)6JvA#?Mcw
zbPSyoj3R{KouT`Aj1;~e%g#xXJdvQ}<nCoWn%1;}?v#m42x4<EW0%t1-DjxK+FMtC
zuJgqh17W^g&;BYy!F{9DS(-Mn9s&5m{zitZ-FMu)v*w1O6s{ksr}gg1D+(F^<`@Cz
zc8@ma5g*WNc;3?_O?C8%u^|T(|DnGmX@81)8MJM7J=gCz7^2i-$=V;Y;x#LINCvhD
zSlVz|Em{7GLeavHk%KPDzf*17dV${7IVKltxA=^ALOkc>Ip$fFSKnWdVnv*_p-N^v
z_RBNCGnz!`l97U_{>eFI;Mj1Wq<1c2wn!%uu?Rb8<+E3Q*m1)*{!ELduV5qS4}CNl
zyFDutZG5;MO9dIRGOJP}20>4JJZ_Qorp$IV^=^EqByOh-Bk6NE>@o5L4f;YmF&aAh
zdIAT!%qr&C9e>n!8S<I<s@jzOOMByiG?ZjFf;hZOlH^S{7Y7e@IXO8G&(ezIVs@Wy
zg;`3~j;=+xZBViZc@8%3%WQ**9W+6pKLXiChveISziTo*;@nPv>{>m(yVwpyw+sxu
zLI)tz0R(8^>|*8B$S8g~S$v+My^jprms*`R#|-JoSx12Pue3?wRof{qKjbc9R$@yI
zi-=I4c(r8peW%&@aAJV~nhKY#$V4usy!0Ty$GFENWP;mY&rFSY7H9B_G(r%)(e(kF
z*C4&@bjZcLTRukk8s$~gB;fOLz-6`iwr_<aG}ZD9T(@V^Vdpl_u0Z0-t(8X|bAed7
zjeB>gc}DhS@bB9<RsxL87q}K96;IY-rKmyQ_Ve-F0x<VFuOcTqj|R!HaUxCvecT&%
z&USO`{~+^z)$!S1(f*vg4At$ai<L^L3v#MpxnBl?D`Mk&paW~w_^wBW<Y*(cb=ex0
zl@0FwgzBSWQuX(qUynn%6{D}MYTEJXNIA0eBg?ME*=9#Kl-NYdt&wK5oxkVD53?Lt
zg27#wFvAJ&E$MM8UXQoUdplb4*kw@dMgKlN=?H1xZ12cB2<h(a*P{+omS8rzUcU3y
zzS-&ey?4L-LQenS{@us+Cl9;_W%s=eBp5JnZ^9qr8k8kYSJ|vLG#{?zn$>Do2<}-_
zzE!KzZL}Y;*(AplK+k)7y5jX3?eFtd?zB2QeO}Kv2$?^0*W*;XzQFtlu?HG17vj7-
z6&Qb)a2PWj^f@}<8>BQO94uzhA08|k49*u#T+reea088}qNEyT;&0yjJzp`Hg?tcF
z^A4Gz>SB-x8+f(bYEQ=pj>6eokAGbF_NM*IVqQIezjl#$t1gFTuFNn~W6IYCCuWIl
z>}A+Xeq3(CDCC+^UVVqOlvCHsqC;S(0)NTG>tNR3$uN`z5I+1UWz1|xnk1K*gF~EA
z+Xg=BU&z{X=<w7@cRvQDm_<oxGYIHEzMFUhHTz&dwz7p~ikCa#`CD8xVqs;{LSF96
zTV(&^>o!&R+=B6|kNU&o+9lR&H2P|@;Yg%N`ZEv?F>eX0S@wKi&CuEV9?>@?9<P=*
zw1d{<%NN>cy=Ds7wR?@`jmYBev>GSr8@YiQH~EsW>o&4XerafEI>o;FLRlgUh0{h3
zv!p<eIpyasU%($1X4fk@5fS~1E5aaQyK%Fu45oS~@Y$4#dw3(C{N3XH@$vE1F5)3-
zjDd4s$D`4hQOE6!8;>Dod`t{}>=#p#gHFQDo|x9>pMkX>5kPIRF;JS!yCdrKGzc*s
zH^mcAzDSCDJ9@u=<Gx3SKl_y19tdM|mFLeeZhSd+24}?yu3RJQ`jlQh+PEAqgn6LY
zeu`qaT9}-o{H~6()WNm%C+8Gh3-qHnO)bJN^g2&D`0N>o?@fqwiv3dSm5*hTjXvx3
zhL!97{m8Q|k2*6|Zx$;$E!crNt97%V6C)=iHe72U>nX{z=izMT;Q`)SiyoIY9SZM9
zMu6e%P@$7L@M*e^6$1-^;eqFh+&?+1dt*-I?adE6cz#=(!n)V|8>efj;lDk(K@q6$
zwONpqGic81!gBJAMoD0R4OPs}0@YXgIW%ETN%qd-Oe|Br|CkzSC;Q4t>x&&`AFO-)
z4S~ED6;3-A1dpE$zks!yR6MMv_RjMeI`KU2iI{Q6Io}7=os=@si>z&V^Rc(o=kybN
zIBm|hS8mi&ud@aQ1{!V(<oWEId3$=ZK~A?SGx5Gf7%Z=9@yAQpeX+l@(IKC`kfSa9
z{s|_T=4_PAgp=P5cPUO5UPpYO(o<7gY4!t_vYFW}$^})#6ZiAVozAwHxla+nydtsZ
z61{!B)*(gJS_Ri<cB}Tebc|fyZTX7q$4UO8F(r5R)H!e_NC=51pQZFxms}FZW%?=2
zn4VN>Iqx?va7#8Mjjfa(CIL5^ip=m!*7a6r@o01qN=(`g`}FdvCQx-5i&U2$p*9DK
zt2M$%uj+?qqnX%u4)UNY1?VT$ek^)SiuCJWJPKA%%EyF6Su^~4IQ@8DypDV<K4H&9
zhDN+-id<%R9G`&uN@Ddd`YvC5D6imFvXBWPm#2s?a@a{N((l@Zup}%bZF`eG{OpZ5
z$Q7x86S+>c{tn}Kh$0}A8w{RTpAN70^I!^zlx?y3aI;V@=sfeIRm%Bb?!>u%eC0jp
zj-ANDI2Wf?^_g&X-%~7Z!jUK7n#nrnSP&iVok(Fq=M8mR%s7@qnzrM$-<|pj)_R9n
zRyMNX&Q-reF{{_rm(N%sYhd>B=OF?7o+DG^21|^U+x6b+Z!S_(-k#HY;}Wz*Nnf&t
z?0?u9F;XKkXnre+UzS@WQ6F&@)*clHOJTe?lUBVGj?MKt@BFTA_4`T?0iI;{@l=AK
zYQkBE?Uqz=$t{r#uxZZM78tVQvS0Hu$4aVY>oRD6OHWE=d?RS*_Kg!GGBQt*_H6V|
zcbK!{WMJ36n^uS4EbExe;wafs?02G5wTcxo`A){w8~>EYm94=ndOJh<GAnMIG0E_S
z9wGjnEr#MqqD(KyffscjVyoKYzVxkMVi-N{d3EK=Ia<rJRNLu{8r0QlQY?IqoSL~Q
zzb-~z*W%bYSYHs?F}*<<X#QguDph)2T*{Y5%h5lCyXwdA^Np4&;TN@3l1P?o8=p)D
zC%HgDi&uKNFEd(_O)_*lLQ{bjO=2-rvtOoXf9+EdGiveZvOSvcWa?V|%q`tW-F+S%
zlH52Wveu<7)#Oza%8rD_W_5Qw>{%RXScOE}LO-%BSglrnuKdgHfR?Zjt`PB!C(Vf#
z!AOU%o#w1!Td+hwzTAqgcFNVfAn6tptF!D!ul(X|rGm#{9D8x{lfT$Abaqc9taxSM
z#^$-C&hpvM7d+rGk~p6nNohRC5I%PP#-LgJAu7dP{~QaGaGzBC=VzK$Bkq%L0>-(<
zqqWr6G-!8#3tY;7aQYzpW+K$j!FI)at6XD9*5Xvf1S)&{mOIM{(}3HO7f(U#Z=Hpw
zJ(2cm9=ai;#Sw0r?3DaFrsQr7WZu1y500#wygmDIGRezNDI+jZz$3!MV6DWRmz<@1
z^_4=)@Eai}h8}R(D9KoM0a@Uc$~1FPuJ(f0r!92}nomCKr{KOn9$dcRkrYSvD_8M8
zYN&K9xcxz=gUpd)Bt~GF);W=G%bLJ4dlCNdr4r&^B==&SA;c84+LF?(FiuzR#HaR_
zMk=-vbH=TEcR2;VUY~pK=b<i)yl~yPI9$e`;Wl47Dao#4KY1!H-??2S=a^i0?)QuR
zh!9AfadK}eDTMU$>ooRblIZX=@eZ4jBelh&B|ih%(X@`v>}5N!8z->t9G;7)-}l@f
zn>t-<Bp0gaz+Hr?pQ76st4ci~f@Q;nOmZNk{DeLA@4B#`rO1&xb%HCocCUm6n|D!M
z?gy7_SZ#yszPtF9=k9g9*l&|-LH$N<M!mG_wJ-gd5`F!k*U31%9GjukOffG4--4Qt
zJEhE3r_YQQc9ulV1}v4NV8dCt0`Bi?2V_xuIfsv(s#m;LXZ22qtL=X7Yhe#A_Q+R?
zSEZI|Y}alyUsLM2InPMR1~Q3zH|bRm$@&2K7$;7q6c+n5x#j}PjgE`&Dt7`Q?h0)t
zx_3Ld;iH93ltE4Xx990`wv2i+0^?Hhuts982T6TI?JP{Uh1&l(b?}nlb!c^~#_(!=
z`;|5X#Z5VXJtobEMfR)Ab!yJ&6jk@r!ZS40rGD+~$`p}t?XGAWa;}Az#6qnoogbHC
zZb1sT3vWrO-)u>`G{z^0pS^#Gj=S7}KPi26Y&8(FZ3NpkeMR>5_ra(K`!csGMfCVt
zUO!rQAy54Ag><OtT8ADnLFIQ~Bhf8yue}HiiMKCngxq@aOi}#GMy>30%GDV^a>3t1
zid%^6eXJZR<rBJ-{+OLfHaIQ*-lF*XLJ2XI08G{daxZu=w8-B9B_eTDfo}^PQ@RH@
zl`+m2W3+QFG+bkgXo@La60?&`bE5T8=c}+H;&D`Pl8)}gNa2sp_wKxBv9qw>UIA<>
z=X0s*^_3QsuhM7Jk`I4?RUev;j>y9=8s;RXjP8Wg&?U(B_yd}rw%}lq&Kon+Rfben
znN~N0ElfAf0bl&$$_tNQg~?h0*O9Gp<C<$M>B7qWD^6hEzg75|Y5X0{#C4Ko7X|4p
zdiHl@Q5}&iTD$O8`d>*T5(hL84=xy)I()I4{<|}k!L-}5vgWJmW!MhWU%;;i3hMX2
J-h1NrzW|i1Syli5

literal 0
HcmV?d00001

diff --git a/website/posts/guix-package.png b/website/posts/guix-package.png
new file mode 100644
index 0000000000000000000000000000000000000000..d86134295bad30a9485660bf282fbfb6c7ad5eeb
GIT binary patch
literal 48499
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

literal 0
HcmV?d00001

diff --git a/website/posts/reproducibility-with-guix.md b/website/posts/reproducibility-with-guix.md
new file mode 100644
index 0000000..8c7ca54
--- /dev/null
+++ b/website/posts/reproducibility-with-guix.md
@@ -0,0 +1,1013 @@
+title: Reproducible computations with Guix
+author: Konrad Hinsen
+tags: Reproducibility, Research
+date: 2020-1-14 12:00:00
+---
+
+This post is about reproducible computations, so let\'s start with a
+computation. A short, though rather uninteresting, C program is a good
+starting point. It computes π in three different ways:
+
+```c
+#include <math.h>
+#include <stdio.h>
+
+int main()
+{
+    printf( "M_PI                         : %.10lf\n", M_PI);
+    printf( "4 * atan(1.)                 : %.10lf\n", 4.*atan(1.));
+    printf( "Leibniz' formula (four terms): %.10lf\n", 4.*(1.-1./3.+1./5.-1./7.));
+    return 0;
+}
+```
+
+This program uses no random element, such as a random number generator
+or parallelism. It\'s strictly deterministic. It is reasonable to expect
+it to produce exactly the same output, on any computer and at any point
+in time. And yet, many programs whose results *should* be perfectly
+reproducible are in fact not. Programs using floating-point arithmetic,
+such as this short example, are particularly prone to seemingly
+inexplicable variations.
+
+My goal is to explain why deterministic programs often fail to be
+reproducible, and what it takes to fix this. The short answer to that
+question is \"use Guix\", but even though Guix provides excellent
+support for reproducibility, you still have to use it correctly, and
+that requires some understanding of what\'s going on. The explanation I
+will give is rather detailed, to the point of discussing parts of the
+Guile API of Guix. You should be able to follow the reasoning without
+knowing Guile though, you will just have to believe me that the scripts
+I will show do what I claim they do. And in the end, I will provide a
+ready-to-run Guile script that will let you explore package dependencies
+right from the shell.
+
+Dependencies: what it takes to run a program
+============================================
+
+One keyword in discussions of reproducibility is \"dependencies\". I
+will revisit the exact meaning of this term later, but to get started, I
+will define it loosely as \"any software package required to run a
+program\". Running the π computation shown above is normally done using
+something like
+
+```sh
+gcc pi.c -o pi
+./pi
+```
+
+C programmers know that `gcc` is a C compiler, so that\'s one obvious
+dependency for running our little program. But is a C compiler enough?
+That question is surprisingly difficult to answer in practice. Your
+computer is loaded with tons of software (otherwise it wouldn\'t be very
+useful), and you don\'t really know what happens behind the scenes when
+you run `gcc` or `pi`.
+
+Containers are good
+-------------------
+
+A major element of reproducibility support in Guix is the possibility to
+run programs in well-defined environments that contain exactly the
+software packages you request, and no more. So if your program runs in
+an environment that contains only a C compiler, you can be sure it has
+no other dependencies. Let\'s create such an environment:
+
+```sh
+guix environment --container --ad-hoc gcc-toolchain
+```
+
+The option `--container` ensures the best possible isolation from the
+standard environment that your system installation and user account
+provide for day-to-day work. This environment contains nothing but a C
+compiler and a shell (which you need to type in commands), and has
+access to no other files than those in the current directory.
+
+If the term \"container\" makes you think of Docker, note that this is
+something different. Note also that the option `--container` requires
+support from the Linux kernel, which may not be present on your system,
+or may be disabled by default. Finally, note that by default, a
+containerized environment has no network access, which may be a problem.
+If for whatever reason you cannot use `--container`, use `--pure`
+instead. This yields a less isolated environment, but it is usually good
+enough. For a more detailed discussion of these options, see the [Guix
+manual](https://guix.gnu.org/manual/en/guix.html#Invoking-guix-environment).
+
+The above command leaves me in a shell inside my environment, where I
+can now compile and run my little program:
+
+```sh
+gcc pi.c -o pi
+./pi
+```
+
+```
+M_PI                         : 3.1415926536
+4 * atan(1.)                 : 3.1415926536
+Leibniz' formula (four terms): 2.8952380952
+```
+
+It works! So now I can be sure that my program has a single dependency:
+the Guix package `gcc-toolchain`. I\'ll leave that special-environment shell
+by typing Ctrl-D, as otherwise the following examples won't work.
+
+Perfectionists who want to exclude the possibility that my program
+requires a shell could run each step in a separate container:
+
+```sh
+guix environment --container --ad-hoc gcc-toolchain -- gcc pi.c -o pi
+guix environment --container --ad-hoc gcc-toolchain -- ./pi
+```
+
+```
+M_PI                         : 3.1415926536
+4 * atan(1.)                 : 3.1415926536
+Leibniz' formula (four terms): 2.8952380952
+```
+
+Welcome to dependency hell!
+---------------------------
+
+Now that we know that our only dependency is `gcc-toolchain`, let\'s
+look at it in more detail:
+
+```sh
+guix show gcc-toolchain
+```
+
+```
+name: gcc-toolchain
+version: 9.2.0
+outputs: out debug static
+systems: x86_64-linux i686-linux
+dependencies: binutils@2.32 gcc@9.2.0 glibc@2.29 ld-wrapper@0
+location: gnu/packages/commencement.scm:2532:4
+homepage: https://gcc.gnu.org/
+license: GPL 3+
+synopsis: Complete GCC tool chain for C/C++ development  
+description: This package provides a complete GCC tool chain for C/C++
++ development to be installed in user profiles.  This includes GCC, as well as
++ libc (headers an d binaries, plus debugging symbols in the `debug' output),
++ and Binutils.
+
+name: gcc-toolchain
+version: 8.3.0
+outputs: out debug static
+systems: x86_64-linux i686-linux
+dependencies: binutils@2.32 gcc@8.3.0 glibc@2.29 ld-wrapper@0
+location: gnu/packages/commencement.scm:2532:4
+homepage: https://gcc.gnu.org/
+license: GPL 3+
+synopsis: Complete GCC tool chain for C/C++ development  
+description: This package provides a complete GCC tool chain for C/C++
++ development to be installed in user profiles.  This includes GCC, as well as
++ libc (headers an d binaries, plus debugging symbols in the `debug' output),
++ and Binutils.
+
+name: gcc-toolchain
+version: 7.4.0
+outputs: out debug static
+systems: x86_64-linux i686-linux
+dependencies: binutils@2.32 gcc@7.4.0 glibc@2.29 ld-wrapper@0
+location: gnu/packages/commencement.scm:2532:4
+homepage: https://gcc.gnu.org/
+license: GPL 3+
+synopsis: Complete GCC tool chain for C/C++ development  
+description: This package provides a complete GCC tool chain for C/C++
++ development to be installed in user profiles.  This includes GCC, as well as
++ libc (headers an d binaries, plus debugging symbols in the `debug' output),
++ and Binutils.
+
+name: gcc-toolchain
+version: 6.5.0
+outputs: out debug static
+systems: x86_64-linux i686-linux
+dependencies: binutils@2.32 gcc@6.5.0 glibc@2.29 ld-wrapper@0
+location: gnu/packages/commencement.scm:2532:4
+homepage: https://gcc.gnu.org/
+license: GPL 3+
+synopsis: Complete GCC tool chain for C/C++ development  
+description: This package provides a complete GCC tool chain for C/C++
++ development to be installed in user profiles.  This includes GCC, as well as
++ libc (headers an d binaries, plus debugging symbols in the `debug' output),
++ and Binutils.
+
+name: gcc-toolchain
+version: 5.5.0
+outputs: out debug static
+systems: x86_64-linux i686-linux
+dependencies: binutils@2.32 gcc@5.5.0 glibc@2.29 ld-wrapper@0
+location: gnu/packages/commencement.scm:2532:4
+homepage: https://gcc.gnu.org/
+license: GPL 3+
+synopsis: Complete GCC tool chain for C/C++ development  
+description: This package provides a complete GCC tool chain for C/C++
++ development to be installed in user profiles.  This includes GCC, as well as
++ libc (headers an d binaries, plus debugging symbols in the `debug' output),
++ and Binutils.
+
+name: gcc-toolchain
+version: 4.9.4
+outputs: out debug static
+systems: x86_64-linux i686-linux
+dependencies: binutils@2.32 gcc@4.9.4 glibc@2.29 ld-wrapper@0
+location: gnu/packages/commencement.scm:2532:4
+homepage: https://gcc.gnu.org/
+license: GPL 3+
+synopsis: Complete GCC tool chain for C/C++ development  
+description: This package provides a complete GCC tool chain for C/C++
++ development to be installed in user profiles.  This includes GCC, as well as
++ libc (headers an d binaries, plus debugging symbols in the `debug' output),
++ and Binutils.
+
+name: gcc-toolchain
+version: 4.8.5
+outputs: out debug static
+systems: x86_64-linux i686-linux
+dependencies: binutils@2.32 gcc@4.8.5 glibc@2.29 ld-wrapper@0
+location: gnu/packages/commencement.scm:2532:4
+homepage: https://gcc.gnu.org/
+license: GPL 3+
+synopsis: Complete GCC tool chain for C/C++ development  
+description: This package provides a complete GCC tool chain for C/C++
++ development to be installed in user profiles.  This includes GCC, as well as
++ libc (headers an d binaries, plus debugging symbols in the `debug' output),
++ and Binutils.
+
+```
+
+Guix actually knows about several versions of this toolchain. We didn\'t
+ask for a specific one, so what we got is the first one in this list,
+which is the one with the highest version number. Let\'s check that this
+is true:
+
+```sh
+guix environment --container --ad-hoc gcc-toolchain -- gcc --version
+```
+
+```
+gcc (GCC) 9.2.0
+Copyright (C) 2019 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+```
+
+The output of `guix show` contains a line about dependencies. These are
+the dependencies of our dependency, and you may already have guessed
+that they will have dependencies as well. That\'s why reproducibility is
+such a difficult job in practice! The dependencies of
+`gcc-toolchain@9.2.0` are:
+
+```sh
+guix show gcc-toolchain@9.2.0 | recsel -P dependencies
+```
+
+```
+binutils@2.32 gcc@9.2.0 glibc@2.29 ld-wrapper@0
+```
+
+To dig deeper, we can try feeding these dependencies to `guix show`, one
+by one, in order to learn more about them:
+
+```sh
+guix show binutils@2.32
+```
+
+```
+name: binutils
+version: 2.32
+outputs: out
+systems: x86_64-linux i686-linux
+dependencies: 
+location: gnu/packages/base.scm:415:2
+homepage: https://www.gnu.org/software/binutils/
+license: GPL 3+
+synopsis: Binary utilities: bfd gas gprof ld  
+description: GNU Binutils is a collection of tools for working with binary
++ files.  Perhaps the most notable are "ld", a linker, and "as", an assembler.
++ Other tools include programs to display binary profiling information, list the
++ strings in a binary file, and utilities for working with archives.  The "bfd"
++ library for working with executable and object formats is also included.
+
+```
+
+```sh
+guix show gcc@9.2.0
+```
+
+```
+guix show: error: gcc@9.2.0: package not found
+```
+
+This looks a bit surprising. What\'s happening here is that `gcc` is
+defined as a *hidden package* in Guix. The package is there, but it is
+hidden from package queries. There is a good reason for this: `gcc` on
+its own is rather useless, you need `gcc-toolchain` to actually use the
+compiler. But if both `gcc` and `gcc-toolchain` showed up in a search,
+that would be more confusing than helpful for most users. Hiding the
+package is a way of saying \"for experts only\".
+
+Let\'s take this as a sign that it\'s time to move on to the next level
+of Guix hacking: Guile scripts. Guile, an implementation of the Scheme
+language, is Guix\' native language, so using Guile scripts, you get
+access to everything there is to know about Guix and its packages.
+
+A note in passing: the
+[emacs-guix](https://emacs-guix.gitlab.io/website/) package provides an
+intermediate level of Guix exploration for Emacs users. It lets you look
+at hidden packages, for example. But much of what I will show in the
+following really requires Guile scripts. Another nice tool for package
+exploration is [guix
+graph](https://guix.gnu.org/manual/en/guix.html#Invoking-guix-graph),
+which creates a diagram showing dependency relations between packages.
+Unfortunately that diagram is legible only for a relatively small number
+of dependencies, and as we will see later, most packages end up having
+lots of them.
+
+Anatomy of a Guix package
+=========================
+
+From the user\'s point of view, a package is a piece of software with a
+name and a version number that can be installed using `guix install`.
+The packager\'s point of view is quite a bit different. In fact, what
+users consider a package is more precisely called the package\'s
+*output* in Guix jargon. The package is a recipe for creating this
+output.
+
+To see how all these concepts fit together, let\'s look at an example of
+a package definition: `xmag`. I have chosen this package not because I
+care much about it, but because its definition is short while showcasing
+all the features I want to explain. You can access it most easily by
+typing `guix edit xmag`. Here is what you will see:
+
+```scheme
+(package
+  (name "xmag")
+  (version "1.0.6")
+  (source
+   (origin
+     (method url-fetch)
+     (uri (string-append
+           "mirror://xorg/individual/app/" name "-" version ".tar.gz"))
+     (sha256
+      (base32
+       "19bsg5ykal458d52v0rvdx49v54vwxwqg8q36fdcsv9p2j8yri87"))))
+  (build-system gnu-build-system)
+  (arguments
+   `(#:configure-flags
+     (list (string-append "--with-appdefaultdir="
+                          %output ,%app-defaults-dir))))
+  (inputs
+   `(("libxaw" ,libxaw)))
+  (native-inputs
+   `(("pkg-config" ,pkg-config)))
+  (home-page "https://www.x.org/wiki/")
+  (synopsis "Display or capture a magnified part of a X11 screen")
+  (description "Xmag displays and captures a magnified snapshot of a portion
+of an X11 screen.")
+  (license license:x11))
+```
+
+The [package
+definition](http://guix.gnu.org/manual/devel/en/html_node/Defining-Packages.html#Defining-Packages)
+starts with the name and version information you expected. Next comes
+`source`, which says how to obtain the source code and from where. It
+also provides a hash that allows to check the integrity of the
+downloaded files. The next four items, `build-system`, `arguments`,
+`inputs`, and `native-inputs` supply the information required for
+*building* the package, which is what creates its outputs. The remaining
+items are documentation for human consumption, important for other
+reasons but not for reproducibility, so I won\'t say any more about
+them. (See this [packaging
+tutorial](http://guix.gnu.org/cookbook/en/html_node/Packaging.html#Packaging)
+if you want to define your own package.)
+
+The example package definition has `native-inputs` in addition to
+\"plain\" `inputs`. There\'s a third variant, `propagated-inputs`, but
+`xmag` doesn\'t have any. The differences between these variants don\'t
+matter for my topic, so I will just refer to \"inputs\" from now on.
+Another omission I will make is the possibility to define several
+outputs for a package. This is done for particularly big packages, in
+order to reduce the footprint of installations, but for the purposes of
+reproducibility, it\'s OK to treat all outputs of a package a single
+unit.
+
+The following figure illustrates how the various pieces of information
+from a package are used in the build process (done explicitly by
+`guix build`, or implicitly when installing or otherwise using a
+package): ![](guix-package.png)
+
+It may help to translate the Guix jargon to the vocabulary of C
+programming:
+
+<table>
+  <tr>
+    <th>Guix package</th>   <th>C program</th>
+  </tr>
+  <tr>
+    <td>source code</td>    <td>source code</td>
+  </tr>
+  <tr>
+    <td>inputs</td>         <td>libraries</td>
+  </tr>
+  <tr>
+    <td>arguments</td>      <td>compiler options</td>
+  </tr>
+  <tr>
+    <td>build system</td>   <td>compiler</td>
+  </tr>
+  <tr>
+    <td>output</td>         <td>executable</td>
+  </tr>
+</table>
+
+Building a package can be considered a generalization of compiling a
+program. We could in fact create a \"GCC build system\" for Guix that
+would simply run `gcc`. However, such a build system would be of little
+practical use, since most real-life software consists of more than just
+one C source code file, and requires additional pre- or post-processing
+steps. The `gnu-build-system` used in the example is based on tools such
+as `make` and `autoconf`, in addition to `gcc`.
+
+Package exploration in Guile
+============================
+
+Guile uses a record type called
+[`<package>`](https://git.savannah.gnu.org/cgit/guix.git/tree/guix/packages.scm#n249)
+to represent packages, which is defined in module `(guix packages)`.
+There is also a module
+[`(gnu packages)`](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages),
+which contains the actual package definitions - be careful not to
+confuse the two (as I always do). Here is a simple Guile script that
+shows some package information, much like the `guix show` command that I
+used earlier:
+
+```scheme
+(use-modules (guix packages)
+             (gnu packages)) 
+
+(define gcc-toolchain
+  (specification->package "gcc-toolchain"))
+
+(format #t "Name   : ~a\n" (package-name gcc-toolchain))
+(format #t "Version: ~a\n" (package-version gcc-toolchain))
+(format #t "Inputs : ~a\n" (package-direct-inputs gcc-toolchain))
+```
+
+```
+Name   : gcc-toolchain
+Version: 9.2.0
+Inputs : ((gcc #<package gcc@9.2.0 gnu/packages/gcc.scm:524 7fc2d76af160>) (ld-wrapper #<package ld-wrapper@0 gnu/packages/base.scm:505 7fc2d306f580>) (binutils #<package binutils@2.32 gnu/packages/commencement.scm:2187 7fc2d306fdc0>) (libc #<package glibc@2.29 gnu/packages/commencement.scm:2145 7fc2d306fe70>) (libc-debug #<package glibc@2.29 gnu/packages/commencement.scm:2145 7fc2d306fe70> debug) (libc-static #<package glibc@2.29 gnu/packages/commencement.scm:2145 7fc2d306fe70> static))
+```
+
+This script first calls `specification->package` to look up the package
+using the same rules as the `guix` command line interface: pick the
+latest available version if none is explicitly requested. Then it
+extracts various information about the package. Note that
+`package-direct-inputs` returns the combination of `package-inputs`,
+`package-native-inputs`, and `package-propagated-inputs`. As I said
+above, I don\'t care about the distinction here.
+
+The inputs are not shown in a particularly nice form, so let\'s write
+two Guile functions to improve it:
+
+```scheme
+(use-modules (guix packages)
+             (gnu packages)
+             (ice-9 match))
+
+(define (package->specification package)
+  (format #f "~a@~a"
+          (package-name package)
+          (package-version package)))
+
+(define (input->specification input)
+  (match input
+    ((label (? package? package) . _)
+     (package->specification package))
+    (other-item
+     (format #f "~a" other-item))))
+
+(define gcc-toolchain
+  (specification->package "gcc-toolchain"))
+
+(format #t "Package: ~a\n"
+        (package->specification gcc-toolchain))
+(format #t "Inputs : ~a\n"
+        (map input->specification (package-direct-inputs gcc-toolchain)))
+```
+
+```
+Package: gcc-toolchain@9.2.0
+Inputs : (gcc@9.2.0 ld-wrapper@0 binutils@2.32 glibc@2.29 glibc@2.29 glibc@2.29)
+```
+
+That looks much better. As you can see from the code, a list of inputs
+is a bit more than a list of packages. It is in fact a list of labelled
+*package outputs*. That also explains why we see `glibc` three times in
+the input list: `glibc` defines three distinct outputs, all of which are
+used in `gcc-toolchain`. For reproducibility, all we care about is the
+package references. Later on, we will deal with much longer input lists,
+so as a final cleanup step, let\'s show only unique package references
+from the list of inputs:
+
+```scheme
+(use-modules (guix packages)
+             (gnu packages)
+             (srfi srfi-1)
+             (ice-9 match))
+
+(define (package->specification package)
+  (format #f "~a@~a"
+          (package-name package)
+          (package-version package)))
+
+(define (input->specification input)
+  (match input
+    ((label (? package? package) . _)
+     (package->specification package))
+    (other-item
+     (format #f "~a" other-item))))
+
+(define (unique-inputs inputs)
+  (delete-duplicates
+   (map input->specification inputs)))
+
+(define gcc-toolchain
+  (specification->package "gcc-toolchain"))
+
+(format #t "Package: ~a\n"
+        (package->specification gcc-toolchain))
+(format #t "Inputs : ~a\n"
+        (unique-inputs (package-direct-inputs gcc-toolchain)))
+```
+
+```
+Package: gcc-toolchain@9.2.0
+Inputs : (gcc@9.2.0 ld-wrapper@0 binutils@2.32 glibc@2.29)
+```
+
+Dependencies
+============
+
+You may have noticed the absence of the term \"dependency\" from the
+last two sections. There is a good reason for that: the term is used in
+somewhat different meanings, and that can create confusion. Guix jargon
+therefore avoids it.
+
+The figure above shows three kinds of input to the build system: source,
+inputs, and arguments. These categories reflect the packagers\' point of
+view: `source` is what the authors of the software supply, `inputs` are
+other packages, and `arguments` is what the packagers themselves add to
+the build procedure. It is important to understand that from a purely
+technical point of view, there is no fundamental difference between the
+three categories. You could, for example, define a package that contains
+C source code in the build system `arguments`, but leaves `source`
+empty. This would be inconvenient, and confusing for others, so I don\'t
+recommend you actually do this. The three categories are important, but
+for humans, not for computers. In fact, even the build system is not
+fundamentally distinct from its inputs. You could define a
+special-purpose build system for one package, and put all the source
+code in there. At the level of the CPU and the computer\'s memory, a
+build process (as in fact *any* computation) looks like
+![](computation.png) It is human interpretation that decomposes this
+into ![](data-code.png) and in a next step into
+![](data-program-environment.png) We can go on and divide the
+environment into operating system, development tools, and application
+software, for example, but the further we go in decomposing the input to
+a computation, the more arbitrary it gets.
+
+From this point of view, a software\'s dependencies consist of
+everything required to run it in addition to its source code. For a Guix
+package, the dependencies are thus,
+
+-   its inputs
+-   the build system arguments
+-   the build system itself
+-   Guix (which is a piece of software as well)
+-   the GNU/Linux operating system (kernel, file system, etc.).
+
+In the following, I will not mention the last two items any more,
+because they are a common dependency of all Guix packages, but it\'s
+important not to forget about them. A change in Guix or in GNU/Linux can
+actually make a computation non-reproducible, although in practice that
+happens very rarely. Moreover, Guix is actually designed to run older
+versions of itself, as we will see later.
+
+Build systems are (mostly) packages as well
+===========================================
+
+I hope that by now you have a good idea of what a package is: a recipe
+for building outputs from source and inputs, with inputs being the
+outputs of other packages. The recipe involves a build system and
+arguments supplied to it. So... what exactly is a build system? I have
+introduced it as a generalization of a compiler, which describes its
+role. But where does a build system come from in Guix?
+
+The ultimate answer is of course the [source
+code](https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system).
+Build systems are pieces of Guile code that are part of Guix. But this
+Guile code is only a shallow layer orchestrating invocations of other
+software, such as `gcc` or `make`. And that software is defined by
+packages. So in the end, from a reproducibility point of view, we can
+replace the \"build system\" item in our list of dependenies by \"a
+bundle of packages\". In other words: more inputs.
+
+Before Guix can build a package, it must gather all the required
+ingredients, and that includes replacing the build system by the
+packages it represents. The resulting list of ingredients is called a
+`bag`, and we can access it using a Guile script:
+
+```scheme
+(use-modules (guix packages)
+             (gnu packages)
+             (srfi srfi-1)
+             (ice-9 match))
+
+(define (package->specification package)
+  (format #f "~a@~a"
+          (package-name package)
+          (package-version package)))
+
+(define (input->specification input)
+  (match input
+    ((label (? package? package) . _)
+     (package->specification package))
+    ((label (? origin? origin))
+     (format #f "[source code from ~a]"
+             (origin-uri origin)))
+    (other-input
+     (format #f "~a" other-input))))
+
+(define (unique-inputs inputs)
+  (delete-duplicates
+   (map input->specification inputs)))
+
+(define hello
+  (specification->package "hello"))
+
+(format #t "Package       : ~a\n"
+        (package->specification hello))
+(format #t "Package inputs: ~a\n"
+        (unique-inputs (package-direct-inputs hello)))
+(format #t "Build inputs  : ~a\n"
+        (unique-inputs
+         (bag-direct-inputs
+          (package->bag hello))))
+```
+
+```
+Package       : hello@2.10
+Package inputs: ()
+Build inputs  : ([source code from mirror://gnu/hello/hello-2.10.tar.gz] tar@1.32 gzip@1.10 bzip2@1.0.6 xz@5.2.4 file@5.33 diffutils@3.7 patch@2.7.6 findutils@4.6.0 gawk@5.0.1 sed@4.7 grep@3.3 coreutils@8.31 make@4.2.1 bash-minimal@5.0.7 ld-wrapper@0 binutils@2.32 gcc@7.4.0 glibc@2.29 glibc-utf8-locales@2.29)
+```
+
+I have used a different example,
+[`hello`](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm#n72),
+because for `gcc-toolchain`, there is no difference between package
+inputs and build inputs (check for yourself if you want!) My new
+example, [`hello`](https://hpc.guix.info/package/hello) (a short demo
+program printing \"Hello, world\" in the language of the system
+installation), is interesting because it has no package inputs at all.
+All the build inputs except for the source code have thus been
+contributed by the build system.
+
+If you compare this script to the previous one that printed only the
+package inputs, you will notice two major new features. In
+`input->specification`, there is an additional case for the source code
+reference. And in the last statement, `package->bag` constructs a bag
+from the package, before `bag-direct-inputs` is called to get that
+bag\'s input list.
+
+Inputs are outputs
+==================
+
+I have mentioned before that one package\'s inputs are other packages\'
+outputs, but that fact deserves a more in-depth discussion because of
+its crucial importance for reproducibility. A package is a recipe for
+building outputs from source and inputs. Since these inputs are outputs,
+they must have been built as well. Package building is therefore a
+process consisting of multiple steps. An immediate consequence is that
+any computation making use of packaged software is a multi-step
+computation as well.
+
+Remember the short C program computing π from the beginning of this
+post? Running that program is only the last step in a long series of
+computations. Before you can run `pi`, you must compile `pi.c`. That
+requires the package `gcc-toolchain`, which must first be built. And
+before it can be built, its inputs must be built. And so on. If you want
+the output of `pi` to be reproducible, **the whole chain of computations
+must be reproducible**, because each step can have an impact on the
+results produced by `pi`.
+
+So... where does this chain start? Few people write machine code these
+days, so almost all software requires some compiler or interpreter. And
+that means that for every package, there are other packages that must be
+built first. The question of how to get this chain started is known as
+the bootstrapping problem. A rough summary of the solution is that the
+chain starts on somebody else\'s computer, which creates a bootstrap
+seed, an ideally small package that is downloaded in precompiled form.
+See [this post by Jan
+Nieuwenhuizen](https://guix.gnu.org/blog/2019/guix-reduces-bootstrap-seed-by-50/)
+for details of this procedure. The bootstrap seed is not the real start
+of the chain, but as long as we can retrieve an identical copy at a
+later time, that\'s good enough for reproducibility. In fact, the reason
+for requiring the bootstrap seed to be small is not reproducibility, but
+inspectability: it should be possible to audit the seed for bugs and
+malware, even in the absence of source code.
+
+Reaching closure
+----------------
+
+Now we are finally ready for the ultimate step in dependency analysis:
+identifying all packages on which a computation depends, right up to the
+bootstrap seed. The starting point is the list of direct inputs of the
+bag derived from a package, which we looked at in the previous script.
+For each package in that list, we must apply this same procedure,
+recursively. We don\'t have to write this code ourselves, because the
+function `package-closure` in Guix does that job. These closures have
+nothing to do with closures in Lisp, and even less with the Clojure
+programming language. They are a case of what mathematicians call
+[transitive closures](https://en.wikipedia.org/wiki/Transitive_closure):
+starting with a set of packages, you extend the set repeatedly by adding
+the inputs of the packages that are already in the set, until there is
+nothing more to add. If you have a basic knowledge of Scheme, you should
+now be able to understand
+[implementation](https://git.savannah.gnu.org/cgit/guix.git/tree/guix/packages.scm#n817)
+of this function. Let\'s add it to our dependency analysis code:
+
+```scheme
+(use-modules (guix packages)
+             (gnu packages)
+             (srfi srfi-1)
+             (ice-9 match))
+
+(define (package->specification package)
+  (format #f "~a@~a"
+          (package-name package)
+          (package-version package)))
+
+(define (input->specification input)
+  (match input
+    ((label (? package? package) . _)
+     (package->specification package))
+    ((label (? origin? origin))
+     (format #f "[source code from ~a]"
+             (origin-uri origin)))
+    (other-input
+     (format #f "~a" other-input))))
+
+(define (unique-inputs inputs)
+  (delete-duplicates
+   (map input->specification inputs)))
+
+(define (length-and-list lists)
+  (list (length lists) lists))
+
+(define hello
+  (specification->package "hello"))
+
+(format #t "Package        : ~a\n"
+        (package->specification hello))
+(format #t "Package inputs : ~a\n"
+        (length-and-list (unique-inputs (package-direct-inputs hello))))
+(format #t "Build inputs   : ~a\n"
+        (length-and-list
+         (unique-inputs
+          (bag-direct-inputs
+           (package->bag hello)))))
+(format #t "Package closure: ~a\n"
+        (length-and-list
+         (delete-duplicates
+          (map package->specification
+               (package-closure (list hello))))))
+```
+
+```
+Package        : hello@2.10
+Package inputs : (0 ())
+Build inputs   : (20 ([source code from mirror://gnu/hello/hello-2.10.tar.gz] tar@1.32 gzip@1.10 bzip2@1.0.6 xz@5.2.4 file@5.33 diffutils@3.7 patch@2.7.6 findutils@4.6.0 gawk@5.0.1 sed@4.7 grep@3.3 coreutils@8.31 make@4.2.1 bash-minimal@5.0.7 ld-wrapper@0 binutils@2.32 gcc@7.4.0 glibc@2.29 glibc-utf8-locales@2.29))
+Package closure: (84 (m4@1.4.18 libatomic-ops@7.6.10 gmp@6.1.2 libgc@7.6.12 libltdl@2.4.6 libunistring@0.9.10 libffi@3.2.1 pkg-config@0.29.2 guile@2.2.6 libsigsegv@2.12 lzip@1.21 ed@1.15 perl@5.30.0 guile-bootstrap@2.0 zlib@1.2.11 xz@5.2.4 ncurses@6.1-20190609 libxml2@2.9.9 attr@2.4.48 gettext-minimal@0.20.1 gcc-cross-boot0-wrapped@7.4.0 libstdc++@7.4.0 ld-wrapper-boot3@0 bootstrap-binaries@0 ld-wrapper-boot0@0 flex@2.6.4 glibc-intermediate@2.29 libstdc++-boot0@4.9.4 expat@2.2.7 gcc-mesboot1-wrapper@4.7.4 mesboot-headers@0.19 gcc-core-mesboot@2.95.3 bootstrap-mes@0 bootstrap-mescc-tools@0.5.2 tcc-boot0@0.9.26-6.c004e9a mes-boot@0.19 tcc-boot@0.9.27 make-mesboot0@3.80 gcc-mesboot0@2.95.3 binutils-mesboot0@2.20.1a make-mesboot@3.82 diffutils-mesboot@2.7 gcc-mesboot1@4.7.4 glibc-headers-mesboot@2.16.0 glibc-mesboot0@2.2.5 binutils-mesboot@2.20.1a linux-libre-headers@4.19.56 linux-libre-headers-bootstrap@0 gcc-mesboot@4.9.4 glibc-mesboot@2.16.0 gcc-cross-boot0@7.4.0 bash-static@5.0.7 gettext-boot0@0.19.8.1 python-minimal@3.5.7 perl-boot0@5.30.0 texinfo@6.6 bison@3.4.1 gzip@1.10 libcap@2.27 acl@2.2.53 glibc-utf8-locales@2.29 gcc-mesboot-wrapper@4.9.4 file-boot0@5.33 findutils-boot0@4.6.0 diffutils-boot0@3.7 make-boot0@4.2.1 binutils-cross-boot0@2.32 glibc@2.29 gcc@7.4.0 binutils@2.32 ld-wrapper@0 bash-minimal@5.0.7 make@4.2.1 coreutils@8.31 grep@3.3 sed@4.7 gawk@5.0.1 findutils@4.6.0 patch@2.7.6 diffutils@3.7 file@5.33 bzip2@1.0.6 tar@1.32 hello@2.10))
+```
+
+That\'s 84 packages, just for printing \"Hello, world!\". As promised,
+it includes the boostrap seed, called `bootstrap-binaries`. It may be
+more surprising to see Perl and Python in the dependency list of what is
+a pure C program. The explanation is that the build process of `gcc` and
+`glibc` contains Perl and Python code. Considering that both Perl and
+Python are written in C and use `glibc`, this hints at why bootstrapping
+is a hard problem!
+
+Get ready for your own analyses
+-------------------------------
+
+As promised, here is a [Guile script](show-dependencies.scm) that you
+can download and run from the command line to do dependency analyses
+much like the ones I have shown. Just give the packages whose combined
+list of dependencies you want to analyze. For example:
+
+```sh
+./show-dependencies.scm hello
+```
+
+```
+Packages: 1
+  hello@2.10
+Package inputs: 0 packages
+ 
+Build inputs: 20 packages
+  [source code from mirror://gnu/hello/hello-2.10.tar.gz] bash-minimal@5.0.7 binutils@2.32 bzip2@1.0.6 coreutils@8.31 diffutils@3.7 file@5.33 findutils@4.6.0 gawk@5.0.1 gcc@7.4.0 glibc-utf8-locales@2.29 glibc@2.29 grep@3.3 gzip@1.10 ld-wrapper@0 make@4.2.1 patch@2.7.6 sed@4.7 tar@1.32 xz@5.2.4
+Package closure: 84 packages
+  acl@2.2.53 attr@2.4.48 bash-minimal@5.0.7 bash-static@5.0.7 binutils-cross-boot0@2.32 binutils-mesboot0@2.20.1a binutils-mesboot@2.20.1a binutils@2.32 bison@3.4.1 bootstrap-binaries@0 bootstrap-mes@0 bootstrap-mescc-tools@0.5.2 bzip2@1.0.6 coreutils@8.31 diffutils-boot0@3.7 diffutils-mesboot@2.7 diffutils@3.7 ed@1.15 expat@2.2.7 file-boot0@5.33 file@5.33 findutils-boot0@4.6.0 findutils@4.6.0 flex@2.6.4 gawk@5.0.1 gcc-core-mesboot@2.95.3 gcc-cross-boot0-wrapped@7.4.0 gcc-cross-boot0@7.4.0 gcc-mesboot-wrapper@4.9.4 gcc-mesboot0@2.95.3 gcc-mesboot1-wrapper@4.7.4 gcc-mesboot1@4.7.4 gcc-mesboot@4.9.4 gcc@7.4.0 gettext-boot0@0.19.8.1 gettext-minimal@0.20.1 glibc-headers-mesboot@2.16.0 glibc-intermediate@2.29 glibc-mesboot0@2.2.5 glibc-mesboot@2.16.0 glibc-utf8-locales@2.29 glibc@2.29 gmp@6.1.2 grep@3.3 guile-bootstrap@2.0 guile@2.2.6 gzip@1.10 hello@2.10 ld-wrapper-boot0@0 ld-wrapper-boot3@0 ld-wrapper@0 libatomic-ops@7.6.10 libcap@2.27 libffi@3.2.1 libgc@7.6.12 libltdl@2.4.6 libsigsegv@2.12 libstdc++-boot0@4.9.4 libstdc++@7.4.0 libunistring@0.9.10 libxml2@2.9.9 linux-libre-headers-bootstrap@0 linux-libre-headers@4.19.56 lzip@1.21 m4@1.4.18 make-boot0@4.2.1 make-mesboot0@3.80 make-mesboot@3.82 make@4.2.1 mes-boot@0.19 mesboot-headers@0.19 ncurses@6.1-20190609 patch@2.7.6 perl-boot0@5.30.0 perl@5.30.0 pkg-config@0.29.2 python-minimal@3.5.7 sed@4.7 tar@1.32 tcc-boot0@0.9.26-6.c004e9a tcc-boot@0.9.27 texinfo@6.6 xz@5.2.4 zlib@1.2.11
+```
+
+You can now easily experiment yourself, even if you are not at ease with
+Guile. For example, suppose you have a small Python script that plots
+some data using matplotlib. What are its dependencies? First you should
+check that it runs in a minimal environment:
+
+```sh
+guix environment --container --ad-hoc python python-matplotlib -- python my-script.py
+```
+
+Next, find its dependencies:
+
+```sh
+./show-dependencies.scm python python-matplotlib
+```
+
+I won\'t show the output here because it is rather long - the package
+closure contains 499 packages!
+
+OK, but... what are the *real* dependencies?
+============================================
+
+I have explained dependencies along these lines in a few seminars.
+There\'s one question that someone in the audience is bound to ask: What
+do the results of a computation *really* depend on? The output of
+`hello` is `"Hello, world!"`, no matter which version of `gcc` I use to
+compile it, and no matter which version of `python` was used in building
+`glibc`. The package closure is a worst-case estimate: it contains
+everything that can *potentially* influence the results, though most of
+it doesn\'t in practice. Unfortunately, there is no way to identify the
+dependencies that matter automatically, because answering that question
+in general (i.e. for arbitrary software) is equivalent to solving the
+[halting problem](https://en.wikipedia.org/wiki/Halting_problem).
+
+Most package managers, such as Debian\'s `apt` or the multi-platform
+`conda`, take a different point of view. They define the dependencies of
+a program as all packages that need to be loaded into memory in order to
+run it. They thus exclude the software that is required to *build* the
+program and its run-time dependencies, but can then be discarded.
+Whereas Guix\' definition errs on the safe side (its dependency list is
+often longer than necessary but never too short), the run-time-only
+definition is both too vast and too restrictive. Many run-time
+dependencies don\'t have an impact on most programs\' results, but some
+build-time dependencies do.
+
+One important case where build-time dependencies matter is
+floating-point computations. For historical reasons, they are surrounded
+by an aura of vagueness and imprecision, which goes back to its early
+days, when many details were poorly understood and implementations
+varied a lot. Today, all computers used for scientific computing respect
+the [IEEE 754 standard](https://en.wikipedia.org/wiki/IEEE_754) that
+precisely defines how floating-point numbers are represented in memory
+and what the result of each arithmetic operation must be. Floating-point
+arithmetic is thus perfectly deterministic and even perfectly portable
+between machines, if expressed in terms of the operations defined by the
+standard. However, high-level languages such as C or Fortran do not
+allow programmers to do that. Its designers assume (probably correctly)
+that most programmers do not want to deal with the intricate details of
+rounding. Therefore they provide only a simplified interface to the
+arithmetic operations of IEEE 754, which incidentally also leaves more
+liberty for code optimization to compiler writers. The net result is
+that the complete specification of a program\'s results is its source
+code *plus the compiler and the compilation options*. You thus *can* get
+reproducible floating-point results if you include all compilation steps
+into the perimeter of your computation, at least for code running on a
+single processor. Parallel computing is a different story: it involves
+voluntarily giving up reproducibility in exchange for speed.
+Reproducibility then becomes a best-effort approach of limiting the
+collateral damage done by optimization through the clever design of
+algorithms.
+
+Reproducing a reproducible computation
+======================================
+
+So far, I have explained the theory behind reproducible computations.
+The take-home message is that to be sure to get exactly the same results
+in the future, you have to use the exact same versions of all packages
+in the package closure of your immediate dependencies. I have also shown
+you how you can access that package closure. There is one missing piece:
+how do you actually run your program in the future, using the same
+environment?
+
+The good news is that doing this is a lot simpler than understanding my
+lengthy explanations (which is why I leave this for the end!). The
+complex dependency graphs that I have analyzed up to here are encoded in
+the Guix source code, so all you need to re-create your environment is
+the exact same version of Guix! You get that version using
+
+```sh
+guix describe
+```
+
+```
+Generation 15 Jan 06 2020 13:30:45    (current)
+  guix 769b96b
+    repository URL: https://git.savannah.gnu.org/git/guix.git
+    branch: master
+    commit: 769b96b62e8c09b078f73adc09fb860505920f8f
+```
+
+The critical information here is the unpleasantly looking string of
+hexadecimal digits after \"commit\". This is all it takes to uniquely
+identify a version of Guix. And to re-use it in the future, all you need
+is Guix\' time machine:
+
+```sh
+guix time-machine --commit=769b96b62e8c09b078f73adc09fb860505920f8f -- environment --ad-hoc gcc-toolchain
+```
+
+```
+Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
+```
+
+```sh
+gcc pi.c -o pi
+./pi
+```
+
+```
+M_PI                         : 3.1415926536
+4 * atan(1.)                 : 3.1415926536
+Leibniz' formula (four terms): 2.8952380952
+```
+
+The time machine actually downloads the specified version of Guix and
+passes it the rest of the command line. You are running the same code
+again. Even bugs in Guix will be reproduced faithfully! As before,
+`guix environment` leaves us in a special-environment shell which
+needs to be terminated by Ctrl-D.
+
+For many practical use cases, this technique is sufficient. But there
+are two variants you should know about for more complicated situations:
+
+-   If you need an environment with many packages, you should use a
+    manifest rather than list the packages on the command line. See [the
+    manual](https://guix.gnu.org/manual/en/html_node/Invoking-guix-environment.html)
+    for details.
+
+-   If you need packages from additional channels, i.e. packages that
+    are not part of the official Guix distribution, you should store a
+    complete channel description in a file using
+
+```sh
+guix describe -f channels > guix-version-for-reproduction.txt
+```
+
+and feed that file to the time machine:
+
+```sh
+guix time-machine --channels=guix-version-for-reproduction.txt -- environment --ad-hoc gcc-toolchain
+```
+
+```
+Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
+```
+
+```sh
+gcc pi.c -o pi
+./pi
+```
+
+```
+M_PI                         : 3.1415926536
+4 * atan(1.)                 : 3.1415926536
+Leibniz' formula (four terms): 2.8952380952
+```
+
+Last, if your colleagues do not use Guix yet, you can pack your
+reproducible software for use on other systems: as a tarball, or as a
+Docker or Singularity container image. For example:
+
+```sh
+guix pack            \
+     -f docker       \
+     -C none         \
+     -S /bin=bin     \
+     -S /lib=lib     \
+     -S /share=share \
+     -S /etc=etc     \
+     gcc-toolchain
+```
+
+```
+/gnu/store/iqn9yyvi8im18g7y9f064lw9s9knxp0w-docker-pack.tar
+```
+
+will produce a Docker container image, and with the knowledge of the
+Guix commit (or channel specification), you will be able in the future
+to reproduce this container bit-to-bit using `guix time-machine`.
+
+And now... congratulations for having survived to the end of this long
+journey! May all your computations be reproducible, with Guix.
diff --git a/website/posts/show-dependencies.scm b/website/posts/show-dependencies.scm
new file mode 100755
index 0000000..9a432de
--- /dev/null
+++ b/website/posts/show-dependencies.scm
@@ -0,0 +1,76 @@
+#!/usr/bin/env -S guile -s
+!#
+
+(use-modules (guix packages)
+             ((gnu packages)  #:select (specification->package
+                                        specification->package+output))
+             ((srfi srfi-1)   #:select (delete-duplicates))
+             ((srfi srfi-11)  #:select (let-values))
+             ((ice-9 match)   #:select (match))
+             ((ice-9 format)  #:select (format)))
+
+(define (package->specification package)
+  (format #f "~a@~a"
+          (package-name package)
+          (package-version package)))
+
+(define (input->specification input)
+  (match input
+    ((label (? package? package) . _)
+     (package->specification package))
+    ((label (? origin? origin))
+     (format #f "[source code from ~a]"
+             (origin-uri origin)))
+    (other-input
+     (format #f "~a" other-input))))
+
+(define (unique-inputs inputs)
+  (delete-duplicates
+   (map input->specification inputs)))
+
+(define (main args)
+
+  (define packages
+    (map specification->package args))
+  (define inputs
+    (sort
+     (delete-duplicates
+      (apply append
+             (map (lambda (package)
+                    (unique-inputs
+                     (package-direct-inputs package)))
+                  packages)))
+     string<))
+  (define build-inputs
+    (sort
+     (delete-duplicates
+      (apply append
+             (map (lambda (package)
+                    (unique-inputs
+                     (bag-direct-inputs
+                      (package->bag package))))
+                  packages)))
+     string<))
+  (define closure
+    (sort
+     (delete-duplicates
+      (map package->specification
+           (package-closure packages)))
+     string<))
+
+  (format #t "Packages: ~d\n ~{ ~a~}\n"
+          (length packages)
+          (sort
+           (map package->specification packages)
+           string<))
+  (format #t "Package inputs: ~d packages\n ~{ ~a~}\n"
+          (length inputs)
+          inputs)
+  (format #t "Build inputs: ~d packages\n ~{ ~a~}\n"
+          (length build-inputs)
+          build-inputs)
+  (format #t "Package closure: ~d packages\n ~{ ~a~}\n"
+          (length closure)
+          closure))
+
+(main (cdr (command-line)))
-- 
2.22.0

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-14  9:06               ` Konrad Hinsen
@ 2020-01-14 15:38                 ` Ludovic Courtès
  2020-01-14 16:18                   ` Konrad Hinsen
  0 siblings, 1 reply; 34+ messages in thread
From: Ludovic Courtès @ 2020-01-14 15:38 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hello!

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

>> You can post a patch against the guix-artwork.git repo here when you’re
>> ready.
>
> Here it comes !

Perfect, thanks!  I had to move files where Haunt expects them, and to
make the table pure ASCII because guile-commonmark doesn’t support HTML
nor tables, but here we are:

  https://guix.gnu.org/blog/2020/reproducible-computations-with-guix/
  https://hpc.guix.info/blog/2020/01/reproducible-computations-with-guix/

Spread the word!

Thank you, Konrad.

Ludo’.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-14 15:38                 ` Ludovic Courtès
@ 2020-01-14 16:18                   ` Konrad Hinsen
  2020-01-14 16:40                     ` Ludovic Courtès
  0 siblings, 1 reply; 34+ messages in thread
From: Konrad Hinsen @ 2020-01-14 16:18 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix Devel

Hi Ludo,

> Perfect, thanks!  I had to move files where Haunt expects them, and to
> make the table pure ASCII because guile-commonmark doesn’t support HTML
> nor tables, but here we are:
>
>   https://guix.gnu.org/blog/2020/reproducible-computations-with-guix/
>   https://hpc.guix.info/blog/2020/01/reproducible-computations-with-guix/

Looks good, thanks!

One problem though: the link to the script is broken:

  https://guix.gnu.org/blog/2020/reproducible-computations-with-guix/show-dependencies.scm

yield 404.

I had put it into the same directory as the Markdown file and the
images, apparently Haunt didn't like that either.

Cheers,
  Konrad.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-14 16:18                   ` Konrad Hinsen
@ 2020-01-14 16:40                     ` Ludovic Courtès
  0 siblings, 0 replies; 34+ messages in thread
From: Ludovic Courtès @ 2020-01-14 16:40 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

>> Perfect, thanks!  I had to move files where Haunt expects them, and to
>> make the table pure ASCII because guile-commonmark doesn’t support HTML
>> nor tables, but here we are:
>>
>>   https://guix.gnu.org/blog/2020/reproducible-computations-with-guix/
>>   https://hpc.guix.info/blog/2020/01/reproducible-computations-with-guix/
>
> Looks good, thanks!
>
> One problem though: the link to the script is broken:
>
>   https://guix.gnu.org/blog/2020/reproducible-computations-with-guix/show-dependencies.scm
>
> yield 404.

Oops, sorry about that!  Should be fixed now.

> I had put it into the same directory as the Markdown file and the
> images, apparently Haunt didn't like that either.

Yeah, it has to be in website/static.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: Proposal for a blog contribution on reproducible computations
  2020-01-11  9:39               ` Konrad Hinsen
@ 2020-01-15 22:20                 ` Ludovic Courtès
  0 siblings, 0 replies; 34+ messages in thread
From: Ludovic Courtès @ 2020-01-15 22:20 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Guix Devel

Hi,

I had missed that message.

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Another thing that comes to mind: would it make sense to mention ‘guix
>> graph’ in the part where you pipe the output of ‘guix show’ to ‘recsel’,
>> etc.?
>
> Forgot that one, sorry. Yes, it would make sense, though I'd place it a
> bit later in the text. But I'd have to figure out first how how the
> various options of "guix graph" relate exactly to what I am writing.
>
>   ‘package’
>        This is the default type used in the example above.  It shows the
>        DAG of package objects, excluding implicit dependencies.  It is
>        concise, but filters out many details.
>
> Are "implicit dependencies" those added by the build system? If yes,
> this edges in this graph would correspond to package-direct-inputs.

Exactly.

>   ‘bag’
>        Similar to ‘bag-emerged’, but this time including all the bootstrap
>        dependencies.
>
> And that is package-closure with arrows defined by bag-direct-inputs, right?

Yes.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2020-01-15 22:20 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-05 14:16 Feedback from JRES in Dijon Julien Lepiller
2019-12-05 14:34 ` Pierre Neidhardt
2019-12-05 14:42   ` Julien Lepiller
2019-12-05 15:44     ` Konrad Hinsen
2019-12-05 15:52       ` zimoun
2019-12-06  7:07         ` Bengt Richter
2019-12-06 12:24           ` Konrad Hinsen
2019-12-07 16:35             ` Timothy Sample
2019-12-08  2:48               ` Bengt Richter
2019-12-08  4:11                 ` Timothy Sample
2019-12-08 23:09                   ` Bengt Richter
2019-12-09  5:23                     ` Konrad Hinsen
2019-12-06 12:57         ` Konrad Hinsen
2019-12-10 16:57           ` Ludovic Courtès
2019-12-11 20:48             ` Konrad Hinsen
2020-01-07 16:05           ` Proposal for a blog contribution on reproducible computations Konrad Hinsen
2020-01-09 20:40             ` zimoun
2020-01-10 16:59             ` Ludovic Courtès
2020-01-10 17:19               ` zimoun
2020-01-10 18:53               ` Giovanni Biscuolo
2020-01-11  9:31               ` Konrad Hinsen
2020-01-11 14:05                 ` Giovanni Biscuolo
2020-01-13  8:37                 ` Ludovic Courtès
2020-01-14  9:06               ` Konrad Hinsen
2020-01-14 15:38                 ` Ludovic Courtès
2020-01-14 16:18                   ` Konrad Hinsen
2020-01-14 16:40                     ` Ludovic Courtès
2020-01-10 17:03             ` Ludovic Courtès
2020-01-11  9:39               ` Konrad Hinsen
2020-01-15 22:20                 ` Ludovic Courtès
2019-12-05 15:47     ` Feedback from JRES in Dijon zimoun
2019-12-05 14:39 ` Julien Lepiller
2019-12-05 15:42 ` zimoun
2019-12-10 17:06 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).