[Bioclusters] altivec-HMMER bechmark results from Erik Lindahl - 6x faster than dual Athlon

chris dagdigian bioclusters@bioinformatics.org
Wed, 11 Dec 2002 10:55:42 -0500


This is a multi-part message in MIME format.
--------------010807070606010507020307
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit


Some nice data from Erik Lindahl at Stanford regarding the new apple 
altivec enhancements that were added to the hmmer codebase:

> Hmmsearch on the dual-1.25 GHz G4 is 6.2 times faster than on a dual Athlon!
> 
> Hmmpfam is less impressive, mainly because it spends less time in the
> core routines, but as far as I know hmmsearch is the most important program anyway.
> 
> Sean Eddy has also confirmed that he will be including this altivec
> optimization in the next official version of HMMer, whenever that is released. In the
> meantime I've put my optimized version at
> 
> http://csb.stanford.edu/lindahl/altivec/
> 
> Since it is licensed under the GPL anybody can use and distribute it.

Benchmark data from Erik is enclosed in PDF form.

BioTeam has built a double-clickable Mac OS X package installer for this 
code but I've been a slacker and have yet to put it on our website. 
Interested parties should email me directly if they want the package 
version of these binaries.

-Chris


-- 
Chris Dagdigian, <dag@sonsorol.org>
Independent life science IT & informatics consulting
Office: 617-666-6454, Mobile: 617-877-5498, Fax: 425-699-0193
PGP KeyID: 83D4310E Yahoo IM: craffi Web: http://bioteam.net

--------------010807070606010507020307
Content-Type: application/pdf;
 name="hmmpfam.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="hmmpfam.pdf"

JVBERi0xLjIgDSXi48/TDQogDTYgMCBvYmoNPDwNL0xlbmd0aCA3IDAgUg0vRmlsdGVyIC9G
bGF0ZURlY29kZSANPj4Nc3RyZWFtDQpIiaVX224bRwz9Av0DH5XU2s5w7o8t0tooECBtBfQl
L2t7HTvQyo4kx0C/vuTM7M6ssm2lGIZ14R6ShxxeRqJxBgOIydvuEyykwAY1aG8bZaGHhZOO
P2XBZhRIDE38njWOvxeFe1jcvV18GZ+gEI33YKVpJJJvEu06uIe/YAsLwbIXwsJv/PKZJMB/
f1xW+rIixt/IyZ+w+B1qJw4baV/hhPTR136SYMaV0qoxr3DF+rZ2lQUzrrTUjdff74r1w+RY
k2DOFZ0fvsbVv1dQcRWV6JXy5/nNWavhpmcHxOplsN0YwRTKa+Un1V2mqYwlG0z0BB9SBj7R
ZEAjJxZNNFMHaoH/ZWyOKasSMZpiSJEHBNQhG7p++/9EAqV6wkNq2wh9Lg/kjExoSC2ynRNo
oFPMeeTBYQTf6PN5uFAMKYZjwGznBB6Kchem+UAtWXQmD0WnGaYJQWWyoROIaLTxMOqDCeZc
FlphsZKPxYcTKRihuKAnFKTgajuThRGhGMoshM6GTiHiBc+kujgkxhF7LhEaA9bXxSGlzXZO
4GGNa/S0aZ1nNmfSsFYVOykfDrOdROOsGXe8BGn8hFDW5H8h8jqrltvk6biHpoupxpQFMt0o
NaZM/ukqmGCOw5mM7EkA/bf3gBpiOZPzQUseDrbGDIKCQRrjwleYUVAwituqxoyCgtFU9DVk
+F4hvE2lPEIGQcEYKhVbRzUKCsbSoNU1ZhQUzJiwATOTwZ/XC8TYaUbEroD1u1x3XMw//kpd
4blwYX1HFSoE8YD1DdW7kFbSxxdYXvX9013bw1O3u3vc9e32poMVbB7fwPoz69gQos6Kd4PT
Seml28HDHq67w6HbReRKO94dK9qsRJd4QPQuufrYO6vLMHgXCpMhpbiV9w+3zx0cuv0B9t2X
5445fN038IGJ3baH9rrddxdw9f59t1tRjXy6gHazgf2h3d62u1t4andt3xGVfeLiY8ZXijI/
kpEQuLhyJhBt4pJoiKRnOIdONjrqLM2ROIZCcinSA1FhpalkAxBngJiBtKM4X8rFk+dHnCFh
xmSbkHP0QV2AvLz6O6pZGy9Yo4LGUcFiSArvntsNTLR8XOyjlvCmjv6nw/3mcbuSQYgfIpx6
jPqnghcnxtZOsmZUksiVtqIjd3ak533tqHgwKnZfwZYaiyoEvtQUQIMGKIgL2KaCpCVCpTN1
IvQkmM3h4Wt3k5KFHPYU7EIVi61iGfylM1fca0d+ZKUqsmomB7VbSh+RLLqrSFKWELWbCTH5
FUdJjH0jimPl/CTO1BTJrY/z4TuijTe5I6d1tHo49BhtHSrdLtQ3qmpo9DxhRoa/rHlk8ape
8c6mUNDEpQzrPk0rMzSodGocVZjTtX7oO/i43Hc3j9vb/cc3czbplyn3E19urS92kbfXMIfE
pPr5HjtnSRM1xytVN3Fa9Vk39cJS0gLRc3rKxe2jUA6RLaU1jZrFinjeyoU0BAiLdM8Kc1ik
2ic6yg1mq1CWdPOeDUJqw5YVXWS9nwmCgrNzetbHfS95mH3rzdDsmtUSRA6Qf3amYLwsOfoH
ys5PhQ1lbmRzdHJlYW0NZW5kb2JqDTcgMCBvYmoNMTE2OQ1lbmRvYmoNNCAwIG9iag08PA0v
VHlwZSAvUGFnZQ0vUGFyZW50IDUgMCBSDS9SZXNvdXJjZXMgPDwNL0ZvbnQgPDwNL0YwIDgg
MCBSIA0vRjEgMTAgMCBSIA0+Pg0vUHJvY1NldCAyIDAgUg0+Pg0vQ29udGVudHMgNiAwIFIN
Pj4NZW5kb2JqDTggMCBvYmoNPDwNL1R5cGUgL0ZvbnQNL1N1YnR5cGUgL1RydWVUeXBlDS9O
YW1lIC9GMA0vQmFzZUZvbnQgL0FyaWFsLEJvbGQNL0ZpcnN0Q2hhciAzMg0vTGFzdENoYXIg
MjU1DS9XaWR0aHMgWyAyNzggMzMzIDQ3NCA1NTYgNTU2IDg4OSA3MjIgMjM4IDMzMyAzMzMg
Mzg5IDU4NCAyNzggMzMzIDI3OCAyNzggDTU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1
NTYgNTU2IDU1NiAzMzMgMzMzIDU4NCA1ODQgNTg0IDYxMSANOTc1IDcyMiA3MjIgNzIyIDcy
MiA2NjcgNjExIDc3OCA3MjIgMjc4IDU1NiA3MjIgNjExIDgzMyA3MjIgNzc4IA02NjcgNzc4
IDcyMiA2NjcgNjExIDcyMiA2NjcgOTQ0IDY2NyA2NjcgNjExIDMzMyAyNzggMzMzIDU4NCA1
NTYgDTMzMyA1NTYgNjExIDU1NiA2MTEgNTU2IDMzMyA2MTEgNjExIDI3OCAyNzggNTU2IDI3
OCA4ODkgNjExIDYxMSANNjExIDYxMSAzODkgNTU2IDMzMyA2MTEgNTU2IDc3OCA1NTYgNTU2
IDUwMCAzODkgMjgwIDM4OSA1ODQgNzUwIA01NTYgNzUwIDI3OCA1NTYgNTAwIDEwMDAgNTU2
IDU1NiAzMzMgMTAwMCA2NjcgMzMzIDEwMDAgNzUwIDYxMSA3NTAgDTc1MCAyNzggMjc4IDUw
MCA1MDAgMzUwIDU1NiAxMDAwIDMzMyAxMDAwIDU1NiAzMzMgOTQ0IDc1MCA1MDAgNjY3IA0y
NzggMzMzIDU1NiA1NTYgNTU2IDU1NiAyODAgNTU2IDMzMyA3MzcgMzcwIDU1NiA1ODQgMzMz
IDczNyA1NTIgDTQwMCA1NDkgMzMzIDMzMyAzMzMgNTc2IDU1NiAyNzggMzMzIDMzMyAzNjUg
NTU2IDgzNCA4MzQgODM0IDYxMSANNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgMTAwMCA3MjIg
NjY3IDY2NyA2NjcgNjY3IDI3OCAyNzggMjc4IDI3OCANNzIyIDcyMiA3NzggNzc4IDc3OCA3
NzggNzc4IDU4NCA3NzggNzIyIDcyMiA3MjIgNzIyIDY2NyA2NjcgNjExIA01NTYgNTU2IDU1
NiA1NTYgNTU2IDU1NiA4ODkgNTU2IDU1NiA1NTYgNTU2IDU1NiAyNzggMjc4IDI3OCAyNzgg
DTYxMSA2MTEgNjExIDYxMSA2MTEgNjExIDYxMSA1NDkgNjExIDYxMSA2MTEgNjExIDYxMSA1
NTYgNjExIDU1NiANXQ0vRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZw0vRm9udERlc2NyaXB0
b3IgOSAwIFINPj4NZW5kb2JqDTkgMCBvYmoNPDwNL1R5cGUgL0ZvbnREZXNjcmlwdG9yDS9G
b250TmFtZSAvQXJpYWwsQm9sZA0vRmxhZ3MgMTY0MTYNL0ZvbnRCQm94IFsgLTI1MCAtMjEy
IDEyMDEgMTAwMCBdDS9NaXNzaW5nV2lkdGggMzMzDS9TdGVtViAxNTMNL1N0ZW1IIDE1Mw0v
SXRhbGljQW5nbGUgMA0vQ2FwSGVpZ2h0IDkwNQ0vWEhlaWdodCA0NTMNL0FzY2VudCA5MDUN
L0Rlc2NlbnQgLTIxMg0vTGVhZGluZyAxNTANL01heFdpZHRoIDEwMDENL0F2Z1dpZHRoIDQ3
OQ0+Pg1lbmRvYmoNMTAgMCBvYmoNPDwNL1R5cGUgL0ZvbnQNL1N1YnR5cGUgL1RydWVUeXBl
DS9OYW1lIC9GMQ0vQmFzZUZvbnQgL0FyaWFsDS9GaXJzdENoYXIgMzINL0xhc3RDaGFyIDI1
NQ0vV2lkdGhzIFsgMjc4IDI3OCAzNTUgNTU2IDU1NiA4ODkgNjY3IDE5MSAzMzMgMzMzIDM4
OSA1ODQgMjc4IDMzMyAyNzggMjc4IA01NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2
IDU1NiA1NTYgMjc4IDI3OCA1ODQgNTg0IDU4NCA1NTYgDTEwMTUgNjY3IDY2NyA3MjIgNzIy
IDY2NyA2MTEgNzc4IDcyMiAyNzggNTAwIDY2NyA1NTYgODMzIDcyMiA3NzggDTY2NyA3Nzgg
NzIyIDY2NyA2MTEgNzIyIDY2NyA5NDQgNjY3IDY2NyA2MTEgMjc4IDI3OCAyNzggNDY5IDU1
NiANMzMzIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIy
IDgzMyA1NTYgNTU2IA01NTYgNTU2IDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDAg
NTAwIDMzNCAyNjAgMzM0IDU4NCA3NTAgDTU1NiA3NTAgMjIyIDU1NiAzMzMgMTAwMCA1NTYg
NTU2IDMzMyAxMDAwIDY2NyAzMzMgMTAwMCA3NTAgNjExIDc1MCANNzUwIDIyMiAyMjIgMzMz
IDMzMyAzNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTAwIDMzMyA5NDQgNzUwIDUwMCA2NjcgDTI3
OCAzMzMgNTU2IDU1NiA1NTYgNTU2IDI2MCA1NTYgMzMzIDczNyAzNzAgNTU2IDU4NCAzMzMg
NzM3IDU1MiANNDAwIDU0OSAzMzMgMzMzIDMzMyA1NzYgNTM3IDI3OCAzMzMgMzMzIDM2NSA1
NTYgODM0IDgzNCA4MzQgNjExIA02NjcgNjY3IDY2NyA2NjcgNjY3IDY2NyAxMDAwIDcyMiA2
NjcgNjY3IDY2NyA2NjcgMjc4IDI3OCAyNzggMjc4IA03MjIgNzIyIDc3OCA3NzggNzc4IDc3
OCA3NzggNTg0IDc3OCA3MjIgNzIyIDcyMiA3MjIgNjY3IDY2NyA2MTEgDTU1NiA1NTYgNTU2
IDU1NiA1NTYgNTU2IDg4OSA1MDAgNTU2IDU1NiA1NTYgNTU2IDI3OCAyNzggMjc4IDI3OCAN
NTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU0OSA2MTEgNTU2IDU1NiA1NTYgNTU2IDUw
MCA1NTYgNTAwIA1dDS9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nDS9Gb250RGVzY3JpcHRv
ciAxMSAwIFINPj4NZW5kb2JqDTExIDAgb2JqDTw8DS9UeXBlIC9Gb250RGVzY3JpcHRvcg0v
Rm9udE5hbWUgL0FyaWFsDS9GbGFncyAzMg0vRm9udEJCb3ggWyAtMjUwIC0yMTIgMTE0MCAx
MDAwIF0NL01pc3NpbmdXaWR0aCAyNjANL1N0ZW1WIDgwDS9TdGVtSCA4MA0vSXRhbGljQW5n
bGUgMA0vQ2FwSGVpZ2h0IDkwNQ0vWEhlaWdodCA0NTMNL0FzY2VudCA5MDUNL0Rlc2NlbnQg
LTIxMg0vTGVhZGluZyAxNTANL01heFdpZHRoIDk1MA0vQXZnV2lkdGggNDQxDT4+DWVuZG9i
ag0yIDAgb2JqDVsgL1BERiAvVGV4dCAgXQ1lbmRvYmoNNSAwIG9iag08PA0vS2lkcyBbNCAw
IFIgXQ0vQ291bnQgMQ0vVHlwZSAvUGFnZXMNL01lZGlhQm94IFsgMCAwIDc5MiA2MTIgXQ0+
Pg1lbmRvYmoNMSAwIG9iag08PA0vQ3JlYXRvciA8RkVGRjAwNEQwMDY5MDA2MzAwNzIwMDZG
MDA3MzAwNkYwMDY2MDA3NDAwMjAwMDQ1MDA3ODAwNjMwMDY1MDA2QzAwMjAwMDJEMDAyMDAw
NDIwMDZGMDA2QjAwMzE+DS9DcmVhdGlvbkRhdGUgKEQ6MjAwMjEyMTAxNjEwMTMpDS9UaXRs
ZSA8RkVGRjAwNDIwMDZGMDA2QjAwMzE+DS9BdXRob3IgPEZFRkYwMDZDMDA2OTAwNkUwMDY0
MDA2MTAwNjgwMDZDPg0vUHJvZHVjZXIgKEFjcm9iYXQgUERGV3JpdGVyIDUuMCBmb3IgV2lu
ZG93cyBOVCkNPj4NZW5kb2JqDTMgMCBvYmoNPDwNL1BhZ2VzIDUgMCBSDS9UeXBlIC9DYXRh
bG9nDT4+DWVuZG9iag14cmVmDTAgMTINMDAwMDAwMDAwMCA2NTUzNSBmIA0wMDAwMDA0MjIx
IDAwMDAwIG4gDTAwMDAwMDQxMDYgMDAwMDAgbiANMDAwMDAwNDUwMSAwMDAwMCBuIA0wMDAw
MDAxMjg0IDAwMDAwIG4gDTAwMDAwMDQxMzcgMDAwMDAgbiANMDAwMDAwMDAxOSAwMDAwMCBu
IA0wMDAwMDAxMjY0IDAwMDAwIG4gDTAwMDAwMDE0MTQgMDAwMDAgbiANMDAwMDAwMjUwMyAw
MDAwMCBuIA0wMDAwMDAyNzY2IDAwMDAwIG4gDTAwMDAwMDM4NTMgMDAwMDAgbiANdHJhaWxl
cg08PA0vU2l6ZSAxMg0vUm9vdCAzIDAgUg0vSW5mbyAxIDAgUg0vSUQgWzxmMWEwYTFhMWY5
ZmZhZGY5MDQyNzdiNzE3YmI3MThjOT48ZjFhMGExYTFmOWZmYWRmOTA0Mjc3YjcxN2JiNzE4
Yzk+XQ0+Pg1zdGFydHhyZWYNNDU1MA0lJUVPRg0=
--------------010807070606010507020307
Content-Type: application/pdf;
 name="hmmsearch.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="hmmsearch.pdf"

JVBERi0xLjIgDSXi48/TDQogDTYgMCBvYmoNPDwNL0xlbmd0aCA3IDAgUg0vRmlsdGVyIC9G
bGF0ZURlY29kZSANPj4Nc3RyZWFtDQpIiaVX224bRwz9Av0D++ak1nSGc39s4NZGgQBJI6Av
eVGk9SXVxZUUB+jXl3PZXa68SSUHQSTt7CEPb0PSUniLEeTga3cHEyWjkAFMsAIDrGHiUQuP
7cGqO1AYhMV0UEWeHfQi9zC5fT35p4fGKAI4ZYQzRI4Gdg3cw1+wgYkUCuErQeGP9PGZTiD9
+/N6IB6RGVcPiOkDTN4DY0Kv0teLqZI8ZyrPI0TaoDA/QJTkHSMqzyNERtF793KiJB8GmS0H
Y1SUQPUjVN8uop4qC9GnsC6kL++Ia7FOBNEVgqRbWInAP3k9lMqrdmrrUoDI0hNIFLrkR9VA
MU85pmhwPx2k/ypfj6FRvcMamRqd8Bgwafn0+n9tQImpensbggFlgzjfDJSBaSIz0t2wWDWd
YoqPmZ2HQ0VMbOeaQqnuNeWIqOCqohMsSVl0x5bI/HWmJdoh05Qtia7qOcEQo7UwR4ag0UKf
HRKjI9NUikT7qugES6zKV3BYJzq8ICRWOaap1onG04Nig0+dYRAUrc82I2qmpQTEn2iBczop
HaZFibOT4lxkekqdWsFSclafezYKP6QzCnZ79H1MN9eGg45juoE0GFAc0U2SwWThiH4EDGfC
AHPs06B3D31YjywFHGTT/fuW56lPDEDtAQMhXWGOaZ8ZRNPlcgzSPjOIoao3DNI+cwhVJHJI
fWYQ62Vp9S2mO2AgZ1xpxC2oO2CgLmYtaCyIb2YTVJgGmqW80G2B2VWtwFTVv/xO1yOkzQNm
t1Srkq4x/VxQ4UsZNf38Chc36/W+me8W9/DY7G63u/V8s2hgCqvtK5h9TlIuxiw1pd/GmyL2
tdnBwx4+NYdDs8vIqc6XZUo3xCeaK8j8KhVG4p9mA1ynSiIWVatmc3e4n2p6d/P2LTzutrcP
qwae9gLe7baH5mEDV/PDHN7MN39fJkizm6LAu0uYr1awP8w3y/luCY/z3XzdkDX7Yo632Rzt
jAjVHAUxtbYaDcRijCxmyCKWtxq6NybLXNijYyy6LpQsLyTDKsvOWiCOALECDe2fhkykIjHl
VYqRtF2MbKwxeqcvQV3f/JvFnMs2F7TBDu0wFvTVl/kKBiIh5a6XksFy13893K+2m6mKUv6c
4T6k2DF4T2IdJ6mSWUjlJXdKGfeuMy8ETtQz2NxUGLYvsSxC4GtDDgi0QE5cwqbUI6KgIh6S
SDNwZnV4eGoWJVIqX6wB2Efmi2O+tHy1mtPsPeJRTFRW0WoccFpalDSnzeVuVO+i8SMuFl55
FMR8bWRPrH0Y+FkuRJu1NLhf4K1OTeqIlHtr2qRnb7mrtHboZ6K6itaM9Bb+Nks9Kw3taZre
5ApaU67KurQr2/Uqr9tepbCGa/awbuDjxb5ZbDfL/cdXTKfzdTV2tfsUdXk7bbuPHBQ9WR5b
BbRNWK2SAq3KRhezWcqna9NvDUTU4VxpK3UNKf0WmQOIoWu2Hoc5ox739LBs9jDfUBNbb/cH
aE15X1ioWVBcMQah8bs0UqmWBkPNUpzebldL2D82zfLL409jodfS0NpEG4IvrWd9PDeOIoeD
0FEM5JhWaqnCUVJpq6hJpTDTNjiGVTYtJ9pWDxM0euEY1FIS6BIq6uC5O/IkXtBgi2NqrbbZ
BJqToTjGpWhkjxpunMzrEI1b65gUVjLnhB4NY1DlzyCdSI/ZnBehlfoPCIyN5A1lbmRzdHJl
YW0NZW5kb2JqDTcgMCBvYmoNMTI2NQ1lbmRvYmoNNCAwIG9iag08PA0vVHlwZSAvUGFnZQ0v
UGFyZW50IDUgMCBSDS9SZXNvdXJjZXMgPDwNL0ZvbnQgPDwNL0YwIDggMCBSIA0vRjEgMTAg
MCBSIA0vRjIgMTIgMCBSIA0+Pg0vUHJvY1NldCAyIDAgUg0+Pg0vQ29udGVudHMgNiAwIFIN
Pj4NZW5kb2JqDTggMCBvYmoNPDwNL1R5cGUgL0ZvbnQNL1N1YnR5cGUgL1RydWVUeXBlDS9O
YW1lIC9GMA0vQmFzZUZvbnQgL0FyaWFsLEJvbGQNL0ZpcnN0Q2hhciAzMg0vTGFzdENoYXIg
MjU1DS9XaWR0aHMgWyAyNzggMzMzIDQ3NCA1NTYgNTU2IDg4OSA3MjIgMjM4IDMzMyAzMzMg
Mzg5IDU4NCAyNzggMzMzIDI3OCAyNzggDTU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1
NTYgNTU2IDU1NiAzMzMgMzMzIDU4NCA1ODQgNTg0IDYxMSANOTc1IDcyMiA3MjIgNzIyIDcy
MiA2NjcgNjExIDc3OCA3MjIgMjc4IDU1NiA3MjIgNjExIDgzMyA3MjIgNzc4IA02NjcgNzc4
IDcyMiA2NjcgNjExIDcyMiA2NjcgOTQ0IDY2NyA2NjcgNjExIDMzMyAyNzggMzMzIDU4NCA1
NTYgDTMzMyA1NTYgNjExIDU1NiA2MTEgNTU2IDMzMyA2MTEgNjExIDI3OCAyNzggNTU2IDI3
OCA4ODkgNjExIDYxMSANNjExIDYxMSAzODkgNTU2IDMzMyA2MTEgNTU2IDc3OCA1NTYgNTU2
IDUwMCAzODkgMjgwIDM4OSA1ODQgNzUwIA01NTYgNzUwIDI3OCA1NTYgNTAwIDEwMDAgNTU2
IDU1NiAzMzMgMTAwMCA2NjcgMzMzIDEwMDAgNzUwIDYxMSA3NTAgDTc1MCAyNzggMjc4IDUw
MCA1MDAgMzUwIDU1NiAxMDAwIDMzMyAxMDAwIDU1NiAzMzMgOTQ0IDc1MCA1MDAgNjY3IA0y
NzggMzMzIDU1NiA1NTYgNTU2IDU1NiAyODAgNTU2IDMzMyA3MzcgMzcwIDU1NiA1ODQgMzMz
IDczNyA1NTIgDTQwMCA1NDkgMzMzIDMzMyAzMzMgNTc2IDU1NiAyNzggMzMzIDMzMyAzNjUg
NTU2IDgzNCA4MzQgODM0IDYxMSANNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgMTAwMCA3MjIg
NjY3IDY2NyA2NjcgNjY3IDI3OCAyNzggMjc4IDI3OCANNzIyIDcyMiA3NzggNzc4IDc3OCA3
NzggNzc4IDU4NCA3NzggNzIyIDcyMiA3MjIgNzIyIDY2NyA2NjcgNjExIA01NTYgNTU2IDU1
NiA1NTYgNTU2IDU1NiA4ODkgNTU2IDU1NiA1NTYgNTU2IDU1NiAyNzggMjc4IDI3OCAyNzgg
DTYxMSA2MTEgNjExIDYxMSA2MTEgNjExIDYxMSA1NDkgNjExIDYxMSA2MTEgNjExIDYxMSA1
NTYgNjExIDU1NiANXQ0vRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZw0vRm9udERlc2NyaXB0
b3IgOSAwIFINPj4NZW5kb2JqDTkgMCBvYmoNPDwNL1R5cGUgL0ZvbnREZXNjcmlwdG9yDS9G
b250TmFtZSAvQXJpYWwsQm9sZA0vRmxhZ3MgMTY0MTYNL0ZvbnRCQm94IFsgLTI1MCAtMjEy
IDEyMDEgMTAwMCBdDS9NaXNzaW5nV2lkdGggMzMzDS9TdGVtViAxNTMNL1N0ZW1IIDE1Mw0v
SXRhbGljQW5nbGUgMA0vQ2FwSGVpZ2h0IDkwNQ0vWEhlaWdodCA0NTMNL0FzY2VudCA5MDUN
L0Rlc2NlbnQgLTIxMg0vTGVhZGluZyAxNTANL01heFdpZHRoIDEwMDENL0F2Z1dpZHRoIDQ3
OQ0+Pg1lbmRvYmoNMTAgMCBvYmoNPDwNL1R5cGUgL0ZvbnQNL1N1YnR5cGUgL1RydWVUeXBl
DS9OYW1lIC9GMQ0vQmFzZUZvbnQgL0FyaWFsDS9GaXJzdENoYXIgMzINL0xhc3RDaGFyIDI1
NQ0vV2lkdGhzIFsgMjc4IDI3OCAzNTUgNTU2IDU1NiA4ODkgNjY3IDE5MSAzMzMgMzMzIDM4
OSA1ODQgMjc4IDMzMyAyNzggMjc4IA01NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2
IDU1NiA1NTYgMjc4IDI3OCA1ODQgNTg0IDU4NCA1NTYgDTEwMTUgNjY3IDY2NyA3MjIgNzIy
IDY2NyA2MTEgNzc4IDcyMiAyNzggNTAwIDY2NyA1NTYgODMzIDcyMiA3NzggDTY2NyA3Nzgg
NzIyIDY2NyA2MTEgNzIyIDY2NyA5NDQgNjY3IDY2NyA2MTEgMjc4IDI3OCAyNzggNDY5IDU1
NiANMzMzIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIy
IDgzMyA1NTYgNTU2IA01NTYgNTU2IDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDAg
NTAwIDMzNCAyNjAgMzM0IDU4NCA3NTAgDTU1NiA3NTAgMjIyIDU1NiAzMzMgMTAwMCA1NTYg
NTU2IDMzMyAxMDAwIDY2NyAzMzMgMTAwMCA3NTAgNjExIDc1MCANNzUwIDIyMiAyMjIgMzMz
IDMzMyAzNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTAwIDMzMyA5NDQgNzUwIDUwMCA2NjcgDTI3
OCAzMzMgNTU2IDU1NiA1NTYgNTU2IDI2MCA1NTYgMzMzIDczNyAzNzAgNTU2IDU4NCAzMzMg
NzM3IDU1MiANNDAwIDU0OSAzMzMgMzMzIDMzMyA1NzYgNTM3IDI3OCAzMzMgMzMzIDM2NSA1
NTYgODM0IDgzNCA4MzQgNjExIA02NjcgNjY3IDY2NyA2NjcgNjY3IDY2NyAxMDAwIDcyMiA2
NjcgNjY3IDY2NyA2NjcgMjc4IDI3OCAyNzggMjc4IA03MjIgNzIyIDc3OCA3NzggNzc4IDc3
OCA3NzggNTg0IDc3OCA3MjIgNzIyIDcyMiA3MjIgNjY3IDY2NyA2MTEgDTU1NiA1NTYgNTU2
IDU1NiA1NTYgNTU2IDg4OSA1MDAgNTU2IDU1NiA1NTYgNTU2IDI3OCAyNzggMjc4IDI3OCAN
NTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU0OSA2MTEgNTU2IDU1NiA1NTYgNTU2IDUw
MCA1NTYgNTAwIA1dDS9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nDS9Gb250RGVzY3JpcHRv
ciAxMSAwIFINPj4NZW5kb2JqDTExIDAgb2JqDTw8DS9UeXBlIC9Gb250RGVzY3JpcHRvcg0v
Rm9udE5hbWUgL0FyaWFsDS9GbGFncyAzMg0vRm9udEJCb3ggWyAtMjUwIC0yMTIgMTE0MCAx
MDAwIF0NL01pc3NpbmdXaWR0aCAyNjANL1N0ZW1WIDgwDS9TdGVtSCA4MA0vSXRhbGljQW5n
bGUgMA0vQ2FwSGVpZ2h0IDkwNQ0vWEhlaWdodCA0NTMNL0FzY2VudCA5MDUNL0Rlc2NlbnQg
LTIxMg0vTGVhZGluZyAxNTANL01heFdpZHRoIDk1MA0vQXZnV2lkdGggNDQxDT4+DWVuZG9i
ag0xMiAwIG9iag08PA0vVHlwZSAvRm9udA0vU3VidHlwZSAvVHJ1ZVR5cGUNL05hbWUgL0Yy
DS9CYXNlRm9udCAvQXJpYWwsQm9sZEl0YWxpYw0vRmlyc3RDaGFyIDMyDS9MYXN0Q2hhciAy
NTUNL1dpZHRocyBbIDI3OCAzMzMgNDc0IDU1NiA1NTYgODg5IDcyMiAyMzggMzMzIDMzMyAz
ODkgNTg0IDI3OCAzMzMgMjc4IDI3OCANNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1
NiA1NTYgNTU2IDMzMyAzMzMgNTg0IDU4NCA1ODQgNjExIA05NzUgNzIyIDcyMiA3MjIgNzIy
IDY2NyA2MTEgNzc4IDcyMiAyNzggNTU2IDcyMiA2MTEgODMzIDcyMiA3NzggDTY2NyA3Nzgg
NzIyIDY2NyA2MTEgNzIyIDY2NyA5NDQgNjY3IDY2NyA2MTEgMzMzIDI3OCAzMzMgNTg0IDU1
NiANMzMzIDU1NiA2MTEgNTU2IDYxMSA1NTYgMzMzIDYxMSA2MTEgMjc4IDI3OCA1NTYgMjc4
IDg4OSA2MTEgNjExIA02MTEgNjExIDM4OSA1NTYgMzMzIDYxMSA1NTYgNzc4IDU1NiA1NTYg
NTAwIDM4OSAyODAgMzg5IDU4NCA3NTAgDTU1NiA3NTAgMjc4IDU1NiA1MDAgMTAwMCA1NTYg
NTU2IDMzMyAxMDAwIDY2NyAzMzMgMTAwMCA3NTAgNjExIDc1MCANNzUwIDI3OCAyNzggNTAw
IDUwMCAzNTAgNTU2IDEwMDAgMzMzIDEwMDAgNTU2IDMzMyA5NDQgNzUwIDUwMCA2NjcgDTI3
OCAzMzMgNTU2IDU1NiA1NTYgNTU2IDI4MCA1NTYgMzMzIDczNyAzNzAgNTU2IDU4NCAzMzMg
NzM3IDU1MiANNDAwIDU0OSAzMzMgMzMzIDMzMyA1NzYgNTU2IDI3OCAzMzMgMzMzIDM2NSA1
NTYgODM0IDgzNCA4MzQgNjExIA03MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiAxMDAwIDcyMiA2
NjcgNjY3IDY2NyA2NjcgMjc4IDI3OCAyNzggMjc4IA03MjIgNzIyIDc3OCA3NzggNzc4IDc3
OCA3NzggNTg0IDc3OCA3MjIgNzIyIDcyMiA3MjIgNjY3IDY2NyA2MTEgDTU1NiA1NTYgNTU2
IDU1NiA1NTYgNTU2IDg4OSA1NTYgNTU2IDU1NiA1NTYgNTU2IDI3OCAyNzggMjc4IDI3OCAN
NjExIDYxMSA2MTEgNjExIDYxMSA2MTEgNjExIDU0OSA2MTEgNjExIDYxMSA2MTEgNjExIDU1
NiA2MTEgNTU2IA1dDS9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nDS9Gb250RGVzY3JpcHRv
ciAxMyAwIFINPj4NZW5kb2JqDTEzIDAgb2JqDTw8DS9UeXBlIC9Gb250RGVzY3JpcHRvcg0v
Rm9udE5hbWUgL0FyaWFsLEJvbGRJdGFsaWMNL0ZsYWdzIDE2NDgwDS9Gb250QkJveCBbIC0y
NTAgLTIxMiAxMjAxIDEwMDAgXQ0vTWlzc2luZ1dpZHRoIDMzMw0vU3RlbVYgMTUzDS9TdGVt
SCAxNTMNL0l0YWxpY0FuZ2xlIC0xMQ0vQ2FwSGVpZ2h0IDkwNQ0vWEhlaWdodCA0NTMNL0Fz
Y2VudCA5MDUNL0Rlc2NlbnQgLTIxMg0vTGVhZGluZyAxNTANL01heFdpZHRoIDEwMDENL0F2
Z1dpZHRoIDQ3OQ0+Pg1lbmRvYmoNMiAwIG9iag1bIC9QREYgL1RleHQgIF0NZW5kb2JqDTUg
MCBvYmoNPDwNL0tpZHMgWzQgMCBSIF0NL0NvdW50IDENL1R5cGUgL1BhZ2VzDS9NZWRpYUJv
eCBbIDAgMCA3OTIgNjEyIF0NPj4NZW5kb2JqDTEgMCBvYmoNPDwNL0NyZWF0b3IgPEZFRkYw
MDREMDA2OTAwNjMwMDcyMDA2RjAwNzMwMDZGMDA2NjAwNzQwMDIwMDA0NTAwNzgwMDYzMDA2
NTAwNkMwMDIwMDAyRDAwMjAwMDQyMDA2RjAwNkIwMDMxPg0vQ3JlYXRpb25EYXRlIChEOjIw
MDIxMjEwMTYwOTU4KQ0vVGl0bGUgPEZFRkYwMDQyMDA2RjAwNkIwMDMxPg0vQXV0aG9yIDxG
RUZGMDA2QzAwNjkwMDZFMDA2NDAwNjEwMDY4MDA2Qz4NL1Byb2R1Y2VyIChBY3JvYmF0IFBE
RldyaXRlciA1LjAgZm9yIFdpbmRvd3MgTlQpDT4+DWVuZG9iag0zIDAgb2JqDTw8DS9QYWdl
cyA1IDAgUg0vVHlwZSAvQ2F0YWxvZw0+Pg1lbmRvYmoNeHJlZg0wIDE0DTAwMDAwMDAwMDAg
NjU1MzUgZiANMDAwMDAwNTY5OCAwMDAwMCBuIA0wMDAwMDA1NTgzIDAwMDAwIG4gDTAwMDAw
MDU5NzggMDAwMDAgbiANMDAwMDAwMTM4MCAwMDAwMCBuIA0wMDAwMDA1NjE0IDAwMDAwIG4g
DTAwMDAwMDAwMTkgMDAwMDAgbiANMDAwMDAwMTM2MCAwMDAwMCBuIA0wMDAwMDAxNTIyIDAw
MDAwIG4gDTAwMDAwMDI2MTEgMDAwMDAgbiANMDAwMDAwMjg3NCAwMDAwMCBuIA0wMDAwMDAz
OTYxIDAwMDAwIG4gDTAwMDAwMDQyMTQgMDAwMDAgbiANMDAwMDAwNTMxMSAwMDAwMCBuIA10
cmFpbGVyDTw8DS9TaXplIDE0DS9Sb290IDMgMCBSDS9JbmZvIDEgMCBSDS9JRCBbPGEzMThl
ZmQ2YTZhZDljZTcwNzg3MTNiNDAwMWY4ZmNmPjxhMzE4ZWZkNmE2YWQ5Y2U3MDc4NzEzYjQw
MDFmOGZjZj5dDT4+DXN0YXJ0eHJlZg02MDI3DSUlRU9GDQ==
--------------010807070606010507020307--