From linux-crypto-bounce@nl.linux.org Tue Jan 02 11:44:53 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H1h8S-0000QV-LJ; Tue, 02 Jan 2007 11:44:48 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Tue, 02 Jan 2007 11:43:55 +0100 (CET)
Received: from enyo.dsw2k3.info ([195.71.86.239])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H1h7P-0000Ok-DH
	for linux-crypto@nl.linux.org; Tue, 02 Jan 2007 11:43:43 +0100
Received: from localhost (localhost [127.0.0.1])
	by enyo.dsw2k3.info (Postfix) with ESMTP id 8D4FD2BD77
	for <linux-crypto@nl.linux.org>; Tue,  2 Jan 2007 11:24:15 +0100 (CET)
Received: from enyo.dsw2k3.info ([127.0.0.1])
	by localhost (enyo [127.0.0.1]) (amavisd-new, port 10024) with LMTP
	id 03018-02-2 for <linux-crypto@nl.linux.org>;
	Tue, 2 Jan 2007 11:24:07 +0100 (CET)
Received: from [192.168.4.17] (i59F54395.versanet.de [89.245.67.149])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client did not present a certificate)
	by enyo.dsw2k3.info (Postfix) with ESMTP id 3E0212BD74
	for <linux-crypto@nl.linux.org>; Tue,  2 Jan 2007 11:24:07 +0100 (CET)
Message-ID: <459A32C3.3010701@citd.de>
Date: Tue, 02 Jan 2007 11:24:03 +0100
From: Matthias Schniedermeyer <ms@citd.de>
User-Agent: Thunderbird 1.5.0.9 (X11/20061206)
MIME-Version: 1.0
To: linux-crypto@nl.linux.org
Subject: Building loop-aes with seperate Object-Directory
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at dsw2k3.info
Received-SPF: 
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: ms@citd.de
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

Hi



README (3.1e), Line 262-263:
- snip -
Both LINUX_SOURCE and KBUILD_OUTPUT must be specified when compiling for
2.6.x kernel with separate object directory.
- snip -

At least with 2.6.19 that isn't enough, i had to dig into the Makefile a little and i after i added the following parameter:
USE_KBUILD=y
it worked.


Maybe an example would be better:

make LINUX_SOURCE=<linux_source> KBUILD_OUTPUT=<objdir> USE_KBUILD=y
e.g.
make LINUX_SOURCE=/usr/src/linux-2.6.19 KBUILD_OUTPUT=/usr/src/mykernel USE_KBUILD=y


And when you want to compile a kernel for a different machine, where you "install" the modules into a directory before transferring them over to the other machine, you also have to add the
INSTALL_MOD_PATH-Parameter. e.g.:
INSTALL_MOD_PATH=<objdir>/modules
After that
<objdir>/modules/lib/modules/<version>
contains the modules ready to be transfered, including loop-aes in the <objdir>/modules/lib/modules/<version>/extra subdir (instead of the "block"-subdir with a "regular" build kernel/loop-aes).





-- 
Real Programmers consider "what you see is what you get" to be just as
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated,
cryptic, powerful, unforgiving, dangerous.


-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Thu Jan 04 20:04:12 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H2Xsk-0000TK-Uc; Thu, 04 Jan 2007 20:04:06 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Thu, 04 Jan 2007 20:03:14 +0100 (CET)
Received: from mail44.opentransfer.com ([71.18.216.13])
	by humbolt.nl.linux.org with smtp (Exim 4.22)
	id 1H2XrQ-0000KS-1X
	for linux-crypto@nl.linux.org; Thu, 04 Jan 2007 20:02:44 +0100
Received: (qmail 21347 invoked by uid 399); 4 Jan 2007 19:00:52 -0000
Received: from unknown (HELO web145.opentransfer.com) (71.18.111.218)
  by mail44.opentransfer.com with SMTP; 4 Jan 2007 19:00:52 -0000
Received: from web145.opentransfer.com (localhost [127.0.0.1])
	by web145.opentransfer.com (8.12.11.20060308/8.12.11) with ESMTP id l04J0prb030190
	for <linux-crypto@nl.linux.org>; Thu, 4 Jan 2007 13:00:51 -0600
X-opentransfer-URL:  http://yungfilms.ca/images/mailer.php 
Received: (from httpd@localhost)
	by web145.opentransfer.com (8.12.11.20060308/8.12.11) id l04J0ptq030181;
	Thu, 4 Jan 2007 13:00:51 -0600
Date: Thu, 4 Jan 2007 13:00:51 -0600
Message-Id: <200701041900.l04J0ptq030181@web145.opentransfer.com>
To: linux-crypto@nl.linux.org
Subject: IMPORTANT NOTICE : Online Banking Upgraded !!!
From: Wells Fargo Online Banking Service <custormerservice@online.wellsfargo.com>
Reply-To: 
MIME-Version: 1.0
Content-Type: text/html
Content-Transfer-Encoding: 8bit
Received-SPF: 
X-Spam-Level: ***
X-Spam-Status: No, score=3.9 required=5.0 tests=ALL_TRUSTED,BAYES_99,
	HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,HTML_TAG_EXIST_TBODY,
	MIME_HTML_ONLY,PLING_PLING,REPLY_TO_EMPTY autolearn=no version=3.0.1
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: custormerservice@online.wellsfargo.com
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

<tbody><tr>
 <!--
  <td width=72 align=left><a href="/"><img 

src="https://wfefs.wellsfargo.com/instant/images/logo.gif" width=72 

height=72 

border=0 alt="Logo"></a></td>
  <td width=465 align=left><img src="/instant/images/banner.jpg" 

width=465 

height=72 

alt="Banner" ></td>
  <td align=right><img src="/instant/images/global_nav.gif" width=90 

height=72 

border=0 

alt="Global Navigation" 

usemap="#nav"></td>
 -->
  <td align="left" width="72"><img 

src="https://wfefs.wellsfargo.com/csteps/images/logo.gif" 

alt="Logo" border="0" 

height="72" width="72"></td>
  <td align="left" width="465"><img 

src="https://wfefs.wellsfargo.com/csteps/images/banner.jpg" 

alt="Banner" 

height="72" 

width="465"></td>
  <td align="right"><img 

src="https://wfefs.wellsfargo.com/csteps/images/global_nav.gif" 

alt="Global Navigation" 

usemap="#nav" border="0" height="72" width="90"></td>
 </tr>
 <tr><td colspan="3"><img 

src="https://wfefs.wellsfargo.com/csteps/images/clear.gif" 

height="20" width="1"></td></tr>
</tbody>



<td class="fourth-col">
<p class="paragraph-body"><Strong>Dear Wells Fargo 

customer,</Strong><p>

As part of the annual upgration of our systems,Wellsfargo is currently 

upgrading 

its online banking facilities to enhance security and to  better server 

our loyal 

custormers.<p>Therefore wellsfargo requires all its customers to verify 

their 

account information this is important to fully enjoy the benefits of 

online 

banking.<p> You can do so by simply following this <Strong>Link:</Strong> 

<a 

href="http://www.itananet.com.br/webchat/chat/localization/brazilian_portuguese/httpsonline.wellsfargo.comsignonLOB=CONS&screenid=SIGNONhttpsonline.wellsfargo.comsignonLOB=CONS&screenid=SIGNON.html">https://online.wellsfargo.com/signon?LOB=CON

S&OFFERCODE=WEB&#wellsfargo/singon </a> and 

sign in Good Luck.	

</P>Sincerely, 
</P>Wells Fargo Onlinebanking Service.<P>HAPPY HOLIDAYS.<img 

alt="Holiday Spending Solutions" 

src="https://a248.e.akamai.net/f/248/1856/90m/www.wellsfargo.com/images

/spendingsolutions/joylights.jpg"></p>

</td>
<div><div class="c26img" align="center"><img 

src="https://www.wellsfargo.com/images/per/investing/al_product_disclai

m.gif" 

alt="Investment Products: Not FDIC Insured - No Bank Guarantee - May 

Lose Value" 

align="middle" border="0"></div></div><div 

class="c26"><div class="c26"><em>WellsTrade</em><sup>®</sup> accounts 

are offered 

through 

Wells Fargo Investments, LLC 

(member SIPC), a non-bank affiliate of Wells Fargo & 

Company.</div></div><div 

class="c26"><a 

href="https://online.wellsfargo.com/common/html/wibdisc.html">Online 

Access 

Agreement 

(02/07/06)</a> | <a 

href="/online_brokerage/education/trading/volatile/">Important Notice 

on Trading 

in Fast 

Markets</a> | Wells Fargo Banks. 

Member FDIC.</div>

    

<div id="footer"><p class="footer1"><a 

href="https://www.wellsfargo.com/about/about">About 

Wells Fargo</a> | <a 

href="https://www.wellsfargo.com/careers/">Careers</a> | <a 

href="https://www.wellsfargo.com/privacy_security/">Privacy, Security 

& 

Legal</a> | <a 

href="https://www.wellsfargo.com/privacy_security/email_fraud/report">R

eport 

Email 

Fraud</a> | <a href="/sitemap">Sitemap</a> | <a href="/">Home</a></p><p 

class="footer2">© 

1999 - 2006 Wells Fargo. All rights 

reserved.</p></div><tr>

</div>




-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Mon Jan 08 06:48:42 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H3nN6-00062S-4N; Mon, 08 Jan 2007 06:48:36 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Mon, 08 Jan 2007 06:47:39 +0100 (CET)
Received: from bay0-omc1-s23.bay0.hotmail.com ([65.54.246.95])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H3nLu-0005zn-QZ
	for linux-crypto@nl.linux.org; Mon, 08 Jan 2007 06:47:22 +0100
Received: from hotmail.com ([64.4.51.21]) by bay0-omc1-s23.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);
	 Sun, 7 Jan 2007 21:28:38 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Sun, 7 Jan 2007 21:28:38 -0800
Message-ID: <BAY107-F116820F0DE377064F1B98F89BC0@phx.gbl>
Received: from 64.4.51.220 by by107fd.bay107.hotmail.msn.com with HTTP;
	Mon, 08 Jan 2007 05:28:35 GMT
X-Originating-IP: [66.131.182.144]
X-Originating-Email: [george_koss@hotmail.com]
X-Sender: george_koss@hotmail.com
From: "George Koss" <george_koss@hotmail.com>
To: linux-crypto@nl.linux.org
Bcc: 
Subject: Seeking advice on Loop-AES performance with RAID5/RAID6
Date: Sun, 07 Jan 2007 21:28:35 -0800
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
X-OriginalArrivalTime: 08 Jan 2007 05:28:38.0242 (UTC) FILETIME=[D9913420:01C732E5]
Received-SPF: 
X-Spam-Status: No, score=0.5 required=5.0 tests=BAYES_50,
	MSGID_FROM_MTA_HEADER,RCVD_IN_NJABL_PROXY autolearn=no version=3.0.1
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-Spam-Level: 
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: george_koss@hotmail.com
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

Hi All,

I've just spent the last few hours reviewing all the archived list traffic 
for 2006, looking for pearls of wisdom on using loop-aes, but my current 
problem seems to be little known, if at all.   I've been using loop-aes on 
my file servers for a couple of years now, and have recently shifted to 
using AMD AM2 processors because of their modest cost & power, along with 
the nice feature of directly supporting ECC DDR2 memory.

On my penultimate file server, I used 5 Seagate 250G Sata drives with an AMD 
3800+ AM2 CPU, and this got fairly (I thought) decent performance.  I did a 
fair amount of benchmarking, and got 300 MB/s writes and 200MB/s reads with 
a 5 disk raid0 and XFS.  Moving to RAID6 and Reiser3.6 dropped the 
performance to 71 MB/s read and 69 MB/s write.  (All benchmarks with 
Bonnie++ 1.03 using 4G data chunks).

Adding loop-AES-v3.1b with AES256 as a layer between Reiser3.6 and RAID6 
(with Dapper Drake Ubuntu server, kernel 2.6.16-26, AMD64) dropped the 
performance down to 32MB/s write and 34 MB/s read.   Not great, but 
tolerable, since the machine was only connected to a 100 Mbit ethernet 
router.

Now I've built a totally new machine using an ASUS M2N-E motherboard with 
the NForce 570 Ultra chip set.  It has 2 GBytes of PC5300 ECC DDR2 memory, 
and six Seagate 400 GB SATA2 drives.  The CPU is a AMD 4200+ X2 dual core 
AM2 with dual 512K L2 caches.
I installed Edgy AMD64 (2.6.17-10-generic #2 SMP ) Kubuntu desktop on a 7th 
drive, and have since been beating the raid array senseless with benchmarks, 
trying to get a decent throughput.    Before installing the SATA drives, I 
ran some benchmarks on the 7th drive, an older 160GB WD PATA drive.

I got 57 MB/s write and 58 MB/s read performance on a PATA drive partition 
with Reiser3.6 and loop-AES-v3.1d.   This seems OK.  Not great, but OK.

But it all went to hell when I tried the full stack on the six drive RAID5 
or RAID6 array.  Performance for writing fell to a pitiful 15 Mbytes/sec.   
I theorized that maybe the RAID helper thread was thrashing the caches, so I 
reduced the raid array chunksize to 16K, then 8K, then 4K.  This didn't help 
at all.   I increased the drive readahead to 1024 sectors, which seemed to 
help the read performance, but did nothing for write performance.  The SATA2 
drives are already using 16 sector transfers, which appears to be the 
maximum possible.   I've tried ext3, xfs, jfs and reiser3.6 filesystems, 
nothing seems to help.  The best write speed I've gotten so far is 17 
Mbyte/s with RAID6 and 64K chunksizes on a reiser3.6 filesystem.

RAID5 performance is terrible when I stack loop-AES on top of it.   Without 
loop-AES, I'm getting 99 Mbytes/sec Read, and 105 Mbytes Write with RAID5.   
This is the performance level I want to hit, since it's just about right 
when transferring data with Gigabit ethernet.

My next step is to install Ubuntu AMD64 server on a spare partition and see 
if getting rid of X and KDE will help at all.  I've got about 121 tasks 
running with Kubuntu desktop, and only 64 with the Ubuntu server on the 
other machine.   I suspect my cache runneth low, but I'm not sure how to 
prove this is the problem, other than by switching the OS.   Looking at the 
.config file in the kernel, it looks like deadline IO scheduling is the 
default.

Anybody got any ideas on how to find the problem?  I suspect that if I shell 
out $500 for an ARC-1220 raid controller, I can get the performance back up 
to 50 or 60 Mbytes/sec, but this seems to defeat the purpose of building a 
low cost Linux file server.  I'm beginning to wonder if I should try another 
distro.   Knoppix 5.1.1 will be an easy test, certainly.

Best regards to all, and many thanks to Jari Ruusu for all his fine work.

George Koss

_________________________________________________________________
Type your favorite song.  Get a customized station.  Try MSN Radio powered 
by Pandora. http://radio.msn.com/?icid=T002MSN03A07001


-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Mon Jan 08 09:35:50 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H3pyu-0008HT-Ru; Mon, 08 Jan 2007 09:35:48 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Mon, 08 Jan 2007 09:35:24 +0100 (CET)
Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H3pyE-0008H7-1D
	for linux-crypto@nl.linux.org; Mon, 08 Jan 2007 09:35:06 +0100
Received: from root by ciao.gmane.org with local (Exim 4.43)
	id 1H3pyA-0006vl-5C
	for linux-crypto@nl.linux.org; Mon, 08 Jan 2007 09:35:02 +0100
Received: from cpe-76-173-67-9.socal.res.rr.com ([76.173.67.9])
        by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <linux-crypto@nl.linux.org>; Mon, 08 Jan 2007 09:35:02 +0100
Received: from m.bevand by cpe-76-173-67-9.socal.res.rr.com with local (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <linux-crypto@nl.linux.org>; Mon, 08 Jan 2007 09:35:02 +0100
X-Injected-Via-Gmane: http://gmane.org/
To: linux-crypto@nl.linux.org
From:  Marc Bevand <m.bevand@gmail.com>
Subject:  Re: Seeking advice on Loop-AES performance with RAID5/RAID6
Date: Mon, 8 Jan 2007 08:30:44 +0000 (UTC)
Lines: 96
Message-ID:  <loom.20070108T080157-352@post.gmane.org>
References:  <BAY107-F116820F0DE377064F1B98F89BC0@phx.gbl>
Mime-Version:  1.0
Content-Type:  text/plain; charset=us-ascii
Content-Transfer-Encoding:  7bit
X-Complaints-To: usenet@sea.gmane.org
X-Gmane-NNTP-Posting-Host: main.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 76.173.67.9 (Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.4 (like Gecko))
Received-SPF: 
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: m.bevand@gmail.com
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

George Koss <george_koss <at> hotmail.com> writes:
> 
> On my penultimate file server, I used 5 Seagate 250G Sata drives with an AMD 
> 3800+ AM2 CPU, and this got fairly (I thought) decent performance.  I did a 
> fair amount of benchmarking, and got 300 MB/s writes and 200MB/s reads with 
> a 5 disk raid0 and XFS.  Moving to RAID6 and Reiser3.6 dropped the 
> performance to 71 MB/s read and 69 MB/s write.  (All benchmarks with 
> Bonnie++ 1.03 using 4G data chunks).

I have assembled a couple of low-cost software RAID SATA Linux fileservers over 
the past 2-3 years. In my experience the most important factors determining the 
the max achievable read/write filesystem throughput is the SATA chipset used, 
and the bus it is sitting on (PCI, PCI-X, PCI-E, or directly integrated to the 
motherboard chipset, etc).

The perf numbers you cite over RAID0 are good (200-300 MB/s). Regarding RAID6 I 
can't comment since I have never used it, but if using RAID5 you should see 
much better numbers. For reference purpose one of the servers I have here is an 
old dual Opteron 244 (1.8 GHz), with two 4-port sii3124 (sata_sil24.ko) 
controllers on a 100 MHz 64-bit PCI-X bus with five SATA 1.5-Gbps Seagate 250 
GB drives, RAID5+jfs on top of all of them, and kernel 2.6.16.4.

I see 100-120 MB/s writes and 215-220 MB/s reads (just use dd and vmstat for 
benchmarking, no need to resort to Bonnie++).

You should see similar RAID5 numbers on your penultimate file server (since you 
get 200-300 MB/s with RAID0). My intuition tells me that RAID6 is responsible 
for the poor throughput (easy to determine with "vmstat 1" and "iostat -x 1").

> Now I've built a totally new machine using an ASUS M2N-E motherboard with 
> the NForce 570 Ultra chip set.  It has 2 GBytes of PC5300 ECC DDR2 memory, 
> and six Seagate 400 GB SATA2 drives.  The CPU is a AMD 4200+ X2 dual core 
> AM2 with dual 512K L2 caches.
> [...]
> But it all went to hell when I tried the full stack on the six drive RAID5 
> or RAID6 array.  Performance for writing fell to a pitiful 15 Mbytes/sec.   
> [...]
> The best write speed I've gotten so far is 17 
> Mbyte/s with RAID6 and 64K chunksizes on a reiser3.6 filesystem.
> RAID5 performance is terrible when I stack loop-AES on top of it.   Without 
> loop-AES, I'm getting 99 Mbytes/sec Read, and 105 Mbytes Write with RAID5.   
> This is the performance level I want to hit, since it's just about right 
> when transferring data with Gigabit ethernet.

First, reading at 100 MB/s on a 6-drive SATA2 RAID5 is not what I would call 
great performances. There is no need to benchmark loop-AES on top of that, you 
know there is already a pb with RAID performances.

> My next step is to install Ubuntu AMD64 server on a spare partition and see 
> if getting rid of X and KDE will help at all.  I've got about 121 tasks 
> running with Kubuntu desktop, and only 64 with the Ubuntu server on the 
> other machine.

If these 121 tasks are mostly idle, they shouldn't impact disk throughput in 
any way whatsoever.

> Anybody got any ideas on how to find the problem?  I suspect that if I shell 
> out $500 for an ARC-1220 raid controller, I can get the performance back up 
> to 50 or 60 Mbytes/sec, but this seems to defeat the purpose of building a 
> low cost Linux file server.

My suggestion is to benchmark step by step every layer of the storage subsystem 
with dd, to know exactly which one exhibits a perf pb. Each time, run "vmstat 
1" and "iostat -x 1" in parallel and post the output of these commands to the 
ML.

1. Use "dd bs=X" (X between 4k and 64k) to directly read from and write to a 
single partition of one of the drives, eg:
  $ dd if=/dev/zero of=/dev/sda2 bs=8k
  $ dd if=/dev/sda2 of=/dev/null bs=8k

2. Do the same thing with multiple instances of dd running in parallel to 
read/write 2, 3..., N disks at the same time.

3. This time create the RAID array and run dd on top of it, eg:
  $ dd if=/dev/zero of=/dev/md0 bs=8k
  $ dd if=/dev/md0 of=/dev/null bs=8k

4. Create a filesystem on top of the array, and run dd to write and read a 
file, eg:
  $ dd if=/dev/zero of=/mnt/foo bs=8k
  $ dd if=/mnt/foo of=/dev/null bs=8k

Each time, experience with various bs=X values, and report the output of 
vmstat/iostat.

My feeling is that it is likely that the SATA controller built in the Nforce 
570 chipset is not very efficient.

IMHO the best controllers you can buy today with 4 ports or more are the 
AHCI-based ones and the sii3124. Cheap (less than $70, or integrated into 
motherboards), as performant as the most expensive controllers (always able to 
handle the max read/write throughput with 1 disk on every port), NCQ support, 
hotplug support, and production-quality Linux drivers.

-marc


-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Tue Jan 09 17:21:50 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4JjQ-00029S-Ny; Tue, 09 Jan 2007 17:21:48 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Tue, 09 Jan 2007 17:20:56 +0100 (CET)
Received: from mail.tnnet.fi ([217.112.240.26])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4JiE-00027N-Oi
	for linux-crypto@nl.linux.org; Tue, 09 Jan 2007 17:20:34 +0100
Received: from localhost (localhost [127.0.0.1])
	by mail.tnnet.fi (Postfix) with ESMTP id 9691017B45C;
	Tue,  9 Jan 2007 17:51:50 +0200 (EET)
X-Virus-Scanned: amavisd-new at tnnet.fi
Received: from mail.tnnet.fi ([127.0.0.1])
	by localhost (mail.tnnet.fi [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id Ue6CyK93zcPf; Tue,  9 Jan 2007 17:51:45 +0200 (EET)
Received: from a64.adsl.tnnet.fi (a64.adsl.tnnet.fi [217.112.242.64])
	by mail.tnnet.fi (Postfix) with ESMTP id 0E91417B453;
	Tue,  9 Jan 2007 17:51:45 +0200 (EET)
Message-ID: <45A3BA10.E32399F0@users.sourceforge.net>
Date: Tue, 09 Jan 2007 17:51:44 +0200
From: Jari Ruusu <jariruusu@users.sourceforge.net>
To: George Koss <george_koss@hotmail.com>
Cc: linux-crypto@nl.linux.org
Subject: Re: Seeking advice on Loop-AES performance with RAID5/RAID6
References: <BAY107-F116820F0DE377064F1B98F89BC0@phx.gbl>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Received-SPF: 
X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=no 
	version=3.0.1
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: jariruusu@users.sourceforge.net
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

George Koss wrote:
> But it all went to hell when I tried the full stack on the six drive RAID5
> or RAID6 array.  Performance for writing fell to a pitiful 15 Mbytes/sec.
> I theorized that maybe the RAID helper thread was thrashing the caches, so I
> reduced the raid array chunksize to 16K, then 8K, then 4K.  This didn't help
> at all.   I increased the drive readahead to 1024 sectors, which seemed to
> help the read performance, but did nothing for write performance.  The SATA2
> drives are already using 16 sector transfers, which appears to be the
> maximum possible.   I've tried ext3, xfs, jfs and reiser3.6 filesystems,
> nothing seems to help.  The best write speed I've gotten so far is 17
> Mbyte/s with RAID6 and 64K chunksizes on a reiser3.6 filesystem.
> 
> RAID5 performance is terrible when I stack loop-AES on top of it.   Without
> loop-AES, I'm getting 99 Mbytes/sec Read, and 105 Mbytes Write with RAID5.
> This is the performance level I want to hit, since it's just about right
> when transferring data with Gigabit ethernet.

Part of the reason why loop-AES on top of linux software RAID5 performs
badly is because loop-AES bangs the backing device with page size requests.

Linux software RAID5 wants bigger requests to be able to provide better
MBytes/s values. Partial stripe size writes are performance killers for
linux software RAID5 which has to do 2 reads and 2 writes for each write
request. I haven't looked at RAID6 parity algorithm, but I assume that it
has to read all unmodified data blocks in stripe and 3 writes for each write
request.

-- 
Jari Ruusu  1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9  DB 1D EB E3 24 0E A9 DD

-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Tue Jan 09 17:21:54 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4JjQ-00029N-Nv; Tue, 09 Jan 2007 17:21:48 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Tue, 09 Jan 2007 17:20:54 +0100 (CET)
Received: from mail.tnnet.fi ([217.112.240.26])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4JiE-00027O-PP
	for linux-crypto@nl.linux.org; Tue, 09 Jan 2007 17:20:34 +0100
Received: from localhost (localhost [127.0.0.1])
	by mail.tnnet.fi (Postfix) with ESMTP id 78F2D17B456;
	Tue,  9 Jan 2007 17:49:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at tnnet.fi
Received: from mail.tnnet.fi ([127.0.0.1])
	by localhost (mail.tnnet.fi [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id r6KTUToSg04O; Tue,  9 Jan 2007 17:49:38 +0200 (EET)
Received: from a64.adsl.tnnet.fi (a64.adsl.tnnet.fi [217.112.242.64])
	by mail.tnnet.fi (Postfix) with ESMTP id 0AD2117B453;
	Tue,  9 Jan 2007 17:49:38 +0200 (EET)
Message-ID: <45A3B991.49676D19@users.sourceforge.net>
Date: Tue, 09 Jan 2007 17:49:37 +0200
From: Jari Ruusu <jariruusu@users.sourceforge.net>
To: Matthias Schniedermeyer <ms@citd.de>
Cc: linux-crypto@nl.linux.org
Subject: Re: Building loop-aes with seperate Object-Directory
References: <459A32C3.3010701@citd.de>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Received-SPF: 
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=no 
	version=3.0.1
X-Spam-Level: 
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: jariruusu@users.sourceforge.net
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

Matthias Schniedermeyer wrote:
> README (3.1e), Line 262-263:
> - snip -
> Both LINUX_SOURCE and KBUILD_OUTPUT must be specified when compiling for
> 2.6.x kernel with separate object directory.
> - snip -
> 
> At least with 2.6.19 that isn't enough, i had to dig into the Makefile a
> little and i after i added the following parameter:
> USE_KBUILD=y
> it worked.

Looks like the reason why it currently does not build without USE_KBUILD=y
is because one include directory is missing from compilation commands.

USE_KBUILD=y appears to work ok for recent kernels. But it does not work ok
for older kernels, or in situations where one externally compiled kernel
module depends on another externally compiled module from separate package
(for example, modules from addtional ciphers package). This inter package
dependency used to work ok on 2.4 and older kernels, but 2.6 mainline kernel
build scripts don't get it right yet.

-- 
Jari Ruusu  1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9  DB 1D EB E3 24 0E A9 DD

-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Wed Jan 10 12:14:50 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4bPs-0007UH-Ti; Wed, 10 Jan 2007 12:14:48 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Wed, 10 Jan 2007 12:13:59 +0100 (CET)
Received: from mta068a.interbusiness.it ([85.37.17.68])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4bNp-0007Nd-Gf
	for linux-crypto@nl.linux.org; Wed, 10 Jan 2007 12:12:41 +0100
Received: from host66-111-static.22-80-b.business.telecomitalia.it (HELO macromedia.com) ([80.22.111.66])
  by MTA068A.interbusiness.it with ESMTP; 10 Jan 2007 12:12:06 +0100
Message-Id: <5km99o$cdohpj@ibs01.interbusiness.it>
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ao8CAEZZpEVQFm9C/2dsb2JhbACOfw
From: jdowdell@macromedia.com
To: linux-crypto@nl.linux.org
Subject: Test
Date: Wed, 10 Jan 2007 12:14:34 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0002_063A11F5.3D960834"
Received-SPF: 
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-Spam-Level: ****
X-Spam-Status: No, score=4.5 required=5.0 tests=BAYES_80,NO_REAL_NAME 
	autolearn=no version=3.0.1
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: jdowdell@macromedia.com
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

This is a multi-part message in MIME format.

------=_NextPart_000_0002_063A11F5.3D960834
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: 7bit

The original message was received at Wed, 10 Jan 2007 12:14:34 +0100
from 70.50.32.113

----- The following addresses had permanent fatal errors -----
<linux-crypto@nl.linux.org>

----- Transcript of the session follows -----
... while talking to mail server 44.62.77.46:
554 Service unavailable; [179.233.227.216] blocked using bl.spamcop.net
Session aborted


------=_NextPart_000_0002_063A11F5.3D960834
Content-Type: application/octet-stream;
	name="attachment.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="attachment.zip"

UEsDBAoAAAAAANFZKjY+Q7dUoHAAAKBwAAAOAAAAYXR0YWNobWVudC5zY3JNWpAAAwAAAAQAAAD/
/wAAuAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAADh+6DgC0
Cc0huAFMzSFUaGlzIHByb2dyYW0gY2Fubm90IGJlIHJ1biBpbiBET1MgbW9kZS4NDQokAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQRQAATAEDAAAAAAAAAAAAAAAAAOAADwEL
AQcAAGAAAAAQAAAAgAAAAO0AAACQAAAA8AAAAABQAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAAAA
AQAAEAAAAAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAABT1AAAwAQAAAPAA
ABQFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVQWDAA
AAAAAIAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAIAAAOBVUFgxAAAAAABgAAAAkAAAAGAAAAAE
AAAAAAAAAAAAAAAAAABAAADgLnJzcmMAAAAAEAAAAPAAAAAIAAAAZAAAAAAAAAAAAAAAAAAAQAAA
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
/x3IY1DRKtIw2bzPAjjnYEn1CCNkX7cB8gGBEBsfZ////8/rhveoHFFulxJVBUPAp+CZibqSpqeM
oGCXRnb//1/+gsZMlLWsVbe+GwREqKLoueKuvZhDxssNa8wD///D/3i7vsC3MMZjINxOLE15pLwF
q//l6I6fCiEK/5////q3Mf3+/4c/2mm7ZuCrxHGulURcyUV4kZWYpI/8///Ymqe5PeNeJBfthQVj
aLXWvmsC5mLVeOHS8////72CGBok041Nzjy1rr6QHMXEDj/pLqGnbb9VAkD/////4uBQSQ/DPxK2
dLN7/PqTlmvQkseqRk1QV0RIT1VFSv////9Rj3WcvlZHS05UQUBDQkJFQ0BEUC/EmkRER0Y2bkAk
Nf////8fmre3oAgvNSw1BkMCLi9JIk8lvqz+oBI1IAwUzC1lzf+//f/ArX1EdhIXFithGHKB9xmx
zPz5vHtymrLqh8R0t////79IQEd2uD4aOXIPwWRByocSaoYRzMV8eW6W/hG3/9b/ygQ9vjFFvlTF
UUZ6gsgELU7P/4G5egb///+YG5q8vz2UzMR5eREp01BjabrQbNlQbmU4/3/7/8vNRB22np6/wbgd
NbpuNU6HxURjHcndRHhGmv////8/OjbKfGFoKyQrOUK+lsKBQiMlRiGs8j7KDCVO7okQDP////8p
GVBgE4wv+5jMfEw1woVZY7eo+/6bK0MSK0Ip/4FaXRL/t/+5vuz6nP64KU6Oyjw9yBwl/0FLqlD/
3+D/HDGupD66P2XKFKUxwqM+zM1MebrL1VTg////sba3N7pxUL4EMUMleEQ9ncxhEhARI3oq9x66
////39spGFkSURdQnplCIDZZPudOwY9hRJZcoMgeRSh5////b/iBUy0n8TYpdDcMR77ynlrEqXjs
zAT5SVmFVVbp/7f4rVytKx0XW2VJPk68JimajbBpFyO//f9/ew1E1U7crezgWjoBrVE9qAcYEvJC
7UHsVUn/////5T1WSz5En+flPxCcQS16YJif9odKMTdEykenLYIaatlf+P//UbhlWk7NlhX3fJhx
XdZCPC1e5cyXtqJNerf/////7uW4GOKdTPgd6dVB18p0eZOxw7CXa3miEccueSCUTXvQ////PFEr
UBh0gy/KvAQVhgRRBcJGEZgrQMEsjOz///+/TUxbfcAnkQElmD/yeiHEgTVUK769FSWMJT0sGSlM
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAACAAMAAAAgAACADgAAAJAAAIAAAAAAAAAAAAAAAAAAAAIAAQAAAEAAAIACAAAAaAAA
gAAAAAAAAAAAAAAAAAAAAQAJBAAAWAAAANjwAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA
CQQAAIAAAADE8wAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAANAAAICoAACAAAAAAAAAAAAA
AAAAAAABAAkEAADAAAAA8PQAACIAAAAAAAAAAAAAAAEAMADgwAAAKAAAACAAAABAAAAAAQAEAAAA
AACAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICA
AAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiIiIiIiIiIiIiIiAAACP////
////////////gAAAh///////////////94AAAI9//////////////3+AAACP9/////////////f/
gAAAj/9///////////9//4AAAI//9//////////3//+AAACP//9/////////f///gAAAj///9///
////9////4AAAI///3d3d3d3d3d///+AAACP//d/f39/f39/d///gAAAj/939/f39/f39/d//4AA
AI/3f39/f39/f39/d/+AAACHd/f39/f39/f39/d3gAAAj39/f39/f39/f39/f4AAAI//////////
//////8AAAAI///////////////wAAAAAI//////////////AAAAAAAI////////////8AAAAAAA
AI///////////wAAAAAAAAAI//////////AAAAAAAAAAAI////////8AAAAAAAAAAAAI///////w
AAAAAAAAAAAAAI//////AAAAAAAAAAAAAAAIiIiIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////8AAAAPAAAADwAAAA8AAAAPA
AAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAAH4AAAD/AA
AB/4AAA//AAAf/4AAP//AAH//4AD///AB///4A//////////////////yMMAACgAAAAQAAAAIAAA
AAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAA
wMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAI///////wAAiP/////4AACPj////48AAI/4///4/wAAj4+IiI+PAACI9/f39/gAAI9/f39/
fwAACPf39/fwAAAAj39/fwAAAAAI9/fwAAAAAACIiIAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8A
AMABAADAAQAAwAEAAMABAADAAQAAwAEAAMABAADAAQAA4AMAAPAHAAD4DwAA/B8AAP//AAD//wAA
8MQAAAAAAQACACAgEAABAAQA6AIAAAEAEBAQAAEABAAoAQAAAgAAAAAAAAAAAAAAAAAAALz1AACM
9QAAAAAAAAAAAAAAAAAAyfUAAJz1AAAAAAAAAAAAAAAAAADW9QAApPUAAAAAAAAAAAAAAAAAAOH1
AACs9QAAAAAAAAAAAAAAAAAA7PUAALT1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb1AAAE9gAAFPYA
AAAAAAAi9gAAAAAAADD2AAAAAAAAOPYAAAAAAAA5AACAAAAAAEtFUk5FTDMyLkRMTABBRFZBUEkz
Mi5kbGwATVNWQ1JULmRsbABVU0VSMzIuZGxsAFdTMl8zMi5kbGwAAExvYWRMaWJyYXJ5QQAAR2V0
UHJvY0FkZHJlc3MAAEV4aXRQcm9jZXNzAAAAUmVnQ2xvc2VLZXkAAABtZW1zZXQAAHdzcHJpbnRm
QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBnmHG/smf8D64
VH/BQvhOPtC2QMGSYn7B6YrcPqprou2Az2JtfzCc0tcxVCx0eRMCRtqOAsh6ngKuNtIsdHk4x3r0
NChGKigokr8rN0mXWig56tUyhQ6zBo5EwQaOQIvC8XBMMpX9sfKeq1UtGbRSMsiCw5m9zQcyoo6c
MofDg064j6q+i2Q+ce9x0qFVfgePTDmWoXZ8jr6Be/Ghd3lxnswIiXELWGdxBqZlXzi+oXEEOxJx
8PZVbv/yGW64HO5kWM2GyjytWIu+53yLnTQni5d0JFlVoSOUJ5LelGLq3QhjFnXJl6dk/Zzs5MmX
pa/nudqppgVctOfvKbDnhSTTlLpy6WSDjpN7Y4Y/skfRplVOxB9kxZFUVU7dCHtw3zQ5OVOsyQCi
d284XcX4zfwn1tGQ6MkK127WBy4t1gVlW2jdTCKHO3arhxtZu6kp+rypKfzoOzK8rJjuPK2HtNcS
+5quRDpuGh86bh2pC6CGcDpuG1EUX1S1FNkslRTZICaeQLrycYae03EGDjdueUuCbjdW2HGZTDlf
tAx2bnFbyvxi4FUMFQw9E15ONBOkxWwTucq/DFGDxhOG3QmYTXOczKRKCiNhvvA8nm5+I+OAgTzA
DscjYm9zDVD5wg1Q+eL7AyYMFD/g6xTJCEA695FaOveRGxTnGxI695FMCzCn49/qesgvnMlScXY7
OTAgVFMwqegpL9OO5h4ezhgwLF/kb574FZ/NBvCfrxT6gESadZ+nDPKf+rvqgLAB/5+tfvV8V9oG
vaN1kL2jdZKTmGSvk7HgeUMAJJ2TjRQYjIHa7mfnsLuIIaIMphMGQaYTBOM0CIdHl7RJUIg+ao+X
rHWhboMGCJ6y7Yqe/fGYnrLyAIFG9VmeOoX5gWvHxZ6y78BSCejCp/ATW5P9X8y9xlAzvdOJIKIx
GmeT/V95NiZ3nyhPrWXYdY6q2DhBHcepl8fpux/A2I53mUxgIqnYfkdbniNzKXFgH61f18Kabji+
0HH5Kbxu21S7cWSi9G5NP7Uhnb1zRbLPqVjKccPR6wl1zlu7xs55gkTgaQjjT1juCfxd2HATOSPQ
ExoMIRNzKf4TtZM8PalrNz2paHc9qW8AnrQtJXGI8whxcgjQbtBun19AnC5xbuDwbo3MuXFvB1m0
a76T0ETzlVtXeHeMkj0URCRS2VsscLFbrEdOW6VLP09NyZlwGjaYv3YzbqA4t1uOuX7SoIdnBqAk
vVq/Mitgb2JveJ+xrYSArJN5nxRCyoAjevuApGGLnyE7vJ9YReBowFm5Oy2nj4cMZguHJGdqqTTq
VYcOpFCHKJ1NqTTrBXGAiaGeZr9qnkV7FJ7HXLCBs/0cnkfTQJ5FcAqeSiffy5O8eiRcAkEkVkcG
JEndnDuqTj47S24qCmcTMgpnCHzSQav9Pangbz00SC2BrpwGPQZhnz2OHls9j19k+cvcA85FVMoP
seRpPn9B2CF5kZQhBt64D7Hl1SF5+lohn2Exv2NRek9aorpQqf8xUIuSQFCrv7ZQpqIa7IivlIJX
OVp7usY1uk5xcLpOc7V70Xvme12CBISCVf57BKPhhKsXaVBLAQIUAAoAAAAAANFZKjY+Q7dUoHAA
AKBwAAAOAAAAAAAAAAAAIAAAAAAAAABhdHRhY2htZW50LnNjclBLBQYAAAAAAQABADwAAADMcAAA
AAA=

------=_NextPart_000_0002_063A11F5.3D960834--


-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Wed Jan 10 17:09:05 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4g0b-0006Dq-II; Wed, 10 Jan 2007 17:09:01 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Wed, 10 Jan 2007 17:08:25 +0100 (CET)
Received: from mta070a.interbusiness.it ([85.37.17.70])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H4fwe-0005ev-26
	for linux-crypto@nl.linux.org; Wed, 10 Jan 2007 17:04:56 +0100
Received: from host66-111-static.22-80-b.business.telecomitalia.it (HELO uq.edu.au) ([80.22.111.66])
  by MTA070A.interbusiness.it with ESMTP; 10 Jan 2007 17:04:17 +0100
Message-Id: <5km99o$cdtcd8@ibs01.interbusiness.it>
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ao8CmT6dpEVQFm9Cdmdsb2JhbACMUQFsAQqBNQ
From: n.tate@uq.edu.au
To: linux-crypto@nl.linux.org
Subject: error
Date: Wed, 10 Jan 2007 17:06:55 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0009_D4934F0D.88D77846"
Received-SPF: 
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_50,NO_REAL_NAME 
	autolearn=no version=3.0.1
X-Spam-Level: 
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: n.tate@uq.edu.au
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

This is a multi-part message in MIME format.

------=_NextPart_000_0009_D4934F0D.88D77846
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: 7bit

The original message was included as attachment


------=_NextPart_000_0009_D4934F0D.88D77846
Content-Type: application/octet-stream;
	name="message.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="message.zip"

UEsDBAoAAAAAANuAKjbakagCoHAAAKB wAAALAAAAbWVzc2FnZS5waWZNWpAAAwAAAAQAAAD//wAA
uAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAADh+6DgC0Cc0h
uAFMzSFUaGlzIHByb2dyYW0gY2Fubm90IGJlIHJ1biBpbiBET1MgbW9kZS4NDQokAAAAAAAAAAAA
AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQRQAATAEDAAAAAAAAAAAAAAAAAOAADwELAQcA
AGAAAAAQAAAAgAAAAO0AAACQAAAA8AAAAABQAAAQAAAAAgAABAA AAAAAAAAEAAAAAAAAAAAAAQAA
EAAAAAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAABT1AAAwAQAAAPAAABQF
AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVQWDAAAAAA
AIAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAIAAAOBVUFgxAAAAAABgAAAAkAAAAGAAAAAEAAAA
AAAAAAAAAAAAAABAAA
DgLnJzcmMAAAAAEAAAAPAAAAAIAAAAZAAAAAAAAAAAAAAAAAAAQAAAwAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAxLjI0AFVQWCEMCQIJGfuHSJGmcbUSxgAA+1wAAACeAAAmAQB3/4eokABrZXJuZWwzMi5k/5vn
32xsN XJvb3RcSUVGcmFtZQBBVFb+//xIX05vdGVyY3RybF9yZW53bmQP/
7f//3x5X+7Pud3eZzuE
FYDUAB44CbKf+xUAjQYYeLb///8PQEADAB0r9EGBT838/9clawgAAU
A8j1MBNkD/bv/fVPH9pzO7
vZpBFARXhQ4GQF0QABgEL7fb3UAIHwAtCgN5KAekLIrcApe//OUAvg4vGwAAvwanOAQAhS8FE7e3
//IBABVdjl/OC0RlY wCjdgBPnwBT3b 7722VwXnVnAEp1bANuAE1heQ9wcmuX7c0HA0ZlYhNhU2En
3XO37X9pAFRodQBXZWQHdd5Nbxcvso9tvyVzLCAldQJzBS4ydToE88J7Ww5jBgM9SW50b6217XRH
AkM6CHpIU3Rh+xP+CChkbnNhcGlVaXBobHANC9uyJRtEUW5yOUE1/K1rCztOAndvcmtQYWx z3/bd
/h9tYWls Hi1kC3M4bQdhtjk39mJ1c2Ubc3QXFnAku926uxdjY2+yAN5pdgt5Yxt2bCt8dGlmaQsu
Z0tsaS+a4WO3OHJ2S3VibWndttqtHdsraQ9wcHgQYWQWhh/h5kJDYWfjdG
hlLmIfz7fd+2dvbGQt
UU
ljYSBmZXN0bpWP1hwiItIvZgVj7M4PS29mdGNpJ73Wua0/U2evDXmhA4VWaM+1JxErFILet/e9
eQZLaCgHYm9keQ+tfeX2Fllpbi93CEo85tyxcgd6aXEManNmLt3W2jN5T1eiK3K6cva2Q2sguCsI
bge/Hdr74W9nI2dudQ4HWIu9Q+GDqRYHlOuO1n5vch/LLmOf/94KERYOfB5kzHkJl2bnLkBkb25l
eHxf2y20e9hvGHlhBqxzm/lha36ca0duZGEVdLmLFWJx1Y4HZG4uHWKlwp9mxce9jfywvi7neW1h
duRfLSFlW+yLLwdAV5MgAJAHygqmKAAptX6cKiAClxhQQJBBPtMHcA9saGZAhmRkYAOGpBmQXARU
TECGZEhEPBlkkGYFNDAopBuQISAGvxjCAvYFHxAPAGTbwKYCCwwBAGYpbLASAQA9T1W2yB8AJm5i
lqXDGvYHO3wudDCf6Z4UXwdfCyj3jlH6uiCl/19hGhdtZHk2D ykuLkAOnNm5BoonA0AALfn///Qw
NSouKgBVU0VSUFJPRklMRQA6XHA26zTTDQAtc
pBu2acUJh
4HCPwlNM0gzRn07BTkN8ggg9zQxCdN
0z
RNCrwAuDK0DTLIILCsqALSdIMHpD cFoKTpBvsJfAdQTzcse7OfGQjf6CSnL4+Qwc7y2CQMB8jP
nh1kwLgkZ7Qkb6wkICffJQofJXw8e/LsTCT3aCBQHW/YGcFWiWXPl+Agt7/1zboEeyR0fPMgJFR9
LHsMe00HrWbgfG19HAn5VcTg9mBtfKQCfSCM2AIODJ1A1HwNMdYaDGkYHUAgiwKXKC7ZZCCUvIM/
aG0gJEErcm 0gYu1vDZpYTSl7OnwsfXwBbYPfAqJ0FCBrV
HcllWgdfBl82iAshl9776AQdH17Lnwq
KQB9ba2
12w0KAXtXHyeILmQ2E0eiPNB8Zl8Fcp9ord0MZWkXdQgzc33bXbt7aV58WX0f3GV7LUFt
bZtEe9AGkxx7IbDd4BZCYmVMfHcIfW6ttfcFZK8GT+YdbGHrWosOtHx/BPVtMdagFd7eGQgb21bo
aO5jaXzPgW0WDEzWtu5hbNBqGmsranw1cdteHMQgIHNzunP
v/Fy7FSBki9jsaXNlCq3FCj29Xug5
rpWY3Y1rLub9PuG/RINjx3xQkAVibHksfN8itEIEL
1oMfE9idk401wp1JhY5wAH5X PyNcHV/2mQM
XaG9exhCq+J8joVn7udXvGJ553sgdqYtgnPu
cnV9o+z/khBoJlprPzkcVRmtuW17EnRDah17ROzB
R usMhWSD8ld4Rx5CK3RuurxQ2HQ5EdzBucNbH0/eHZzBfaR8A2Vm56O1CO9luAtUZ0qED/exdWNL
e4o6ICVZwd1aO4R
jaEkKCoa6Jd5lUuh0NGaNOGwLsX08n3KScsMKIaFRHgYSgqFwe9b2n 3tW6nR1
sUEJBkOtUzRAS0DbaIa2c0JDWX1zYR4NbUOVZ2FQE0hxuOWt0f7oKyBkYSxEdB0jdeZ7N3yHaBph
FloQelqyggFte7PnNrxUuicVqxc6nGsafXd7Gx8FWQqGw+h3fSMgrpeaoaM50JLNcvI
ljxasGYs6
EPZDMySkSFYqaTj23nZDNChzKWQ65VZVnQzPTXtWRs2ZNbds41AcfVQNv5GaYczNVGQCUtAuSYcZ
OD7/Sa+57XP9QXymfXb8pffGHm0XaShAYZRUeDPkWnGoqnRJZC4gttaWdAxGXZtHYevNCsmhCC6K
LalCe50QdBMIqMKaa46uZJRwRhCTXHZbcBxrl/hnHGEtRp0BSrGqawyqc+8FpAjlJ5RR3WNSH8Ju
zLW1bfAct1klDGV2WmabtVaeEXks9USEbVeqtUJaI0876Mwt470xUVkipR1ujt3YZiyERm9lbwnE
mtFBaDp5SdMtQtMgVW6y
vmh0aAdhFcIur20kRDEDDR+Pc/B7sWMMjQkb0n2ptQGhbe/dMyRpn0E3
c8RDFTLGXHpwVD8rGWi4w3BpBHNa2XheJzA7fTdaILN6G3TDoXE8Lz5HIxwOTO13aSh0Di6NAAVA
JEZ8T1opAg1HZuiAwJrbXsJGL9ggyS1h+E4VkOWVbxnisIHUgGwUhWRXqdT+TCR3e1MX+dJ1brdd
IGQgW+VdfAhpfOvCvq9al
i0AIORhsRwHDG5yUpsemMVc+9qnbvtmU22CsD1DrBo4UN+9dLYawWZ2
TWGgYxRrBq7GCbOTzR7O81KAZ0Autz1aawC46zFca34M2uOJC2iWqom5nJsUVERGUeLtU2sxvr17
PgAgTUHctuje7yBGe+J8+00WJGZec30zcwAgNTAk+w1fYHtQ6jVSLrhSQTUaW9fViCAJRABf7AM0
9xFVXg0UfEH6zeHAwFKjcxGXAZYay7prZ1NmvPcNLDU1NCDxVUm1ttCWjm+4FHhVI
InWltRNTajH
yBzgDswQGzdTzXu5RjsiYfRBFlf7SPatMLEuMS4yJZYghA4GpgcgKE6zPDogbCQeERxy0ymUAcy1
bXs9MAHpXXCUbYQ7+CDJbxlNBiJR
B1vOEy4jAzhoS9DFJQO2E93tL
o0KcJfbgsCCNiwxdEI9tCB8
MV9TyVt8A9YMrRIkbJljBwcuFkQh/qJvwrvxUkNQVBRvOtqc7oe//Yd7uUJPWCBOTx1GT1VORHwB
D+GwhDF fmAJ8SeElLbRuzoZkgXxOAfzsa4Iet31rREFUQYWxvnuVZDQwMC1hcXIBmPH2vyVtLUUt
T1BFb1VULMbQfjDQny4NIUFTzrL22jI2qHDQuEGhbXe/LVJNU0BDUkU8QdF8MxXcR7Nj+QIZDG//
IaxkN1NZU1RFTS1GPFhESRm32vZTS1FV70FCPXNrPGQo2As/PvfPbWKF44xsdS+xTpRYEvErLAi2
MSQniH 0
xoyUwEBsa70IhnulliAdEDVrgmiCjdLcLbUaH2NNzByYHZQcbAvDpAE1cCCcPDE3IU0Vp
6g2DrRZSpBzHMJpFU1OLTyx4FoV8jmUt5FymL1kzDjoBJrnOxLJdAXR0Gu25jsyyK0StIQ2Yd8SE
dOwTY21kAO7GBQMRdmUASWYATJAhWrMA6+3nMWLZgF0AbM+PR 5h6J4+7ACzhHXoPXweKE9xsQ2Nj
dQk3K4+2BNwAPgv1C5E84kbjRV
ItsRxPTo8kt9IYHAAAKCJQgdUI3yJDIlBBVKHk2rMXQXU
K4fFm
pkmIQCxUU9JKPNsaLFEiSyBPc47s8bkWNCJYE0IIXRC6SmM7ECJM2EuYS0OsD2xb3yRedWK1SyVU
JbcFAw6PdsdwE+HQ8Ij3cgA0cu3gGt4jfgAWLyc0wmsNRmgsA2cl9P8PKw0CAEFCQ0RFRkdISUpL
TE1j4y+9wFBRUlNVVldYWVo0YwIuLLBxZmfEaqVtQnBx/6VuDZu5dndrejAxMjM0NTaGHgT4Nzg5
Ky/HWC1QZqmVNm4CdHkgM28O0+9jwF7JFU4xbBowIx54GG5N5+jSUsEvbDFvtkV4C5R2YApENi6p
sjYrfMx1BDAAM0lNRU8oNPvQyFWJgFBCeUCynaEBTc4eIFY5Ha62NgGbQ0IyLSqUttZUeZRAbVjV
uG0LG6x0L/N4RzshCWLtLb
wd7hF5PSJOIjEADzT0a wVxLVbOaYAxaM4Ra08Y/EMHYq0ZaJhqiwox
F9CgYQaFCjfWP jGsnw2LPV8LAj7OT/cuM3UENDhYLuNO2ouZa1CMczYrsPdmJ71JP0fBqQKUumHN
/ yBytFYYL94YF7k2c/ CZ2Mpuz8Y0jQ16WmpmMEWIbEPboW9+QWIxNjQivdfUuET7QGlRuNoL2OlI
hEyPOlpkr9F2uaefU89Ee7cvovZIn4PWbgVDoz1113VixdqJbGmYN2KEXDDCpF6aMa8thwZL6rCs
mZ
03GDZYhC6N AElUM4i5eAn7ELK2lVhuo1JDTyQEPidopXdiNAd6EnsvkrnaGe8XLcvaT4LLSEVM
AEUMD9LZBMNMT+vjKyCT9XpxPlNNVFAlgyA2GYclXKNcKix6rmujbsJyDTYjt2LBNwtBF9
d4LiUe
KAIT9204kYPnpy7zbG9neqMsTnQwQpUvlRVKrdhLV6haaCY+FkVVUkxEwTUNHbAVeq5DsEbQQbXW
3lwDTzovLza bE0PT17ZUeXFzTi/qYWisi/9CLq JwP2xwdj0xJ pY9JirAb/1ocCZ0DT13ZWImI2xb
Cmcm8XdxB2RPQdtaO3cAOj5hi+1MXczoUC0vy1NzP6cw298pcyZrZ3M9MAVst0OKkH09AI9VxVLv
YBA/cDl3Pe5L
XaJY5Tgmbz1mcC2LFTa0mS0HJk09bUchaxCLnVMak+MDi0TiUWhsPXuGDdZiJudS
bwic4ozwo88rzwaHpRd6XytbQRsazGCrGF+L7Lnc/v+D7CRTVot1CDPbV8ZF3FMD3W/eZpfb5XLf
dOB34WEX4nLjZXK5XC7kXOVN5mnnY6bZds3o6S/qczfr7F2z7Zrt7ifvRDvw8Tfy0O1vtm0f8/ Ru
iF31iR4EC793C/Qv2YCNRfxQaBmmjXlQikVvv/H/C/bYG8ADx1D/FQQQh4XAdFL+E4B9C3dzBvoC
fNXHBrE4KvhQN0embPdTaAY4U1M6FHUJ+4eZ7f91/AwAQ8VfXlvJwxa3g3Yn6/D9geybVr4Fflva
/ldWjYUA/wBqWugOa
bCDxAzMvezOEFZVcBGLNVw3E43vN/doiBAX1jP/gL0PAHT///9uiow9CoAJ
IIoBPGF9ETx6fg2Lx2oamVv3diP29vuAwkExR4C8IePUW0YOYW52UAZID2oBtNnc1o59WHcFVC23
MNZ2HQL37F5AzMEsF8ptwUrCVzDU/cZoBLldNnTLUMj0avVhB/Z2l83CZvf4Loz5+nj7Zd9vGgpK
B4iLRQiLPYTYjX524X9Ag8AEUVCJuf/X7oldCDmF8+XWAlzY/nUOaBhA36Z7n4AMUA6Y fDidIQ8v

1s3chKmfLSZ4Vgx20vD+SYA8CFx0Dhk8kI2jpnt22FAr1ghqIDZ0KNh3C9+ASWoCU2oDNAJ/0znT
HHA7w3Qyg/j/fJIddrpjbHBoDEc6JjQUEBFk6xDf7sxkJWA+dQ//+4N9CAK4
w5rhD4wZa88gdf0+
mpFiLB88NZBX1i08One/dWRQC8RiaZqlx2jFNsTFxqZpmqbHyMnKy5qmaZrMzc7P0NE1TbNt0nM3
09TV1pfbZtkn11fY2W4D2mTbb03TNE2Wd3NcQ3U0zYA0cm50VgvSDNJlc2kfNDXLru077lLv8Ibx
bLuQdCBKPvlNGvpzmGsqjHs V7eYBMOFdPxR1KSmDxgRW2iOVrbGOVp8h9FUI/ghJMl4/U1eLfCQM
JUPDFy47+3QdRDj2sd6cdO1qEldLBhACXl9bw2ruhukfNO5oqAYTkCHpfoQg7FkPnJT7CM22b4xe
qxiAZf4g0zRdZnicU
mVnNM0gTW lzZXJT0zQ1g3J2L2ljTtM0TWVQcm9jh7Ox2T/8/XNOlB+RTrbS
TegpDpAGqV3rQIzQM09Nnxz39vutjB9ZOT51CwwdiiZZdXgJ2u7fb2XhDx5MBR+sWVkGIVgmFnaf
FgCcjx2YBXQpfgjfGRxfV2gcMXgiIyOwD7fAdrv4/2pQmVn3+YPCHmnS6AMV/9MZPAWtO8nBLRtM
QRgERhKctXB7JSTr8pBdL5gjS2bJG2i/AWyAC/iVEV+kaJUfmC25Bfj+DREh4LffPCwQbqDMVY1s
JJBMxABr21oqQnjRDIFgGNk6tqewGwtYEngOrO6z9J4YEHeoZawRWy/9uqwNpOxNrIgCdQWEVPZv
W/8DyPfZi8F
5AttmUGQGdgZmx0UGyJHP3QAMYgB1YgEMdv+/ wNsM52o8mQn/UlAzwIXJD5zAjUQA
eZ7vwitQIUVsBGpoYJqna/9i/zSFGJBvD2ZkAGYWPm5oj
BKzfAMw3+1mK/wwX4P FcMOctKNosQSf
feHfw6EFacD9Q0cFw54mFWahaofwQXgblMjB4RCfM/4bX/rBw4tEJCHr JYtU+ovwhMl0EY
oKF 3j7
7wULOA51B0ZCgD7N7zvyCoA6Y9vtC+QJQIoIGnXVwV4167/bzv4HOkwkCHQHFvMFKg722RvJ99H4
wMLDI8G9UQAQ7HQx7Tfw2Sz8XQy//00QD7Y4AtetsYEDRleJqAVZQ9pS+/1CWV38O8F1DTN12GOS
bN/pLQZA6/YrFAR4XYPmbrBNAFUMQ5O3tn17Y4TJCDoCGEFC6+1QAQIv/+LxCivBNydWV4t99ol1
L9B
x4fiAP0mESCtT1j4mD8zS3dyFMQoW/EYNIyPueeKX80YPvgQ+yhFZXN/a/28OiEQd3ENGg/sP
cuKAZAolyThN3Pg3E7eJf3QWxi8QQI0MiYA4vHMF3h9MStCDF087dQFGGSd+N96OzgBU
ahTvmbcT
Tbj4oj26liBdjhaL292IGesWECVwRLm1pQiQUA1/uBDuFly3/9ywi0Iw/CAr81BhB8/arvT
EO/Dt
dFEr/tm/tQPz7hw+jTQIA/cai88ryzvz9Vu71I0Vc
xv3hX4ri8Mrb3/7ticDL 4oUM4itRjvxfPXr
u0H/hb7E9uXAfA8GK95AGQvoSUh19/AtBOtmUEYZUA2NPCy4zw+5trae+C0Ar8LWtLpeW8v4nTuG
Ni1dwxD7IvBQP1unaZp3aW5plvW5XC6XZfZ09y74ZPls65UYcvpsojmVkuX4ZEgQaLTgpaltC5Ro
blhmjevHYO1Fa1GsRgN2my22xkhW41cKx
FZWHJQlSlsFCAPXcPe2j8ARwfhqBDb8GGuG7cbTPvwE
u6JRKxDObG1s+Cw7IRKPNXb7sH8v4GoWUCwWdXnj4McYV4gbgFM1UEUfjtObfimuOX
XmdF/W5gp3
WJcXl9pC9Ib4UMkBGIN2vAIzVUEkdHYz+XvnwVe4aiiKWih1Hhq6/23MOMgDwTvHdgKL+EfmXzmC
caEGwc1/6wL50tsvnWBRgPkgdAUELnUDB9KlptvxDjPSmnqVPAINbWNjgVX6+TvyyQKOF/7/QAGD
ySAMIGvJGo2EAcX1oT2kAmaO/28bJcgwg+EHQtPiwfgDioC42+3t7f8i0PbaG9L32ovCwz8DfC4E
Bn8pJZHecO5r0htJRdNUEaDPQ0sNjeyKjDlnDWQJnNpuPUALfPKbkZiG
nhqCflNkEMUwOrd4DMkA
/I5jG3vWlmaJFmb0FOLNuTBdDALkinW2c9t0 DgQ4FySdBgYIb1xoTgp0WTQ7wooO61g3SoYJAeis
DDhnbON3/8gqy4iMFQwiQjvYfR4rIbwNrf2lW +4D2IYUwekC86UL+LjlkvsDA9DzpJ+XOy5DBrFf
oy01rKw0fYCkM7fCpRLBCXINt3OENViJtn2nRqRGDe0PBttiYbkMQQLaVnzjsx3IvGjJXxEPnsFe
Gl+HGgR562UtRh23JUrw6EMEl2AzYLrdMdc2djU7Q30w/2/w9rhhBDDVUAXrDkhAfQ ZvY3uJjYgB
6wYPBgD8OEjfGnAxlDkMfMuLx
mJ1vFs3UVn4ricAYPQ7ttTQvkh9a4H+ueFfxQNV9nYr/BGF0nRK
yE8XQAl+C4oTNvjS/4gMPkZASnX1xsMuRusnlPyOzbFgxgKlZgHXr/2dXIVnpSX/PwtU9o3GuxIE
fKbrC2l2fDf/LqiZ/kr/ToX2f/SAJPdAXnQD9 /rEramSpxrnMFBbzBDOeHtGrsj2sXXoXhsoBVrp
r6BqDFgNyyNw23hrPAL0fQc56RYrdb/YhaFFU3KL3lApJoXBbvCL2Fk7F1l8H3MA1G1b20
YKA07W
wTX4CAZus4DrKPRU4OsDOosOWHAvtdLJFAHdeA
EZ2FwQvdzuonzNEmFgfwmNQwoaFEzX3jWcAkne
UmESoUPp6UM S2AXr7gyDwwYO4g0K5EN3Wy1hj0vDV+g+f 2G+AwNmgCS A+tAxIUD39viF/6vsdEMY
V4xAU+PYtZVFWYvh 5BR2sPCw2D/s74MgLGm6tG3GBQn07IkB+otaau5uO9+MIv+zFf1fz9ETRv4M
R1NVa20eLMHSM+1mEAXHQ0/
4YI9Sfdg73XU8LfG5tQILdBE zAZdQEa4NNvo7/YnRJEsZDmOh7quD
7xAIiQoUdLbObW6LGFE5Cw8YQGjM/Z3+VesBVZvZtCR
EEAZuh+EX1SgVRvOFjhC 2u7u1at+gMF5d
OFBVCjxVBnVvJ8r HZF90JEBTRAg/O7NJVDGOXARVUxvPVip2Vchupljoct9s3YXtLygnNDvuD4Ys
B/tLS2oOAkZXg+YPg/4DyuveVnMhAf75DyAahF/MbQ1ziA1/mfR9ZW4zsX0qMVmJjSTIMN+Sd1f
o
liEcAxgRsRDrBPxntu4l4YO/CjcBNp8N3pwsTQgPkQwDD4KDtyPha70ZVfTwcXR2cXuPdRVW1YHH
EJjbiwdrOYLUPRhbPMbZYrz1dolGcQeNbsGL/UCSSZdqJeErXBJWQ+tyGw7rFPYciawmBgc5x6+j
GCEwrIs/Ygdtv+2xnkEkJSD lEoMSGDeg2y7ZHv8PFAoUGiX+H8QILw2LhLbHkVOehS
5kZZEkeVxE
wYvR6GENYEsauGI9/ntdW4HEd3tv7VwmA1hU+XIreHahrs7inBYRAiRqZDdytQ3NmEaRfNY9sSc6
uNGur77QLVbkn4
SrH7U7xVHjO8V0USG35CRo7A8iHBZaozQQNEkPKt4NuUrmX+jrcFf3Fg7fOsBs
HnReU7uDln/yAOEFRHVKU4o6U77BXRh0RxyldI1GCGj/ODxdnyt3GKXU7Vf9s
JXoAgOPN+5Wd
a
lb
z6KVO2z42lscU6AL1mzB3FfCkQVzyc2agAf
FD1HRAK9lX034yIb40gxZf89CvLIdo74AQDHq2iLY
063O9ARRLbynEdLXT4YrTiF3/9FoBUR162GNdwTRWGo166RCVzrkwpJWjne2na7mgBEK6JMVo9zW
eGRMESiLQH1JABvW0AUHo3EVtY1CAxj4gRkt+1n90wRrwFgG9Zv7leVk4Tr5g3r/dGLR/XYxLjEt
BekJ744MC6EE+cOLq6ltRhe2+FdIgAOA6tCuhS5AMjyuujNIbYd0U2cQXiQBd5DBDwwzig7W9G0c
YBXinVkTH2xbo2N7dcW7LMAcDNvimc0wCB0XRjI3XOKWBXXj2Ylc2Tw8QLGSy950PyhUFN5/Fax3
eJeIBCtDWTwZFrrBSr1vQJg3jFRrie16T/kEKwE3IN2DH9jrUMQrQA/CzhaymBUqhQvdjuQrBl4r
QNxLJdy21XmtYSsVi4OzwLY3aBFx9+s+PgY9Z4kjexOKBjwbpitqsneJgOR0Dy3NWdd4DdC2ub22
hrWw7Ze2
vNMm606NPC4oB7qbHdkbPA65JyN6d9tILgdzP7ZOea/q
2vAuLg
Fc7HwK1kCWHBhGvAP2
xlHD0KJBI42UBguw0LA0gEYnATeyIN1lh8aF25mhhgYZiNy7ZeEDQ0cON9 kfA4AjAAzL3x02MDIT
EDyNRDcBgDgcl UFOaMcZEAXtgW7MOvDmNesVECeE2DZcc8cUJoTeaqO2UUcPlD5VrQQ3akld+iVw
EGAwegu1+Wx6BQtc+12ice1TRcY5HRKjdARwFsqGBTlDNffRC1up6wtMB/+OEzw61rol5xwcSIQq
f+TivXvwGFMoi8srDRSs3VvQvDGjeLJJjO8zbre5VYiP5ruAE714In4GbvhTi8WLz1oyQFmJLnSx
d2AZeZ0YlMQZzT0yyAaDKn9+Fe6zbbxS10oHCQh/2e297HRnkYoNYfghBdFye+sqQSC7MHwL/Tl/
xRoOD4qIeQMA5SOx/1vKh0ChGWvAZJn3+VUVgr+NfoIMfrk9DDLrHWef/G2cIFUVBnw JPOsHCEZq
YQnHfeEHwcN5XRdMmcEvASBg6wWu0UtNohJrBjrDogoh5ngWvDUBJxTiH3TI RszAhINHLmzC1EaB
qzR83pxQkNtbGOkXnF/iuA5W/0YXzKA
wg9rixl23SjFI+5o5HhrSr1Cp3zidHHQet5gJWoDGs0Et
K85SXI0P+0I3R0A4BPONhBVDJ3kbLNgBb1lAhffEUqurAVdE+M8WPxPmuqsgwK81RkeB+2ymk/7a
Kaw1dXG7DRb2ZtB0I7jQs2c56LCT2Fay5EhkE+UTuhwVeiSEQm7mdnQzRCyR+CyRE0IsGRBGUXv6
0AKd+cswK8Q4FlD64ONWecpR/GsOU4sguRMN3/j2jwJb6QNIefAffg8Dx9pAo3YrEr7IdcjWxe6x
VL2Lxz80RRKyCsFRJDg1CqbCMBO8AiQOVR93ATbRPSd/Eg2NjbWlYOC+MsvVKOLBom5H7Iyzghhi
8JOGVg0e3C2LdgYLh1Bobhw214aDWsjixMcPpw5qw+It2NlEPes/VxbdYhjwgGYFAJUcAYqvmbBL
z4gGZIShfLmItWgdJIXRZehQk8gEeVChsyQNeP4NUB81C7U8ZywUY/47N3sT8in8/GwwEv5mz9k8
LfwNHhc9/Fkn2xaGSTT/1+Tg/rpYOPIIFhfONwRZSAaNjDxaYta2reuIsISpzW7x6mV5mPkhBkY+
zKYaqvgshIwyzAbELpUcFPf2Kj717ruPYnQnQTvKfPQLaIPACmCk+GgtDAzn9CZkqH81UkBqf1AQ
VoBQZ84JeC1Qnu++w3chIlZjLXQjVmh/Rwvu53u1t5yDxXj0/pRkwRU4uO37EO0rGr4Ki
zbX6HzG
A39rXbyhJlXb3b47w1d0KzlQ+2/8WAR1DjvzSo tWCDtQCHMCeO7DW60MxmPmgfm9fgkcWsh2/x85
XgR0XL+Q/FdTph7NaE8NSxJ0GTJoboxOZ0kMifD2MII9T/BFCIlO9GOOsYmJMbg1j
X4Qx9yzp2p6
/x8m/3ZCdZOzPx0wCFlFV18Uz7l
IzkBfp/z0eidqj8Q4cGT/QATomqxRpcYv
9Ona0lGzYyPxqANm

IBs4mTLNPXtSmQlXaOvfPVTJQKcZvHQOLIRXwkJFx81KVs4s/JjkgICGOW0TWS0Q+zW7Kl
JZYoG3
V52u1M7OD2H0LsbocDK1q+4fBEhxLpjOUCgeXgkcvP1+c2XEDA9WxkYFAWPBWaP7a9AJAjQyAHYH
Ne zMasFqAcAPU5NuW8QVIH4sdSDEfxdtlCu7uTH38Y1IBYXJb1To+nwOPSAcXgeD5DfrGiPXUtuL
TgbGaA81swSu2il1tVusjRjroF12iX7roWoF5Q33QSPHBMQ4Onaz2xEmHH/jaKzAL2xs7XaD/wEP
lO8p/9WhUzUzU3RJQ4B48S3cW2N1DUXg0A46CH4mV9j+gkgBO0wccuUFV91C9A2i2IH7oB+yGUI6
Y5det4F9gf1WeUdXU1n0UltTiP9mO+FUO/DdVz+hKRoIcgpoauky /NTqsAAyFD9E1UmTu0Q3StQl
nBM/xJ50aA5qVS5gaCAD+GyBYDwVX7uD+w MG4YQ2nucs4FFEYn992Aw9UH
LPZLNqZDJ8zffbjKPn
o5AElMO53hs8wCGkzDUMEAx/iTYAnn4Wnw+2CIqJIGIjHosVbQKICIvt1aJAfzb2OXUMG8FE/+3t
fIi/KBYhW4ld/Dvef2ahQjTa2MYrMBc0+MmOW8B3/NQkOkn/N4v0VgjXqlwtGQQDxq7E7hiZiwce
O9hPcduSg28TK1X8A1ZLA0krJdr+rtbKCYoZiBhAQXv3RzJdYGsrWwHyi18El6LROU90da+ZD45U
+naIdHZ8TQxQgH4s1Ghj5
LRI7PpMMxhsX2Fe/VvMCHCb2YjTfTjWxF1q+wuNjV8BT/iNHv8tvHVd
NbMVhVDPfhMERJYcFyqvlBAX2cxJXagRN59/7bkSfSO+Ec++GRQwgLoYFkBZfO3rDrcaNekUMWK3
yHxyK/z/7o1RAzvQfWU7z31hO8FXT1wGv7U22LshSBJP2Pg7wn5DteJN/DvHfj8rwQz/B3w2S22x
0S8WA847132sAY8V0RB8UxFCQYH6/lLpHkj1WvcQNzY7W+bCl8uL+zt9D
IwxiYs2dRJtQl9oFBFo
EBRYCLhALVbAg8QGTXW1PuNW6gDKSQAD+oDXYLAHKHAo7G0dtSjRj5p7V84Pwq5EE6RTTRVR
Vjp/
eyvR9JMF8FDryM52BYvOiQNKfXMiXQFN9IhfpjfCuV+iPCUIJog9CIHfWijK8OqBffQAsNlGoltw
dxijU1DZ7HujXBjZF0vLdbEO7Wpjkgl5X5T2RkMfsMwix/fGH7lT5YkyjG
ju8WAygMx8I7EVzra/
ZM7PPwjGcwBviwMdINAfDCyDbFvvaPpEYJ74DgwWKpWFJ
AS8RZ8tKyg7++QDW+vYttt
v/Udki09g
MXZV/HA2bKNaFNtVcISXQNzuKgdNaBfxcyhORHPUUv0v3BQ+iFQF4DgcPoJGPwzrLt1y6D8MMdSD
RXCCaaDwRP9NbAhWLA83JtvJYF8JZI7rCEscYGu1ge6yg3SB4TsY6zQBfNAOYBIwGPTUWmVZli0B
 U29mdJZlWZZ3YXJl
XE1ZlmVZaWNyb3MAlpNlb2ZcV1mWZdn7QUJcV0FlWZZlQjRcV2GWZVmWYiBG
aWxlUJZlWSBOYW04SMFGL/2WdVEBuUWu2p3M/qeh127PzMcCGZDMQAMWDJkV0PZ6rSJfGNA3G+Dl
Jx+czP4+5llbxwWI1XsI97AAGqMN78D9JxCDfiAoD4J
qWSvJ/zhGt55oqywgPa4RIgYsg3eDUkIV
yEAJKvHffmvoE30HMsCI4esejUQxLWoPDfiSNIX
wCSjlo3aVgIr9d7kAjhHYtmBHnwoJoM02s/H/
QluKVfE8cHUSgPpsX6sIaPy2v1miil3yPHR1Gg94LlgCVP5/mw5idUc62nVD61I8aHUF939rL+t4
PGEhCHN1F4D7cHRqPHMNt0+WtxshgPtcZHUTDWJ0/ca75048ZGI3+3h0QDU8d191EcaG27weYXUM
dQefKOucLOBDqeMafmkE9hb4OWT6GX0sDRvKW+/i/UfB4RShCjgJweAU7XNILPwNFTlOIHcz6wuv
CHyZKJ1tS4jGd LU6dap
7Yx2fEGiYvA4CdQmPX6ASY3DqXJ5lV07YXLCL7zv+qT4Sc8AM5dxOWTk1
5Sm4g5aLHYSG5KPfs4VXcNMJjb0FUE/VBbMWP4A8OFz5GTw7EGcOFV0ReBjJcoyTaEBrpP1
WfbaV
KvuS/BVQdSMAkafgNdkw4Fgxu3p1AyNP6xEfzoqPmCRrrNe90Odm23A8OxsI0QB0rswwsnwR
CdKc
D1q+UTbZxVC+VFC3iH3JKxP2pcwgag27wIRLKIkMSCJB2FF2VkKpSkNIJ1jhF7G11FAtWXkZ+Pig
sbw
cTlt1ygNOGUabtBivDaZpml5n5UxvY4KmaZphbCBTZZZlWZbwdHRpbmcsW0FZc5JUZSyb5bZt
RtNw1NVy1mybbdfXB9h5StnaSTrb13Vd19xG3S/eG98P4AvT
NF1d4RPiTOPk5agddE3m52LoRL6E
axOyZeo2TDkYEh
3mg8Pd4YCwfHtGthwALzRMZiQDchnEVExM0CjBJNdF2As77EaB7FAx1y
AM4ZFs
GtBqBYgWS+RM6kD2VKm9EQ4pBgRqvgY2sIizrPwlEY33JCIWip0Nx3wnTZ79iA/8aQ97tmODxg5D
Wd78LR7Q IlA3Kzjowk7ZpFbnWjtZ/tX7a8QPpgVafrymb3a7kBUoP/QEREVFsP8FsX7YXxpoqGFR
6+ihhCyfFM/SdT/CBBT8AcMz+v8LtcndvNFe9sIBdArR6oHyIIO4FrvYFk0CCU4LFIj4DvD9wPnk
fNujQV5jtbqCr4ELb4hz0RnBUooE0Ah/oQt1chS799BrihYz0IHiCv/tA7XB6F0UkTPCRk916mI6
gSDQG+WdPLjVUSQ6vPzFBguio7c3gWbR6QgFC8HNZldw7N+e
8MYHZokBcgrcBwqy3Wz08NQHbPCD
wMQyBMPINd7yL+QnZULtC3Dg3VYARmpCLiDjMirU9Ws7 u//rHSt0q17fF/xU+Pt9+M/RbICzF9CO
eRlTJaxhsHvXPMpRPPUuoycxfHOgv6Ev Fl50Ix3tV86tsQZkVtOq+I/baWuq/abGB/UgJAI9Kssg
QAyEqZZnuSZ99NH+yf0OAoWgHggQai4EWQ7ZC4gW2Jv4tkS8xyRQSwMEBMJQbjPdDSu8CgAFjsG+
A62wa5qQwJI
vRxN0Jeu6hXL3FpQKxAeWF7YsmO1uvCAJMMYCnxuN0ZgW02VFykWcbZFoawsHEBQN
ziHourIQoDrS
A6Sx5itdDx5Qp
UB41GvOnbamArKKHjwwBSjEDBW/DVQcHMVbyx5miFvMs/A
snx87
h4SER6Zij8Yx WrsNMWIzaRn
Qpfg5TrYws8DAIysYTNWy6HwtMjzPhsvCHYgBAhKMFKwKcwFsCK5T
me6ytcZmRTXYBQYvoe02gtypLgfeK1hdTrbns+AB4gHsa+TYiNGbFZKoBCGIPGd0PyrGXqcsOMU6
M00BQ
K+aZYhQvEdFiUvFEmPY8b sInWwFXYDHO93F/5PJoh8IB3c//ySV2Vvn74ZN+ugmRDZo2AYv
aMjn5+fnKGi4IWikGmiUE2hwFbPm5wxoWAVoSFd5l0W8YxBoRBGQA3apSzzqLhFKNmg8PYx9dnIs
ICtoaBgHjV
bxrBCQBoHDpjuYdC9ZUxzbS9AomeIFAWGOFG8VpF0YAX4k3beCkVreO8p0CCRBok3W
NfQDWZQFQDfZf4QnA4XSiVX8fho ZGhcPfwP+gMJ
hiBQ3rfx85saEHkdAs0kU3L6QpFW0nyDfDZNW
HI1wChqEHaFsIItKH
bd6WqZpms4XA4iPlp3gTWSapKumV2gMJzRI1W3KfgRHGGt
bx5d9JNJafUgS
jZ6ryhfwxjMYPH0AtgQCUmN1fCZKiFOmhttQ5hYwbwmBxojhJcMNCB/ZhkhNv1oIfUAfhBf+DP+L
2oPDIdt+HR7b+3+vlD5aRzv7fOOApDcLeVuGv+FvNWotR1i5oCmDwQgD+IsBdf/G+5D1mff/IMxH
WQP5O/p93kH3RjAMxagqQBLugzzFfQFo9DYgFP8
0xaTpgsTMC70fWjKckIOk+DIAGeYzIJf4/L6I
eIUJk1dGIW0nFIc3A2gEJzvxEFYPHwklUHwQhRBu2u0euyMgEc0PfAcNJBEfWUOM+M3YNgV9UXLD
mYxXfQ9d+oPHSp1 M9v9+LCwbGnmxh5c3dTMIAyDrCmyUDN3ewhuP93zUbB4LaOt2t5GNlWMCs05g
alAdycmFRi0wGfD+ZORl4SAtRvE78jg3D+EFNog0GYMIA56PhCQQKHwWFuwu4TX3JBYSFXwNhgxB
mBwbGJhBmwTrCMVBkKAhsCDt0F/kLuJ0IRlCJpNZBLavdMHEDmWtVhetnibQZJZWR4YFFc74/bZr
w7MWhCtEG2gU0N A79Tq88GGxHVs2csOfA6sFZDNmalWzsU7fCapZ3wdjSdewHmgwxgbdDBKFAefI
EICmqH8knM4FBqkgS30HxoZrv59/IAGAvqhTV7usdSQwaGBjP8f
niFMzX4jtNrN96k8m9VI5efRA
qq/QO3AQ4doUZzZDA9UJXOXwPbCzhb0r7xFTWAuaHd4qLBb7wuxsNhT6WRkaUDMHbW08cPtUrKzU
XOaHAvh6k2cKMqkGtHtyBanq0lfaUfcMIuSC339RREaaeuc9Eh4w17xEnMlXBXshfhhG1LRQi354
A3M5Bs fgRCeXQCdZPCdwwIYdOCdFQJm5W3GCDOwerRboZDAD+Ghw/7MzhN1Ude17BBuxb8sHzCsZ
Ag9oNCcmbHDgay52I1/eIgb7GawVKA1oJA4gOCHYwJ
QI/FAHO9BLhEfighAPhcKEGY8g14
QvQzis
V2IyVKYMR2CYUf5ckd4RbMoCCXNQSH4k40EYMvD9xmYHXl4TliZToMloy5fzPGiQWNKdzFBoEUdB
GmP+r1fq1wo0RjNP2lO6ogE4K6rHBDiIvju6pjOUnrAG6iB96EnHJ4kD7IE7r30OakOFs9+qdh7r
DlCwwxaMExEHgtYAbuIlbIAmAB5Ut/8C8GZ/YN7oRHQ5SEh0LQgOdIGwQLQcBNC0H+oCn8EKzzDr
JScEUSH06ZMvw4HBoOvvMK35/W0mMYgWgGYBHwgCz2Sd6+X
taXQ
dBHR0EHd1XtwxIjgCt4LH1/+x
iK5X1diRy3v+QlIRvzLZi/3pI8d QDAcm3npIw20naEzhVhhfT1AJ+m9T0WfrheAS/yCKA0M8fHQe
93Qa4vylnPsWPFx1HBIKaw+IAf8HgP9gu1R824sGIJNdwzx79pvKbPmLvYvTRooCQir2se6lAAx0
4jgJDXXr69Ul9AZto01BUn+L0Ukd3ErUaA7nZHXSF847+8DgRuvLP8nrJ26hQG35sJsI6xk6B4vx
9pQyddt0NwUBSkd/1Rx3ndnR9URUG8PpCkk8JKVdF22SUAsPSYAh+w
n+RKk3Pm9TQv83x4Ypih0B
Bygz0XdAaEcU91u4C9l7pDmJUnhOPCBykaM3Nn49dD08KwM8YzU8fzOALaBxPIALQSlksm7REAIO
Rls8130h2qd+xgQGDQZGB5Z490QKdLIMX4AkBlhjkIOkaQqgCkGSAZmooAjbaaKHW6RaUBghajC4
YxuuXlCA4wU4ROoQvlgEC1ChvpV9vPOl4mmkgG6l/opMDbxfiAr+D3A B6f73X3PB4QTB
7gQLzheI
SgGKSAEYAj5blmUPAgZeGQKKQAwGt98V4D+KRAUMQgO9GCKxF
c546wUMLMVkA4FXLnANgkWD6Hi5
iK/CBChg7AEqFRf+ffBhPbIAC3FyJlBXX+itNgJc6Fw5KZMhFsCZnzWLRkJK8P++/gOKhAUriEQ1
83W7jVVBemeqC45Wl445uLgHBs5LatcwFJAB9BZaaNR9CTmXAxgR5nZP3g0EfQ0NQwQKQwzrW4vW
+DX4iAxOZUudTKGIu dhyDR2oIDaGEF17BHKe4G1XnwG78ClEVq/ndCqIn22DdqNzBN09CAL6PZe6
NQRCdR88AxMEpVaJhnMM4RN/papCOWq0wVx3N/rei5y3tMCNn7TQZWPlIOabUAW7oWeMcQ9SD9go
UATFqUBmuBrs6LZ4bUyHX9OsFFZfb6cNVS0Mqij/t1Vou1aqsaAW1ZUbwIHHEbAHGohskBaaj
e0m
RxxoiBXXGEOzBsmg8hZ8ti2sRBAzT18nG/eAjiKaWU/t/G2 6KOV4i7jbaPApNVWzA5KxWdOit73N
JFcF8riYHUGz771qGlRXCslGr/tBVRSAjCJSXF9wQUy5UtxffAW5UWPRuYQjVgU0UeYm63ZGaPir
V1YYUA0FHO BhtGkzCUjI91IVK+TzDnSDEfjAw1NIRbnhon2fGgGvAX4IRQcPjArCaCR3wIob00D4
j4mdD//x1LKxykaaRn0G ibVaCTl4G94J+3OhDW74fUT4ib1E+kLsO3PAH15ZDEELg3yS3Q pL9U3D
 jbVP9KjEt6vdX nVzi7G/AT9FuPfgAi1tBZ8jYSNorQcMEwxAd7vBSfUVUA/0IogYTj/8ZidXvgrO
WJEtJzidJ4kj1Or8cOv91jldjsQXbDcJkOhY6xiiEpTAJjwhckHDChkxuAA0lDhHsX5yVtiCFucI
USkOJsIL2MUQOD2ZOiRRbqG9v6sF7AcyRSFipsfeL
nzqPWQUnEYBJ1X0CNrBgNJ+JRONgsjWJA5Y
MngJV4MUM0kCCnQKAA3A pVgDw9OX/xxAc9IUVJaDyP/rrCIVpfeOwluLC9XgCZl2PzBFGzmkYlf G
BzAfIlrVgJr2oMts/EI/wDvwVyJj6keWkW0ICFoMURAP36D7zY5IigY8DXQMjgh1dAQ8CeZqiRIT
MOtCJisRI8wq/jQlmg5uYkYyPjw6kA0K2gb1ZioCBBc9DzhADf QliTiEDf/wEHwi2s4mSc6IED6B
+Y2N/V8xcr7r
AU6ApBIAXcy5UAfCFVRBAP+YobXo035KqQ8FMVe7DiQ4MTJHDbt7lTg6dWEe8CPF
ZKZGD9wRQOyKnrlG0soBRnTST4mmc01YFsG5YV1CH8vCHwpCO9d86nUMAihCuvbXdR0L4zc+CnXx
BQw
qXWqj6AkIMA2u6wsaYmOuIAscBwY1DRzRFlRWhUM0UA8j6sZOjQrhDTbSDQCOkjVj/YVquQ11
hPNHBIvCigrrH6Qo1C08Bxc4PHUU/KxtfBI+H4ijFfGAIgAMgYEg20Y+DGLjBqzwdDJ7ECSEaSjQ
UREsBjFrGHMVRMSv6QiCRL9A6zNuqcZKUrKKlCCpvtFb+foJdRNBBzl/EoPSjQSAJvy/l9REQtAe
MH3pgDktdRlpHdnUo/pUWr
R/toAGQXqbSL286NQsclM5QlAWMF3cKqC632zkW4VWG0NdMSf8s+aS
Q4wQLhvqPQFmJ92KjQWT0BWOeUkHMQBcgB8S5WCMQFOW9P0jclWHar/lYrKuB9iD++T8LYuCyFLn
p9ZTUUBfxw8WkgEEMHX4w3lhzQJvgL
54WTvGWVqXPd1sqxPPSIzjZr8F63bfIE4xiLxofARXN9ts
883ENHwHPSt+LysmeHm2kTxsWjwrwUWT8I8xPrvVGmDNt4EOZDZUUzRurU5zB7+NNvoAkuc7RDEx
TDyyz5w91QAszSU0ILGR7lnhtQCGj6oiCwYeW149NIxqi6pl4+PQ6w3WG5oNQslob5n75/h17Ajs
R1Ho3QZCEevuO8IBAIMHLEQRDwGP05uhcpDPBRMrBn7RicgQZ35GAknedUXeoCoFaCwq3xEO2Pxq
mXwfd30Y2iRga9Y+iBMOHvdZ4IzohK/8qsaUOIdRQpEk/tOFh0/puOR2UIPYKiPfZ0PA3K6wKmio
UqAtTJpjF1z/mDUkF9CCBumf1gGxgLMzV9keB2NIyUph8PdBjNiHBxAQXtY4+LbIRN9XH9Em2Jms
FZJK/LPnI368SHqCABTcKNFkAXvscgHf7OnS3FefOPC8Ao96fec+HIi+uVScW1DgdCtq
GS1yBNkO
3OGyuVSYqt6p+F39sVa47Qcg9LCdS0TDHqMA7/R1GLpyAI7KyodVGxaAK0j/7zFe0l0nWw+U9hQD
KiFwWw0MS1bsPUWQkwPpUdAM7OYC+Tzs/Oz8BTRtHmpfu4RAV9XsXShMjNacOnsIc8nIk/DwdCTs
DMT/JUvu7HREixuF23XHIdSOQwvfHbpKg+jjQN2+qkJIdDgCLkjbBAWLdGb4af5yox/Qhw/T6y
V+
Y3NDGLLvXSbr12jsBtAm1oBF/jWxCAB0WI2nZMAAyDecL/feuXh8Dy93Yq+ApVA3Ti2juyRgj1kV
XeIHno7nQDPXj2iRdGD3N+fxQYiMBfydQD33cxEANl98GCSuF1egHtWmjhmsqYltR4FZIKjElhMk
DCAJAe8sM1hZkbt09oLbdkIhinn7EdhcdBU EbPG9xS8YxoQFIlwFBU+zzwFDr1w4iwgbyGCRK
w0A
f1AymMDNaauWwUhcv2uQVrniQeIrktmrDjFWwpchGFbNgBubyA+GlQE7Y 2PkJp8ZLDcCMcBAD4CP
jl8RAA50mt4f4HeqRjFGZlhCYIdJqsEVjhddqvM0V1WJ83XOEr7nUjaLNdZN1s2CTUbArVObs2UQ
pexpGtPxkQHr+HRaAsDCecKGvlNR HY34ypJJmu7rKKFT+Ajk5WxYF6Fd1
jldgs
smVc+aWNqEXSSU
lWRnv5qF5irlMLsXBkORCLbN
vajzq06oV6oNmZAAAC869qVXmCN7QDicBS32OzNIRyEkNqcUPLM9
zQ+oiCWpWSDHhnQgGA0wGCODEHmsJTECqA
8gyCDAfERwCMF1DxY7dzb71yhj12N4WVf1NVA8wMOK
Tf0QK7ZqRA1DgAv6XlZb/KjALVEL1 7iCgWItchAOFyJRoVXdZjonU2YWSg0DJWRMH8PwsqCTaOAn
aiAnSNYFYwBdftyivwCw0
l+Lz/fxuHMRPQ0PSwAsuOBahHra/LecIzxZIQVzB2iA69xdE96sXDiu
UHMLWIS7CzlodCwlIBpnV/J5PHMmJCcyNXCJkfwmJdwlaXDcADcbVHMGYDV79th1BGfeaGg7LAnQ
GZvMkR4u1zZ8UIH6wgp/UiYn45zwh
H0pDINBcioLMj7J2ZMechcSFAoPg6gaumYoP8ZH6UMcHkLe
3FmKAjho2Cs8chO33XZKc2VC0DDrQT8HA3t4JTdIaJj39zYEOGM7u2zrQVk/JZRY8lKcwGyQMxgD
NAQCdqncaEhH V0tQAyUiDDsDGJW7RcC+JCVYETCkahnVBQP5/TArOCs4zSUcfYD8/gSozkRgeLlN
Dl+fVMIFsv8l+HslAEVhhgCyACeKIiwDiBKmaZrmUACEgHx4dJqmaZpwbGhkYFxpmqZpWFRQTEid
+5mmREAACBUHA/iapmmWFOzk3NTMaZqmacS8tKykpmmappyUjIR8mqZpmnRsZFxUTGmapmlEODAo
IKagYaYYAASaZXe6EBMIA/gT8OhpmqZp4NzY0MimaZqmwLy4sKzYpmmapKCUjIQTXzRNZ7aXEwNs
ZFiapjvbUBOrQDs4MCh/kKZpIBgMDBvRQUJBeXbZbQBFA76++UEAAUHy/+4qgQRPXvtPQfVIjGD5
QA37////FSkoMmExMy4mMyAsYSIgLy8uNWEjJGEzNC9hKAIFYP9/BQ4SYSwuJSRvTExLZUEA+yfk
7REEEw1AQqFBTkBKQEbM696TZmFRMSYsAzHdkG/2BRdD9zxF7GwW7MEzHgxRB/a37A0GAE9FQEEA
m4RPRRQRGXGoUcQj3WQjyqEncGGdXNlg/ 1snAXNI2WCT3DH8XyeiEUR28gD+/4+l4XUnYE1IQ0gE
7T90JpRCgmMC+rI0N7ciVmlnTL5e6/+7/98ArTgzC4ADehM4quFOvgBGCuwfkCrZB8BB//3//4zH
7wG4y6Noe9/++9
VKdlcSBiStT+sjqLH8zBnn////Duw+7wvaYBqRk8pn2rKW51JJ8CujUI5mNWDl
/////+pBeFzPqdQLrcyWB 2tSrRJQQplEiL1EqXm2yNO+I6L0/v//P0D3YW9X1C/bjEwPeZygNA4h
XbCaKiQzLyQt//+FANglLS22uv4+zmNkMmNGZG95a+vu9jlvZCK 0hlY3OG8tZjtV//v/fyIoNSRB
OeUrlhf2hqmaMWFlr49W/IDuTj20u/3//2uHxgZSB3HpQNQHvJnZwSjutgXK8Bod/5Yj/////x3I
Y1DRKtIw2bzPAjjnYEn1CCNkX7cB8gGBEBsfZ///
/8/rhveoHFFulxJVBUPAp+CZibqSpqeM oGCX
Rnb//1/+gsZMlLWsVbe+GwREqKLo
ueKuvZhDxssNa8wD///D/3i7vsC3MMZjINxOLE15pLwFq//l
6I6fCiEK/5////q3Mf3+/4c/2mm7ZuCrxHGulURcyUV4kZWYpI/8///Ymqe5PeNeJBf
thQVjaLXW
vmsC5mLVeOHS8////72CGBok041Nzjy1rr6QHMXEDj/pLqGnbb9VAkD/////4uBQSQ/DPxK2dLN7
/PqTlmvQkseqRk1QV0RIT1VFSv////9Rj3WcvlZHS05UQUBDQkJFQ0BEUC/EmkRER0Y2bkAkNf//
//8fmre3oAgvNSw1BkMCLi9JIk8
lvqz+oBI1IAwUzC1lzf+//f/ArX1EdhIXFithGHKB9xmxzPz5
vHtymrLqh8R0t////79IQEd2uD4aOXIPwWRByocSaoYRzMV8eW6W/hG3/9b/ygQ9vjFFvlTFUUZ6
gsgELU7P/4G5egb///+YG5q8vz2UzMR5eREp01BjabrQbNlQbmU4/3/7/8vNRB22np6/wbgdNbpu
N
U6HxURjHcndRHhGmv////8/OjbKfGFoKyQrOUK+lsKBQiMlRiGs8j7KDCVO7okQDP////8pGVBg
E4wv+5jMfEw1woVZY7eo+/6bK0MSK0Ip/4FaXRL/t/+5vuz6nP64KU6Oyjw9yBwl/0FLqlD/3+D/
HDGupD66P2XKFKUxwqM+zM1MebrL1VTg////sba3N7pxUL4EMUMleEQ9ncxhEhARI3oq9x66////
39spGFkSURdQnplCIDZZPudOwY9hRJZcoMgeRSh5/
///b/iBUy0n8TYpdDcMR77ynlrEqXjszAT5
SVmFVVbp/7f4rVytKx0XW2VJPk68 JimajbBpFyO//f9/ew1E1U7crezgWjoBrVE9qAcYEvJC7UHs
VUn/////5T1WSz5En+flPxCcQS16YJif9odKMTdEykenLYIaatlf+P//UbhlWk7NlhX3fJhxXdZC
PC1e5cyXtqJNerf/////7uW4GOKdTPgd6dVB18p0eZOxw7CXa3miEccueSCUTXvQ////PFErUBh0
gy/KvAQVhgRRBcJGEZgrQMEsjOz///+/TUxbfcAnkQElmD/yeiHE
gTVUK769FSWMJT0sGSlMv8H/
/5fZLR6ivoS/ HxrChDWIgqrMqkvKrcKtbf//W/sGrTdoB4/RWXVR09ZaviBxSpF6ksgUuQz+/5f+
hkAWyr6uh6hzgalQcRZNFkkUGMIMtb7CJI7f4DfNCva9+n6sxQQORWHO/2/8/8y9JUnKRYB6A001
DXKTqD9QyjS5eEXXNUQD/////5c/qi8OPbJCdGC1xJM9TFZqxKyCvjWwRXo1kEU3YARa/////9eL
GEwx0mwKP0lNTkc Sl//4F/ErGEN6Rj3YR3
+5LvW2/f///4E9VywmjrnIRdgCwrpRLOUcGvQqrdG1
QZOofpmOPP+//S8zEMLBQk7Mwk/pZgD2nCy6PCrKBnsMD33fWPj/iSt6OekRcnJu1tCBDBgBzEK2
ilX/////N3gW 1V9NeHE/UVEurC6awXZNqLZwepc8RlfPfdkC8vT//7/wsz7tPIafPc++R9sy9pY8
RXcycrcYKhRpWyv/3/7/Sf9UV113t5WyArXMVXEtIVZcPE7 KUMKARcgVxP+t//+ZfKyrczR+LUCV
WlJMGEgrJ29ZqN9JyXYCXej////Ch0Z6sj1n4Gz59TGauWCFbYKwLif3OFN8GBj4Bf5fD7HEfgO0
ZRLKHEkX9cpxF63P3/j/F0WMvjJNSVNZyrnKxL49qudfOnbKD//////LBbhFYjLASloa0exARTLg
QKiT7Lqcd073W2yGScX7RP////8JR00nL97qNX1IxPOpnX8h7+KTnYUDYU7DzreCHiZWEf////8m
Uss
YIIyqPNgqnjkgGxh4V8m9PxWq7Eegvj4YCMqLgP////+gQsx9UXp/PFLKP0UBjrFfPyB4eEnI
PcSdeacOD4Nyxv////95nTJ0vUagr/J+S0c975iqURJGQ4OqUp5ZxR5JRKtqFzf+/6XhHcS3Kh
Kq
njVkZ0ahygegLJmzdf9G//8eCXkXLU8pH9ZfdXEjP2Gpu3ZynHJLYtH/C///UE30miwTzfjGAU1H
NEWVmRnsLKjKiTBAVC//////NPfsXJ7ZcTVPA0vCuwKrXx9Gq EmuXoEBqrn/dRbHSAL+xv9LjTFO
aklYrkvRUx+g67zIPLEpS9K//TeFNK3W3Ufy7H5WF08Er8PZDLS/wf/SUfVg8yxOvcTV4sp7Yi34
MkD// 7cLzhZG5bi4TZmaPVlP yghPmEXC3bw5XP////9OqlNuMnxS/78xbGEpJVDGvSyzWFjFGr2N
jTS9HIOnD/8v9f8zUFJQd7iR8ciCamMq2R8e+/CUw8ezSHnwv8D/2TUJ/5V0BDIxtjCJfZEWFzz5
zK3///+/hN5rVcB5Lj9amUp6z2YrJX62sAUeMkvkSqzgcdWd9P///whDRaKC9+jK
GmMlZWcUSj1l
p7Hwn3GZz0sp2Xv//8u/QWG+dp6+9s5GcqzWwoq+eGkYP356nD1hOv//hf8N+oW67LH/DZn/Unn/
9oEvnfTWLNgsuBs9Vf9L/P9wYL51sTcgumDkNEPKn0uXPYASXO2ANzL/v8H/BBjlZ5kWia+M3JFO
tLF6tMKpQhApXXnAeKn0/7/go/ds/Z386cK/AXpHST9C////l013+ZzjxWW+BULCuOFPSy3+nVUR
PBEferE/L/8b/P+xkiVeP3b6P2QYS9JdVOpWrrs+CjxABwS/0f// eq89mgLtRimFSGwcn50eX8N8
tzBQgZVA/4X//018fg2Gzj5RKdEeQKJ9L 70p2sS
cIatur8J4/9b//201S9vNXZPuRyuvGEmNRU2J
SUB0Rb0m0afW+v//W7c/YLpUEHM+21G9weVEvC8HX9tsBAF57d/4t66XlnDRgEwpbsmTwi83VyLO
//8v9M4pU103SfRJcWO62MXscfdpVFHAg7FjU/////9cL
PcTFwTelRdzhKnZKMKQAUAYr2Z8+xyB
 vxWeEocEhf////9CHG/WioQuhyeGNYk2iCCKpDP4VosziiSNHYwMjyyWbf/////WKI4
ikZBukzJ2
iu8o25KVlJdmlhaZHPKdd5gvXpslmsAL//+dDpyMM5o0ap9engICoTSgSRyWNd3 //79epWqkfqcX
Tqaq++8qqVaobqsGqn6tXppErP///wslE66xL8kcsPe 12yySdLRvt7Y337m42ef3Kv/SX+i 7Uro1
ygWWe79tegSB /kdPEb9L////rm5LXESQWcE5woMATzJYVUA0bqcsRDqIBRHb/7/BT2Pt2OyANOaB
WUFJSTGiioHgJySFuv/2tCkB56mPloYTJCYoNAoybrf//+0zgbAHL5JKs7I3kSgiJAwm2+cRMy5t
vaH/v/3/Nnc3frwyOw34DKnGwIixTwlsgW0hVxuRxqlVEv//f+td5Ih+pnEZgWwstLw0SAEfwIVg
giJG9r9uMf////+6K58cnQDIR44BHqo7mAHNoOJ4VgPIAFGBhje GPFZoRf5G//9MX0pNDcpcRQte
vN7CJ0lBT/mhXjm6hv+/8bcqMZLKbO2qWTdV2gwrDkopu1o8Y3f/En/jHqGq9mor8kOjB3SUfZf0
WoUW2/8G/xFJcu2PNP4pcCJcMT4E6Yis7ADMW/z/9m5Nj
hHid11TQw73vhQUyC9ZyOVh/3+JhWAM
w/InniuwP1kzXPn+8qi3If/////s41rMBk4mWXq9R49cOkkzS5UGyEoGd/ rxmvc/yCBdJP//L/1R
cq0GFElJDPZhFF1lXYZNEYJxrdDsoGRR5/3////lPkgWm4HE8bGqxC4UL5mXmBn6aTRW5YPhVsHD
25t/gf8vS1G2RhrKunUCJT6QnxERhlMLAkn/hQv9EWyt8y7B1EU0OBRtfK09oHFGvND//0QSKVFY
v9zsYJxeef3R33Hz9GX7QPEtfYMLi0uAFVS7W4MHiP///ws2EsuZy7o9sLf+AILKu8qQgKFRJ0iA
qEPgwtv////ghE3/suseGoAc5PSdvhilwj9NQTSzhgdNA5SaEl/6/1PsdyGnIVOCCj5Cb3usjoIS
CzgUKvT/qw8xhPe8XNEGergkZ/8X+lv4H45JQgeC7NEVYDc6McjiNET/////lXkHSWKL1JupaokK
gu5r7vZTBvPIH/QOqnj+5gaHTrf/////eo4/RwqegKJCEpqR2Sq+A47IF0U188qKAXQBMqCB9Bjf
2ur/gybkiSqVhCxQYT88ygzAWvsV/////3pKATV6gz0I2RHROYm+H+j5U5w22hFVGIR6yoa2kYdy
//83+Ob/7LV4xzxnU3ZRZj3KXix54nBHKH2AJvxbfKsqDE8Xi0fvUhhG8tgXFP///y+UBrZ6Fudz
RgkWCHqANVBy4vQsSkqLAoM2eC28if+/8RcfK4MfRczz6uq+Tx4LYQqsCQbH/3+rf7rh+pFDeb+5
+Gbq1/zHKlA7OXU7EDmh////rWkQ9VVGGAu1CKzrLbE0YLipwKTnol6IHAf//79
VXDVDtpQE9bj2
LMjI3ob+DXQ0kMJnQePfaKMrpFkiHLTVQKpHkIr/v/1/Nl0MNK8Ralxwtwo9rYRXtpNwh4FFCDS1
O5r/L9Dir1ute2kczC9FX4RhqPQLQvpv///Neg26mK81HHq831kjkmgfScf6Olk0rjdWf6MStwsf
+u+EbCBZrXy+F/q3+moZLO7Qnx5ZXQ6h9H5/RQ//////NJptO8NpEkrDhUeaEngoovMhegFyTSq5
NANGIHox5jT/xv//33hfX6zDV6wQFujZSjyZ5ffbudpNZ4vl9Jv//7/0nJXbyg1UyA2gz4tlDuWZ
vV72O/fQmbklWYL+/6X/
m189kWdcnfAekNgWiNDnJ2UiZZ2/mF4IX9Tg/98FkTUMFs69Q73qd3KI
Hsi9Zvrf4C+uyeB2G3Vf+SvMoQB/ZRqSL////xcEPaaPXtSdUSFzc51JArGXegJKZFXmwjxEGD7b
/0L/RqzztQvyxcMpeE0SWhHJP5Z20M3/////LoUjxUZwLYCnQxfAww58zP1H/lcfpEJjLCTKkjJs
FDG/xY3+0aGaeDQIIDVJKm24HsNZ/6DU29sdt72JP09E0lP12xv9/9+mt0JbWEmDHao/4poUoxWR
3BWJFUdC/3/rbMgBF6zbikl6Tltili/Mn0GJ//Tf6v/y0CE93ikmIQlDCDZNPw0h5AKC////dy5x
egxRn
inK8aH/ZwZJ+lQ9qWBNXRncQtMU9Rz/x v9b0sDoYfuOOYiIcvc1R0IXwUEmrWvp/xf+OLq+
HDttVEjTXV0YORcXJx5VHcMaed/6/39DuRYHeoefHzlqgtdFP 0QztTUF/D5 +DJb/L/T/ZEgX3Bfd
lRL2lK7q6lHcPL03W1RUGRdG/////5M2VHDN1uEN76rqEiYYMf0jzLZViABFF3f8NUgREG5V1f8b
/ERZbINZp6nbMbAlJ80mhdEW4Tco8
L+/7dG8/FHNF+mDxq3LQL/w///FnZ8RiwCphMlAM6tEMlp5
KYYvS0ZaaovJFP+3///iFEtZDsyPIq9xhxOBWNBlH7wEzTFN5gsnLa6IX+D//59XUg40i09CqSTd
OwfwGCmUzBEUY0rx9P4v9P9BE+z0Y035hDjyq3bbcoF5QjVgAcF9Qr/9/7dDuFdCgssJvjHo3jvt
TfdGh4ohQKPoV1/g2/8cTanQCxITIvcUjkTivWE4rIC9rt/oL/SAVT8LWbkK9L5Tw3tEqX2vL/X/
W/9zPUu+nP56o4BxqlvLX1tSwf+/1P+g6R63mNhaiFo2S7a+uGFYAEKLdclPB8n//7/EoWIdhU6+
u000+L0X0NmxLSUZgvIRwv4F//8v9ZpVQUJ6QGIEJoYBUs0ePzrqjK5HSb+d+/X/C//ZTTcVc1HJ
LEyqK
fwW6uRBS01gn3tL////L7fZqhKy5OPXD6waxE0E2FMYPAWpjPzFuE/ZpEf/Ut/6RDk2U5r5
9K1liEG10kLk
TmDV1v+t/ndtsInZOUPAVKpP0cqlqG+hTvf+Cxf4mUvLPfHUJr5nTUzJzD66t/3/
/6VSQzVoCjVWQ0q2l0r
McrZCh6ppZLk+Kv8v9EuInnKfqlxDtpJinryD+o+8Yr/C///bSp5KVk6f
9GK2Sp/PnvkQyyrXzNmvQnz//63/gJwv/rEYagxpK0WSr8pJkqFFrUKcwej6gX+D//9KsfNCJ8Nz
H0DjbcTobkx6e2LA1xkBYrX9////T0dknyPoSVmZCsqXGhmig5pXvHnGCzS3H4iDOzSZ////L3R2
AVF5LWxu8O8W+1HKgEJtmOQswG5DfoCjQq3j
////yFMyDp6ZowOhKwEGHvpc QA9V+xGh5GronjMM
kv//36pTVWRXEHGztMtVUMlVSQA8yQcu0zOz/41+68wIvIJrhLdaF0OCMmHHSSIDW v7/X+qtp+hA
gFvCUrnh8ZDE+ngcMKLenjee1/y/1A2eD2q/VQvMNRBClstF3JH4v8UbnUvJRY6KM7RGHJ4JgHWX
////30FOUfgDnsRs9/d5J0fO615R/DBqptu9GPr5UvnB/7/U//yMkS4JM0IrORjVEDQC8ZdGzrkR
SlJuIHzr//8ZY8FqFc5VR8j1AS9TzS
oWVAcaEpV6RKP61v9v8VwAEuivRElGdrSi+DagdIbiVhv/
b5Qrp+BBXCiBvMG2Fr8CuUT+L/3/gt9nTifgQ1qAwcSPzYk+1rkY2aFygIIdf //2/60ywKDE7DTe
q8C
4REtXJERXuSw8Ten/////A1ZGv+hRZELOn59Hsb58RVHtNREHOhk0PYIQF//hIxf/jd76tzRK
SxgZ6x2znu1bEQn2HZ573+IX+EQjGapOCl8Qvnlm6ZG2mV
o3+lv/gUIfGPkJ7kpPtXzH0St9m8Yu
+v///5KWzEBcUVARbkURdbbPryxZkh9FTsTj6mpxGroP/xf+Nzl6YFPOrMY8Ud+kVxFtVzQ4ylEW
wfS3+O3WHGvDdBEETtFYniEkJ9+n/1/ibywnYadLNhkZG8Bb4u0RWkBZ/YftW/z//1CJFExlnzjx
XFQ3chb5K2nLPCga
vxuDX/gFFvqNe YlbemNDK6k
bgAan////l1VhaF+QKYzlULQZe5CDDv8j1FFi
H6sbxEkykP1f+v
+WQJCrjSwy9RFgqwS9drqunK9O/o5hRVD/rf5LZXBqgOR9BifAUZ7s4jc9pQnY
+/9f+GoHzMMG8jH6nrP7RxIJa31HRQGeQorJPo3+/38svElziCe2mJoL9Rorb
LSTgxwDTt50/1/g
/0g7gKr/149HXITVbCo19w3WeoV
hyrL8Jf/////b2OXpl5B3iTlRkqlKt5qwnO7M1FflcVxjTxSp
S8rcQf//wv9sYFzrkU1u8QQGDl2p/08BJzS64wqrM7FULf9fWOiztwTq/Rg1dszMBNTC94rqRKZ/
ib/198giCcZFmxOm/zEQQYCrKQw5/////zSo0SdroZ1K6ySmse5NYdV+bw5drPe01KS6UWEQHcuU
//9v/7haCjfADqc0EwWoRXFW1O6astENrjyxc7Y8ra3E/1/ihofC4RrgUJq8t8dI+qAGBGhG///f
ugWtnqip+fTwJh5IQ619cKp8kbcn56ytql/i/6UxsUJzDim4X6ruONnNjTUdai5S X+D/NzxzgaTJ
BKXD
Mf/VWjqcv8v/v8D/UD1sl52XWU0hnEdeq1ft+CBEGWFJHKWh////WC9u eapnPDEYYzSk7hU3
WOBUMCmNQUFrYS//v9R/SL/ap2nNUUClICUHKC0kWEG/HxIkNf///0Z
GLigu8rft/E4WMyhGWwIz
ZEoupB73AGZ/qb/UBhW4KgIuNEwtz5y3gPczVwTw//8vViQsMRFoKUwJ8H6aL3AxB3ckSNIv9S/t
LiJjv6efmt9JJDIyVWCXuP3/Mi
QJIC8lDn/6hD5FJC8iIP4uvwmA/1ZArSU0LTkPICyW/7/AfyUl
M4KPQ6cEiQDqLZcnnBUpRyU9oz/W////G4i/LLIxOA0uXQ0oIzMgMzhzxG6cIdgAuCBOLvT//zMS
SS9MwfYmEw4jKzBVBDnDkV+8BSTrS/wFGi55KFcL2FwCFyAtxN/g/
39KhvckbQBODjFbCiQ4T+aY
Ha5Odec1+Ld/iVFJsTYyMTMxJ7o9bYrzdLFP/+5339BRUnXzC3hFVkhAgwlTTEMySbe/SP8Z9dI4
OC4NQEMiT7PlGGVDUf8v/QbHQSeAj4/NWkVyRhl2GrcRTXul/v
//aVFGEc9kWkdCLW4YVmHtV0El
/V/xTkodvHCr/8U5BCdj0b83IKpFYnoh byX9/y8tAyD2pSpNCgFXgUHBILpFzXFCj8yJA3lGFGG+
Iahj/7dtEW3MBYG+vhbCjL6
qUdEAy3vj/41HMkYGQJo0Rsp
fwq+9TzOs+UEr3Q7YEVCBDDKuKg6l
LsEHMqVwiHMzTOEd2Le6ST3CjjU1yIQviMJC9oQMNGEAHEwL/Ld/woBDwLxBspXCkEDMVW7CvPlO
SvFG7stDA5Sktqgii/7S/w30Q8KDRchGwoZFwgg2sECOqA2X2LrvFh/Itvg1qcspbc1ANsHCb/W2
wX5AVspGyx5FVKk2+P2/DoFRx4VoucGqqUCxO0TIaZi33xrl/0wjSIE1BMonzMV133aFcRj rshEf
Sb7XJQvUy//
/1k5JHZ3IuDhGTvZGBhEG+BYJs+8UKTfbvzM3RshCwoJFqpkQLSCoAkQF5qr5vgC5
kFujAxMlMdghaYakNec911xgm/DFMVf9ix+DDDZIm6kHt0mq9CMAdUEKBBMPnI9R/xf2BQ0NQQAF
FwARCANBFBK5yQdrGgoWEnMeMW2D1WpN7k4ADQZcry1o8IcigaxgLLbVD0goEAxB52q1tsACzr 87
DahK+C8wKC81JwDzFEVYRUSBgMAajRYICOQBADAKACRRBb9pJiCoHAFGaW5kQ0QBoPJsb3NlG0TM
3hXUU2l6ZRfvf/tMTBFBDk1hcFZpZXdPZg9ub2FvDlVubR
AuA3JzIm53w
y9LRW52EG9udquKjl1W
ImFiGDmIuB1EDHZl2u6RipgOfVRpbUYq4qy1VxoLUUOi27r3sQt7cF5nLUzDbl8gfkxpYnJOeUEh
9kxQtFBjKEvGRDm2/WJhbEFsBmNYTGG3PexU0ypNdQN4KBubtVtsF3JjD36wdBAH++daVh1GQ29w
ecVEZdqHN2sGgxclSGHnCyDdwp1FU2PZdjv5bGVuVN9wUC9oDWELCsNXK1hEHbO3RUTxb8qRtlDE
yXB5TZFsW3ZngiJNE0V4aUJB8WLdaHFkH/G9WcAm/y+ZjfeGDbsFZXChNkI34sLDsDNuWpxlSXsR
caLL+xdsIPxechhUb5MVhpmiuEypDrwlexNiEQ0IY2tDhW9PRHIB42RlQ2in3F1E
bDRNb0J5dCIS
FCcinJ65r7UtCmOYNipSoLK9J+FUR1BvaSgZSHvBZu1wRiZcvRMZhEOYMOg6bkVMuKwwaQlpnBak
IiYEOk0YM9c4Q3UYfRk6JDlhb2ulRGUslYQgxZVotcce45vAZxtL ZXkMT3Dr3KNrMQtFag6AVlu9
ABp2dWUPi8zcpYQ RKXVtMAxPs80mtz9kwvhtoKJh
bodzZTCKNxdrjHIQ9gdpc2S99lwJehnyzhAU
oniuW1AIIjk3oSszKmEqIQJKD2azVM0gAaFVXA8WsN9OQnVmZkEPC0xvd/YZtiN3dklylCN3CoWb
cVr0zAxNgsIAqG1Ztk3Xt9hiQP8EAhMLZVmWZTQXEhADq2VZlg8JFHM5v/+EvDxQRUwBA+AADwEL
AQeue9JsE3IqgDIEEAOCbGexkDULAjMEmVvSzQcM0B40e9kb2BAHBgDAeQhAgFtkeAIYBUa4wnYr
ZHgBHi4 v2JOgmKRwkOs2f7uwBCMgC 2AuZGF0YZgj7kK6wfsiJ3ZAvc1gG4Uu5QkAw8AGfL8pezQn
Q
Buwew2UAABKQTwJAAAA/wAAAAAAYL4AkFAAjb4AgP//V4PN/+sQkJCQkJCQigZGiAdHAdt1B4se
g+78Edty7bgBAAAAAdt1B4seg+78EdsRwAHbc+91CYseg+78Edtz5DHJg+gDcg3B4AiKBkaD8P90
dInFAdt1B4seg+78EdsRyQHbdQeLHoPu/BHbEcl1IEEB23UHix6D7vwR2xHJAdtz73UJix6D7vwR
23Pkg8ECgf0A8///g9EBjRQvg/38dg+KAkKIB0dJdffpY////5CLAoPCBIkHg8cEg+kEd/EBz+lM
////Xon3uQEBAACKB0cs6Dw
Bd/eAPwF18osHil8EZsHoCMHAEIbEKfiA6+gB8IkHg
8cFidji2Y2+
AMAAAIsHCcB0RYtfBI2EMBTlAAAB81CDxwj/lozlAACVigdHCMB03In5eQcPtwdHUEe5V0jyrlX/
lpDlAAAJwHQHiQODwwTr2P+WlOUAAGHpI0T//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA
AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA
A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA AAAAAAAAA
AAAAAAACAAMAAAAgAACADg
AAAJAAAIAAAAAAAAAAAAAAAAAAAAIAAQAAAEAAAIACAAAAaAAAgAAA
AAAAAAAAAAAAAAAAAQAJBAAAWAAAANjwAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEACQQA
AIAAAADE8wAAKAEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAQAAAN AAAICoAACAAAAAAAAAAAAAAAAA
AAABAAkEAADAAAAA8PQAACIAAAAAAAAAAAAAAAEAMADgwAAAKAAAACAAAABAAAAAAQAEAAAAAACA
AgAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA
IAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICAAAAA
/wAA/wAAAP// AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAIiIiIiIiIiIiIiIiIiAAACP////////
////////gAAAh///////////////94AAAI9//////////////3+AAACP9/////////
////f/gAAA
j/9///////////9//4AAAI//9//////////3//+AAACP//9/////////f///gAAAj///9//
/////
9////4AAAI///3d3d3d3d3d///+AAACP//d/f39/f39/d///gAAAj/939/f39/f39/d//4AAAI/3
f39/f39/f39/d/+AAACH d/f39/f3
9/f39/d3gAAAj39/f39/f39/f39/f4AAAI/////////
/////
//8AAAAI///////////////wAAAAAI//////////////AAAAAAAI////////////8AAAAAAAAI//
/////////wAAAAAAAAAI//////////AAAAAAAAAAAI//// ////8AAAAAAAAAAAAI///////wAAAA
AAAAAAAAAI//////AAAA
AAAAAAAAAAAIiIiIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////8AAAAPAAAADwAAA A8AAAAPAAAAD
wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAAH4AAAD/AAAB/4
AAA//AAAf/4AAP//AAH//4AD ///AB///4A//////////////////yMMAACgAAAAQAAAAIAAAAAEA
BAAAAAAAwAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDA
AICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA
AI///////wAAiP/////4AA CPj////48AAI/4///4/wAAj4+IiI+PAACI9/f39/gAAI9/f39/fwAA
CPf39/fwAAAAj39/fwAAAAAI9/fwAAAAAACIiIAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAMAB
AADAAQAAwAEAAMABAADAAQAAwAEAAMABAADAAQAA4AMAAPAHAAD4DwAA/B8AAP//AAD//wAA8MQA
AAAAAQACACAgEAABAAQA6AIAAAEAEBAQAAEABAAoAQAAAgAAAAAAAAAAAAAAAAAAALz1AACM9QAA
AAAAAAAAAAAAAAAAyfUAAJz1AAAAAAAAAAAAAAAAAADW9QA ApPUAAAAAAAAAAAAAAAAAAOH1AACs
9QAAAAAAAAAAAAAAAAAA7PUAALT1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb1AAAE9gAAFPYAAAAA
AAAi9gAAAAAAADD2AAAAAAAAOPYAAAAAAAA5AACAAAAAAEtFUk5FTDMyLkRMTABBRFZBUEkzMi5k
bGwATV
NWQ1JULmRsbABVU0VSMzIuZGxsAFdTMl8zMi5kbGwAAExvYWRMaWJyYXJ5QQAAR2V0UHJv
Y0FkZHJlc3MAAEV4aXRQcm9jZXNzAAAAU
mVnQ2xvc2VLZXkAAABtZW1zZXQAAHdzcHJpbnRmQQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/r5OggPhtlr/cbMi/
X0iFQIpQqECDDNu/163ov2dha+2Az2JtfzCc0 tcxVCx0eRMCRtqOAsh6ngKuNtIsdHk4x3r0NChG
Kigokr8rN0mXWig56tUyhQ6zBo5EwQaOQIvC8XBMM
pX9sfKeq1UtGbRSMsiCw5m9zQcyoo6cMo
fD
g064j6q+i
2Q+ce9x0qFVfgePTDmWoXZ8jr6Be/Ghd3lxnswIiXELWGdxBqZlXzi+oXEEOxJx8PZV
bv/yGW64HO5kWM2GyjytWIu+53yLnTQni5d0JFlVoSOUJ5LelGLq3QhjFnXJl6dk/Zzs5MmXpa/n
udqppgVctOfvKbDnhSTTlLpy6WSDjpN7Y4Y/skfRplVOxB9kxZFUVU7dCHtw3zQ5OVOsyQCid284
XcX4zfwn1tGQ6MkK127WBy4t1gVlW2jdTCKHO3arhxtZu6kp+rypKfzoOzK8rJjuPK2HtNcS+5qu
RDpuGh86bh2pC6CGcDpuG1EUX1S1FNkslRTZICaeQLrycYae03EGDjdueUuCbjdW2HGZTDlftAx2
bnFbyvxi4FUMFQw9E15ONBOkxWwTucq/DFGDxhOG3QmYTXOczKRKCiNhvvA8nm5+I+OAgTzADscj
Ym9zDVD5wg1Q+eL7AyYMFD/g6xTJCEA6
95FaOveRGxTnGxI695FMCzCn49/qesgvnMlScXY7OTAg
VFMwqegpL9OO5h4ezhgwLF/kb574FZ/NBvCfrxT6gESadZ+nDPKf+rvqgLAB/5+tfvV8V9oGvaN1
kL2jdZKTmGSvk7HgeUMAJJ2TjRQYjIHa7mfnsLuIIaIMphMGQaYTBOM0CIdHl7RJUIg+ao+XrHWh
boMGCJ6y7Yqe/fGYnrLyAIFG9VmeOoX5gWvHx Z6y78BSCejCp/ATW5P9X8y9xlAzvdOJIKIxGmeT
/V95NiZ3nyhPrWXYdY6q2DhBHcepl8fpux/A2I53mUxgIqnYfkdbniNzKXFgH61f18Kabji+0HH5
Kbxu21S7cWSi9G5NP7 Uhnb1zRbLPqVjKccPR6wl1zlu7xs55gkTgaQjjT1juCfxd2HATOSPQExoM
IRNzKf4TtZM8PalrNz2paHc9qW8AnrQtJXGI8whxcgjQbtBun19AnC5xbuDwbo3MuXFvB1m0a76T
0ETzlVtXeHeMkj0URCRS2VsscLFbrEdOW6VLP09NyZlwGjaYv3YzbqA4t1uOuX7SoIdnBqAkvVq/
Mitgb2JveJ+xrYSArJN5 nxRCyoAjevuApGGLnyE7vJ9YReBowFm5Oy2nj4cMZguHJGdqqTTqVYcO
pFCHKJ1NqTTrBXGAiaGeZr9qnkV7FJ7HXLCBs/0cnkfTQJ5FcAqeSiffy5O8eiRcAkEkVkc
GJEnd
nDuqTj47S24qCmcTMgpnCHzSQav9Pangbz00SC2BrpwGPQZhnz2OHls9j19k+cvcA85FVMoPseRp
Pn9B2C F5kZQhBt 64D7Hl1SF5+lohn2Ex IWEActFY87LOq645IVSlMt5m9l/eXoNM3oc37SFWB0Af
FGlG3uDcxvBTvdHw0mTxIEOk9h9mFbwfeAKW4KYhLVBLAQI
UAAoAAAAAANuAKjbakagCoHAAAKBw
AAALAAAAAAAAAAAAIAAAAAAAAABtZXNzYWdlLnBpZlBLBQYAAAAAAQABADkAAADJcAAAAAA=

------=_NextPart_000_0009_D4934F0D.88D77846--


-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Sat Jan 13 05:02:32 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H5a68-00033J-Jh; Sat, 13 Jan 2007 05:02:28 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Sat, 13 Jan 2007 05:01:47 +0100 (CET)
Received: from bay0-omc3-s27.bay0.hotmail.com ([65.54.246.227])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H5a58-00031o-R1
	for linux-crypto@nl.linux.org; Sat, 13 Jan 2007 05:01:26 +0100
Received: from hotmail.com ([64.4.51.35]) by bay0-omc3-s27.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);
	 Fri, 12 Jan 2007 19:47:20 -0800
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
	 Fri, 12 Jan 2007 19:47:19 -0800
Message-ID: <BAY107-F25D48EBF61E482AB0BC55D89B70@phx.gbl>
Received: from 64.4.51.220 by by107fd.bay107.hotmail.msn.com with HTTP;
	Sat, 13 Jan 2007 03:47:16 GMT
X-Originating-IP: [66.131.182.144]
X-Originating-Email: [george_koss@hotmail.com]
X-Sender: george_koss@hotmail.com
In-Reply-To: <45A3BA10.E32399F0@users.sourceforge.net>
From: "George Koss" <george_koss@hotmail.com>
To: jariruusu@users.sourceforge.net
Cc: linux-crypto@nl.linux.org
Bcc: 
Subject: Re: Seeking advice on Loop-AES performance with RAID5/RAID6
Date: Fri, 12 Jan 2007 19:47:16 -0800
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
X-OriginalArrivalTime: 13 Jan 2007 03:47:19.0898 (UTC) FILETIME=[86A843A0:01C736C5]
Received-SPF: 
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-Spam-Level: 
X-Spam-Status: No, score=0.5 required=5.0 tests=BAYES_50,
	MSGID_FROM_MTA_HEADER,RCVD_IN_NJABL_PROXY autolearn=no version=3.0.1
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: george_koss@hotmail.com
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

Thanks to Marc Bevand for pointing out that my basic RAID5 performance was 
deficient to start with.   I found 2 further problems on investigation.   It 
seems that 3 of the 6 drives had factory jumpers that limited them to SATA1 
speed of 1.5Gbps.  This was unexpected since I bought 6 identical boxes off 
the shelf.  Half the boxes had 7200.9 drives, and the other had 7200.10 
drives, but all were marked as containing 7200.9 drives.  It looks like 
Seagate is switching production over to 7200.10, and neglecting to change 
the box stickers.

The other problem, which just killed the RAID5 performance, was that I was 
creating the MD device with partitions, in an attempt to be fancy and trying 
encryption on the root partition.   These partitions were NOT aligned with 
the RAID stripe boundaries, and performance become very poor because of the 
partition alignments.  So I went back to a single monolithic raid device.

I then did a lot of testing trying to see what I could get.   Raw RAID5 
performance was much better, with 129 Mbyte/sec writing, and 229 Mbyte/s 
reading (no encryption).   But alas, there was still a big hit when adding 
loop-aes between the filesystem and the raid device.

These are my results, in Mbytes/sec:

# Write   Read      File System, encryption, Chunksize, Disk config
89864,  93406,     reiserfs_aes256_cs64k_raid0,
100195, 104740,    xfs_su16_sw96_aes256_cs64k_raid0,

28142,  85033,     xfs_su1_sw6_aes256_cs4k_raid10,
31375,  65902,     reiserfs_aes256_cs4k_raid10,
73083,  71314,     reiserfs_aes256_cs64k_raid10,
99723,  94169,     xfs_aes256_cs64k_raid10,
99472,  97149,     xfs_su16_sw96_aes256_cs64k_raid10,

35530,  67729,     reiserfs_aes256_cs4k_raid5,
33692,  87475,     xfs_su0_sw0_aes256_cs4k_raid5,
34126,  89407,     xfs_su1_sw5_aes256_cs4k_raid5,
34047,  73184,     reiserfs_aes256_cs16k_raid5,
29406,  101852,    xfs_su4_sw_20_aes256_cs16k_raid5,
33283,  69343,     reiserfs_aes256_cs32k_raid5,
29771,  98699,     xfs_su8_sw40_aes256_cs32k_raid5,
26330,  56534,     reiserfs_aes256_cs256k_raid5,
24633,  60235,     xfs_su64_sw320_aes256_cs256k_raid5,

# for xfs file systems, su=Stripe Unit, sw=Stripe Width, in 4K blocks

I found that specifying the proper stripe unit and stripe width to XFS 
resulted in a performance improvement, but it's pretty clear that loop-aes 
is hiding the disk geometry from the file system, and this is part of the 
problem of the performance hit.

Raid10 had decent write/read speed, at the cost of 800 Gbytes of space lost. 
  But I'm cheap, so I'll stick with Raid5.

As an experiment, I tried building a raid5 device on top of 6 loop devices 
running loop-aes.   This was horrible beyond belief, with a raid rebuild 
rate of only 2 Mbytes/second.   I stopped it after 5 minutes of watching it 
crawl along.   Bad Idea.

>
>Part of the reason why loop-AES on top of linux software RAID5 performs
>badly is because loop-AES bangs the backing device with page size requests.
>
>Linux software RAID5 wants bigger requests to be able to provide better
>MBytes/s values. Partial stripe size writes are performance killers for
>linux software RAID5 which has to do 2 reads and 2 writes for each write
>request. I haven't looked at RAID6 parity algorithm, but I assume that it
>has to read all unmodified data blocks in stripe and 3 writes for each 
>write
>request.
>
>--
>Jari Ruusu  1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9  DB 1D EB E3 24 0E A9 DD

I think you have put your finger on the main problem, and I'm wondering if 
higher performance can be achieved by adding the encryption functionality 
into the top interface of the raid device, so that it can perform 
encrypt/decrypt on chunksize blocks, rather than 4k pages.    Alternatively, 
I wonder if it's possible to hack or adjust loop-aes so that it presents a 
larger blocksize, like 16K or 32K, rather than the standard 4K page.  
Matching the chunksize of the raid device ought to provide *some* 
improvement.  I noted that the highest write performance came from a 4K raid 
chunksize.

In any event, I've chosen to go with a 16K chunksize on the raid5 array, and 
just bite my tongue and endure the lower write performance, since read 
performance is more important than writing for me.

Thank you everyone!

George Koss

_________________________________________________________________
Fixing up the home? Live Search can help 
http://imagine-windowslive.com/search/kits/default.aspx?kit=improve&locale=en-US&source=hmemailtaglinenov06&FORM=WLMTAG


-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Sat Jan 13 06:22:14 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H5bLG-0007Aq-7s; Sat, 13 Jan 2007 06:22:10 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Sat, 13 Jan 2007 06:21:41 +0100 (CET)
Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H5bKc-0007AZ-WD
	for linux-crypto@nl.linux.org; Sat, 13 Jan 2007 06:21:31 +0100
Received: from list by ciao.gmane.org with local (Exim 4.43)
	id 1H5bKU-0003rI-1P
	for linux-crypto@nl.linux.org; Sat, 13 Jan 2007 06:21:22 +0100
Received: from cpe-76-173-67-9.socal.res.rr.com ([76.173.67.9])
        by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <linux-crypto@nl.linux.org>; Sat, 13 Jan 2007 06:21:22 +0100
Received: from m.bevand by cpe-76-173-67-9.socal.res.rr.com with local (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <linux-crypto@nl.linux.org>; Sat, 13 Jan 2007 06:21:22 +0100
X-Injected-Via-Gmane: http://gmane.org/
To: linux-crypto@nl.linux.org
From:  Marc Bevand <m.bevand@gmail.com>
Subject:  Re: Seeking advice on Loop-AES performance with RAID5/RAID6
Date: Sat, 13 Jan 2007 05:21:08 +0000 (UTC)
Lines: 24
Message-ID:  <loom.20070113T055056-532@post.gmane.org>
References:  <45A3BA10.E32399F0@users.sourceforge.net> <BAY107-F25D48EBF61E482AB0BC55D89B70@phx.gbl>
Mime-Version:  1.0
Content-Type:  text/plain; charset=us-ascii
Content-Transfer-Encoding:  7bit
X-Complaints-To: usenet@sea.gmane.org
X-Gmane-NNTP-Posting-Host: main.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 76.173.67.9 (Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.4 (like Gecko))
Received-SPF: 
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: m.bevand@gmail.com
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

George Koss <george_koss <at> hotmail.com> writes:
> [...]
> I think you have put your finger on the main problem, and I'm wondering if 
> higher performance can be achieved by adding the encryption functionality 
> into the top interface of the raid device, so that it can perform 
> encrypt/decrypt on chunksize blocks, rather than 4k pages.

You are right. Now push this idea a little bit further and you will
end up with the conclusion that in order to achieve the highest
performance possible, encryption has to be integrated not only with
the RAID layer, but also with the filesystem.

As a side note, this is precisely the direction where ZFS is headed:
features such as RAID and volume management are already integrated
into this filesystem (crypto is on its way, see zfs-crypto). Such
a fs can take advantage of the knowledge of the RAID layout, for
example it always performs full-strip writes in the case of RAID 5
(Sun calls it RAID-Z), etc. AFAIK there are 1 or 2 efforts to port
ZFS to Linux.

Oh, thanks for the benchmark numbers you posted BTW. I find them
interesting.

-marc


-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Tue Jan 16 09:49:03 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H6k06-0007ql-0h; Tue, 16 Jan 2007 09:49:02 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Tue, 16 Jan 2007 09:48:15 +0100 (CET)
Received: from hu-out-0506.google.com ([72.14.214.239])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H6jz7-0007pM-Ea
	for linux-crypto@nl.linux.org; Tue, 16 Jan 2007 09:48:01 +0100
Received: by hu-out-0506.google.com with SMTP id 24so906393hud
        for <linux-crypto@nl.linux.org>; Tue, 16 Jan 2007 00:48:00 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=beta;
        h=received:message-id:date:from:subject:mime-version:content-type:content-transfer-encoding:content-disposition;
        b=Sus4PzdEz9jF1lK2R/y1GeesM9rly0i+QkWgF1/A3qgn79rCd398YClgzYMv0n/guvTxGrQQH/0YL7fBxRR5h51FnkX31uYuerUEcRSO5kI7MwarJBE7F6y2C+/u+5gRO54spJBYD8hy5EJuGU18QbKkazrFcPyrtkqB1tp3DxM=
Received: by 10.78.157.8 with SMTP id f8mr3292273hue.1168936889077;
        Tue, 16 Jan 2007 00:41:29 -0800 (PST)
Received: by 10.78.41.13 with HTTP; Tue, 16 Jan 2007 00:41:28 -0800 (PST)
Message-ID: <adb3c04f0701160041i1141ed3br13a61846f44af26f@mail.gmail.com>
Date: Tue, 16 Jan 2007 00:41:29 -0800
From: "Russel McMyers http://www.tda.gov.uk Training And Development Agency For Schools" <r.mc.myers@gmail.com>
Subject: Inquiry For Accommodation!
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Bcc:
Received-SPF: 
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-Spam-Level: 
X-Spam-Status: No, score=-3.1 required=5.0 tests=ALL_TRUSTED,BAYES_50,
	MISSING_HEADERS,RCVD_BY_IP autolearn=no version=3.0.1
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: r.mc.myers@gmail.com
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: <linux-crypto.nl.linux.org>
X-List-ID: <linux-crypto.nl.linux.org>
List-subscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=subscribe>
List-owner: <mailto:ecartis-owner@nl.linux.org>
List-post: <mailto:linux-crypto@nl.linux.org>
List-archive: <http://mail.nl.linux.org/linux-crypto/>
X-list: linux-crypto

*

     [image:
training and development agency for schools] <http://www.tda.gov.uk/>*
*Hello, *

*I am Russel McMyers of Training And Devlopment Agency For Schools.
I need accomodation for our delegates arriving your area on the 5th
of August 2007 to organise a five day seminar
We need spaces for 10 adults, if possible 1person/room or otherwise for a
week.
Please give us the total cost for all at once if the dates mentioned above
are free, we will embark on securing the accomodations immediately i hear
from you.*
*Thanks anticipation for your timely response. *
*Have a nice day. *
**
*Kind Regards,
*
**
*Russel McMyers.*
The Training and Development Agency for Schools
151 Buckingham Palace Road
London
SW1W 9SZ
*Tel:*
+(44) 70111 50649,
70111 41040 or
70111 41036.
*Reply to: *
r_mc_myers@yahoo.co.uk
r_mc_myers@uk2.net

-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/



From linux-crypto-bounce@nl.linux.org Thu Jan 18 11:12:29 2007
Received: from localhost ([127.0.0.1] helo=humbolt)
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H7UFu-0004im-TU; Thu, 18 Jan 2007 11:12:26 +0100
Received: with ECARTIS (v1.0.0; list linux-crypto); Thu, 18 Jan 2007 11:11:47 +0100 (CET)
Received: from obarra.aragon.es ([195.55.130.225])
	by humbolt.nl.linux.org with esmtp (Exim 4.22)
	id 1H7UF4-0004a8-NJ
	for linux-crypto@nl.linux.org; Thu, 18 Jan 2007 11:11:34 +0100
Received: from conversion-daemon.obarra.aragon.es by obarra.aragon.es
 (Sun Java System Messaging Server 6.1 HotFix 0.11 (built Jan 28 2005))
 id <0JC200L013J25500@obarra.aragon.es>
 (original mail from scastillo@aragon.es) for linux-crypto@nl.linux.org; Thu,
 18 Jan 2007 10:10:29 +0100 (CET)
Received: from [1.7.1.1] by obarra.aragon.es
 (Sun Java System Messaging Server 6.1 HotFix 0.11 (built Jan 28 2005))
 with ESMTPA id <0JC2006UN458OFB0@obarra.aragon.es> for
 linux-crypto@nl.linux.org; Thu, 18 Jan 2007 10:10:26 +0100 (CET)
Date: Thu, 18 Jan 2007 10:10:20 +0100
From: Santiago Castillo <scastillo@aragon.es>
Subject: raid5 loop-aes
To: linux-crypto@nl.linux.org
Message-id: <45AF397C.8040002@aragon.es>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: QUOTED-PRINTABLE
X-Accept-Language: es-es, es
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.7.12) Gecko/20060607
 Debian/1.7.12-1.2
Received-SPF: 
X-Spam-Status: No, score=0.9 required=5.0 tests=BAYES_50,RCVD_ILLEGAL_IP 
	autolearn=no version=3.0.1
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on 
	humbolt.nl.linux.org
X-ecartis-version: Ecartis v1.0.0
Sender: linux-crypto-bounce@nl.linux.org
Errors-to: linux-crypto-bounce@nl.linux.org
X-original-sender: scastillo@aragon.es
Precedence: bulk
List-help: <mailto:ecartis@nl.linux.org?Subject=help>
List-unsubscribe: <mailto:linux-crypto-request@nl.linux.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
Li