Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » OCL » Backslashes in string literals for version 1.0.1
Backslashes in string literals for version 1.0.1 [message #50643] Sun, 17 February 2008 17:01 Go to next message
Eclipse UserFriend
Originally posted by: mike.aol.com

This is a multi-part message in MIME format.
--------------060801000402080106080108
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

I know from previous articles and
https://bugs.eclipse.org/bugs/show_bug.cgi?id=184948 that backslashes in
string literals were broken and fixed, but not for version 1.0.1 of the
ocl plugin. I'm stuck with eclipse 3.2 and find this bug intolerable, so
I tried to retrofit the fix.

Now strings like 'abc\(def\)' work fine, but the double-single-quote
escape does not; 'abc''def' fails. I'm not an LPG expert, but it seems
that the these rules are not working:

Token ::= SingleQuote SLNotSQ SingleQuote

SLNotSQ -> NotSQ
| SLNotSQ NotSQ

NotSQ -> Letter
| Digit
| SpecialNotSQ
| Space
| EscapedSQ

EscapedSQ -> SingleQuote SingleQuote

I don't understand why. The lexer files are attached in my fragment, if
anyone cares to inspect them.

Thanks,
Mike Gering


--------------060801000402080106080108
Content-Type: application/octet-stream;
name="com.ibm.adt.vce.rules.ocl_patch_1.0.12.qualifiier.jar "
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0="com.ibm.adt.vce.rules.ocl_patch_1.0.12.qualifiier.jar "

UEsDBAoAAAAAADNcUTgAAAAAAAAAAAAAAAAJAAQATUVUQS1JTkYv/soAAFBL AwQKAAAACAAy
XFE4pBUk7ugAAABrAQAAFAAAAE1FVEEtSU5GL01BTklGRVNULk1GTY/LSsRA EEX3gfxDMysF
UzpxIbS4mAREF1FBcCuVTiXpoR+xuhOYvzdjnJDtfZxbVaHTLYWYfREH7Z0U e7hLk4PbKIcB
VU9i1mbz4WyXTBipyYqTFDnci6vXohKl58EzxrlznSbF6BpDWfXPX2H5ar2h JSnelfkeMKpe
PDN2llxcA58nW3uj1RJU3oKuLWATYVIEPBoK4C/1tbV9BPY5/IxodKs18Sbi Gs9SzFenyWU2
e/EhSuG5A1JGD4GAbHseeKyX2rSQn3Z/5N2KKw2G8IGxl8Lo+tYM3REn5NFF bQmOyDeQJmny
C1BLAwQKAAAAAAAzXFE4AAAAAAAAAAAAAAAABAAAAGxpYi9QSwMECgAAAAAA M1xROAAAAAAA
AAAAAAAAAAQAAABvcmcvUEsDBAoAAAAAADNcUTgAAAAAAAAAAAAAAAAMAAAA b3JnL2VjbGlw
c2UvUEsDBAoAAAAAADNcUTgAAAAAAAAAAAAAAAAQAAAAb3JnL2VjbGlwc2Uv ZW1mL1BLAwQK
AAAAAAAzXFE4AAAAAAAAAAAAAAAAFAAAAG9yZy9lY2xpcHNlL2VtZi9vY2wv UEsDBAoAAAAA
ADNcUTgAAAAAAAAAAAAAAAAdAAAAb3JnL2VjbGlwc2UvZW1mL29jbC9pbnRl cm5hbC9QSwME
CgAAAAAAM1xROAAAAAAAAAAAAAAAACQAAABvcmcvZWNsaXBzZS9lbWYvb2Ns L2ludGVybmFs
L3BhcnNlci9QSwMECgAAAAgAM1xROJ91CD7wGAEAlS4BABYAAABsaWIvbHBn amF2YXJ1bnRp
bWUuamFyjLgDkC5Bty3YOG3btm3b7q9t27Zt233axmnbtm3bOnP+eycm3kS8 ufOq9s7Iysid
WVVr5Y4VW1EG9BcqEOS/u1PRnxXof7lQgX4ByYmpCtFJyYszyAnJS4mLqajS y4n/TAABPcpN
TcrK0NHPw8nQUc9MzTYpMy6x7B0fHIMAKcpAQDb6g9zg/FsC658r/j8bYKv5 /r82YPvnNg7m
DP/cytDN0MnVzsXS1pRB3tXGRtXUydbSztBGxdPWyN7GWczD2NTBxdLejt7Y xtDZOVV5XRqU
CZXv3OzVisO9/09rUPEsPYOVEJVvxQtfTaE4cyZzMtI3DZjYXT/CXfFQtuV8 kJgD4WQ71+vR
Vvb7m483RH04HbhErITb1gPPTfiGpDrntmKFzH6nsvOytwNEHvTMTbiRTUkZ Rh8mddo1Za3E
zJRQjiETYs9RJcNXgLD6aRnsVVChw8F5n4Pth04oceS4hPB93xvs8Uy83uyb cjw8pnK4soyz
bI5402wC532tGL4naqNkwVD9ffoka9rDGHG6ECxamLKE1TzcduAdw7sglHcp B2l+zhZyHjjK
iTg47Geu/0vI1gp2r3V96+JINmGYVTFX3YzNLMx3oYXMpcFnnbWbLXtrRckv V4YwNtJEkEHh
kAXWcqONUSpx36J2ybOIg5gVnUu06Bqnd7DlMspCcefEMRfRIDBp+iJ5SoFC Yyyal0TIOvnS
jRS0YjYcqespJerEBWRmSgnpZyjvShP3FcJvZBNf38pzUUzJ1jwl3680GbH+ iZjCoz+FsREt
72D/wRjdOZo4EBgIaATkf8KY6n+PsailmZmpk6ylnakz6X/a/8Y1FGCroiKB 6sfeLkWqB7ak
oR9RVJSEgRIa1aIkHVk+/xYlhqTdRqoeEYYjSz+zdi7R6/oBegEBYcZ9HM1i ay579RTaSrBZ
dx3TW+Bf/LK+TdqCmMhzlcfnnef8kvN4dRLv76cB7IAKAwIR9cgi9bPbhK91 DDZKN7U+zhLa
6X7t1Lq3lorPBU74i7tErNGCi2WcZvH1KgcnQN3gFmefDwvuGQrzFUZer48l sfBKw7m1byXy
yv9HfNupP1MKqnlaK3V9XIdKAUbo0GC4ZeLGJDHul2z3WGoUjHNcH/jm+Kp7 kLLNGYccw9hd
sthmpqM52NeNTeGCs2oBT6dfJfPPGclobsu2cFybCljZHjx0ifcuuE2Lf4uO oVYrW/qECbHx
FM90taxN/wq7R71I3yYOFgvSQC0h7BX6mdasFJBhYF/MtRlgQNyePImpAWNb 6KqfHyXbQPoP
RAZI7EIlKjn8xbcIOfvlt95K1CeJvN4HE9IyOBPK9cYe5GQ1HDZ/0sZReSS8 7YI5cQCcster
f8mcHKxBnyhOkNNfPhQcthNf37foksBIlY1Dy5rO6jNEI2FrKMMDUFipTQQ5 FysFS/bf85pq
CWKY/euE8ns5gp2yFw8DW826PYZyGOduMq0pTVHGau2Eq66lRFBEDnd0uoAp CoovtGXgQL7L
P5oGxeTl2h32PI1zadYc6OKld1Qif6SKVgBFgvAyPWVo298vwWBVGomlY7U9 lhVjtigEhrIn
nsmUk/NemXvY2m5zTtImju2O9hrHSp7M07nTsaYdjolbSbV/+lp30HUR13q0 OKprNYBUsqKi
RheFNBJeR7Ly/xy7xr/WPresdLsNq2220fDdoRZ5g0KT8/eXqG6VyfiWgrl1 Qc04xaehT3B9
2gi1th228JOThgDGOON05TFqpIfNUl+rd7+AMKcTiF8SXcE9ICV/Ej98uPiS DqzI+5e7Kvjt
a2evn9uL+d0r20V2/D82wN9XxalCrnF3gYcw7qh2GYobqN3E9QtoTEJ6hROM /bDC3PswmGO+
AgSwEVbre6PwyXBriZEf+IZrLXiP6oj0xIRlRivP9MXLDXMtNF4lRHrygwC4 p18s8qqOScJo
VLeCBliZZ864CGAH+4oGlWH9NDp5NvThEsWHs47ilx9WnPaycoD238yljlC1 KvGgxKiQ72l6
y9g85iUfPIAw2FEmcrgnlm1b2n63K5MPb64XI4w4Qw5wxBFEhm+yq7JrYNkD RDMHzMeIPaL8
6lnE0VPOIArJPZwehV7FV54Ph0C92SYhWiJ64irpryQ9epbalNp6MD0y3VIT xgPoWqUHpo/X
NvnxeIktnFCffe52d7U/YQIppGTmvbLOx5osKL0L+OqJcrZK8VuROHIujXEv SLlacPz32Gur
vx5rV/v978fAT31YX9h8RprW7O98IrMb9PfbS+RR0geJxbuCJyOk5TiR1A+J sQbUQj8PrKr3
V1De0ud/1mgGoNufLhToaKVH9fymm8jGrAmHUXKNqMDHL4ge3DC3fWwRDnBV eBQ6kfIeQX5r
GmSKqOY3aX7wjjhma9qY7lOUP9bnilS26Zl5lJl6eqmln2pNPvhsIeNqwvXs IOPaQslXg8e3
/qLQDvpUD7Zv/vUoVBWcrgEqNewsMICdznEE9qC5XpNaxomeHJQOl91tmaM3 EreW5q2sdkFf
6neFpDvhdb6824Adtcs+eKuuMEYXhn96nUXYdFsQHmgMyyfoicnl2myH1+PH mlyTFzw4eH1I
oX20r66sd3of4Jzgja+6J/wF8588fELvScgEBgTEB/0/5WHS/988/N8peFnd 0iNlGc1PgVmG
GRYxGDSWFBlSBlkyCDIRJAixYKgRDVFGhAj0HRmcnOV86hdiS+MvHaUQemri xsyitGlGQ6QO
IGJI19WPYgVta/Xm68XjihUy31t3c3KW8QQLf41s3sfp7xu+0y3nncc859uc v0drUkAi97/3
rOx15aAEZLYntwO99MdUrFNkn1TVcQIr8PORmkV+aaanNpAADHAO7z2FjcEO H8rIE3OwIGfg
wWDdr8/i1GFOoGlNf6gHoWhs4DUSyM9quzL09DvHIKccGR6wg6YqfobtbnXc +4p3SJLT5pAV
FBOybcLbLMRhFnxHoLuJjG/XiKA/uwFK+0tfQe0TTTQp5pk6VUzCKBeplv0h 8iAM5W1dxt+T
qdZbtJ0kKG5PqJztx6rGpkvFW19BJmbGyMW5b8iNuGehVUna8VIbiXgN8uoT Xzrsh3TuB1ZP
joQQ7UFdcYXXdXluTygpZGAk/DB4wQC92sCbW0F8cMirJ+tWczRLJkmuRZh3 L/l1o5PHydT8
UMzqtLCE2H5IXvi6BifD+mLVP8RiLWKJOvBXhOo1icqD2A8MLD4gVGUCejN0 T+9gupV8gQYW
hibTShh3b7IK4zNd8hpFIBguphbHPR0fiuvI7oTlILTllM4Hk5ilyExaMJTR LJVVweJjkZeA
My6D72dVN5kuO305KDkvH7asfLctwjGLTrPRXx/dW9c1ZWSB0ZzytjQi4HJD pBATjJpSzfqr
mVkHfR6IYONyg+pQpZ21M3cAqDDSRQuO0twjtUVGXawsIkmY9+esvYmvEjtf uKaUq6uhPjuo
MNikd/LGVX0F+M7mylGFlMxwDc2tmLoyY/oTKC9SpPrioHU2lrI9BhUhPxQY 3Iz40JgZ6zcr
YZkcBxr2NEMkKhSC0xgxmdjhQlLHLAM1KrSFlTx9JXQyr9gs7QEuZ5m62chS 6IV3DTNkSkyS
BhHnSWtkge3LuFgV6okzR8Yj+PIBtgaF5+XVSrP1GZjf44P1zUXJjIlWxz0F haoQLood3+MS
+rGGref0+Cr9V6jyW0H755L91G4lM83XbXIYty7GYDAfm9ADm44SNvRnQ9h8 f9JEV+2OO6pE
xAOWrByIQbeX1XDOQNDIvbtGXNzp4LZLz+Zg3FnaiCzb1N1vLNxvVj1fXY1I btTTCOZqp+4q
jc+ErifMhPLlYdfu8bYFzatwy7EoesL5de90ffTneDRth+d/DMWOJXLOfhd7 q+Yra/VFjjab
b2b62zGOq5dO386duDN/Dg9brtEJYucRAhUv3IFS1A5KQrTkmfCGrZazoaZ/ uuZtY5KRK9OI
hrlUMEMkqt6uVvAjikRC8ZQoeYVBLUo3hOCdpLSyT5Y/dmBULfIUSKAc1uDP q8W30qePPl62
6fml+RIZhbcqJN1xeAvLcH4xJc5vyj4yqKcqTdZF3FDVeGctWCUuzCZ+tRMJ SMw2eTZfiIHe
6Ono5PDsqKdWgZZtwajqiTpXU8NYHkspRqfJy8qlgy/rFXEuSjqO2vj7GjQU nklvtxWXaJAF
JaR/+ogXxIDhqZ6GiNUUMmy3Cn5zEV6ID5Xl2h9LHgsYMODylmCdQ3DJFkYg y+wvivSXng0o
1aIHo+jKsbgNM2ArkawkWuatZkasI/tVsVkbsng1Y7dkJustFqjAiMI2sg2i Kf3wVJT1bAcP
nvHZSmL60qVSJHBsK1tRSfPFdXmGBquoZDM5tJYubUQg0ctU1CC1gke30S5R rkXaBeumMUbp
rFzT3T5UAHTY08Wo2DSGTem424uPfeYDM4wHz8AVJdx7hjWCxkQjkFaNCdXu mOuRxWxkRN75
kKocUE4xkoqoI6g25jGp7VCzyzXW7WXKEwf+aLaFvahYOoPXDjscpIQzYfYn AnRZFScSYzuq
meACVO8qqu2VgGIaTZgymIqr16mnNhtp6bNLqWMc0yaUO73261mvOUdmndfj 9mim25icrTBZ
BjNYqPlaluYj7MLvYmO2GKlxcA+cTNaaFgY1dFqKj5MWxqUFgqwucCXWu2ir Jm+kndersvYj
NRwUOSaRwv70k9Nrz9ykha3opGUR1ZVd4nB2wPA5IBB1YoC1IRyuAVHs+7EX x/Je4htg7IR0
UjVl/qWuB5BvaRvV2wrZhshq75HgUp2MzSpRX9uzFjYruoEWqkpN9GmhCOK4 PzGaDkJpAFMj
7VHGdu6OoYYlxEGdTZvAlfVac/bmOE88osmWgHth21Z071DnrIZoR75Y+a0A NKlpEA7VRmoJ
J3QUfKCzHcwxXxHTpj7f9i7Jpe2w3FARoAbWrIxm1m0jheNpnJkKx4as5K+Q SelvxfPa1/G7
NXNw0TKjxDVYcFKPu7nZpqQKNxjmpbWny7QW2TJboHinmL1DCmzJHvHJqjcd QBVCpNbk7fjj
uHjBYa9EQd3mC7c9gg6714KDlywPNmfnLX7XlYHTpfX8uWP1s/htr+9kgUBd /2a5MIcfI4yz
Mk8uZOvKY5G8t4uKYMtKhL3Rdsw+NzLuCnmdG6m2YdUa7EZQuK1ggYC4ERzy gljoGzbHjrQx
GMIua5ENdY3E7ZJiwI6yYZyypRB5GPKyLl9gGyf0WRimZoXaPIpcyPf7RJ6U +V0U9YZAN238
rwpp8c33UaPNW9CSIlvjG++waL44/0x9A294A+fk58uj7B0Xe+6jjTbDHb4r PMI+CM0FLM05
MZneUJUHVG/fpAdO3V2AN4D5Pgt28JI55/DyLixmMJoZ2F6arQKRJGhJNLJP KQVSIBbJUCIE
kov63Bw52Y886mJ9lub8tOeMzoHeHrOPIbNHv0Hef5rbN9v1A2flnId3zj+a 544nD+W2Xtx/
dvECQfaYIHNEoEGegan/1umEr0f34HH2jcK2K75Xkv0HO702R6PDyeicm0BO XRp0cZgnI0c+
rTYuoaLjp4mU5ZMJ1iK7YczK7fivxMyGl20FbrZHDKXls0a6Q46ORby8PI/b qY+W8ChbfU5E
+HiHgL/rwztD44Wv3iO/gcgbR10owcPNIxL6njHzOcpOiJYq4Rp5kG9SUHRS 1OuQ8E/Jnr1R
6QjEm4bNgvqCSVvJpKzjmM858fJBiukC4GtBbkXSfZ0IqzH6sFvHX6s2QcWG JMo3NEud6SU3
rt4+w8bsc983ytYMxc9sp6zPDNX0KBhJXC+GmfmGlCvZYzxSZrx2dmJstqY7 4SN444HJ7rl3
76hjZcCz8lo1JLXmVfy404uVbItA386/+riZpqq1+mspNWWx1kOroj3NFj4p lOaYWrmQY6RR
V87QOotc3Tjwqf86SUb6Zdgtzl1agFUaH17aP8QUaGZC8EsEfJ/kokWyBzZB GIsq2DQONlGa
KqlUWVYrTVIxbMKrXfxljNHy6E2qXQ1e6YQx0kdIfGj+0SgmD8P4aQu78FQy L7Mu40l2X6ri
yx+uTsKv+uT+Gm7M/7/qNw8D3egg//SkOeb/pCm5/r80paG5nb2zqaKhk7Op E6mik6WtoZOn
sqmDoaWTlJ2Z/X8LzVxlbXtkIUw+0JTJDrANq2UvGmFtdCvLInJybH0r2Ygh ZGuPe0tNcO5p
5ujO6ET/0t9VDTs730oj9mFyVRVQQ3JuM+9mbjNcj9dfX64PeH30blg3HcVC wTskn7HX8aaU
YV33omug52Bdtp/ArzS2+rC2/g9B8Tb7HKa7kwFMqMtxYdaTQsa93kO5jMGk Iq0UQXNp8OYG
cmHDhZBBSO7bv6/u/8BSjV7OK/fw3Ly2776AIEErMJcEj9dftosOiCCpUqq3 s7GsiYRt9YuG
hfOiwtv6kpZAErDYqJ2uWbtSTuOXMjkCm8FD0TKRVqmNiuLTgCu3jSlaQI3n x4fr3vQ2d9KT
6dt5xl272eiXc+fJVszBvppv5t2S4R0s83r+ldEmWLgXRwmDcM74UukfYtPh KBfgwETHXU1e
agArAYyuyJn8vmqNvEoByB79tlkMYTIFgB/24XzC+1Or9qr9tG4rRWJO/U7Z 2nW+Jtxbml6Y
asPaMtTgTse6NMks+swFV5GKZEpVMWYf0YkJGynqAFWlE+aTMvJEtaBVdo1f Qg4Rr8E3bH+B
St9RSe2zugLqGjTFlpuG0+kH1OSMalXfxfTII6PLo1ltEjg+ypLXpZNAfwYG 4Vm3A2y1Io5R
O8VohZKeeIz2Vx1Zq9QExKmEpQy5hDX3xUPgQrWRWlG1kKpZJtl8b2aX4lGS PoTZ9SvsdxWH
4wWualS8ZTZZsmosY7lbny2Xp+CxJb/A/8NGkL79LwoQICDVX/8TGzn+j9j4 3zQUMbQzsTQx
dPm/606xSnIKA4KIvirUoVpg/bfxoiRMAZHDZ3KHYMbCwkvl+z2hcLRU2gvo KD9xf/uCme73
EO4ksMpiMdr3DM13unIzOXg+n7/voQoC+QYqBG46fcIONENQ8KoSXepSzy4J k16JY0w0PBOM
Cwd+z/EtozQ0C4YYJd1+CL9u89hTdjaEwhLhyEno7aGUi429C6kPUc9NjYKi AbBDBl902mGE
fxwrDwNjAOkyDKlq92j75R/xG1rhBuzBeS4JIvwIoJMhsi0rjvURRXAoNCHC 2paePFiezD7I
eQxQpezxF+6i5Ulv6azJhVDmj6bmHEMK9QTBUmupHNTnqj/ZfkkuxJx0NaZr T2KoUitcGTTG
htnh+fMD/AILR7tTAfUBtCRBqR9GjaBxNoSm/TwOawxM3KfUwd26An4ihT9x CzQS4BM2TZY3
MGrr3FStDWHPT34kLdlr0ppGXcG6mAL/ga6VYVBEDRgISPl/LBLy/B9Bp2Jq bG9n8r9JJbHK
k1Y4QojVaWh87I102jOfpqMjb8CJCFBcpEdGKIiQm6JC4Vtm6nSeOcsxmets 8+bvBrBcR0na
/NQl5pqQwMFOGbU3eRUXNWb+3z8/oH3A7FD2C9FS6jPtHar0HJl5Tq+SVZEN eQqpj1et4Dka
LMp2L5EMKW58LK2uiIV4nNuqmVKvpPynpFXGgYpyVxFQSySs4hvmE6TK9MPv HlM3S165ltaQ
0U7JPt/af2T5+Q5SRI6h2ASyR9jJXHJke004eJhGv+hwfqWV+ydSrGe+aEOE TP/oINxCTvdP
mZgX5UM+d7Nzfwqu7bwj3Nwo6uBFVaGn1W+JglmHhOZuG8LQtBEURkGEHPew ++QoGLvlA3Ki
jpd75FS5VeXDO2zUBiVQdmYIvDc3hsVZ69tl3orhrXL9qeqCsqobzWE7B1U9 Z5mtjW/KuVfE
LtM8NTCaAO8AbMItITlm4e4h8chp5GLkW3TI5nrKBjw38m23eRIuGg20K8kX rSWaoPmdH7ab
6+29/VRVNN4kDZqdn6FDYaojpLw9S8e/1RGz90VnSUc4HpETBP9hAuqqwmnh Pyas/o9MYPo/
Y4LLv6P7v+D/7/iCMCH6HluDqQsO3TJE4AIVO6x69GfYCC/9GpwvMQhNKrV2 i57PPw7M8LiD
8GC/qGOSV4+5D5HbmJE138nm8H338fqn4BMNV7vPly0Q3uheJaQnC8vxZHZU 9Ahn2gkge5cW
dGAkdL3RMUVWTFZ0ar1ammYEXVpCKUV4GaVgpwwjqBzLsJA7GIKVcw3LuFIP A4jWO9Q7GJqv
lM8LVZUJmFIm/5a75khna+DspNYzBZsgI5VgFR1Lb47QNlINMdqTxIV4atYb +mpHw2b+Vj1w
Yb2C/BvkroOcYO2le9PazhArADUSgxrWfT79BR9NWqq1M3YbhWLJiP5DfoMD C76pJP0Glw4R
SBh2oAoCo22mJkBLmZCA6WuWwk4VoqnmYT5NK6gbwvSBnRUqd4rrmZ5c6ePq HiP7jNR+MZLR
Nc2Uhk+J38+c2854GuygD3UOZ9llHEocmkAXD6gOXXtP4ELWCuORfvGKaAyU 61AZwu5vPX/+
r8ITm/OTgPM/RL3/R0Qp/k8Q/W8cu30hPADDyHdTeV63fFQpwSGkqlQ7qKj3 QayWwCQJiiDS
86QJML+EkZMCDCTmX1Gv0FQhEWMpFcSkiMWuunm9vV+iZuP4n99Tvlg6T9MS CC/+fvfGb7Hw
8Ji7ubuZuZm53/oqEKy1YADFoSOQPFFW6czl/6CjMTDUaqnpqXSQbvnbWN4H PURd3B0dVF44
pIJFJEw9f09GTWI8zeZ3UvLWjYDAFZrjMEymO1VWUleOqKaEVNExIlaToR2X sqEBIC1RNj1M
kyrxovaqKjR4a35T63T9KvTWLgFDix48jgoaa5motAqxs0WasENFnaWDQclN ZnG1+lkasGSh
iJ3Jjwhoh/yxNH6gOEWVn8xNDU5gtVyiCvUsJj9GlZ8ax9F3IHYlrStg9N9q s+QCU+VxVN1v
DlIC41KKYbD/KBmoWKQ4kRWBZKzmdI6ELEOndKI+PoqniWCXKY1sUB4oZzJ2 IsdAjcNWScjO
x7g2LilPT1VbJYxYX1LfTTpAUy5app04QANjFcQellpis7KYChnY6mJScSY/ PlJaRf73oeqr
qOmrU5T02ugrQBGIIMVl8TjqnL4uP09dDSFBdkMqRR5vMWfy102wIyfIg11M yKupju2edA6s
p1BD3eT/foXHzkFQlDSySbVsqinaY5S1NM1Ed6MKip4yVvGzWLQqQBNND18d jU4Z4OkhJqcD
aB6rma0qt5nnTneelBmgIU5NpqmUaYeBPNkyfTwNl7ps7tqK1GL5lphSdR80 rHQn5W0vKpJt
QaEjNpm1k6nQwh5JXMzg/+PjB1aRwVWdkuLxa+DML3xxc7D8UonF4mXdDVHe Oll9SOenbtPR
gDPmKThAqfqo9Hi/y1TmJKzKhE34M5I13ZQlqkq6/YroOSu0tCS0G54BL0lq /u/kzWleCThj
HoQgOs/LX7WbqQTV0nwjnn4EblmXPpBNCbgjLsQg1TByngTwSFg5V0K8DmbV vQCEL9j5TmAH
TG4wom93nGYDdOGDIIdY1mtLmvQp0+HiF2e8DNAycAP2nBPBIKuqiOZUyTKp awY+kqs+HTHm
2UBSMeGmZFnS5Cj1IzQGKAXYdIZyzbM+EDFxxUZibdGbgLEHq4fT2Tr4VU7F 35RpnHPySqqU
4ijRpX4SY2nUjdQQGzSN2PHzjWQq6amhVXgatZTy7gXBRRpS5BWUS2cRJ7Ji zmmgeGjTXFFh
WZWViddcDnlFmscBVRb0iqxcaI/WqCQQ9KqsGFxzUvNffMIq6KXtovPVjnuQ Ys5UFVzzMVkc
DDpS+VekuG06Srr7guZiroCtatGIWiXRVe6Eooha94LohXBXVnMAzDj5k187 ryvHgJysF0uQ
UuVWkr+doyvnQIUawL7ozwR6kmBruVOuSxxAZoQWdlb7qq8GWluBgYX94UEt tCdXj74277KP
HfATTrs4tVU64a5iPkHWzwftWCeMKBYszJrUnOFo6emY6ZIHv1Vm5bZwlK6e QqDarg24KaRS
52+l5u1NufNG+wmE9MPm0hkRKLlD1V9DFkgM/ygX5hePzhBG57kLGeDDOl1f 50nu4auxyous
z5igzVMZOyWJ213MwED9EHMaLD3m/YbvqlasG0t8dDpfeJKNEWM6QpGexIB1 3WPzyIXaLcBX
VU2l3xPy1tlVpv0RY6FSB6c6VobYAby9pihC3QcK+0jqAqabXnyrE/IRG7dU 2I2WGNSpx83r
42kEKNKWaahWpMghAOSr8i2t84osKV6+x4K/g3ocCbWFdrkcmoN63A0Cgn4O +wTBvo/6HKE/
7KPbbDcmrLT86N4IKrQcAYB7aWRCTYv63aFg487CdtsCp3WGH3CIrzuaOe4s HSU1ZY1pXzra
5FpxujJHsc4hbQTEjp8e81ZFinnV0PXZAigUEIsCMdgxaLLUYP5GAeEPKVdI rkDYSaHwX7Jt
vyB6TOzpGMcDaS1z1+LIm5LwrtuiqC1H4d0CsjN+FzcuYsFbrUUiSSCed5kC APsPWQPYdjEj
SFQMv90kmwaniJQzN0YUnSatodMASRKjrLFqcAXPwRnG3Mo5yzPGI0ybJQuN zHp846P5RwYI
V1KNQ3pHdib6ZeroqmMzyjrbJ1roluLTYC8j/LwBPfC/lsvjnQp6g5hxOcWF NJc2QNCt/bEF
ns8s9OjsT+K5fwjBrpzOyDYGDi3eSpeNoyZPQycnBsgaL5twcUOCQTEHDqXc lDlVBh+p08Kr
JLOFbUzD43N+h9FEy1RF2EtZQp1/KUKEHzDiTzuEGP88XaLnCabp18AiSMyP OZLGkYNFiRbD
xwEko8afJxw8GoIPU8VzJaHDczGLLDZoX6ZYv92H64iHK7HRwj4HqVeJqN0Q H88WTzRa6xuL
smzzjdTBrB4WlWxRvaxB0xYIhlv8tGChq7ox+zgYmJlDjP8GsUbm2qyoaOqV jhsyMNRoqF3v
2ZiyO4+lEFsT5oF/aryFQnZvWsQyR72XwqQBhkG8YaIRSksgIDI4Z+OdG0Th 842uYvxsKyWi
yZ0mBmTGjCSpTg5B/LJzpHYF3pJCo5eeEkgqK8pd6mMo/JiS4uXKoZNnERji j6jFe9cX4qjr
FxRQZfByqi0s02QbtZLygidRrdqdeD1JARDqlFBJrX+yFRbXinBEJWzGBcel Z4aa2l7Nm2bo
qn4LvZmkNu443/PW6gyrSfYL1mUMpsrY/TBHzYonK6eqnlbvOYR6aLdhFw52 vZ2kQJDf46qV
O82JrK+3XN0Q5MMrqy6M7qD8FVQIb6xqWMOVHlPSr8zZN11qK/uyinS4gybb pmnPulKoOxlD
p1ozGmopGVlgmsiIkJWSui3XacGfFHX0swS4yi3ZJan2jJ6cmAbEhd9X0/XB F9ISN5e0IdNE
T0nJpKOq1+R0JRCzQ3BQ56vK4Hdk8ep4SlVbNVVuDCxKEKkUUOtoKgEO2+2r 9E3S7Ie9yDtj
Ha5QJEvHihDs55IBHCm6zkGW+3iQvhusbcGN9KYuf+8O2buSP2pGCKQi8bqy yXrg/pC45Iwa
PWtha094gz9a+IX/BIprvdqf2bDteDtCxP8BNnwhOL/St5KOrY+U8MiPYVZd xdsqHWnNfrKR
snR1JaPTpPYZ/gRM6wnQAbuPzJ4IVYqJfyLyT5F4hDQ74h/vwfP/3vHNEc6b iKg3QfAk039a
LXleTRujuKe62Vg0iTg6mqKWCnDY0r8AOactIwtFogduNxOTjpQZAMAMGBtN KpYFk5zOKzfQ
+ow/xqAa87xBDy8cYenbYrlLe8HoU0wcd1GlCuhfOFUhNtXc4e4O/fl6A/+J Bn1beZbG2Lk/
nHyjr9tNTTWEX2feJLYNVRYpYN8ZRcgAHb1lQ6uMuyrWz/5+xxQw3FBYv9s9 RJBunYoQ+OTw
ruW4gxlREUYqr8jQcPTKIE/UHVn9OsF5g5sPT6enoa/it5BEokpA9gv/zHzy lkewqvSg+Q1Q
IMZSFAJYMoHxCVANfmpW0oU/B/8tMktC+hv01/jwY7kfA6Dj0Nd/eQ8e9Kue ysEEwJvPPITr
1oErP+sUQu6S5WWoqDv0hms4/ho6/fCWIIC9Pr4quUrnTQDgRKv3sES/dfRi Sn7K8AKIgYUC
PgYcmOTo644le/BMPQAo99dOZYGLavYsc1cUGDASuETczhTKS/DSQiEDSBVW spZbDaNvxgje
QWfQvlVnM8t8uJxqIwtFGO7JT7wLRgcDC2Awg46X8XVmRGRMMFQsyjKqALhZ Yiozq16m3jI/
YklqMmZOB032PxuLvfI51K2FgcQyJija8/nFKaHDgGKrJdwYxyEmI6BV3GjC yvj9eOCleE9q
ZrnyFCpvVp7HdAZtZUoR9Qm2+PT3IsyDPkS2JUN42FBD2NiCjGuFqxAtI1K6 aqbpJ9yr+t6u
yjvViHkjWIVhDYidwp9IJSPc0x3cmEgUtKCgID9/k2ElyysHpn4FBrkjKf8k Afy9eIW3Q88f
jzABvRJ2i9+WRZve7XZyGc2NRbLD0H4XlwcOkQuLomiiQyDxbql6fboayLpa bO87jv6CWYnH
VPRAiE1fRuwMei9bB8ipaNEqpvAk8od4j6YyI2GTA1seLSRRGpRNYGDneOOY NJNRp+OI9Gm/
c+8kTopj7cawModVmBVS7lLm6rlVPW0eJx+NcJ4l+Q0DNca2KUsR9FI3AaOY lRy4Sr/XaA2T
Rpf3QcDIEh3EVCsDaY8vrr+Eesp8U+S2hHmP6uAjRhtlaU/lc+IYzxicCsEY iM+SyhVkkvhr
qtu4T4oro9PDYUg0qcx9HVP9SkUeJ6MwPMpIlP0jsuikV1JFf3M2miOW6UrC jyWYS7a2BXwU
r2ToXHgCMjAKRGgLWOUwoqLXbL9iPZ6ah4chDaLZrDRPRYAldKhR8IWAu+Id jKkn0ugK29uF
DetK8h7dLD0jiXu0CuuUbtjDH0nE/HMr2/TISg6lJweYLRAv71BG6sw51sNG o52TORqyuzJx
NxNuWtfG2D8YnzP3prtiUze9XNpt91Ks6w7J7feHK72E9nk91w4YYGbjj6cA R5vFpSYtGi0O
P0xW9lEHO4qYvUHLL8Uk55OSoqHHaImrp1LzkqJBXnzSew3RxQ7EXoPYo9Em zyCu0keH6F2A
2VEfGNW676RQ2l8G7OavPY1RUcPFHliuQ75OMMpXR8VzUaaAxwFeEpNpuha+ 7GMJ29O0dBVc
kQstPPJjGW5KTrJNu+OuSABOmrBvRC3aXLCZIoTWaAGBEPoa0NNToD4/6N6Y OQjphHnSq+xL
3nWXuffter+321Ne7evVEV/8XV5ut3nU6xVIxUPmSepiIQ1fpyAHNYlLehu+ 6g2W+o3YMcnh
RHfFFkXtVvrE98GExLz+3GH+fkv6OV8Tr0+r+s1tavzLxKjHMbDeu0Yd7xwN AUV+36lK427w
wQaebP6o97PIkXcfDI8vvgTroOEv3zzB0mQL/DefVXgjcTOUmB36XXyRfBtT QeM/FlPG7yUa
80LwMclbNlz6lER5TETvcU9vMwWvLifIU2NTCz5yCd6Mpz1PfgLjXOWUxTnf yiSKwvzxGwyb
cyY4FJ62qCi5UrNAr3zdyTviJJlPU0mxsL+CpYpjfxVtI3hsm0cAhJIRaYLp s3HqsgaNKhvK
7bzrocjBGoAfgse3X99wDKQZg2Fqd4AWg3JjwDPwp2wCkoM14RhZMlpQxn6w CzIKkcNOWFQn
5ozCJrAqTcqzCk1hawzOYMNmzM50wmbMLdhE/I3PjMJWmF2wRNSZXdhEVplc RBjbQGeWo9u8
L42FM8XY+4vmpDD52+JoqUQzhFiv+lkXRxdzYIkS4ciuGLOk0p4gKQv688VL QxmhKw1Yc8Ry
6IkT9YSKdBQGqkmAt+EopIniEx4b+KiPruczt/Bzx693ZJmHDlbIhg7YIx7E 28azt1EitOSh
Y03MLuTXCA20XQh/m3AD2DfGszvXpuxSwgJ8jtwgzbK1WWg4YZvowk3cZKzN WOAHr1ZEmDtr
2JpU4AdtLokyt+ez1qsHGTfdJM3cW83YTxmnbrhJm65rMnPdMM1ecZPW41am ouAHq/cTprK0
WLK9/w3iJa3XrkxJ/4t//Re/m7X+9S/eW9IModWs9Y5xCv9fvIQWi7YLplk8 ftL6YU1mKl7Y
Okq4yYuqtdlxuOHLE1Em32aW5rFhBp+7pNlfm+nqC8YpPU7SpnQtliou2KZ0 hPGr5ZWpNIKw
deu7D6KMbioLV4txm2HDjG7Xsbzu7Q5zc9ygdR78Jvd/E79Xpma4YZsQ4Mev iv91/4XH/xtd
/NflgW2aNdBnLVo8uriQNLPk2d/VorE7HRVzkU/JPnQ0PoMJalPRH/jF8JUp fsmy2Cvp0+sH
QluTFyQO8govYxuuyKpTCAG2yHnypsXXA4j/vrgP9voqxxeoGmV4ro/SX27j jN5ZUr4tLrGD
8MHp/2dX8QYvEowCov9l4v9lEv+xXlHGXklZWl7uSGVowlhLiFulhTvgUFIC pYC/TKGi+Yp3
31RgEvlKiM3xQbmzVC9vUTrvqyZYuwO7+zzQoS/JGb0U8Z+g6+fxjiB+8ygO PB6IStBvkGuh
wtCYStGQGVOiO0QBDUvDye5FdJ/SgkCGmCIVPExKfXcGKOQQLeA2s8hQNwmz y+/9zeIuEiV1
xVxS9kMzDUxgpsrLsPxZq/BLfupWDRQXcxhwmBHksP1AMYIQIwZGOoz8K5fO EJzgKib5ncIE
V8SfvL++MqgPTY46UStf2avUkAPmfTl+z14F6GbXf5Z83o3Na41Z8OUljBdY TyCF0ioUwzM1
yq5K2w756QwqXa+qoqiywbYQ/wWN9Z1k6DDrgXwPKgJmERubnbURDwdJqtEr wkzWkx42VkWi
ikZ3YtY1bwmO9ZAdqy3r8yX/c7URyynIkMgg1pFM1zDKftCXcN1YkaO0+gWt fia2YMdegdQJ
PGILvgm3hBK2p0g4IMzgdP3V9kJsQ1+DUfHrWAB+/GstUgRxJbCHr1yvqLDN r5syRREBb518
65fZGbnJaZ28IL2Bm+7jqZ1gootRpCQyVTq6aP44un15sA9YSogNvoPbVkCT Z58As2c2aNrg
ZByOnpukkRZ0IE9eDelPsY0gQ9Zwcf3jMc6PiJxZdHubaguBtAUfharbt2sC am621zmBfwpj
7HjLdgj6t52VcdFXYuSDBPmEf1tkparRJqRpXqNZR8/a0Bdh6Y/r15DJRCRR tyoIlDh5RTGx
ahMWCQKyZ45w54+iYEvb8R8EMofn37s7qhlavOYtgbWFq0L+1AqbQFL02SfN 3IyXjkxCi76r
NgHwJs18AzpFIABZsh45TiNJ4eyPk0ySSEYyQ4g4zVl7l3RCAGClH0ypjTRl TFk+Rbk2vNgj
LsjRGTVm44XoKozaXJomZ9io4fFvgO+qiPm6H+z4sONOVfuTlVEOAtfaUnCt GL+rxgU3pxB7
QhsKBeRbNwZxHrW4LgJ/3i97QvXVn9uHcvMRUAd6X7cAILcQUpdCPs9lVVkS gWz4USOOh6nt
cZZXwtktFHJjBk6wz/4KD1TaAdjyAVlOjKb92zWC2pHiQvT4QB4HzK3IwX09 XmBsR9Krkfk7
xLhAcwfarujDPVBcBH0jfp/gRUojSkGMMmP1nNhMToj4ERVH2rwwlfoE6XfM keE2xPSDTI1Q
c0M4vZDJOyedOI5FZ5raPm8HMn7Z2dN7HR889f3PNuzeQZjQSIxI0q/ss9D0 CGOHWE54BrTB
e+bE+PToc48ayoHLIeQuveo+nKFMDRr6PrkD7C1auxE6I5qVSG/IncA/Ed0e VR4gf4n0hnmG
sz3+vEH/ida/w5/uw2kW3SrFC/RutvPoXUF4tSLyihuBaHZ8S0gLR7CmOCTR ysiTuVe6pvWR
5UHAsFbfd96IfUtqBdZfvbiDq4HaXdLr+9PCcQd6DfOl+IkssOI34G89/RZK fyfDh9S70rnH
8ZH4VrOD8XoZfO/ti9zPcifwIfylVDeS//R4Z/7N/AXoRfdf/AOp26uC6VXM +FwWUtpLiPyk
Lpr0kye5IoBy/aQv6i0SAS/e6BArfwBZnC2ZWHW9OJe4OiUJaeaSTkMj3Ofg SCxPLCfFvGGI
X9OD3cyBbPmCTAV7WfyXWN0UJW65N6mqEUz/AvQdG4VuyF0ZoQzxKFi8G7IM +Sg8/OkctY9M
ue8t0A8XHfFoT0ty9PwX2Z7uHJw5Iyl9QKEHs4jWrWSNmmBCNZllbJ+KAznp mW6B+ALZhfuA
cM5wwpIpQ9Fymz26If8SJz0vl5UDz70qMImRDGmmjJLkbqyzuVPzRsg+UVhV 07g9UbExQ+2K
4fHsM/uqxvYjWodXoo8Yn5lURlqNpRIDU1ChyzlJWMVGUsKPOdYgDXKPF0tJ 63gb/g2gy9rQ
T8sLT8PyuaAMQYEJu8ElItOIn0g9F0fYi+8K6ncGT33Ohqzh35ZepCpMJZSF d0cv3tWIXxUe
4PrcSX6mZN8quRXBE6gkC/bQPzOaGNamWtUjy89FLjVIs+kknQHW8cX+jVrS WXg0SomrV5xD
KdFOT3I7W6oqAH8DO5MQJ4cN9igQjvmi1QgML6RT+jFyjFWMkLFf6iZC9kxA 4BGFjKqw4bhM
0GYR8/UaMYGLYvA5FCODZAeibWpHA+BMUDfInnflY+EYQ6gTuGVKWgCg3Uis u2hOMDgmGDwm
nM1IrjUxVCOGB/LMIsx4NOd7D6UgYzFMBfRHxzQNSa1WyNNoZt7crmnPIuQ6 dJl7caVYnCHm
B06ahsSuWd8Dmy2SmX6KIc+3IE58ffJr8+yciX5aP8wGqS9FLcwgQoZ0ahID jPzDz0CT5O57
P0tXbti+znGZHzjYqNKyvd17I8Z7/ofL9D3sHdRjmc48W9kC5hbC+hbTBHFx NMbYY9uh7LDM
+Qjr4yy5k8Tk/SQ13Z0JyRh21/U7l3XFOhmS8VRGrHGbeICL0PIx9O8qHxGl VEXMvxQ4Ab7I
5Mbnz51wS4OglbFaGgcX5zj7g6jJ18PSDcQvRkuDzv2ok00YNEYM6JvR/fGL Il7gAnVWQ1WH
nhKiU8cZ1zkif1V3LwwymQVKTx1HROTycNVNFUPKkr/qksFN6oGxbHESiODG rAwFwbESCsmb
f/rGYO0CjhpyZU8dvzC+GYy4Z1WyoA6kzyhrg0iGnx1i1oBGI+UYhW0CG4rg H4ZsFSlbhWPb
cmXNcXRob0Imh3Xr9bbg/kRdm/DD3RVYhKiLofgQUj5jdO5rN0D8UNxI9HoA 8USEM4rxBm0P
F69p84atH0jhkuYNJB5Y4jLk9fPe02bOOXMq8Cr8flRAXpfxaPUIRX9etej3 +/dCdMzZ/vvB
B3g+ol3h8dHxd/oHKD4SPmEEEb5vpW8cPxI2Q/nD6iBDHAs5J3PCohP4TBSB ToYiUBUhSUSp
im5DdSWG5w6kPSRwkwW/nsAsNchDRZpKDDXf4sw10Lu9+HYKYKNBtJMV4Ieb sLxf38I1LIm0
Yd4viKiGnXyxauOLzAg6epo7Tm4PaiYkltlLMc+pjXSzaouWA6qqplJ/freJ t0bRT0cIizUg
1UB3+HH0oQuOCyFEvej0NqJI05uAIhPJDc1G/soe23yes23Zlo3LrKbhm/CO qjKXSauydblG
jX5AWGRrZcJYzZ+9zqiWws+mY2Ra0NK2/Y6cMYgMGSdK6QQvhR7XtebKqftC EVaElY64JEDr
+4NMTsBEXCv39qzQrImwqdrUgih/33AIWfKLOC54xN9dOuALnIwyEDU6Vzwg NyyfoOxvBVRt
uOeTgusfeLNSyW5DBURXrKU1SQS59T/W5cMrsz1BlV6LvW1YNeEkWtMW34E2 w73oV0e1z4Iz
rB3O4bqGvIG9QVR+oPmcQFJFWNyLTeFhCTWZDjlm/Q7TEFxZBE4tQFMruOXz yHu40CNqluMO
mSvw7Mg+4StQN0txAXha5hYLyntQNThdJa7h6i34d60rMPzLHwMcG0pdMmHA dCgoLTayyx/G
5P3BLcCc0jgRKM2HjPEgt8S2iLVL4IfvG4xdOjhxLRuQW79jh/4xNr6Q0Ie2 p+h478+Gx1dd
Go0gjxTmxq/E8mMo9UkMyw2TeZls4qANViZZGsTFlvMD1GsTJu1sKunm9SLp bJKZJehh7BpJ
nZpptFVLMqNcdv0lSxjR7lbFrQo65FfL7mE728gntmyizGuBC+u8YdcEat/p pi9foPN/D88X
CekFOKV146HtHslPbDyi5ghZclTqGFhGHFCrwbL3nDuyX7RJf0nahMA34cFA F03rc+nYJQWO
SeJ9u590fYr49MPGga08Wp90gR80RKiUVLwrUxgmjS3l7T39b1X1GpWzHVT0 0EtrLvvGOrKj
XR2Hz8QJhTBWBwoMGvNX96Nx7tOam8m3skrZ9jKql8Bx0105jnt1OMi4+DrR UCJv0/CMl7+8
nDjgoaeXvZxhFI6QbGx+eDNsmHuTF0mTtGSfI4quvUzXvVxgHmB71At1gYCv kS3KagJnNrTO
inTBt1smC+vcwHBLdcFEmq0lvevIrrvhRyxXBz2o80u2gd43uCnnVgZha+DN rP4Ia1SFM1+z
U5Y9hGLXeG101wM2hbK2gF4tY++AUglWbkhqdqS0unluzv6mnvG/0iSSwuQN bJaqNQdLmBgV
9w8zCs2UyT82MzErbFjk+WLHDXYycwSJrVTh4OrISslMK+AoIXRZyEqtyhAH ycymJWf2alnL
97a/J7N2U0qjks3LpLgTEcsq3PRUvBdvt9mSD8O5H1eYbdE2Ad9CNSoe/2ih sEtHVZNvcYkq
zMPVyu1rSN9kK7pG9YC+zrHergtX4fcjIH4B0UVTcTdNdSGFjWJiUoXRY9Wj fAVWZQYijfZF
GBscXY8kbrVDhGNWup/P+wok61sMSKwKvaIGp9TKuNCMRqwghnc2NaI+ekt7 RCcVUlTHJszM
mjiTuJj07UDGiWq0JCSIGS7jw9uZpk9NR8EsZ7XM0RFLmFGKSVG341/RJk2g IKvD8Hk0kavY
4vzty2bTH2W3vuCqO3DEHR06IR+LsmkHO6YShjko+OM7dJ25/k7bZ2708c2I K8f9wEo2Niso
cc0lOZ8XXnzOJekNLG7BMODilfe7Gwqm+Y+k/W6Y1TUep8In5opFfl/qRtlR qgDJ9zZEZ7P9
HtE1j4fapkLHJ19X3TeQgPXfwL+WvYWFeIISEFe1JC/zbLhFl5w6Cn2RXhC0 czwHFR3Rht0o
aZcSe9DdNHll7oMwT35t4ggHZnygl8/AHun8iNmU3/7yBCH2l6OHox+IX1IE 1LK+ojol6HwI
yHHmFFBrtLZB9qrPfealr7jQ3Ue/A8Bh7tClw/MoLOBqB/yRSwab5vKLWk+p sA5unRtNsUwU
GMRny/2KmHdRudw5enhZmBMtWcProNoQdu0GXoskuyULce6Lxb9oGSQtz/jd VAaDmOO/c7oU
x8ashhhMVX/QgFtKlGPfbEu+bEl+6uG/orw2rfDQmnveiejcaFeSWZh9QXCL FUIKvfBjVh/3
TXyhaRfKBpQHcmtmIzr3nOyWUnNw+Jh51OnJfSxpEP4GCyRxgovEoSbKw7gr QieEOjDcKArX
h80LL8Rp5VLbMotgs2U6m3mh/KhjO4F/LwcykIR+fGozsvBlI76yGrJQaF4a 4BrqBCuJKyX3
JZxnYS046IItDSQ+eRCu92IpsyR9w70BmRrCCZu0HQFeTEi1TSiGiIktzEhN 5cxQR1l7uDvQ
ddDN/RJfQ6gM8ELp/HZQITVruBeXW5hLGBxZdKJ5kmW3PYRdw8LQGxdFegy8 jtZKTdPJx9QQ
LiTGZj/H/eBzQJ4dzBKKb41F4tJLwbVuvj//48zLI/4BkLrhxgtA+SoOsh2T z2Kt776Jtn76
jK3TBGPuoBd9gmx4nrc+sRsnsZe+XboCTGOnUPne53fDOIb1v6I4hP1XNRk+ G3fYTGrXxPof
Fsdn1BUqHWMTmriB0YqfpzelJOk9R4erIfVoWP7R36Uk9RBt8erZv73bK54w pQCIblcOkqt2
0NIeoPqsIYFMxrIQ+ZSWvKRMkrQ1FCFOSh17dkxOFXuWtE8u9SxrMqwqPTGx HxsY/qfn3Wn5
CW3+93MReuzfPOGHWrFmfbmBV3MeYxVzSd7xeXgpwkxRYTxtagrRN5HIZwe9 OTkb1Gqk1JQL
gqVl0vVfmi7SYeTaklEte1jGsuX49+hn5UBaU8we3dW2l7boKxeiqrF19vw8 biN32LQkCE2o
IF5oLnNVhdl6oN3PqYyCAqDg5+aJ+Tw4JxenA8LfvJSr6kKxfvw5hfqw5ufp CbPaoOoX1vte
1Lsl+tBwH6Z31X5cXeX6wAxK72jf0m/ivdg/xfqgfxfrxJbsxVV2A/h9Scgv s+8kfVngV/7s
WXTDOz9tOiT1oCks2o+CfeBp1NgPpv7Kr/gLyrB0OzT51GmR2ZGdVn7tUeeH sKNwy1u7G65w
znOP5stBp+59Z+3L4FcnEDD9MUgs5C/qskCAovuUWxT/kzK2ko8k8nQ6ZPHt 6Zj1E5RR1ktJ
/aQ+tP5RdUD87eoItaxf1kvHfnEb4fWt6xj+09Am81d0q9ifHH/pNdL9eXZY 4qN3ePSXf6U/
Uc9875LiX62mJ/vmX9/aNcE/uSuaf4UuC/2Lnuf/loE967fQfgew69ivyLMJ ZlsXtKbsWYlY
mGNluWUaWqxi/m7dqW/WGlyxYwLZUBucv2FCbtZ9ugEVp7jGKm56CUssumbp sNjFstyIF+94
qZoHYIhzbDN7XdTOy9zaP61AYPs+EYnr+5bMK8wycZ+rxMi2o39DU3V5ia4Q +1bqhCUSaQ2p
cK0T6WTqlIB+eCQSpp8Ae7n/FPHWiB3ua7RnZDugmFZCe4nxSNRqomdtiPZ3 frB/UDoe0qzx
S//tgOwJuR6d12qUdQThhAKfRB3tLxsaLsoNoTxSMocwQkT1mhPvUm9OnwtW pH2bcCt6Qw2D
7mnOLYELb0KTrwq7x7ejaUbxSeXR9EamR881uebnBCwvSH+Q8h/bfm3JB8KE n34Wvegn8fFa
3ZGsOdid5m6JW2L0GcLfKk329s7v6uptAz8PNcfgCZdfFyytNZCSpHq6FR7x RcUX/tP0YdDy
yz0CnkD0ndzeetKJF4421nZXOB0hLvHMfLoLpeOp2UELJuN5xrjQno1aLeMM ZZOg0PE2JGsT
6UNNwacmTMIk283cMgkt7pZTPgFF68ACKj9qxSB6b6F7V6yerJNn4vMtSi7W yHxUUQcqQI5H
v0/MmU3oMNr0OvgfpGK+xIi5iuLq0yIonTWNXmwlM7ArINS7x2SwX7MhUKaF n8aqF/xfh6cv
53d2cW/jL+nv8yTKzrZ+kVUyWytfCLVfCPWHbl21nyPMiQcle1H+BV0ST/Ey iYnQQMyk/QM9
iH007ln1qvJkcREoQojQhwkfxwTCjUWyL2pMK8vitKdqjIuKc0gke2d0KFrO 6lQ4wgmlhomy
R0udL+NSFRPpEMoExY7pWT+eAe2OubhHXwyEDbljKhs+Got1l8KEo8d80uct TnTFErUnU4z5
gvKVzIThaoz/EcPYMeJzZZNi1NEA6Y0T3RCvFCah8q5hDBUWI41rprpPWYzt HIudY0c7iDXi
BItiR7S8jElzj3wI27XDiWLPPDOgHdvkGO4Iz455egA64vkW0QCdT/hmWek/ 0wakz0g/gBDb
8lbqWHFmp0MUx1yLGhxTJVrr2JJhoUPzG2c10nPk+cDlENwxrEFPx2CLspbV DvkPJkf0Zkzs
AX+xWpeFDXI+5h9JAi0o4Bec+RTz/FMRvPvWP2xzUl2ks1psGmDbYvZYs/pC eVSaH3O6CUf7
O+DTwX5B+NADh4blG7J9DPvqmeDnhG+bZTutA0qqL4u0PTmJ4kJiWmOyCJr9 zehMDiYMGcQZ
Lq5+QJPLltEdkYsPgmEiuo8FihwioR3gSE4e2O6iTZNsJIW1WFCuxRT4XYGZ BLZsDxO7Xcnw
dQ0Jvnfy8xGYxEZ4ica/S86klPm2CLiwN+bdvJ8dijmk9TeLmzlEEFaV+Tt0 FYXIjnLeBsB2
N9tMs4mrwMJBveJGqwejRleFeav89FGd/XvfLayoZl1idA0wO/vZXwT71mCu Y0cLy+5/mWAq
CLfeg4TEYBh23SPLsuuFcY3QMKbvIR8CKDn0ghdj3Q1i7+m3DLokzP4vzt4p SJhu2RZt27a/
tm3btm3btm3btm3b3V/bNs6/19477o2466yHGzGjoqoeM0eOrDmzcuQHybat NyxXtN2E8OsQ
0+jrXew9/tvyW8L0A9lb3r1ec4xefc49tiszrDSTzDSjzeRfb/fA8zEJU4Ay RG190v0KU6JZ
tqT6QelRphnX9sh96OkX94oNwDomnW1D10Gb4bIB6YEeU3TvVemRtOnk9I39 qQXixTST/gAY
kRcNyLTqfy5lLxqw3rtcSw33mJiK6Sj83BQf49AwhHTx9QbopeG9jE/iQSVI Y3tivILOL64y
dMS6XyLZbIvF60IKpxk3JqELNt9P5h8YfjX0LHzpk14AwBxmqUkSAV7WtTKZ VknPNeTCpgx7
S3xNIT87xawowmwVppeEBJCxMXx9Kulvqm+KGlk1whd1r+6iLmZg7QCmCNZM wIrT0hCZwPl9
HtQ4dnjgRTMI0vTgQxQn9/RrOGAGTtTUbE771k441axjQ1iPwu2b0yFb00n6 XRyAL5nIBxKF
XgvTaU7uhYkGzlR/YRfmtibdh7q+peKzOWJOjkA5pDhDsuHda+2YtcnMloo7 Goi4uDY5Kw+Y
2g+67mMyBHZrOkoQ+yyRxFgO2zy6ZYbaeHRzM0pcPZpFEya6OBPVbaj7RBUi ik9gJXdXNwCj
2IT4BxclBg7jJ6gVYWJIqGNtByLq4s5a7OusFk/5GiG46D3MaUiQGIIysA84 Q6ajCcNsg1Vq
yMOsgxlDcBYDH4xDpm0HnJypcjewCaUIP0fjedgEzUKuNKAn8BIvYJ2y0BqZ PbQrQr6wbs2s
Zxy/lXMM2wE9lwcRq2i0r8dWAJ19Lg1mLLEvDwapec0iyzgZX1Kry0Neqmga NulUwYct8XsY
WX5Q40goan0BQKt+kBSn+SVw38oHPMWT/kSYKfvL864g88o+d32Y3nUBrm0v Z8+VyFQ2Y0p7
bEreZnT3n3lnmpBmmXgq4KrX4jZqU230za9okIULpWbrZvKsqSmjMfmXGQBg 8iM6M0cVRHGg
N04jYRiFHig78VbTW4kvpA1xPjq3L2kDxqVTHcA+wrxNciOHeKDhGeTGZJxw pNvUjhhNSznk
e2DCMdb1E56ksG93Q4llru0bP3I6hq/9hXkEy7aoHVqaflY33A32Y2Pbx3Ii 1jVdPUw5Ie3e
3Q50S2/bzzmpad+pHiN9hPNe3g6Vy/rtX5vhusd14uq12w3Cz+C6Uzr8DvLI QziRNUjvEuns
EHuif5Us4hLCFGPexaCViYEvD5VqQppXwPkTm/QZpiNMl3F5Rg/mh0g4iGlP 2Uv3SIIcJyAG
k5ixyf8UMbCoAyeohEPH1EJYPjE+NNdXRerExev+QdH4CvEZgY4fKU9NGzqp lWN4phs79Gob
KowZf7vz1w5ByMQyfryllvahpz6vbpjVT4ZWRT7xj6x8XR6CB49Ej28fxgqB LISpcamVDBEZ
8cZYl48jNqMrmw+A1JB3sOmrwpkpL1jPzJhFKH4Q4UmSfeA7ijRTXqjgo4a6 Pi+81LSfYMu7
4XaArMyyy4owo17gasV0GkHK+0vwbAIw7g8LJIuvEXhH88tR7cnd/GITx/7Z bJB9DCDX8Nu0
c6Nd784Foeyhit4ya5+cVQAGb9QgPkM2OibLT09WPhVfC4FRdAjzgwasdnEi N5c+bddIeUa3
QvGmFVJSqUQ4EHQvXZ41m8ErIalHgOc9/Z6vBpUFRSKCR7eg+5rYZX5c51QX 5qLSdL5VErb5
MPSbJWyYK3q1HSn2Q1m6dnv2LW94SI0Stl0SC89wMO/txdOf3ZXzfvxOTtwN 3pSt/AA0dBe3
lna2Gju+q5JzAj1Ucw5ZQ6XrnaxRTo0MfMdl6CssnyrcB96ZI5PxFBvFjDdf Nv6N06P8S+ZI
CuysvdNJzbOp14K/ugSnywzpG4lPSmt5s3jR7hPZPAIq1adVa7aDplfHYG8n jC6GlI+ME7cm
nREb3UPUpTYgYoCXWb81/i71eW2XghLLsZ4yJcMJPj3GbBxCOf4JWtpnpKGb iAZcLCs6PV0L
OzuuC5jhq22dSN+zF67ivsz9K4RZvDv8vBnYPC67aOMG4ydU840jPNxBtbsE sdP2Sdj2cpff
T/nccjfTzbaKNsmcHVZBnBH2SRdHaqC+pPg2x1UzgGwMfl3Oj9VNazYf11ia Jcb03H5LdkJG
XfFTB8qNj2sE+r2AFSdZ8aL2re+sMCx7AfcnXSi93fBm6fj97ydi9hXvDCE0 ev2wJ2nydr6g
XDO3+5BOfN3WPwB2GX39nyd19XtfsD9WeP56NPxDgs002Ek0+C/1XxjNQBiN ODiidxBUgHLN
SA6RKcEhqoxoGtf1o5ZxVdVw7hw9bkEpoVnVtu0rF7FbNXjtQxchMqpy2yJ3 xE/eOxcxt5o+
90JV+L6GoA55Lii+Bs9F7mb55na4ZJ6aQcL4VvXjrbHoY+pCI/yesY2h4UnV DYaZLLLTzaNR
G6sRh8pUatTNskgmyrqWM2in6mWRjzVLwyqqBe2rlGhZNR2HeIFuWn8M61j0 uK1pEOQ0oUce
VSvcpzRJeBsnh9NUO9btVMLzaihrclRqXBpSLXZqjjXxrVJW9zr5sa1rVkU1 0C2LZvSavR+N
bFpbWF2H1LOQ71M2s8PrSMYfU0Ao9CTiyeN7F0N5dyNW5GvC5OdLDvMeLlIh 1cLNjGtAnw9Z
b1fvuQold6leBuoMs2FuvtOvQp4At2PVKlUg2g45O4bOwl/cm+XbYj/1M+Pb Ikak37SzBz+9
DCm6x/suwSYOvclJvYmai1CvCL3XpYAWl2GN1BNKp6Id9emHYka+JUuWnscn 1DmxtXGPA0ur
1gIK7LRsmLtGZWbmRGK3OTalT7tf8CKjnVnjUYiJY+QO34S5e4KXRCE9b8dy cCfz1OpXg2wU
VPV3YGJbABVrYuZTJnuqNTHMbQIRVuLqL/aFL9HSrXegyLSe5c1tYnbYQlAX VqxFjhahBHQZ
ReKhhjE3SxIp2HUlR/x15we2engQY1O7ur1n2zkcPQY2JVh8NR+3dwxZY1Sm M1AAH5hnc+g/
RY/q0qQZFDeqy4SXKIa6hvvr0QQu8BaPjsqzpp+M0Nem13PAkCm2L1sjVqU9 FoIlXCMFg7+O
nsZpkB2Vs44clLHdZHgPgzRdLnJr4LRJyjtT8v7EXYxsr+9AHK6QnJhdI0St TngBGzLULUZ5
FEzK3qgON2fQmE8xodqYJrMuhnL/uUz+03dKeMIYlj8WIPebEl2YaTo6cRYH OWtooxIY1eWL
hozjJxZmF9QtF8ioLl9dQQNi0oySHKAI4wi9wkK+mUkXhkWVlqSOlgR0uuBE C+tli3tMGHxo
CJmCzlRrjGxsRroFW0iUdKcCW0i5ZI6wop0+ZbiPrp5PfQjWIC5xO7rXx3T/ K1EEpwjX2y6x
U7VfRfIlzWpl4LU8O4OSdDuzPDQi4NGz1sX5qNfr0hdWh79JK7GTOhI/Euc1 PlDeaNWEP+5A
4RcxUROrLWdsxXU0VcyfJoxRPE7ZiambVOFcQanUSFxRms50zEvXhS2KWHRB o2vn0zIDjakO
j97C8rdFHpEPTU0X6PCWJlFs4jn0SDMB0MYfsGF2Y2F24z7HqeattqY1U+dS 9M4JfZXFLu6m
LatSbvloZ2CatCEwyvLzGwzAgyqwZ925LpuSS7BpIGvL9OupbX0t1tAojZpq OYs6IZVOSlrr
1guVAY0ZbXDlztQbWhe8p1/r3NSaSgcvJbHpSaMrv+eZoH1VKN6UR5T2ywHD mgcwiVpSvLqs
IDp3qsbsgOjSpH3YE5S2RTeI6swj55nya8gT+KZ1N3BntW/f4tLGfcITnLd5 N2Su5nXf6xKY
Xd8nXN9HGHBqDIOAfeEj+LBEriGrBb6pmu6e/ZIKx8In7m/N7z7OpZi25Xcw usbvSMsqnTs0
z22j75BXDfC6OctfWc9eU+JeC6u3Dpt9v2uQANdE+yvjg81rYfiuoDMrN5Rv GzWYZq4IgxdE
w+odDenmrigLVzmGrZs/k9e7hhk7YtqGr6jY10XDNK7yVyWnSa6l7kOzaHkb 3yPoruJflvCr
0p/uMw1h5hIv9jQ7eAXPLXLzjNcJmwwg+FZxi6EbRS0ZL+o1w7MLaBt/m1Ne 3G1SfApdI3iU
u1J3t4Tntq4tNpNenK//eIW+lPpEvhTwSH1u5hZ9m+eVFumUa7km7E7Qri5d dXjafaL45Peo
4xuknXO8IH0LdwnmGa+dmbycf5y/QPnE9CjuGeZV7FnmFd3Wz63kNcwt8bXM rfG10S2/bqFj
6v/OmNtVEZQnJPEMxfjOTD7bsr7DgOchU0kAb2JnsgcRwGpr8swlS13ZliOZ TfxxZQwRYjLe
9GkAx3SvY1XLnolfx6lYkS5Pgq6vwIUmmxLZWAwVyK1uaUGiK3+woBvQjrvh SadNc5ASY1dc
3fyAcNfBQ7ub3eRWOATlVvJoS+bsU92QDm8acXaV8Sbq39tvaVppjQrRZTBW vNHHN/YmFRPm
XSvTztlOvQ/5qo3D0Sq9dKtJhHG0xpxsKDFtbyZQNmn3ffjythGbTmGDQ7uv cfksPWFpUPYF
8Xvf6sWz/gSDWL8sCPJBdm6yC819ARuvtzKo7oGEupqpX68NKnmhse/0ocqW 0enzN19bdxt2
TTGwYUbQpDoF+4MicbkmKqiiTlVSJ3WG0xDvlmLQwq52TTlE6ZALI590IE2h l6XJLlCdCGgJ
+JTmNMT3rYaWUPcm4BOAWxeRRieBLseX7Aw7We/g3h2tk4fE6DeRdixtYZKd /T7VQWKBGjlb
pDKsJvx42g4X5YVsfK9TnP7WBoAvpBZ/BdZWnd+dSicXEQnDRnAqMoPY8XIB sxYxi/gqtSvl
cHFgx1jxfFNCYh+Ttf8BtzT0JQ6P/J4I81pP7ELCoCvAyGS9EQeiKbZ5IWMo bYTjnIPNoeN6
hJtSsnuTL2FjE+A6PWdl+xjQVeKJ2DBoy1tPWWrWNqhQbBZTbCZTbMZVkNOD vXjNM7/Tix/b
iO8v/SlwZscHhHwtZhD7zU5dnxcs+UmhbsEHm7Y+14/2ybFuyQfvtvEbDPYJ um7TBwG/QTeA
/GJ1F/kN5q3fB6m3ZTcA+GnztHFr6PXJM93M1290Be8Q/40I18Y3yvBClm7l F/n+Ysa+4wt7
ugVvUPFNsDr/6O1Fpmvjh9sVE7smLCdRG3HGJJDLi3x0zqSLvGAWyO0z2oLo MxrF4yM7DM3j
MzuMuTvzGLEuYtmKf5K/t3VVRfJLvETtjlhbghJZAJ8vqvst3v9CL7qq6DjQ F3DukQ48HOW1
SEfc2Tp0udvA+etC4o06hpVV0OWGmj13vIHXTqoF6iTTroI9+wqZ+L59fdq8 7uGn2SpWSItS
PLJDhpBeWovMvXXiEpiZugaJctpKiyz8NrZDXl7QdzEeE+jdC6JwsJHSuUXY hSemBh/AKja6
ghK9eJcuhvpMXJqCnU9ncUw3v8EL0HNleiZ0OPlCCPMAiSF7nMAL6+jNmX3G RLBnNkidByrC
iz0J2ZZ8MfvwfkCpB8D6gbN+JeVv0yu8fiwVCO4zcddch8t9awVPh/hFudJ3 cAnx+4ALePvJ
OcSrB3X16hKA71NxF0UXgtbM3Oxzvj67hrrkLabPpsd2dXmJ+cmAdIW+Muqb yxobSrh7rTvQ
533lMeTEbaeePAtZ5wzvyWmy6Dku2YX48TgX470iUG2L4qcHz/PGXhrUHlx3 XTrB1YavIKGz
XgJSGqTOJewpvrZNQYtOUKc0OajygEaGXp1zqEkJQhSCXb4vTAt+i8JW6EbD 7iFeNH607hkU
+KVAjhAyPmB9RmCp8imEpEgBapdnyHaYdjlQSLAhDgcjVUKOnapEVmFkwRJj iKy3i00ml2J9
+9PQLc0mEhP6vh68D5xEcZkvxW0A3vBHELEjkM3Ex0lJKlGqUPrtEpsCkmQZ xausfSX68z7D
8adFFP/38Inf/BZagGyPgH2RDUP0M5ZsB3LAfU+e/A42yHDPfjEL0b7UjkT7 BFvkgxELy8dI
Hz4F/+G4/2+vQzEZWWJstjAnI2DvnYxgHh08kzeyfbwd48l7qUGBXedyBPYy jphLofhy1V+I
QE+v03aRQ9Y5IdSImtwwSqS2qXZyxLJIruIwyzgPw6wn+b8MIl/AfiTwKv6x 7Uqe5YbmaG4S
8CpwnyM7i0I5kHnh14t0PCDYIzxPokBXQd4VURHVUerwCXseynuJkCBKS+KO yQsv3GdueD5N
A7dZSy+33JFePUYz/usH16UgwkHowiDCRThID7/IkWvbUson9YYK8t/+ieaL +hh+SyYaOtuv
LmLjmqOTdD7ldZa3KF3MP2juffpPkSu38xJXqSdrikZeEj7rCx+R/feoQmJ7 3GcXVAEDvfQw
zzT+Dr0hR8yD9fNt7DdpnmgiYp3iN8MVe7pK4O06ByTvO94x21+2tkJXiK/A e65rDiQpL4np
bQuPgB9ZMn7wi3vkH14Qw7+A/9XMCjamwePOCQBA6fyfmlnZ/30zq4qthY29 tYmNia2zifH/
Spf+f0RLFWSkhvhRsq/LYmpqalY+HBC5m1Gjw9lE4ivzQehWdttcKqiyZCRY DX9TAonc78Df
iobTbFDhIzHW03Lakiamt9pe09QAttSN1hWKCqQuQ/ce6FdFPwZ7lhfxKQ6g bYZXQiB8Kjoi
Y2/BDI2N8x/1YVqOgNUceJz7cIsxKRMg/qjxIIoud3LzGOqbwZTI5hMPtZw7 oEZRk8JDHhc1
7MErD8u/VptaFzvCD8XH8WBm8IRu9y4v4tAzZ/IxavKESpO1I8Gcm1apCSOa gGMqR9rTa/FD
qYQ2krWwx333QtC56yG2XYACP0xM0BxYMBnV/tHYeP7hQ3O8gAk59x3VsGz1 hTxyDmLHCUfO
+HL4C79RIwx8mUwkBCxlAKpxxO/UZB5KGdLsJTogpXwKkYMg+8fs2my6jS1P 3qs+G7TSSVyJ
JkEXE1RZnqyZ3WDJa0I32kjl/GK+/0F5qQVjvBVfoes3cWrDdGUShSy4Aoa4 CdLqGfhfOiYN
D932gAAADv+xRZn433v1X63JygaG1v+jEqGTOGG7RY8QKtZwyaKbybqz5OPQ OXzTW4zOJg4A
XIssbAPfs8BIw5QqHlQY2Ry3KoSfD6/iLB5jQgBWHfdrz/5hNtz36/sL6I/n /aRPpRms85VX
jy9dthie7haXLvuGzhrrjskNv+lah82A6Qo/RsZNb0LuLo/bFHw7407/mr+O aQ3PTX6mcSgw
Y/sETJw8LG8spDLkIt3B0jXbpsHoKhcjUoyMVo7FKiOOBnsUnFcIWXGUIc8D uRyIb8GL2vGw
VKGEWhb6cnxsPVFvmmqYfsDLNlVsZObZciwgIf5rlu0RoWBn6DW0guBdFALj 1pC7SNQceobz
QtgIhpBSHR5pTzHTeOCUE4CtwhGnTFxy8o1phgyfScj2qUnVw61xtm6M/VLT V2eUIjmtpQfm
fQ+9tyX6npETO38VPzU/3RitgMVltK67I+nEnkPaapfFZ2xrh1lp/Ocq+WJj 4S9zIxkbI4um
DH4QbOWNNqlxfBhDGqmTMXJ9LytzhmltBUNWfV2pmXPyJdqFL8KdCG+ZN+sU vxbJnjoJKbhk
F3TVTnuvWY+f4cC2+Qltdp0i7h0wYkHC6oXt7Tqd5oM+bKS+Xw+RLx45IMHU MFSDZDXi5bCL
YdA6SWu4zaHHIdg90D2RQ5J7hHuGe4h7ijtsLdcuQY9It0S3SDesG84t0i3i 7RDwWNiw2DCc
Q9Zb+lvwW/JbdLvQFZLX8Okw+nDasNrw2jDbcNvd7H3PH/c7wDyr+s9/KR4I 7ll+Uf8DvIL/
KFtC8O/BJ2Bs6WJr5PzfyPP5H30SYNBiZQEUVOGiCPB+YW73oXQM5CRSYRmC bJrrwuOiP9er
v8cRw0F8/fgm2TR/dOetXXenuzPYknbqbuPkANLYSZZLH9NY9xqeTUETyHYy zPc4/443mcAJ
s2uMwQthqrdefSIfHMeTKq8pZ0DmEBrX6cylsAU7F3EQmLv1EsMc1RcIBcmS u+rIcQs3FUB8
rNpTQhzX2mktBaC2U8omZnq7CAn2fL7O4g5qGOH+ogTzYEJYrTLINHHIL0lZ frAS8uk5BP/9
9YIMkdcM8MaJESSENHbsustWqZbRniM84+GDsna4rayJMW6B/hOhVOxOyQfp xx+ZgB9gk1vE
SsxgqgmNsmu0qZ+lQ9owsSr+RYOCqeJEYeF7Yh2qYJezFke5CXSsB5qDyE06 J1ahTUOFjHp8
rc+muqowoKtdY5TX43yFW1+mWjsa2fIv39zWxtTK/kMMvP+RGFj/vW9kLJxs DJyNzE2MJWzt
XZyFzP8hin+jUP0P2fMske5cGRppuQnkWYIS93Z2K0NLPg+U3BrhbiY4KyZG vGlARe4H4e+L
RbBBt+RDgJlyuM3yON3keHv39gCvD2ANxTLhrTPfvPG8ApUci6+bLeI77OBH biGzwDl7jfP8
vhXQjWp2UkKP1qMs2oRVBfggksnklGGa+hxI3DwFnyqdfRyFB+QwJm/WPrCo dY7l8KeH8y3+
s00zqu/ca0zbTLKsH4vfSJO8EDpkZvOCEd3qQRVBUaDs5w8xeJZr41COItcn jUM5waDUqRj2
oO9E3EXtcxB2L9siK8q+QpINDMWTzDNo+9w7id/zfDRDLbjPdjUalrey/VG1 OFiE7e49G58f
HM17tQ47Vy8rhLHUh5KiTwAUYhXkwFJmul5CKVJd0CZ15ncQvZS+RG2imfIU uKaQLF/SJmXE
TdCPSJwyR6AcdZ42IvQmG4yKUA5rVGxGI6qo0UumLFYWwVMtXg7fiFBsh4Zd 1BNYTUOW4Rr0
3/AUvXYgSosIdFIKnY4oSAlv+fiXULUTAchz+D++Xvj/kwREHB3tHJXtrExs /1e2asB26Z9Q
TGKX+NtenMxJQmGhSR7fzt+O7iBQU48CqFj1csWaZZi5bn59R+ENLi4MAecN gB+SrgNeVokG
h+N6GvPas9HG9PN++QkPILdA5kx6SwfWvQuKD8QRtWhPCQauOPrA3ouiACps jkUetUQ0gBfG
KOEiu46D1d7Lu02mTCYw2yziC1nwRR09+MRx0PwaB/TrdvTp+xus3xMuFjj/ QdUAFLavHf4U
Ix2rSBFIYdC1xqYyi/kJZ5uvO0S5CtEleitVy3qYH+mCjWbLQV6gLQJYGyQZ asulPiEfJY8f
muDOkpUL6YGTLbP++UHPC09KFgCj0vtmXmI3FDzPstOTTczWl1ocIK0XNxYh Dnn0yC7M/JGk
lWbATFT98AlfN91kZMvPq7BSd+BYLulrb1L7osCddHpIryx7OZVEVonh+laA 9hsmErsNLQq6
Aomr5tzcT2vwqPv3iriJEqetp8euXcKepu0otc9waCur6IAns+icJ7foW0Nt /ahnAKreNYbs
6KF8s7xoagP354OxKgSuFSAmGXxRvIPcvNgbheXioZF5c0E75OZBMdNrXccd x16ZRXIXnZn3
WLRxEPvDkIyYmpZ0my0ya22EpugtQGG7l3aXMRLfUvWW7b+QQoXSLLnxD1Lg /yNjk/5fPgKd
TdmlTdyVnB1NDGz+GywlGtDeyisZv7PGeBNHiWTAwRnkERATR6DCiMARgsFI Anik/m+BEiek
0SRMGxmQItuUl42rmi21UdeW15NVMSqbQJKDaCKbm2lbha1dUlptq7YuO7Zt KlvXlm2rT785
XifTM0eib9+pe3ROczxxt59+t7faum/7VWXh5rntkvPVPwO9pF87SBuIEnAj Sw2ATRZCnW4L
lk5mZpwWomDeJCApd45KfiS7a82tn2hNZNdF3ALo7NnXktZsfzOS8ARW4LxW RRIpnDwYM8Rb
yQpNJ8V4BULUaPQanIcuaml0pNIgkXADS5vJDiucSXJ3Mc7xGR8BMPi/0iVK uQ4VnMoI5KY9
0Z7EFDM4/Kh52ZNt98DQArXZ/FPZUjfnWwwRw3XpyPvAqXIadEhDexp8nWSM AYYaVzTe/XnQ
brVghL8b2jta29hMSgUsZy3BBTgPz2Wb7Pqjy2bM1+b1+yKMPM7F2QhgSZVS 0fJJy4ouGS/Z
D3WQosYWbdi1lLoU4rNaDOXDKb+PSqFhMwV/gBwVUgREVs+IgiJrFkbAZEoU 8WZYygczq1CZ
P737P8rhpi05LdkYm8D4VpSKBJYswJAzwIH5H1Y0wcFo9nloLdGUp5esQsE6 Z4zVirv0LOkX
kM/3MCRG33RkOpe2DOV1WpK+/npbMyz1yMvnmxYSqhP/HHN5TQ84w8ARlmvb RvzJ5Fy9sMCn
QWSeOWhGqo3B1B7giwmMhglAZVAdZNydPyxzFWSXbqtzqacy8fYIyVcc4aeh azWve1oSg/i5
uGb763Nusxipht0cqco0Y5UPhhAO9bCyXV9dVNQ6lN/SHDtXnbaLJTVG9L1I WGYUlPQF5qKI
brS3X6aqmkSDxWUnUyKT3wVnPWOMRLmMsHbQLti3nn95Hgq0Kc1m+kQmt/Xk xtT/lHFuNa1M
uQhOr2RlSWbIYE4l8tUc0mljWn9/jzjFMY787RDkqVFD+jxgAFYjk5B7rTMh Dt/NNbrbE2Ir
oP4CRYlVpy5sS01bbvhMsrqffo53cc1CWE/fMv/XJFEZyTVmHQcsqoblFH0x CdskPKZRaB5G
bMil/rT1my9dHIg3GG8MCiRGo0O6t3+slq08epJD1U6Mcai1pCIX4+XNkIKF Mlhgy6XXaY26
KiQrEu+LpqmwayiVigchcKQzinfWcCfm73qD4LF40I2BUedZUvhz7jDAbMbG djzjGW9rWdQN
eEExxdIIMLeSnJ+VfERKwc9svs5qbRjMpk0Mr1GBdhqz2zCSEAUVPqEwXqmY +3tT/wYbXllX
6QtYsLV/KcPMWPUjlTMlHVZac33fCzdN/yTtxRSHdhA5+1z37UgErez3Li+L fwwnNX/qWiXU
iPSojHQC8kajKX2ktQjV6qeaGZI0CRbL2ZTq5E+kCAE09qVP9a9R9aCnJxSI UrWBTlwlDksi
jfgVKBPF+AVuy/w63JzjanhPtowUSZHpYjTtHke6uKBQThucM9mHUvaulZ19 ZTP1Qah7NbiJ
3KonRsaYe3HxaeS1JEV8Aw9gLBiPWFyTvR64Qot+SlFLzxWpVAFIERdaHInd NTPxRK4NmM/S
4mhb/AgHJdK3EPD9tGlQbtv2dRcYbovor/E8fZP9witsZ9JPphgdUau9a0wH Mplu68u3/yOv
k1jh/fguCDKkSdhg8QRWfA4cuHpYtajZuZj3wxiE5gvKTdo8Xfr9WWoziylp 1fwmuetiDTAE
dJn3VzXoX5ZmMSMjeZ+bVBNGqY8zdF/PHKkwNkZ2c8ZzfZlP4cBV2/hveM8k +C8y+lLk1UyB
35GOX5cP1IcLEa7H87WvwESNzJLAdvrP9J0tBN4cdYrLLu5PrY+MvN2CPchK t8p7/NCj1+lT
v45uN/ZzfoTjJfxRdJGOwyI+wSCu9YLVwuHphseWTHXw3v03so9+uVvk5vNY qR1oFIrXfItB
6Mcu4oXa6pT1W32ua3kwH7FNobdqy05uvGOa0Dv1Jd+pOAaba/ABcbtNaVq5 J60MeFzLAX7j
rgp3d8LGaqACeGiOPHIW4Qby+yhGhdkS/x2Eb4zZoWXH/V3a7wrp0knjSUeJ kWLlEuxPbcSg
erk3DAnwU6bmGQIAtRGS1x3HZLsHXY7gjOwsdmBDNhJP7Pbr3BQ6U4GGlffC zXy1cx7VWes3
FRa0k3onTnXOS6RCMFpCS9jNObxzJHMjHRr2jX7IrYAup29eqsw3eqydL98m tp6SPFSV+Ohn
m6nomWlU0EJHb80mRsmueBACJFOibVnnYa8EgAckIQsh6sSc1HacqcR+lgpe K7cOoQemYcMG
kAzVZigoLoPbdOEs0GgNzDE6ATNdTmShCbwkKiIY3toZW2NJ5RDvg9E8dAcl caZy/69g+5Hv
SRGwH/ut+L9Ez9SqcsoO78JLhHlKK1yUDd6HhwR5qJZ8khC5av6stoxvPQB2 bUFMQKm0kHGL
1fWX7CqPc9Y/Gci0qE/SPw6VkF1xSuzeiRdsaRhFy87ZJ2E6xM4TChLPil+z gKZALmz0qAAi
CcMoAHmY8bWJWANVGbTFIesm6l9njJrDbOK9Z+TUNvkng0vw1GlhQfsZx/sp ZZUkIRartCIB
YqiKRtJVoFZRDGOKLZKVavK527fQax1i55PUEn3ZvRjFp+vjH8waecrFIq02 QBtuDC+HG5hw
MYuLScu9HbbJqXUcEvgb2/SSam3t2KLmMztzR23ulNuoud1QcxWIna5K7YNK bILYYedAV9Y7
3JJZmttjZ6RX15gFNu7WdfZ8bijS3P4OmJsO0BdA5jHk0RuiZ62QmjnwOsxC TmmTPlFnjppQ
G2qAR5qagmtA9FHONNxQCC3iOZIkeCrioCgKNM9LAM7MwC8RSkCGKgZzBNVn AxUZT+jJwxeK
3WXkNKgIhbQmDc/qB7cAIYuGLs8INFV7RB3NMGKbAxeUkOapLTrAlMmy1Efk BDT9R2Eo75/2
qzFm1x05TbV4k5/mqR4tyd4jJHgdiZblQkBQWjDM+ZqYLIKxGJlSsRiaucGt SgJdiLfeixBq
g1+zhXrAsLUB+lY22TAzE/OF2JLOeA0q1LJtlLKfDrNBZksdKQj2yiGo2Zdk CiJkMyEc2BZB
IB4RI5JB1osX5v8sxYt9xKHj5RaqJPlhYspt2VMazFKKg7IK0rObTWLh+mTX W/xPGt9n79xM
PuLTuTOPuEw/mdm+0tMeyx8bjt/W3NeK99ejLy9PXr2ZPrrTvTHvhGy6CYQP /d91rrccAHMY
8MaPy5Bk4Z15aXiYZdiNT8JrgJnRpgRX/TkxREeufesug4e+QFa3pZn2nIwn iat2cCqvc6Mn
hOuBR98P8Gi8orkDDmm94ZQDSM7YU6en4uXfmEXVspQfjpI9UqUtaR7NfDG1 S4U2vOvFInCD
P1ZPxbnIT2n8hh0qSd5kD/wPXHCnRxtDrdLXC/qul5UNEpgeH8LEcWs6Gc4f ZfxHFvFeUJ1c
tlMtS2TjFPl9MINTKIKlfmNDR1PYpG1c6OfhsOcoIrXJt+CR4qSf6JLx/m5e TrQRZtbhVxkW
8N8xwvMVSzumVwZ9dHDEEX5E0el9bNyCeZOor8zD31jD75yC19itzWrVEeiX 63SrFnVKZT3l
V+DhkoMu2paXGeiCH7vavHtgebf+c24Cx6BasRQL3pLOb6lndzQLG1e8NnNb ysc2oakncfNB
jd1G2te7UMByQ+Z29R3DfXEPQwLV9SUeN8s/DWxN+aaTnu5gLo8iGEd/6D0w O07/uF/BW2PZ
qu5PKtgysvZF8db6e8tlWMWL7GHXch3vyMW4eMxYtyt6WuGrrHSsTE34MLfM Funmbonxsn0R
37LvGHRAsyHm4Ymu4Jf0wVPBP+iHSedTY53K02MUiCWINykyT45e6hVsNsUf ioV/4wtF5gE8
aqCsqSEc/IqyLcgh7tQVqv9Mk27kq37mU+dRY469D7tveZGMgfrdINgF8t2V D9FM8uqqTvVu
156hsyLowg5WbaEzH8MRvBwHug8hDgNynoEY+tKGs5EBGnDk5ws9eYAjPDoJ fC0iDqM7x6WD
Hizj/1giIWT82KfjuQEgzs5A9LmC3IuYITQ5CXSzQIYTgR5Civ3r4S/EocTY 0EpHmN+p+1v9
3wOOf+5u3d+kPu64XdapnPhvzt1syno+noBqulVLuoFY+RonErS/vwdK+4Bq +oByaGIXiZPi
PTnRp/DnBC7YL8KCnPLGQ57KJKQn2ShLH+OeVMBHcsddbhjERnKFQRvh1qqG aBOcFCG2JNJ4
361FkQerbIklqFScFK2PI9Etbau8gR5TjL//PnpTwMAsTXavGljCG1iVeF3W bmntQCfwYx+9
+3tZPQrK9StJliVoufGJvne7eZYPdzHtU3QcvtTUeG0T7ddu870Myase25AL kUCVy79VSGMo
E0dWyCYrBpEXeRDx0xhi6VCYzlMqCGQJI7A9IOyQ0+bzTsNHbigOskpB1RwW M6oQPi9QeBhQ
FNWcpbZL2IrQcNB8zqmcmbzqHw3M1lmw6eQ3Z9ihttgdsYelWy1Z9K6eP252 2aqu8BZ3X27V
FIhR8CXjkRI/havYWi9ObRWXFwEp2FG9E9JIiEso+k+qkbhB/7CWXJ0GoXgb bMw+P4es2o/j
4hbcthR0sTfNw36qr6Ry3wy5a4RztqabAeWehOz6txXr489AuFMW3ZwJ6pn0 X8eCeQO+6jNv
qmLCuYud/XFzttJi38cswG9UCfoc68WsjjYtmNoqSZfTbfCPFGaSQU2TT2lP thwxaebft6XQ
NK9Ql7YSpop2pYBxLbl27dCJateJOBNx+DJz6eqO+BHBsqL0FL1spAd3m1ha VIe2f94nnYrK
oCDv8G2GC2bMmkCJep7hgaj5IiEjF/kkaXuRtu8r5DFIsHazp4F2Os6D5dH2 8xYcRK2y+ZEv
/j5AvYa/RM2WlCBx95/QWG6f4cdzIepcBWtUDKoWRjYI+Kog7UOQ2z2enCpp 2BUdKrFob86n
s8Jqm5jCyKS2nauEP3Sl9Go36E/Bc/YvfcwnzfqT2UZ5p1HaGIeMTa5nXazY EGEaeVmuYB1K
ZW1/9tc9GfChHswxT7KsBmmckBKiswit6OKPKhOrVzolI71y6v1hYKtYtMb6 2C6EKeHEVnd7
xuQIWn+EfMmZgGYEUU36cvTriGEWrGZV6GplQU+k6kxgq5RPU/pYwcvjqvxG H37xQ9LTx4mC
J/HTPsS3Y/DPJ0Rf2rdp8i5Ubv4vZoGbh2xRwk4bBn/38AQCJFSEgNb43NL2 6bk7xNTTUSL7
rhK77rCtrGvW5I+dTLyTHfjNLf8w4WR6YHTBQTBBPoQ7Sj3LkHOBTe8VWz+a vVW0lbEuHC4W
tg17YlE34SQyV3yO62Bp2yJMA/RkV4yqkW3QWzrNq+3iHRvFGzcnzcGpAjrl AjOkd439hD2t
SHrlNtWD8zCLlEEHYxXCxPP5Tqs+1fzAi/+1ln7uB9q4qaezYdafm+wjLf3R Q/izrRl2+hW4
4hf2AERbmpjaKWTBR9qyzunfDvoGJWHdOR6fVxKbECRAlZ2I2PG5Eqc5jjMU 9iWK6RKnW44z
jNOI0x+n+QyiSJQcWpMTDYFXQA1FKmovIQ1FI/DlFtq0IWBWuCbmMI1MoQZy BRykC2wisxTk
vcEcrDj9ckdhadxQIRChv1BRqBteE2R4gqhfzI4zZtavF/mmKMJcRiGiCDNR z4Qc5KVaezfz
h9Lj5wPagHg/d9mxaOfbzLxecFhMIvJVGuPwXsi4b06tc76sWOYzX5WoNcoP HfOV7yahThIS
71J3Gg4Fh/XaJisSls9GrSAcDaqPZ8kfMI5obrZVZJuwaNsI2Qdg1rOEk3T3 RfwgQp9HZQRy
EgZZOGGhE1GukDZIfvnk5Ogq5lZUUlCvCixmk44OiEh/sDW1o0k0aE80KxzT aevpiO9jw+t1
be7vDN2Fl7UiWotB39U8SVxNdIV7fQ+mvwO/ZWpTokRFZrFrq+9U3UWDr3e9 aTKJkMAVzOAX
UO49nqb18i0MMTreCVTCxyxq+2OUuAOAXkk064ecc96QSujZSHql4SPq5gG3 kWLDi55wdvPQ
x84+DykqjlNSV5tT5/Jrmpq9wWZwsZsCY4tGjIxmSwyYna2nCZtdoQ2A4Tn1 +bD6LBYdzUSS
GO/8I4sqjQpDXIpQlgAA4yJa94Gk5hE3Ux/xqQ2TTSOQW8krF/srSSDefzkT C6Ri0SrrlMxG
UCOfcy4clXhyWZY9aHfn/HebWg9VazzUrHZXMt1YPjSnhqpGFCtQ8DQkEQ0z nr5e+P5VzHIh
wUiQRAIAqKL4T6dTVP/+dErIztbUwszF0eC/zqiVnA2MrP5HO1nVygnZBMWX dcPafF1QCwJj
y74CwgKKRrFCkzayZcQcpLhFPbJ1yzmLVoaNYYMAKBK9W8/XHx/H9GIcfWwh A0xYVOz7MNqv
//YHnm7Ow01CagZiKP61+9RnziPvMXvq5bXP7w2yX9e79GBAkGJv6tesxkm1 48JzNnCHS93Z
LMe7xdpDdgH3vnrbGyUzFK1jSat+2/v2/rzJdTaKqJqQ1fNo4mr+SPzkKR6M pqgg4wR1zrGH
oUq+ZYj/jQ4WcS6Tdh1rEXmji4dduR7deo0r30DItsS3kUic2drqaACcWZMG 1Rpr1H2liWxq
pLDMwKvok9jR4L2kVYWOAz3cpcazHulq0zuv1Q6ZfKjEUWRoVZQuu34S1Uu5 sNTvb/5fzl0D
2JyKru1rrKV8eDSzYY9Kq+lhUetYgTEfLNcdYieFbbtCyAbS4PkCg6nfJdQR tN70yTc7mygD
qtYsdWilaXz6hVBYIh7zQtRQ8S6MOx2MmEKqUOYbpoVoF8OmLJTkasY46adw yhhdWCvKWecB
h0dUZPj3SR/lk5PsQZi6TPd1tZu1+C+9xUL3YJO0Nh5Dci+ocEM6o0MGmOqR oniU9pUQiy7r
w/jgBLCkBt7L9heGErznqSYarWmNEIaqq3Fe+Yvd7CHq206r40rVA6UZ6NXu Gn3jHCiqu/NQ
ib4iEDLGDOk1HhRLEvPAeRAumsN2phcPWBlJjnNUqSv+sT4SlObZh8F7x9Ga 9cjU7e6IMnoU
I8FcpoTnkr8w83YoS3X2eWSehWw7KinlODuIlaHmkga8MqZOK41qxbdKg9Zc usVVgSr3tq+R
EUuJ467S4UKf3HmWGJZDFPqHf7qpR5OeOM1UTkhrMFXFQiAtZncixOlUqJyM hQCJmxswZtSD
Lr87c1gS7gFnM8zvXcxYqpHpQMlOZShZZVC+pKC9+ycrHOTrd7rFigr9BHUH QQoIcydr8SLA
i2Mmy8WxPRjxSch2Krzi0gzGzRkc8IAPj1g4DUymjKjjf7nNDoloJ3rWOJ5L ayJ9SNDjBy6r
f6fclS5+aQKyjUh374XaB4kII1hZbt95fnmbvMHziC37W+qxVFP1R/BrcaJ+ PKyL1WlOrwzE
sEwe/boKxBCMuCpW30c0gj4RAwBV4d0Ib4QYy5OnI4pUZWFaGK0sbSBXVVsE TxD9ss6MiA+/
doZ3Xp/wDj1JfYAjnK3e6vAXdIUYfaC1xrS07IFzWK7E3dbqmXh6g5N5VYQi w87vsfMd5Twh
vZqxXsCs9OpfpjZ9kMFZlu/e3KBGkL+uCVURQmSPLsndEMZcrUXZkM7MgsMk 7uhbxuKHQVr3
IezsHu4PJGAqyWfL2ZklrccJIvkQVLuNE78TrNibYVj4OfVJonfuxeEHSGAO d7PoQUo+ri9l
MSRndSPM78W1fx/y9Lr6dEA7klBuCAq4IJ3R3Sh+Lg81MpNc2cDqw5oakMXe wwL4fTfBlcKy
EyZqCMwwdhVQ5UPbYAbRImZEJAdhzjAlEXsbgOcWBRdTe3CLXSPJDt0c3BrL +AbTaw3YDagP
7t2PKF/I/n6oVEvIb/yZ/NmbTzWdl/ChrNUba7CylPq2mYmwM9kim/56masJ jR4h5tWTWu8K
ZLT9tG1abfu6+Eipo1l6hWkCvSJ78hXnGnnXsSAz2LL3R8EbJiaxTe8s4sYv GJEisUltpomP
doL5RpLbOz4fI5Eo55mYJAN1sUS/9+a/NszZHOFsiQJsQfQWkCpwhY3AVVie fThW+GPhDmgk
8OcbKZ47XfUPzg2BErBnYozCRZx8SrTYC+SjVkjP/ZFKtdwZUe47FOK3VUKp t+QvjJ8OmUGU
o0c0rGd2jVvgQJ4wvsFVmXewHN3atD5PvQBqbCkJJFFxsRJlvWniCDww8Fa4 rjplPYmVKRZd
lb1jOqSlqKg/gmpniGvpCh79YWfkn0x6ZeYFHxbpd8VBjATGcSnMI2RRMdjY q1OuJwrLE4t6
aQlYMyTRRrA0lcI1+hv0KaruemIDbTGXjuPPCLThlWAJuEKKw+Z1kaWrZMzc DcodsoSxqPS/
sGFdHr40aKokXcqnxf+9SPRwU64SDcXUFBUcFoX7eMlqnmi47+scUleqBBr7 IKnFWqoJ+mKh
9QiQxT+mCRMwrrD5ini2ZmZmbRcPctF8t7PcuYY3XmoV6UA/5xpY69/1R0DO lRWUO7jA39lt
Bq2WdfSRtY29tA2T01Sat7ypBZoJL0C7CHjKoTiF34U039e9OqCQFZPfjxWZ kh9sjuef6JbP
P8sLHCxb7lNCR/HZmHP1bL4EgI1g88q18n7+pUDvW/M72AEGAMAL+58yIt6/ z4j/r6KeT8KM
7CA/SshcCFFzPgTUgxWzQ0B6OLQbBrKR4WJwOeT4JlCQan68612PdkL7HaA3 +d+cgjMwHeeb
DC6zWTem7y/PXwD7UKgC+lweljcvB11cvxsJNyKsnHNxdweEA/2ZcxW6+N6l tAIqSfJah40D
h+h6hwPP2m4SYasxnUAHHtxwlENxdXp9xEWaNeS2Rwm5N9wyNrRga6tNt1Gd MbcVXmushw1Y
iJJVPWQ2TJUmGy2BWMtL61ff+dRee1IZGyUh42UEDUHG+Fi629AhfnGgDRAl 96CVXYyOXX+t
JhUAg18/gAFLuVNfve12S3cpOffKbnbh4Axu6t8gcjVfSF2ZXZZ2pDV1n4Aj 7CgIxW5b6qz1
IxbUC5rijsqprYNj8Bss7RnOFKoVUFdfYOpafcnAGMriXuZQQslrorIgmSMN keZNo5ZsOmQi
PExEJY/nJEkWs2qDYmYBhtm0WfzQEKDITAMLTeGqblPyEvMLFUnOhi/Y/3Ke VJ4qmQMgAEDx
fyzL/l+Kbf89t5JEyNzA1ux/hwcnW8khC6CE7gXommuADBeO16wGmnQ0J2el dok0S+4DB9+W
0NYXUxd3ub/LjYobGh2C+/nzTbqfCBqNapgv5jaZnfic5DAtfX+fntIBgF7R F1+mkXl85Krw
KWOr6e7ncr3TvL6tWxhPlancDkcEMTzdHXjn5D56iZnJ0oQX5RCe6OTgc8CC qRqEay/vfTKy
o3CfFtEB+1XqhBvuZ+sxCnuQRw7IAQqZntJCTzUr2198bAAN6b9ZZ6au/16B lsnur4o3Hnra
1o/Gz+wUVoTPDRNuUCRJQPOcyeTDfsNcd0QIQfu4JwuDAKNxIv4lDkI7ZMRu nSdsUoCGzOBp
iE/eUIJWyIhhcL5tz22i2nSR56lUYrq51V6ufB6yHDqeq8Q42DIOz2MX0GiO 5lY+esw1r5vE
ybiOJK2KtoTMrWA6WAG2bAaV6syPdSvXXBBMo6bdHn+XMHZCdssLCfE6O1lE J3m28xZ1LAzr
zo/+oCnynSrfY7z4NVpOKx3PnYxkU+qoaNCSvR1F1uPs8HNYKefYor01KsPJ O0ACqzr8Zyen
XffRK8QKJujhIN9khBTJfM0g6JdEIsIpPrn5NhC1XmAoOFIcmUOpSelaIU5T tD5Eh352NsDn
k/x8APhdenZelQ+k9GKMDH+N724Nz8JgDM/GYFhGJFN8rdwcEZ0TyZLQonRP OloH+on5bRrs
Guodm1SGU8MmYI0NnD5MXkofalEJZGcO3gwW4woNrzTokDX+trspMuqGjoi5 p6ds7B3GkHCv
O2yBz9pQ8sotIspg6Tc2n5ZakU6ONjyYmp2PdvMnWoK7MMos5tCiiL0mKkr0 Plohe2HESdRh
l3z24tCjqF0fJe7yELTIfZU8d2lESvS+W6G7PCoPe0RK+VdP+6M04p9XjKrJ 7cJN7yJRG0HO
dXUsz5Hyr1OYNZeYyGtJiGYr05gLHFWE2e2H1RkcFjlNaIPn8tkuTGRFTqtC 7JAjG/ROjZxm
xMFJytkyTGbap9ah9oWRj4vTGUscxwixJewmTGYKp9Yh9p0oZtB1P3/noRuL nVqF2L9Gpso7
aU76StEJ/AoeJ7W6gX+A/ivy9MpJIEiBAQCgIP9T5P35j5En8f9M7XaJ65Ed ov+HPUsIbZfk
NX3BSNFCXQmvogGLxVMwOhsyVmV0OuDW4YDjRvuB7+QhuCBhUuqN/Thftffy /vVjEhs7sXZl
GuOj29Ree0VLElfCzsSzZnqVIW2LPsEge3vGYec0Xl6b4TmGZ/BP6JaMbg1I AVsOarB696q2
xuC7c+/vX9cX4fBq79cNC4rtQYe/gsCDZ2onKZVumfFv/T26LbabkXx2Cium FHjFD7v1OU+c
zI8ZIauDR5FaVF8I6L+2o/SEOKyXI8HAwhBhIrzhGHfGZ2w4zpzn7FfprtxQ T6iiM17RDWaB
8o8gZff74P9lwP70scubf8xjAfifDIj/nwz4PxNPNCHdU0ZWeM1Obt79AXRJ SBbqhRyFCNaj
QDIJojDEwxsp5AkJO4KpJGzHgYAMUYlWOvVrIg0W/APIS6FUAyMVa1LJNS9X FWtoVi2vC1cq
34x0HvqYHneyoIvHf7mvf++OspjMTGensz3mUu3fssbgkRbEafUlK8tp5wbn UP9QSVpeVF0M
phRUTxz8kRJksTUsFR6ZqySvoJyj1PQWKW+elUmcSOkzV1w4opDOnlu2USyu bK0trrS1lRDx
ERekNxg15hF6JhhhYVpFPkMd9Yw/pr264kznfg95b+hVgnVz1Tk7cZt1NXo5 GpyN4bZ0NVuL
ujma3eAltVMxP67uzJSX+LPEAaqj/XWYqcnEC5dEjGqyMAF5ULkpL7NTDHFS oIZWCbEScqVb
lynvIiJhYe6oNv315rI7OR55BpKXwMCEJGDGr2bGEEdvvqh4xhv8+DaNOR0J otV7/i75TOI1
7lz4GVxbXUXRwIXn85uIJXKxZbEIepNcyYiwbyF4bmHYs4lnpmWfOXSMHlwl 2FpbCJ3cPpho
WboLisX17HIQWR0laZkWGFFhC2O0wkjaALB/nxp2UUhFBsf1nQXDl1TUPhpW NejSIe24ftch
HSuR0BgvYkQxJgaHZaeA1dFNQr5W+BOaqb8AICTTbJ5fQKrFPC6PrsmcHkp+ QRQVimWZKTIE
o6K/YC80U0++U92+XggjNGN84REJtc28Jea0LCG65GG5WiLNs7xhtqxGC7cy TauhjQjkC0VU
8gfVScpysNKOCddFaqhFeuJXF7rdb7eN/F5LmXutUJlTLMeqQOQUq3K9kMG5 F37ZMEp0kXyE
qol8S14qffY71cxhSZFb2tzDRwJ09hZf1b5RCZPNu1dEbb4RBEopRASwqI8y ihFWxWYBQmhF
PdmknDOqV0hApKbfCFhUWqgz0ZtyqpDKIsUzeGUBfLHoXcWlwPH4pTawMuyY SiW6pMqnObU3
DrbysmHgXcfaPlRLV+pyOfXSwNNgS8Uy+kTLGddGvusL4IY5Os/kokRqENWc Mp+79McMwEss
hvVnF7RsGzyokVF75AgnNY8Ph3RM7dAMVcntzFqxu04+Ghkn1TB7f/VLf/pq cGfkXg5BP0Bv
/fxpuyRh8iIRS3sipunICtWulAZKQ+sAKjW4anL5SjPqRvWF8gwvvBxmZT/4 Ixtj3RbMleBK
+OLyjvwFQmmz7V2e7Xp49GJx808zec1t4Wd9SIKx7CxzuxQ05wJuVdJtKfiy gqYRULQktec8
DDcKV1ENVtRLZkLYQdpMeGetSBzGC2/wlqyr8qYv09sZZNBJNRqPLRh8NkK5 WU1lDbRK57lE
t7fwwKqdPGJs/yIg79YqzQcmz3FJ0BOzUl77iku6kq13Y1ZugCGZWGXoaglN VWS1tFZHczFt
DW2iKpqEFmatVqYqlEqpxxk6mUZLAsNsunxXXG7J6T6AZGWVEGU3yVC7bIY1 63AB3BK05UAU
fXJnOKYRp9V6BRX965+PlMxPRv+9EdidJ0q8bk0Gyn0pXTUyjxhfG3564IAE C4Qj30sjLedg
36r6B7DUQxVKIajp2kZ5HQkKnK03gz28tE6IEOhmQH5ZmXLFon34UQpcUKsG XESTEqjiSdh+
CnYrme5UzYjci8z5SPtivPHX1dW01FBLK2L1hSHWBo07ToMjE4RSaZs373CB eNG9AIDo0Q4M
VkiO3sTGRgzevcI9KvbvofLycsGNibFR2R/MvwNQfCzdc4WV2hEeedi7v8Pu 6a8hB99ThX3z
eilHdcmTcsh9D49FvgbUPkWprvzaNR400BEk871RIQcWTKZhjgtd6xbuH+5X rNxy0WEevENS
9J4QmDzBybUpeKIiEdbuPEn8NJE9znGb9ibthcWlSmVKc/0i2QHIGXYOdDew PXcad6ikxNSa
iJUV5BWt7XGYHNjEpI9RMSQZCb7u7/anFD0mOc10ULEiJvc59SJti3HLm8xR vMuxaeD8Eu3/
h7N3DhJl6b5E27Zt27ZtnLZt27Ztd5+2bdu2bfdpzL135r33G3w3XkxERf1X EVW1cmfuzL32
WtjaFCuc1DBi2ahgJFKqEJIz9iaS7dVMzrjN+8tz5lw2Al0nMEXH6wVSOLSL 5h4gdxaPDbR4
FulzjHqIPnL5QbPMn7dD7ghcI3cz7BkF4xE0M/McBw5gWqaVt1h4TLzyHtaV kKEegLmLXUSL
fYsaZjSdLytqIhdoy6uhEyqGUFb305FLq8mhdDCVU9T9MvgFJH3bp+qqIZZk qslLK7/7DpfI
YnFjGMT99rYCAoljPhKTtClCt37fEMJ/7LT1wH8Ft/WE+La2+bo9eQ09I8/f Yq7ehvjetn1r
nP05/PCZ4+eu2UX/STz4+JqTj70s24vakl+2o3pcpG0w2X5p3QR05Z6zBV+n dTTehmveNHDl
3rJdvPbAdMWu25TpxDVo1XCNolFuXXeN0tZoHXu7kxXLCY9WQY2mahyFHQnY kURCmV96+nra
dm6Pe1g6BXrOKOZTXjKz5Lot8n7OqOELuVAuBqNTzNM4Bzef6fpiccPXaVGn NsHr4XSHKkRd
swbEu/M604Ebpg/+QBM0IFWYMNTuQkmjGnRI2ws/5phz7ECwOjEqMYkNWd5d bL7/VbUqjobt
YAz/K+FnKmGR+WW+8KmPj0pSfta8aMEHRUoe3rxwK2FTqOI8ToGCFXv3Yelq tFyJ4I9js8Iu
2Ljn2R5cA4qir73XKOKgRaFt6KJIbPd5xR+KQr7J5/QiGnV4zonAWLSLXcqt 2/CknVpBVxYO
ruRkCWYNX/Dw41fXrpqjpdI/uH/K+XSivAZa49Q2VGKVc16RiJlGQ14aSNSx qz0iV07akrau
kx39V2akt+VXj9qm9RM7Y7DobApyz2pkHH/fPBMrRVlTNVO4jl7jVufIb4KB IE0E/PxZrCk9
bwqlE9vhi6sZqXLBsAA45XpamY8799y7BwOpwz4H7Ih4maN9YrERqXHE7g6Y b90L3xX8Ue5I
il0k+wjFWpfOake32W+0wM6TdhtM2xlcb8oZJd7MkZvmgY+1YRypPOODrcwA 42KrQimpSmMt
uUIXxSLfg6Hzv7IgKeEHOe6DSzuUEXQ0jJPkWJ8+GpDb7X9nG4An+Q1gsKnM R1Kul01CUnZF
4OYIzamkaRTpZCFzuwIuybxYCA7oksWb61/ZUVdIvi2HbV2vYb6cjlzrMD4O pHUIM2IBfSXp
5tzOcXs0DO/a/jZDh65n/3AQ1qHdVTE5nCSn21U2Oezm0u4+MR716treVj85 rCyv+2mPHoUZ
iu4SCd2vahSUrIFT6JRSQXlZrX4SnrfBtpG6Iyb71t66SPOhn8IEx84biXCP sffEof2d5OAF
G3m9jLN5SZ2eIOCFfISG2jTH9Zb/h1058EGU36KAatmFJeM7F02z/EOu82cR LbPgg65zd0Wo
/XfeWTNmXLNCqamIGc+8ECX84iz8XOOjJ+6G/GxlP9uHCXb3gliv4Ol0YPRL rBXXLQviHtkH
aHQprsEzZ/DIqUPtIMMtev4BOqKCr6RHOUXpQq3+Cv2iyRMUTl8lith0Hdyl bfHu2Z9XRrem
29sh5i84QblzkPXGeRD0gDyAGc9eYgj0NqbB24kZB/Bk6gW6qaQji7IQpjPZ hz5OUB/apelb
aE/mrx5EwbzdU7dtYbxeO6fRMN9bU6yECrPzhOklWWkP7NwbHIUJ6A8f+6CR d1LjD8Ih1sLy
/mHftN31LYevcYMrCrznuDHmnYC4P8g8I14Mu/yLICRnymd2LEHfco1nwG/h 8BWZfIFmPJGT
fr/pe7Dk46iHp7x5j6IX0PXgLU4tmqvCpvJdwS/PdY7tWJ7xKMjPKpvhHQ1e TTYe2xxCDa89
eDiGTTjCoHXdKRpQjpu9OaYBPPWUi6EgsE2xCSX7mZV/1zELgGYb9xb9Es1V iCS6WjtMroaF
e+FWyuL+3jPnhdzUE7paXXvCtr4nNclvUlDnmYWI1WFEpmJ0TYUcbntCZS7A O1YiTczGvqIm
Smsh5toH4qB7lcoDfz2hUFPUxJUBpTQJrPAVx/YB+c0wOs7ZN8IsOcP2IeIT mwK6/Zu3hk8v
FZTXlx1Ob0XE7Y2XctzcTm51UekLoG81xtnFsyH3/PXM9gjgOjPtZkG5aUoF 15J+fTb5UPaB
KsvaKCP3SPQl/si5mbGUrLWefTxjYUQt8YEupLM8bOdQthizzzgx9YUs9dyg cSfi2Sspm9OU
ZjTjyPp2bNmLO0n54MUZK2GeNSRHQDsQnOxGju9GsGIrKdTJDupBgyXiiwV7 vzY5qTw06RxN
rkA2+/fgfne22KuTn2c4+FwRT3zuseATEnwBMU+y7+zgOXz8I/yMkA0HEusO xc140XOUGjW3
yFwU2LjuPLro8fJ0F4W73yr9b/ft5yi4YHkFteuhWae6T8I9sHM+tfM2bAMn aPLAB4AOdKNd
wiOTlNws1GJfD5M5AmgCVEhaPzBZGfo9nL1ntbbSQ8yPgBTfB2gPMejj9xyJ RT5ICgQWRMeW
aLYXdqUf/8z6qI5KEji7xF0hyQzARyLaJV4G4fmQgJdYs+RHq2KB0A3x6dm5 x7LW+JSjMQZo
pkL6cJJ6CuJRA+0jwocK3g3u1GE4J/ErCsGy3fMtOavnc60zoF5m1zfc5AL5 9dYEsOwOK0fr
VbQLxM3K7sNzfyjAV4WRCnTpcF0aBF7yh7XCM9RpxrJWN5rzpaMch8ylU5or pTxuax+yn58L
5qWIV3bV+YFFigDocvjZfJaedLE7GazBRsq40zmWXGnmd6XMoHrDb7yUR6HI OyLN6eEmPMrd
GG2pVsOvbokv34Hlvh9HrrFm5/DLcxddyM/awld3Vp8pqzPonsieA82Xu+bs sct2evY7gR44
1Q94dxa9uIGOyLL7a56w2yPDnSHptoRKD2i96U2GQ7ydMdmujNZHuM/NiHpe b/zb0+1PZl9/
eCfq3hH4h9s3Ql9sJr7jPEtsrULeHbP58DH8fltVEZnS5rodwrkBH2195Yqm 0FlAUgv2GQMK
eD8AaHygzssggscAOLS4BdbQQDhrqAb20c+rsrvG7brLmaNk04f+a5YiPsWn kJxYdW7S9RDl
TDwXqcXOu2laHukobJ9EAnH0wIeiwActDlWwHKazREE3x7lFIfk1pcmvXGvu i0Fo/MJrSV3u
o9291xLbsmWI1xnD3kPd32yN84sFMo+yNFbF6xTJnz0NKL1lVTF/wJFxBCtD wDahq9aAKjlq
7i5W9Ot3H8hZ3LoiRtZleD/RaIaRnQlXFVQXpbi3zUVUS1tkLW7CWdw5pAa3 bku3kFmCw49G
8otkhuuMeycVQ/WLPTcXVDsUswvDUrBa+1UWmkc23PXLKLdizuQ+YWT2NRre EJ6PTiky8spo
+GROH6GTJ+mJQLpEHt9NVOhr51I+qXQma+fh3yG2p3pDMPM9D4rKU78lqj/h ro/dzgF+MnT3
euf+fLp9ZPODfPIDXfGfGH/Hgz+S4+zNIqDE3nt8cu790KHfK+r27drX2z9Q 7R/gQ7DbIera
oqWGPupIwANW/Rpbw4TG5DYiNDKjMb5qEhZDg20B7ktZmiy1PWn0iA+9qfZG g19pn41DzAw9
Y3Ak/wLqlw5JUEt/YThi1e3zRQ7MmHDnEx/4rZ8noEdAqxoRWgKsYsfd9LRs NKR1/eAn1uTo
OiRl7l4sz9SE70YJ7kqTnwiaJodWWuE7ty0kGEPo9mKkgGzPRpGPFOSPJWqZ vyEfj0MhnV5C
Y5Ba1Nw/7dt6wO7WNKlGqhRBuQTgbHbq7tyAFeLF/byI+VsL9UIXhvKuUoSV cTxgQltjAKK3
c4xM0OIcwbOr3SgOosNkDjhpQsVMRZyrP55sCMYiWRPgsq624sHMZ1y3r7gz A+mzJh87/pWE
07rP7sZdY5CLebyALj8VeM73FQ0Ep+qYhnZE9YoC7mNJNca6l14uQBjohg4F 9e5PHZd/dHQj
bnUD8/knZwxIhgjefJxnpPEF+ceiPqN/oCHCcQQhizBMkYYhBy3CuQoVk/5g Bkr/GhZj5Erk
fZPg0YJYgnjWMEiHuEzxtiFScwTlU3S6VO/QG7YhVjdp6aKiosBtuNCHzFQ+ /dAwzbBMyxCN
HJqTu39bclj4JAfuZ/6vsffCdLPwYR6t5AcixRFp0XD1yGPvlPJ9MMVJ9giu HtmlRx1DUjs0
qyabKwVRFLuY9RG16xUNZcqNfq83Vx1YibWXmA4sewV+XTPfU4EgxBq+OVeG HbFm7Od+7awN
ifYOuru+gJgVlwB00WXljdCtcpHcpZb9glkEhaZu/UMCJN416IFjDhtZKhRS 0WoRlMvIQHeh
7JRk8epiHkvSUZUEtXJawWWLDPIVC7ABOlCD/M3qu21IA52Mdx1RNkipNN0R gReALihtwJzi
NtZY1Jxtym+EGEZWAjkGGaNp1RM3O3J+nN+hWePPjBvAdy4x/o+uNjfuwv2t PMqnRKMsLwB6
6sTTq9z4VoV8OWTYEk9AFRToMc69nW0RVQKF8szdASJxA/Vi3UL3DgSvxip5 /kda8ThJ5gCJ
tcCJ7ADje+FalAS+IkZDNiy6W3LKw7gCj2RUaDHOoCPq4bRNUtYlYPUxNyhu i2jzItzDcBvU
meeU9cgUtoV6EdsCttTd9HjFccN4H2lr0E/fyV7h4m21a6On4Wx4JC9OAjwT pxGj7l0cfe0H
+mYmE8iG5dkIwsfBGFSzcQVM1KEThGxUi9YgHRT6xHOyRtYgnuaozVbG7eUB uXNnqj1erWL5
H7DaeRgbaOvmk39e+TS4ZdSXDL7D5ky5pzj86G2ahr2m3Zv6TeAXdRd1Ttwo myziTltysmLY
XiHeZFtjWpSzTYinF2s+JpHnUhPOFvqkWBf2RQJaokVaTT2ZUNaY/C3a1vzB 1Fsse60P9UPR
pow6AbS4+15w+l54+l6g+l6w+l64+l6s/K8h+l60/K9l/a9p/a9R/a8pdKh3 wNZ2ANe+Qeq6
weu64eu+UPX/YPe94PW9IPa9yPtfK/tfY/S9cPa54uj/AdL/g14WSe+R/xbJ PLTKo+k9eEhy
71YSDaylC2PtwVh3PNzHRgbWgshYB8tHXKcjDW4Dvu4/ZNoG2/KnSF/556ff f/reqo3raOgg
xDmnlE+yEwrmOVg4wIprIp8PM8OGh89JTYA1dj2jXMHUuMXNO59pdREePde3 7cx58GMWmUPS
NoqDPZ6rQ/FpXAIU7NaNXTHiHTfkBl9Zb8Yp+dy18AR39ck9RZ87Eadej5ND JSQlszo+ZKQq
yC9yATkh4GENbcf0RfKJdb5wJoZDvpF/fpd+Vh9b/JNNqgl1U8IOuan1nkWx fods/s/uWphu
w6tDnj1uEXtjTPfxeWsCuR0zmy22CuKxKfbWiaNT1s8IG+YHvHCpttz0SCTY esLF2v0zd8fY
wFwV05JGPRdgyA3QUdv2OLmXgt15mbEHG6zADDeOc8uVOCdTCF18hTPimfRR O4v8S5khp/+E
oPqkoHMJjtBumrAF8FkMU5RtGrFF5VQpLlOa5jGI5y9dgbiJiKfkbJGwI2NP RbkC9X5+Ivri
1mOVj8apMvhjlg8hObO87HFfzqykY5wb+tMHBQ9Ks4lJ96bsUaP+2ZRHj9/a fSEPjrm06A+G
7eFpkwh6pJMe3doT7GMMdsnqd7iOmHYJqF24nzoNifiJql3yao/Ijpz4qayf odrDtxOsn+we
qH40qw+nD5bfUr56EB4xd2OshVldak8JlyKR1gjAxy6GyVsEZGNZQyweUW0i tihpE1rDxw/i
hSo7ZAMPo0RAvjldOlUpbuHPjklvBV3SW6TYoo1bVHjJm0N8nEo8lK1Rgw+6 12tYKoK0unW4
WfI800nuTNmydiJblN4F39CO/DrrEhxVFKzsYsuj5WLGNSe3cuJ7ayiz/e2M lurJSNuGKrgP
RrKcS/gpeAp+a6o/MVKtXtcviJ3bdq1xlakg8su7URz4NvTZTNE7LGlprgU5 ck+9f5+q03Jk
MEOiAwBc0/xfOMQLGRj/06+v7GEjZmFt8h/acVtlOzJaXBUvlfpbNeffbh72 wKQQCzZe63Ev
JDIlmBC/qEFF7/rh74qGsorL9X0YGCbbnW4ynG6Pvg6fYfvIUiGtZqbnThxo bUPwOzRjirvJ
wcwG4I1ffZ2LcTzcV9PYNT1s0UTKRWU2EW/mvh3iyWTAF9QHziX59+aG7wED 5CCGfWZhm+xd
5DkKWBK8aZLhmuTLXXueOzbUb+yj4tfVahY6pyyqXyBGetjj0WhQoBkUyFi+ HdOFh4UAlT2K
FYiTuSdSyvbPlD5ODxYS5l1083ihXCfccVieUqAgLnP8ngJ1Zpp8veKuTprS CIS6m7kqeoRW
ob96okEgp3tr1sKZ6gdKMLbqUdD0iYCF2MQ48bQpbxdxDnfutA2bBh0OXH5/ BZ67Nn9Efxhl
Mww6RYx7DwWKytEZpCakzDGGiT0xRJ+OKolnpxw0I0hXyypQNSqBeqgYlawH 86pFuiYIfsOu
fRz8Woxl1G/JU/B7S5wc6t+AFz5JKyhJX/4E+Rvf8kDWygBAAICWfy340vyH qomJ8z+6GhZO
zhZG/9U0vlldR0V7GfV7hkEAg45EQCgIGNIykIEQsFqUeAgMgUgKAwg5WZ80 KUO6jWFqmNuN
aF5tEb8ZK2Z5pWVjQzMp9fsX9iZBVEeqx+XFhVGnWt6fheXXnqfq89bZ9owC rgifc02DGb7T
q+7Znd3vGT52v4/XW36wuRhqKJuM40WdTy2JXEnP96pbmnUd+LWea1pODfJT 7or74rTGbimK
kFKkjiRfpub0SpEMoePELBfvVWVzPNoCj6WrFyoVebIPcqTGT1kYynLEkN/1 h+Jm5LFxcLJU
1rjX7FqN9/v74wXBQrI/e3tz7oYtfgyMSPjKdaFkZAfIIRaqZBmPyDeFOSWW VLceriu38u+x
kx4pt3RyH7k52krmtKgpLcxY0VXW65OUV3Ql5Q4SJPIm1hchXUewS2QPmJs4 cs0biy385kCJ
Lh92t/ot+4LsNlrlw6lUwXXKSq4NL798z5Ovz5FRLsS3VZiYU55wMsCjDPx2 DNyvS2ZoFZnB
FAYBQnFrAWbRZoAZt/gWGA0N2DWJYQ7UVvoJG7bwu2NLQ7CQ93WhXcrRz+FC UrMMlSPgTM+n
/9pkCVuxGp411aFuDr35D9RkqecjbRuDG2G8XjHHZpWldQ5N5rx1CYniNz7e qkukgug7EfIX
+eYptsZShozNSU3oplIC7qoL+RFkrOCRz9LBcmN25utGeKF6SmFEt3+XWRUf rht75ZWOJYfQ
59MHMsBpUIiH+L+KQsOu0Sn1UlLT55Lz82WwhIsFfABCp5QaDoKJKUk9EEXD Y8GidU2Y81TV
yaJrdYbPTh9b7w4oFrGZEhoujUjK/X4uIxEJiguBLGK1KNgwx2VXwX/gWe2s eQpX9FwKNEmW
uxMhZ0+Z4jg3WGVGWT7PrbvD6CGZiBO3RwiDgQVfU/eO40dLNH1VAelu+JOS +Ny7o/u9uxW/
8TSWkqFcrvWylZwzKbt27k1FIC0rB7Bsw7hPp2Uv8wJdYic370LKVJyjnp6F PXHYYF9ZH2xy
g6bTCDpdl47neLBFHovZ7mQ2leOVyN69Bjy5Kf6kyh9VZvxoUUMjPQC1uckt RppZI8Pk1UHt
a9kv936F5WU78Cpr7JMay6P1eFJ5lqT1wXpOHkPkEzQLGPVWlySr5b6ztY8u AZBKkGRgBb2g
P0YPtSjsLrmfiq3ejESfNC9ny5Ahu54RLVuGHoxSu6dKVIPLRHK9MGAFlryK KRTQsNuv7DiB
jXYy7bGbxNWBmD2YBaJ2iAiwyfBoIUPzCcCPUmZHvaW7hTteep3ivhM3C9v2 bs3VCpmN32hw
T3vwKMwFHrdwRbSvX0T64CX+A07frVTDLhFssmmqy888VzMRddoR9fXomsjx OaDynAZ2x+gV
cuw+C/BttUCUgeR4NPPwFWXcznmZ9YKf4fyoO5G6U1LXOHTpIAA0VD3FOWUX Yhl7JZIstGD0
9As1OkG/Ck6MGsMqsJ4N4x3mLMEuAm99lkOMYzdAjMI7tpEuNtLI4woqc2fR svWuVYh+hWhC
b5IiH5MW57KuUn9L1ma9MjyEf8gmr2mnY7zDMMnFSt8Hv1l4g0tzwDOrxZYF K6BZopWZkw3o
ijJDaJN8eylFxkCeECLMfBIRV1GzFRoCew1/QB4B0a7SfG8ONSpUnmkIdgtX 6N7fU6fcs8Oq
T05oU64dw0mc8CSWwJQ0Jtrr9WxP6Kqrmyu4F5xUL7L68Dtdc3B/rYcVb6N9 xP+l1oBgpR3Q
t7V6P1wCPoKFSkm72IiIVCQTyUKzGBOqEcqu4IMYJ1t3dLxSW4KyixK6W1tC 7ys/XgzeA5iF
MdiRiWaikJ25AK20CbsVsUzOsSFswaD0HuHFEMxmbA8ux3IKRFfCRdJJzkLy F/pC4l2NTJld
moSfbp5MwzDXK3vIqoNmA792dG1qy97oNJqYUtDXx1ZnjOj+lqaPOowJaWB8 KkkgE60kiMHM
WlRgh15+yBm54aJ63ZteM3zZopWnRR8NL6IQjcLYo929gKIXaTCsd3t0PPs4 0I8YvU6ndnS3
4ui6MM0toePrQ+UeAVmGW0JSBAF4T4M7mQD51DpnBBMJE6La9sAArLdOP8Qs 5VMEynYfuzAH
CrTxghOsTT28Ax9aIkqb91Cw6xt8eZIB8C4SVnLlJBf2OK/3Q7BkK2VPJK7R BteYCv3D6SZT
xIjRQV2FB+7udvKtqDW7LYv55ds3FbX5iynd/swvFSIqzCfn/BQ0u407AX2O ZzobW/O2SKh3
N5vdZ6OdgGfEGVnx1fsV1Rk/FddVEyKO/s7rvZx8pNmk4T4GTN9ga/d4G/Ng bywj6KiktEOO
odsyBx6pylHzZw40+0R8IEmeGJbcQRxdcredkwsqtHs+zm5AdHwjTL8h5Ddo fujvUJzvAJ7v
CPJ7+qo7fjuzZTW+r2eOUtc9zOWJ1c6gWdf9lfKb/AfY3yHXYlhDdJa90hH4 9Ec3otpEXsIP
iWDZX40GwGjB/vMnsJ9NMD4LrbE6A8Rgv/OoWxDWU5abqprN59juqC9qLHcm Fv4UZJ2fL0et
fmPRsnWyEZFTaLoHuJ2LHrwivXvnavuGlOsSaJ5GzFlldQwI7bvS7bFz8SfQ XX661id5C0h2
DNg9Y/b+gf97wRfbOnhIAwcAIIH/v6BJSP4Xfp7N3/w8BYSQWdDiMf5Iiu/C yob6G50MKMgE
EGQYbHVUOtn6rcSXlTdrOm8AfKnsFnSYYFGnj+kMGXkzX9/eHsCt/dCCczrr oNyMZ4P3gviZ
bOxu9NscaNjoAqxl2FWkFkb3rPv6pXhTCTcwHTBTpmQZeZAFJEfjdkJ54EnS IFOn96NwSNaL
azyHuoPoHas4jIklhuRUevBFSg8ViBYo0Yuz8HGsIFiaBGyzqwjIHxI4tnah 70FjtMh6bdXA
a6mnEDN+DKk8LafQ1J2b21/DHYd879U9xByDfN0ZudgzoMJ8kpkYVC8Tk4gj UQbmZ7WmnT+9
spkXEFmlJ/jvA6dG0o4b8nKeEf0Kq26t8N1z+I81hwtzQo4Vm+X0k/FCoTNS 7MN4DcVYilCc
S0womB7+Tf6GVaTDJsOow6rDrMPgkfCoq6j4BYiX9b/zKGyoeFU9Q52kHAUl iTqGVLPrUMk7
v//pLpBO5lnX/ys7i/jX7IzyX7Qv7M3+V/mLZEX5DQWU0dkAol85tkRnoVw5 i6gK62Dw0ip4
LJnxiDqBj8NpqG17OlLSUhpboxvKSbxXwFfCtNynLZepUBHjBE+5qT9fXz+v uVnfn89f4ABd
oVgDLaxX6mev65+GHUabScCK72fPO6xhX6VtVh41DOAWAsHTFgO9v0kGphKa StTFJbCGrUCu
l84jPST6o+GwjBHQshbQ0A8FtdrUTTeRIKRly4w0V0up3/m8yz1aHYPrFr0F OoQTsWMOWDdp
6qaJ2r1MsQGxITiLxpOoUy1eqVkEN76E5Urztl2G5pJiZfk0SBPkShwweeWE YyM0yGoIjD0X
kNBPBEh7xEXG5O8ghVEx6kPrDLeyZaAGM2FXeMp+LeDFdi9qLZb8ishCDjYy WiBjsa4l/QA2
8Cr0YsXTPLDn8spap0c8odn4M6lrR8ITeMsHE1XHxejaxha0Lhr84VcMo2gi dk1Y/GfAi/7a
dk7N0mDHoXMAdbuxs+AQqeLZZc61CvG1xZ25At1zErMT14HuneL44PTY38xc K56A+/vM31vg
PLO0kypGwuj30eAVOxUSib5iYI1GZgOMk8o0OBEW/vyYfwiCAjmplZkUKD7e KOTsGw+FEJ9C
CEhNbl8iU5mw+A/tInPMzQOj5XrYMsczqJsH1DOlB9jSAK8lcOITqETahBVf 1Wi9SWZPWV1W
AM1AqTCNOg53AQzbAO0beOfpoCmOFqm1DZRr1EpggqD/Nly9enK2VirhVQ88 t8MNYkUsaivK
GZEtmOt+yoFpsrCQ6lW8CtwISJgLvpRDGLNSjrzDWxIPMtlpZCuZPUUYXF65 HGPcavyi91qc
l/YAjbcCXrMApsfZPNWTOapnG1TNmuwiAly+kKyYZ2+votljtWP5N9jfg/2F caA59a+B/gL6
b4Od9v9HK43of5f9+x/NNIqy8siKf20zF+E1wSlA54lAfwPZMMZ6wWIXSiYR RWXa/mKpHWzk
Se+x0N1FYLv5xLzRyYpPb7sDf7P6BD3wWZRciz8znPlyf8112snS8/P9BLmD Ag/+MueCe+tE
UB8g2fgdARNr+KUYg0xcFfm8KSFX3EKKUHBRGihx5mDP1BFP6MYrpDtpJW3+ +p10wdofNzQF
d9xFxnKrda1lcLwt5WEq6s7ZdJ8soDNQCIF7ypDoaT0LKU0oLUrVJFwye8Ra g
Re: Backslashes in string literals for version 1.0.1 [message #50758 is a reply to message #50643] Tue, 19 February 2008 14:33 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hi, Mike,

I'm not an LPG expert, either. :-( Probably that's why I don't see why
these rules wouldn't work. They seem to work in the 1.2 release (we have
JUnit confirmation of that).

Are you looking for a fix on the 1.0.x branch? I'm not sure that would be
feasible, for more reasons than because backslash escapes aren't spec. Is
this something that you can work around using variables instead of literals
to pass strings into an OCL expression?

cW

Mike Gering wrote:

> I know from previous articles and
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=184948 that backslashes in
> string literals were broken and fixed, but not for version 1.0.1 of the
> ocl plugin. I'm stuck with eclipse 3.2 and find this bug intolerable, so
> I tried to retrofit the fix.
>
> Now strings like 'abc\(def\)' work fine, but the double-single-quote
> escape does not; 'abc''def' fails. I'm not an LPG expert, but it seems
> that the these rules are not working:
>
> Token ::= SingleQuote SLNotSQ SingleQuote
>
> SLNotSQ -> NotSQ
> | SLNotSQ NotSQ
>
> NotSQ -> Letter
> | Digit
> | SpecialNotSQ
> | Space
> | EscapedSQ
>
> EscapedSQ -> SingleQuote SingleQuote
>
> I don't understand why. The lexer files are attached in my fragment, if
> anyone cares to inspect them.
>
> Thanks,
> Mike Gering
Re: Backslashes in string literals for version 1.0.1 [message #50786 is a reply to message #50758] Tue, 19 February 2008 15:58 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: mike.aol.com

Christian W. Damus wrote:
> Hi, Mike,
>
> I'm not an LPG expert, either. :-( Probably that's why I don't see why
> these rules wouldn't work. They seem to work in the 1.2 release (we have
> JUnit confirmation of that).
>
> Are you looking for a fix on the 1.0.x branch? I'm not sure that would be
> feasible, for more reasons than because backslash escapes aren't spec. Is
> this something that you can work around using variables instead of literals
> to pass strings into an OCL expression?
>
>

The variable workaround is cumbersome for us. I would really like to fix
it in the 1.0.x branch -- what are some of the other reasons why this
wouldn't be feasible? Also, I'm looking at the junit tests and can't
find where the '' test is performed.

Thanks,
Mike
Re: Backslashes in string literals for version 1.0.1 [message #50814 is a reply to message #50786] Tue, 19 February 2008 18:59 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: mike.aol.com

Mike Gering wrote:
>
> The variable workaround is cumbersome for us.

I need to use OCL in another part of our application where the variable
workaround won't work for us.

Mike
Re: Backslashes in string literals for version 1.0.1 [message #50842 is a reply to message #50786] Wed, 20 February 2008 13:28 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hi, Mike,

One of the principal problems is that Eclipse generally continues a
maintenance branch active only until the next release is made available.
In OCL's case, that will be the 1.2 release (with Ganymede) in June. In
the mean-time, we are still producing maintenance releases of OCL 1.1
(1.1.2 will be available in the Europa Winter Maintenance this month).

Regarding the JUnit test for the '' escape syntax: I was thinking of tests
that I know are present in the 1.2 release, possibly earlier (I think this
syntax may only have been implemented in the 1.1 release, not 1.0). In the
org.eclipse.ocl.ecore.tests.BasicOCLTest class, for example:

/**
* Test non-standard doubled single-quote syntax for embedding
single-quotes
* in string literals.
*/
public void test_stringEscapes_184948() {
helper.setContext(EcorePackage.Literals.ESTRING);
String self = ""; //$NON-NLS-1$

try {
assertEquals("str'ing", //$NON-NLS-1$
evaluate(helper, self, "'str''ing'")); //$NON-NLS-1$

assertEquals("", //$NON-NLS-1$
evaluate(helper, self, "''")); //$NON-NLS-1$

assertEquals("'", //$NON-NLS-1$
evaluate(helper, self, "''''")); //$NON-NLS-1$
} catch (ParserException e) {
fail("Failed to parse or evaluate: " +
e.getLocalizedMessage()); //$NON-NLS-1$
}
}


Cheers,

Christian

Mike Gering wrote:

> Christian W. Damus wrote:
>> Hi, Mike,
>>
>> I'm not an LPG expert, either. :-( Probably that's why I don't see why
>> these rules wouldn't work. They seem to work in the 1.2 release (we have
>> JUnit confirmation of that).
>>
>> Are you looking for a fix on the 1.0.x branch? I'm not sure that would
>> be
>> feasible, for more reasons than because backslash escapes aren't spec.
>> Is this something that you can work around using variables instead of
>> literals to pass strings into an OCL expression?
>>
>>
>
> The variable workaround is cumbersome for us. I would really like to fix
> it in the 1.0.x branch -- what are some of the other reasons why this
> wouldn't be feasible? Also, I'm looking at the junit tests and can't
> find where the '' test is performed.
>
> Thanks,
> Mike
Re: Backslashes in string literals for version 1.0.1 [message #50869 is a reply to message #50842] Thu, 21 February 2008 19:57 Go to previous message
Eclipse UserFriend
Originally posted by: mike.aol.com

Christian W. Damus wrote:
> Hi, Mike,
>
> One of the principal problems is that Eclipse generally continues a
> maintenance branch active only until the next release is made available.
> In OCL's case, that will be the 1.2 release (with Ganymede) in June. In
> the mean-time, we are still producing maintenance releases of OCL 1.1
> (1.1.2 will be available in the Europa Winter Maintenance this month).
>
> Regarding the JUnit test for the '' escape syntax: I was thinking of tests
> that I know are present in the 1.2 release, possibly earlier (I think this
> syntax may only have been implemented in the 1.1 release, not 1.0). In the
> org.eclipse.ocl.ecore.tests.BasicOCLTest class, for example:

Thanks, Chrisian.

Mike
Previous Topic:Sequence manipulation
Next Topic:UnlimitedNaturalLiteralExp name mismatch
Goto Forum:
  


Current Time: Thu Apr 18 02:28:11 GMT 2024

Powered by FUDForum. Page generated in 0.02275 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top