Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Nebula » Does GridViewer support fixed columns?
Does GridViewer support fixed columns? [message #16977] Fri, 24 November 2006 07:46 Go to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi,

Is it possible e.g. to set the first 2 columns in GridViewer fixed and
scrolling happening from column 3 to n? If not is this feasible and
should I log a feature request, I couldn't find an entry for this in
bugzilla?


Tom
Re: Does GridViewer support fixed columns? [message #17005 is a reply to message #16977] Fri, 24 November 2006 15:59 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Tom Schindl wrote:
> Hi,
>
> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
> scrolling happening from column 3 to n? If not is this feasible and
> should I log a feature request, I couldn't find an entry for this in
> bugzilla?
>
>
> Tom

sorry meant Grid ;-)

Tom
Re: Does GridViewer support fixed columns? [message #17061 is a reply to message #17005] Sat, 25 November 2006 19:30 Go to previous messageGo to next message
Chris Gross is currently offline Chris Gross
Messages: 253
Registered: July 2009
Senior Member
Hi Tom,

Not yet. I had started initial work to support fixed columns but
unfortunately I had to put that work on hold. It may be quite a while
til I find time to complete it. There are other facets of Grid that are
higher priority for me.

Regards,
-Chris

Tom Schindl wrote:
> Tom Schindl wrote:
>> Hi,
>>
>> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
>> scrolling happening from column 3 to n? If not is this feasible and
>> should I log a feature request, I couldn't find an entry for this in
>> bugzilla?
>>
>>
>> Tom
>
> sorry meant Grid ;-)
>
> Tom
Re: Does GridViewer support fixed columns? [message #17089 is a reply to message #17061] Mon, 27 November 2006 03:18 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Chris,

no problem. I was only interested if you ever thought about supporting
such a feature ;-) Should I log you feature request so it doesn't get
forgotten?

Tom

Chris Gross schrieb:
> Hi Tom,
>
> Not yet. I had started initial work to support fixed columns but
> unfortunately I had to put that work on hold. It may be quite a while
> til I find time to complete it. There are other facets of Grid that are
> higher priority for me.
>
> Regards,
> -Chris
>
> Tom Schindl wrote:
>> Tom Schindl wrote:
>>> Hi,
>>>
>>> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
>>> scrolling happening from column 3 to n? If not is this feasible and
>>> should I log a feature request, I couldn't find an entry for this in
>>> bugzilla?
>>>
>>>
>>> Tom
>>
>> sorry meant Grid ;-)
>>
>> Tom
Re: Does GridViewer support fixed columns? [message #17203 is a reply to message #17089] Mon, 27 November 2006 11:17 Go to previous messageGo to next message
Chris Gross is currently offline Chris Gross
Messages: 253
Registered: July 2009
Senior Member
Sure, you can enter a bug for it.

-Chris

Tom Schindl wrote:
> Hi Chris,
>
> no problem. I was only interested if you ever thought about supporting
> such a feature ;-) Should I log you feature request so it doesn't get
> forgotten?
>
> Tom
>
> Chris Gross schrieb:
>> Hi Tom,
>>
>> Not yet. I had started initial work to support fixed columns but
>> unfortunately I had to put that work on hold. It may be quite a while
>> til I find time to complete it. There are other facets of Grid that are
>> higher priority for me.
>>
>> Regards,
>> -Chris
>>
>> Tom Schindl wrote:
>>> Tom Schindl wrote:
>>>> Hi,
>>>>
>>>> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
>>>> scrolling happening from column 3 to n? If not is this feasible and
>>>> should I log a feature request, I couldn't find an entry for this in
>>>> bugzilla?
>>>>
>>>>
>>>> Tom
>>> sorry meant Grid ;-)
>>>
>>> Tom
Re: Does GridViewer support fixed columns? [message #17920 is a reply to message #17203] Tue, 28 November 2006 13:20 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Done the bug-id is 166089.

Tom

Chris Gross schrieb:
> Sure, you can enter a bug for it.
>
Re: Does GridViewer support fixed columns? [message #48655 is a reply to message #17920] Tue, 05 February 2008 08:44 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Chris,

I've got a potential customer for the following features who are related
to this request.

I need to display a fixed header row with widgets (filters usw.) and
additionally a fixed row at the bottom (for aggregation, ....)

Do you think it would make sense to have a feature like this part of grid?

Tom

Tom Schindl schrieb:
> Done the bug-id is 166089.
>
> Tom
>
> Chris Gross schrieb:
>> Sure, you can enter a bug for it.
>>


--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #48690 is a reply to message #48655] Tue, 05 February 2008 11:25 Go to previous messageGo to next message
Chris Gross is currently offline Chris Gross
Messages: 253
Registered: July 2009
Senior Member
Hi Tom,

I think most of what you are looking for could be done using the Grid
today. You can figure out the coordinates of the column headers using
the existing API. Once you know the coordinates you wire up some
editors just like the standard GridEditor.

Regarding the footer, I can see the value but it would add significant
complexity to the Grid. I would rather see a solution where a small
(the height of a single row) Grid was placed at the bottom of the main
Grid. Then the scrolling could be synchronized. That said, if you (or
anyone) was willing to contribute a patch for this feature, I would be
willing to work with you.

regards,
-Chris

Tom Schindl wrote:
> Hi Chris,
>
> I've got a potential customer for the following features who are related
> to this request.
>
> I need to display a fixed header row with widgets (filters usw.) and
> additionally a fixed row at the bottom (for aggregation, ....)
>
> Do you think it would make sense to have a feature like this part of grid?
>
> Tom
>
> Tom Schindl schrieb:
>> Done the bug-id is 166089.
>>
>> Tom
>>
>> Chris Gross schrieb:
>>> Sure, you can enter a bug for it.
>>>
>
>
Re: Does GridViewer support fixed columns? [message #48818 is a reply to message #48690] Tue, 05 February 2008 11:51 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090606070309060303030609
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hi Chris,

I did some hacking today and have a rough implementation.

Chris Gross schrieb:
> Hi Tom,
>
> I think most of what you are looking for could be done using the Grid
> today. You can figure out the coordinates of the column headers using
> the existing API. Once you know the coordinates you wire up some
> editors just like the standard GridEditor.
>

Are you suggesting to write a GridHeaderRenderer which provides extra
space to position a widget. Because I only have to display drop-downs in
there I event thought about writing an GC-Based-Dropdown this could
integrate nicely in the L&F of the GridHeader.

> Regarding the footer, I can see the value but it would add significant
> complexity to the Grid. I would rather see a solution where a small
> (the height of a single row) Grid was placed at the bottom of the main
> Grid. Then the scrolling could be synchronized. That said, if you (or
> anyone) was willing to contribute a patch for this feature, I would be
> willing to work with you.
>

That's the way I also thought it could work (and from my first tests it
looks like it's working fine). See screenshot attached.

Tom

--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------

--------------090606070309060303030609
Content-Type: image/tiff;
name="screen.tiff"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="screen.tiff"

TU0AKgABOuiAAOBAIsloukw1mw3HcXC8YDoARGJROKRWLReMRmNRuOR2PR+Q SGRSOSSWTSeU
SmVSuWS2XS+YTGZTOaTWbTecTmdTueT2fT+gUGhUOiUWjUekUmlUumU2nU+o VGMNJotBjpVK
JJDqdTKNalYsFojp9QKRcVK0Wm1RloNFpgAA3EAAK6XO62u8Xm9Xu+X2/X/A YHBYPCYXDYfE
YnFYu/v7HADHP4AP/KAAYC8W4ygGEwFwksdks5iw2H5rTaeIshksoAATXAAD ggEAABgIB3MA
gLJgGI7x/xHf73eajiRbKcHi8Th8nT3Lmajj8/pdPGcvqYcA8jr8XkbzrRjf 7+477J8CJ97w
cLzeXhdr073ux34xXK3Dh5Tvdny8vgv/8v68jwuCfp+n4AB8n0fIAH6fcDBu G4au2mSqKsep
8H87Rvm+cCKBCEIQJQeh6HqAERxIex7HuAEEwUiYDAOA4AAUBQEgABgFgXG0 bqBEUSRMAEUR
VFiKRfGMZxrG8cgZHafx7Ep6xPFMVnzFqJSLGUaRtHEdRylcNQ4icPRAiZjt UAACgGAsZR21
zbrg3TyPYuCJP83sJKI9yYu+ls8qlPrAT2vs/pFQK+UGv1CzvRSfUOllEpTR tFzsmtIpNR9J
OBS9LUqlE60wnlC04ij+PBOtCv0+b5OHVE500i9UzoyrxzoiVAvDVr6v5AIA QafYAHvKFeH5
AwchwG6KS/DsP0/ZMw2WicLQwidmolMSQH3bAAHeeB4gAbRtm2ABznOdQASh EkCn6igBgI28
cRyDIMgsAATBKEoAAiCAHzOAs1JfbFfW3btv3Dcdy3PBZ+XUid2XdLd43net 73zfd+38l2AW
1blvXBcVyXNYN03XdoAXeAGIXpe18X1fmLpDaiI2siZlGWZczgJNQFS3iz7N 09dRuA4NXU+9
6maGnlRaJpSL6Oi2mp0+ql6fpyTaSteprTq2l63rjn60kGsJHr+upI61PP1S aPu7PLu1silc
6Y42qUzt+0VrWL1buydbuFUm4b1V7JWEfUgHtEmMhsGsI2nDdlTHSWYABmSJ WjsaL2HAx3Hc
eAAGWZhnAAdp3nfM6BAAAwDAI2mSInkVsQMfcCAACQIAgAAahoGV8AkCOb9U k/MABzXOc90H
RdJNDb9R1WGop10G152Xadt3HdAj3nfJR4Ph87z/Q9H0vldT1c3Il5/Yel2v b9z3fegK16Xm
cZxnzOA+cgSBnT/e+zfOdWScz4uWbIUeAUAyQthbAnIl8CIDHygaTmApG4GE cgjA8jkE4LQX
Jo3wmEGDkwVbjB6B0GU+NAV2q5vyrW3n7OcRNSMHDvqkTtDAiqe27K0TzDZO p7j3HoVvCkfQ
+kDIoHoryIQAAZAyBgTR162nwDyHkPNwqKngkzNc6pI4AAHAOAaAB2rtnUMu JYPUe4/Wotpa
EnSGJ5R3jxHkAA1YzHhOiAAAkBIBgAAkBKCYAAGwLgTZXF0fA+VfDpHY6Qco 5x2gAHUOgcaQ
B8OEAm7QAAOAbA0AAA8B7tmfkdOXG2N8cY5ukjtHiPUfI/SAXzIKQgAJDSIk VIyR0kJJSUkt
JiTTtoTw1VpABbUbo4DKjkO6OkpY8x7j7H+QIAJByFkOACRMi5GyPHtJEAEk 3bS3kzJuXqp2
fw3LgnUaY1C3r9jwzpHL701G5UerCEk754TxnlPNoBGVGwino2ojSl4QT5n8 Xyfk+5/lGgif
NtDZ5en0bydqdxNIZQak64A9h2j7mVYy4ZEg+h9uEBaCwFic26TfPOfQ9yQZ GDqHYAAcI4Rx
AAW45xEY9leLZnqnKh5HgDL9ZKltfS+wPggA8AACwFQKIyAWjWmx94Zm7bkA AeQ9R+KHoaeW
javhsDZXCNsbo3jYPjiTEsDwGgKtvOCPea0QXCRCMkN4cI5wADoHNS1BCBgS AjBEAAFAKF70
5jEeikB0aqgAqvVmrdXXVVfABWGscLqy1niCisfla621vrigeI9da715r3To j9gbBgAq1VwA
9XolWJrFWQiNZq02PrUACtlbq4VysvXavFen9MXbc2lWp/SIjat8y2nb+WeK TbM3em9A7kGC
n7BImVy2t0BIzPiDN0qmwduTdcqKoroXYJXPxQ91LuNqh1D+iCk2+KmPKeJU ae0/tCqVC6iV
CaR3MojfKNLcz9tnN+tIAA/FsojiLYEFAJwTw4nqquM5+7+rDpOuUbI2huSM HWOuoQGQP2mq
KjBNRdLwEWc3EUa05AAAVAqvME4JQSVCAvWOK91Yav+N+O8eY+aKNAgCeuQa ChkTCXMiIAAJ
68gABWCeoNjCIpUdgtmjSBrImSRFTIbQ3xzK/HlIsBaS5KyXAAbJGMK6mThI jjkAGO45D1x9
kAFGQsiWoQOPnJKvsl39Mfk9b2UsqZWyxNrLk9ldpUx1jzM0Rc0ZqyK3jNub 0VvQyaiUemUM
7D3yqyXPOWs9wKvjSJZA3hvmtpzTudIBY8AChaoO9V4SkYd1MSeDmqVQUg1Y UC52r9ZF7Tjr
MneqNbEqu1dVRKfdeuA1XCq+FuiAACBQOCAB/wWBAGEQaFwqFwWDweHQ9/wd 9Pt9AB6xsARi
MiKQQaDgAAxOBxWEw+HPN5PQANtut0AOFwuMABcMB0AC4VCEABIIg2SSaH0W jUd2O15AByOh
1gBsthsgAPB4OAASiMRgAGg0GQyE0SjSN2vB7SOBONxuWCh0OhuGgCLvsAMJ iMYAAYBgMADc
ajGf0GRQJ8xcAPx+P0AP1/P4APjDOx2PAAS17xp65d9vl5x1+Y4fDwcgAC6W F2iJxZ9vy63e
83u+3/A0KUADC3TEYrGY7IXTJZTLZjNZzPaDRaTTQi0QiL6y7Xi9Xy/YCgbS R7fD4nF43H5H
J5V6ZeN8PO6vjaPSgSRUSFQdxuS2QS3XCCOT7XkDAYAAsGAsAAIAj9AEsSUu WggAwMo8FQXB
kGwdB8IQjCEEwklKiwQo8CQbCkKw7D0PpJEERQVDkRw/DUTRTFUVxZFsXRfG EYxlGcaRrG0b
xxHMdR3Hkex9H8gSDIUPtQsEHxRBkKSQk6GIVJaKIQkqBQ4iK4wJIqCSwkTH H2jCNHoey5S8
DYOJ09oALU+KBzK+kQwOhh5HizppGoazbHyy4XheFqqA2CyCn8xkanoep8Mq eswmeZ5pAAA4
EAQAAWhYFQAAerqDSlM61HIgaFA6DirrQdJ2nmf6JvgcyCg2DYNJJJSFF2Xx ggACYIAcAAfB
2GiSAEAU7tYfx/sdYTHHuyAAHUsrbHwuiCH3QR7Hmd4AHcd6liIIYfymkcpS nDIAVjWda1vX
NdgDXtfgBYNhu5YyM2Syh82YgtnsdaNp2ra9s23C0CrBUyhoFcNaVtXFdV5X x8nzYFhINdtj
3hZdmoHeoAXvalrABbFtSrK6BnMctUrRVa4ImdR1HQ5ADv2Bb/Py/SStSiFO xDKsh5vnGc51
neeZ7n2eSfn+hZzEuh6NnGg6PpUf6TpenRloun6lHEz37CcmzdI1vZlN+u61 rGq6zbyJQXps
EykisDZlJ2Z6tLaOn0jNCHqjsugACoLT+ghzHJVM3A1VlXY8ex8UMZBkmWrg GAUAAgB6G4AA
HdFgoPd1vbdy8LyZzCWzCdJ1Wmdp2HUAB5zAAAchvXdH0hrKR5BvyB8BVtun OdR4bTtfN4Cw
dGgPlZfF+YQAAjgoahmFz/8kw9BMQ1h7cJQ7LsSg4CAGhXqTufLKnhfB4KWI Ygh97UH9/4Hh
eJ43keVXzEsd52LeieTM+Z6vr/r8h5e7anvgB8L42FPbIKt02pA3zAAeC8N4 qt3jvJes+15p
iH4qGfm9Mfr9nsQXfy/sdz/X/vkQU1woo8H9mlP0y1lwB0BLdSy1whzUWpwx RGkuApcYZQ3R
c02HEO4eQ8h0juGDTGnRBR9D9G0RGgI5iQ2E5SPYjM4iQiqGjYoBpBijD1GC SkPNkiZE0o0L
2aRecyWKJ8BSHMecxF5gDYkEmOIERh7Y9VCN1IyBACIEXempj07uGwxxjuJA cA4r4MwYArP2
ApSA9h7vbHo6dGg7R4t0H7JNahkjKjzboDkHCuyVGnKOOIcw7Y1xqQwgiM5A gFgKcYMwZw0Q
AK9IOBQCoFzZmLkol01huXImwQAXwh46h1mUHoPMyhFSFAzBmC9i0c3eJYSq 4s/0rJXSwABL
KWh1ZbGKlwdkxRey+S9KLMCYUxD1gAmRMoe0jiTylZqSM/sq5WyvAFLGWctZ JzaNXNyXc33r
ThmCACYcxWATnYsoghjao1liY6iEe0cj/gFPUAwBitz8gFYRGOPkV4sUbo5R 1GDZlv0eo41G
KdImexPQdRpI9JqWUtZvSpCVKEN0uaQUeklNKcUYTPTCKtPWvu7jOSNgFO6S tlSjO1tUfI9u
uSyt9Ko+jC0AmGdkukqivttqZHwgoBnfgAGuNgbZcmFAAAUAtSAGALy0bHU1 fsWoxJIPSQUb
Q2hvH4P0CkFAJk7kZp6hhJkXCHDfHEOkiNQYwkooSiE/jjCaKcHaO4dzkQCK QAUAllbvz9WV
P1RU/FFp5kHV6r4gg3BwMpegUsCYEgJAAA+B8nUciXVYhYQc/h/rGgAsfZEA dk6yWWd9ZkBN
mwDUWs5Z+eVoiB2ktMPa1FqrWWuS+3QiC3E32LJmOGx1kLJWUt9Zi3twriXD leSi0JBblPxu
bau1pOpGkubZU1shY0Qj8M2aS8UqSv3eQHKd3qb4u05Z7TxB170W4CwBgfBF RkWM2RjTLBNb
KY02SRg5zOD0eU3vlhbDWG8OYdac2w5cIkF3xbBGAiVJGZG1vfX5BN8STUIK JiGoGJItRgtk
kYhS6zbVQMw3QjBdITRhqxhkAACVHuldMAAbg3RvqVAeV+iB6gGyBUq4tGrM SmDoHaAAdbJw
AAjBIT6QRX1jKGxYp1pI2xvDmxPhWENv3ejeG+OGyRCleqQkC4yzVdj/pSAK AY9SA1fDgKbM
szskyDghBCB8oZCmFKGmav4tEBza5yzpbvOwAs8AOz1cHPgBM/aAleucAGhL TVT0QADRWjMs
QBpsQXShI9LZ1nlpvTtwj9agIVn/QOpNTaGltonRejYQU/RDTurOaCD1xqsA ABFXVz2isNsb
D21drNHpBF/a7PsMFFwNttG9RZO7gZ/t1KG5GdbZc1uholIdvbsam7rN2b4C Q1rbUfN2IkG7
6gHQpLWAtp4QImbt8iiG6X0LoRW5F1MKtBV6QoCHEQADnHOykcw5h01kkRs6 303lXIGsBQsw
e9bDT3MesdRChgNgZloBnlgAB4pyXVJSK63CFDYG0OKYxArIWRLBaoCdWiCA TAnHiyA8QAMh
ZTnuV56pVKQAeA4/yAD1D3WMAAeEkW4KGHwPcjIGgNAYeIBIB4AB3jtWnDCN HROjDu6R0q75
AgBdO431HqaAAAdWUN1nHw+uudeAB2DsQEeydm7RjidfQuh9FWp27pI5ul6e 6bxrqHUj/947
11jrRGO/9f7D2PsvZ+0teU6WS7RBAJWpcugBX1cQEgJcY6yfexN4e19t7f3H ufde7957333v
/gfBhu2mbPJ1DdWTDNt9zl+ekFtTauJDL8nFCHlkl0S0x4/VLk3GG21EGEOA Pn8AEgShATAp
HgBxXjK/aYURmAlbB33aLR6m1ZBE6jfvjCSYpDAIAPjwcuLE6oAAAsAqAqtw g6WQmAYcMcUc
uEPULAOaWW/cXQbzAMtSAgy4HWKel08Qa04YUweq7xAJAMseMoZOKeWIUaAR AccvAiXlAmV9
AqVoAlAxA1A2O0owrWxASNAFBHAPBNAVBTAaPxAeJHBcWO2jAHAJBnBrA0n0 RIJQ5iMoLA4j
AwJSL2IUAQu6q4yKlUOQosyw+FDFDHDJDLDNDPDRDTDVDXDZDaQ6+IS6LoHu egx2e2csH8M+
Qse7Cm/4eKnKgGi4d6geP2olC6UghUP048Rg5MMKIzDmUM4MMWWe3ur+SkhI WmLAjujwLQGg
GoG2wYqM2QZkNKotB8WeNYHif6HlFWoAkUZolS6g6iycVuesL5BsMOnypU3k IZFJAHAKI6H7
FRFVFYTAMuJTFhFnGTFrAzA3FyyEqSTe5FF4NNFNGC5hGGKXGLFe7rFkAfFl GXFuvoNYRKpK
34II9eZW9eUgUeASd8ZW49DDDdHlHnHpHrHtHvHxHzH1H3Hy+JEYrGcKMu8y 6sr4a/B2wg3G
p/HMa8qGoO3WyHGeQ9HMimGaGeGyxIX+sO9KyEKOjtAwUsKEANBWci1IIIgu Mc78IyTkM6Hg
8cVccuVNIORJI4KNI8UqUvJFETJKIHJOLkWPJW6xJczOUwScsQtmi8hZI7D9 JALzJGeuuQIF
J7JS5gHnJZKEqESmUy+8203mJGt2V8okP8yNEOyO+kvLHjH5LTLVLXLZLbLd LfLhLjLkQi+I
MbJQ+4Xk+OcKMw+SO0vfKMbWS0JPIbKzIwSZJkpnEoTcOWSwSfMEqBMgqwGS GaGqVMoTKxMU
hfA/JiX5KTM0Uw3vB2xUbQ5s3OqFK0xazQJEIkxtJfKIp8umcxHIZqbBIcbc hExSqGr9MGLD
FEYAsTFArZKSre4EimyiK4kEkOcYz+P1F7EUzQwpLnOlOnOpOrOtOvOxOzO0 Re+JJMlubsI8
I1DojkTDEbI0c2oUZoinECX4KHODMRBySzNKbBKMISNQ383xMUk8QsGOGUGm iJMeSTIijSQl
QCSGxSLDPihgrcxuQrKHQJMSioze3mQWL2V8/I/G/VOZC+uO9nO3Q/RBRDRF RHRJRLRNDRLq
O5LsbqLpPC+qJcI2+SMM2/IhQgwVK3IXA6QrQNGfQYX6FYFgFxRpRPSJSLSN SPSRSTSVSXSZ
SbLkHIHOlFSdSnSpSrStSvSxSzS1S3S4aHShSlS7TDTFTHTJTLTNTPTRTTLd S/SHTVTdTfTh
TjTlTnTpTrTsRbTZTvT1T3T5T7T9T/UBUDSbTyKOGgGaGPHdQ9UFUXUZUbUd UfUhUjUkZ7H+
e2BgBmNGQVUIKMHSHMHAy+K03YFTVGAAB5VM7y6tUnHuF5VYAACbVfVRGNVV HpVYF4AADRVx
VnV1V3V5VUGqGyzpAIAoR6ZCHOK4ASIUAuA0BAQXU2KKH6H0JdG87K3QCHWs AAEzWyAAHFW5
GZV7DMfgE9XFWxW1W4HFW9W/DJXDXGF7XbXTXfXhXjTlV+zoBgT2Qe4IUCnw lygkm3PM0e+2
LpFWKWBCA7AMAGAMquKPWcIfWhWlG83ZWsCHXIEyAAGbYuAACvY1Xk+CDtY9 YtYxWzYrYuGb
YzY3Y49/Y8DtZBZLXaF7ZRZhZjZlSpXoABXsT4IIJirqK0BEUAO4MSN1X6nz DiAAG+HBXO7Z
YC/XYJYMcjYTWbSihhYcydWo3JYlYpZZZMCvZm93ZVazZFazY1a3a49za9ZI ABZdbJbVbXbZ
OzZrZuQfRW5Mvom0vpRY+2Iy/ax2IzYG1VabYRYUKNYYIXanWnYjWvbBbPbF ba9rbNZDW1cV
ZPcY3RcdZbXdcncxczc1HtbfXuIIfg+yM6vafigsNZF6uGvChW0cMMbjb5FZ YLYPafU1aiQV
cLYhWrcRchYxcWiwNYG8GicSHmAaBSAABeBFCtc2KPcraxcjbGh7d9eAdLeH eLePeSQVeXbT
ete1e3e495c6T5KqJcHWksI2bo2eZW9lHUSYl1b0NWNYJKggNYTjaZdjcCKL cGIRdtaq3Bav
cTd3ckQgHoG/UQEsEOEMAAEMFUGGIWkMB6CWW0DeEQD8Y0A6daRSJcEwAgKu DwEDVsHgDek5
DMUMG0GYGIAAGKGKLwFcFUsiEIFyEheLftZTY/bPf9ZLd4QjgFgJgNgRgVgY ABgdghglgpgs
RNgxg0ABg5g9hBXUAAGsFiEqAAEKEUD+AAFqGqIQDAEQFOAAEADQCSABeQ99 excve7jNjPjQ
w9ZqBGBEJ84uVSOwnfC7HaohdS8uPVQsZpfK5g5iNsbsJYM7dhadhkIXfwIL f1cPYnhta0Qe
HYGOEwAABICSDwIGB6AAEqFliqBiAeLoHCG0lcFeEhkoBkEtU+DQBfjERGJc E8CYKuFcCYVm
FplPDOHoGYAAB2A4CIABiwIICWAAGCHIFLhjDHeXkXhwQZkdkhklkoIFktkx k1k4Jnk+ABlD
lHlLVvlQRXlXlaABlfljlnDGMoEwCbWYHECli4C4B2K2HYGWFAAACcDWEtiB g6AAFniZjHhp
YxezjTn5n7n8pZZqK6KFKqM6AW9eyLoMd8Ugrjjq9mt2L4clKhPETCmAKeHc 8PkFcBahTAKN
kRdxkVd1hvgAKOJsEEAgT4EdiAAAFYGuFeY0AzAeRGH5L2NYPUUfpiIfm3ld lgABlkmUR5pm
JcNYK+yOIRL2UNHXiKQhpmUMH4t4ARpwQ+NYHxqcIEG8E+AAAwBsFdl+HIFn mHDFmLpDkYQZ
pLpOABpTktpZpcCJpgRTqYMOP+2dqgKPp1m7p5p8R7qDrjqJqUIFqO2drmQ7 rhqdHXqiReUM
E+C27EDiHkEQ1KFmDRjC97jJZfn/svswIAAIFA4JBYNB4RCYVC4ZDYdD4hEY lE4pFYtF4xGY
1DGm12+AAEAQCAAMBQMAASCgQAAOCJWBwNJwIBQIAAIA5qBJuAAHPZAAgFP6 C/qIAHlRwA33
A4QAHQyEp4BgZDXI53a/4Y/X09AAD69G7BYbCQ7IAEzZwAzbUACvbYa9Gsnw AHB0cQAS0ewQ
ApTCL408GsAEidjKAD+qmrBRWVkCAE2ijeABUEIJXE8TA4AFcTL0tDRfoFXF WcCOAGKO7kkC
qJoK2liegAYVqMQAuU0VQBU9EcCzphfkSC60iAC+hmHAxWAFCyliABK0UcAB 0ZUtBTUm70hi
roABu96xd+ACO8rkWT+teQAEQslQADQPg7YbhcrorgAwXIswAL6nYv8/8AIG O0BrStazkzAp
mrYtyGPmua6ruvK9r6v7AsGwrDsSgjFsax7IsmyoAMuzLNs6z6Bt20rTtS1b Wte2LZtq27cu
6ADRu+8LguG4rjoE5Llua57oum6qCOu7LtxRGzeN8yLxvK870vW9r3vjAJ8L 2LYMAANZ5EQA
BwFmNAAMpAMzTOiMBjtBIAF7N00ThOM5TnOk6ztO88TzPU9z5Ps/T/QFA0FQ dCULQ1Do6j4C
0WkiSpYA4DgAlyV0WAqbJwmwCKCnCcp8oCg0+gqiH9MClgABwFpqAapKoqys IWrSuK8B9Dz8
sghrMtC1QUtorreuMHrsR5jHI2IVP6ipxgAQQIBaABHBWNQAFkT42ucABtgA SYwicABLGqOQ
AGmdg/KaAjLMwzTOAAzzuK4T4msyTglr0YsToIuImuleYAHJe0aK4UotsyNb 0IEK0vl4NYVM
0NVu2+ggwAAU5eC4AB0FIIgADiUArAAYx0E0yQEYDgcuYMAAe3CWRCCKABnk qJLDFU2BrnhN
YMo3Bz6vu/L92RWugoFNU2QPNle1++kIWHYow2Oi9lWZZ1oWlalrBLbFtW5b 1wXFclzXREl1
3bJV4XlejTXugd832Jd+3+3Us4JlGEABhWGFdh2uYjieK4vjON47j+Q5Hku5 oHlVp5bl+Y5n
mubgBnKxHwbRVgADAbMKvC9L47mhUJoldzbN/P9L03T9R1PVdX1nW9d1/Ydj 2XZ6FRNH0ikt
LANSFJJhTNLJmAdL1Unab+FUNQoIf/lgAdp2ncgR+nsqOgISqqrqyrauq/2j /VvXMEdFpEG2
Aui7ErYgAC3p6KHoaL6B+uxEPw9z+IKfFgAxCH5nB+qaojXUiZdwAGzGabQm JzwAG2A6E4FJ
t4YWAQEXixsEYoWLiQCepJtYnwtnSDiB8AAyh0CGAACYlYAH8CYcuDo9AvGf A0AYu9kywgAD
cL4AAChAxtClDMAAGwaxzt2he9UirOwdH2Pwfp+z3U8uhQMrotb4yFxGfO+l 9cRCHvufg/J+
hn3qv4Lk/qLj/TPv/XSiVdjal3wTFdAdtRAoFwNgfBGAocYKwXgzCeBUHIPQ ghFCSExAoUwr
hbEOGRmYaQ2ghDkgUO4ew/iDC4/UMEKnNCWDoL4ABqhgE2mA1SZImJ2icgpN wvZQynlRKmVU
q5WStldK+WEsZZKBGoNh/oCHeAEUcTAk5MSTqVAATRVQA1Nk6Uu8eYhIAAlB IQOwdg7XovTV
XFggz11XkKVi9tWksyHvfaM+JBkU33lzfiAAQIvH+hvBomUiZcBSoPOqKwa5 egiAZJqQQfg4
xbw4Bab1/j/kRRnbHGqCSJI3QJLjB2BjGl/QQbjAUVwUhjAAFm04gscYHUNR oaF8sR2exKhj
QUzVEqKUWXxHxCDPZ3xLIxEaJDPqWTcLDKN8DR5wkKi1OQu0550zriKNad5d J4zzABPWe5A5
8z7ApP09QwYyAvjM2KATZY2UHovSgTlDBi0ORrRCklFWGUnX1AyjNW6Nndo7 S+kEa0SVfpNB
uhRdqVM/IsN8W4igAAxCzCQMAj59iIDCDmDVMj/U0lLYSxFibFWLsZY2x1j7 IWRdSNUbJTJc
KRmASZSwByTE2UcTp4RN1OvCJxMh45IiEzOmgAB6T1FWvYVg9pWdkiBTeigr ym5CR+DnF4AA
H4KQqSaLwmCG87CIPuhUBwH4eAALDHQsaPUgn8v7qdQCAEaGyGhpFRGidYCB pYFuHpLYWRpi
PX7RWOlVS9QIqvWOOVGlkUuo+z+tkBr1xvj3XEgR+KVzUIk5SMINokDoiVdG 2hDqaTfijbkh
Fu7e2/uCNW4Y4LiztGjcm5dzWQXQfvdOMd1qBVTu1V67tb7wXiABeS8x+auX 1jbfehC8F91l
q5RxpVar6XbqtSe/Vc6YkOHhOMEE5Q5CnGmAAPwSUrYHItYZ0mTMoZRyllPK mVcrZXywnCyl
liXKZJqTF3RMZgkzJsTSY5PCdk9tIUAoVqZnzRtcQyaz2VZPcslbZ8OC1fEQ GYJiDoRA8MGC
WbAW4fwugABSBZSw7xzP9GAKRkRbK8BhBWO8AAegKG0EtoM+4jIegfH4UwTQ agfgAOMtKP8J
WSUBqlGmAcdQMpfGCHkHwABqCbMKGtiCEV+w3ofeqil+KMRzvjWm+Z/MXY7r hB4gULp3yUna
AAcY3x1gAHcNIUdvgvjLOUMERoAAXAJASAACoJj43+yZgm26C89kPz7n/QJA tOaF0PonRejQ
AaP0iFfSeldL6ZW9pwYOngAag1FqTUww9UQj1U2GAOrqqSI1iffWmttcJc13 cMcmvqu7AvZW
LGexEUbGiTjmiGyo4Uorls4AG0CGj8I/pjTRAxECsn2wweoAB9EDAMBAEZ0g aAhJtljJ0pss
9H6R0npXS+mdN6c6vLaksuk6JqTBSxJpfqMtBl4mwArSE7eRmyZub7WTSVZn JV2dJtYHzxTb
dpEB+AAGiLE6IajiyaIax4Vg0xJVFA6SsfA5xjgADwFRmQoENGKWkLcVi5Qc gZj1w67F+K7V
4r1CQgoYEviVA0egNYw6M3o1/QbGFV6FCuoZ6LkbSre385Nx6/EjofBrv24Q F+BiHD0GYABe
LGkekLB7EKSe6Labqzzbjt5D+49z7r3fxJCu9d8794DwXhPDAA8QQdaIAPGe O8gkq69A4E+V
rzXsg3mgAec896C8+Lcdelx4dL1H7azxG9bxv1/pNgwJ9lD/2pkT24h4fAaI AAMwDDUoVQiA
HpL4/JMb4j4pAh0Sw7p8CkCsC0C8DEDMDTpzqJSbrjqyYLMSYDrbqjrrr547 Nh5Ig61TOCaa
16a4hKbK2a2jtqcD5Iiofgrgc4dbSwgQmoAoBICKHACD3C3Q7oeArjuImoCA CEB8HAfArgeh
LBMkJsDbLL4ztwjUHIAEHcHrocIEIQCkIj5UI8JLocJkJwigfkKA7sKcNEKz okCItcCcOEOs
O0O8PEPMPUPZPsDrqbMwkqXpRgkwnKYy0TNC0InyYh4SZYkbsa1a1sFztC2C bC2TOyyMGrPU
PkTZ2MLEG0TkUB1rosUMUkUsU0U8VEVLKkPxSjMkQhRrrJ4EQxTQnhTERcRC ZUR0FbskSLs4
hbOa2LOqbbO4srBT5EVUZBQUT0TUZMZpPsUcZ0aMaUacakasaxOcVjMqzcQZ R0EZ4sW0RUb8
Ri1ER8FsXwhUYESsYTtkYrdaKUa8eCwsORBUYzdkeMe4sUaEfEfcfkfsf0f8 O8bKzJRkEAnR
4AAsRJ4kRMFBUDsUXcSDs0J0dMGMS0YcTEdpBAZMjTuQaMAkgEj4hoEUkRGw VZyxo0jQZMjk
j0kElghEkQEUkhy0Oklsmkmsm0m8nCU8gTMyYCXyYLrRTAnSYq0bNsFQg0Fj srOMX7tMYIAA
WEp4AAUUqTA4FUqqBQawwMnMrQ/YF4vwE0r8mMrcrUrovwR0s0sUtEtMtUtc thALqIBLqbMg
mMH8EUQzM0Q7rbNUosh0o8XkiMF7tUGayRogRUwstsm4SExIAAOExkw8m0xI SExcxsx0ykys
y0y8rUbImcbbq8brrUb6YcE7M4kUXUvsiEpUdEpkdTtcGgssmczEfsJgygeE 2k2EgE2QAE2g
eE203k3s3038VEnbq8giz7Mh4J4cXB40vaZkh8c0iU1Uikdc1pXE184Ea03E 3U60e87E2s7U
70788E8LLMncH5Rkn0EcoMWhTjM7sM5k0050wEpswUi86jJ6UIriu4PgAAV4 cwgYex6Ygoer
nIDgKwP7JAJ4DT7gQJcIZQGAOgwwJ4DxuwRS5gT4bgqAOwRRcoF64xEIWIRR cIWoA5jwSQN4
HAAAX4RU/U/k/1AAglAQudAtA9BM/M/c/ogU/4goBQCgEg/YG9E4JAI7Wr78 ac7k3aVE/FFV
G1Fog1GFAlAwP1BFBVBlB1CFCQXlCiAlC4AFDNDdDpJVD9ENEYAFEtE9FNFd G4AFHNANAdGV
KNGlJVFlHFFwgVHdHoF9H4AFINIcIsZFI08VQFQNQVQawkt8uLMMuiX8uxTs Qq0hT0FMvggs
pEXs58Sk6M1kYk+royU6+oOIBxaQR4IhrAfNUggYfIAACYF6BwKoHMIQTwHR eQLwvQYxE7II
uTIYuwFYOQVg0wPxjQggdgYSvAEgJyEh9BYp9YgSOtT65tUQAFUlU4gVU9VN VdVqkVT1UFZw
fIeTaobA5j7AWrxJjydBkSn0ZtP9JFa9ZlUNUdUtaVVFVQAFVlV1WAAATlWR j9WrISctXVXg
YtX1SVYQAFYlYyKysNZdbNdtaNZ9eFasIVhFZtUdbgAFbw5oUFcIgdcYcFct L8VFdFQlkFkN
kVkZ1kzUgkbk4cWUhMWs0U5U0jN008SUpdSwhEGUS6yB786p2jFytysIt7Vj h67IADuIXgPT
UoKhiATYZ4dleQEIb0xYCAGwAAZYPQWQ0wOzWrEaNlnqLK7drghB96Hp+MBN ftXtX9P0Jk3M
7tTlrzEtnxBtoDyY7lolowAFpAxNpVpgKtp1qFqVqlqwYtrDiKkdt1rrEikt t4gtsK3wONsl
Xds1c9tM7Nklylyty1y5Pc4Un6zc4sg9la0s9lSE91SUv01B606FmsisdlTS VLZK7oNFxKnF
uL8QgweD3YLYEBjQWoxgxwFYZQAAMoP4CpwcyIFS6N1zYN2IhLZL+AhKIISI HYFIwwapjxkB
kV40VVj8+7HV195QhDyV2ggt2x9V3IAF3ZDt314F4V4hkZELk97twz2CBIg1 596N6d6pwl7E
VN7VzF/t/1/+AAis8lzcWGAkvE9UQ1R8ht0dYF0tmU1Nmgg9m0i1nE10+yJi +oTgGqCwUgMI
FwAAfYe4fYgQAoqAEQEKHImt8DEQg4b5F4GIL5IogYQIW4bgAAN4HKRggtTo Ea8wW4K4FGEA
feEYAABRLYHQGg1mFT97/YhqhLZiITZ8NMPN/h7uDODYAGDuD+EOImEoAGE+ FJGr8OFgg2Fw
2GGGGQgWGmG2HGHV9yCaO2H2IGIWImIzoGJTjr/Tj4heJ6lLljl0U+KuAOQe QmQt/9Qwlcgx
RtRLMYnMu89NR0hjNscspOB90+CIg2Cd1Z0dTapArgbQaoboAAe4h4BICSED cxMsLeUGUWUg
h2U2VADtjtuBgRw4hUBZMBMSUGFbiC1K3oCAEi4IgT4IWQbg/QH2NxEOWpk4 5IHoHoqAgR6A
dwDJaQ2yDr0a+2JohgZgSJfQIgP4BzH2KeVeUOUeUuU6EuWQgWcmVuc+WOWZ 2GKudmc2V+dG
VOdeT+cuVwhuWGdOeF2WZZgr4BL5MJMYymXloUFeX+YJxBaeYwAGZF75uWZh lOZ4geaWahGW
a+PObOPYhWbmb2cGcT5WfOdueud+fAAGVmemfme2dSUOQWQ2mWmemlQFk0zk ENlJTNz8cMhY
AFl+SlSghogIgDkc7tf4Ag0HhEGfr6egAB8PhMRiUTikVi0XjEZjUHIcdAC9 kERfDWABwDA6
ACgFYrAEsiTVastR7BACaMIvg0jksnlMrlsTmEymk2nEbg0NT5NDgAVxLmiz NFFjENTxMpau
Jk0WlRiUNUpmpZrVUSKyVADkTRbAAMhNIpVMKTGACzMIqjVuq9Oudci7MTFq Ih4eQAXjkWYA
GlsjM6k0olUsl0RoIrmc1m85kmNnuQoExylDy9G0Wj0kVCGnADw1UizM8x8/ l+eytEzE7x0+
yMJyez0NGvFMvVQqUXqlWplZAFb4cHr1gAFislmtFqxXMAFJq9xud1u/Xt9N p98i1+wGCwmG
xHVi+M124ztCy1F9m3zmx+G00v5/Wi04Q1LVv3AMBQHAkCwNA8EQTBUFwZBs HQfCEIwlCcKQ
rC0LwxDMNQ3DkOw8jRqmycIAAREoAALFETxSA4DAKAACAJF0YgHF4BgIAEbR oAgBxoAUfABH
wBIodh2HahR7RwAz1IogSCIuhaGoeB8PyogyOiGj6QyrArfvAvbloq4qruQ5 SEm0VY4AAGwy
lAABTmudAABGXw3TU6A1FCZ4AEMJ4Qus7DgLkqC7IzLol0ENFCImdhjgALYS CSABaiW6RSup
LdMQs/r/nhTMB0M8MwIpMTjq08SDTPNM1zbN84znOobTvPM9z7P7v0OvdFOI 7y80RXSI0ZR1
IUlSiz0stdPWTCFNtVTtlWfaFo2ladqWra1r2xbNtW3blu28o0QxHEoERVG8 URcA10xVGUbR
eAkhRtG8dx7H8gyHIsjyTJaJyagqLSghyIW/BEryyXuBojUEvu6qsx1MnB+H GW4AAoFosgAK
xNmUmoqhMg5zgASImhSAA/mGHoAFka5XgAHwMnxXgADiFpNgAYwuJYfedIiA oJJaFQIgAUa3
5nmpg5xE4AH2AB2GqYAADyMo/gAmIl5Sa5Q5aDMb4RhFmQBrqj5jLzhYY4ys YeAGI4niuL4z
jZNY7j+Q5HkuT6vlmXZhQGi5tpGdaWhOe5/oOhqXvujpZF2l6bp+o6nqur6z l2ubDb2v2dy3
Nc3znO89z/QdD0XR9J0sIXCAAExNGF0ANc11ALGEX9jGt5R3HEeSBesf0XfA AH7JAByUjF+y
ehmAyn0yM4KkGD81hWy0KAGG1K5I0A+ABMCaEAADwByzHBY7/IjtYAB/i2qY yAB0E1SJWi2s
Jao0FZEAAcBii5SX4Of+SMDAIFrIcwzhPAAB1cjylquYc29BU5FlSNoes9h7 T3HvPgfERJ8r
52LjVfU+x9z+w1v9Iw/R+z+H9PxIy/+AMA4CwHgQtOBUL4ZQzhpDWG0N4cQ5 h1DtLbqFxuzR
cAdFIBUWrrXcjpdqPEaI5RqjQAMT17pGd+8F4ZF3ir/eOlKHgAHmJai3F+MC GYYxhjJGVZZq
FmxmjVGuNkbY3RvjhHGMsPkTLniMixGSMXZxIRvExebukhL2d7FJ4C+niEDX 8RVgEWoeRded
HKSEkSERjklJWOMlJLSZk1JuTknZPSfkhHRciKFzIpXSAaIyO3bLwdlH9e0g iJJEkJFRfZEo
ryKiywKHcjpQS9h1JiX0wYXzAmFMWY0x5kTJmVMtA7qHVLkdYABdLr5UOxXk 7SVUR3cL0kC7
yWLvpCvClqRGW5FJFy6h1LyZk63LTEnZO9bU7p4TznpPWe0958OllFEAAEQk XREn+ilGEfJt
o4dvH+J4AYor5nFIdJ0WEozohzOqfNFVkzyotRlDdGKNUdo9R+kFIaRGin3H aO0eF3IyALQS
PzuZXzeWBOCWlDpEzmly8mXZHnm0jp4hKjlPagIDp/UGolRajVHqRG6krtI7 SnlSu1GErF5U
ud2kKQdDIqkWnKRNgAsKvAAFFWGLYIqyAAFXWepNaT8h4rYAARFb61VxNFGm uVda7V3rxXlb
UznVx6mmid2ErZsVQdvEqQFh6rxTkNFaRDxiGj0sgAAe9k4ci8ssAANFma9W bIMMezwAAc2h
s5ZuzyjbQg5tHam1Vq7WWtPzPtGMQYhxFjtQN2tBaWxOihYmcNWSK1bIkwAd dwwADiuMAC4Y
64Xj8uY9MTwngADMula6uQ8brPIupXG6w8bsXZu9d+8F4akDGGUNJEkdYhor iLNFGdt7c2Hl
hTGWdi6tWNohci4gzb9AACvf2F4dsAAAv0M26N07xVFu3d3A9QcEyMwXg/CG EcJTHvJeaH8p
IjVOtrYSqUTb4UwITLKrE4yE3AIjcK/N+7+hXv/gHAeBRmYTpHg2iWMqO40p xjbHWO8eY9h5
hV1NfXWzURPYKqbtol1Um7Vab986G2MofLghtycBYqv9AjAAdsq4EuljEjY3 RZCDAACQJ4fi
KBmESLEAAhA7BOAABU0pDRZB6DSAAZAMg9p7CoCjHzoMcZ9ozn/QGg9CaF0M t7IEP7Yz9tnQ
GPNLHc3voTQuxWT765RptlPFOBMVlGG+LcRQAA+CvHNm8BRE9TkGHYAAEIRw 8gADeElPyHMs
5bxgUYbArBJAAF0AAGIAAjAxzgOAXgmQABJDQJAAATxP3mFgGAFpoyGiYBcA 0AAlgx4EGkG8
GRBx+AAGcKwToABsAXCQAALQPXsaHWnoLdk893bv3lvPem9UJaJvRo6ft649 Xtmze+l+TL5Y
jppY6/FysX6dI2NoWOoRAiqG5m8Cup0kEGAUOsZZKRakxB6IhUKHda4vy6gd EYcQAvcHYKUa
7QgtZ8NFtMIO1hUhQwIL/bhB2YCZBeAmzG2QAD/Ddt0jY+B8DzIMATawCHKm jH50VtQAOkwu
IR0QADMFyImx9vHe0yetdb691/sHYSK74lHUyUzsKBYcoNVObliMm8EyhTWr jx8qcJyugcc4
vBBAABSFTjIvBwGHBo+PWmLr98jQKPgZwAAoAJBn1DlXLOXG+ezzEAHM+a83 GmKALoAAXBhF
IRQOHkRH8tIMO/xYegp+PEOL8iIkRhDgAAG7dRB+jCmhYMEGWWgijq1CFUP3 riDAurMNcXgA
ATjOEN54LeyiEejwJ6XoWMuukSHmNgUwAAeApLUEsUt5hDBa2iQgcww9dgbB 8L4j45RWAABq
PIsf2/u/fT3+IhP5fz/p/X+39/8fuAAPvPwP7PyPzAAP0P1Bev2P3P4PtP/w Av6vxiDv8QDP
9QEv+QGP5QAP6PwwIiDQJwDv9wFv/P5wBQOgAQPwKwFP+wGwSQIP7wCwQQLA AAhANOlpkPqu
xQcwdQdtDsgJnqUppHXLAJqsjLbrbLDOAtKLesSCEMTCEsUOEMrMWEuMYilA iE5FZhIFakqO
QvDsDCjNvhsBhvjhqBxhtAABSAtg3gABYguBPgAByhPgwAAQajSOYOZOaAAO bNuh5hwhhgAA
6AQAfM7A4Q3hNAumSAHgMC7AUANB3AAA9OTgABDgzBMAABuBCApQThXA+GWg 0BkCPh1MCAhA
Kh7iUgoAHAAAws1CDAuBIs7A4gWAABUAwksBILzCDgzQ2BkAxAABzhPAcLMB NH8hpB7hRgAA
WupMHwcIMAABfBBgjIuPgnshmjBgzgQhoAAAXgJRBgQhMMCBYAzvptvxnxog hxpxvxrRsRtR
uNWRvgARwxxxnRoRpPXR0gARrxsxtxux3x4tvR5xzR0Rqx8R1x9x3RwRxR/x yx6xqR1R9R2x
vSER5SFxzx7SBx8x2R+SJSFR6SKyGyCSHyNR4SEp3xmQeSTyUSUsHhhhjk9N FEVqBJsHZEfK
FABgBO2kYlzHZLDNJtJsREaB8r6Lfr7MpODtbOFEBhhBBD/AnBHBAxLh4Q1g KFMQusuQvuhg
ABcBJO9hXhqhxiahNPQgAAgtXhhBPtXt1NrOXvKw8PMvpmYBQAhOeBRAoLzE 6QTB5hptjAHA
XA0GoBVsCAzgagJm1B2uMgSAZgqgABEhkRHg7AbkbhMghRUg0AShVrJBMgqE SCDy9AoPPA0E
/Brh7hHgAAUIDh8BptdgEgXBYM7B5P1Aby1MIyTCKB3gABMgumfA0BSPiAgg ALzBfgnxLB3R
wgAGgiJzbTcTdTeSxzfw9ThAATiAzzjTazbzcrMTmTfTgToTpTqTkTrTlzez nTgzhzizjiJT
kzrzdzxTtzyzpzziIz0zwzmz2zozzTqzlTsT2Tnz3TvJ4TaSVUA0BUBrNuyJ UnZB4B3kjEiz
bB5Lrh7uqQfgIAJGggNAMALoCgOgOwgpULDB2h2xHtKrfEmSiNMyjO7Qpj9B 8EzgAAME1q3B
gvZCovCEtyqtbkCy8mZS+AABIAgxLTXzpzZHpBMPLPMQ9ObiDOjTJRU0jE6P p0kvNgAS+Awi
LPiPiTCA4hpM1NoCDUlvLgry7AzwTS9AhPPBLMWB5Bo0gvbS9UpAXBUsBTXg AAZUhRlrrsHD
Rhuk2gAgSUqCEBVhwCCgqN1iMU9AAU+U/CD1AVBVCCL1DVECE1FgAVBiNVH0 +1I1A1J1GiLV
LVEiDVJVKCM1O1MVGVK091L0/1M1Qp60AUCVXVX1YKg0DB/h/B/RfB0GQLmB +gAAPAOilgLA
LgLAAAFgFNTh3B3TbB0B0h0wThzGQDTxUgTgSmPAHAHxUrrDBgAh/RTNLSht MO5tNQotOO7j
SGQBIgdmSA/gQFKlLlk0bPEECtvhWAukXAqhyxXh3E6T/Uh0iw8w9vbTbzJt rgkRQBozHiEh
5hnS9gZy/BIyBug06iK0lWBUmugiE0yUzU0U1OoU2S90304v1U6MJ1WiItSh FAhANgAA7h2z
fAXBpPXBpAzBSgAB5BMgtWOCJ2TWUWVWWPPWXzf2ZWaWbWcCJWdWU2V2W2f2 Y2Z2a2b2IwJA
AWT2j2e2XWYWg2m2iWS2o2d2kWfWrWmWh2nwPWt2p2k2v2hWnCKWjWeWzWgW wW0t4CAPF4gA
HwUAQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+QSGRSOSSWTSeUSmVSu WS2XS+YTGZTO
aTWbMZlNIAAgDgcAORyuUAAoEgkACwWCoAA6mAB/08APx+P0APurAB9Vd31s ANxuN0AUWfC8
XC4APV6vYAAQAvoAAMDAyJORzu1/xF+vp6AB130AM3AAAr4ONONbnoAC0spY AJVlOgAFsTAi
bRU7Ze/4FmZuKPgAM5cMAAAUUjMACULg0AOVlqgAGUfGEAL8zKsAPdMlSdxa 9pgg6pUlBm7M
3jKEZ5TF2jFtSHAAMhyn4AC8LBGdgRwgBBgEQADpFwALFmoQAD0QgoAOltNM APYOjoADINPs
AJkhA4AcHhr43caEmm+wABcSwrgAeRojOADVIOecAKWFxUr+eRfPjBbKwvDE MoegSBoKB6KH
4ABfEG0whj8EK/nuWAABCZZFAACQfDuAAnkiZAAFgNwboREMRxLE8UxXFsXx jGcaxvHMdoPH
sSABE0UGbFUWRdGEZRpG0cR1HkRSbJ8gynIkrSPLMlKjLkfyhKUhyrI0sSTL cfSdIEoyFKki
yvJEtSXM85TTOswzbPMyw1QiZQ4giDULRVF0ZRtHUfSFI0lSdKUrS1L0xTNN UgnCdHuey1Hm
ei9hwG4aqWpqEqeu59n7EJ+H1EKrPofJ9Lcdx3HeABs14AASBHFCmPwBIDIO uC5Iiui7LwvS
+L8wDhsHAqLnYABIh2EgAD+arEGueA7AADNKMvcFoAAzZmIoeYAFA+4ADCX6 ICeRIAGuUdwB
RCzeAA3zgOE4j/IQdZkkyAALBwNCFEEZB3AAPobusAB3vYRQwrMO5YoeTBpH kAAzhag77Pw/
URP6hUAChARUiTAxfQTC0G4KBwXFvCUVhlfVN51SVDw8iR1mHF4LSsTBm4aM 4ZYihGCC6AGE
FJfmjAAKR6k3g2ialpGlIPpmnDRqGi4bqmraHGew49pKFa7p+o7Fqur7NrO0 oTtev7bqe37L
u+tbUTOm7Zs+x7hve56Xv2vbBqXBb1s++bpw/Ablred01ntE8pzHM81zfOc7 z3P9B0PRdH0k
NU6ABzHOc4ABEEAPgAFAUBOhx/n8u6p1kfdZVsAB8qufHgAAcPhqiqQAdd14 GgUAa3riua6r
uiC8r2vp1szaLCN4aLIg4H8DECXgAFmN4aUtcnr3OziLxCeauHme76NG1QNA rnKZHxdZ3nug
4Ggi1QBCIP4V0PcfkAH+v/dLAl0TlkPwKgdA+CBE4GQRgpBWC0F4MQZg1BuD kHYMunG4Nsbi
TghhBAABECIEAADdG6N4hQIgRIoKkVQfhVxuDehdDMAAEwJASYkVwbw34XAu KQQQBqxVjvPW
W9JZr1X0LSgu+dcy6IPRVispOCcV4tRbULFmLkX4wRhjFGOMkZYzRnJW6ca0 awABYCuFUAAA
o5QrhbC+GLxSqKzhXEEACrkQw9h88AzwyzOA2BqaYCIDjKRJWS9BZj1FnmBi hBaKRmn1Rokx
JkisXpNSdk8QuTkn5RSjlJKWU0p5USpIo6casrTIhaCwRJ2xd1XR5KvHpWxb h7j3M8PmXwAB
lDLGWACQ0iJFPNWQRBZT0SHvTWc9Zc0k4KyVOHFSVU14tyhmxNuDc2puTfnB OGcU45yTlJpK
yVwQQgPeJaL8YAwZiSHhPMeRkypHRMkg9YZM+wADRn9BeGAIgACroI+ldM5q EOjm9QmhjmaF
0NohRGiVE6KUViu6cag0hoE2BuDgHE85FvOkbEuZqzRT0noHQWDwL6WGNEqJ V3sv6LUzUgAO
mxawCQAl8PmmlPVG02eZTmnVMqfVFqNUepFSalEpGqNk7NGaNhSCgEsqI/S7 j4l/L4+g/auA
AHUOxXQCgFGUASAgyhPFigFrUQoXQuhdgAo7R+RNIZkkPmXI8ACoy9y7f3B4 XlfwAB3sFUuw
hM5BE7rNYWxRL7D1mMpYuyFkbJWTspOKjFGgABmDIF4qo/B/Htl4AB4FPIdD lHO9YBgDD0AL
KIUOsoACerFISKgVAqq4UepBMiJUzCHTOicOK4Ez4LlSRCJ641BrK3JI/Q+5 VzSJXMuddG6V
07qXVcxZejdmrOO6s+Pa0No48GrtOAC1Nq7WlEMpbEhVtLbVxtzPWu096Sz5 ie9maZmIpyXu
tfshF0L+XOv9f/AWA8CYFwMRu7FmbN2du7d+rF4bTWotUAC1hRsKgAAMAYAt 67a23rlPSkU9
qSW9ibJF7C077rlktQfA90sA4tsXi/GGM8aY1xtZPBN2sGWgM9eC0t47y4Uv Pa+9Vs8O3urn
bqkdvCG2+xMYK+0FJqXIJC0BgoZRGjqAAIgVAfXYWPIuXsWQeg0nPBkHsAAh gqAoxvB7GWba
jZvzhnPOmdc7Tfxzgu7mPLRYPx/hK8xRr0WwAPbIhF7MPXvxDfHEeTcSzQkl lEiw2hbiRXeF
kP4ABqkJBWFYxojMvBbByB1RWU5rEdHeMkAAUAJUfYyE8548kVg3fsRM3oLj VCWDGcMaRxUt
jOFYJ0AA2ALhIAAFoHrr87uezlsuiezdnbR2ltPakHc83bs9nzHxU7xaAyFo LImhcOXttxkm
+BDq7z4uFNHSRER8DaFKAADANg1gADkJtmoXQX4bFyJYN4AA8CgBWAAYw6BN AABVmBC+pr9E
YXWKAKB+AwsZIRrAZuskKkZN6b8/K/xf6+IOZ4TILyjBo12U5kxFXgLrLWao BEACND8fwmbl
3Cjj49N3YnapB9oc7nLz3n3QehdD6Ipfa+O7vY9z9tzCN5MJ4XwvhnDeRtyY frpbuvETt2Yo
ImNoVYZpiBlPQt4SC4UeDf3iBQGJrheDkFmAAGldTK8MxYRcbApkEgpC2NsA AvRriBAAJ8FO
mQ2ITrhrUiXG1/HD4+cYaYoGmguDC1AhocBSjXAAI8LWbGJDOAAHoKZphDrx IUJEYQ4AABu2
SQhdfeNYDBBkuAIo6kXhVD96RAVAxrvhBOM4QyAgt9lIT5Y4fmmA7OwCPPu4 AAed6AAEsUpO
hDBaZAQkcwwxJAAA2D5CgvRyisAADUeVtvmhb+f9HNP1CFfX+z9v7v3/w/j+ Z876H0v1fW+x
9r7nff4fi/I/o/Q+m+qIQ/Y/0/e/A/8/m/M/q/TAGIPAK/c/5AQ/k/K/O/tA cdQ/zAi+9Am/
/AXAC/vAJA0/3A4AACEA05gnM6A6LBZBbBdBeJi6Oz26Sz6tI6YyA6eyGvS3 E6o0S3M0W3Qv
kxIvo62IsHGF4MQBaCoMYE2GC9QCqBehUG+FiMQBiC+WqGUHY4OBNBS4Wvwx WIsH4HC/AAKB
AjgDgFuKEEeCQHbBMAC3+EO8M1o40X444ZI8aAAHmHCGGAADoBAB8OeDgE+A AE0C6BSIIAwK
UBQA0YaD0O4AAEODMEwK6EICkdQFcD4AAB8DQRuF6HUOGCEAqf24g4k4oAAC 40sGQDiBYAAF
QDCCGAAEgJ0IQ7AFiGQDEAAHOE8o+DQE0PAGkHuFGMS5szoxkSYCMTkXiaKY 6DOBCo2BeRiR
YaKRwaQTgEHGQRNGU4uY9GcOnGiBDGmFhGqT2RHGw9uajGZG7GhEBHAOHHEY DGPGTHRG5GfG
/HDHGTNHLHlGXHpG9HZHvHgS5HNG1HTHrH/HdHxHjGzHnGbINGlIQ+OoTBXB hIpIrItIuIvB
k2zBo22Ko6ayCwu0GyK0OyO3KxA7kIa3Svm3W0i64IodWEwCbEODxD4+eCsq oFqFUFqAAFCG
eHIRoBDJRC8xUmq4aIdDE8/DLEgDyZqH+EM2MKi88CEAKDoAAEYHuQoBlGI1 tDq8WYAOOXYC
EKMFECgJ0P5AwZiQeYSDyFWOGDOBqAmKiHamGBIBmjgESYYAADsBugAZEAAD QBKNsNwN0zAZ
QQEDQRQGuHuEey+5CGm+yASBcRWGRDk8Qza2gV0b8h8a+LMhMJ0F+CfEmHdH EhOIdMyC7M2F
JM6ABM/NCABNGQScmITNPNTNXNbNFNJNkIRNpL/NUABM8NnNdNhNKIbN5M5N /NZODNxNjNMP
rNRN7NtOVNfNzObM1OhORNvOnOYolInIxO9O/PBIpI0wa6VBtI9Bw0CtdB20 MIO0QyRJO6w3
U61JazCGs8+A4PgEsBWB6IOGrJqIQD0FCGM3sCeKVC7KGfQ1OIeHmGcReAcB mRmIPM6LMABD
aIOGlQwIUY3GYBbMsIW8U468Y5BDyPqXcZIP5IiQaFAQeNkIeLMLNLiDiGkY yDA+rL8FSCvL
MY+ZOQCQGQKQOZe9YQcZmQi4vKzQ8xtBWG7RWACBJRaIQFWHALuCo2UIlSWA BSbSeIPSjSnS
qIjSvSyIVS4ABSoIpTBSdTFSlTJS8IhTPS0oHTVTKInTdTTS7TNSZTQITTHT kopO7PDT/UBU
C2jPG206XPO286gta6k3HB9PgyW6yyemk3cAAFKC2AwAA3qpgHBUqAAAgHgG 0X4DsNkDwFU0
2EQGDJ+DQBfKEJm7oIkH4HeLAGEGeHMNG6mIOWKHeGeEoRoDeJ0EiFjMYCWB 7EABGAjQOIfR
BDvRGXXL8EsCQRuGjL2IVQYZkBmYSEjG2P7SQITWbRMX/RRR4CEQEQIQMQQQ VSEZkQgQlSO+
QIEUQgaItVqEUCEA2sCHahMBcGkXiGkDM3iHkEyC1XQIbXnXrXvXzX3NZX8Q NYDYGIZYLXsD
vXwQFYTX7X/YbMtYhYPYpX5YXYBYFYyABXpYjYnX1Y7YvZAIdY1YlYRZPYZZ TYJZFYNZZY5Y
VZRYcohT9UFZ3Z5Z6wPUJI5UM266dPTJFB5JI6q0VVYIVJVCHJYxOIm3eAAD g3mhWEfQGFmD
CKUIXPsC2AgPgHlVOfFVUQzVcJCH4GwYKNIQjGAQoBbK28TK7RDK+5CAAOSO WOaOeOiOmOqO
uOyO2O6O+PCPGPKPOPSPWPaPePiPnRKZHXA5SIQQBXHR9XNSCQZSHXXSM4y2 XGMT4S8ToTAT
YTwTJGsTQS+TWTuTGTfHIS6TmTUTsTETcT1HzdaT9dDdTdkTKSZdNdBdRdiU FdKT7dPdgUDd
JdZd5deUBdHdWobZ1Z9efeheiuVaAwdPNaHJBB00JPZFbJK6syUxEyYIYyc0 hahK4E+CaA4A
ADiGGDAAAFkGfEyBsAygAGyFy+yB+C+Ecy3CdL/CjbLC/KK7qI8HwGxRWASB SRW4uZvW4IbW
U49RGIOYGYKYOYSISYWYaYeYiYnZEYssDFMIZQ2Y9RtW+P3cgIPMMQgZYQnc tDzcwZrgVc2z
uwCaAaEawaOcKa4cgbscCbzhsbQcmbqcSbcbJh8cccMb/h2cVh6bjhviBh1i EbxiJiZh+b7i
RigcXiLhwABiCbvixiniNhziscJN0nDedeljPjRjSqNepPKwhPQ2/PVe1UZP e6vUfPlUi3ag
CHOGO4ACoZYFA02IcDUEqfCEEC2fLWQJtbMc85mf0f4f8LWgCfaNugKQVkhk TjUITjNkyg1k
3k5k/lBlCm3jZBrjdUQta6iw1jnJNjrfBUhfIyhJcfWAAHgHYesfgIOASAiX EAhbgQ1kXlEj
Rk9mCghmHmJmPmRmSjBlJI7evBy3BPXlXe83PJTCE0dCJPokpgAypmUjHmNm 6gXXeZ9nBnJn
LnMjNmZaFI/mfjjJHPbe7aVPjJXPnfKxTQTKNnOirm/nyc3n3n5n/oBoCUln TetnXaK3De3P
dlZe+0ZfCIXfHi2n4n8e2gsoCpSNtQVoEm7nEcvo1o2Q7o7o9pFpHpIUxoJl NaJjhlTVvnfa
TB/aWITabmuAApOFPouiqpYBepcpgp3pKgqqApwqGp5p8gjqAqEpjqHqJqVq XqYJkqaqeswx
1BnerpRexmhjlB7jpoZCC0bfEWar0Nul2iqr+fCsFQjqagesa51rQgdrVl9r ZrhrjrlIyJyA
AqgwU2xPJlKz/pTJDoRmlnjjtnmL8uAHEuEgsuIAAuME9m5rnnDpBXjscdDn 9slsrstnJpPr
5qtnbaPpbUblboblevrlkgfmBsuc5sptOJttTtVtbtdjRszBvlOwtUVlVqzo XmoIZplq9mxn
qylm3ozteZ3tZuEJfuJuLuRuTO9tjUPr7eznde5pdUdldjvlhUkgjtM3cG6F kAADeEANsKGP
QIUHsHSh2CeEQzSzWIwzEzIzMzQzU85uRuPuUJTvnvpvvvw6FuZmdoPmjtvm nCBmrq7oe0ft
HvWAAGEExEyCc4CIUB7kHEJkMXDkw7nuBnxQWGc+zQe2EDgDyqoKMIRrEAwC CDY9SCcBHwOE
w1wAA1015RGRC2A2E2I2M2RTZqbvtvyJHxxxzx5x6zpv3oNjhaNoTnhpfnla dnpliIsGZJiA
ACIDwYaEqFuasVOGeXeCS3qGqCsas4MjhreJluyIgQbw0C4J8HvXPy+I3gdR EYC5E5JL+5OH
/hMIk5WIOAI5dwpVe5mRC5qIYeCM8rPzSzrx3x8I70J0L0R0SwJyBjfUSKNU Xv/sCIgICIA5
HO7X+AINB4RBn6+noAHXDwAzYkACvFYTF4O+GsADMGB0AHOiGCAFmaBfCXOv EEABSVEcAFY1
3YACIGQJGJxOZ1O5wdp9EYmzKFPIS82mkgADi5Bnu0TcAARRKlF4amCCDQAq SgzQAvzeMgA0
1AXQALjCpJycFK1wAjy0KIM72cAD0UxmAEOv4ukWE4AAbh6H4O8wApjOTwAw RkdgARXUigAV
T9eoMLgAq2uvAAJ2chrKW0hCbVXLdYKnp9RqdVq9Zrddr9g8dkAAftaI82wp gAPBSWwAS1K0
gAhi0LYS5mHSA2Pl8AF65VYABq8lVu97v+Dw+Lx+SAOXzef0en1d5vuBwuJx oRyOVzOd0Ol1
Ot5uz6e57fB8PH8+x6O29buu+97xPk8r+u09SDvY7z3PC+LyOu88EPvBj8ui IQNJu2ENw5Ds
PNQ2R4to20PxLE0TxRFMVRXFkWxdF8YRjGUZxpGsbRvHEcx1HceR7H0fouYx lOEahpGgjgyC
8AB9n4fwAHse58AAfB8HyAB+H4foAHKc51gABgGAUAAFgUBIATKqIDgOAyEl QVDqhuHAcAAC
IHKiAYDAYoiBIIniFoah8vIkriKiuqR6GiAAmg4H7fmCvyTAghJ8G+VYAAwG IygAkRyAAk09
R0nzGUGAChGY1B5mcpAHBmN6yiCIIACEIMlC6LwpgAGQPqw1qqqurKtq6r4A HmcJhgAOgQB8
ABkDgT4AE0LoUtoDAVAAFANHcugAhAvAzEwABuEIKQAHMVw+AAHw0GQ5x1K4 IQKnuABQCgBw
ADCWKDi4SNmDiFgAFQMIhgASDhIOMwAFiZAxJAT05jQTSlmke5RgAFqoyBjO NRdEMRgeqZ+A
AXxBiMAAhsmABMGaeQADOEMjheCVlhDlQAFgM7TSvkWSZNlGVZZl2YZkAGaK 5m+c5DkeS5Ov
Wf5bl4AZjmea6Og+k55pmU5Xp+hano2catnel59reg6joei5tsCDavsem7Lq GpaJqm151pWe
7foG47Rumc43v8S462uP8BwvDcPxHE8VxfGcbx3H8hyPJcnyjUSFIkjSRJUm SdKEpSpK0sS1
LkvTBMUyTNNAATVNiETdOE5TpOwATxUCdz4gqdz+hyIVJQtD0TRdGgySplWg LYTISfhv3yCg
Yi+AAwE34xICr5NQp/UlTNQflioiax0AAep0rYT4+jCABSYMT5pW0MAWgi1V fKwrSuK9nMpF
AIUzFEKDhC+DcgkgxRhMlJBcGgAAeRVlcDODUCaVx2jLAACQGYVQACJGQtoO wNybiZCEvYNA
JVLD3EyFQqBBxpiZCgWUNAIQADXHuI9a7GB8FHAAAkFwsFmDyOaDdXjlYgI9 cEiQ1A7wACZC
6BJTwpDLKxOEL8J64B3M3ToTmI0SIlBoiYACJxXYogAimGeKpOIrxJiXE0AE T4vxhjGRiMsW
YtxdihFKKj8YyRHjNFqNEao6RijtG6PEcI9xej7G0i8b4zxcjTISMEdYguSi G4SR8k5KSVkt
JeTEmZNSbk5J2Tzh3LgASKkcMySUlpNSelFKaVUrpZS2l1L6YUxplTOAlNKa 02pvAAnFOadU
7p5T2QN3JOndqBKAoQixUkpC3D0BgAAWRLArLaKwS0uwIF+EKER6AtSDhgEq MZggW1rPYVGU
EoaHxwrbW6IcLgpQAMUC1Cc0781gP2WHAOI8H56siDc35YhYoDPoJ0ZYy0Dw 4jSXy+8g0Hl7
CpCu/8M8AiwweLKJZQw8hoxih/ASAwqSIw8VzD+T9IzWyRNaN0UAAAAgkoEQ cVY4CChUMEVK
lFKqWEJpfTGmZRKa0rpaQanIAKZFTp7TchFQah00pTT6nFMKhU7J5UWn5l6n VJp5Uuo1Lqq1
QpIxqk1XawVhrFWOslZazVnrRWlysoZRualO52VToJWujlg6aWaZnUAAAMAY AsuXYS9dm7WY
KfXdEMd4oIibvzUjwAAMIT5SBFicJeO4CQagAB2DUCUAAigshxAAF0YKnVPo 7VFMdUs50PGE
oYp4AC/B3QAkMUSej9VhM5tVPoSwSF2DRg2UUZ0BVWQIEi1uftIid23oasGA E/oUhCorRejI
AKNwpo7R85oMrjVqrHV81A5rNhCA2AAO47VYguGkXoaQZp3DyEzPG7KCrv3h vHeW88ab1AAv
Ze4nN3hFXgvFeQst9b03rvbdK/d8b/30vRfe/OBicX8v9fPAOC8CX6wfgjCV 5sKX4wLe8g2E
L5YAw1fbCuDrtI0u5ifFWK8WYtxdi/GGMcZI/rY5mUrm5UOelW6GVzpJYunl o6p1lfpduxl8
7SYBPHcJ+sNMZ30yUSjnmYSwLJIxZDcGKukCiPLSvatQVJYo2AADqAKBc7wE ibjgGAJclgSQ
7gAii1+fyh2Uq/to/cjJhQupmC2KQOCzByh+aiBZ+ICACTpEGtwAGgilixGa IQAAPQQpiHSN
oaaTwOkfBkBofc+bklcuWQm5tz78XRuncAF1HmV3Xw9jOS+KSdtXLuyeFwzR 7w6BCMsyDMs3
hPEiuwWAbgbthZHrMP2tdbtE10ADXmcNfs22FsQQextka42Xs3X2wNotsZ3t QiOydc67B9r3
Z+wdh7c2Kz3auytxbk21udu2091bf2tu3Z279pbe1tvXZm4977Q3hq5wJs3B 8C4NwfhHCeFc
L4Zw1x2NZSSmc5Klz8rHRSvdLLKvOQpcOul1Lx2Uv3bE6yXYVQDvbE5QKkPA b5Gx1AEAsAAD
QFU9DvGoK1iwRA1gABWIEW4ABihvByj/Ls5lTmnVUSdVrBiMBPEEpYTYfYTA VNZbNYOeCEDr
GTAUCwOIEEIEFBkAAfQbx2HfpcRQYTLB3XyTkTA0mgHqtXbTUJCIUwr1SEm/ AvqNGDuoA4F3
P2Vw6uxw6SmsCcDrGGZAC2/mVLaZxH8g3WyydeLR48AAUh6ibAB43N/mPIkJ 8oADyzWltea8
5570zLQZeSAB6P0vmPUed8cM3yHrfRRI9JFr1fs/Veg9wQj2HvPZeb9p5/23 rPXfD8v8n33t
fb/L917H5PofDGp8R9f7X2/ufd+99/8F2uIVu4njquXF8fV243LZ1fHSDuvy LYDkVg5hk5mL
yiZChjTjREwE0AAH4PBY4nAKwQI6ISQN4IieToh7Low1IfhKQd4d5bQe7TqG 4BrmICIBpDRG
wfAwgd5eS6UDIAEDYnEDqIwe4fgm4BsEUEj8LgT7MF0GKkcGEGUGsG0G8HEH MHUHY1j8bG6t
7ijHaubjDH6u8Iyvavrjyv7kLJDkYnLkqYjJr/AijlRkAAAegeCxgecCgAAA oBJ+ICgCBjBw
Doorh7cHkNCR8GkNMNhxkNcNsOEOMOUOcOkOqS8HziTHKuLizHqurjTIL9jI cJT+MJiwTJSY
TJjk6xD/KsMMq07o8O0SKrzgiIkSUSyIUSiSUS8TcTkTsT0T8UA1MPDHCuDi rHiujjLIB1MQ
L9wgz+DkDI8Qx28RDkyw60yxSrsR0M8UMXhFkN8XsYA2MTMYMYkYsY0Y8ZDh cUcID80PkVEI
r9aW51r97j7IywLJMWawkKMRT14ZIZIAAaMcKsIEUcgy4VZS0XcZMdREEYcd cdwqcX8d8eUe
cekesexIEZb8sPcU8Ij9SWivMJDIkWEa8JwnEKD+ywwU8hUcxSytAF8h4AAS siQAAfMise8e
gAcjMEYAgm8ipK0i8eUjIAcjcjsi0kEk8lElMlUlY1AaobKdKtsH8fUU0Ib9 MP8VcaUgUaz+
cQ8bUhAhoekoKd4e8ECs4Xko68QO7N8lkdZKhKQBEqEpkppKgqEqMqUq8rEr MrUY8fMPUmj9
EP0VSWsnMQcgcnkbL+onD+5LwcUtsWysBLBkIT0ucR8rcYseMu0S0vEvMvkv sv0v77UrsUsI
UsEVMIzjkacV0ar+UJr+kRMWzJ7/UXMBkMzL8wETkvcy8OEzMzUzsz0z80Cr swUIL88Pswyv
MgCvknUxkWTkkWkbcyDlMySkkXUy00MOkzk28HE3M3U3s30384Bv80cZsfkm 0sUxE1cQsbE1
0n0tUKURcKk2akc2sSA1IdYZw6IOQMKCx9Qi4IIPJfIWwQwJ0BTOgWQPQNJZ gGQPY4YKguE4
KSc3k+D78+U+c+0+8/E/I2E4cfcmssMw8VkxJgExc5UgojEg850bkyI1RKQb QZgYjoAYqcAV
wVRbQQgXI0IF9AwjAawWIyAHQL4zwhAJYOQUMiIPwxBSRDc6hVCgDwCgRb6N IO0BIfYcIZ4A
AWoZhNgOAO08jVonAqoFwrASwMYrgaSe5nU7AToAAbAC4JAAALQwM/Rv8+tK bhtKtK1LNLVL
c+E/kr800aEQEskakJcWM5cJ818n82MRg1AehU4HYDkBIaohIJYxIcid1DQn QcYlRiwlwAAN
QTYzQMAEIbIAAGznQgwOQ6IdgP0BMFo1NFiZTPTPgUglYcof4PrmRE7qyex/ CI4F5MwNFIoA
Af6fo1BKgwkEYrDQw1sB4whkNVcMYhEqkp8qs29LFLjg1XFXNXlXtX0rdL0w lMEfyvCWkgMs
sncxsnstIjEtcW8KoqRkIfEFIgwbxZ4DAGwV1OwWZqNDYmYTAHYEgAAPAH4U 4AAdgQzvUDYc
YW4lYFoLKCQW4cFbgHNFQ1dSIniGoAAKCHC6QUobgAAUYLQEaVpkMjlR7qrO p+jq5YYsQsgs
wtAnAtQtgt094uQuguwvAyghAvgvwwCnYwgwwxAxQxgxwyAyVjYywzAzQzgz wFw0A0QUo0gL
TOcvseI3A3RAxCQ+xAA/BAZB4/lnY/5BRAJBo/RApCI+tobD9opC1oFnVpSi RBZARBw/dqA/
1qVptn9q1pNrBClqlo5CA+lr1npCtn5DFhEGVXdX9tlttt0etYM0sZ9Yksb9 tAUV9ZM1tNE5
tZs59Z86Q1YegaxZ4DgHVbS0NblPIqhU5RcBIGoVjS9RoDp5VdgAACld5Ta0 JT1xQ1VfAnYd
5Y4IRoYEoSJfgAAN5VwTQhIxFmSatmgDR+VhSfbPBYpY5ZJZZZpZ5aJaYB5a pa5bKdRbxcBc
RchcxdBdRdgXpdxWReJeZepe7toABfZfpf5gJgZgohBhBhRhgc5hxTxiKNJi hi1WUvkvZtpv
BrRvRrpubOTaRt19Jrhs5rxtRpBsV9BpxsxuRtJqrdBrBsl9V+V9l+l91+5u F9d/Zut85rN/
Bvd+d/jeN9+BmA5vsNltdt+C+DGDMXluMZ0fsm9usQVMkQlM1DYhNBFvtBU2 Q2FwVwlw1bdb
oqlwYAFwqzwR9zQMNzgjIjYLYjxMab546cdzsykuonhVJVZVog5WIVYaQtAI 4DjToWYQU8lm
AAAW4corgJBDIqdTi2rPJ/R/h/yfiiSjjwCBCBSBiByCCCSCiCyDCDSDjTxT yESd6EsBTu6F
iFyGCGQFCGiGyHCHQZCkCH0wE3iRCPSRSPiRqPyKyQKRKOSNaRyO6LGRyRaO eRS2IhGQyOOS
uSGReSSPOTeRKNj12TORuQ+R6QuUgg+TSQeS2UczYgDxeIAB8FAEHhEJhULh kNh0PiERiUTi
kVi0XjEZjUbjkdj0fkEhkUjkklk0nlEplUrlktl0vmExmUzmk1mzGZTSADUa TQABmMheAD7f
j+AD2e74AD4fD5AD8fj9ADlc7rAAMBgKAALBQJAFdBAAA4HA0KVCoVQAG44H AACIOsIDAwMi
Tkc7tf8Rfr6egAdd/ADNwQAK+Fjz0ayfAAcHSuADBcizAAvukKxGKxhxACIY LgABoF4Qhb4a
IALYYH4AeSIXgAWZoGkaO2zwODZm3ibrX2TCxDAA4VbcACZKgjhe63m+LbNd wAOwyCMUvqYI
INACpKDNAC/N4yhDz4ZCB3X7IAXxu70JebTUAABwuMMQFwA+YTABxaSxABgF sHTLxOuK6dF8
M7+oSab/voSwrtUaIzgA6yDvWTL3BcVLAnk3YZQim0Ow9D6JoEgaCgejZuva AISPihJVnAvI
qA+ikTgBFMVoRFsXxiicZxqhUcABGEZRRFUfRdIEdIlHkiRZI0gx3IcbIPH8 nSTKEixzEEsy
1ESCINLUvzBMMxTHMkyzNM80TTNU1zZNs3TfOCGpwnSeJ8oChKIoykKUpinK gqSqKsrCtK4r
1CgAAwDAKsy0LUti3LgAC5MqiC7LwvS+L8wDBO0wsGI6y7Fsax7IsnSiEHwb 5VgADAYjKABH
sgAAwsohZ6NKLYONSE5WGmAA/CIDrZNpTgANuZiJnxXwugS+ZykxAcCoWeZk gA8S2iQZDmjs
G7oom6bqvI7TuPSADwP+8ZLWyABo24hR5mdCgHBmNAAEiZp5AA9EOIjc8AOw 7Tz3Kg8ECFBU
GHlB0IO/BEKwvfENX5OOJzRLkSIwcwAEUIQNgAO52iC+hpF+ABpDMUrVEyLW FobjON47j+Qh
dkeS5PlOV4khOXY5j2QZFkmTZQeWVZYhmd5hn2Z6Bm2h5wh2j57mWaaDm+io XqGY5/muhaJn
KEaxpOp6ZruKbKheLS9s21bXtm27dt+4bjuW57puu7JbOadp6n6gqGoqjqSp amqeqKpqqq6s
q2rqvgSsKxrKhKzrSta2reuK5rqu68ogva+r+q1i08jx8G0xQMBsxxgnQyQX rChZ+G0AA4Ao
Gy/EqYwAFKLYVIUfDE1YHTNE2Z50AAKoQ9cjDZjs2rtWOixhkGF4AB8Pz7FW ZpSAAJgVUWXR
FwYJ4/PHbRYLVb1vgA6jrYA7bu1QABTWY0xSDgABkHKPzeOiBACHCAAQYAQQ K/AAFwAAsRmi
EAAD0EJWh0jaV8PYDoOgAAyA0Ps8J432sCIUwVg6DUHocQmw5DDEW7wnJM2h EpEx+HmEGDMA
AQw/AhMCPd8wIRliKAABIHwdwABPEiMgAAsA3A3IRC0X0L4YwzhrDeHMO4ew /iDEOIsR4XQw
hlDQZsNgAQ4h1DyH0QIhREiMQeJESosxNi7E+MEUoxxVjNFeJcWouReihGGK cZIrRJixEyLc
TovxRjFFSMpT45Rpj/GuQMeI3yFhQmOFUj5JSTkpJWS0l5MSZk1JuThGG8p1 b4nhv6e3BJ+c
KoFxChHFlgLEWRRjk1HuWUk5giKlnNkPc6pp0Bg3REXL6OMb5Vh3DSFGAAH4 XxlgAFCMERp9
AEleAqCZYSlBmCYCaAAIgeCDinGfMUIoEWMiOC7BQQxmwADgNeAA0RG3lvNW Mbgi7GRQBnCS
rMTROiFshFWNIVqQAWvoIquB9h5VyEKHWMlCgFgcL1ISIJbQAA+rdIOO9Xwi gwnzDufohy0F
8rSgyuI8x6IOiZCgfQVM9UMwhYYvIFwt0MPmQ3J2mRCJIkRHWMOHQFooiYOY AAM50CFUIC6b
8ND2qeHNCkPUTYAKdQ+qPT6oBCahVEqNT2pNS6mvqp7T+gAAKp0LqrUipVTK d1bqiQir9Rat
ViqxWU5tXKgiZqHWCtYAKr1kqdWartaaw12rHVmp9cKpVyqpXWwVMyX01sRY uxljbHWPshZG
yVk2zSfb2ndvyenAp9cIoBw6g3FFelY4+V6jnKqRUm5lS7nFMufndL2gKyAm gcCIAAYZEgeg
AF4qUGipx4AAFWHoJYAAyiWGqQsFYajHi1nKaEj87VivPI6O8czGR7kIAaBY DSEACE0HweAd
910IAROtd0h93x3gAHuPy7oDbyAAvNZS+RIbFXzvtfcjV9b8X7v5f2/1/8AY BwEmOyydm+p5
cAnxwaf3DKCcSodQ6iVFuRUa5RSDl1TkOlsphzym5eGGS+PAc451zAAUWBUD IFAAPJJDdA20
8MB4xvnfrGWNbH40xtjnHWO8eY9x9j9uWBZQ2ZwTKWzuDZU2hcY46V2FJYWn wxaqW5Dpc2ud
DiCSuLnnYwyBl2SeOMvZhbpmDMWZczZnzRmnNWQMhWYwRKSzmDJUWgUPaPJp CHJWmwvLPDJD
cN2sw7LtTuWJKZanesjNeiWy5k0Vo1ipAkuwr0dpPSmldLaX0wxPNuB5R2bw XKez+D5VuNla
5DPGFZY2olopVzWHJdVeGStUaOs5Lgi1tcAVaq7paZ14lnRmvdgWJ0gxfYOx djbH2RsnZOm5
RWawVKaz2DpVKGcXhK0uFpZWplrq3QAABT7f1wqumQL9yAAErucAA+d1bK3Y SUAe774AEu7u
op27d7Eg3eAPeO8917339v/gHAeBWNGqNl/8oM3ad2fkfOeorRaktJk7PW2d VkPz/LhTI9ON
XqHveKTovOQMeDvD7gfJSKFMKUAjlXJuWER5RivlfLeZcz5pzXmyYNmZEzhp /aOSc68QzuQf
PO2NVZ9IZxfKlrTADi6Zq+SxUIWie6lofm/NNf9V391frHW+udd6913nOb9P bQyRnTUeTNTd
C1RlDPmUtXZWw+p/LKxMX6I6/wHrXd9jd57133v3f/AaX7DwrI2ctQ7TyVtb iXRMo7btXxjQ
Nr9CST0NrvwOyu+eX0t5nzXnfPef9Bf7wezvC6g2lkrO3aQAdD1T43Vnj+k+ Ryv3LQvdMt92
R2LIQYAA5irHIAAC5WiGfCAAOwAAIwliAOcE44z6RZB6DS/cGQewACGCoCj0 MlPOfZzV9v7n
3/wfh/E3f0eRc4+m592fUu1/W9t8dlMhuVcPaD9pycAA2hmDEAAMUYruBXBV DmhCBchIFTOX
P7v8v9v+gAP/wAwBwCiRPKsuCJBsBWPdg8BSHYgLvgijiEAFB0ohBNBYidAg l7qQmBiIDpgX
DrBLAxjtBpH3o4hnBWBOgABsALgkAAAtAekkPxk3vvQesuwfwgQhwiQiwjEt PyuduyOGvEPU
v2O2NtPXv4CGP5NBDCPJiJB6FkAdraAALjiErhjIGUFaiHwtAAQuLawviEQw hyQxujCOQIvc
CRBzBcA9AAANgkohFtDdqJDpH1Fwn2qCiDilBMgXivA0QWgAB/qRCKimDwL4 DrH+iNh+LvpD
RIsWFUE+MVuYPxwhQjscxPRPxRRRxSRSiOQkuxuGPDslMIlFQns9wouLNuPI NXvZiMIWh8L2
CDhvHTHUFSHWQ3iExcRdAAReFWRfDIRgCRw4iRlqFrAHC2gSjgjhjiiMKBKQ KCj2Khj4HtCG
g4BShrlYAtPsAAB3hnAAA9ApoYBDmSCFBIhhDPA3Qdjvn4gzgnjHgZHmAih1 IdAqg/R2j6Lg
BrjWgThnJygXAtwCCExvjtBHgtQTvPOtB5hsBTAAAeAUgtgAAlhSidBDAtED GvhhhJQ7gfDd
hehyhWAAAah5C0yLyMyNyOyPiFBzSRSSSTSUSVSWSLSMSNSOPqyZGdSagNyS gASTyUyVyWye
SYSfyQCDyaSRyhybyjydSXSeyYymgASnybSiycSkSdyXyfSPSsStSoyuSpyk ywSryZyhSiSj
FrANL4sxRQxTS6S6y7S6RUOFvDPTufu0RXuKRgiEukP4ulQrLYCNlQjGHUlS wyKAnfzFRfwH
sWvbOqCQhfA9AAoYhDhEgAB1B/nmAKiNRrxAn3h5hwrbg6AQAfH7g4DFBNAu gUiCAMHeAUAN
DmzMIBhDgzBMAABuBCApSshXA+HqA0IhBeh1DtAhAKrrhQAoDxgwqNIChIn7 g4gWPVgwjfBI
J8CDgzIDhkAxAABzhPC2g0BNIDBpB7pigWxMPLu+IzgjIlmSKeKOgQifAXoe IuqeIhqfo9hB
z4IZT5F8KfT6jJz8AQz9BYT+I4okz/x/qtT6T7UDUEUFJDUGT40H0B0IzV0D jtUElyz30Lz5
0M0C0N0J0PoXUG0A0IUST80O0KUQUAUMAz0CT70S0XSIMyy5y70d0eUevwS8 vSueuzOHy/PF
v2xYsNRZvYxau4jDzHlRxkzJDpUnzFxlQITKPLCNB8SKAAAEyeF7jmj0Kupf Q/qBlxwYClgA
BQAhCvBRAoEBg3SsIRj3l6g8nsKfAaj7B+B2pkgSAZgqgABEqHluLul0DPxp L1DiRNmCKSD6
A0IaBrh7hHgAAUHXFlSRlmnzBkEMi1GvPAPvL0q5AJDPhSD5mQidBfgnzeB3 UEi3CHVQgu1R
qi1TGSjt1VAAVWEH0xiEVYVZVSgAVT1bVV1W1dqJjh1Y1SVaVUVb1c1XCG1e 1k1gVa1U1h1d
VX1j1fVlVhVcViVr1RVo1g1qVuVrNE0dUfVz10V0u70gPz0hOHMlv10jQoOK 0kvYTCPZUmlQ
UqTIzG0pjMUoTGTAiMxmCNmXAXmYAQjFB5BYAwGrTRUyxsU0F/INDyoOD1D2 EKkoiGD5j6j7
j8j9kDVDBUkBDzKPCEIPAXEFoQGi05kLISoK1PO/xPElWNEpweCIWaErkjkh EaElkbkm2biH
2ckmEsEn2e2a2gWeEe2iWd2jWl2f2itG1zV1WqWq2rOS12OeOy13xWsJtTsn xYV6M/UlV70m
P6UnV/0q0pFv190o1+rn0sQJCKhwhZDNAQAnwCBP1Ij91KiQTRqCWJKPl1Ih F2pHFzF4j3F6
F7UBF9iKWJqQWLWTkE2UmEGFIRGGj3mH1OKYvPvvGwGpGlmuGnGWmNGeGsml Gtmq2Y3PmtGq
Gm2HGdXSmkXQXU3X3V3ZGo3Wmx3RmjXcXTmxXRXYGv3fGw3Q3VNFWp2r3lXl 3mNg2swlxVy+
142vuJuiu3Nuu4WziOnSRenUnVjJz2OXHSxj3vHWXww4W4w5DcmNAXgLGPBp BBCph/g+gALt
iQ2/0zlyilH5CvAtn6n7n8n9sVn/IAIBICIDIEIFIGIHIICjoJoKoLqPoNxG XJGDXKWV3LqW
XNITXOthm0iIozo+o6JAI7o3JCT+4RI1I7I2pBo9UFo0I/I6o2JBI8o4UK4Y YRpFYS4W4bYQ
o54VYZpGYT4X4UpE4V4aJG4UYf4jYg4TYXM03k3m4pYp4qM03nxVS+P1OI3q PGP3QpO3v5wr
v6n0pgJhJiJjJkJlJmJnJoJpCrjLAAYy1cYzpjpkplpmgXJngAJopp30HmLo 25F+xzznIYB5
VBDzF3CR38H3QTqDqEqFiFKHDmqIlvKKGNKLmPToiGKOKfWQl/2K4KVGKSkL KUECWWXMKWqX
2YPQOtKbqcq3KoK9rCK6Knq7rAK9K4q5q1Zaq/5YLDiDq+K65bZfKz5gZZ5d qrZeq8q35iqv
Zjq+5h5l5Y5crC5eK25pZf5nZdK+5ssvYo4q5wZw5xMbYry9v00iXpu1WwTA XrxaXs4xJfLZ
QurbiIrcrdjJLeiEQzLZra56CIZ7LeWBCIWCG3xKrwiDr3LyiIL0L1RdaEr4 ZxiE5v6IpH6J
6KaL6MaMrGZyv0UhvExXV5Ww6BAATBwqTCvJYxpH6CaNLI6LaWG5aXaX6ZaZ 6aG46OV3Qmug
PVPWV56R6SiFwq6UJL6V6arEaY6im1aj6kal6mamsCCcm9MDNmvzWtQmPUad S/3rP34wTDQs
aVX06nKZalawk3ax6yaz60a0iT6b2t6c0i4uUj2xOj2yaTPItYtZNaJLNbAR NwzK61JLaza/
kzbA7BbC7DbDk5aoOENOPSV262xWNq6Qa4ae520ltvhT6+txtytzhKt0t+7E G6t8t97PN67Q
G6bRN5N+bS7TbWbW7XCKuCuDrL7GaqXoYs50Yt51XqvXRZV7a6gAONC+uOuP JOOQDWuRuSbX
m5uXuVXz7lG2bmOY7n7p7qbn62arXpbcvVu16RbK2yrXOmBxOnJKuoAAOpBP a/bqm27Cb1CY
72b274b411br3o4tOg7t516tYv3sYwzDvKawb5ak4PNJcAmKb38C8EcExRb6 bb6P2vbdYu0k
Wx7fagaTxbJLaicFE28D8NCScOcO8QcQvQcGZz14btaebu6t7+au6UoUcMiK BsBZIdArgnof
Ttj6IDBPhKIFAwR50yPnvohkPpvqvr8E8P8RCPcj8kcl8mOvcSaPQnaQ52CI iAiAORzu1/gC
DQeEQZ+vp6AB1w8AM2JAArxWExeMAB8ABtMxiABisVjABXKp3ABCLlIAAXgy MvwANZYpUAIV
FH8ALVqxcwIhTgBAGgkgAIRmjUc7UmIxNmU2jxh8NhQAAEikwgA8qVhAAxjI DTlHmYAG9NC4
ANJ7qMAC0EU+Ew1MC4GgBLGNm2c3jKDzBnKxOgBsBckAAtD0P27EYnFYvGY3 HY/IZHJZPKZX
FvHMAAH5vLZ3PZ/QaHRaPSaXTaeD5h45rOajXa/YbHZbPabXbbfcbndbveb3 fb/gcHhcPiW5
jMppABqNJoAAzGQvAB9vx/AB7PeNvh8PkAPx+P0AOVzusAAwGAoAAsFAkAeu 2gcD1+EKhUKo
ADccDgABEHW0BgMly3IEgi3IWhqHvIiS7oqK7GnoZgAB2DgiAAnaECWABgnI UqWQCi54AATA
mhAABxCkn4uB2EYAHYZapicNZLAAHpAl4ABZjeGjKKSOylrupsIMWbBTC6AA Ui29Byn+TIAA
0vZuqmAoSFEABkHkXz7rmxS4CCuZUigu5fryg6NkyF72DQuwAH+Ny9MW7R5o MAi5gQAjIn4f
E4phOi2ou7SNAAtoET64tC0M0LVNYB9D0ZRtHUe3dEs3RdIUrS1L0xTNNU3T lO09T9QVDUTe
OO5Llua57oum6rruy7buu+8LxvK870vXWz2AMAwCoS+j7Pw/T+P9ADEQGgqn wMhyIQUiiLMa
mB8H5OwAG8T4AAwGxXQychZw6yaNk+LYMAAOJ5EQABwFmNCiMlHkfABIDGHC XA4gAEAkpWUp
mpOLQZAiABulZeoSCqdgAGufa1BRabEy5L0wABMS9GmUEihcMJSKMOBSmuAB Hi0FCDHeZwAD
0KYZgAQ5fouSJhHAAA3MMg84lMM4nwyGUeiKdRFAAKo/ZWgyzFWa8bBOZxDA AFwtpWhGNrvj
83VHqbaUk1qnnnIYAB5I4ACWUrkkMLQWoScxhkkAANh9LBenKVgABqeT7a4L evbAAGxbIhGz
bRtW2bduG5a3ruv7Dsey7PtO1gBtu37jufCbvvPEb7xfG8DyG68LvHD73xO/ cZwHH8HzXJc6
g++cVv/HcFum7cNvXUc/y3ACEDWGao4mrUp3Pe993/geD4Xh+J4vjeP3NSuU 5jnOg6TqOs7C
NVe7zwPE8jzPQ9T2PcAD4Pkg9fPu/L9v6AD/w8o9jQKhllQSicGMoehrWsDg dW1DVupbb4AF
LcQAA1rmXQupdhkV3LMXiY0cwABJBCA2WNoITwuM3FiKQWIABVjcHkAAKgI0 tGMYcABL6YUx
jzHCMMAAdAQA+SqHBawmgugpM0BgFQAAUAaJOHoAKJBDhmEwAAbghApAAHMK 4PgAAfBoGQ4w
dRdwhAVHuAAUAUAHAADDBcgwXBIpVDiCwAAqAwhDAAJA5JByxCxGQGIAA5xP H6DQJoLhZy0l
rUI8iOxbndmKJgL4QYRgABDaAiEZsGwzghOaC8CULAQiYLuLAM7Uo9x9j/IG RkhJDEskSACR
cjZHl7ABHyP0gGVyVABIWQ8mZNgAkdJCT8kpRSCktKeRUjJVSdINJGUMlJBy lkvIiWcnJWSg
knKOXcppMS/lrMGV0upYzHk1LSVcdzeR5mlNWa015sTZm1Nubk3ZvGUeUqd5 qqnoKtemdx6q
snsK1e2e0BJ7z4q9Pq+NYL5n0LFIGsco6yUELvfiZN+b9X7rbf0+kxo+BtCr WuDYMrXhHjBf
6GEF6OylQIKcYweY01yAOLMJAFwQSDDSaCQcQQqzkh5Co2R3BiIQwjYimMgx GxQBCPYKIKBy
RfBudiQajKTKOLrDyKsu4ZwagTO6O0ZYAASAzCqAARIyCTh2BunYTIQoqhoB LQoe4mQqKBIO
NMTIUGlBoBCwce4j4bJ9HwNNtACQXCwSqldLM347zUMYO8AAmQugSAAGgUhZ qQHJF+E+H47p
HH7KNXivVfK/WALOxGwgALDBnsQRmxVe6+1/ABYGyFhbDr/stXmzFjbN2PsH Z6yloCMWXsZZ
qzlp7JWfsTaK1tjrBWRsnZW1dtLM22s7bG1NdDY12uFcW41x7kXJuVcu5lzS MTheYql56rHp
HanQrF66tHtK3e69+eSv3yLCfOsRAU+X2IHWW/BZxkqAgAfs/hbi3jGDwJk1 4HQX0KhgE2ug
SFTSimVgOUyi5iKZBQPYVda1hgwH7HeNiBgbkGhvFIckSMu02wfLdS1iDEmZ 15qtCJiFOWpU
8YoACjhVyjlmLNUYOI0oLhgb1VWKoqQr04DPTsAFYAhNKEsg0eQ0bKQfp7iY FwqSI1yBlhi5
zU7iGNSgAAAIJMUEHFWOAgoVDDmJyflHKZBsq5XyyYjLeUiE5fg5mEt2Y8uw YytmcxWasy5t
yxm8qeXM45gzplDMhCMzZzyWaLJuf9BaD0JoXQ2h9EaJMldBVDzlVvRVddd6 ys3sq40srpXh
855rAfKsOgxGX1rIfbP1Zk/72P0vdQN/N8i3DfFuz0GIWWkhgEeLcAAiAwg5 q8Z/AKP8BlPK
jKUqoABtiYxtjgg1GgoABLMPLCsn02pbRCl3EEJGpJxxkXQJESxo1SISPMZ1 PgZrrwrBvC5i
tsYfpdiIhOOseY+yAADIVYMiZGkGljJOilO6BMRAsRUDgAB3HbSAF1IizhmQ 4PITIWt5FG39
wDgXBODDS4QADhXDMlN7ABv+B/EWlcT4rxfhpGeH8d4Hx9lfFOE8L5GRjkvA eT8F5TyHlnGX
Ucb4hzHkHK+McO5xybiXM+ect30YzfnRekdJ6V0vpnTenKP0ZOO6ekJzqw0n Ou7b3J3venjp
q8E9dPT4QJqK9D70F3rMjQhay2H8Dof1HVD40VrAgB+vUOQp6NB+CSB002vV 4a/axh6q4vyx
C9iCAAHQG07DWFoIsAFTBDgAwqSdNtqsM7TYftZMgAEiHsC2KQOCVRyh+JYB Zf6dRwgAEHDs
AHpI4ixGaIRGYIT0DpG1RoewHQdAABkBoffgtq7QxHjmqu7+Lbx3nT7IuR98 c26ecXo5GJIs
okBWUZo964AhGWz2RIdwABPEjEsWAbgbyej59QP31vsSa+2AD7v3/wyq/J+Y Qf6P1fZ/b+/8
H4v5y3la/sIi/W+0+4B8+8/2/k/K/8/Okm/u/ZAJAM/i/HASO6//AZAC/xAe /g/5Am+nAs+v
Aw/dALA1AQ+eIy+jBLBRBTBVBXBZBa6Y6iuk0enMus6snUu00su666fC02vC nsvIKe1Cn21G
vS7OQaQcAAHGG+PIHcGkLUB+C+qSFCGCEaaUASPYAqBM74AYH4G+ZKAoBiLo IOEQFY1shqHq
AAH0IOAMAgRWB0BorKpWMa78gSMUHwbMLGCShYE0jKIyhciWEWDA/LDiKew0 80IQHWGSSYAs
BwXWIQEEqgAAD6ButAHeo0EUDCLMDuiwIy2MkIxi3UxC2iIQrArEyKKGSuyC Zm3oo41skGrg
3zBcOFBOIOHWGGZ6AtBEkYJOke8sABESSLEYYzF0AACkHqv3Fw+9GHF4ITF+ ABGCkEJPGLGP
FyX2lKX9GYr1Gcr9GhGJGMABGRG5GWIRGbGfGHGlG/GpF3GvHHGzHLGrHPHB GVHWIPHJG3HN
G9HjGrHFHpHbHtH1HnBLFnFjIHIJILINIPIQanBg0cnKuqeouw0onYu462u8 68no06vG0+Ix
CCKMn5CIWbCMMWQeAACaQmAAhQLcB6AAF4viBoAIGiOcAwB+AAPsMUB6XOW4 XXI0MXDm8AWe
AAHeHWHUAAHu9+KoAkScAi7gNgTzKAii3kAiLnEGIQTyrwHuWlKhKlISmtIF K3K8NtK7K/LF
LHLJLLLNLOMVIWnIuo0jBquy0qnana0wu/IuvEnuvK7HCE7Kn87QeJJ6SDLR MCNdLDMFMKMn
MJMNMTMVMXMZMauRLU6nBnIe6vBunbByfAIMfE05LtB+fUvM7IfdL5JCeLL/ MdNMMjMRNPNU
INNTNXNdNfNhNjNkODMhBlIc0lBtLhImnhMwi/B47BIy7En1I7CG7NJAeRNL NnOUABNbOXML
ObOdOjOlOnOpOqIPNrIbLanTLfIk61N5LpM3B9J2ITI4IzI8PIGTPSAAGjPY eQBFPegwFWoV
DpOtNNOhPrK/PvPxP3P5P7P9IROxLY6rO3Ii6y0uV3PBB67DLxOHPMfaFPQh PioUmwBfQqAA
ErQwAAHzQ3P/MKAHQ+AAAJRFQ1Q5Q7MDQ+AHRDRHQ2O5RNRdRfRhRi6YGqGy 9SnFBjOzQHIg
6xBxIpB1MzN/IxLvCBM/L0AAHpSRKIHvKemuF5Sc4CDu+9RlLOO0I2UHKXSn K/SqUCUHSzS9
S/TBTCm/QC6pBpQJR5MtR9N7M1QVODQYvPNCHFTlNCeOO8JgE9Tw7/MBTFIT P1T46ZT9T/UF
UHUJUKN/TJMlNxO5QNMvQTOBSHM9LzOJL21LL6eHOTUNIHUDUy0RU3U5U/VB VDVEMfURNvLd
QK0tLlQRItPDQXSJUlQdUovVNHL8oqwFT3VHICMyUnVzBVU9V7WBWDWFUHVL O1R3MrN265TX
SDM5PGIRPKIxPPNFORVs19VwMSTiF8EkDoj+LIISCChcAAFJEASbKm8uFkD0 DSSqBkD2bwCo
ZDWGUhV/XiuPXnXpXvXxXzOrWLR1MpN1O9WVUdSFM6KNWgIvWlUrVoMSI2I6 I+JCJGJKJOJS
JWf2KM1c1g1kKMDAECJ+D4DeKGAoMtUwMSGSgbGcDeHaAAE+GEYyP0QWB8Ku GkC4Q4LS4ZSw
KOLgLkLoTUGkphAoL6L+MCMGMKzRX0arV2avaM0VXtaVabadafMLX5TNWPX+ ndO/VZTbUhYL
SLUnNDYSQcQgQkQoQsIOQwQ0Q5YqIyG0Fih+SwomCEBcqMHEGAKmCoDiRkCW EqJGf8hqMnZG
KOrWAAC6rcPC2e3Yb2FwD0bSCS8iFuHK9+CQdu2kEw2opcw4piryTOr6TUTY +GLcTgTkTpXM
MQTwT04bS6T8Oyq9dRTDaZahK5aQd5dfdndpdrMbalMnNzO7QO0zB26/YHWc IPYMITYRVmMc
WhKwWo7WWyoI1YMgHGZKAgbIHYE2GUAAE0CqBMooR6otWuIy3AAAqsZQTA8p IAI0G6FMKoBI
bq3KZhFgpY8w+Cw4YoYsYwY0Y4Y8ZAZEZIZMZQZUZYZcZgZkp484ZsZwZ0Z4 Z8kCaEgwaKAA
aOaSaWaaIOaffzc9RfK6azfSdcc2cmc8cqdWcwdIdec4xwdSdAcudHg4dNhM dnhDhUcidgco
dUdCdYczhJg8dlhBhrhFhXhlg/hphSdbhjhLhnhQdrclBTdddtiZibic6Ldx UVVRTTavd9Lr
PFOFTg1JeMoA1QvfebbSMeHxJgXFJmAXereveze2XfPoKPfBfEbSE+Y6FGDB XgSebeSkqa4Q
Y64Xjs8vco8ypeL0hMhQhUhYGRXChghkAehohshwZK9Yh6h+iCiGiKiOiSiW F6ibfCigikio
itE2i0i4i8jAjEjIIQjOjSjWjar6jgjkLULZRlMIlwmGlgl4lkmemA/olymI mal9lymTl3lq
lImNl+lSmjAUmXl7lumdmOltAomElfmIl6lQmhmflpmkmLmomRmRmhmVltmL mrl1BbiXifnN
nPnQuVijVPTRWTIritVbTdVfQbWjOLWni6oEvgoKLcJgG0GOGAYOHIG5JoDK DwJyCsJoGuEs
bqAzdHJ5WrT1DqAAFkDiPYCeo8RCFuWsB0AiG9EiBwqbE2DME+OSEyxhcncq w3Z8pkpoAAps
pwp02/FWBcqAqElKqKqOqSqWqaqeqiqm+Aqwq0q412+JFKrIrMrQBQrUrYKo reriSwBu+dP9
OatYt6tKtutQt0IvqqtItetwtktCsXqtq9qzF6IRq4tctNq+uDrCtHrTqwuB q0ITrQt8tgtz
rMIPrpqut/rvU1djnTsBsDsE31nXTPWRYBnfSBd/WbizNBi3CKfli81UvjjC IyI2F4EwZ6Fo
GwHIikFBJqB6DkAAFuEttEByA7eCMTb+MSrwF8Ey8cEIEs8iHaAm9CD6DgZC EGCeXWLs3Nff
j/pTEMAA3SxnFC+GoyKmxOKexUAAxYxcABpO+Axo2O3a+KBcx6+PFSxI+U3s yRqlP7P0zgz4
zlaKKPvEypvIzyztvGzwy0zqz3vRvazFvezWz7vKKNvOy9vTvcz1vrv3IJnL sHwFwHwId7sL
apd3VVd7sVivVdUjnpYPnta/nw1Tn1ecMcfmZKfsLoB6rQW4KvtSKftWMsHN oobSCebYHVJg
ifJFfjctZ9uI202428IQ3A3E3Iwtt+8C2y3XFEq/utuwx/u1uHpnu6+bllr+ gU5+5g6C4O6H
qk5e485lyc4s5q5845yY5Ryo5FyhyXyk53yq565Jy8506FzC6IbLzJya5VzP y7yxy/zNy5r8
NXV5wLztzvzwIAAIFA4JBYNB4RCYVC4ZDYcAGMymkAGo0mgADMZC8AH2/H8A Hs93wAHw+HyA
H4/H6AHK53WAAYDAUAAWCgSAJsCAABwOBoKqFQqgANxwOAAEQdOgGBgZDXI5 3a/4Y/X09AA6
6wAGbWwAV69D4U+G0nwAGBsrgAwXQswAL51YIO/AAsTMFAAX3OiAA4FmaAAE LhBjtg61XGZh
7g7260wA6QIGAAGwuDQA7miqAAIBwYQALkSwgA0TsPcCAKsmCDlFSUGaAF+b xlA5Gpi7Ny2p
DgAGQ5T9bQsEQACAI4QAgwCIABvS5c2ahAAPRDM3S2sY9g6OgAMg0+wAmSED gBq9avjdsYI0
+9nUsVwA8miZwBlIE8/QAAcLlTWnkvuz8tK/8AQDAUBwJAsDISeMEgAB8GIe uRfEGGYACGPw
Qq0e5YAAEJlkUAAJB8O4ACeSJkAAWA3BugcHwjCcKwvDMNw7D8QxHEsTxSgU VwlCkLGbDENQ
5D0QRFEkTRRFQAQhHcXR9GEgxnIkbSPHMkxZHkXyBGUhxrI0cJRKslx7H8Yy FGkixvJElRbM
UnS1M0pS9A85TnOk6oJBJ4wXBs7T5Ps/T/QFA0FQdCULQ1D0RRNFUXRlG0dR 9IUjSVJ0pQaI
omiqLoyjaOo+kKRpKk6UpWlqXpimaapunKdp6n6gqGoqjqSAClqahinqiqaq qurKttarz2MC
qxxm+l53GkUYAB+L5lgAUJgkazoEpuCoTA6mCSNCXhiAAAoThgAARAqppzme VoADcJI1gAYY
wFCAB0EgJ7gwEwY7MK1rDmYuBnEkIQABmN5foSLhEluABNjsJF6P+07UvC1j XNggp1mSTIAA
sHC/IIQRkHcAA+hu4AAHexhFDCFwADuWKFEwaR5AAM4WoE7zwPFJLyoK9AoM 6VIkvaXz4P8+
mLvvg5mnlDIZP9Sum6dPs8T0B6GnWYcOgtIZMGbj4zhlkaB4sLoAY0UgAa1j 4pHqTeMazreY
68guw7GNGy7OAG07XrEQ7truvoFuWybNt28bZve3b7uJM7FwO7cJvXBa5uCC cBunIbvtXC8t
xHJ8Vue68HzHH75yWwc7xnD9Jp/VQJqMGan1fYdj2XZ9p2vbdv3Hc913fed7 33f0uiiLIwjS
OI8kCRJIkyUJUliXJgmSaJsnAEp0nifIIoChKIoykKUpinKgqSFqoqysJfXy uq+uB6X2JoOC
JdiGtIXhyLYGgGKsUv3gANZhkLCWIEAAyhMhvAACZWyA17L4AAvo0pch5jvH eAAeY9zuAFAS
BIAAFQIlvUUPgebJB7kCAaBEygBCFwggmPcfkKISwnd/DGGSB3Wp7hnDeHEO VHw1dfDqH0P4
gRBiFEOIkRYjRHiREkhzwVMvEU48dT7ylRPNVK9BVD01UgAAMAYAqrntqxe8 rR8Ct3xK6fMr
0riwFGlyHoPAeEFILECAKZQDIFIEpzgW+mB0So+R9h/DyP0gZBQxkBIOQ0h5 ESJkVIuRkjZH
SPIHEx4am3jKeeSqF5ipHnqnekqp6qrHsEDe0rB7qs1avhVy+RXb54GRqiVH kwxiJISzlooC
QstZcS5hogp10upfS/mBMGYUw5iTFhlJJTTxVOvIVA8tUbzlTPRiyqt68XpS Kye/HchKuHxk
KfKrx9EaX1xJlgvmWUxp0TAlvOmdkuJ1ztnhPGeU856T1ntIKZETpKzMilJm aEVpOvUesq17
Kr3uTYjFNohE3IzTgAAMmiBoRojRj4CKiwABV0ZgbOee9HY+Tvo9SGItIKRU lpNSelFKaVUr
IPPmSky4oyYmfFWTkWYsxbi7QWL8pZsyom6Qmb4p6hUYo1IcF9RwACVqUAAf NTaWVPd2AOqQ
AACVVqZU6qFWXbVSAHVSq1TST1arFWOslZazVnd8NUbJxIm0vihJeZ0VJNzS enNSgkoqDRgl
NGMhdDJVFWHpYEAA97CSIF5YdlQd0Q1osYpMkpIwEWRsbZNSFjzg2SspZmzV m7OWds8Qal0y
q3zNinJqaMV5PUDlCQKUdB4wynjJKmb0qysjittQ6JRKS5Cet5Rtfdn7gNQl 5Da4NxU5UkuN
cm5Vy7mXNkVaGJ8lrST+ppXS1MoJrWur3Qog9frZxnnCr+ccSJy2+udecsFy L0XrTvcOHt7L
4XxvlfO+ikboT7pjXG01AJpyfmrTqa9r6+EKu9UC2l4X1LBnIYSPVHL63rvV g+5eEcJYVwth
fDGGZ8hSCgEslA/SpEmJPU07g/cTAAHUOyCYCgFE6eqToBCrQC4zIKLoXQu8 A3bp9Q2Vj6ZX
YLXvg235cCRjYGSMAtIwTQCpFKO0AAjBiMXaWQ4aYrBBmdCqb0ggTw8irAAJ 8QwVCjoAKsLI
PQaTdAyD2ADMIKMMu/wpm+zucc5Z1ztnfPFjJ8qKu1T22NPyETfx7OLBRYCR jaGYtwYoxRjA
AFcKpj4hBciQLbdwh47BjlkDeJQl4fxOr3BNB5euDJY5DIePMZJbQHFGInls /TSmmEGHCLgP
RmQkiHAAHAUqJQzgjGuAAFJmyBB5YOPsQzC4UFgNOC4yglgxmtGkxNKgzhWC dAANgC7CwtA9
A/nlSedNvVo3BuHcm5dzbnmK8Eau6wABBCAD9QYvxgDBAADYGqEsBaWILgXQ OB5W3jIc+0AA
O34AAGqQXDwwRyCl0qaUeC+wtggfiLUAGHn68MfwgW8sey4FyHxC0gQ3GLgJ BSflpB/MpkHJ
eJIF4FgABvCEywfYjwnVUIGOHMxmQnolGEO4/gPW/EMYcapiJrzzLZEyC8m4 aNngAH+znQ0I
CBAEMocJAI/OpFy6rqI2SoF6WYvZuPdFWexdj7N2ftHaYk7q3YFsLQWCGj+H +VIfrzR993I5
3gfXe7BvJrBAMZazd7b4x1n/HkaLxaFQcSTkAABvFkLMWjhRbAX76IO/oLYH H+8UIHwnhfDU
Ccbwcf9oh9j8H65RrE+eqTvlGBwLccGbAkbdIIPznC3QQLzEi0hdHKSG9DYg a3owABpigbEC
4MLZSEa61+I8LWbmSDOAAHoKaEhDsDIKJEYXsQ3bcIHCEUwZ15jBBkvcIo6k O5Z+wZ2jA1xe
AABOM4QxnQt6UIJro1vzuj3MzoPMbAUwAAHgFILbioUoiYQwLRmYggcwYYSQ yIHw/gXocoVg
AAGoeQoUAUAgJcAzNkBIgsBkBwDcCAAECUCkC0DEAcAsA8D0BcBsB8CMCcCs C8AMFMDcFcBQ
gcEEF8EkGME8GkDUDkBEHAgUHUEUGEE0GcDMFUDsIYAEIsEcEsGUFEIEG8D8 F0I0HkCgIQDT
ZKk7srtUMEMMMUMZ3B4Ia0M4AALAK4KoAAAUNwAAbobobwgqixCyZ7u47kOQ b4ADuouQCUP5
5QkYZYxDwahC2CvqMqv6hzHzgBhoawsgDgHTyR+z0AhgbQVY3IGwMoboAAWQ ZTWoUgGz+YM0
SjjL0LUiczUxAD0o+7kw/Y/og0VgFwvxrRmBrr1QfAxgKABJlIBoT4iYUYME JohT4Bm74YeY
cJ/4OgEAHw3QOAsgTQLoFJBYDAFQAAFADRj4PQ44AAQ4MwTAAAbgQgKUJwVw PgAAHwNBEoXo
dQ1oIQCqEYUAKA8AMJlggQLgSI3QOIFgAAVAMIIYAASDVogQMwuYZAMQAAc4 TwowNATQ5YaQ
e5ZIFrri4rcZFYIxFpgcWpmIEIi4F5D5DRrRExrpNIQcjBCkjT3gM8jotskA EMkQWEkhKhCE
k4P0lMW0lkj8Zsl41smLo8i8jJwUnEj0l0mEmRL8mkoMjclcoknco0n5Ksms m8jkpskMnso8
oElEoUqklsp0q7/alML8MkscsksssxRJ4IbgbYbhCYIYIIo4CIwEOMOYgkOq fwfjvAbgb0Oa
Z4CcQCCSCYbwb8OYFwFkfgB4Bon0Q7AkRK78RbQhAgekR4AESMSbyjywfgcZ lgCgFoL4AANQ
VjX4QwIiCYJoCBEIP8UrywsD0UVT0g+sVr1EWAgsWQvz3Zj48roIkj6UXZCQ eRIo8hOIhcYr
oraRbIUAIQm4UQKAiY8kJs2oADLo1oM4GoCYlAdpZoEgGcNgRJjwAAOwG6FB moAANAErLwe4
TLMSDxnYzoNBCwa4e4R8a4t8XMB0XhDIZEV4G71S4MsSCZxSDRuhlMt4iYX4 J8cAd0mLMYhE
/4LtAIUlAYAFAtA4ytBU3QgdBtB9CNCdBFCwhNDM8lCDdtCQ11ClBI+FC4gV EFAVEdDlCtFF
D47tB1ENDdEtDtGFBlGVDVFtG1F9Bap8sUs9IVIdIlIpAB4Icwc4c5cIEDbo FAFAE4hIf7uT
D4uTu9KzvgfLvCywcNLp5guVJrboBoBSrsxabcxrAy8Df7xUR0SESQtMSjyo uIcYAAQUzgAA
RwOUCgeAPx+IlCigJoCkc4QgtYtsig/81pAkWUVz1IgwfAbsAABIEkAkpb3z 783gBxCQFT2D
2T2j35sxh8Y04yEM8Zm48ksA+gUD0wzghRlJlM6wOIaRlkYRmg748IK85pmR nQ9IFw9Y9o94
+L782D07k82a5VIIgQbtVQAIElVggYVYcAqQKlTwhlZQAFZlZwgVaFaVaghd a1bAgtbYAFaY
h9b9ZtcNaNcdbohVc1bKjFdNcgh1dtdFblctZdc4glcVeKrVZFI1f1f9gFIh 4Ie4eweyCiwQ
HAG4Go+wBw8AgjuYqQfbuolAfVKzvAfLvgdwdyCYbNjoAAEgEZC1ho8ABJ7F MyhdNDftNURl
Ng0syVN0y0SogYegaMfIDgH4P4gYFY59nYyogbdbg4ggR4YwcgAAMIFU1YhV RJAYfAbDkbkp
C7lFQ4fgbBmIAsaYdMX5E1WggkXLkcWYAAUobiEYLQEdQ4hE4j4VUY7tWwSw JBEo0U4QeYZx
ooGc2z3g8s/ghFUlW1UzqAgY9Bf9Xo9g9xoVYRotYkV9Sy40sQcwAARQIQDZ lQdst4FwaRgY
aQMzhgeQTILVYIhFx1yFyQO9ygzty9CVzQ9tztz4g90NyNydyt09zNzd1dvU J1x9190l2NzF
1Nzlz121110d0ty13l2l34hN4N2F014t1V490F3F4V3d1F411illftgN7F7N 7Tsx4LGIA4AA
cgcocp6gm8w0a1kbpzuaf0PAAAfTvEwEcIbkThad74F4FxlIeoetgwAgAIfS hLHcRTQbxJAg
sTyAs4tNQotwgwfgeEPYYwaQdBbqnKOQAAeAaITQAALIPDg4RAU7XAI4HI7A EICELowNpYuC
EIcIbodQAAdoZ7a07ZEoVYZoSwAAGJ6YCwFFMRsBfxsaAwuYbhc4JQCVooQ4 KZlI3sfLnwN1
H7gNUDoltTo42Y2oAA243I3Y3rlo4A4Q4g4w5A5Q5g5w6A6Q6gkA647I7dth mxiNU9XdwVX1
wt1lRc2Vxciq9zxZNRK5JpLJMpKJLskpMJLBMhKBLhNEmZKxJhMZJ5LZM5Kc pGRBNmPmQmRp
LxHRNeQWRZN+P+Q+QOPeQeRhOGQGS+T2TOP2Qyld697eVWVeVjDF7qyQf1Kg dAdFxyZ4DwDr
zQCwC7lwmomdjSCYdAdIdMJ1JIv4CA8AE4EoEw+wB48BBJmAAIfyEdk67tlI g7QTxDBNlwAB
YhYxZBZRZhZxaBaRahaxbAhwfgsYAACmA4Y1QoFVs+E0VC82FD1jVY1whst8 /I/k/YgiCYUw
OIIGKsgQgwFw3IZoYE+R1LZWJ74JiUsBipi5jJjYgZjpj5kJkZktx5lBlUew hBl0W0BVUuNl
v4gU9g/Bn4/dww+dYZo5pNYy5LOhqpq5tpyLoJyhz5tB0Ompt+m50xypxunZ w2mxxJxeoB0B
vOnhzZ0uo2nJy+pOoenuopzxyxx2pWhenGquoRzWrGn+p2pak2VOVusesmsq 5uV4nTGaLqqq
FAeAd7JwdgdqCYeRBQkQkbF4v4CQ4ADQDAC4AADuwCLSLZWiqYdodpj8Plg2 aggzfma7f1lh
YR9zgp/4hh+k1QhwsThgswW1ODhlOUU7ILUpSYd4c1xxmCLoC4DQCphhRDqQ d6EY+KEzmwsK
CKwbkCF+2dIesWsyRe3e3m3+4G4KswYYY4Z6y+tIAqFGtWCWtaqwAQAIAWwg AMNqqe5KFCri
ryFAAO7da+7gdmuJWipl/7w2AObLH68mebjm4SYe329aQO9u92+O+W+aeR4O vCqqLqLe5Wwe
6yqm5KqgAaFCqtMqqcN26PAwhO77J2xO8cRC2VNMx+AaV+9L0e+iWu+HCyI3 DHDPDnDvDyRm
tG/yLoA7GgAqLm5iryroAnAOwlMvFfACru7e6YhHBQgQfuxTAdM/B9lXCObX Ce0MVPD/C+O/
ISWfDfIvJHJPJSH3EO5e5Ynu5utYAvFXFnAPKirvBHBHGm8HBmxbfeawg2bA l6iDVKiaiiJS
iwESojL29XJaRPI/NyQnInOPOnOvOyIfJu/+5aLYn25fFfAQAm6PAPAXAsN/ LQg/GvLvHNlH
HexwqyoQU/NaRCo4F6pKpbv/O6P27Gtiq6sPTKPnTar6rHT/UnUvUx2CtQ4m +4Am/IA2/fPq
q3VnQnQHAnLHQ0N/LfBfG/BsxnRvMJXfSDx0vaRHNIAAFoJqxfU6JQDoBokY cYeeePZSIXZn
Z3aHaXa/bHbJRICAegiayInXVnEfEvE/P3F/P/FpWncyqfGXBPLnXfLwgmxv X4qwQvetx4RR
DqQ6BYJ4N5i/bSIoHYDZPIYocq9/f6IPgPgfgvg/hnhvhxAXbnbyyXJzGnKC r3KXKm6/dXW3
A/XHRHd3HFpN8HMAgqb/eoQve/fKQ3fffvh6IHhIAHgng3lyG/mHmXmnnHnP nPiO4+CW5TGn
PnFHc6qvQXWPQvju6PXPG3kIhogIgDkc7tf4Ag0HhEGfr6egAQsPACKiUJik Vi0XjEZjUbjk
cO0fABPN6Zjslk0nlEplUrlktl0vmExmUzmkGHYbeIAYrlB81n0/oFBoVDol Fo0xm85nc9o9
Np1PqFRqVTqlVq1XrFZrVbrldr1fsFhsUJCD0aQABIIBAAAgEAoAAwGAgAAt xulttgFuYEAd
7vgAAeBAACwmDwsWdjsdsKe2AAwMjcCgkahcNh6FiMTsdNj52kMjlD4ADjaT AADUZjCADCWe
LMakkgkBca0Wk02o1Ws12wAGylsNZKPNIAa4rPYAMBGFGb5nN50dpM6nnP6n V63Xn3RpfY7n
d73f8Hh8Xj8nl83n9HkstntVrt1vA4Ft91+fytl/vlzwIDwH4wQAwAi7EsWA B+saAbHsigaC
oyyqHIgiRFPSlLOs+kiTHqZIADYGwcAAb6EieABImUWDetmjEMw3DsPxDEcS xO34AFsKAGgA
WoqGaABKi4GSDn4ABuF0ToAHICYkAAIAZg/CcmvQ7TpydKUpyok8oKZKssy1 LcuS7L0vzBMM
xTGsizAA9q6Ps+T4AMt62zcAr+Py/s5MEwgBMNPDEMUxjHMgjTJQYjEHMuzM JJe0RtGYYidG
KYwAFcVR3AAQhckgAAXz+ix8G+W4ADwQ5XoMBQFIoex1gACQlj+AA/CeEyXQ qkULpNIB9H6u
YAHCkgoiaVMXl9GKM1tXCDV2AFe1/Elgt8liGlsMEbGEIkdERHqDtEW4ogSA BKCnHRa2ukp9
HyeaDAJGwDP4lR+3LAoAXSA6Kny0R9TOuF5TI8sr31ft/LDfl/4FgeCYLg2D 4RhOFK69czrV
NK5zWuC7YlOa2zwvq9zsws7wFPkCwPBNAQWyiGQezEIpeehmAAHYOCIABqoS JYAGCchS0xTS
KnoaJMAADgflGAA1DkI972w0QLB6MoADQJIQ1ikFZpce5tJIKgo2UZVmRQku q6vrNgWEldn2
i1dqABa0fHAWAugANY9lIi4oEUa4ADKJblgAeRnAAUI3hmABVGUigzlEcAAC dJaD3MYBAxEa
gUs8GJ2wkQxKF+g4XAAPRZl4AANmuQ23jtS6EbpHW8R9hbN4CjJ7m8UwADqJ otgAGpFLOL4l
hahJ3GaSQAC6L1gkMX5WAAEx6FV2fa9v3IAd33qEd/4Ph+L4/k+X5vbdx3Xe d94HheIAHjeR
5Xmdp7voel8PrfJ83tfT53vej8HqfF6/y+z9Huee996ZB3qvjew+d7b6n/v2 gCQaAb+n4gvA
srl1hSCcHSSxBODEGYNQbg5B2D0HznsNLSe4tzE2IsULwW5jRfj+H7TzC9Pa BEDJ+QUZNBrJ
lCspJekAfA/FcjeE+AADANhXM1HILNnJGB6DWZ8BwMq8h0DFDC0coSsjQEta +ABrDWmuEniz
FtsSzWyIzbMtNaq1x7jmGGAAToRQfAAGwF6IIbQmgpAAAoCgKgAAdAspMUIK wQOCCsz4TgbQ
pAAHcLwPgAA7CBGQ+UYaOgXgSHuAAXgbQHAAEesEgwTBIgAEcF8Fhqw9hDAA LAbRCAzKtFOG
KRAr0PCUFUFxHYzmhAgXzCAqrriNJAGiJcIznHMIbFWPIAASQODQQ2DmN4Fw /o6D6FZ1YAJf
TAmE5kNkxZjzJmXM2Z4AJozTmrMEPUw5szGmRMoNkzAATOmhNJH4AJfzknNN qdM3Z2zfnDPG
ec15iTom5Oub075xTymtOWbE9qAzsndOCeBBpxz+nPNudVDJ9UPl0SqXlGaO Udo9R+kFIaRM
CYamg94AD4nzTamlNx/j9GCL6nU/iAAAsehkyFnRF1AslMshAzRNIlxBA4Dq IrNokKZiVExn
7TAARRDRFQoMVlaEri+2FZbYyO1Vi5VglLZVpNobUtiSwYVuC9CGWcQ4XIFg AqrU8Kwj0dBJ
BYBNAo8BlgADIFUKoAAxCnUmFMFxcxbhhkyJQEAqwACvD+FQuBBxwCqCg28Q LUBMDOEfHtfI
+htPBCiFFEwjmtgABO12kZRaNkcHeAAW4dwJLdFo5tzZZxpBCZ8KkSYZwAU5 IRam1drRKWvA
BbEAFs7a23tyRe3lrLXWwuHcO2gALbW4t0Qe5NvrgXCuJdC410yDXVuXcG5t 2bo3HItd639z
LZXPvHdwAF5rr3hvVdu0p0IKnbvnfe/F+b9X7v5f0oNJWHsSYkAelaby8p1P 0f4/jHWOwxT6
gi9hCKdw3p6yin5M6gs/qJEao+EWeRNB+HgAAKweg9AAD8HoWAABXCyiIF4H cIkoqk1Rq0Wq
rWhjFVnGsYKr45q7GSr8Z5prmsHJkYQQ0dVpmmQZqooMbRTIw5tqFdAoCvFi AAIisLVWENWE
mtAVq12PCE28U4VwACsFfbhbmTMd43i7f4mtpySjiycEsJOUCDh6F2QUHYGi O50ABnbPBBs9
Z8z8RzQGgiE6FZbocjeic76Lz3o3P+ddIkI0Zn3SugdL550nprRGltBuc0/o 7OBCc5an1Vqv
VmrdXavX/gAtZ8mIn2LiAalhbC+n3YxCljaeMGkVQHg9kRGcJqDhxT5Q9QBr VCw3UaJJFx+D
0HGAAaA2B0gAVONkAApBCBrcEzJHYxnEBbBUBBqJnmpktH0N5XivkRjOWZLk ju7d3rK3kb3e
mP1oZBbSuIAGRMuC1B7I8SgYgbkJHuNZq4Vanhnm0E4FSNiOcCyNkgAGSiE5 izJmbNGaiD1a
jDaTWBKdUkZHMAAVoYQNgAE8PAIIAAQjacyN8KzOBWB/C0Wgi/KeV8t5fzHm fNeb5n51zwi3
PuWcu5hzLmiH+i8553msivSugdN6H1DnHR+qEU6t0zoXT+bdb6nz3lXS+g9O 6J2TpHVez9X7
D2vo3ZdWcn5L3fvHee9d774QAAQKBwSCwaDwiEwkIPRpAAEggEAACAQCgADA YCAACxiNxSJg
WNAQByKRgABygAAKVyqWQh2Ox2wJ+vaTgYGQqBuRzu1/zkAP19PQAIWigBFU if0qEPRrJ8AB
wdK4AMFyLMAC+cUuEuMAIIIC0AI4rJsAOhNFUARKtwc7W4AE83pm2QN5gB1O J1AB5NhOgA3n
FkAA9KtLAARAgEgAICIPw+C3a8Xq+X7AYLCYbEYrGY7FWyhrYwA0AMIiM0AI guDKBvgAMA74
pFrQ4WJfn4ACEJhGLgNwgBTisQABSAAuAA/KtCAAVhwFAB3uBpgB8hgdAASB Z9gBbmEHaQh6
dD6qCuBVEIAGtTlcAKxXmfHwJ7tq5lQoqkAJFlL7rgu6f5/4AgGAoDgSAg7B s8QAMU5QPVs/
AANElwzYMlAhfgziwAAGDUIoABXF4dwADgeWCH0XA3QOD4RhMeoVheGYbh2H 4hiOJYnimEIS
hSFiRhiGoch6IIiiQAImihAoqjqLY8j6MZBjSRJGjiK47i+P4ykKNZFjeSI5 iyLo9jCQIzkO
NpHACSZfkyYpYlCZoFnCcZynOBoIgqDJ0nmep7nyfZ+n+gKBoKg6EoWhqHoi iaKoujKNo6j6
QpGkqTQdDEORFEkVRYBwFRZHKep1E0mSNGkoANJ6jSkAarQlMEyUBNQDTdSk 7T1P1BUNRSFU
dSZ6Pg2lPBgNlTME6FXC9a4CUMnxNBwABxagADgLMaGLgNbh2XBcn+PUyQAH kNg4ABDk/EFY
n6AAJ39QK3bfuG41KuYjroupnwAaFo2ladqWrQQ8TSXMWhZtVBBcKc7gAFkL m7Xt0itHsLgA
J5+0JGwrzyAASQmQJ3HeMJ4AAeK/UDeUUHoLcSXsJ972eAB8n0FEt34MqGQk uulM4zlB4Hgm
C4NT88TNh0WpCGwq8IEkKsMQM2SqF0AByIFxNGwgOj3WXRIh1TGdKQXTdP1H U9HADVtY0XY9
J0tAtf1DUgA1vZQA1nb9o11BNs2HdNV1fctn0jdtM07bdi3vZta3XagA3jbt w3zc9b2nXuC3
nkOAzrl5xzyd8/5jnee5/oOh6Lo+k6Xpun6jqeq6vrFspZakRRuoadpsBkWR TtwFqepKo7tK
UrAJLfBS9MUzrGs0/rVPk5rhRFGUiHZwUM4zfOsADuNIowAD8XzLAAoTBI0A AuAligVCYHQA
VoAD0OM2gAOsBAWAAGQRRo4jEX4NhUH8ABLEeMEAApQwgvQKthbRc3Wp/HyX Yeg+SBAJAcaN
U5Ch9D1HeAAfQ/SNQRgnAqD7qXNM+hBCSEsJlIwiTxCeFcLIWwuhfDCGMMoZ w0hrDYrbr1MO
yI07Qi5HYeu8Io8EkhInfkseAq14qsCbPrIU8pW5QnnK7eg9IZgAFmhEAAMM pQPQAC8KsAAG
hWhoiYB29sPA1SEhLD0KE/AdgngAAonGA5cYEw3jvHiFcKXOR5j7H51ce4/y CkHISQshpDyI
kTIqRZBHXkQUyRWH0PIfkfIrEUkqp1TPCk28RV5NImK0J48shTzVdK8eipIf hrR4DwgwPc7R
DwGgVMWAwjSeo6LbkZLqXagJAy8l/MBOcvpgzEmLMaY8yJkzKmW62HLsVNAA U4p52zsnbqpV
KSkkjvlTqrADEmTzx4mkJie8yKMpoqSDlxHaZk7JizDnbPCX8754z0nrPae8 +J8z6j9M4iUP
YegHmo7gkDvlSqpVPEiJEnXjSgeTKKKCuXnq9kFOqfdFo+zzovRqGVGaN0eo /SCkNIqR0kUq
Q12E/iQzVh8AalcQQCRDkrEZ4NCiDquoYrKcRCJySkiiKen4ABvVCkICKopf w3hvOmPmB9Ja
muok0RQjVS6mVOqq6OqBH6p1Wq3VyrtXqv1gdaNUbJvpHqiIsRiSdLSQki
Re: Does GridViewer support fixed columns? [message #48989 is a reply to message #48818] Wed, 06 February 2008 06:54 Go to previous messageGo to next message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.

In our project we also need a fixed header row for filtering. I was also
thinking about putting two grids together and synchronize scrolling. Would
you please share your implementation with us?

To Chris: Which solution do you think is the best for the fixed header row:
Two synchronized grids or creating a new GridHeaderRenderer?

Thanks in advance,
Anders



"Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
news:foa463$m9v$1@build.eclipse.org...
> Hi Chris,
>
> I did some hacking today and have a rough implementation.
>
> Chris Gross schrieb:
>> Hi Tom,
>>
>> I think most of what you are looking for could be done using the Grid
>> today. You can figure out the coordinates of the column headers using
>> the existing API. Once you know the coordinates you wire up some
>> editors just like the standard GridEditor.
>>
>
> Are you suggesting to write a GridHeaderRenderer which provides extra
> space to position a widget. Because I only have to display drop-downs in
> there I event thought about writing an GC-Based-Dropdown this could
> integrate nicely in the L&F of the GridHeader.
>
>> Regarding the footer, I can see the value but it would add significant
>> complexity to the Grid. I would rather see a solution where a small
>> (the height of a single row) Grid was placed at the bottom of the main
>> Grid. Then the scrolling could be synchronized. That said, if you (or
>> anyone) was willing to contribute a patch for this feature, I would be
>> willing to work with you.
>>
>
> That's the way I also thought it could work (and from my first tests it
> looks like it's working fine). See screenshot attached.
>
> Tom
>
> --
> B e s t S o l u t i o n . at
> ------------------------------------------------------------ --------
> Tom Schindl JFace-Committer
> ------------------------------------------------------------ --------
>
Re: Does GridViewer support fixed columns? [message #49017 is a reply to message #48989] Wed, 06 February 2008 08:27 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Anders,

Anders Baumann schrieb:
> Hi Tom.
>
> In our project we also need a fixed header row for filtering. I was also
> thinking about putting two grids together and synchronize scrolling. Would
> you please share your implementation with us?
>

Currently not because this code is not clean and only a quick hack (~2
hours of work). I'll code a clean solution for the problem when I get
the job (it was only a test how much time I need for adding such feature).

There are 4 possibilities:
a) I get the Job and are *not* allowed to contribute back this feature

b) I get the Job and are allowed to contribute back this feature
(which makes a lot of sense IMHO but my customer might not want this)

c) I don't get the job:
c1) I find someone else to sponsor the work on
this and we are back at a) or b)
c2) I'll try to clean my code as much as possible and attach it to
the bug

My preferred solution is (b) or (c1 + b)

> To Chris: Which solution do you think is the best for the fixed header row:
> Two synchronized grids or creating a new GridHeaderRenderer?

Using 2 Grids is IMHO not a good solution. I've currently modified Grid
to have an extra space below the header and below the footer which are
handled by designated renders.

The more think about my current solution it seems to me more appropriate
to use a specialized GridHeaderRenderer requesting more space and
placing the editor exactly in there.

If I get the job I also plan to write some nicer Renders for RowHeader
and ColumnHeaders.

Tom

--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #49048 is a reply to message #49017] Wed, 06 February 2008 09:50 Go to previous messageGo to next message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.

Thanks for your reply. I really appreciate your help.

In c2 you mention a bug. Have you already created a bugzilla entry for this
issue?

Thanks,
Anders



"Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
news:foccke$ckv$1@build.eclipse.org...
> Hi Anders,
>
> Anders Baumann schrieb:
>> Hi Tom.
>>
>> In our project we also need a fixed header row for filtering. I was also
>> thinking about putting two grids together and synchronize scrolling.
>> Would you please share your implementation with us?
>>
>
> Currently not because this code is not clean and only a quick hack (~2
> hours of work). I'll code a clean solution for the problem when I get the
> job (it was only a test how much time I need for adding such feature).
>
> There are 4 possibilities:
> a) I get the Job and are *not* allowed to contribute back this feature
>
> b) I get the Job and are allowed to contribute back this feature
> (which makes a lot of sense IMHO but my customer might not want this)
>
> c) I don't get the job:
> c1) I find someone else to sponsor the work on
> this and we are back at a) or b)
> c2) I'll try to clean my code as much as possible and attach it to
> the bug
>
> My preferred solution is (b) or (c1 + b)
>
>> To Chris: Which solution do you think is the best for the fixed header
>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>
> Using 2 Grids is IMHO not a good solution. I've currently modified Grid to
> have an extra space below the header and below the footer which are
> handled by designated renders.
>
> The more think about my current solution it seems to me more appropriate
> to use a specialized GridHeaderRenderer requesting more space and placing
> the editor exactly in there.
>
> If I get the job I also plan to write some nicer Renders for RowHeader and
> ColumnHeaders.
>
> Tom
>
> --
> B e s t S o l u t i o n . at
> ------------------------------------------------------------ --------
> Tom Schindl JFace-Committer
> ------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #49077 is a reply to message #49048] Wed, 06 February 2008 09:56 Go to previous messageGo to next message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Sorry. I just saw in the first mail that it is bug-id is 166089.

/Anders


"Anders Baumann" <anb@maconomy.dk> wrote in message
news:fochfc$vcp$1@build.eclipse.org...
> Hi Tom.
>
> Thanks for your reply. I really appreciate your help.
>
> In c2 you mention a bug. Have you already created a bugzilla entry for
> this issue?
>
> Thanks,
> Anders
>
>
>
> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
> news:foccke$ckv$1@build.eclipse.org...
>> Hi Anders,
>>
>> Anders Baumann schrieb:
>>> Hi Tom.
>>>
>>> In our project we also need a fixed header row for filtering. I was also
>>> thinking about putting two grids together and synchronize scrolling.
>>> Would you please share your implementation with us?
>>>
>>
>> Currently not because this code is not clean and only a quick hack (~2
>> hours of work). I'll code a clean solution for the problem when I get the
>> job (it was only a test how much time I need for adding such feature).
>>
>> There are 4 possibilities:
>> a) I get the Job and are *not* allowed to contribute back this feature
>>
>> b) I get the Job and are allowed to contribute back this feature
>> (which makes a lot of sense IMHO but my customer might not want this)
>>
>> c) I don't get the job:
>> c1) I find someone else to sponsor the work on
>> this and we are back at a) or b)
>> c2) I'll try to clean my code as much as possible and attach it to
>> the bug
>>
>> My preferred solution is (b) or (c1 + b)
>>
>>> To Chris: Which solution do you think is the best for the fixed header
>>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>>
>> Using 2 Grids is IMHO not a good solution. I've currently modified Grid
>> to have an extra space below the header and below the footer which are
>> handled by designated renders.
>>
>> The more think about my current solution it seems to me more appropriate
>> to use a specialized GridHeaderRenderer requesting more space and placing
>> the editor exactly in there.
>>
>> If I get the job I also plan to write some nicer Renders for RowHeader
>> and ColumnHeaders.
>>
>> Tom
>>
>> --
>> B e s t S o l u t i o n . at
>> ------------------------------------------------------------ --------
>> Tom Schindl JFace-Committer
>> ------------------------------------------------------------ --------
>
>
Re: Does GridViewer support fixed columns? [message #49630 is a reply to message #49077] Wed, 20 February 2008 07:12 Go to previous messageGo to next message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.
Sorry to bother you again.
In our project we are planning on implementing the "fixed header row" next
week. To avoid reinventing the wheel I would like to know the status of your
implementation. Any news? If you are planing on contributing the feature
could you then give us an estimate on when that will be? If not, could you
maybe help us along the way with a rough implementation?

Thanks in advance,
Anders



"Anders Baumann" <anb@maconomy.dk> wrote in message
news:fochq5$24n$1@build.eclipse.org...
> Sorry. I just saw in the first mail that it is bug-id is 166089.
>
> /Anders
>
>
> "Anders Baumann" <anb@maconomy.dk> wrote in message
> news:fochfc$vcp$1@build.eclipse.org...
>> Hi Tom.
>>
>> Thanks for your reply. I really appreciate your help.
>>
>> In c2 you mention a bug. Have you already created a bugzilla entry for
>> this issue?
>>
>> Thanks,
>> Anders
>>
>>
>>
>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>> news:foccke$ckv$1@build.eclipse.org...
>>> Hi Anders,
>>>
>>> Anders Baumann schrieb:
>>>> Hi Tom.
>>>>
>>>> In our project we also need a fixed header row for filtering. I was
>>>> also thinking about putting two grids together and synchronize
>>>> scrolling. Would you please share your implementation with us?
>>>>
>>>
>>> Currently not because this code is not clean and only a quick hack (~2
>>> hours of work). I'll code a clean solution for the problem when I get
>>> the job (it was only a test how much time I need for adding such
>>> feature).
>>>
>>> There are 4 possibilities:
>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>
>>> b) I get the Job and are allowed to contribute back this feature
>>> (which makes a lot of sense IMHO but my customer might not want this)
>>>
>>> c) I don't get the job:
>>> c1) I find someone else to sponsor the work on
>>> this and we are back at a) or b)
>>> c2) I'll try to clean my code as much as possible and attach it to
>>> the bug
>>>
>>> My preferred solution is (b) or (c1 + b)
>>>
>>>> To Chris: Which solution do you think is the best for the fixed header
>>>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>>>
>>> Using 2 Grids is IMHO not a good solution. I've currently modified Grid
>>> to have an extra space below the header and below the footer which are
>>> handled by designated renders.
>>>
>>> The more think about my current solution it seems to me more appropriate
>>> to use a specialized GridHeaderRenderer requesting more space and
>>> placing the editor exactly in there.
>>>
>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>> and ColumnHeaders.
>>>
>>> Tom
>>>
>>> --
>>> B e s t S o l u t i o n . at
>>> ------------------------------------------------------------ --------
>>> Tom Schindl JFace-Committer
>>> ------------------------------------------------------------ --------
>>
>>
>
>
Re: Does GridViewer support fixed columns? [message #49662 is a reply to message #49630] Wed, 20 February 2008 08:21 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Anders,

I didn't get any news from my customer :-( I've attached my sources to
the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=166089. It's
really only a proof of concept.

Tom

Anders Baumann schrieb:
> Hi Tom.
> Sorry to bother you again.
> In our project we are planning on implementing the "fixed header row" next
> week. To avoid reinventing the wheel I would like to know the status of your
> implementation. Any news? If you are planing on contributing the feature
> could you then give us an estimate on when that will be? If not, could you
> maybe help us along the way with a rough implementation?
>
> Thanks in advance,
> Anders
>
>
>
> "Anders Baumann" <anb@maconomy.dk> wrote in message
> news:fochq5$24n$1@build.eclipse.org...
>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>
>> /Anders
>>
>>
>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>> news:fochfc$vcp$1@build.eclipse.org...
>>> Hi Tom.
>>>
>>> Thanks for your reply. I really appreciate your help.
>>>
>>> In c2 you mention a bug. Have you already created a bugzilla entry for
>>> this issue?
>>>
>>> Thanks,
>>> Anders
>>>
>>>
>>>
>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>>> news:foccke$ckv$1@build.eclipse.org...
>>>> Hi Anders,
>>>>
>>>> Anders Baumann schrieb:
>>>>> Hi Tom.
>>>>>
>>>>> In our project we also need a fixed header row for filtering. I was
>>>>> also thinking about putting two grids together and synchronize
>>>>> scrolling. Would you please share your implementation with us?
>>>>>
>>>> Currently not because this code is not clean and only a quick hack (~2
>>>> hours of work). I'll code a clean solution for the problem when I get
>>>> the job (it was only a test how much time I need for adding such
>>>> feature).
>>>>
>>>> There are 4 possibilities:
>>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>>
>>>> b) I get the Job and are allowed to contribute back this feature
>>>> (which makes a lot of sense IMHO but my customer might not want this)
>>>>
>>>> c) I don't get the job:
>>>> c1) I find someone else to sponsor the work on
>>>> this and we are back at a) or b)
>>>> c2) I'll try to clean my code as much as possible and attach it to
>>>> the bug
>>>>
>>>> My preferred solution is (b) or (c1 + b)
>>>>
>>>>> To Chris: Which solution do you think is the best for the fixed header
>>>>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>>>> Using 2 Grids is IMHO not a good solution. I've currently modified Grid
>>>> to have an extra space below the header and below the footer which are
>>>> handled by designated renders.
>>>>
>>>> The more think about my current solution it seems to me more appropriate
>>>> to use a specialized GridHeaderRenderer requesting more space and
>>>> placing the editor exactly in there.
>>>>
>>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>>> and ColumnHeaders.
>>>>
>>>> Tom
>>>>
>>>> --
>>>> B e s t S o l u t i o n . at
>>>> ------------------------------------------------------------ --------
>>>> Tom Schindl JFace-Committer
>>>> ------------------------------------------------------------ --------
>>>
>>
>
>


--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #49721 is a reply to message #49662] Fri, 22 February 2008 03:43 Go to previous messageGo to next message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.
Thank you for your answer.
We really need this feature so we would like to try and implement it and
contribute it back to the Nebula project. Hopefully you will be willing to
help and advise us.

- You write that your source is a proof of concept implementation. Can you
explain to us how the real implementation should be done? What should we
change/improve in your source code? What features are missing or should the
solution be conceptually different?
- What is the procedure if we want to contribute our code?

Best regards,
Anders



"Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
news:fph9h1$mv7$1@build.eclipse.org...
> Hi Anders,
>
> I didn't get any news from my customer :-( I've attached my sources to the
> bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=166089. It's really only
> a proof of concept.
>
> Tom
>
> Anders Baumann schrieb:
>> Hi Tom.
>> Sorry to bother you again.
>> In our project we are planning on implementing the "fixed header row"
>> next week. To avoid reinventing the wheel I would like to know the status
>> of your implementation. Any news? If you are planing on contributing the
>> feature could you then give us an estimate on when that will be? If not,
>> could you maybe help us along the way with a rough implementation?
>>
>> Thanks in advance,
>> Anders
>>
>>
>>
>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>> news:fochq5$24n$1@build.eclipse.org...
>>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>>
>>> /Anders
>>>
>>>
>>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>>> news:fochfc$vcp$1@build.eclipse.org...
>>>> Hi Tom.
>>>>
>>>> Thanks for your reply. I really appreciate your help.
>>>>
>>>> In c2 you mention a bug. Have you already created a bugzilla entry for
>>>> this issue?
>>>>
>>>> Thanks,
>>>> Anders
>>>>
>>>>
>>>>
>>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>>>> news:foccke$ckv$1@build.eclipse.org...
>>>>> Hi Anders,
>>>>>
>>>>> Anders Baumann schrieb:
>>>>>> Hi Tom.
>>>>>>
>>>>>> In our project we also need a fixed header row for filtering. I was
>>>>>> also thinking about putting two grids together and synchronize
>>>>>> scrolling. Would you please share your implementation with us?
>>>>>>
>>>>> Currently not because this code is not clean and only a quick hack (~2
>>>>> hours of work). I'll code a clean solution for the problem when I get
>>>>> the job (it was only a test how much time I need for adding such
>>>>> feature).
>>>>>
>>>>> There are 4 possibilities:
>>>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>>>
>>>>> b) I get the Job and are allowed to contribute back this feature
>>>>> (which makes a lot of sense IMHO but my customer might not want
>>>>> this)
>>>>>
>>>>> c) I don't get the job:
>>>>> c1) I find someone else to sponsor the work on
>>>>> this and we are back at a) or b)
>>>>> c2) I'll try to clean my code as much as possible and attach it to
>>>>> the bug
>>>>>
>>>>> My preferred solution is (b) or (c1 + b)
>>>>>
>>>>>> To Chris: Which solution do you think is the best for the fixed
>>>>>> header row: Two synchronized grids or creating a new
>>>>>> GridHeaderRenderer?
>>>>> Using 2 Grids is IMHO not a good solution. I've currently modified
>>>>> Grid to have an extra space below the header and below the footer
>>>>> which are handled by designated renders.
>>>>>
>>>>> The more think about my current solution it seems to me more
>>>>> appropriate to use a specialized GridHeaderRenderer requesting more
>>>>> space and placing the editor exactly in there.
>>>>>
>>>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>>>> and ColumnHeaders.
>>>>>
>>>>> Tom
>>>>>
>>>>> --
>>>>> B e s t S o l u t i o n . at
>>>>> ------------------------------------------------------------ --------
>>>>> Tom Schindl JFace-Committer
>>>>> ------------------------------------------------------------ --------
>>>>
>>>
>>
>>
>
>
> --
> B e s t S o l u t i o n . at
> ------------------------------------------------------------ --------
> Tom Schindl JFace-Committer
> ------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #53177 is a reply to message #49721] Fri, 16 May 2008 10:58 Go to previous messageGo to next message
Eclipse User
Originally posted by: Florian.Assmus.prodyna.de

Hi Anders,

I have exactly the same problem to solve. Before I start coding my own
GridHeaderRenderer I wanted to check the status of your contribution.
Any news yet?

Best regards,
Florian


Anders Baumann schrieb:
> Hi Tom.
> Thank you for your answer.
> We really need this feature so we would like to try and implement it and
> contribute it back to the Nebula project. Hopefully you will be willing to
> help and advise us.
>
> - You write that your source is a proof of concept implementation. Can you
> explain to us how the real implementation should be done? What should we
> change/improve in your source code? What features are missing or should the
> solution be conceptually different?
> - What is the procedure if we want to contribute our code?
>
> Best regards,
> Anders
>
>
>
> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
> news:fph9h1$mv7$1@build.eclipse.org...
>> Hi Anders,
>>
>> I didn't get any news from my customer :-( I've attached my sources to the
>> bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=166089. It's really only
>> a proof of concept.
>>
>> Tom
>>
>> Anders Baumann schrieb:
>>> Hi Tom.
>>> Sorry to bother you again.
>>> In our project we are planning on implementing the "fixed header row"
>>> next week. To avoid reinventing the wheel I would like to know the status
>>> of your implementation. Any news? If you are planing on contributing the
>>> feature could you then give us an estimate on when that will be? If not,
>>> could you maybe help us along the way with a rough implementation?
>>>
>>> Thanks in advance,
>>> Anders
>>>
>>>
>>>
>>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>>> news:fochq5$24n$1@build.eclipse.org...
>>>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>>>
>>>> /Anders
>>>>
>>>>
>>>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>>>> news:fochfc$vcp$1@build.eclipse.org...
>>>>> Hi Tom.
>>>>>
>>>>> Thanks for your reply. I really appreciate your help.
>>>>>
>>>>> In c2 you mention a bug. Have you already created a bugzilla entry for
>>>>> this issue?
>>>>>
>>>>> Thanks,
>>>>> Anders
>>>>>
>>>>>
>>>>>
>>>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>>>>> news:foccke$ckv$1@build.eclipse.org...
>>>>>> Hi Anders,
>>>>>>
>>>>>> Anders Baumann schrieb:
>>>>>>> Hi Tom.
>>>>>>>
>>>>>>> In our project we also need a fixed header row for filtering. I was
>>>>>>> also thinking about putting two grids together and synchronize
>>>>>>> scrolling. Would you please share your implementation with us?
>>>>>>>
>>>>>> Currently not because this code is not clean and only a quick hack (~2
>>>>>> hours of work). I'll code a clean solution for the problem when I get
>>>>>> the job (it was only a test how much time I need for adding such
>>>>>> feature).
>>>>>>
>>>>>> There are 4 possibilities:
>>>>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>>>>
>>>>>> b) I get the Job and are allowed to contribute back this feature
>>>>>> (which makes a lot of sense IMHO but my customer might not want
>>>>>> this)
>>>>>>
>>>>>> c) I don't get the job:
>>>>>> c1) I find someone else to sponsor the work on
>>>>>> this and we are back at a) or b)
>>>>>> c2) I'll try to clean my code as much as possible and attach it to
>>>>>> the bug
>>>>>>
>>>>>> My preferred solution is (b) or (c1 + b)
>>>>>>
>>>>>>> To Chris: Which solution do you think is the best for the fixed
>>>>>>> header row: Two synchronized grids or creating a new
>>>>>>> GridHeaderRenderer?
>>>>>> Using 2 Grids is IMHO not a good solution. I've currently modified
>>>>>> Grid to have an extra space below the header and below the footer
>>>>>> which are handled by designated renders.
>>>>>>
>>>>>> The more think about my current solution it seems to me more
>>>>>> appropriate to use a specialized GridHeaderRenderer requesting more
>>>>>> space and placing the editor exactly in there.
>>>>>>
>>>>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>>>>> and ColumnHeaders.
>>>>>>
>>>>>> Tom
>>>>>>
>>>>>> --
>>>>>> B e s t S o l u t i o n . at
>>>>>> ------------------------------------------------------------ --------
>>>>>> Tom Schindl JFace-Committer
>>>>>> ------------------------------------------------------------ --------
>>>
>>
>> --
>> B e s t S o l u t i o n . at
>> ------------------------------------------------------------ --------
>> Tom Schindl JFace-Committer
>> ------------------------------------------------------------ --------
>
>
Re: Does GridViewer support fixed columns? [message #53281 is a reply to message #53177] Mon, 19 May 2008 05:11 Go to previous message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C8B9A1.1B65F8C0
Content-Type: text/plain;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

Hi Florian.

We have in fact implemented a working fixed row header and we will soon =
make it more generic so that we can submit as a patch that you hopefully =
can use.

Best regards,
Anders


"Florian Assmus" <Florian.Assmus@prodyna.de> wrote in message =
news:g0k7e8$cni$1@build.eclipse.org...
> Hi Anders,
>=20
> I have exactly the same problem to solve. Before I start coding my own =

> GridHeaderRenderer I wanted to check the status of your contribution.
> Any news yet?
>=20
> Best regards,
> Florian
>=20
>=20
> Anders Baumann schrieb:
>> Hi Tom.
>> Thank you for your answer.
>> We really need this feature so we would like to try and implement it =
and=20
>> contribute it back to the Nebula project. Hopefully you will be =
willing to=20
>> help and advise us.
>>=20
>> - You write that your source is a proof of concept implementation. =
Can you=20
>> explain to us how the real implementation should be done? What should =
we=20
>> change/improve in your source code? What features are missing or =
should the=20
>> solution be conceptually different?
>> - What is the procedure if we want to contribute our code?
>>=20
>> Best regards,
>> Anders
>>=20
>>=20
>>=20
>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message=20
>> news:fph9h1$mv7$1@build.eclipse.org...
>>> Hi Anders,
>>>
>>> I didn't get any news from my customer :-( I've attached my sources =
to the=20
>>> bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D166089. It's =
really only=20
>>> a proof of concept.
>>>
>>> Tom
>>>
>>> Anders Baumann schrieb:
>>>> Hi Tom.
>>>> Sorry to bother you again.
>>>> In our project we are planning on implementing the "fixed header =
row"=20
>>>> next week. To avoid reinventing the wheel I would like to know the =
status=20
>>>> of your implementation. Any news? If you are planing on =
contributing the=20
>>>> feature could you then give us an estimate on when that will be? If =
not,=20
>>>> could you maybe help us along the way with a rough implementation?
>>>>
>>>> Thanks in advance,
>>>> Anders
>>>>
>>>>
>>>>
>>>> "Anders Baumann" <anb@maconomy.dk> wrote in message=20
>>>> news:fochq5$24n$1@build.eclipse.org...
>>>>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>>>>
>>>>> /Anders
>>>>>
>>>>>
>>>>> "Anders Baumann" <anb@maconomy.dk> wrote in message=20
>>>>> news:fochfc$vcp$1@build.eclipse.org...
>>>>>> Hi Tom.
>>>>>>
>>>>>> Thanks for your reply. I really appreciate your help.
>>>>>>
>>>>>> In c2 you mention a bug. Have you already created a bugzilla =
entry for=20
>>>>>> this issue?
>>>>>>
>>>>>> Thanks,
>>>>>> Anders
>>>>>>
>>>>>>
>>>>>>
>>>>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message=20
>>>>>> news:foccke$ckv$1@build.eclipse.org...
>>>>>>> Hi Anders,
>>>>>>>
>>>>>>> Anders Baumann schrieb:
>>>>>>>> Hi Tom.
>>>>>>>>
>>>>>>>> In our project we also need a fixed header row for filtering. I =
was=20
>>>>>>>> also thinking about putting two grids together and synchronize=20
>>>>>>>> scrolling. Would you please share your implementation with us?
>>>>>>>>
>>>>>>> Currently not because this code is not clean and only a quick =
hack (~2=20
>>>>>>> hours of work). I'll code a clean solution for the problem when =
I get=20
>>>>>>> the job (it was only a test how much time I need for adding such =

>>>>>>> feature).
>>>>>>>
>>>>>>> There are 4 possibilities:
>>>>>>> a) I get the Job and are *not* allowed to contribute back this =
feature
>>>>>>>
>>>>>>> b) I get the Job and are allowed to contribute back this feature
>>>>>>> (which makes a lot of sense IMHO but my customer might not =
want=20
>>>>>>> this)
>>>>>>>
>>>>>>> c) I don't get the job:
>>>>>>> c1) I find someone else to sponsor the work on
>>>>>>> this and we are back at a) or b)
>>>>>>> c2) I'll try to clean my code as much as possible and attach =
it to
>>>>>>> the bug
>>>>>>>
>>>>>>> My preferred solution is (b) or (c1 + b)
>>>>>>>
>>>>>>>> To Chris: Which solution do you think is the best for the fixed =

>>>>>>>> header row: Two synchronized grids or creating a new=20
>>>>>>>> GridHeaderRenderer?
>>>>>>> Using 2 Grids is IMHO not a good solution. I've currently =
modified=20
>>>>>>> Grid to have an extra space below the header and below the =
footer=20
>>>>>>> which are handled by designated renders.
>>>>>>>
>>>>>>> The more think about my current solution it seems to me more=20
>>>>>>> appropriate to use a specialized GridHeaderRenderer requesting =
more=20
>>>>>>> space and placing the editor exactly in there.
>>>>>>>
>>>>>>> If I get the job I also plan to write some nicer Renders for =
RowHeader=20
>>>>>>> and ColumnHeaders.
>>>>>>>
>>>>>>> Tom
>>>>>>>
>>>>>>> --=20
>>>>>>> B e s t S o l u t i o n . at
>>>>>>> =
------------------------------------------------------------ --------
>>>>>>> Tom Schindl =
JFace-Committer
>>>>>>> =
------------------------------------------------------------ --------=20
>>>>
>>>
>>> --=20
>>> B e s t S o l u t i o n . at
>>> ------------------------------------------------------------ --------
>>> Tom Schindl JFace-Committer
>>> ------------------------------------------------------------ -------- =

>>=20
>>
------=_NextPart_000_0007_01C8B9A1.1B65F8C0
Content-Type: text/html;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-15">
<META content=3D"MSHTML 6.00.6000.16640" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2>Hi Florian.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2>We have in fact implemented a =
working fixed row=20
header and we will soon&nbsp;make it more generic so that we can submit =
as a=20
patch that you hopefully can use.</FONT></SPAN></DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2>Best regards,</FONT></SPAN></DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2>Anders</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>"Florian Assmus" &lt;</FONT><A=20
href=3D"mailto:Florian.Assmus@prodyna.de"><FONT face=3DArial=20
size=3D2>Florian.Assmus@prodyna.de</FONT></A><FONT face=3DArial =
size=3D2>&gt; wrote in=20
message </FONT><A href=3D"news:g0k7e8$cni$1@build.eclipse.org"><FONT =
face=3DArial=20
size=3D2>news:g0k7e8$cni$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...</FONT></DIV><FONT face=3DArial size=3D2>&gt; Hi =
Anders,<BR>&gt; <BR>&gt;=20
I have exactly the same problem to solve. Before I start coding my own =
<BR>&gt;=20
GridHeaderRenderer I wanted to check the status of your =
contribution.<BR>&gt;=20
Any news yet?<BR>&gt; <BR>&gt; Best regards,<BR>&gt; Florian<BR>&gt; =
<BR>&gt;=20
<BR>&gt; Anders Baumann schrieb:<BR>&gt;&gt; Hi Tom.<BR>&gt;&gt; Thank =
you for=20
your answer.<BR>&gt;&gt; We really need this feature so we would like to =
try and=20
implement it and <BR>&gt;&gt; contribute it back to the Nebula project.=20
Hopefully you will be willing to <BR>&gt;&gt; help and advise =
us.<BR>&gt;&gt;=20
<BR>&gt;&gt; - You write that your source is a proof of concept =
implementation.=20
Can you <BR>&gt;&gt; explain to us how the real implementation should be =
done?=20
What should we <BR>&gt;&gt; change/improve in your source code? What =
features=20
are missing or should the <BR>&gt;&gt; solution be conceptually=20
different?<BR>&gt;&gt; - What is the procedure if we want to contribute =
our=20
code?<BR>&gt;&gt; <BR>&gt;&gt; Best regards,<BR>&gt;&gt; =
Anders<BR>&gt;&gt;=20
<BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; "Tom Schindl" &lt;</FONT><A=20
href=3D"mailto:tom.schindl@bestsolution.at"><FONT face=3DArial=20
size=3D2>tom.schindl@bestsolution.at</FONT></A><FONT face=3DArial =
size=3D2>&gt; wrote=20
in message <BR>&gt;&gt; </FONT><A=20
href=3D"news:fph9h1$mv7$1@build.eclipse.org"><FONT face=3DArial=20
size=3D2>news:fph9h1$mv7$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt; Hi Anders,<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; =
I didn't=20
get any news from my customer :-( I've attached my sources to the=20
<BR>&gt;&gt;&gt; bug </FONT><A=20
href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D166089"><FONT =
face=3DArial=20
size=3D2>https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D166089</FONT></A=
><FONT=20
face=3DArial size=3D2>. It's really only <BR>&gt;&gt;&gt; a proof of=20
concept.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; =
Tom<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;=20
Anders Baumann schrieb:<BR>&gt;&gt;&gt;&gt; Hi Tom.<BR>&gt;&gt;&gt;&gt; =
Sorry to=20
bother you again.<BR>&gt;&gt;&gt;&gt; In our project we are planning on=20
implementing the "fixed header row" <BR>&gt;&gt;&gt;&gt; next week. To =
avoid=20
reinventing the wheel I would like to know the status =
<BR>&gt;&gt;&gt;&gt; of=20
your implementation. Any news? If you are planing on contributing the=20
<BR>&gt;&gt;&gt;&gt; feature could you then give us an estimate on when =
that=20
will be? If not, <BR>&gt;&gt;&gt;&gt; could you maybe help us along the =
way with=20
a rough implementation?<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; Thanks =
in=20
advance,<BR>&gt;&gt;&gt;&gt;=20
Anders<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;<BR>&gt=
;&gt;&gt;&gt;=20
"Anders Baumann" &lt;</FONT><A href=3D"mailto:anb@maconomy.dk"><FONT =
face=3DArial=20
size=3D2>anb@maconomy.dk</FONT></A><FONT face=3DArial size=3D2>&gt; =
wrote in message=20
<BR>&gt;&gt;&gt;&gt; </FONT><A =
href=3D"news:fochq5$24n$1@build.eclipse.org"><FONT=20
face=3DArial =
size=3D2>news:fochq5$24n$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt;&gt;&gt; Sorry. I just saw in the first mail =
that it=20
is bug-id is 166089.<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;=20
/Anders<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&g=
t;&gt;=20
"Anders Baumann" &lt;</FONT><A href=3D"mailto:anb@maconomy.dk"><FONT =
face=3DArial=20
size=3D2>anb@maconomy.dk</FONT></A><FONT face=3DArial size=3D2>&gt; =
wrote in message=20
<BR>&gt;&gt;&gt;&gt;&gt; </FONT><A=20
href=3D"news:fochfc$vcp$1@build.eclipse.org"><FONT face=3DArial=20
size=3D2>news:fochfc$vcp$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt;&gt;&gt;&gt; Hi=20
Tom.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR >&gt;&gt;&gt;&gt;&gt;&gt; Thanks for =
your=20
reply. I really appreciate your=20
help.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR >&gt;&gt;&gt;&gt;&gt;&gt; In c2 you =
mention=20
a bug. Have you already created a bugzilla entry for=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt; this=20
issue?<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;=20
Thanks,<BR>&gt;&gt;&gt;&gt;&gt;&gt;=20
Anders<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt=
;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;=20
"Tom Schindl" &lt;</FONT><A =
href=3D"mailto:tom.schindl@bestsolution.at"><FONT=20
face=3DArial size=3D2>tom.schindl@bestsolution.at</FONT></A><FONT =
face=3DArial=20
size=3D2>&gt; wrote in message <BR>&gt;&gt;&gt;&gt;&gt;&gt; </FONT><A=20
href=3D"news:foccke$ckv$1@build.eclipse.org"><FONT face=3DArial=20
size=3D2>news:foccke$ckv$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi=20
Anders,<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
Anders=20
Baumann schrieb:<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; Hi=20
Tom.<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;=
gt; In=20
our project we also need a fixed header row for filtering. I was=20
<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; also thinking about putting two =
grids=20
together and synchronize <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; scrolling. =
Would=20
you please share your implementation with=20
us?<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
Currently not because this code is not clean and only a quick hack (~2=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; hours of work). I'll code a clean =
solution for=20
the problem when I get <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; the job (it was =
only a=20
test how much time I need for adding such =
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
feature).<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=
There=20
are 4 possibilities:<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; a) I get the Job =
and are=20
*not* allowed to contribute back this=20
feature<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
b) I get=20
the Job and are allowed to contribute back this=20
feature<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp; (which makes a =
lot of=20
sense IMHO but my customer might not want =
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
this)<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; c) =
I don't=20
get the job:<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp; c1) I =
find=20
someone else to sponsor the work=20
on<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nb=
sp;=20
this and we are back at a) or=20
b)<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp; c2) I'll try to =
clean my=20
code as much as possible and attach it=20
to<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nb=
sp; the=20
bug<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; My =
preferred=20
solution is (b) or (c1 +=20
b)<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; =
To Chris:=20
Which solution do you think is the best for the fixed=20
<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; header row: Two synchronized grids =
or=20
creating a new <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt;=20
GridHeaderRenderer?<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Using 2 Grids is =
IMHO not a=20
good solution. I've currently modified <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
Grid to=20
have an extra space below the header and below the footer=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; which are handled by designated=20
renders.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
The=20
more think about my current solution it seems to me more=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; appropriate to use a specialized=20
GridHeaderRenderer requesting more <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
space and=20
placing the editor exactly in=20
there.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
If I get=20
the job I also plan to write some nicer Renders for RowHeader=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; and=20
ColumnHeaders.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt=
;&gt;=20
Tom<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; --=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; B e s t S o l u t i o n .=20
at<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
------------------------------------------------------------ -------- <BR>&=
gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
Tom=20
Schindl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&am p;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
JFace-Committer<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
------------------------------------------------------------ --------=20
<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; -- <BR>&gt;&gt;&gt; =
B e s t=20
S o l u t i o n . at<BR>&gt;&gt;&gt;=20
------------------------------------------------------------ -------- <BR>&=
gt;&gt;&gt;=20
Tom=20
Schindl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&am p;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
JFace-Committer<BR>&gt;&gt;&gt;=20
------------------------------------------------------------ --------=20
<BR>&gt;&gt; <BR>&gt;&gt;</FONT></BODY></HTML>

------=_NextPart_000_0007_01C8B9A1.1B65F8C0--
Re: Does GridViewer support fixed columns? [message #568875 is a reply to message #16977] Fri, 24 November 2006 15:59 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Tom Schindl wrote:
> Hi,
>
> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
> scrolling happening from column 3 to n? If not is this feasible and
> should I log a feature request, I couldn't find an entry for this in
> bugzilla?
>
>
> Tom

sorry meant Grid ;-)

Tom
Re: Does GridViewer support fixed columns? [message #568948 is a reply to message #17005] Sat, 25 November 2006 19:30 Go to previous message
Chris Gross is currently offline Chris Gross
Messages: 471
Registered: July 2009
Senior Member
Hi Tom,

Not yet. I had started initial work to support fixed columns but
unfortunately I had to put that work on hold. It may be quite a while
til I find time to complete it. There are other facets of Grid that are
higher priority for me.

Regards,
-Chris

Tom Schindl wrote:
> Tom Schindl wrote:
>> Hi,
>>
>> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
>> scrolling happening from column 3 to n? If not is this feasible and
>> should I log a feature request, I couldn't find an entry for this in
>> bugzilla?
>>
>>
>> Tom
>
> sorry meant Grid ;-)
>
> Tom
Re: Does GridViewer support fixed columns? [message #568964 is a reply to message #17061] Mon, 27 November 2006 03:18 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Chris,

no problem. I was only interested if you ever thought about supporting
such a feature ;-) Should I log you feature request so it doesn't get
forgotten?

Tom

Chris Gross schrieb:
> Hi Tom,
>
> Not yet. I had started initial work to support fixed columns but
> unfortunately I had to put that work on hold. It may be quite a while
> til I find time to complete it. There are other facets of Grid that are
> higher priority for me.
>
> Regards,
> -Chris
>
> Tom Schindl wrote:
>> Tom Schindl wrote:
>>> Hi,
>>>
>>> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
>>> scrolling happening from column 3 to n? If not is this feasible and
>>> should I log a feature request, I couldn't find an entry for this in
>>> bugzilla?
>>>
>>>
>>> Tom
>>
>> sorry meant Grid ;-)
>>
>> Tom
Re: Does GridViewer support fixed columns? [message #569181 is a reply to message #17089] Mon, 27 November 2006 11:17 Go to previous message
Chris Gross is currently offline Chris Gross
Messages: 471
Registered: July 2009
Senior Member
Sure, you can enter a bug for it.

-Chris

Tom Schindl wrote:
> Hi Chris,
>
> no problem. I was only interested if you ever thought about supporting
> such a feature ;-) Should I log you feature request so it doesn't get
> forgotten?
>
> Tom
>
> Chris Gross schrieb:
>> Hi Tom,
>>
>> Not yet. I had started initial work to support fixed columns but
>> unfortunately I had to put that work on hold. It may be quite a while
>> til I find time to complete it. There are other facets of Grid that are
>> higher priority for me.
>>
>> Regards,
>> -Chris
>>
>> Tom Schindl wrote:
>>> Tom Schindl wrote:
>>>> Hi,
>>>>
>>>> Is it possible e.g. to set the first 2 columns in GridViewer fixed and
>>>> scrolling happening from column 3 to n? If not is this feasible and
>>>> should I log a feature request, I couldn't find an entry for this in
>>>> bugzilla?
>>>>
>>>>
>>>> Tom
>>> sorry meant Grid ;-)
>>>
>>> Tom
Re: Does GridViewer support fixed columns? [message #569545 is a reply to message #17203] Tue, 28 November 2006 13:20 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Done the bug-id is 166089.

Tom

Chris Gross schrieb:
> Sure, you can enter a bug for it.
>
Re: Does GridViewer support fixed columns? [message #588372 is a reply to message #17920] Tue, 05 February 2008 08:44 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Chris,

I've got a potential customer for the following features who are related
to this request.

I need to display a fixed header row with widgets (filters usw.) and
additionally a fixed row at the bottom (for aggregation, ....)

Do you think it would make sense to have a feature like this part of grid?

Tom

Tom Schindl schrieb:
> Done the bug-id is 166089.
>
> Tom
>
> Chris Gross schrieb:
>> Sure, you can enter a bug for it.
>>


--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #588384 is a reply to message #48655] Tue, 05 February 2008 11:25 Go to previous message
Chris Gross is currently offline Chris Gross
Messages: 471
Registered: July 2009
Senior Member
Hi Tom,

I think most of what you are looking for could be done using the Grid
today. You can figure out the coordinates of the column headers using
the existing API. Once you know the coordinates you wire up some
editors just like the standard GridEditor.

Regarding the footer, I can see the value but it would add significant
complexity to the Grid. I would rather see a solution where a small
(the height of a single row) Grid was placed at the bottom of the main
Grid. Then the scrolling could be synchronized. That said, if you (or
anyone) was willing to contribute a patch for this feature, I would be
willing to work with you.

regards,
-Chris

Tom Schindl wrote:
> Hi Chris,
>
> I've got a potential customer for the following features who are related
> to this request.
>
> I need to display a fixed header row with widgets (filters usw.) and
> additionally a fixed row at the bottom (for aggregation, ....)
>
> Do you think it would make sense to have a feature like this part of grid?
>
> Tom
>
> Tom Schindl schrieb:
>> Done the bug-id is 166089.
>>
>> Tom
>>
>> Chris Gross schrieb:
>>> Sure, you can enter a bug for it.
>>>
>
>
Re: Does GridViewer support fixed columns? [message #588427 is a reply to message #48690] Tue, 05 February 2008 11:51 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090606070309060303030609
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hi Chris,

I did some hacking today and have a rough implementation.

Chris Gross schrieb:
> Hi Tom,
>
> I think most of what you are looking for could be done using the Grid
> today. You can figure out the coordinates of the column headers using
> the existing API. Once you know the coordinates you wire up some
> editors just like the standard GridEditor.
>

Are you suggesting to write a GridHeaderRenderer which provides extra
space to position a widget. Because I only have to display drop-downs in
there I event thought about writing an GC-Based-Dropdown this could
integrate nicely in the L&F of the GridHeader.

> Regarding the footer, I can see the value but it would add significant
> complexity to the Grid. I would rather see a solution where a small
> (the height of a single row) Grid was placed at the bottom of the main
> Grid. Then the scrolling could be synchronized. That said, if you (or
> anyone) was willing to contribute a patch for this feature, I would be
> willing to work with you.
>

That's the way I also thought it could work (and from my first tests it
looks like it's working fine). See screenshot attached.

Tom

--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------

--------------090606070309060303030609
Content-Type: image/tiff;
name="screen.tiff"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="screen.tiff"

TU0AKgABOuiAAOBAIsloukw1mw3HcXC8YDoARGJROKRWLReMRmNRuOR2PR+Q SGRSOSSWTSeU
SmVSuWS2XS+YTGZTOaTWbTecTmdTueT2fT+gUGhUOiUWjUekUmlUumU2nU+o VGMNJotBjpVK
JJDqdTKNalYsFojp9QKRcVK0Wm1RloNFpgAA3EAAK6XO62u8Xm9Xu+X2/X/A YHBYPCYXDYfE
YnFYu/v7HADHP4AP/KAAYC8W4ygGEwFwksdks5iw2H5rTaeIshksoAATXAAD ggEAABgIB3MA
gLJgGI7x/xHf73eajiRbKcHi8Th8nT3Lmajj8/pdPGcvqYcA8jr8XkbzrRjf 7+477J8CJ97w
cLzeXhdr073ux34xXK3Dh5Tvdny8vgv/8v68jwuCfp+n4AB8n0fIAH6fcDBu G4au2mSqKsep
8H87Rvm+cCKBCEIQJQeh6HqAERxIex7HuAEEwUiYDAOA4AAUBQEgABgFgXG0 bqBEUSRMAEUR
VFiKRfGMZxrG8cgZHafx7Ep6xPFMVnzFqJSLGUaRtHEdRylcNQ4icPRAiZjt UAACgGAsZR21
zbrg3TyPYuCJP83sJKI9yYu+ls8qlPrAT2vs/pFQK+UGv1CzvRSfUOllEpTR tFzsmtIpNR9J
OBS9LUqlE60wnlC04ij+PBOtCv0+b5OHVE500i9UzoyrxzoiVAvDVr6v5AIA QafYAHvKFeH5
AwchwG6KS/DsP0/ZMw2WicLQwidmolMSQH3bAAHeeB4gAbRtm2ABznOdQASh EkCn6igBgI28
cRyDIMgsAATBKEoAAiCAHzOAs1JfbFfW3btv3Dcdy3PBZ+XUid2XdLd43net 73zfd+38l2AW
1blvXBcVyXNYN03XdoAXeAGIXpe18X1fmLpDaiI2siZlGWZczgJNQFS3iz7N 09dRuA4NXU+9
6maGnlRaJpSL6Oi2mp0+ql6fpyTaSteprTq2l63rjn60kGsJHr+upI61PP1S aPu7PLu1silc
6Y42qUzt+0VrWL1buydbuFUm4b1V7JWEfUgHtEmMhsGsI2nDdlTHSWYABmSJ WjsaL2HAx3Hc
eAAGWZhnAAdp3nfM6BAAAwDAI2mSInkVsQMfcCAACQIAgAAahoGV8AkCOb9U k/MABzXOc90H
RdJNDb9R1WGop10G152Xadt3HdAj3nfJR4Ph87z/Q9H0vldT1c3Il5/Yel2v b9z3fegK16Xm
cZxnzOA+cgSBnT/e+zfOdWScz4uWbIUeAUAyQthbAnIl8CIDHygaTmApG4GE cgjA8jkE4LQX
Jo3wmEGDkwVbjB6B0GU+NAV2q5vyrW3n7OcRNSMHDvqkTtDAiqe27K0TzDZO p7j3HoVvCkfQ
+kDIoHoryIQAAZAyBgTR162nwDyHkPNwqKngkzNc6pI4AAHAOAaAB2rtnUMu JYPUe4/Wotpa
EnSGJ5R3jxHkAA1YzHhOiAAAkBIBgAAkBKCYAAGwLgTZXF0fA+VfDpHY6Qco 5x2gAHUOgcaQ
B8OEAm7QAAOAbA0AAA8B7tmfkdOXG2N8cY5ukjtHiPUfI/SAXzIKQgAJDSIk VIyR0kJJSUkt
JiTTtoTw1VpABbUbo4DKjkO6OkpY8x7j7H+QIAJByFkOACRMi5GyPHtJEAEk 3bS3kzJuXqp2
fw3LgnUaY1C3r9jwzpHL701G5UerCEk754TxnlPNoBGVGwino2ojSl4QT5n8 Xyfk+5/lGgif
NtDZ5en0bydqdxNIZQak64A9h2j7mVYy4ZEg+h9uEBaCwFic26TfPOfQ9yQZ GDqHYAAcI4Rx
AAW45xEY9leLZnqnKh5HgDL9ZKltfS+wPggA8AACwFQKIyAWjWmx94Zm7bkA AeQ9R+KHoaeW
javhsDZXCNsbo3jYPjiTEsDwGgKtvOCPea0QXCRCMkN4cI5wADoHNS1BCBgS AjBEAAFAKF70
5jEeikB0aqgAqvVmrdXXVVfABWGscLqy1niCisfla621vrigeI9da715r3To j9gbBgAq1VwA
9XolWJrFWQiNZq02PrUACtlbq4VysvXavFen9MXbc2lWp/SIjat8y2nb+WeK TbM3em9A7kGC
n7BImVy2t0BIzPiDN0qmwduTdcqKoroXYJXPxQ91LuNqh1D+iCk2+KmPKeJU ae0/tCqVC6iV
CaR3MojfKNLcz9tnN+tIAA/FsojiLYEFAJwTw4nqquM5+7+rDpOuUbI2huSM HWOuoQGQP2mq
KjBNRdLwEWc3EUa05AAAVAqvME4JQSVCAvWOK91Yav+N+O8eY+aKNAgCeuQa ChkTCXMiIAAJ
68gABWCeoNjCIpUdgtmjSBrImSRFTIbQ3xzK/HlIsBaS5KyXAAbJGMK6mThI jjkAGO45D1x9
kAFGQsiWoQOPnJKvsl39Mfk9b2UsqZWyxNrLk9ldpUx1jzM0Rc0ZqyK3jNub 0VvQyaiUemUM
7D3yqyXPOWs9wKvjSJZA3hvmtpzTudIBY8AChaoO9V4SkYd1MSeDmqVQUg1Y UC52r9ZF7Tjr
MneqNbEqu1dVRKfdeuA1XCq+FuiAACBQOCAB/wWBAGEQaFwqFwWDweHQ9/wd 9Pt9AB6xsARi
MiKQQaDgAAxOBxWEw+HPN5PQANtut0AOFwuMABcMB0AC4VCEABIIg2SSaH0W jUd2O15AByOh
1gBsthsgAPB4OAASiMRgAGg0GQyE0SjSN2vB7SOBONxuWCh0OhuGgCLvsAMJ iMYAAYBgMADc
ajGf0GRQJ8xcAPx+P0AP1/P4APjDOx2PAAS17xp65d9vl5x1+Y4fDwcgAC6W F2iJxZ9vy63e
83u+3/A0KUADC3TEYrGY7IXTJZTLZjNZzPaDRaTTQi0QiL6y7Xi9Xy/YCgbS R7fD4nF43H5H
J5V6ZeN8PO6vjaPSgSRUSFQdxuS2QS3XCCOT7XkDAYAAsGAsAAIAj9AEsSUu WggAwMo8FQXB
kGwdB8IQjCEEwklKiwQo8CQbCkKw7D0PpJEERQVDkRw/DUTRTFUVxZFsXRfG EYxlGcaRrG0b
xxHMdR3Hkex9H8gSDIUPtQsEHxRBkKSQk6GIVJaKIQkqBQ4iK4wJIqCSwkTH H2jCNHoey5S8
DYOJ09oALU+KBzK+kQwOhh5HizppGoazbHyy4XheFqqA2CyCn8xkanoep8Mq eswmeZ5pAAA4
EAQAAWhYFQAAerqDSlM61HIgaFA6DirrQdJ2nmf6JvgcyCg2DYNJJJSFF2Xx ggACYIAcAAfB
2GiSAEAU7tYfx/sdYTHHuyAAHUsrbHwuiCH3QR7Hmd4AHcd6liIIYfymkcpS nDIAVjWda1vX
NdgDXtfgBYNhu5YyM2Syh82YgtnsdaNp2ra9s23C0CrBUyhoFcNaVtXFdV5X x8nzYFhINdtj
3hZdmoHeoAXvalrABbFtSrK6BnMctUrRVa4ImdR1HQ5ADv2Bb/Py/SStSiFO xDKsh5vnGc51
neeZ7n2eSfn+hZzEuh6NnGg6PpUf6TpenRloun6lHEz37CcmzdI1vZlN+u61 rGq6zbyJQXps
EykisDZlJ2Z6tLaOn0jNCHqjsugACoLT+ghzHJVM3A1VlXY8ex8UMZBkmWrg GAUAAgB6G4AA
HdFgoPd1vbdy8LyZzCWzCdJ1Wmdp2HUAB5zAAAchvXdH0hrKR5BvyB8BVtun OdR4bTtfN4Cw
dGgPlZfF+YQAAjgoahmFz/8kw9BMQ1h7cJQ7LsSg4CAGhXqTufLKnhfB4KWI Ygh97UH9/4Hh
eJ43keVXzEsd52LeieTM+Z6vr/r8h5e7anvgB8L42FPbIKt02pA3zAAeC8N4 qt3jvJes+15p
iH4qGfm9Mfr9nsQXfy/sdz/X/vkQU1woo8H9mlP0y1lwB0BLdSy1whzUWpwx RGkuApcYZQ3R
c02HEO4eQ8h0juGDTGnRBR9D9G0RGgI5iQ2E5SPYjM4iQiqGjYoBpBijD1GC SkPNkiZE0o0L
2aRecyWKJ8BSHMecxF5gDYkEmOIERh7Y9VCN1IyBACIEXempj07uGwxxjuJA cA4r4MwYArP2
ApSA9h7vbHo6dGg7R4t0H7JNahkjKjzboDkHCuyVGnKOOIcw7Y1xqQwgiM5A gFgKcYMwZw0Q
AK9IOBQCoFzZmLkol01huXImwQAXwh46h1mUHoPMyhFSFAzBmC9i0c3eJYSq 4s/0rJXSwABL
KWh1ZbGKlwdkxRey+S9KLMCYUxD1gAmRMoe0jiTylZqSM/sq5WyvAFLGWctZ JzaNXNyXc33r
ThmCACYcxWATnYsoghjao1liY6iEe0cj/gFPUAwBitz8gFYRGOPkV4sUbo5R 1GDZlv0eo41G
KdImexPQdRpI9JqWUtZvSpCVKEN0uaQUeklNKcUYTPTCKtPWvu7jOSNgFO6S tlSjO1tUfI9u
uSyt9Ko+jC0AmGdkukqivttqZHwgoBnfgAGuNgbZcmFAAAUAtSAGALy0bHU1 fsWoxJIPSQUb
Q2hvH4P0CkFAJk7kZp6hhJkXCHDfHEOkiNQYwkooSiE/jjCaKcHaO4dzkQCK QAUAllbvz9WV
P1RU/FFp5kHV6r4gg3BwMpegUsCYEgJAAA+B8nUciXVYhYQc/h/rGgAsfZEA dk6yWWd9ZkBN
mwDUWs5Z+eVoiB2ktMPa1FqrWWuS+3QiC3E32LJmOGx1kLJWUt9Zi3twriXD leSi0JBblPxu
bau1pOpGkubZU1shY0Qj8M2aS8UqSv3eQHKd3qb4u05Z7TxB170W4CwBgfBF RkWM2RjTLBNb
KY02SRg5zOD0eU3vlhbDWG8OYdac2w5cIkF3xbBGAiVJGZG1vfX5BN8STUIK JiGoGJItRgtk
kYhS6zbVQMw3QjBdITRhqxhkAACVHuldMAAbg3RvqVAeV+iB6gGyBUq4tGrM SmDoHaAAdbJw
AAjBIT6QRX1jKGxYp1pI2xvDmxPhWENv3ejeG+OGyRCleqQkC4yzVdj/pSAK AY9SA1fDgKbM
szskyDghBCB8oZCmFKGmav4tEBza5yzpbvOwAs8AOz1cHPgBM/aAleucAGhL TVT0QADRWjMs
QBpsQXShI9LZ1nlpvTtwj9agIVn/QOpNTaGltonRejYQU/RDTurOaCD1xqsA ABFXVz2isNsb
D21drNHpBF/a7PsMFFwNttG9RZO7gZ/t1KG5GdbZc1uholIdvbsam7rN2b4C Q1rbUfN2IkG7
6gHQpLWAtp4QImbt8iiG6X0LoRW5F1MKtBV6QoCHEQADnHOykcw5h01kkRs6 303lXIGsBQsw
e9bDT3MesdRChgNgZloBnlgAB4pyXVJSK63CFDYG0OKYxArIWRLBaoCdWiCA TAnHiyA8QAMh
ZTnuV56pVKQAeA4/yAD1D3WMAAeEkW4KGHwPcjIGgNAYeIBIB4AB3jtWnDCN HROjDu6R0q75
AgBdO431HqaAAAdWUN1nHw+uudeAB2DsQEeydm7RjidfQuh9FWp27pI5ul6e 6bxrqHUj/947
11jrRGO/9f7D2PsvZ+0teU6WS7RBAJWpcugBX1cQEgJcY6yfexN4e19t7f3H ufde7957333v
/gfBhu2mbPJ1DdWTDNt9zl+ekFtTauJDL8nFCHlkl0S0x4/VLk3GG21EGEOA Pn8AEgShATAp
HgBxXjK/aYURmAlbB33aLR6m1ZBE6jfvjCSYpDAIAPjwcuLE6oAAAsAqAqtw g6WQmAYcMcUc
uEPULAOaWW/cXQbzAMtSAgy4HWKel08Qa04YUweq7xAJAMseMoZOKeWIUaAR AccvAiXlAmV9
AqVoAlAxA1A2O0owrWxASNAFBHAPBNAVBTAaPxAeJHBcWO2jAHAJBnBrA0n0 RIJQ5iMoLA4j
AwJSL2IUAQu6q4yKlUOQosyw+FDFDHDJDLDNDPDRDTDVDXDZDaQ6+IS6LoHu egx2e2csH8M+
Qse7Cm/4eKnKgGi4d6geP2olC6UghUP048Rg5MMKIzDmUM4MMWWe3ur+SkhI WmLAjujwLQGg
GoG2wYqM2QZkNKotB8WeNYHif6HlFWoAkUZolS6g6iycVuesL5BsMOnypU3k IZFJAHAKI6H7
FRFVFYTAMuJTFhFnGTFrAzA3FyyEqSTe5FF4NNFNGC5hGGKXGLFe7rFkAfFl GXFuvoNYRKpK
34II9eZW9eUgUeASd8ZW49DDDdHlHnHpHrHtHvHxHzH1H3Hy+JEYrGcKMu8y 6sr4a/B2wg3G
p/HMa8qGoO3WyHGeQ9HMimGaGeGyxIX+sO9KyEKOjtAwUsKEANBWci1IIIgu Mc78IyTkM6Hg
8cVccuVNIORJI4KNI8UqUvJFETJKIHJOLkWPJW6xJczOUwScsQtmi8hZI7D9 JALzJGeuuQIF
J7JS5gHnJZKEqESmUy+8203mJGt2V8okP8yNEOyO+kvLHjH5LTLVLXLZLbLd LfLhLjLkQi+I
MbJQ+4Xk+OcKMw+SO0vfKMbWS0JPIbKzIwSZJkpnEoTcOWSwSfMEqBMgqwGS GaGqVMoTKxMU
hfA/JiX5KTM0Uw3vB2xUbQ5s3OqFK0xazQJEIkxtJfKIp8umcxHIZqbBIcbc hExSqGr9MGLD
FEYAsTFArZKSre4EimyiK4kEkOcYz+P1F7EUzQwpLnOlOnOpOrOtOvOxOzO0 Re+JJMlubsI8
I1DojkTDEbI0c2oUZoinECX4KHODMRBySzNKbBKMISNQ383xMUk8QsGOGUGm iJMeSTIijSQl
QCSGxSLDPihgrcxuQrKHQJMSioze3mQWL2V8/I/G/VOZC+uO9nO3Q/RBRDRF RHRJRLRNDRLq
O5LsbqLpPC+qJcI2+SMM2/IhQgwVK3IXA6QrQNGfQYX6FYFgFxRpRPSJSLSN SPSRSTSVSXSZ
SbLkHIHOlFSdSnSpSrStSvSxSzS1S3S4aHShSlS7TDTFTHTJTLTNTPTRTTLd S/SHTVTdTfTh
TjTlTnTpTrTsRbTZTvT1T3T5T7T9T/UBUDSbTyKOGgGaGPHdQ9UFUXUZUbUd UfUhUjUkZ7H+
e2BgBmNGQVUIKMHSHMHAy+K03YFTVGAAB5VM7y6tUnHuF5VYAACbVfVRGNVV HpVYF4AADRVx
VnV1V3V5VUGqGyzpAIAoR6ZCHOK4ASIUAuA0BAQXU2KKH6H0JdG87K3QCHWs AAEzWyAAHFW5
GZV7DMfgE9XFWxW1W4HFW9W/DJXDXGF7XbXTXfXhXjTlV+zoBgT2Qe4IUCnw lygkm3PM0e+2
LpFWKWBCA7AMAGAMquKPWcIfWhWlG83ZWsCHXIEyAAGbYuAACvY1Xk+CDtY9 YtYxWzYrYuGb
YzY3Y49/Y8DtZBZLXaF7ZRZhZjZlSpXoABXsT4IIJirqK0BEUAO4MSN1X6nz DiAAG+HBXO7Z
YC/XYJYMcjYTWbSihhYcydWo3JYlYpZZZMCvZm93ZVazZFazY1a3a49za9ZI ABZdbJbVbXbZ
OzZrZuQfRW5Mvom0vpRY+2Iy/ax2IzYG1VabYRYUKNYYIXanWnYjWvbBbPbF ba9rbNZDW1cV
ZPcY3RcdZbXdcncxczc1HtbfXuIIfg+yM6vafigsNZF6uGvChW0cMMbjb5FZ YLYPafU1aiQV
cLYhWrcRchYxcWiwNYG8GicSHmAaBSAABeBFCtc2KPcraxcjbGh7d9eAdLeH eLePeSQVeXbT
ete1e3e495c6T5KqJcHWksI2bo2eZW9lHUSYl1b0NWNYJKggNYTjaZdjcCKL cGIRdtaq3Bav
cTd3ckQgHoG/UQEsEOEMAAEMFUGGIWkMB6CWW0DeEQD8Y0A6daRSJcEwAgKu DwEDVsHgDek5
DMUMG0GYGIAAGKGKLwFcFUsiEIFyEheLftZTY/bPf9ZLd4QjgFgJgNgRgVgY ABgdghglgpgs
RNgxg0ABg5g9hBXUAAGsFiEqAAEKEUD+AAFqGqIQDAEQFOAAEADQCSABeQ99 excve7jNjPjQ
w9ZqBGBEJ84uVSOwnfC7HaohdS8uPVQsZpfK5g5iNsbsJYM7dhadhkIXfwIL f1cPYnhta0Qe
HYGOEwAABICSDwIGB6AAEqFliqBiAeLoHCG0lcFeEhkoBkEtU+DQBfjERGJc E8CYKuFcCYVm
FplPDOHoGYAAB2A4CIABiwIICWAAGCHIFLhjDHeXkXhwQZkdkhklkoIFktkx k1k4Jnk+ABlD
lHlLVvlQRXlXlaABlfljlnDGMoEwCbWYHECli4C4B2K2HYGWFAAACcDWEtiB g6AAFniZjHhp
YxezjTn5n7n8pZZqK6KFKqM6AW9eyLoMd8Ugrjjq9mt2L4clKhPETCmAKeHc 8PkFcBahTAKN
kRdxkVd1hvgAKOJsEEAgT4EdiAAAFYGuFeY0AzAeRGH5L2NYPUUfpiIfm3ld lgABlkmUR5pm
JcNYK+yOIRL2UNHXiKQhpmUMH4t4ARpwQ+NYHxqcIEG8E+AAAwBsFdl+HIFn mHDFmLpDkYQZ
pLpOABpTktpZpcCJpgRTqYMOP+2dqgKPp1m7p5p8R7qDrjqJqUIFqO2drmQ7 rhqdHXqiReUM
E+C27EDiHkEQ1KFmDRjC97jJZfn/svswIAAIFA4JBYNB4RCYVC4ZDYdD4hEY lE4pFYtF4xGY
1DGm12+AAEAQCAAMBQMAASCgQAAOCJWBwNJwIBQIAAIA5qBJuAAHPZAAgFP6 C/qIAHlRwA33
A4QAHQyEp4BgZDXI53a/4Y/X09AAD69G7BYbCQ7IAEzZwAzbUACvbYa9Gsnw AHB0cQAS0ewQ
ApTCL408GsAEidjKAD+qmrBRWVkCAE2ijeABUEIJXE8TA4AFcTL0tDRfoFXF WcCOAGKO7kkC
qJoK2liegAYVqMQAuU0VQBU9EcCzphfkSC60iAC+hmHAxWAFCyliABK0UcAB 0ZUtBTUm70hi
roABu96xd+ACO8rkWT+teQAEQslQADQPg7YbhcrorgAwXIswAL6nYv8/8AIG O0BrStazkzAp
mrYtyGPmua6ruvK9r6v7AsGwrDsSgjFsax7IsmyoAMuzLNs6z6Bt20rTtS1b Wte2LZtq27cu
6ADRu+8LguG4rjoE5Llua57oum6qCOu7LtxRGzeN8yLxvK870vW9r3vjAJ8L 2LYMAANZ5EQA
BwFmNAAMpAMzTOiMBjtBIAF7N00ThOM5TnOk6ztO88TzPU9z5Ps/T/QFA0FQ dCULQ1Do6j4C
0WkiSpYA4DgAlyV0WAqbJwmwCKCnCcp8oCg0+gqiH9MClgABwFpqAapKoqys IWrSuK8B9Dz8
sghrMtC1QUtorreuMHrsR5jHI2IVP6ipxgAQQIBaABHBWNQAFkT42ucABtgA SYwicABLGqOQ
AGmdg/KaAjLMwzTOAAzzuK4T4msyTglr0YsToIuImuleYAHJe0aK4UotsyNb 0IEK0vl4NYVM
0NVu2+ggwAAU5eC4AB0FIIgADiUArAAYx0E0yQEYDgcuYMAAe3CWRCCKABnk qJLDFU2BrnhN
YMo3Bz6vu/L92RWugoFNU2QPNle1++kIWHYow2Oi9lWZZ1oWlalrBLbFtW5b 1wXFclzXREl1
3bJV4XlejTXugd832Jd+3+3Us4JlGEABhWGFdh2uYjieK4vjON47j+Q5Hku5 oHlVp5bl+Y5n
mubgBnKxHwbRVgADAbMKvC9L47mhUJoldzbN/P9L03T9R1PVdX1nW9d1/Ydj 2XZ6FRNH0ikt
LANSFJJhTNLJmAdL1Unab+FUNQoIf/lgAdp2ncgR+nsqOgISqqrqyrauq/2j /VvXMEdFpEG2
Aui7ErYgAC3p6KHoaL6B+uxEPw9z+IKfFgAxCH5nB+qaojXUiZdwAGzGabQm JzwAG2A6E4FJ
t4YWAQEXixsEYoWLiQCepJtYnwtnSDiB8AAyh0CGAACYlYAH8CYcuDo9AvGf A0AYu9kywgAD
cL4AAChAxtClDMAAGwaxzt2he9UirOwdH2Pwfp+z3U8uhQMrotb4yFxGfO+l 9cRCHvufg/J+
hn3qv4Lk/qLj/TPv/XSiVdjal3wTFdAdtRAoFwNgfBGAocYKwXgzCeBUHIPQ ghFCSExAoUwr
hbEOGRmYaQ2ghDkgUO4ew/iDC4/UMEKnNCWDoL4ABqhgE2mA1SZImJ2icgpN wvZQynlRKmVU
q5WStldK+WEsZZKBGoNh/oCHeAEUcTAk5MSTqVAATRVQA1Nk6Uu8eYhIAAlB IQOwdg7XovTV
XFggz11XkKVi9tWksyHvfaM+JBkU33lzfiAAQIvH+hvBomUiZcBSoPOqKwa5 egiAZJqQQfg4
xbw4Bab1/j/kRRnbHGqCSJI3QJLjB2BjGl/QQbjAUVwUhjAAFm04gscYHUNR oaF8sR2exKhj
QUzVEqKUWXxHxCDPZ3xLIxEaJDPqWTcLDKN8DR5wkKi1OQu0550zriKNad5d J4zzABPWe5A5
8z7ApP09QwYyAvjM2KATZY2UHovSgTlDBi0ORrRCklFWGUnX1AyjNW6Nndo7 S+kEa0SVfpNB
uhRdqVM/IsN8W4igAAxCzCQMAj59iIDCDmDVMj/U0lLYSxFibFWLsZY2x1j7 IWRdSNUbJTJc
KRmASZSwByTE2UcTp4RN1OvCJxMh45IiEzOmgAB6T1FWvYVg9pWdkiBTeigr ym5CR+DnF4AA
H4KQqSaLwmCG87CIPuhUBwH4eAALDHQsaPUgn8v7qdQCAEaGyGhpFRGidYCB pYFuHpLYWRpi
PX7RWOlVS9QIqvWOOVGlkUuo+z+tkBr1xvj3XEgR+KVzUIk5SMINokDoiVdG 2hDqaTfijbkh
Fu7e2/uCNW4Y4LiztGjcm5dzWQXQfvdOMd1qBVTu1V67tb7wXiABeS8x+auX 1jbfehC8F91l
q5RxpVar6XbqtSe/Vc6YkOHhOMEE5Q5CnGmAAPwSUrYHItYZ0mTMoZRyllPK mVcrZXywnCyl
liXKZJqTF3RMZgkzJsTSY5PCdk9tIUAoVqZnzRtcQyaz2VZPcslbZ8OC1fEQ GYJiDoRA8MGC
WbAW4fwugABSBZSw7xzP9GAKRkRbK8BhBWO8AAegKG0EtoM+4jIegfH4UwTQ agfgAOMtKP8J
WSUBqlGmAcdQMpfGCHkHwABqCbMKGtiCEV+w3ofeqil+KMRzvjWm+Z/MXY7r hB4gULp3yUna
AAcY3x1gAHcNIUdvgvjLOUMERoAAXAJASAACoJj43+yZgm26C89kPz7n/QJA tOaF0PonRejQ
AaP0iFfSeldL6ZW9pwYOngAag1FqTUww9UQj1U2GAOrqqSI1iffWmttcJc13 cMcmvqu7AvZW
LGexEUbGiTjmiGyo4Uorls4AG0CGj8I/pjTRAxECsn2wweoAB9EDAMBAEZ0g aAhJtljJ0pss
9H6R0npXS+mdN6c6vLaksuk6JqTBSxJpfqMtBl4mwArSE7eRmyZub7WTSVZn JV2dJtYHzxTb
dpEB+AAGiLE6IajiyaIax4Vg0xJVFA6SsfA5xjgADwFRmQoENGKWkLcVi5Qc gZj1w67F+K7V
4r1CQgoYEviVA0egNYw6M3o1/QbGFV6FCuoZ6LkbSre385Nx6/EjofBrv24Q F+BiHD0GYABe
LGkekLB7EKSe6Labqzzbjt5D+49z7r3fxJCu9d8794DwXhPDAA8QQdaIAPGe O8gkq69A4E+V
rzXsg3mgAec896C8+Lcdelx4dL1H7azxG9bxv1/pNgwJ9lD/2pkT24h4fAaI AAMwDDUoVQiA
HpL4/JMb4j4pAh0Sw7p8CkCsC0C8DEDMDTpzqJSbrjqyYLMSYDrbqjrrr547 Nh5Ig61TOCaa
16a4hKbK2a2jtqcD5Iiofgrgc4dbSwgQmoAoBICKHACD3C3Q7oeArjuImoCA CEB8HAfArgeh
LBMkJsDbLL4ztwjUHIAEHcHrocIEIQCkIj5UI8JLocJkJwigfkKA7sKcNEKz okCItcCcOEOs
O0O8PEPMPUPZPsDrqbMwkqXpRgkwnKYy0TNC0InyYh4SZYkbsa1a1sFztC2C bC2TOyyMGrPU
PkTZ2MLEG0TkUB1rosUMUkUsU0U8VEVLKkPxSjMkQhRrrJ4EQxTQnhTERcRC ZUR0FbskSLs4
hbOa2LOqbbO4srBT5EVUZBQUT0TUZMZpPsUcZ0aMaUacakasaxOcVjMqzcQZ R0EZ4sW0RUb8
Ri1ER8FsXwhUYESsYTtkYrdaKUa8eCwsORBUYzdkeMe4sUaEfEfcfkfsf0f8 O8bKzJRkEAnR
4AAsRJ4kRMFBUDsUXcSDs0J0dMGMS0YcTEdpBAZMjTuQaMAkgEj4hoEUkRGw VZyxo0jQZMjk
j0kElghEkQEUkhy0Oklsmkmsm0m8nCU8gTMyYCXyYLrRTAnSYq0bNsFQg0Fj srOMX7tMYIAA
WEp4AAUUqTA4FUqqBQawwMnMrQ/YF4vwE0r8mMrcrUrovwR0s0sUtEtMtUtc thALqIBLqbMg
mMH8EUQzM0Q7rbNUosh0o8XkiMF7tUGayRogRUwstsm4SExIAAOExkw8m0xI SExcxsx0ykys
y0y8rUbImcbbq8brrUb6YcE7M4kUXUvsiEpUdEpkdTtcGgssmczEfsJgygeE 2k2EgE2QAE2g
eE203k3s3038VEnbq8giz7Mh4J4cXB40vaZkh8c0iU1Uikdc1pXE184Ea03E 3U60e87E2s7U
70788E8LLMncH5Rkn0EcoMWhTjM7sM5k0050wEpswUi86jJ6UIriu4PgAAV4 cwgYex6Ygoer
nIDgKwP7JAJ4DT7gQJcIZQGAOgwwJ4DxuwRS5gT4bgqAOwRRcoF64xEIWIRR cIWoA5jwSQN4
HAAAX4RU/U/k/1AAglAQudAtA9BM/M/c/ogU/4goBQCgEg/YG9E4JAI7Wr78 ac7k3aVE/FFV
G1Fog1GFAlAwP1BFBVBlB1CFCQXlCiAlC4AFDNDdDpJVD9ENEYAFEtE9FNFd G4AFHNANAdGV
KNGlJVFlHFFwgVHdHoF9H4AFINIcIsZFI08VQFQNQVQawkt8uLMMuiX8uxTs Qq0hT0FMvggs
pEXs58Sk6M1kYk+royU6+oOIBxaQR4IhrAfNUggYfIAACYF6BwKoHMIQTwHR eQLwvQYxE7II
uTIYuwFYOQVg0wPxjQggdgYSvAEgJyEh9BYp9YgSOtT65tUQAFUlU4gVU9VN VdVqkVT1UFZw
fIeTaobA5j7AWrxJjydBkSn0ZtP9JFa9ZlUNUdUtaVVFVQAFVlV1WAAATlWR j9WrISctXVXg
YtX1SVYQAFYlYyKysNZdbNdtaNZ9eFasIVhFZtUdbgAFbw5oUFcIgdcYcFct L8VFdFQlkFkN
kVkZ1kzUgkbk4cWUhMWs0U5U0jN008SUpdSwhEGUS6yB786p2jFytysIt7Vj h67IADuIXgPT
UoKhiATYZ4dleQEIb0xYCAGwAAZYPQWQ0wOzWrEaNlnqLK7drghB96Hp+MBN ftXtX9P0Jk3M
7tTlrzEtnxBtoDyY7lolowAFpAxNpVpgKtp1qFqVqlqwYtrDiKkdt1rrEikt t4gtsK3wONsl
Xds1c9tM7Nklylyty1y5Pc4Un6zc4sg9la0s9lSE91SUv01B606FmsisdlTS VLZK7oNFxKnF
uL8QgweD3YLYEBjQWoxgxwFYZQAAMoP4CpwcyIFS6N1zYN2IhLZL+AhKIISI HYFIwwapjxkB
kV40VVj8+7HV195QhDyV2ggt2x9V3IAF3ZDt314F4V4hkZELk97twz2CBIg1 596N6d6pwl7E
VN7VzF/t/1/+AAis8lzcWGAkvE9UQ1R8ht0dYF0tmU1Nmgg9m0i1nE10+yJi +oTgGqCwUgMI
FwAAfYe4fYgQAoqAEQEKHImt8DEQg4b5F4GIL5IogYQIW4bgAAN4HKRggtTo Ea8wW4K4FGEA
feEYAABRLYHQGg1mFT97/YhqhLZiITZ8NMPN/h7uDODYAGDuD+EOImEoAGE+ FJGr8OFgg2Fw
2GGGGQgWGmG2HGHV9yCaO2H2IGIWImIzoGJTjr/Tj4heJ6lLljl0U+KuAOQe QmQt/9Qwlcgx
RtRLMYnMu89NR0hjNscspOB90+CIg2Cd1Z0dTapArgbQaoboAAe4h4BICSED cxMsLeUGUWUg
h2U2VADtjtuBgRw4hUBZMBMSUGFbiC1K3oCAEi4IgT4IWQbg/QH2NxEOWpk4 5IHoHoqAgR6A
dwDJaQ2yDr0a+2JohgZgSJfQIgP4BzH2KeVeUOUeUuU6EuWQgWcmVuc+WOWZ 2GKudmc2V+dG
VOdeT+cuVwhuWGdOeF2WZZgr4BL5MJMYymXloUFeX+YJxBaeYwAGZF75uWZh lOZ4geaWahGW
a+PObOPYhWbmb2cGcT5WfOdueud+fAAGVmemfme2dSUOQWQ2mWmemlQFk0zk ENlJTNz8cMhY
AFl+SlSghogIgDkc7tf4Ag0HhEGfr6egAB8PhMRiUTikVi0XjEZjUHIcdAC9 kERfDWABwDA6
ACgFYrAEsiTVastR7BACaMIvg0jksnlMrlsTmEymk2nEbg0NT5NDgAVxLmiz NFFjENTxMpau
Jk0WlRiUNUpmpZrVUSKyVADkTRbAAMhNIpVMKTGACzMIqjVuq9Oudci7MTFq Ih4eQAXjkWYA
GlsjM6k0olUsl0RoIrmc1m85kmNnuQoExylDy9G0Wj0kVCGnADw1UizM8x8/ l+eytEzE7x0+
yMJyez0NGvFMvVQqUXqlWplZAFb4cHr1gAFislmtFqxXMAFJq9xud1u/Xt9N p98i1+wGCwmG
xHVi+M124ztCy1F9m3zmx+G00v5/Wi04Q1LVv3AMBQHAkCwNA8EQTBUFwZBs HQfCEIwlCcKQ
rC0LwxDMNQ3DkOw8jRqmycIAAREoAALFETxSA4DAKAACAJF0YgHF4BgIAEbR oAgBxoAUfABH
wBIodh2HahR7RwAz1IogSCIuhaGoeB8PyogyOiGj6QyrArfvAvbloq4qruQ5 SEm0VY4AAGwy
lAABTmudAABGXw3TU6A1FCZ4AEMJ4Qus7DgLkqC7IzLol0ENFCImdhjgALYS CSABaiW6RSup
LdMQs/r/nhTMB0M8MwIpMTjq08SDTPNM1zbN84znOobTvPM9z7P7v0OvdFOI 7y80RXSI0ZR1
IUlSiz0stdPWTCFNtVTtlWfaFo2ladqWra1r2xbNtW3blu28o0QxHEoERVG8 URcA10xVGUbR
eAkhRtG8dx7H8gyHIsjyTJaJyagqLSghyIW/BEryyXuBojUEvu6qsx1MnB+H GW4AAoFosgAK
xNmUmoqhMg5zgASImhSAA/mGHoAFka5XgAHwMnxXgADiFpNgAYwuJYfedIiA oJJaFQIgAUa3
5nmpg5xE4AH2AB2GqYAADyMo/gAmIl5Sa5Q5aDMb4RhFmQBrqj5jLzhYY4ys YeAGI4niuL4z
jZNY7j+Q5HkuT6vlmXZhQGi5tpGdaWhOe5/oOhqXvujpZF2l6bp+o6nqur6z l2ubDb2v2dy3
Nc3znO89z/QdD0XR9J0sIXCAAExNGF0ANc11ALGEX9jGt5R3HEeSBesf0XfA AH7JAByUjF+y
ehmAyn0yM4KkGD81hWy0KAGG1K5I0A+ABMCaEAADwByzHBY7/IjtYAB/i2qY yAB0E1SJWi2s
Jao0FZEAAcBii5SX4Of+SMDAIFrIcwzhPAAB1cjylquYc29BU5FlSNoes9h7 T3HvPgfERJ8r
52LjVfU+x9z+w1v9Iw/R+z+H9PxIy/+AMA4CwHgQtOBUL4ZQzhpDWG0N4cQ5 h1DtLbqFxuzR
cAdFIBUWrrXcjpdqPEaI5RqjQAMT17pGd+8F4ZF3ir/eOlKHgAHmJai3F+MC GYYxhjJGVZZq
FmxmjVGuNkbY3RvjhHGMsPkTLniMixGSMXZxIRvExebukhL2d7FJ4C+niEDX 8RVgEWoeRded
HKSEkSERjklJWOMlJLSZk1JuTknZPSfkhHRciKFzIpXSAaIyO3bLwdlH9e0g iJJEkJFRfZEo
ryKiywKHcjpQS9h1JiX0wYXzAmFMWY0x5kTJmVMtA7qHVLkdYABdLr5UOxXk 7SVUR3cL0kC7
yWLvpCvClqRGW5FJFy6h1LyZk63LTEnZO9bU7p4TznpPWe0958OllFEAAEQk XREn+ilGEfJt
o4dvH+J4AYor5nFIdJ0WEozohzOqfNFVkzyotRlDdGKNUdo9R+kFIaRGin3H aO0eF3IyALQS
PzuZXzeWBOCWlDpEzmly8mXZHnm0jp4hKjlPagIDp/UGolRajVHqRG6krtI7 SnlSu1GErF5U
ud2kKQdDIqkWnKRNgAsKvAAFFWGLYIqyAAFXWepNaT8h4rYAARFb61VxNFGm uVda7V3rxXlb
UznVx6mmid2ErZsVQdvEqQFh6rxTkNFaRDxiGj0sgAAe9k4ci8ssAANFma9W bIMMezwAAc2h
s5ZuzyjbQg5tHam1Vq7WWtPzPtGMQYhxFjtQN2tBaWxOihYmcNWSK1bIkwAd dwwADiuMAC4Y
64Xj8uY9MTwngADMula6uQ8brPIupXG6w8bsXZu9d+8F4akDGGUNJEkdYhor iLNFGdt7c2Hl
hTGWdi6tWNohci4gzb9AACvf2F4dsAAAv0M26N07xVFu3d3A9QcEyMwXg/CG EcJTHvJeaH8p
IjVOtrYSqUTb4UwITLKrE4yE3AIjcK/N+7+hXv/gHAeBRmYTpHg2iWMqO40p xjbHWO8eY9h5
hV1NfXWzURPYKqbtol1Um7Vab986G2MofLghtycBYqv9AjAAdsq4EuljEjY3 RZCDAACQJ4fi
KBmESLEAAhA7BOAABU0pDRZB6DSAAZAMg9p7CoCjHzoMcZ9ozn/QGg9CaF0M t7IEP7Yz9tnQ
GPNLHc3voTQuxWT765RptlPFOBMVlGG+LcRQAA+CvHNm8BRE9TkGHYAAEIRw 8gADeElPyHMs
5bxgUYbArBJAAF0AAGIAAjAxzgOAXgmQABJDQJAAATxP3mFgGAFpoyGiYBcA 0AAlgx4EGkG8
GRBx+AAGcKwToABsAXCQAALQPXsaHWnoLdk893bv3lvPem9UJaJvRo6ft649 Xtmze+l+TL5Y
jppY6/FysX6dI2NoWOoRAiqG5m8Cup0kEGAUOsZZKRakxB6IhUKHda4vy6gd EYcQAvcHYKUa
7QgtZ8NFtMIO1hUhQwIL/bhB2YCZBeAmzG2QAD/Ddt0jY+B8DzIMATawCHKm jH50VtQAOkwu
IR0QADMFyImx9vHe0yetdb691/sHYSK74lHUyUzsKBYcoNVObliMm8EyhTWr jx8qcJyugcc4
vBBAABSFTjIvBwGHBo+PWmLr98jQKPgZwAAoAJBn1DlXLOXG+ezzEAHM+a83 GmKALoAAXBhF
IRQOHkRH8tIMO/xYegp+PEOL8iIkRhDgAAG7dRB+jCmhYMEGWWgijq1CFUP3 riDAurMNcXgA
ATjOEN54LeyiEejwJ6XoWMuukSHmNgUwAAeApLUEsUt5hDBa2iQgcww9dgbB 8L4j45RWAABq
PIsf2/u/fT3+IhP5fz/p/X+39/8fuAAPvPwP7PyPzAAP0P1Bev2P3P4PtP/w Av6vxiDv8QDP
9QEv+QGP5QAP6PwwIiDQJwDv9wFv/P5wBQOgAQPwKwFP+wGwSQIP7wCwQQLA AAhANOlpkPqu
xQcwdQdtDsgJnqUppHXLAJqsjLbrbLDOAtKLesSCEMTCEsUOEMrMWEuMYilA iE5FZhIFakqO
QvDsDCjNvhsBhvjhqBxhtAABSAtg3gABYguBPgAByhPgwAAQajSOYOZOaAAO bNuh5hwhhgAA
6AQAfM7A4Q3hNAumSAHgMC7AUANB3AAA9OTgABDgzBMAABuBCApQThXA+GWg 0BkCPh1MCAhA
Kh7iUgoAHAAAws1CDAuBIs7A4gWAABUAwksBILzCDgzQ2BkAxAABzhPAcLMB NH8hpB7hRgAA
WupMHwcIMAABfBBgjIuPgnshmjBgzgQhoAAAXgJRBgQhMMCBYAzvptvxnxog hxpxvxrRsRtR
uNWRvgARwxxxnRoRpPXR0gARrxsxtxux3x4tvR5xzR0Rqx8R1x9x3RwRxR/x yx6xqR1R9R2x
vSER5SFxzx7SBx8x2R+SJSFR6SKyGyCSHyNR4SEp3xmQeSTyUSUsHhhhjk9N FEVqBJsHZEfK
FABgBO2kYlzHZLDNJtJsREaB8r6Lfr7MpODtbOFEBhhBBD/AnBHBAxLh4Q1g KFMQusuQvuhg
ABcBJO9hXhqhxiahNPQgAAgtXhhBPtXt1NrOXvKw8PMvpmYBQAhOeBRAoLzE 6QTB5hptjAHA
XA0GoBVsCAzgagJm1B2uMgSAZgqgABEhkRHg7AbkbhMghRUg0AShVrJBMgqE SCDy9AoPPA0E
/Brh7hHgAAUIDh8BptdgEgXBYM7B5P1Aby1MIyTCKB3gABMgumfA0BSPiAgg ALzBfgnxLB3R
wgAGgiJzbTcTdTeSxzfw9ThAATiAzzjTazbzcrMTmTfTgToTpTqTkTrTlzez nTgzhzizjiJT
kzrzdzxTtzyzpzziIz0zwzmz2zozzTqzlTsT2Tnz3TvJ4TaSVUA0BUBrNuyJ UnZB4B3kjEiz
bB5Lrh7uqQfgIAJGggNAMALoCgOgOwgpULDB2h2xHtKrfEmSiNMyjO7Qpj9B 8EzgAAME1q3B
gvZCovCEtyqtbkCy8mZS+AABIAgxLTXzpzZHpBMPLPMQ9ObiDOjTJRU0jE6P p0kvNgAS+Awi
LPiPiTCA4hpM1NoCDUlvLgry7AzwTS9AhPPBLMWB5Bo0gvbS9UpAXBUsBTXg AAZUhRlrrsHD
Rhuk2gAgSUqCEBVhwCCgqN1iMU9AAU+U/CD1AVBVCCL1DVECE1FgAVBiNVH0 +1I1A1J1GiLV
LVEiDVJVKCM1O1MVGVK091L0/1M1Qp60AUCVXVX1YKg0DB/h/B/RfB0GQLmB +gAAPAOilgLA
LgLAAAFgFNTh3B3TbB0B0h0wThzGQDTxUgTgSmPAHAHxUrrDBgAh/RTNLSht MO5tNQotOO7j
SGQBIgdmSA/gQFKlLlk0bPEECtvhWAukXAqhyxXh3E6T/Uh0iw8w9vbTbzJt rgkRQBozHiEh
5hnS9gZy/BIyBug06iK0lWBUmugiE0yUzU0U1OoU2S90304v1U6MJ1WiItSh FAhANgAA7h2z
fAXBpPXBpAzBSgAB5BMgtWOCJ2TWUWVWWPPWXzf2ZWaWbWcCJWdWU2V2W2f2 Y2Z2a2b2IwJA
AWT2j2e2XWYWg2m2iWS2o2d2kWfWrWmWh2nwPWt2p2k2v2hWnCKWjWeWzWgW wW0t4CAPF4gA
HwUAQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+QSGRSOSSWTSeUSmVSu WS2XS+YTGZTO
aTWbMZlNIAAgDgcAORyuUAAoEgkACwWCoAA6mAB/08APx+P0APurAB9Vd31s ANxuN0AUWfC8
XC4APV6vYAAQAvoAAMDAyJORzu1/xF+vp6AB130AM3AAAr4ONONbnoAC0spY AJVlOgAFsTAi
bRU7Ze/4FmZuKPgAM5cMAAAUUjMACULg0AOVlqgAGUfGEAL8zKsAPdMlSdxa 9pgg6pUlBm7M
3jKEZ5TF2jFtSHAAMhyn4AC8LBGdgRwgBBgEQADpFwALFmoQAD0QgoAOltNM APYOjoADINPs
AJkhA4AcHhr43caEmm+wABcSwrgAeRojOADVIOecAKWFxUr+eRfPjBbKwvDE MoegSBoKB6KH
4ABfEG0whj8EK/nuWAABCZZFAACQfDuAAnkiZAAFgNwboREMRxLE8UxXFsXx jGcaxvHMdoPH
sSABE0UGbFUWRdGEZRpG0cR1HkRSbJ8gynIkrSPLMlKjLkfyhKUhyrI0sSTL cfSdIEoyFKki
yvJEtSXM85TTOswzbPMyw1QiZQ4giDULRVF0ZRtHUfSFI0lSdKUrS1L0xTNN UgnCdHuey1Hm
ei9hwG4aqWpqEqeu59n7EJ+H1EKrPofJ9Lcdx3HeABs14AASBHFCmPwBIDIO uC5Iiui7LwvS
+L8wDhsHAqLnYABIh2EgAD+arEGueA7AADNKMvcFoAAzZmIoeYAFA+4ADCX6 ICeRIAGuUdwB
RCzeAA3zgOE4j/IQdZkkyAALBwNCFEEZB3AAPobusAB3vYRQwrMO5YoeTBpH kAAzhag77Pw/
URP6hUAChARUiTAxfQTC0G4KBwXFvCUVhlfVN51SVDw8iR1mHF4LSsTBm4aM 4ZYihGCC6AGE
FJfmjAAKR6k3g2ialpGlIPpmnDRqGi4bqmraHGew49pKFa7p+o7Fqur7NrO0 oTtev7bqe37L
u+tbUTOm7Zs+x7hve56Xv2vbBqXBb1s++bpw/Ablred01ntE8pzHM81zfOc7 z3P9B0PRdH0k
NU6ABzHOc4ABEEAPgAFAUBOhx/n8u6p1kfdZVsAB8qufHgAAcPhqiqQAdd14 GgUAa3riua6r
uiC8r2vp1szaLCN4aLIg4H8DECXgAFmN4aUtcnr3OziLxCeauHme76NG1QNA rnKZHxdZ3nug
4Ggi1QBCIP4V0PcfkAH+v/dLAl0TlkPwKgdA+CBE4GQRgpBWC0F4MQZg1BuD kHYMunG4Nsbi
TghhBAABECIEAADdG6N4hQIgRIoKkVQfhVxuDehdDMAAEwJASYkVwbw34XAu KQQQBqxVjvPW
W9JZr1X0LSgu+dcy6IPRVispOCcV4tRbULFmLkX4wRhjFGOMkZYzRnJW6ca0 awABYCuFUAAA
o5QrhbC+GLxSqKzhXEEACrkQw9h88AzwyzOA2BqaYCIDjKRJWS9BZj1FnmBi hBaKRmn1Rokx
JkisXpNSdk8QuTkn5RSjlJKWU0p5USpIo6casrTIhaCwRJ2xd1XR5KvHpWxb h7j3M8PmXwAB
lDLGWACQ0iJFPNWQRBZT0SHvTWc9Zc0k4KyVOHFSVU14tyhmxNuDc2puTfnB OGcU45yTlJpK
yVwQQgPeJaL8YAwZiSHhPMeRkypHRMkg9YZM+wADRn9BeGAIgACroI+ldM5q EOjm9QmhjmaF
0NohRGiVE6KUViu6cag0hoE2BuDgHE85FvOkbEuZqzRT0noHQWDwL6WGNEqJ V3sv6LUzUgAO
mxawCQAl8PmmlPVG02eZTmnVMqfVFqNUepFSalEpGqNk7NGaNhSCgEsqI/S7 j4l/L4+g/auA
AHUOxXQCgFGUASAgyhPFigFrUQoXQuhdgAo7R+RNIZkkPmXI8ACoy9y7f3B4 XlfwAB3sFUuw
hM5BE7rNYWxRL7D1mMpYuyFkbJWTspOKjFGgABmDIF4qo/B/Htl4AB4FPIdD lHO9YBgDD0AL
KIUOsoACerFISKgVAqq4UepBMiJUzCHTOicOK4Ez4LlSRCJ641BrK3JI/Q+5 VzSJXMuddG6V
07qXVcxZejdmrOO6s+Pa0No48GrtOAC1Nq7WlEMpbEhVtLbVxtzPWu096Sz5 ie9maZmIpyXu
tfshF0L+XOv9f/AWA8CYFwMRu7FmbN2du7d+rF4bTWotUAC1hRsKgAAMAYAt 67a23rlPSkU9
qSW9ibJF7C077rlktQfA90sA4tsXi/GGM8aY1xtZPBN2sGWgM9eC0t47y4Uv Pa+9Vs8O3urn
bqkdvCG2+xMYK+0FJqXIJC0BgoZRGjqAAIgVAfXYWPIuXsWQeg0nPBkHsAAh gqAoxvB7GWba
jZvzhnPOmdc7Tfxzgu7mPLRYPx/hK8xRr0WwAPbIhF7MPXvxDfHEeTcSzQkl lEiw2hbiRXeF
kP4ABqkJBWFYxojMvBbByB1RWU5rEdHeMkAAUAJUfYyE8548kVg3fsRM3oLj VCWDGcMaRxUt
jOFYJ0AA2ALhIAAFoHrr87uezlsuiezdnbR2ltPakHc83bs9nzHxU7xaAyFo LImhcOXttxkm
+BDq7z4uFNHSRER8DaFKAADANg1gADkJtmoXQX4bFyJYN4AA8CgBWAAYw6BN AABVmBC+pr9E
YXWKAKB+AwsZIRrAZuskKkZN6b8/K/xf6+IOZ4TILyjBo12U5kxFXgLrLWao BEACND8fwmbl
3Cjj49N3YnapB9oc7nLz3n3QehdD6Ipfa+O7vY9z9tzCN5MJ4XwvhnDeRtyY frpbuvETt2Yo
ImNoVYZpiBlPQt4SC4UeDf3iBQGJrheDkFmAAGldTK8MxYRcbApkEgpC2NsA AvRriBAAJ8FO
mQ2ITrhrUiXG1/HD4+cYaYoGmguDC1AhocBSjXAAI8LWbGJDOAAHoKZphDrx IUJEYQ4AABu2
SQhdfeNYDBBkuAIo6kXhVD96RAVAxrvhBOM4QyAgt9lIT5Y4fmmA7OwCPPu4 AAed6AAEsUpO
hDBaZAQkcwwxJAAA2D5CgvRyisAADUeVtvmhb+f9HNP1CFfX+z9v7v3/w/j+ Z876H0v1fW+x
9r7nff4fi/I/o/Q+m+qIQ/Y/0/e/A/8/m/M/q/TAGIPAK/c/5AQ/k/K/O/tA cdQ/zAi+9Am/
/AXAC/vAJA0/3A4AACEA05gnM6A6LBZBbBdBeJi6Oz26Sz6tI6YyA6eyGvS3 E6o0S3M0W3Qv
kxIvo62IsHGF4MQBaCoMYE2GC9QCqBehUG+FiMQBiC+WqGUHY4OBNBS4Wvwx WIsH4HC/AAKB
AjgDgFuKEEeCQHbBMAC3+EO8M1o40X444ZI8aAAHmHCGGAADoBAB8OeDgE+A AE0C6BSIIAwK
UBQA0YaD0O4AAEODMEwK6EICkdQFcD4AAB8DQRuF6HUOGCEAqf24g4k4oAAC 40sGQDiBYAAF
QDCCGAAEgJ0IQ7AFiGQDEAAHOE8o+DQE0PAGkHuFGMS5szoxkSYCMTkXiaKY 6DOBCo2BeRiR
YaKRwaQTgEHGQRNGU4uY9GcOnGiBDGmFhGqT2RHGw9uajGZG7GhEBHAOHHEY DGPGTHRG5GfG
/HDHGTNHLHlGXHpG9HZHvHgS5HNG1HTHrH/HdHxHjGzHnGbINGlIQ+OoTBXB hIpIrItIuIvB
k2zBo22Ko6ayCwu0GyK0OyO3KxA7kIa3Svm3W0i64IodWEwCbEODxD4+eCsq oFqFUFqAAFCG
eHIRoBDJRC8xUmq4aIdDE8/DLEgDyZqH+EM2MKi88CEAKDoAAEYHuQoBlGI1 tDq8WYAOOXYC
EKMFECgJ0P5AwZiQeYSDyFWOGDOBqAmKiHamGBIBmjgESYYAADsBugAZEAAD QBKNsNwN0zAZ
QQEDQRQGuHuEey+5CGm+yASBcRWGRDk8Qza2gV0b8h8a+LMhMJ0F+CfEmHdH EhOIdMyC7M2F
JM6ABM/NCABNGQScmITNPNTNXNbNFNJNkIRNpL/NUABM8NnNdNhNKIbN5M5N /NZODNxNjNMP
rNRN7NtOVNfNzObM1OhORNvOnOYolInIxO9O/PBIpI0wa6VBtI9Bw0CtdB20 MIO0QyRJO6w3
U61JazCGs8+A4PgEsBWB6IOGrJqIQD0FCGM3sCeKVC7KGfQ1OIeHmGcReAcB mRmIPM6LMABD
aIOGlQwIUY3GYBbMsIW8U468Y5BDyPqXcZIP5IiQaFAQeNkIeLMLNLiDiGkY yDA+rL8FSCvL
MY+ZOQCQGQKQOZe9YQcZmQi4vKzQ8xtBWG7RWACBJRaIQFWHALuCo2UIlSWA BSbSeIPSjSnS
qIjSvSyIVS4ABSoIpTBSdTFSlTJS8IhTPS0oHTVTKInTdTTS7TNSZTQITTHT kopO7PDT/UBU
C2jPG206XPO286gta6k3HB9PgyW6yyemk3cAAFKC2AwAA3qpgHBUqAAAgHgG 0X4DsNkDwFU0
2EQGDJ+DQBfKEJm7oIkH4HeLAGEGeHMNG6mIOWKHeGeEoRoDeJ0EiFjMYCWB 7EABGAjQOIfR
BDvRGXXL8EsCQRuGjL2IVQYZkBmYSEjG2P7SQITWbRMX/RRR4CEQEQIQMQQQ VSEZkQgQlSO+
QIEUQgaItVqEUCEA2sCHahMBcGkXiGkDM3iHkEyC1XQIbXnXrXvXzX3NZX8Q NYDYGIZYLXsD
vXwQFYTX7X/YbMtYhYPYpX5YXYBYFYyABXpYjYnX1Y7YvZAIdY1YlYRZPYZZ TYJZFYNZZY5Y
VZRYcohT9UFZ3Z5Z6wPUJI5UM266dPTJFB5JI6q0VVYIVJVCHJYxOIm3eAAD g3mhWEfQGFmD
CKUIXPsC2AgPgHlVOfFVUQzVcJCH4GwYKNIQjGAQoBbK28TK7RDK+5CAAOSO WOaOeOiOmOqO
uOyO2O6O+PCPGPKPOPSPWPaPePiPnRKZHXA5SIQQBXHR9XNSCQZSHXXSM4y2 XGMT4S8ToTAT
YTwTJGsTQS+TWTuTGTfHIS6TmTUTsTETcT1HzdaT9dDdTdkTKSZdNdBdRdiU FdKT7dPdgUDd
JdZd5deUBdHdWobZ1Z9efeheiuVaAwdPNaHJBB00JPZFbJK6syUxEyYIYyc0 hahK4E+CaA4A
ADiGGDAAAFkGfEyBsAygAGyFy+yB+C+Ecy3CdL/CjbLC/KK7qI8HwGxRWASB SRW4uZvW4IbW
U49RGIOYGYKYOYSISYWYaYeYiYnZEYssDFMIZQ2Y9RtW+P3cgIPMMQgZYQnc tDzcwZrgVc2z
uwCaAaEawaOcKa4cgbscCbzhsbQcmbqcSbcbJh8cccMb/h2cVh6bjhviBh1i EbxiJiZh+b7i
RigcXiLhwABiCbvixiniNhziscJN0nDedeljPjRjSqNepPKwhPQ2/PVe1UZP e6vUfPlUi3ag
CHOGO4ACoZYFA02IcDUEqfCEEC2fLWQJtbMc85mf0f4f8LWgCfaNugKQVkhk TjUITjNkyg1k
3k5k/lBlCm3jZBrjdUQta6iw1jnJNjrfBUhfIyhJcfWAAHgHYesfgIOASAiX EAhbgQ1kXlEj
Rk9mCghmHmJmPmRmSjBlJI7evBy3BPXlXe83PJTCE0dCJPokpgAypmUjHmNm 6gXXeZ9nBnJn
LnMjNmZaFI/mfjjJHPbe7aVPjJXPnfKxTQTKNnOirm/nyc3n3n5n/oBoCUln TetnXaK3De3P
dlZe+0ZfCIXfHi2n4n8e2gsoCpSNtQVoEm7nEcvo1o2Q7o7o9pFpHpIUxoJl NaJjhlTVvnfa
TB/aWITabmuAApOFPouiqpYBepcpgp3pKgqqApwqGp5p8gjqAqEpjqHqJqVq XqYJkqaqeswx
1BnerpRexmhjlB7jpoZCC0bfEWar0Nul2iqr+fCsFQjqagesa51rQgdrVl9r ZrhrjrlIyJyA
AqgwU2xPJlKz/pTJDoRmlnjjtnmL8uAHEuEgsuIAAuME9m5rnnDpBXjscdDn 9slsrstnJpPr
5qtnbaPpbUblboblevrlkgfmBsuc5sptOJttTtVtbtdjRszBvlOwtUVlVqzo XmoIZplq9mxn
qylm3ozteZ3tZuEJfuJuLuRuTO9tjUPr7eznde5pdUdldjvlhUkgjtM3cG6F kAADeEANsKGP
QIUHsHSh2CeEQzSzWIwzEzIzMzQzU85uRuPuUJTvnvpvvvw6FuZmdoPmjtvm nCBmrq7oe0ft
HvWAAGEExEyCc4CIUB7kHEJkMXDkw7nuBnxQWGc+zQe2EDgDyqoKMIRrEAwC CDY9SCcBHwOE
w1wAA1015RGRC2A2E2I2M2RTZqbvtvyJHxxxzx5x6zpv3oNjhaNoTnhpfnla dnpliIsGZJiA
ACIDwYaEqFuasVOGeXeCS3qGqCsas4MjhreJluyIgQbw0C4J8HvXPy+I3gdR EYC5E5JL+5OH
/hMIk5WIOAI5dwpVe5mRC5qIYeCM8rPzSzrx3x8I70J0L0R0SwJyBjfUSKNU Xv/sCIgICIA5
HO7X+AINB4RBn6+noAHXDwAzYkACvFYTF4O+GsADMGB0AHOiGCAFmaBfCXOv EEABSVEcAFY1
3YACIGQJGJxOZ1O5wdp9EYmzKFPIS82mkgADi5Bnu0TcAARRKlF4amCCDQAq SgzQAvzeMgA0
1AXQALjCpJycFK1wAjy0KIM72cAD0UxmAEOv4ukWE4AAbh6H4O8wApjOTwAw RkdgARXUigAV
T9eoMLgAq2uvAAJ2chrKW0hCbVXLdYKnp9RqdVq9Zrddr9g8dkAAftaI82wp gAPBSWwAS1K0
gAhi0LYS5mHSA2Pl8AF65VYABq8lVu97v+Dw+Lx+SAOXzef0en1d5vuBwuJx oRyOVzOd0Ol1
Ot5uz6e57fB8PH8+x6O29buu+97xPk8r+u09SDvY7z3PC+LyOu88EPvBj8ui IQNJu2ENw5Ds
PNQ2R4to20PxLE0TxRFMVRXFkWxdF8YRjGUZxpGsbRvHEcx1HceR7H0fouYx lOEahpGgjgyC
8AB9n4fwAHse58AAfB8HyAB+H4foAHKc51gABgGAUAAFgUBIATKqIDgOAyEl QVDqhuHAcAAC
IHKiAYDAYoiBIIniFoah8vIkriKiuqR6GiAAmg4H7fmCvyTAghJ8G+VYAAwG IygAkRyAAk09
R0nzGUGAChGY1B5mcpAHBmN6yiCIIACEIMlC6LwpgAGQPqw1qqqurKtq6r4A HmcJhgAOgQB8
ABkDgT4AE0LoUtoDAVAAFANHcugAhAvAzEwABuEIKQAHMVw+AAHw0GQ5x1K4 IQKnuABQCgBw
ADCWKDi4SNmDiFgAFQMIhgASDhIOMwAFiZAxJAT05jQTSlmke5RgAFqoyBjO NRdEMRgeqZ+A
AXxBiMAAhsmABMGaeQADOEMjheCVlhDlQAFgM7TSvkWSZNlGVZZl2YZkAGaK 5m+c5DkeS5Ov
Wf5bl4AZjmea6Og+k55pmU5Xp+hano2catnel59reg6joei5tsCDavsem7Lq GpaJqm151pWe
7foG47Rumc43v8S462uP8BwvDcPxHE8VxfGcbx3H8hyPJcnyjUSFIkjSRJUm SdKEpSpK0sS1
LkvTBMUyTNNAATVNiETdOE5TpOwATxUCdz4gqdz+hyIVJQtD0TRdGgySplWg LYTISfhv3yCg
Yi+AAwE34xICr5NQp/UlTNQflioiax0AAep0rYT4+jCABSYMT5pW0MAWgi1V fKwrSuK9nMpF
AIUzFEKDhC+DcgkgxRhMlJBcGgAAeRVlcDODUCaVx2jLAACQGYVQACJGQtoO wNybiZCEvYNA
JVLD3EyFQqBBxpiZCgWUNAIQADXHuI9a7GB8FHAAAkFwsFmDyOaDdXjlYgI9 cEiQ1A7wACZC
6BJTwpDLKxOEL8J64B3M3ToTmI0SIlBoiYACJxXYogAimGeKpOIrxJiXE0AE T4vxhjGRiMsW
YtxdihFKKj8YyRHjNFqNEao6RijtG6PEcI9xej7G0i8b4zxcjTISMEdYguSi G4SR8k5KSVkt
JeTEmZNSbk5J2Tzh3LgASKkcMySUlpNSelFKaVUrpZS2l1L6YUxplTOAlNKa 02pvAAnFOadU
7p5T2QN3JOndqBKAoQixUkpC3D0BgAAWRLArLaKwS0uwIF+EKER6AtSDhgEq MZggW1rPYVGU
EoaHxwrbW6IcLgpQAMUC1Cc0781gP2WHAOI8H56siDc35YhYoDPoJ0ZYy0Dw 4jSXy+8g0Hl7
CpCu/8M8AiwweLKJZQw8hoxih/ASAwqSIw8VzD+T9IzWyRNaN0UAAAAgkoEQ cVY4CChUMEVK
lFKqWEJpfTGmZRKa0rpaQanIAKZFTp7TchFQah00pTT6nFMKhU7J5UWn5l6n VJp5Uuo1Lqq1
QpIxqk1XawVhrFWOslZazVnrRWlysoZRualO52VToJWujlg6aWaZnUAAAMAY AsuXYS9dm7WY
KfXdEMd4oIibvzUjwAAMIT5SBFicJeO4CQagAB2DUCUAAigshxAAF0YKnVPo 7VFMdUs50PGE
oYp4AC/B3QAkMUSej9VhM5tVPoSwSF2DRg2UUZ0BVWQIEi1uftIid23oasGA E/oUhCorRejI
AKNwpo7R85oMrjVqrHV81A5rNhCA2AAO47VYguGkXoaQZp3DyEzPG7KCrv3h vHeW88ab1AAv
Ze4nN3hFXgvFeQst9b03rvbdK/d8b/30vRfe/OBicX8v9fPAOC8CX6wfgjCV 5sKX4wLe8g2E
L5YAw1fbCuDrtI0u5ifFWK8WYtxdi/GGMcZI/rY5mUrm5UOelW6GVzpJYunl o6p1lfpduxl8
7SYBPHcJ+sNMZ30yUSjnmYSwLJIxZDcGKukCiPLSvatQVJYo2AADqAKBc7wE ibjgGAJclgSQ
7gAii1+fyh2Uq/to/cjJhQupmC2KQOCzByh+aiBZ+ICACTpEGtwAGgilixGa IQAAPQQpiHSN
oaaTwOkfBkBofc+bklcuWQm5tz78XRuncAF1HmV3Xw9jOS+KSdtXLuyeFwzR 7w6BCMsyDMs3
hPEiuwWAbgbthZHrMP2tdbtE10ADXmcNfs22FsQQextka42Xs3X2wNotsZ3t QiOydc67B9r3
Z+wdh7c2Kz3auytxbk21udu2091bf2tu3Z279pbe1tvXZm4977Q3hq5wJs3B 8C4NwfhHCeFc
L4Zw1x2NZSSmc5Klz8rHRSvdLLKvOQpcOul1Lx2Uv3bE6yXYVQDvbE5QKkPA b5Gx1AEAsAAD
QFU9DvGoK1iwRA1gABWIEW4ABihvByj/Ls5lTmnVUSdVrBiMBPEEpYTYfYTA VNZbNYOeCEDr
GTAUCwOIEEIEFBkAAfQbx2HfpcRQYTLB3XyTkTA0mgHqtXbTUJCIUwr1SEm/ AvqNGDuoA4F3
P2Vw6uxw6SmsCcDrGGZAC2/mVLaZxH8g3WyydeLR48AAUh6ibAB43N/mPIkJ 8oADyzWltea8
5570zLQZeSAB6P0vmPUed8cM3yHrfRRI9JFr1fs/Veg9wQj2HvPZeb9p5/23 rPXfD8v8n33t
fb/L917H5PofDGp8R9f7X2/ufd+99/8F2uIVu4njquXF8fV243LZ1fHSDuvy LYDkVg5hk5mL
yiZChjTjREwE0AAH4PBY4nAKwQI6ISQN4IieToh7Low1IfhKQd4d5bQe7TqG 4BrmICIBpDRG
wfAwgd5eS6UDIAEDYnEDqIwe4fgm4BsEUEj8LgT7MF0GKkcGEGUGsG0G8HEH MHUHY1j8bG6t
7ijHaubjDH6u8Iyvavrjyv7kLJDkYnLkqYjJr/AijlRkAAAegeCxgecCgAAA oBJ+ICgCBjBw
Doorh7cHkNCR8GkNMNhxkNcNsOEOMOUOcOkOqS8HziTHKuLizHqurjTIL9jI cJT+MJiwTJSY
TJjk6xD/KsMMq07o8O0SKrzgiIkSUSyIUSiSUS8TcTkTsT0T8UA1MPDHCuDi rHiujjLIB1MQ
L9wgz+DkDI8Qx28RDkyw60yxSrsR0M8UMXhFkN8XsYA2MTMYMYkYsY0Y8ZDh cUcID80PkVEI
r9aW51r97j7IywLJMWawkKMRT14ZIZIAAaMcKsIEUcgy4VZS0XcZMdREEYcd cdwqcX8d8eUe
cekesexIEZb8sPcU8Ij9SWivMJDIkWEa8JwnEKD+ywwU8hUcxSytAF8h4AAS siQAAfMise8e
gAcjMEYAgm8ipK0i8eUjIAcjcjsi0kEk8lElMlUlY1AaobKdKtsH8fUU0Ib9 MP8VcaUgUaz+
cQ8bUhAhoekoKd4e8ECs4Xko68QO7N8lkdZKhKQBEqEpkppKgqEqMqUq8rEr MrUY8fMPUmj9
EP0VSWsnMQcgcnkbL+onD+5LwcUtsWysBLBkIT0ucR8rcYseMu0S0vEvMvkv sv0v77UrsUsI
UsEVMIzjkacV0ar+UJr+kRMWzJ7/UXMBkMzL8wETkvcy8OEzMzUzsz0z80Cr swUIL88Pswyv
MgCvknUxkWTkkWkbcyDlMySkkXUy00MOkzk28HE3M3U3s30384Bv80cZsfkm 0sUxE1cQsbE1
0n0tUKURcKk2akc2sSA1IdYZw6IOQMKCx9Qi4IIPJfIWwQwJ0BTOgWQPQNJZ gGQPY4YKguE4
KSc3k+D78+U+c+0+8/E/I2E4cfcmssMw8VkxJgExc5UgojEg850bkyI1RKQb QZgYjoAYqcAV
wVRbQQgXI0IF9AwjAawWIyAHQL4zwhAJYOQUMiIPwxBSRDc6hVCgDwCgRb6N IO0BIfYcIZ4A
AWoZhNgOAO08jVonAqoFwrASwMYrgaSe5nU7AToAAbAC4JAAALQwM/Rv8+tK bhtKtK1LNLVL
c+E/kr800aEQEskakJcWM5cJ818n82MRg1AehU4HYDkBIaohIJYxIcid1DQn QcYlRiwlwAAN
QTYzQMAEIbIAAGznQgwOQ6IdgP0BMFo1NFiZTPTPgUglYcof4PrmRE7qyex/ CI4F5MwNFIoA
Af6fo1BKgwkEYrDQw1sB4whkNVcMYhEqkp8qs29LFLjg1XFXNXlXtX0rdL0w lMEfyvCWkgMs
sncxsnstIjEtcW8KoqRkIfEFIgwbxZ4DAGwV1OwWZqNDYmYTAHYEgAAPAH4U 4AAdgQzvUDYc
YW4lYFoLKCQW4cFbgHNFQ1dSIniGoAAKCHC6QUobgAAUYLQEaVpkMjlR7qrO p+jq5YYsQsgs
wtAnAtQtgt094uQuguwvAyghAvgvwwCnYwgwwxAxQxgxwyAyVjYywzAzQzgz wFw0A0QUo0gL
TOcvseI3A3RAxCQ+xAA/BAZB4/lnY/5BRAJBo/RApCI+tobD9opC1oFnVpSi RBZARBw/dqA/
1qVptn9q1pNrBClqlo5CA+lr1npCtn5DFhEGVXdX9tlttt0etYM0sZ9Yksb9 tAUV9ZM1tNE5
tZs59Z86Q1YegaxZ4DgHVbS0NblPIqhU5RcBIGoVjS9RoDp5VdgAACld5Ta0 JT1xQ1VfAnYd
5Y4IRoYEoSJfgAAN5VwTQhIxFmSatmgDR+VhSfbPBYpY5ZJZZZpZ5aJaYB5a pa5bKdRbxcBc
RchcxdBdRdgXpdxWReJeZepe7toABfZfpf5gJgZgohBhBhRhgc5hxTxiKNJi hi1WUvkvZtpv
BrRvRrpubOTaRt19Jrhs5rxtRpBsV9BpxsxuRtJqrdBrBsl9V+V9l+l91+5u F9d/Zut85rN/
Bvd+d/jeN9+BmA5vsNltdt+C+DGDMXluMZ0fsm9usQVMkQlM1DYhNBFvtBU2 Q2FwVwlw1bdb
oqlwYAFwqzwR9zQMNzgjIjYLYjxMab546cdzsykuonhVJVZVog5WIVYaQtAI 4DjToWYQU8lm
AAAW4corgJBDIqdTi2rPJ/R/h/yfiiSjjwCBCBSBiByCCCSCiCyDCDSDjTxT yESd6EsBTu6F
iFyGCGQFCGiGyHCHQZCkCH0wE3iRCPSRSPiRqPyKyQKRKOSNaRyO6LGRyRaO eRS2IhGQyOOS
uSGReSSPOTeRKNj12TORuQ+R6QuUgg+TSQeS2UczYgDxeIAB8FAEHhEJhULh kNh0PiERiUTi
kVi0XjEZjUbjkdj0fkEhkUjkklk0nlEplUrlktl0vmExmUzmk1mzGZTSADUa TQABmMheAD7f
j+AD2e74AD4fD5AD8fj9ADlc7rAAMBgKAALBQJAFdBAAA4HA0KVCoVQAG44H AACIOsIDAwMi
Tkc7tf8Rfr6egAdd/ADNwQAK+Fjz0ayfAAcHSuADBcizAAvukKxGKxhxACIY LgABoF4Qhb4a
IALYYH4AeSIXgAWZoGkaO2zwODZm3ibrX2TCxDAA4VbcACZKgjhe63m+LbNd wAOwyCMUvqYI
INACpKDNAC/N4yhDz4ZCB3X7IAXxu70JebTUAABwuMMQFwA+YTABxaSxABgF sHTLxOuK6dF8
M7+oSab/voSwrtUaIzgA6yDvWTL3BcVLAnk3YZQim0Ow9D6JoEgaCgejZuva AISPihJVnAvI
qA+ikTgBFMVoRFsXxiicZxqhUcABGEZRRFUfRdIEdIlHkiRZI0gx3IcbIPH8 nSTKEixzEEsy
1ESCINLUvzBMMxTHMkyzNM80TTNU1zZNs3TfOCGpwnSeJ8oChKIoykKUpinK gqSqKsrCtK4r
1CgAAwDAKsy0LUti3LgAC5MqiC7LwvS+L8wDBO0wsGI6y7Fsax7IsnSiEHwb 5VgADAYjKABH
sgAAwsohZ6NKLYONSE5WGmAA/CIDrZNpTgANuZiJnxXwugS+ZykxAcCoWeZk gA8S2iQZDmjs
G7oom6bqvI7TuPSADwP+8ZLWyABo24hR5mdCgHBmNAAEiZp5AA9EOIjc8AOw 7Tz3Kg8ECFBU
GHlB0IO/BEKwvfENX5OOJzRLkSIwcwAEUIQNgAO52iC+hpF+ABpDMUrVEyLW FobjON47j+Qh
dkeS5PlOV4khOXY5j2QZFkmTZQeWVZYhmd5hn2Z6Bm2h5wh2j57mWaaDm+io XqGY5/muhaJn
KEaxpOp6ZruKbKheLS9s21bXtm27dt+4bjuW57puu7JbOadp6n6gqGoqjqSp amqeqKpqqq6s
q2rqvgSsKxrKhKzrSta2reuK5rqu68ogva+r+q1i08jx8G0xQMBsxxgnQyQX rChZ+G0AA4Ao
Gy/EqYwAFKLYVIUfDE1YHTNE2Z50AAKoQ9cjDZjs2rtWOixhkGF4AB8Pz7FW ZpSAAJgVUWXR
FwYJ4/PHbRYLVb1vgA6jrYA7bu1QABTWY0xSDgABkHKPzeOiBACHCAAQYAQQ K/AAFwAAsRmi
EAAD0EJWh0jaV8PYDoOgAAyA0Ps8J432sCIUwVg6DUHocQmw5DDEW7wnJM2h EpEx+HmEGDMA
AQw/AhMCPd8wIRliKAABIHwdwABPEiMgAAsA3A3IRC0X0L4YwzhrDeHMO4ew /iDEOIsR4XQw
hlDQZsNgAQ4h1DyH0QIhREiMQeJESosxNi7E+MEUoxxVjNFeJcWouReihGGK cZIrRJixEyLc
TovxRjFFSMpT45Rpj/GuQMeI3yFhQmOFUj5JSTkpJWS0l5MSZk1JuThGG8p1 b4nhv6e3BJ+c
KoFxChHFlgLEWRRjk1HuWUk5giKlnNkPc6pp0Bg3REXL6OMb5Vh3DSFGAAH4 XxlgAFCMERp9
AEleAqCZYSlBmCYCaAAIgeCDinGfMUIoEWMiOC7BQQxmwADgNeAA0RG3lvNW Mbgi7GRQBnCS
rMTROiFshFWNIVqQAWvoIquB9h5VyEKHWMlCgFgcL1ISIJbQAA+rdIOO9Xwi gwnzDufohy0F
8rSgyuI8x6IOiZCgfQVM9UMwhYYvIFwt0MPmQ3J2mRCJIkRHWMOHQFooiYOY AAM50CFUIC6b
8ND2qeHNCkPUTYAKdQ+qPT6oBCahVEqNT2pNS6mvqp7T+gAAKp0LqrUipVTK d1bqiQir9Rat
ViqxWU5tXKgiZqHWCtYAKr1kqdWartaaw12rHVmp9cKpVyqpXWwVMyX01sRY uxljbHWPshZG
yVk2zSfb2ndvyenAp9cIoBw6g3FFelY4+V6jnKqRUm5lS7nFMufndL2gKyAm gcCIAAYZEgeg
AF4qUGipx4AAFWHoJYAAyiWGqQsFYajHi1nKaEj87VivPI6O8czGR7kIAaBY DSEACE0HweAd
910IAROtd0h93x3gAHuPy7oDbyAAvNZS+RIbFXzvtfcjV9b8X7v5f2/1/8AY BwEmOyydm+p5
cAnxwaf3DKCcSodQ6iVFuRUa5RSDl1TkOlsphzym5eGGS+PAc451zAAUWBUD IFAAPJJDdA20
8MB4xvnfrGWNbH40xtjnHWO8eY9x9j9uWBZQ2ZwTKWzuDZU2hcY46V2FJYWn wxaqW5Dpc2ud
DiCSuLnnYwyBl2SeOMvZhbpmDMWZczZnzRmnNWQMhWYwRKSzmDJUWgUPaPJp CHJWmwvLPDJD
cN2sw7LtTuWJKZanesjNeiWy5k0Vo1ipAkuwr0dpPSmldLaX0wxPNuB5R2bw XKez+D5VuNla
5DPGFZY2olopVzWHJdVeGStUaOs5Lgi1tcAVaq7paZ14lnRmvdgWJ0gxfYOx djbH2RsnZOm5
RWawVKaz2DpVKGcXhK0uFpZWplrq3QAABT7f1wqumQL9yAAErucAA+d1bK3Y SUAe774AEu7u
op27d7Eg3eAPeO8917339v/gHAeBWNGqNl/8oM3ad2fkfOeorRaktJk7PW2d VkPz/LhTI9ON
XqHveKTovOQMeDvD7gfJSKFMKUAjlXJuWER5RivlfLeZcz5pzXmyYNmZEzhp /aOSc68QzuQf
PO2NVZ9IZxfKlrTADi6Zq+SxUIWie6lofm/NNf9V391frHW+udd6913nOb9P bQyRnTUeTNTd
C1RlDPmUtXZWw+p/LKxMX6I6/wHrXd9jd57133v3f/AaX7DwrI2ctQ7TyVtb iXRMo7btXxjQ
Nr9CST0NrvwOyu+eX0t5nzXnfPef9Bf7wezvC6g2lkrO3aQAdD1T43Vnj+k+ Ryv3LQvdMt92
R2LIQYAA5irHIAAC5WiGfCAAOwAAIwliAOcE44z6RZB6DS/cGQewACGCoCj0 MlPOfZzV9v7n
3/wfh/E3f0eRc4+m592fUu1/W9t8dlMhuVcPaD9pycAA2hmDEAAMUYruBXBV DmhCBchIFTOX
P7v8v9v+gAP/wAwBwCiRPKsuCJBsBWPdg8BSHYgLvgijiEAFB0ohBNBYidAg l7qQmBiIDpgX
DrBLAxjtBpH3o4hnBWBOgABsALgkAAAtAekkPxk3vvQesuwfwgQhwiQiwjEt PyuduyOGvEPU
v2O2NtPXv4CGP5NBDCPJiJB6FkAdraAALjiErhjIGUFaiHwtAAQuLawviEQw hyQxujCOQIvc
CRBzBcA9AAANgkohFtDdqJDpH1Fwn2qCiDilBMgXivA0QWgAB/qRCKimDwL4 DrH+iNh+LvpD
RIsWFUE+MVuYPxwhQjscxPRPxRRRxSRSiOQkuxuGPDslMIlFQns9wouLNuPI NXvZiMIWh8L2
CDhvHTHUFSHWQ3iExcRdAAReFWRfDIRgCRw4iRlqFrAHC2gSjgjhjiiMKBKQ KCj2Khj4HtCG
g4BShrlYAtPsAAB3hnAAA9ApoYBDmSCFBIhhDPA3Qdjvn4gzgnjHgZHmAih1 IdAqg/R2j6Lg
BrjWgThnJygXAtwCCExvjtBHgtQTvPOtB5hsBTAAAeAUgtgAAlhSidBDAtED GvhhhJQ7gfDd
hehyhWAAAah5C0yLyMyNyOyPiFBzSRSSSTSUSVSWSLSMSNSOPqyZGdSagNyS gASTyUyVyWye
SYSfyQCDyaSRyhybyjydSXSeyYymgASnybSiycSkSdyXyfSPSsStSoyuSpyk ywSryZyhSiSj
FrANL4sxRQxTS6S6y7S6RUOFvDPTufu0RXuKRgiEukP4ulQrLYCNlQjGHUlS wyKAnfzFRfwH
sWvbOqCQhfA9AAoYhDhEgAB1B/nmAKiNRrxAn3h5hwrbg6AQAfH7g4DFBNAu gUiCAMHeAUAN
DmzMIBhDgzBMAABuBCApSshXA+HqA0IhBeh1DtAhAKrrhQAoDxgwqNIChIn7 g4gWPVgwjfBI
J8CDgzIDhkAxAABzhPC2g0BNIDBpB7pigWxMPLu+IzgjIlmSKeKOgQifAXoe IuqeIhqfo9hB
z4IZT5F8KfT6jJz8AQz9BYT+I4okz/x/qtT6T7UDUEUFJDUGT40H0B0IzV0D jtUElyz30Lz5
0M0C0N0J0PoXUG0A0IUST80O0KUQUAUMAz0CT70S0XSIMyy5y70d0eUevwS8 vSueuzOHy/PF
v2xYsNRZvYxau4jDzHlRxkzJDpUnzFxlQITKPLCNB8SKAAAEyeF7jmj0Kupf Q/qBlxwYClgA
BQAhCvBRAoEBg3SsIRj3l6g8nsKfAaj7B+B2pkgSAZgqgABEqHluLul0DPxp L1DiRNmCKSD6
A0IaBrh7hHgAAUHXFlSRlmnzBkEMi1GvPAPvL0q5AJDPhSD5mQidBfgnzeB3 UEi3CHVQgu1R
qi1TGSjt1VAAVWEH0xiEVYVZVSgAVT1bVV1W1dqJjh1Y1SVaVUVb1c1XCG1e 1k1gVa1U1h1d
VX1j1fVlVhVcViVr1RVo1g1qVuVrNE0dUfVz10V0u70gPz0hOHMlv10jQoOK 0kvYTCPZUmlQ
UqTIzG0pjMUoTGTAiMxmCNmXAXmYAQjFB5BYAwGrTRUyxsU0F/INDyoOD1D2 EKkoiGD5j6j7
j8j9kDVDBUkBDzKPCEIPAXEFoQGi05kLISoK1PO/xPElWNEpweCIWaErkjkh EaElkbkm2biH
2ckmEsEn2e2a2gWeEe2iWd2jWl2f2itG1zV1WqWq2rOS12OeOy13xWsJtTsn xYV6M/UlV70m
P6UnV/0q0pFv190o1+rn0sQJCKhwhZDNAQAnwCBP1Ij91KiQTRqCWJKPl1Ih F2pHFzF4j3F6
F7UBF9iKWJqQWLWTkE2UmEGFIRGGj3mH1OKYvPvvGwGpGlmuGnGWmNGeGsml Gtmq2Y3PmtGq
Gm2HGdXSmkXQXU3X3V3ZGo3Wmx3RmjXcXTmxXRXYGv3fGw3Q3VNFWp2r3lXl 3mNg2swlxVy+
142vuJuiu3Nuu4WziOnSRenUnVjJz2OXHSxj3vHWXww4W4w5DcmNAXgLGPBp BBCph/g+gALt
iQ2/0zlyilH5CvAtn6n7n8n9sVn/IAIBICIDIEIFIGIHIICjoJoKoLqPoNxG XJGDXKWV3LqW
XNITXOthm0iIozo+o6JAI7o3JCT+4RI1I7I2pBo9UFo0I/I6o2JBI8o4UK4Y YRpFYS4W4bYQ
o54VYZpGYT4X4UpE4V4aJG4UYf4jYg4TYXM03k3m4pYp4qM03nxVS+P1OI3q PGP3QpO3v5wr
v6n0pgJhJiJjJkJlJmJnJoJpCrjLAAYy1cYzpjpkplpmgXJngAJopp30HmLo 25F+xzznIYB5
VBDzF3CR38H3QTqDqEqFiFKHDmqIlvKKGNKLmPToiGKOKfWQl/2K4KVGKSkL KUECWWXMKWqX
2YPQOtKbqcq3KoK9rCK6Knq7rAK9K4q5q1Zaq/5YLDiDq+K65bZfKz5gZZ5d qrZeq8q35iqv
Zjq+5h5l5Y5crC5eK25pZf5nZdK+5ssvYo4q5wZw5xMbYry9v00iXpu1WwTA XrxaXs4xJfLZ
QurbiIrcrdjJLeiEQzLZra56CIZ7LeWBCIWCG3xKrwiDr3LyiIL0L1RdaEr4 ZxiE5v6IpH6J
6KaL6MaMrGZyv0UhvExXV5Ww6BAATBwqTCvJYxpH6CaNLI6LaWG5aXaX6ZaZ 6aG46OV3Qmug
PVPWV56R6SiFwq6UJL6V6arEaY6im1aj6kal6mamsCCcm9MDNmvzWtQmPUad S/3rP34wTDQs
aVX06nKZalawk3ax6yaz60a0iT6b2t6c0i4uUj2xOj2yaTPItYtZNaJLNbAR NwzK61JLaza/
kzbA7BbC7DbDk5aoOENOPSV262xWNq6Qa4ae520ltvhT6+txtytzhKt0t+7E G6t8t97PN67Q
G6bRN5N+bS7TbWbW7XCKuCuDrL7GaqXoYs50Yt51XqvXRZV7a6gAONC+uOuP JOOQDWuRuSbX
m5uXuVXz7lG2bmOY7n7p7qbn62arXpbcvVu16RbK2yrXOmBxOnJKuoAAOpBP a/bqm27Cb1CY
72b274b411br3o4tOg7t516tYv3sYwzDvKawb5ak4PNJcAmKb38C8EcExRb6 bb6P2vbdYu0k
Wx7fagaTxbJLaicFE28D8NCScOcO8QcQvQcGZz14btaebu6t7+au6UoUcMiK BsBZIdArgnof
Ttj6IDBPhKIFAwR50yPnvohkPpvqvr8E8P8RCPcj8kcl8mOvcSaPQnaQ52CI iAiAORzu1/gC
DQeEQZ+vp6AB1w8AM2JAArxWExeMAB8ABtMxiABisVjABXKp3ABCLlIAAXgy MvwANZYpUAIV
FH8ALVqxcwIhTgBAGgkgAIRmjUc7UmIxNmU2jxh8NhQAAEikwgA8qVhAAxjI DTlHmYAG9NC4
ANJ7qMAC0EU+Ew1MC4GgBLGNm2c3jKDzBnKxOgBsBckAAtD0P27EYnFYvGY3 HY/IZHJZPKZX
FvHMAAH5vLZ3PZ/QaHRaPSaXTaeD5h45rOajXa/YbHZbPabXbbfcbndbveb3 fb/gcHhcPiW5
jMppABqNJoAAzGQvAB9vx/AB7PeNvh8PkAPx+P0AOVzusAAwGAoAAsFAkAeu 2gcD1+EKhUKo
ADccDgABEHW0BgMly3IEgi3IWhqHvIiS7oqK7GnoZgAB2DgiAAnaECWABgnI UqWQCi54AATA
mhAABxCkn4uB2EYAHYZapicNZLAAHpAl4ABZjeGjKKSOylrupsIMWbBTC6AA Ui29Byn+TIAA
0vZuqmAoSFEABkHkXz7rmxS4CCuZUigu5fryg6NkyF72DQuwAH+Ny9MW7R5o MAi5gQAjIn4f
E4phOi2ou7SNAAtoET64tC0M0LVNYB9D0ZRtHUe3dEs3RdIUrS1L0xTNNU3T lO09T9QVDUTe
OO5Llua57oum6rruy7buu+8LxvK870vXWz2AMAwCoS+j7Pw/T+P9ADEQGgqn wMhyIQUiiLMa
mB8H5OwAG8T4AAwGxXQychZw6yaNk+LYMAAOJ5EQABwFmNCiMlHkfABIDGHC XA4gAEAkpWUp
mpOLQZAiABulZeoSCqdgAGufa1BRabEy5L0wABMS9GmUEihcMJSKMOBSmuAB Hi0FCDHeZwAD
0KYZgAQ5fouSJhHAAA3MMg84lMM4nwyGUeiKdRFAAKo/ZWgyzFWa8bBOZxDA AFwtpWhGNrvj
83VHqbaUk1qnnnIYAB5I4ACWUrkkMLQWoScxhkkAANh9LBenKVgABqeT7a4L evbAAGxbIhGz
bRtW2bduG5a3ruv7Dsey7PtO1gBtu37jufCbvvPEb7xfG8DyG68LvHD73xO/ cZwHH8HzXJc6
g++cVv/HcFum7cNvXUc/y3ACEDWGao4mrUp3Pe993/geD4Xh+J4vjeP3NSuU 5jnOg6TqOs7C
NVe7zwPE8jzPQ9T2PcAD4Pkg9fPu/L9v6AD/w8o9jQKhllQSicGMoehrWsDg dW1DVupbb4AF
LcQAA1rmXQupdhkV3LMXiY0cwABJBCA2WNoITwuM3FiKQWIABVjcHkAAKgI0 tGMYcABL6YUx
jzHCMMAAdAQA+SqHBawmgugpM0BgFQAAUAaJOHoAKJBDhmEwAAbghApAAHMK 4PgAAfBoGQ4w
dRdwhAVHuAAUAUAHAADDBcgwXBIpVDiCwAAqAwhDAAJA5JByxCxGQGIAA5xP H6DQJoLhZy0l
rUI8iOxbndmKJgL4QYRgABDaAiEZsGwzghOaC8CULAQiYLuLAM7Uo9x9j/IG RkhJDEskSACR
cjZHl7ABHyP0gGVyVABIWQ8mZNgAkdJCT8kpRSCktKeRUjJVSdINJGUMlJBy lkvIiWcnJWSg
knKOXcppMS/lrMGV0upYzHk1LSVcdzeR5mlNWa015sTZm1Nubk3ZvGUeUqd5 qqnoKtemdx6q
snsK1e2e0BJ7z4q9Pq+NYL5n0LFIGsco6yUELvfiZN+b9X7rbf0+kxo+BtCr WuDYMrXhHjBf
6GEF6OylQIKcYweY01yAOLMJAFwQSDDSaCQcQQqzkh5Co2R3BiIQwjYimMgx GxQBCPYKIKBy
RfBudiQajKTKOLrDyKsu4ZwagTO6O0ZYAASAzCqAARIyCTh2BunYTIQoqhoB LQoe4mQqKBIO
NMTIUGlBoBCwce4j4bJ9HwNNtACQXCwSqldLM347zUMYO8AAmQugSAAGgUhZ qQHJF+E+H47p
HH7KNXivVfK/WALOxGwgALDBnsQRmxVe6+1/ABYGyFhbDr/stXmzFjbN2PsH Z6yloCMWXsZZ
qzlp7JWfsTaK1tjrBWRsnZW1dtLM22s7bG1NdDY12uFcW41x7kXJuVcu5lzS MTheYql56rHp
HanQrF66tHtK3e69+eSv3yLCfOsRAU+X2IHWW/BZxkqAgAfs/hbi3jGDwJk1 4HQX0KhgE2ug
SFTSimVgOUyi5iKZBQPYVda1hgwH7HeNiBgbkGhvFIckSMu02wfLdS1iDEmZ 15qtCJiFOWpU
8YoACjhVyjlmLNUYOI0oLhgb1VWKoqQr04DPTsAFYAhNKEsg0eQ0bKQfp7iY FwqSI1yBlhi5
zU7iGNSgAAAIJMUEHFWOAgoVDDmJyflHKZBsq5XyyYjLeUiE5fg5mEt2Y8uw YytmcxWasy5t
yxm8qeXM45gzplDMhCMzZzyWaLJuf9BaD0JoXQ2h9EaJMldBVDzlVvRVddd6 ys3sq40srpXh
855rAfKsOgxGX1rIfbP1Zk/72P0vdQN/N8i3DfFuz0GIWWkhgEeLcAAiAwg5 q8Z/AKP8BlPK
jKUqoABtiYxtjgg1GgoABLMPLCsn02pbRCl3EEJGpJxxkXQJESxo1SISPMZ1 PgZrrwrBvC5i
tsYfpdiIhOOseY+yAADIVYMiZGkGljJOilO6BMRAsRUDgAB3HbSAF1IizhmQ 4PITIWt5FG39
wDgXBODDS4QADhXDMlN7ABv+B/EWlcT4rxfhpGeH8d4Hx9lfFOE8L5GRjkvA eT8F5TyHlnGX
Ucb4hzHkHK+McO5xybiXM+ect30YzfnRekdJ6V0vpnTenKP0ZOO6ekJzqw0n Ou7b3J3venjp
q8E9dPT4QJqK9D70F3rMjQhay2H8Dof1HVD40VrAgB+vUOQp6NB+CSB002vV 4a/axh6q4vyx
C9iCAAHQG07DWFoIsAFTBDgAwqSdNtqsM7TYftZMgAEiHsC2KQOCVRyh+JYB Zf6dRwgAEHDs
AHpI4ixGaIRGYIT0DpG1RoewHQdAABkBoffgtq7QxHjmqu7+Lbx3nT7IuR98 c26ecXo5GJIs
okBWUZo964AhGWz2RIdwABPEjEsWAbgbyej59QP31vsSa+2AD7v3/wyq/J+Y Qf6P1fZ/b+/8
H4v5y3la/sIi/W+0+4B8+8/2/k/K/8/Okm/u/ZAJAM/i/HASO6//AZAC/xAe /g/5Am+nAs+v
Aw/dALA1AQ+eIy+jBLBRBTBVBXBZBa6Y6iuk0enMus6snUu00su666fC02vC nsvIKe1Cn21G
vS7OQaQcAAHGG+PIHcGkLUB+C+qSFCGCEaaUASPYAqBM74AYH4G+ZKAoBiLo IOEQFY1shqHq
AAH0IOAMAgRWB0BorKpWMa78gSMUHwbMLGCShYE0jKIyhciWEWDA/LDiKew0 80IQHWGSSYAs
BwXWIQEEqgAAD6ButAHeo0EUDCLMDuiwIy2MkIxi3UxC2iIQrArEyKKGSuyC Zm3oo41skGrg
3zBcOFBOIOHWGGZ6AtBEkYJOke8sABESSLEYYzF0AACkHqv3Fw+9GHF4ITF+ ABGCkEJPGLGP
FyX2lKX9GYr1Gcr9GhGJGMABGRG5GWIRGbGfGHGlG/GpF3GvHHGzHLGrHPHB GVHWIPHJG3HN
G9HjGrHFHpHbHtH1HnBLFnFjIHIJILINIPIQanBg0cnKuqeouw0onYu462u8 68no06vG0+Ix
CCKMn5CIWbCMMWQeAACaQmAAhQLcB6AAF4viBoAIGiOcAwB+AAPsMUB6XOW4 XXI0MXDm8AWe
AAHeHWHUAAHu9+KoAkScAi7gNgTzKAii3kAiLnEGIQTyrwHuWlKhKlISmtIF K3K8NtK7K/LF
LHLJLLLNLOMVIWnIuo0jBquy0qnana0wu/IuvEnuvK7HCE7Kn87QeJJ6SDLR MCNdLDMFMKMn
MJMNMTMVMXMZMauRLU6nBnIe6vBunbByfAIMfE05LtB+fUvM7IfdL5JCeLL/ MdNMMjMRNPNU
INNTNXNdNfNhNjNkODMhBlIc0lBtLhImnhMwi/B47BIy7En1I7CG7NJAeRNL NnOUABNbOXML
ObOdOjOlOnOpOqIPNrIbLanTLfIk61N5LpM3B9J2ITI4IzI8PIGTPSAAGjPY eQBFPegwFWoV
DpOtNNOhPrK/PvPxP3P5P7P9IROxLY6rO3Ii6y0uV3PBB67DLxOHPMfaFPQh PioUmwBfQqAA
ErQwAAHzQ3P/MKAHQ+AAAJRFQ1Q5Q7MDQ+AHRDRHQ2O5RNRdRfRhRi6YGqGy 9SnFBjOzQHIg
6xBxIpB1MzN/IxLvCBM/L0AAHpSRKIHvKemuF5Sc4CDu+9RlLOO0I2UHKXSn K/SqUCUHSzS9
S/TBTCm/QC6pBpQJR5MtR9N7M1QVODQYvPNCHFTlNCeOO8JgE9Tw7/MBTFIT P1T46ZT9T/UF
UHUJUKN/TJMlNxO5QNMvQTOBSHM9LzOJL21LL6eHOTUNIHUDUy0RU3U5U/VB VDVEMfURNvLd
QK0tLlQRItPDQXSJUlQdUovVNHL8oqwFT3VHICMyUnVzBVU9V7WBWDWFUHVL O1R3MrN265TX
SDM5PGIRPKIxPPNFORVs19VwMSTiF8EkDoj+LIISCChcAAFJEASbKm8uFkD0 DSSqBkD2bwCo
ZDWGUhV/XiuPXnXpXvXxXzOrWLR1MpN1O9WVUdSFM6KNWgIvWlUrVoMSI2I6 I+JCJGJKJOJS
JWf2KM1c1g1kKMDAECJ+D4DeKGAoMtUwMSGSgbGcDeHaAAE+GEYyP0QWB8Ku GkC4Q4LS4ZSw
KOLgLkLoTUGkphAoL6L+MCMGMKzRX0arV2avaM0VXtaVabadafMLX5TNWPX+ ndO/VZTbUhYL
SLUnNDYSQcQgQkQoQsIOQwQ0Q5YqIyG0Fih+SwomCEBcqMHEGAKmCoDiRkCW EqJGf8hqMnZG
KOrWAAC6rcPC2e3Yb2FwD0bSCS8iFuHK9+CQdu2kEw2opcw4piryTOr6TUTY +GLcTgTkTpXM
MQTwT04bS6T8Oyq9dRTDaZahK5aQd5dfdndpdrMbalMnNzO7QO0zB26/YHWc IPYMITYRVmMc
WhKwWo7WWyoI1YMgHGZKAgbIHYE2GUAAE0CqBMooR6otWuIy3AAAqsZQTA8p IAI0G6FMKoBI
bq3KZhFgpY8w+Cw4YoYsYwY0Y4Y8ZAZEZIZMZQZUZYZcZgZkp484ZsZwZ0Z4 Z8kCaEgwaKAA
aOaSaWaaIOaffzc9RfK6azfSdcc2cmc8cqdWcwdIdec4xwdSdAcudHg4dNhM dnhDhUcidgco
dUdCdYczhJg8dlhBhrhFhXhlg/hphSdbhjhLhnhQdrclBTdddtiZibic6Ldx UVVRTTavd9Lr
PFOFTg1JeMoA1QvfebbSMeHxJgXFJmAXereveze2XfPoKPfBfEbSE+Y6FGDB XgSebeSkqa4Q
Y64Xjs8vco8ypeL0hMhQhUhYGRXChghkAehohshwZK9Yh6h+iCiGiKiOiSiW F6ibfCigikio
itE2i0i4i8jAjEjIIQjOjSjWjar6jgjkLULZRlMIlwmGlgl4lkmemA/olymI mal9lymTl3lq
lImNl+lSmjAUmXl7lumdmOltAomElfmIl6lQmhmflpmkmLmomRmRmhmVltmL mrl1BbiXifnN
nPnQuVijVPTRWTIritVbTdVfQbWjOLWni6oEvgoKLcJgG0GOGAYOHIG5JoDK DwJyCsJoGuEs
bqAzdHJ5WrT1DqAAFkDiPYCeo8RCFuWsB0AiG9EiBwqbE2DME+OSEyxhcncq w3Z8pkpoAAps
pwp02/FWBcqAqElKqKqOqSqWqaqeqiqm+Aqwq0q412+JFKrIrMrQBQrUrYKo reriSwBu+dP9
OatYt6tKtutQt0IvqqtItetwtktCsXqtq9qzF6IRq4tctNq+uDrCtHrTqwuB q0ITrQt8tgtz
rMIPrpqut/rvU1djnTsBsDsE31nXTPWRYBnfSBd/WbizNBi3CKfli81UvjjC IyI2F4EwZ6Fo
GwHIikFBJqB6DkAAFuEttEByA7eCMTb+MSrwF8Ey8cEIEs8iHaAm9CD6DgZC EGCeXWLs3Nff
j/pTEMAA3SxnFC+GoyKmxOKexUAAxYxcABpO+Axo2O3a+KBcx6+PFSxI+U3s yRqlP7P0zgz4
zlaKKPvEypvIzyztvGzwy0zqz3vRvazFvezWz7vKKNvOy9vTvcz1vrv3IJnL sHwFwHwId7sL
apd3VVd7sVivVdUjnpYPnta/nw1Tn1ecMcfmZKfsLoB6rQW4KvtSKftWMsHN oobSCebYHVJg
ifJFfjctZ9uI202428IQ3A3E3Iwtt+8C2y3XFEq/utuwx/u1uHpnu6+bllr+ gU5+5g6C4O6H
qk5e485lyc4s5q5845yY5Ryo5FyhyXyk53yq565Jy8506FzC6IbLzJya5VzP y7yxy/zNy5r8
NXV5wLztzvzwIAAIFA4JBYNB4RCYVC4ZDYcAGMymkAGo0mgADMZC8AH2/H8A Hs93wAHw+HyA
H4/H6AHK53WAAYDAUAAWCgSAJsCAABwOBoKqFQqgANxwOAAEQdOgGBgZDXI5 3a/4Y/X09AA6
6wAGbWwAV69D4U+G0nwAGBsrgAwXQswAL51YIO/AAsTMFAAX3OiAA4FmaAAE LhBjtg61XGZh
7g7260wA6QIGAAGwuDQA7miqAAIBwYQALkSwgA0TsPcCAKsmCDlFSUGaAF+b xlA5Gpi7Ny2p
DgAGQ5T9bQsEQACAI4QAgwCIABvS5c2ahAAPRDM3S2sY9g6OgAMg0+wAmSED gBq9avjdsYI0
+9nUsVwA8miZwBlIE8/QAAcLlTWnkvuz8tK/8AQDAUBwJAsDISeMEgAB8GIe uRfEGGYACGPw
Qq0e5YAAEJlkUAAJB8O4ACeSJkAAWA3BugcHwjCcKwvDMNw7D8QxHEsTxSgU VwlCkLGbDENQ
5D0QRFEkTRRFQAQhHcXR9GEgxnIkbSPHMkxZHkXyBGUhxrI0cJRKslx7H8Yy FGkixvJElRbM
UnS1M0pS9A85TnOk6oJBJ4wXBs7T5Ps/T/QFA0FQdCULQ1D0RRNFUXRlG0dR 9IUjSVJ0pQaI
omiqLoyjaOo+kKRpKk6UpWlqXpimaapunKdp6n6gqGoqjqSAClqahinqiqaq qurKttarz2MC
qxxm+l53GkUYAB+L5lgAUJgkazoEpuCoTA6mCSNCXhiAAAoThgAARAqppzme VoADcJI1gAYY
wFCAB0EgJ7gwEwY7MK1rDmYuBnEkIQABmN5foSLhEluABNjsJF6P+07UvC1j XNggp1mSTIAA
sHC/IIQRkHcAA+hu4AAHexhFDCFwADuWKFEwaR5AAM4WoE7zwPFJLyoK9AoM 6VIkvaXz4P8+
mLvvg5mnlDIZP9Sum6dPs8T0B6GnWYcOgtIZMGbj4zhlkaB4sLoAY0UgAa1j 4pHqTeMazreY
68guw7GNGy7OAG07XrEQ7truvoFuWybNt28bZve3b7uJM7FwO7cJvXBa5uCC cBunIbvtXC8t
xHJ8Vue68HzHH75yWwc7xnD9Jp/VQJqMGan1fYdj2XZ9p2vbdv3Hc913fed7 33f0uiiLIwjS
OI8kCRJIkyUJUliXJgmSaJsnAEp0nifIIoChKIoykKUpinKgqSFqoqysJfXy uq+uB6X2JoOC
JdiGtIXhyLYGgGKsUv3gANZhkLCWIEAAyhMhvAACZWyA17L4AAvo0pch5jvH eAAeY9zuAFAS
BIAAFQIlvUUPgebJB7kCAaBEygBCFwggmPcfkKISwnd/DGGSB3Wp7hnDeHEO VHw1dfDqH0P4
gRBiFEOIkRYjRHiREkhzwVMvEU48dT7ylRPNVK9BVD01UgAAMAYAqrntqxe8 rR8Ct3xK6fMr
0riwFGlyHoPAeEFILECAKZQDIFIEpzgW+mB0So+R9h/DyP0gZBQxkBIOQ0h5 ESJkVIuRkjZH
SPIHEx4am3jKeeSqF5ipHnqnekqp6qrHsEDe0rB7qs1avhVy+RXb54GRqiVH kwxiJISzlooC
QstZcS5hogp10upfS/mBMGYUw5iTFhlJJTTxVOvIVA8tUbzlTPRiyqt68XpS Kye/HchKuHxk
KfKrx9EaX1xJlgvmWUxp0TAlvOmdkuJ1ztnhPGeU856T1ntIKZETpKzMilJm aEVpOvUesq17
Kr3uTYjFNohE3IzTgAAMmiBoRojRj4CKiwABV0ZgbOee9HY+Tvo9SGItIKRU lpNSelFKaVUr
IPPmSky4oyYmfFWTkWYsxbi7QWL8pZsyom6Qmb4p6hUYo1IcF9RwACVqUAAf NTaWVPd2AOqQ
AACVVqZU6qFWXbVSAHVSq1TST1arFWOslZazVnd8NUbJxIm0vihJeZ0VJNzS enNSgkoqDRgl
NGMhdDJVFWHpYEAA97CSIF5YdlQd0Q1osYpMkpIwEWRsbZNSFjzg2SspZmzV m7OWds8Qal0y
q3zNinJqaMV5PUDlCQKUdB4wynjJKmb0qysjittQ6JRKS5Cet5Rtfdn7gNQl 5Da4NxU5UkuN
cm5Vy7mXNkVaGJ8lrST+ppXS1MoJrWur3Qog9frZxnnCr+ccSJy2+udecsFy L0XrTvcOHt7L
4XxvlfO+ikboT7pjXG01AJpyfmrTqa9r6+EKu9UC2l4X1LBnIYSPVHL63rvV g+5eEcJYVwth
fDGGZ8hSCgEslA/SpEmJPU07g/cTAAHUOyCYCgFE6eqToBCrQC4zIKLoXQu8 A3bp9Q2Vj6ZX
YLXvg235cCRjYGSMAtIwTQCpFKO0AAjBiMXaWQ4aYrBBmdCqb0ggTw8irAAJ 8QwVCjoAKsLI
PQaTdAyD2ADMIKMMu/wpm+zucc5Z1ztnfPFjJ8qKu1T22NPyETfx7OLBRYCR jaGYtwYoxRjA
AFcKpj4hBciQLbdwh47BjlkDeJQl4fxOr3BNB5euDJY5DIePMZJbQHFGInls /TSmmEGHCLgP
RmQkiHAAHAUqJQzgjGuAAFJmyBB5YOPsQzC4UFgNOC4yglgxmtGkxNKgzhWC dAANgC7CwtA9
A/nlSedNvVo3BuHcm5dzbnmK8Eau6wABBCAD9QYvxgDBAADYGqEsBaWILgXQ OB5W3jIc+0AA
O34AAGqQXDwwRyCl0qaUeC+wtggfiLUAGHn68MfwgW8sey4FyHxC0gQ3GLgJ BSflpB/MpkHJ
eJIF4FgABvCEywfYjwnVUIGOHMxmQnolGEO4/gPW/EMYcapiJrzzLZEyC8m4 aNngAH+znQ0I
CBAEMocJAI/OpFy6rqI2SoF6WYvZuPdFWexdj7N2ftHaYk7q3YFsLQWCGj+H +VIfrzR993I5
3gfXe7BvJrBAMZazd7b4x1n/HkaLxaFQcSTkAABvFkLMWjhRbAX76IO/oLYH H+8UIHwnhfDU
Ccbwcf9oh9j8H65RrE+eqTvlGBwLccGbAkbdIIPznC3QQLzEi0hdHKSG9DYg a3owABpigbEC
4MLZSEa61+I8LWbmSDOAAHoKaEhDsDIKJEYXsQ3bcIHCEUwZ15jBBkvcIo6k O5Z+wZ2jA1xe
AABOM4QxnQt6UIJro1vzuj3MzoPMbAUwAAHgFILbioUoiYQwLRmYggcwYYSQ yIHw/gXocoVg
AAGoeQoUAUAgJcAzNkBIgsBkBwDcCAAECUCkC0DEAcAsA8D0BcBsB8CMCcCs C8AMFMDcFcBQ
gcEEF8EkGME8GkDUDkBEHAgUHUEUGEE0GcDMFUDsIYAEIsEcEsGUFEIEG8D8 F0I0HkCgIQDT
ZKk7srtUMEMMMUMZ3B4Ia0M4AALAK4KoAAAUNwAAbobobwgqixCyZ7u47kOQ b4ADuouQCUP5
5QkYZYxDwahC2CvqMqv6hzHzgBhoawsgDgHTyR+z0AhgbQVY3IGwMoboAAWQ ZTWoUgGz+YM0
SjjL0LUiczUxAD0o+7kw/Y/og0VgFwvxrRmBrr1QfAxgKABJlIBoT4iYUYME JohT4Bm74YeY
cJ/4OgEAHw3QOAsgTQLoFJBYDAFQAAFADRj4PQ44AAQ4MwTAAAbgQgKUJwVw PgAAHwNBEoXo
dQ1oIQCqEYUAKA8AMJlggQLgSI3QOIFgAAVAMIIYAASDVogQMwuYZAMQAAc4 TwowNATQ5YaQ
e5ZIFrri4rcZFYIxFpgcWpmIEIi4F5D5DRrRExrpNIQcjBCkjT3gM8jotskA EMkQWEkhKhCE
k4P0lMW0lkj8Zsl41smLo8i8jJwUnEj0l0mEmRL8mkoMjclcoknco0n5Ksms m8jkpskMnso8
oElEoUqklsp0q7/alML8MkscsksssxRJ4IbgbYbhCYIYIIo4CIwEOMOYgkOq fwfjvAbgb0Oa
Z4CcQCCSCYbwb8OYFwFkfgB4Bon0Q7AkRK78RbQhAgekR4AESMSbyjywfgcZ lgCgFoL4AANQ
VjX4QwIiCYJoCBEIP8UrywsD0UVT0g+sVr1EWAgsWQvz3Zj48roIkj6UXZCQ eRIo8hOIhcYr
oraRbIUAIQm4UQKAiY8kJs2oADLo1oM4GoCYlAdpZoEgGcNgRJjwAAOwG6FB moAANAErLwe4
TLMSDxnYzoNBCwa4e4R8a4t8XMB0XhDIZEV4G71S4MsSCZxSDRuhlMt4iYX4 J8cAd0mLMYhE
/4LtAIUlAYAFAtA4ytBU3QgdBtB9CNCdBFCwhNDM8lCDdtCQ11ClBI+FC4gV EFAVEdDlCtFF
D47tB1ENDdEtDtGFBlGVDVFtG1F9Bap8sUs9IVIdIlIpAB4Icwc4c5cIEDbo FAFAE4hIf7uT
D4uTu9KzvgfLvCywcNLp5guVJrboBoBSrsxabcxrAy8Df7xUR0SESQtMSjyo uIcYAAQUzgAA
RwOUCgeAPx+IlCigJoCkc4QgtYtsig/81pAkWUVz1IgwfAbsAABIEkAkpb3z 783gBxCQFT2D
2T2j35sxh8Y04yEM8Zm48ksA+gUD0wzghRlJlM6wOIaRlkYRmg748IK85pmR nQ9IFw9Y9o94
+L782D07k82a5VIIgQbtVQAIElVggYVYcAqQKlTwhlZQAFZlZwgVaFaVaghd a1bAgtbYAFaY
h9b9ZtcNaNcdbohVc1bKjFdNcgh1dtdFblctZdc4glcVeKrVZFI1f1f9gFIh 4Ie4eweyCiwQ
HAG4Go+wBw8AgjuYqQfbuolAfVKzvAfLvgdwdyCYbNjoAAEgEZC1ho8ABJ7F MyhdNDftNURl
Ng0syVN0y0SogYegaMfIDgH4P4gYFY59nYyogbdbg4ggR4YwcgAAMIFU1YhV RJAYfAbDkbkp
C7lFQ4fgbBmIAsaYdMX5E1WggkXLkcWYAAUobiEYLQEdQ4hE4j4VUY7tWwSw JBEo0U4QeYZx
ooGc2z3g8s/ghFUlW1UzqAgY9Bf9Xo9g9xoVYRotYkV9Sy40sQcwAARQIQDZ lQdst4FwaRgY
aQMzhgeQTILVYIhFx1yFyQO9ygzty9CVzQ9tztz4g90NyNydyt09zNzd1dvU J1x9190l2NzF
1Nzlz121110d0ty13l2l34hN4N2F014t1V490F3F4V3d1F411illftgN7F7N 7Tsx4LGIA4AA
cgcocp6gm8w0a1kbpzuaf0PAAAfTvEwEcIbkThad74F4FxlIeoetgwAgAIfS hLHcRTQbxJAg
sTyAs4tNQotwgwfgeEPYYwaQdBbqnKOQAAeAaITQAALIPDg4RAU7XAI4HI7A EICELowNpYuC
EIcIbodQAAdoZ7a07ZEoVYZoSwAAGJ6YCwFFMRsBfxsaAwuYbhc4JQCVooQ4 KZlI3sfLnwN1
H7gNUDoltTo42Y2oAA243I3Y3rlo4A4Q4g4w5A5Q5g5w6A6Q6gkA647I7dth mxiNU9XdwVX1
wt1lRc2Vxciq9zxZNRK5JpLJMpKJLskpMJLBMhKBLhNEmZKxJhMZJ5LZM5Kc pGRBNmPmQmRp
LxHRNeQWRZN+P+Q+QOPeQeRhOGQGS+T2TOP2Qyld697eVWVeVjDF7qyQf1Kg dAdFxyZ4DwDr
zQCwC7lwmomdjSCYdAdIdMJ1JIv4CA8AE4EoEw+wB48BBJmAAIfyEdk67tlI g7QTxDBNlwAB
YhYxZBZRZhZxaBaRahaxbAhwfgsYAACmA4Y1QoFVs+E0VC82FD1jVY1whst8 /I/k/YgiCYUw
OIIGKsgQgwFw3IZoYE+R1LZWJ74JiUsBipi5jJjYgZjpj5kJkZktx5lBlUew hBl0W0BVUuNl
v4gU9g/Bn4/dww+dYZo5pNYy5LOhqpq5tpyLoJyhz5tB0Ompt+m50xypxunZ w2mxxJxeoB0B
vOnhzZ0uo2nJy+pOoenuopzxyxx2pWhenGquoRzWrGn+p2pak2VOVusesmsq 5uV4nTGaLqqq
FAeAd7JwdgdqCYeRBQkQkbF4v4CQ4ADQDAC4AADuwCLSLZWiqYdodpj8Plg2 aggzfma7f1lh
YR9zgp/4hh+k1QhwsThgswW1ODhlOUU7ILUpSYd4c1xxmCLoC4DQCphhRDqQ d6EY+KEzmwsK
CKwbkCF+2dIesWsyRe3e3m3+4G4KswYYY4Z6y+tIAqFGtWCWtaqwAQAIAWwg AMNqqe5KFCri
ryFAAO7da+7gdmuJWipl/7w2AObLH68mebjm4SYe329aQO9u92+O+W+aeR4O vCqqLqLe5Wwe
6yqm5KqgAaFCqtMqqcN26PAwhO77J2xO8cRC2VNMx+AaV+9L0e+iWu+HCyI3 DHDPDnDvDyRm
tG/yLoA7GgAqLm5iryroAnAOwlMvFfACru7e6YhHBQgQfuxTAdM/B9lXCObX Ce0MVPD/C+O/
ISWfDfIvJHJPJSH3EO5e5Ynu5utYAvFXFnAPKirvBHBHGm8HBmxbfeawg2bA l6iDVKiaiiJS
iwESojL29XJaRPI/NyQnInOPOnOvOyIfJu/+5aLYn25fFfAQAm6PAPAXAsN/ LQg/GvLvHNlH
HexwqyoQU/NaRCo4F6pKpbv/O6P27Gtiq6sPTKPnTar6rHT/UnUvUx2CtQ4m +4Am/IA2/fPq
q3VnQnQHAnLHQ0N/LfBfG/BsxnRvMJXfSDx0vaRHNIAAFoJqxfU6JQDoBokY cYeeePZSIXZn
Z3aHaXa/bHbJRICAegiayInXVnEfEvE/P3F/P/FpWncyqfGXBPLnXfLwgmxv X4qwQvetx4RR
DqQ6BYJ4N5i/bSIoHYDZPIYocq9/f6IPgPgfgvg/hnhvhxAXbnbyyXJzGnKC r3KXKm6/dXW3
A/XHRHd3HFpN8HMAgqb/eoQve/fKQ3fffvh6IHhIAHgng3lyG/mHmXmnnHnP nPiO4+CW5TGn
PnFHc6qvQXWPQvju6PXPG3kIhogIgDkc7tf4Ag0HhEGfr6egAQsPACKiUJik Vi0XjEZjUbjk
cO0fABPN6Zjslk0nlEplUrlktl0vmExmUzmkGHYbeIAYrlB81n0/oFBoVDol Fo0xm85nc9o9
Np1PqFRqVTqlVq1XrFZrVbrldr1fsFhsUJCD0aQABIIBAAAgEAoAAwGAgAAt xulttgFuYEAd
7vgAAeBAACwmDwsWdjsdsKe2AAwMjcCgkahcNh6FiMTsdNj52kMjlD4ADjaT AADUZjCADCWe
LMakkgkBca0Wk02o1Ws12wAGylsNZKPNIAa4rPYAMBGFGb5nN50dpM6nnP6n V63Xn3RpfY7n
d73f8Hh8Xj8nl83n9HkstntVrt1vA4Ft91+fytl/vlzwIDwH4wQAwAi7EsWA B+saAbHsigaC
oyyqHIgiRFPSlLOs+kiTHqZIADYGwcAAb6EieABImUWDetmjEMw3DsPxDEcS xO34AFsKAGgA
WoqGaABKi4GSDn4ABuF0ToAHICYkAAIAZg/CcmvQ7TpydKUpyok8oKZKssy1 LcuS7L0vzBMM
xTGsizAA9q6Ps+T4AMt62zcAr+Py/s5MEwgBMNPDEMUxjHMgjTJQYjEHMuzM JJe0RtGYYidG
KYwAFcVR3AAQhckgAAXz+ix8G+W4ADwQ5XoMBQFIoex1gACQlj+AA/CeEyXQ qkULpNIB9H6u
YAHCkgoiaVMXl9GKM1tXCDV2AFe1/Elgt8liGlsMEbGEIkdERHqDtEW4ogSA BKCnHRa2ukp9
HyeaDAJGwDP4lR+3LAoAXSA6Kny0R9TOuF5TI8sr31ft/LDfl/4FgeCYLg2D 4RhOFK69czrV
NK5zWuC7YlOa2zwvq9zsws7wFPkCwPBNAQWyiGQezEIpeehmAAHYOCIABqoS JYAGCchS0xTS
KnoaJMAADgflGAA1DkI972w0QLB6MoADQJIQ1ikFZpce5tJIKgo2UZVmRQku q6vrNgWEldn2
i1dqABa0fHAWAugANY9lIi4oEUa4ADKJblgAeRnAAUI3hmABVGUigzlEcAAC dJaD3MYBAxEa
gUs8GJ2wkQxKF+g4XAAPRZl4AANmuQ23jtS6EbpHW8R9hbN4CjJ7m8UwADqJ otgAGpFLOL4l
hahJ3GaSQAC6L1gkMX5WAAEx6FV2fa9v3IAd33qEd/4Ph+L4/k+X5vbdx3Xe d94HheIAHjeR
5Xmdp7voel8PrfJ83tfT53vej8HqfF6/y+z9Huee996ZB3qvjew+d7b6n/v2 gCQaAb+n4gvA
srl1hSCcHSSxBODEGYNQbg5B2D0HznsNLSe4tzE2IsULwW5jRfj+H7TzC9Pa BEDJ+QUZNBrJ
lCspJekAfA/FcjeE+AADANhXM1HILNnJGB6DWZ8BwMq8h0DFDC0coSsjQEta +ABrDWmuEniz
FtsSzWyIzbMtNaq1x7jmGGAAToRQfAAGwF6IIbQmgpAAAoCgKgAAdAspMUIK wQOCCsz4TgbQ
pAAHcLwPgAA7CBGQ+UYaOgXgSHuAAXgbQHAAEesEgwTBIgAEcF8Fhqw9hDAA LAbRCAzKtFOG
KRAr0PCUFUFxHYzmhAgXzCAqrriNJAGiJcIznHMIbFWPIAASQODQQ2DmN4Fw /o6D6FZ1YAJf
TAmE5kNkxZjzJmXM2Z4AJozTmrMEPUw5szGmRMoNkzAATOmhNJH4AJfzknNN qdM3Z2zfnDPG
ec15iTom5Oub075xTymtOWbE9qAzsndOCeBBpxz+nPNudVDJ9UPl0SqXlGaO Udo9R+kFIaRM
CYamg94AD4nzTamlNx/j9GCL6nU/iAAAsehkyFnRF1AslMshAzRNIlxBA4Dq IrNokKZiVExn
7TAARRDRFQoMVlaEri+2FZbYyO1Vi5VglLZVpNobUtiSwYVuC9CGWcQ4XIFg AqrU8Kwj0dBJ
BYBNAo8BlgADIFUKoAAxCnUmFMFxcxbhhkyJQEAqwACvD+FQuBBxwCqCg28Q LUBMDOEfHtfI
+htPBCiFFEwjmtgABO12kZRaNkcHeAAW4dwJLdFo5tzZZxpBCZ8KkSYZwAU5 IRam1drRKWvA
BbEAFs7a23tyRe3lrLXWwuHcO2gALbW4t0Qe5NvrgXCuJdC410yDXVuXcG5t 2bo3HItd639z
LZXPvHdwAF5rr3hvVdu0p0IKnbvnfe/F+b9X7v5f0oNJWHsSYkAelaby8p1P 0f4/jHWOwxT6
gi9hCKdw3p6yin5M6gs/qJEao+EWeRNB+HgAAKweg9AAD8HoWAABXCyiIF4H cIkoqk1Rq0Wq
rWhjFVnGsYKr45q7GSr8Z5prmsHJkYQQ0dVpmmQZqooMbRTIw5tqFdAoCvFi AAIisLVWENWE
mtAVq12PCE28U4VwACsFfbhbmTMd43i7f4mtpySjiycEsJOUCDh6F2QUHYGi O50ABnbPBBs9
Z8z8RzQGgiE6FZbocjeic76Lz3o3P+ddIkI0Zn3SugdL550nprRGltBuc0/o 7OBCc5an1Vqv
VmrdXavX/gAtZ8mIn2LiAalhbC+n3YxCljaeMGkVQHg9kRGcJqDhxT5Q9QBr VCw3UaJJFx+D
0HGAAaA2B0gAVONkAApBCBrcEzJHYxnEBbBUBBqJnmpktH0N5XivkRjOWZLk ju7d3rK3kb3e
mP1oZBbSuIAGRMuC1B7I8SgYgbkJHuNZq4Vanhnm0E4FSNiOcCyNkgAGSiE5 izJmbNGaiD1a
jDaTWBKdUkZHMAAVoYQNgAE8PAIIAAQjacyN8KzOBWB/C0Wgi/KeV8t5fzHm fNeb5n51zwi3
PuWcu5hzLmiH+i8553msivSugdN6H1DnHR+qEU6t0zoXT+bdb6nz3lXS+g9O 6J2TpHVez9X7
D2vo3ZdWcn5L3fvHee9d774QAAQKBwSCwaDwiEwkIPRpAAEggEAACAQCgADA YCAACxiNxSJg
WNAQByKRgABygAAKVyqWQh2Ox2wJ+vaTgYGQqBuRzu1/zkAP19PQAIWigBFU if0qEPRrJ8AB
wdK4AMFyLMAC+cUuEuMAIIIC0AI4rJsAOhNFUARKtwc7W4AE83pm2QN5gB1O J1AB5NhOgA3n
FkAA9KtLAARAgEgAICIPw+C3a8Xq+X7AYLCYbEYrGY7FWyhrYwA0AMIiM0AI guDKBvgAMA74
pFrQ4WJfn4ACEJhGLgNwgBTisQABSAAuAA/KtCAAVhwFAB3uBpgB8hgdAASB Z9gBbmEHaQh6
dD6qCuBVEIAGtTlcAKxXmfHwJ7tq5lQoqkAJFlL7rgu6f5/4AgGAoDgSAg7B s8QAMU5QPVs/
AANElwzYMlAhfgziwAAGDUIoABXF4dwADgeWCH0XA3QOD4RhMeoVheGYbh2H 4hiOJYnimEIS
hSFiRhiGoch6IIiiQAImihAoqjqLY8j6MZBjSRJGjiK47i+P4ykKNZFjeSI5 iyLo9jCQIzkO
NpHACSZfkyYpYlCZoFnCcZynOBoIgqDJ0nmep7nyfZ+n+gKBoKg6EoWhqHoi iaKoujKNo6j6
QpGkqTQdDEORFEkVRYBwFRZHKep1E0mSNGkoANJ6jSkAarQlMEyUBNQDTdSk 7T1P1BUNRSFU
dSZ6Pg2lPBgNlTME6FXC9a4CUMnxNBwABxagADgLMaGLgNbh2XBcn+PUyQAH kNg4ABDk/EFY
n6AAJ39QK3bfuG41KuYjroupnwAaFo2ladqWrQQ8TSXMWhZtVBBcKc7gAFkL m7Xt0itHsLgA
J5+0JGwrzyAASQmQJ3HeMJ4AAeK/UDeUUHoLcSXsJ972eAB8n0FEt34MqGQk uulM4zlB4Hgm
C4NT88TNh0WpCGwq8IEkKsMQM2SqF0AByIFxNGwgOj3WXRIh1TGdKQXTdP1H U9HADVtY0XY9
J0tAtf1DUgA1vZQA1nb9o11BNs2HdNV1fctn0jdtM07bdi3vZta3XagA3jbt w3zc9b2nXuC3
nkOAzrl5xzyd8/5jnee5/oOh6Lo+k6Xpun6jqeq6vrFspZakRRuoadpsBkWR TtwFqepKo7tK
UrAJLfBS9MUzrGs0/rVPk5rhRFGUiHZwUM4zfOsADuNIowAD8XzLAAoTBI0A AuAligVCYHQA
VoAD0OM2gAOsBAWAAGQRRo4jEX4NhUH8ABLEeMEAApQwgvQKthbRc3Wp/HyX Yeg+SBAJAcaN
U5Ch9D1HeAAfQ/SNQRgnAqD7qXNM+hBCSEsJlIwiTxCeFcLIWwuhfDCGMMoZ w0hrDYrbr1MO
yI07Qi5HYeu8Io8EkhInfkseAq14qsCbPrIU8pW5QnnK7eg9IZgAFmhEAAMM pQPQAC8KsAAG
hWhoiYB29sPA1SEhLD0KE/AdgngAAonGA5cYEw3jvHiFcKXOR5j7H51ce4/y CkHISQshpDyI
kTIqRZBHXkQUyRWH0PIfkfIrEUkqp1TPCk28RV5NImK0J48shTzVdK8eipIf hrR4DwgwPc7R
DwGgVMWAwjSeo6LbkZLqXagJAy8l/MBOcvpgzEmLMaY8yJkzKmW62HLsVNAA U4p52zsnbqpV
KSkkjvlTqrADEmTzx4mkJie8yKMpoqSDlxHaZk7JizDnbPCX8754z0nrPae8 +J8z6j9M4iUP
YegHmo7gkDvlSqpVPEiJEnXjSgeTKKKCuXnq9kFOqfdFo+zzovRqGVGaN0eo /SCkNIqR0kUq
Q12E/iQzVh8AalcQQCRDkrEZ4NCiDquoYrKcRCJySkiiKen4ABvVCkICKopf w3hvOmPmB9Ja
muok0RQjVS6mVOqq6OqBH6p1Wq3VyrtXqv1gdaNUbJvpHqiIsRiSdLSQki
Re: Does GridViewer support fixed columns? [message #588474 is a reply to message #48818] Wed, 06 February 2008 06:54 Go to previous message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.

In our project we also need a fixed header row for filtering. I was also
thinking about putting two grids together and synchronize scrolling. Would
you please share your implementation with us?

To Chris: Which solution do you think is the best for the fixed header row:
Two synchronized grids or creating a new GridHeaderRenderer?

Thanks in advance,
Anders



"Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
news:foa463$m9v$1@build.eclipse.org...
> Hi Chris,
>
> I did some hacking today and have a rough implementation.
>
> Chris Gross schrieb:
>> Hi Tom,
>>
>> I think most of what you are looking for could be done using the Grid
>> today. You can figure out the coordinates of the column headers using
>> the existing API. Once you know the coordinates you wire up some
>> editors just like the standard GridEditor.
>>
>
> Are you suggesting to write a GridHeaderRenderer which provides extra
> space to position a widget. Because I only have to display drop-downs in
> there I event thought about writing an GC-Based-Dropdown this could
> integrate nicely in the L&F of the GridHeader.
>
>> Regarding the footer, I can see the value but it would add significant
>> complexity to the Grid. I would rather see a solution where a small
>> (the height of a single row) Grid was placed at the bottom of the main
>> Grid. Then the scrolling could be synchronized. That said, if you (or
>> anyone) was willing to contribute a patch for this feature, I would be
>> willing to work with you.
>>
>
> That's the way I also thought it could work (and from my first tests it
> looks like it's working fine). See screenshot attached.
>
> Tom
>
> --
> B e s t S o l u t i o n . at
> ------------------------------------------------------------ --------
> Tom Schindl JFace-Committer
> ------------------------------------------------------------ --------
>
Re: Does GridViewer support fixed columns? [message #588483 is a reply to message #48989] Wed, 06 February 2008 08:27 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Anders,

Anders Baumann schrieb:
> Hi Tom.
>
> In our project we also need a fixed header row for filtering. I was also
> thinking about putting two grids together and synchronize scrolling. Would
> you please share your implementation with us?
>

Currently not because this code is not clean and only a quick hack (~2
hours of work). I'll code a clean solution for the problem when I get
the job (it was only a test how much time I need for adding such feature).

There are 4 possibilities:
a) I get the Job and are *not* allowed to contribute back this feature

b) I get the Job and are allowed to contribute back this feature
(which makes a lot of sense IMHO but my customer might not want this)

c) I don't get the job:
c1) I find someone else to sponsor the work on
this and we are back at a) or b)
c2) I'll try to clean my code as much as possible and attach it to
the bug

My preferred solution is (b) or (c1 + b)

> To Chris: Which solution do you think is the best for the fixed header row:
> Two synchronized grids or creating a new GridHeaderRenderer?

Using 2 Grids is IMHO not a good solution. I've currently modified Grid
to have an extra space below the header and below the footer which are
handled by designated renders.

The more think about my current solution it seems to me more appropriate
to use a specialized GridHeaderRenderer requesting more space and
placing the editor exactly in there.

If I get the job I also plan to write some nicer Renders for RowHeader
and ColumnHeaders.

Tom

--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #588490 is a reply to message #49017] Wed, 06 February 2008 09:50 Go to previous message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.

Thanks for your reply. I really appreciate your help.

In c2 you mention a bug. Have you already created a bugzilla entry for this
issue?

Thanks,
Anders



"Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
news:foccke$ckv$1@build.eclipse.org...
> Hi Anders,
>
> Anders Baumann schrieb:
>> Hi Tom.
>>
>> In our project we also need a fixed header row for filtering. I was also
>> thinking about putting two grids together and synchronize scrolling.
>> Would you please share your implementation with us?
>>
>
> Currently not because this code is not clean and only a quick hack (~2
> hours of work). I'll code a clean solution for the problem when I get the
> job (it was only a test how much time I need for adding such feature).
>
> There are 4 possibilities:
> a) I get the Job and are *not* allowed to contribute back this feature
>
> b) I get the Job and are allowed to contribute back this feature
> (which makes a lot of sense IMHO but my customer might not want this)
>
> c) I don't get the job:
> c1) I find someone else to sponsor the work on
> this and we are back at a) or b)
> c2) I'll try to clean my code as much as possible and attach it to
> the bug
>
> My preferred solution is (b) or (c1 + b)
>
>> To Chris: Which solution do you think is the best for the fixed header
>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>
> Using 2 Grids is IMHO not a good solution. I've currently modified Grid to
> have an extra space below the header and below the footer which are
> handled by designated renders.
>
> The more think about my current solution it seems to me more appropriate
> to use a specialized GridHeaderRenderer requesting more space and placing
> the editor exactly in there.
>
> If I get the job I also plan to write some nicer Renders for RowHeader and
> ColumnHeaders.
>
> Tom
>
> --
> B e s t S o l u t i o n . at
> ------------------------------------------------------------ --------
> Tom Schindl JFace-Committer
> ------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #588498 is a reply to message #49048] Wed, 06 February 2008 09:56 Go to previous message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Sorry. I just saw in the first mail that it is bug-id is 166089.

/Anders


"Anders Baumann" <anb@maconomy.dk> wrote in message
news:fochfc$vcp$1@build.eclipse.org...
> Hi Tom.
>
> Thanks for your reply. I really appreciate your help.
>
> In c2 you mention a bug. Have you already created a bugzilla entry for
> this issue?
>
> Thanks,
> Anders
>
>
>
> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
> news:foccke$ckv$1@build.eclipse.org...
>> Hi Anders,
>>
>> Anders Baumann schrieb:
>>> Hi Tom.
>>>
>>> In our project we also need a fixed header row for filtering. I was also
>>> thinking about putting two grids together and synchronize scrolling.
>>> Would you please share your implementation with us?
>>>
>>
>> Currently not because this code is not clean and only a quick hack (~2
>> hours of work). I'll code a clean solution for the problem when I get the
>> job (it was only a test how much time I need for adding such feature).
>>
>> There are 4 possibilities:
>> a) I get the Job and are *not* allowed to contribute back this feature
>>
>> b) I get the Job and are allowed to contribute back this feature
>> (which makes a lot of sense IMHO but my customer might not want this)
>>
>> c) I don't get the job:
>> c1) I find someone else to sponsor the work on
>> this and we are back at a) or b)
>> c2) I'll try to clean my code as much as possible and attach it to
>> the bug
>>
>> My preferred solution is (b) or (c1 + b)
>>
>>> To Chris: Which solution do you think is the best for the fixed header
>>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>>
>> Using 2 Grids is IMHO not a good solution. I've currently modified Grid
>> to have an extra space below the header and below the footer which are
>> handled by designated renders.
>>
>> The more think about my current solution it seems to me more appropriate
>> to use a specialized GridHeaderRenderer requesting more space and placing
>> the editor exactly in there.
>>
>> If I get the job I also plan to write some nicer Renders for RowHeader
>> and ColumnHeaders.
>>
>> Tom
>>
>> --
>> B e s t S o l u t i o n . at
>> ------------------------------------------------------------ --------
>> Tom Schindl JFace-Committer
>> ------------------------------------------------------------ --------
>
>
Re: Does GridViewer support fixed columns? [message #588647 is a reply to message #49077] Wed, 20 February 2008 07:12 Go to previous message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.
Sorry to bother you again.
In our project we are planning on implementing the "fixed header row" next
week. To avoid reinventing the wheel I would like to know the status of your
implementation. Any news? If you are planing on contributing the feature
could you then give us an estimate on when that will be? If not, could you
maybe help us along the way with a rough implementation?

Thanks in advance,
Anders



"Anders Baumann" <anb@maconomy.dk> wrote in message
news:fochq5$24n$1@build.eclipse.org...
> Sorry. I just saw in the first mail that it is bug-id is 166089.
>
> /Anders
>
>
> "Anders Baumann" <anb@maconomy.dk> wrote in message
> news:fochfc$vcp$1@build.eclipse.org...
>> Hi Tom.
>>
>> Thanks for your reply. I really appreciate your help.
>>
>> In c2 you mention a bug. Have you already created a bugzilla entry for
>> this issue?
>>
>> Thanks,
>> Anders
>>
>>
>>
>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>> news:foccke$ckv$1@build.eclipse.org...
>>> Hi Anders,
>>>
>>> Anders Baumann schrieb:
>>>> Hi Tom.
>>>>
>>>> In our project we also need a fixed header row for filtering. I was
>>>> also thinking about putting two grids together and synchronize
>>>> scrolling. Would you please share your implementation with us?
>>>>
>>>
>>> Currently not because this code is not clean and only a quick hack (~2
>>> hours of work). I'll code a clean solution for the problem when I get
>>> the job (it was only a test how much time I need for adding such
>>> feature).
>>>
>>> There are 4 possibilities:
>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>
>>> b) I get the Job and are allowed to contribute back this feature
>>> (which makes a lot of sense IMHO but my customer might not want this)
>>>
>>> c) I don't get the job:
>>> c1) I find someone else to sponsor the work on
>>> this and we are back at a) or b)
>>> c2) I'll try to clean my code as much as possible and attach it to
>>> the bug
>>>
>>> My preferred solution is (b) or (c1 + b)
>>>
>>>> To Chris: Which solution do you think is the best for the fixed header
>>>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>>>
>>> Using 2 Grids is IMHO not a good solution. I've currently modified Grid
>>> to have an extra space below the header and below the footer which are
>>> handled by designated renders.
>>>
>>> The more think about my current solution it seems to me more appropriate
>>> to use a specialized GridHeaderRenderer requesting more space and
>>> placing the editor exactly in there.
>>>
>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>> and ColumnHeaders.
>>>
>>> Tom
>>>
>>> --
>>> B e s t S o l u t i o n . at
>>> ------------------------------------------------------------ --------
>>> Tom Schindl JFace-Committer
>>> ------------------------------------------------------------ --------
>>
>>
>
>
Re: Does GridViewer support fixed columns? [message #588653 is a reply to message #49630] Wed, 20 February 2008 08:21 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5228
Registered: July 2009
Senior Member
Hi Anders,

I didn't get any news from my customer :-( I've attached my sources to
the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=166089 It's
really only a proof of concept.

Tom

Anders Baumann schrieb:
> Hi Tom.
> Sorry to bother you again.
> In our project we are planning on implementing the "fixed header row" next
> week. To avoid reinventing the wheel I would like to know the status of your
> implementation. Any news? If you are planing on contributing the feature
> could you then give us an estimate on when that will be? If not, could you
> maybe help us along the way with a rough implementation?
>
> Thanks in advance,
> Anders
>
>
>
> "Anders Baumann" <anb@maconomy.dk> wrote in message
> news:fochq5$24n$1@build.eclipse.org...
>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>
>> /Anders
>>
>>
>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>> news:fochfc$vcp$1@build.eclipse.org...
>>> Hi Tom.
>>>
>>> Thanks for your reply. I really appreciate your help.
>>>
>>> In c2 you mention a bug. Have you already created a bugzilla entry for
>>> this issue?
>>>
>>> Thanks,
>>> Anders
>>>
>>>
>>>
>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>>> news:foccke$ckv$1@build.eclipse.org...
>>>> Hi Anders,
>>>>
>>>> Anders Baumann schrieb:
>>>>> Hi Tom.
>>>>>
>>>>> In our project we also need a fixed header row for filtering. I was
>>>>> also thinking about putting two grids together and synchronize
>>>>> scrolling. Would you please share your implementation with us?
>>>>>
>>>> Currently not because this code is not clean and only a quick hack (~2
>>>> hours of work). I'll code a clean solution for the problem when I get
>>>> the job (it was only a test how much time I need for adding such
>>>> feature).
>>>>
>>>> There are 4 possibilities:
>>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>>
>>>> b) I get the Job and are allowed to contribute back this feature
>>>> (which makes a lot of sense IMHO but my customer might not want this)
>>>>
>>>> c) I don't get the job:
>>>> c1) I find someone else to sponsor the work on
>>>> this and we are back at a) or b)
>>>> c2) I'll try to clean my code as much as possible and attach it to
>>>> the bug
>>>>
>>>> My preferred solution is (b) or (c1 + b)
>>>>
>>>>> To Chris: Which solution do you think is the best for the fixed header
>>>>> row: Two synchronized grids or creating a new GridHeaderRenderer?
>>>> Using 2 Grids is IMHO not a good solution. I've currently modified Grid
>>>> to have an extra space below the header and below the footer which are
>>>> handled by designated renders.
>>>>
>>>> The more think about my current solution it seems to me more appropriate
>>>> to use a specialized GridHeaderRenderer requesting more space and
>>>> placing the editor exactly in there.
>>>>
>>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>>> and ColumnHeaders.
>>>>
>>>> Tom
>>>>
>>>> --
>>>> B e s t S o l u t i o n . at
>>>> ------------------------------------------------------------ --------
>>>> Tom Schindl JFace-Committer
>>>> ------------------------------------------------------------ --------
>>>
>>
>
>


--
B e s t S o l u t i o n . at
------------------------------------------------------------ --------
Tom Schindl JFace-Committer
------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #588674 is a reply to message #49662] Fri, 22 February 2008 03:43 Go to previous message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
Hi Tom.
Thank you for your answer.
We really need this feature so we would like to try and implement it and
contribute it back to the Nebula project. Hopefully you will be willing to
help and advise us.

- You write that your source is a proof of concept implementation. Can you
explain to us how the real implementation should be done? What should we
change/improve in your source code? What features are missing or should the
solution be conceptually different?
- What is the procedure if we want to contribute our code?

Best regards,
Anders



"Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
news:fph9h1$mv7$1@build.eclipse.org...
> Hi Anders,
>
> I didn't get any news from my customer :-( I've attached my sources to the
> bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=166089 It's really only
> a proof of concept.
>
> Tom
>
> Anders Baumann schrieb:
>> Hi Tom.
>> Sorry to bother you again.
>> In our project we are planning on implementing the "fixed header row"
>> next week. To avoid reinventing the wheel I would like to know the status
>> of your implementation. Any news? If you are planing on contributing the
>> feature could you then give us an estimate on when that will be? If not,
>> could you maybe help us along the way with a rough implementation?
>>
>> Thanks in advance,
>> Anders
>>
>>
>>
>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>> news:fochq5$24n$1@build.eclipse.org...
>>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>>
>>> /Anders
>>>
>>>
>>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>>> news:fochfc$vcp$1@build.eclipse.org...
>>>> Hi Tom.
>>>>
>>>> Thanks for your reply. I really appreciate your help.
>>>>
>>>> In c2 you mention a bug. Have you already created a bugzilla entry for
>>>> this issue?
>>>>
>>>> Thanks,
>>>> Anders
>>>>
>>>>
>>>>
>>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>>>> news:foccke$ckv$1@build.eclipse.org...
>>>>> Hi Anders,
>>>>>
>>>>> Anders Baumann schrieb:
>>>>>> Hi Tom.
>>>>>>
>>>>>> In our project we also need a fixed header row for filtering. I was
>>>>>> also thinking about putting two grids together and synchronize
>>>>>> scrolling. Would you please share your implementation with us?
>>>>>>
>>>>> Currently not because this code is not clean and only a quick hack (~2
>>>>> hours of work). I'll code a clean solution for the problem when I get
>>>>> the job (it was only a test how much time I need for adding such
>>>>> feature).
>>>>>
>>>>> There are 4 possibilities:
>>>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>>>
>>>>> b) I get the Job and are allowed to contribute back this feature
>>>>> (which makes a lot of sense IMHO but my customer might not want
>>>>> this)
>>>>>
>>>>> c) I don't get the job:
>>>>> c1) I find someone else to sponsor the work on
>>>>> this and we are back at a) or b)
>>>>> c2) I'll try to clean my code as much as possible and attach it to
>>>>> the bug
>>>>>
>>>>> My preferred solution is (b) or (c1 + b)
>>>>>
>>>>>> To Chris: Which solution do you think is the best for the fixed
>>>>>> header row: Two synchronized grids or creating a new
>>>>>> GridHeaderRenderer?
>>>>> Using 2 Grids is IMHO not a good solution. I've currently modified
>>>>> Grid to have an extra space below the header and below the footer
>>>>> which are handled by designated renders.
>>>>>
>>>>> The more think about my current solution it seems to me more
>>>>> appropriate to use a specialized GridHeaderRenderer requesting more
>>>>> space and placing the editor exactly in there.
>>>>>
>>>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>>>> and ColumnHeaders.
>>>>>
>>>>> Tom
>>>>>
>>>>> --
>>>>> B e s t S o l u t i o n . at
>>>>> ------------------------------------------------------------ --------
>>>>> Tom Schindl JFace-Committer
>>>>> ------------------------------------------------------------ --------
>>>>
>>>
>>
>>
>
>
> --
> B e s t S o l u t i o n . at
> ------------------------------------------------------------ --------
> Tom Schindl JFace-Committer
> ------------------------------------------------------------ --------
Re: Does GridViewer support fixed columns? [message #589907 is a reply to message #49721] Fri, 16 May 2008 10:58 Go to previous message
Eclipse User
Originally posted by: Florian.Assmus.prodyna.de

Hi Anders,

I have exactly the same problem to solve. Before I start coding my own
GridHeaderRenderer I wanted to check the status of your contribution.
Any news yet?

Best regards,
Florian


Anders Baumann schrieb:
> Hi Tom.
> Thank you for your answer.
> We really need this feature so we would like to try and implement it and
> contribute it back to the Nebula project. Hopefully you will be willing to
> help and advise us.
>
> - You write that your source is a proof of concept implementation. Can you
> explain to us how the real implementation should be done? What should we
> change/improve in your source code? What features are missing or should the
> solution be conceptually different?
> - What is the procedure if we want to contribute our code?
>
> Best regards,
> Anders
>
>
>
> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
> news:fph9h1$mv7$1@build.eclipse.org...
>> Hi Anders,
>>
>> I didn't get any news from my customer :-( I've attached my sources to the
>> bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=166089 It's really only
>> a proof of concept.
>>
>> Tom
>>
>> Anders Baumann schrieb:
>>> Hi Tom.
>>> Sorry to bother you again.
>>> In our project we are planning on implementing the "fixed header row"
>>> next week. To avoid reinventing the wheel I would like to know the status
>>> of your implementation. Any news? If you are planing on contributing the
>>> feature could you then give us an estimate on when that will be? If not,
>>> could you maybe help us along the way with a rough implementation?
>>>
>>> Thanks in advance,
>>> Anders
>>>
>>>
>>>
>>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>>> news:fochq5$24n$1@build.eclipse.org...
>>>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>>>
>>>> /Anders
>>>>
>>>>
>>>> "Anders Baumann" <anb@maconomy.dk> wrote in message
>>>> news:fochfc$vcp$1@build.eclipse.org...
>>>>> Hi Tom.
>>>>>
>>>>> Thanks for your reply. I really appreciate your help.
>>>>>
>>>>> In c2 you mention a bug. Have you already created a bugzilla entry for
>>>>> this issue?
>>>>>
>>>>> Thanks,
>>>>> Anders
>>>>>
>>>>>
>>>>>
>>>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message
>>>>> news:foccke$ckv$1@build.eclipse.org...
>>>>>> Hi Anders,
>>>>>>
>>>>>> Anders Baumann schrieb:
>>>>>>> Hi Tom.
>>>>>>>
>>>>>>> In our project we also need a fixed header row for filtering. I was
>>>>>>> also thinking about putting two grids together and synchronize
>>>>>>> scrolling. Would you please share your implementation with us?
>>>>>>>
>>>>>> Currently not because this code is not clean and only a quick hack (~2
>>>>>> hours of work). I'll code a clean solution for the problem when I get
>>>>>> the job (it was only a test how much time I need for adding such
>>>>>> feature).
>>>>>>
>>>>>> There are 4 possibilities:
>>>>>> a) I get the Job and are *not* allowed to contribute back this feature
>>>>>>
>>>>>> b) I get the Job and are allowed to contribute back this feature
>>>>>> (which makes a lot of sense IMHO but my customer might not want
>>>>>> this)
>>>>>>
>>>>>> c) I don't get the job:
>>>>>> c1) I find someone else to sponsor the work on
>>>>>> this and we are back at a) or b)
>>>>>> c2) I'll try to clean my code as much as possible and attach it to
>>>>>> the bug
>>>>>>
>>>>>> My preferred solution is (b) or (c1 + b)
>>>>>>
>>>>>>> To Chris: Which solution do you think is the best for the fixed
>>>>>>> header row: Two synchronized grids or creating a new
>>>>>>> GridHeaderRenderer?
>>>>>> Using 2 Grids is IMHO not a good solution. I've currently modified
>>>>>> Grid to have an extra space below the header and below the footer
>>>>>> which are handled by designated renders.
>>>>>>
>>>>>> The more think about my current solution it seems to me more
>>>>>> appropriate to use a specialized GridHeaderRenderer requesting more
>>>>>> space and placing the editor exactly in there.
>>>>>>
>>>>>> If I get the job I also plan to write some nicer Renders for RowHeader
>>>>>> and ColumnHeaders.
>>>>>>
>>>>>> Tom
>>>>>>
>>>>>> --
>>>>>> B e s t S o l u t i o n . at
>>>>>> ------------------------------------------------------------ --------
>>>>>> Tom Schindl JFace-Committer
>>>>>> ------------------------------------------------------------ --------
>>>
>>
>> --
>> B e s t S o l u t i o n . at
>> ------------------------------------------------------------ --------
>> Tom Schindl JFace-Committer
>> ------------------------------------------------------------ --------
>
>
Re: Does GridViewer support fixed columns? [message #589946 is a reply to message #53177] Mon, 19 May 2008 05:11 Go to previous message
Anders Baumann is currently offline Anders Baumann
Messages: 55
Registered: July 2009
Member
This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C8B9A1.1B65F8C0
Content-Type: text/plain;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

Hi Florian.

We have in fact implemented a working fixed row header and we will soon =
make it more generic so that we can submit as a patch that you hopefully =
can use.

Best regards,
Anders


"Florian Assmus" <Florian.Assmus@prodyna.de> wrote in message =
news:g0k7e8$cni$1@build.eclipse.org...
> Hi Anders,
>=20
> I have exactly the same problem to solve. Before I start coding my own =

> GridHeaderRenderer I wanted to check the status of your contribution.
> Any news yet?
>=20
> Best regards,
> Florian
>=20
>=20
> Anders Baumann schrieb:
>> Hi Tom.
>> Thank you for your answer.
>> We really need this feature so we would like to try and implement it =
and=20
>> contribute it back to the Nebula project. Hopefully you will be =
willing to=20
>> help and advise us.
>>=20
>> - You write that your source is a proof of concept implementation. =
Can you=20
>> explain to us how the real implementation should be done? What should =
we=20
>> change/improve in your source code? What features are missing or =
should the=20
>> solution be conceptually different?
>> - What is the procedure if we want to contribute our code?
>>=20
>> Best regards,
>> Anders
>>=20
>>=20
>>=20
>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message=20
>> news:fph9h1$mv7$1@build.eclipse.org...
>>> Hi Anders,
>>>
>>> I didn't get any news from my customer :-( I've attached my sources =
to the=20
>>> bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D166089 It's =
really only=20
>>> a proof of concept.
>>>
>>> Tom
>>>
>>> Anders Baumann schrieb:
>>>> Hi Tom.
>>>> Sorry to bother you again.
>>>> In our project we are planning on implementing the "fixed header =
row"=20
>>>> next week. To avoid reinventing the wheel I would like to know the =
status=20
>>>> of your implementation. Any news? If you are planing on =
contributing the=20
>>>> feature could you then give us an estimate on when that will be? If =
not,=20
>>>> could you maybe help us along the way with a rough implementation?
>>>>
>>>> Thanks in advance,
>>>> Anders
>>>>
>>>>
>>>>
>>>> "Anders Baumann" <anb@maconomy.dk> wrote in message=20
>>>> news:fochq5$24n$1@build.eclipse.org...
>>>>> Sorry. I just saw in the first mail that it is bug-id is 166089.
>>>>>
>>>>> /Anders
>>>>>
>>>>>
>>>>> "Anders Baumann" <anb@maconomy.dk> wrote in message=20
>>>>> news:fochfc$vcp$1@build.eclipse.org...
>>>>>> Hi Tom.
>>>>>>
>>>>>> Thanks for your reply. I really appreciate your help.
>>>>>>
>>>>>> In c2 you mention a bug. Have you already created a bugzilla =
entry for=20
>>>>>> this issue?
>>>>>>
>>>>>> Thanks,
>>>>>> Anders
>>>>>>
>>>>>>
>>>>>>
>>>>>> "Tom Schindl" <tom.schindl@bestsolution.at> wrote in message=20
>>>>>> news:foccke$ckv$1@build.eclipse.org...
>>>>>>> Hi Anders,
>>>>>>>
>>>>>>> Anders Baumann schrieb:
>>>>>>>> Hi Tom.
>>>>>>>>
>>>>>>>> In our project we also need a fixed header row for filtering. I =
was=20
>>>>>>>> also thinking about putting two grids together and synchronize=20
>>>>>>>> scrolling. Would you please share your implementation with us?
>>>>>>>>
>>>>>>> Currently not because this code is not clean and only a quick =
hack (~2=20
>>>>>>> hours of work). I'll code a clean solution for the problem when =
I get=20
>>>>>>> the job (it was only a test how much time I need for adding such =

>>>>>>> feature).
>>>>>>>
>>>>>>> There are 4 possibilities:
>>>>>>> a) I get the Job and are *not* allowed to contribute back this =
feature
>>>>>>>
>>>>>>> b) I get the Job and are allowed to contribute back this feature
>>>>>>> (which makes a lot of sense IMHO but my customer might not =
want=20
>>>>>>> this)
>>>>>>>
>>>>>>> c) I don't get the job:
>>>>>>> c1) I find someone else to sponsor the work on
>>>>>>> this and we are back at a) or b)
>>>>>>> c2) I'll try to clean my code as much as possible and attach =
it to
>>>>>>> the bug
>>>>>>>
>>>>>>> My preferred solution is (b) or (c1 + b)
>>>>>>>
>>>>>>>> To Chris: Which solution do you think is the best for the fixed =

>>>>>>>> header row: Two synchronized grids or creating a new=20
>>>>>>>> GridHeaderRenderer?
>>>>>>> Using 2 Grids is IMHO not a good solution. I've currently =
modified=20
>>>>>>> Grid to have an extra space below the header and below the =
footer=20
>>>>>>> which are handled by designated renders.
>>>>>>>
>>>>>>> The more think about my current solution it seems to me more=20
>>>>>>> appropriate to use a specialized GridHeaderRenderer requesting =
more=20
>>>>>>> space and placing the editor exactly in there.
>>>>>>>
>>>>>>> If I get the job I also plan to write some nicer Renders for =
RowHeader=20
>>>>>>> and ColumnHeaders.
>>>>>>>
>>>>>>> Tom
>>>>>>>
>>>>>>> --=20
>>>>>>> B e s t S o l u t i o n . at
>>>>>>> =
------------------------------------------------------------ --------
>>>>>>> Tom Schindl =
JFace-Committer
>>>>>>> =
------------------------------------------------------------ --------=20
>>>>
>>>
>>> --=20
>>> B e s t S o l u t i o n . at
>>> ------------------------------------------------------------ --------
>>> Tom Schindl JFace-Committer
>>> ------------------------------------------------------------ -------- =

>>=20
>>
------=_NextPart_000_0007_01C8B9A1.1B65F8C0
Content-Type: text/html;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-15">
<META content=3D"MSHTML 6.00.6000.16640" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2>Hi Florian.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2>We have in fact implemented a =
working fixed row=20
header and we will soon&nbsp;make it more generic so that we can submit =
as a=20
patch that you hopefully can use.</FONT></SPAN></DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2>Best regards,</FONT></SPAN></DIV>
<DIV><SPAN lang=3DEN-US=20
style=3D"FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: =
'Calibri','sans-serif'; mso-fareast-font-family: Calibri; =
mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New =
Roman'; mso-ansi-language: EN-US; mso-fareast-language: DA; =
mso-bidi-language: AR-SA"><FONT=20
face=3DArial color=3D#000000 size=3D2>Anders</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>"Florian Assmus" &lt;</FONT><A=20
href=3D"mailto:Florian.Assmus@prodyna.de"><FONT face=3DArial=20
size=3D2>Florian.Assmus@prodyna.de</FONT></A><FONT face=3DArial =
size=3D2>&gt; wrote in=20
message </FONT><A href=3D"news:g0k7e8$cni$1@build.eclipse.org"><FONT =
face=3DArial=20
size=3D2>news:g0k7e8$cni$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...</FONT></DIV><FONT face=3DArial size=3D2>&gt; Hi =
Anders,<BR>&gt; <BR>&gt;=20
I have exactly the same problem to solve. Before I start coding my own =
<BR>&gt;=20
GridHeaderRenderer I wanted to check the status of your =
contribution.<BR>&gt;=20
Any news yet?<BR>&gt; <BR>&gt; Best regards,<BR>&gt; Florian<BR>&gt; =
<BR>&gt;=20
<BR>&gt; Anders Baumann schrieb:<BR>&gt;&gt; Hi Tom.<BR>&gt;&gt; Thank =
you for=20
your answer.<BR>&gt;&gt; We really need this feature so we would like to =
try and=20
implement it and <BR>&gt;&gt; contribute it back to the Nebula project.=20
Hopefully you will be willing to <BR>&gt;&gt; help and advise =
us.<BR>&gt;&gt;=20
<BR>&gt;&gt; - You write that your source is a proof of concept =
implementation.=20
Can you <BR>&gt;&gt; explain to us how the real implementation should be =
done?=20
What should we <BR>&gt;&gt; change/improve in your source code? What =
features=20
are missing or should the <BR>&gt;&gt; solution be conceptually=20
different?<BR>&gt;&gt; - What is the procedure if we want to contribute =
our=20
code?<BR>&gt;&gt; <BR>&gt;&gt; Best regards,<BR>&gt;&gt; =
Anders<BR>&gt;&gt;=20
<BR>&gt;&gt; <BR>&gt;&gt; <BR>&gt;&gt; "Tom Schindl" &lt;</FONT><A=20
href=3D"mailto:tom.schindl@bestsolution.at"><FONT face=3DArial=20
size=3D2>tom.schindl@bestsolution.at</FONT></A><FONT face=3DArial =
size=3D2>&gt; wrote=20
in message <BR>&gt;&gt; </FONT><A=20
href=3D"news:fph9h1$mv7$1@build.eclipse.org"><FONT face=3DArial=20
size=3D2>news:fph9h1$mv7$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt; Hi Anders,<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; =
I didn't=20
get any news from my customer :-( I've attached my sources to the=20
<BR>&gt;&gt;&gt; bug </FONT><A=20
href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D166089"><FONT =
face=3DArial=20
size=3D2>https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D166089</FONT></A=
><FONT=20
face=3DArial size=3D2>. It's really only <BR>&gt;&gt;&gt; a proof of=20
concept.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; =
Tom<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;=20
Anders Baumann schrieb:<BR>&gt;&gt;&gt;&gt; Hi Tom.<BR>&gt;&gt;&gt;&gt; =
Sorry to=20
bother you again.<BR>&gt;&gt;&gt;&gt; In our project we are planning on=20
implementing the "fixed header row" <BR>&gt;&gt;&gt;&gt; next week. To =
avoid=20
reinventing the wheel I would like to know the status =
<BR>&gt;&gt;&gt;&gt; of=20
your implementation. Any news? If you are planing on contributing the=20
<BR>&gt;&gt;&gt;&gt; feature could you then give us an estimate on when =
that=20
will be? If not, <BR>&gt;&gt;&gt;&gt; could you maybe help us along the =
way with=20
a rough implementation?<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; Thanks =
in=20
advance,<BR>&gt;&gt;&gt;&gt;=20
Anders<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;<BR>&gt=
;&gt;&gt;&gt;=20
"Anders Baumann" &lt;</FONT><A href=3D"mailto:anb@maconomy.dk"><FONT =
face=3DArial=20
size=3D2>anb@maconomy.dk</FONT></A><FONT face=3DArial size=3D2>&gt; =
wrote in message=20
<BR>&gt;&gt;&gt;&gt; </FONT><A =
href=3D"news:fochq5$24n$1@build.eclipse.org"><FONT=20
face=3DArial =
size=3D2>news:fochq5$24n$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt;&gt;&gt; Sorry. I just saw in the first mail =
that it=20
is bug-id is 166089.<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;=20
/Anders<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&g=
t;&gt;=20
"Anders Baumann" &lt;</FONT><A href=3D"mailto:anb@maconomy.dk"><FONT =
face=3DArial=20
size=3D2>anb@maconomy.dk</FONT></A><FONT face=3DArial size=3D2>&gt; =
wrote in message=20
<BR>&gt;&gt;&gt;&gt;&gt; </FONT><A=20
href=3D"news:fochfc$vcp$1@build.eclipse.org"><FONT face=3DArial=20
size=3D2>news:fochfc$vcp$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt;&gt;&gt;&gt; Hi=20
Tom.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR >&gt;&gt;&gt;&gt;&gt;&gt; Thanks for =
your=20
reply. I really appreciate your=20
help.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR >&gt;&gt;&gt;&gt;&gt;&gt; In c2 you =
mention=20
a bug. Have you already created a bugzilla entry for=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt; this=20
issue?<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;=20
Thanks,<BR>&gt;&gt;&gt;&gt;&gt;&gt;=20
Anders<BR>&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt=
;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;=20
"Tom Schindl" &lt;</FONT><A =
href=3D"mailto:tom.schindl@bestsolution.at"><FONT=20
face=3DArial size=3D2>tom.schindl@bestsolution.at</FONT></A><FONT =
face=3DArial=20
size=3D2>&gt; wrote in message <BR>&gt;&gt;&gt;&gt;&gt;&gt; </FONT><A=20
href=3D"news:foccke$ckv$1@build.eclipse.org"><FONT face=3DArial=20
size=3D2>news:foccke$ckv$1@build.eclipse.org</FONT></A><FONT =
face=3DArial=20
size=3D2>...<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi=20
Anders,<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
Anders=20
Baumann schrieb:<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; Hi=20
Tom.<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;=
gt; In=20
our project we also need a fixed header row for filtering. I was=20
<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; also thinking about putting two =
grids=20
together and synchronize <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; scrolling. =
Would=20
you please share your implementation with=20
us?<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
Currently not because this code is not clean and only a quick hack (~2=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; hours of work). I'll code a clean =
solution for=20
the problem when I get <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; the job (it was =
only a=20
test how much time I need for adding such =
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
feature).<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=
There=20
are 4 possibilities:<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; a) I get the Job =
and are=20
*not* allowed to contribute back this=20
feature<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
b) I get=20
the Job and are allowed to contribute back this=20
feature<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp; (which makes a =
lot of=20
sense IMHO but my customer might not want =
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
this)<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; c) =
I don't=20
get the job:<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp; c1) I =
find=20
someone else to sponsor the work=20
on<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nb=
sp;=20
this and we are back at a) or=20
b)<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp; c2) I'll try to =
clean my=20
code as much as possible and attach it=20
to<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nb=
sp; the=20
bug<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; My =
preferred=20
solution is (b) or (c1 +=20
b)<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; =
To Chris:=20
Which solution do you think is the best for the fixed=20
<BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt; header row: Two synchronized grids =
or=20
creating a new <BR> &gt;&gt;&gt;&gt;&gt;&gt;&gt;& ;gt;=20
GridHeaderRenderer?<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Using 2 Grids is =
IMHO not a=20
good solution. I've currently modified <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
Grid to=20
have an extra space below the header and below the footer=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; which are handled by designated=20
renders.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
The=20
more think about my current solution it seems to me more=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; appropriate to use a specialized=20
GridHeaderRenderer requesting more <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
space and=20
placing the editor exactly in=20
there.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
If I get=20
the job I also plan to write some nicer Renders for RowHeader=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; and=20
ColumnHeaders.<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt=
;&gt;=20
Tom<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; <BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; --=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; B e s t S o l u t i o n .=20
at<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
------------------------------------------------------------ -------- <BR>&=
gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
Tom=20
Schindl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&am p;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
JFace-Committer<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
------------------------------------------------------------ --------=20
<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt; <BR>&gt;&gt;&gt; -- <BR>&gt;&gt;&gt; =
B e s t=20
S o l u t i o n . at<BR>&gt;&gt;&gt;=20
------------------------------------------------------------ -------- <BR>&=
gt;&gt;&gt;=20
Tom=20
Schindl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&am p;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
JFace-Committer<BR>&gt;&gt;&gt;=20
------------------------------------------------------------ --------=20
<BR>&gt;&gt; <BR>&gt;&gt;</FONT></BODY></HTML>

------=_NextPart_000_0007_01C8B9A1.1B65F8C0--
Previous Topic:Gallery not receiving events
Next Topic:Row Height
Goto Forum:
  


Current Time: Wed Jul 23 06:07:52 EDT 2014

Powered by FUDForum. Page generated in 0.10843 seconds