Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » Antlr Dependency
Antlr Dependency [message #18141] Fri, 27 January 2006 13:28 Go to next message
Eclipse UserFriend
Originally posted by: stepper.sympedia.de

Hi Christian,

I just stumbled about an issue with the OCL plugin. It doesn't re-export the antlr plugin. Actually it even doesn't list it as a required bundle.

As a client of ExpressionsUtil my plugin complains:
The type antlr.ANTLRException cannot be resolved. It is indirectly referenced from required .class files

Of course I can add a dependency on antlr to my own plugin, but maybe it saves time for others, if you simply require and re-export antlr...

Cheers
/Eike
Re: Antlr Dependency [message #18159 is a reply to message #18141] Fri, 27 January 2006 14:21 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hello, Eike,

Yes, it was an oversight not to re-export ANTLR despite the ExpressionsUtil
API's client dependency.

The reason why this was missed is that the IOclHelper API has superseded the
ExpressionsUtil as a much more user-friendly interface for working with OCL
constraints of all kinds. If you use IOclHelper (created by the factory
methods on OclHelperUtil) then you will not have an ANTLR dependency, as
this API abstracts parsing problems as an OclParsingException.

We happen to be in the process of actually replace the ANTLR implementation
of the parser with something different, so this will help to insulate you
from that, as well.

All that said, we still have a bug here if you care to raise a bugzilla:
the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
We should also move that class to an internal package because it really
isn't as useful as IOclHelper (but is used internally by the helper).

Thanks!

Christian


Eike Stepper wrote:

> Hi Christian,
>
> I just stumbled about an issue with the OCL plugin. It doesn't re-export
> the antlr plugin. Actually it even doesn't list it as a required bundle.
>
> As a client of ExpressionsUtil my plugin complains:
> The type antlr.ANTLRException cannot be resolved. It is indirectly
> referenced from required .class files
>
> Of course I can add a dependency on antlr to my own plugin, but maybe it
> saves time for others, if you simply require and re-export antlr...
>
> Cheers
> /Eike
Re: Antlr Dependency [message #18175 is a reply to message #18159] Fri, 27 January 2006 14:50 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: stepper.sympedia.de

Thx!

I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479

Cheers
/Eike



Christian W. Damus schrieb:
> Hello, Eike,
>
> Yes, it was an oversight not to re-export ANTLR despite the ExpressionsUtil
> API's client dependency.
>
> The reason why this was missed is that the IOclHelper API has superseded the
> ExpressionsUtil as a much more user-friendly interface for working with OCL
> constraints of all kinds. If you use IOclHelper (created by the factory
> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
> this API abstracts parsing problems as an OclParsingException.
>
> We happen to be in the process of actually replace the ANTLR implementation
> of the parser with something different, so this will help to insulate you
> from that, as well.
>
> All that said, we still have a bug here if you care to raise a bugzilla:
> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
> We should also move that class to an internal package because it really
> isn't as useful as IOclHelper (but is used internally by the helper).
>
> Thanks!
>
> Christian
>
>
> Eike Stepper wrote:
>
>
>>Hi Christian,
>>
>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>
>>As a client of ExpressionsUtil my plugin complains:
>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>referenced from required .class files
>>
>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>saves time for others, if you simply require and re-export antlr...
>>
>>Cheers
>>/Eike
>
>
Re: Antlr Dependency [message #18261 is a reply to message #18175] Fri, 27 January 2006 19:38 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hi, Eike,

I'm thinking that I have to reject your bug as "works for me" because ...
well ... it does. The OCL plug-in's bundle manifest does re-export the
ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
with only a dependency on org.eclipse.emf.ocl, and invocations of
ExpressionsUtil compile and work.

Could something be amiss in your configuration? Do you have an extra antlr
plug-in on your classpath that is missing the antlr.jar from its lib/
directory?

cW


Eike Stepper wrote:

> Thx!
>
> I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>
> Cheers
> /Eike
>
>
>
> Christian W. Damus schrieb:
>> Hello, Eike,
>>
>> Yes, it was an oversight not to re-export ANTLR despite the
>> ExpressionsUtil API's client dependency.
>>
>> The reason why this was missed is that the IOclHelper API has superseded
>> the ExpressionsUtil as a much more user-friendly interface for working
>> with OCL
>> constraints of all kinds. If you use IOclHelper (created by the factory
>> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
>> this API abstracts parsing problems as an OclParsingException.
>>
>> We happen to be in the process of actually replace the ANTLR
>> implementation of the parser with something different, so this will help
>> to insulate you from that, as well.
>>
>> All that said, we still have a bug here if you care to raise a bugzilla:
>> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
>> We should also move that class to an internal package because it really
>> isn't as useful as IOclHelper (but is used internally by the helper).
>>
>> Thanks!
>>
>> Christian
>>
>>
>> Eike Stepper wrote:
>>
>>
>>>Hi Christian,
>>>
>>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>>
>>>As a client of ExpressionsUtil my plugin complains:
>>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>referenced from required .class files
>>>
>>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>>saves time for others, if you simply require and re-export antlr...
>>>
>>>Cheers
>>>/Eike
>>
>>
Re: Antlr Dependency [message #18278 is a reply to message #18261] Fri, 27 January 2006 21:31 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: stepper.sympedia.de

Gosh, you're completely right!!!

I have no idea, why it didn't work earlier this day. Now, that I removed my extra dependency, everything works.
Maybe it's because I'm frequently exporting plugins to my install location.
From time to time it confuses Eclipse's internal caches, especially when a jar-plugin changes to a normal plugin or vice versa.

Anyway, please forget about the request.

Cheers
/Eike


Christian W. Damus schrieb:
> Hi, Eike,
>
> I'm thinking that I have to reject your bug as "works for me" because ...
> well ... it does. The OCL plug-in's bundle manifest does re-export the
> ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
> with only a dependency on org.eclipse.emf.ocl, and invocations of
> ExpressionsUtil compile and work.
>
> Could something be amiss in your configuration? Do you have an extra antlr
> plug-in on your classpath that is missing the antlr.jar from its lib/
> directory?
>
> cW
>
>
> Eike Stepper wrote:
>
>
>>Thx!
>>
>>I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>>
>>Cheers
>>/Eike
>>
>>
>>
>>Christian W. Damus schrieb:
>>
>>>Hello, Eike,
>>>
>>>Yes, it was an oversight not to re-export ANTLR despite the
>>>ExpressionsUtil API's client dependency.
>>>
>>>The reason why this was missed is that the IOclHelper API has superseded
>>>the ExpressionsUtil as a much more user-friendly interface for working
>>>with OCL
>>>constraints of all kinds. If you use IOclHelper (created by the factory
>>>methods on OclHelperUtil) then you will not have an ANTLR dependency, as
>>>this API abstracts parsing problems as an OclParsingException.
>>>
>>>We happen to be in the process of actually replace the ANTLR
>>>implementation of the parser with something different, so this will help
>>>to insulate you from that, as well.
>>>
>>>All that said, we still have a bug here if you care to raise a bugzilla:
>>>the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
>>>We should also move that class to an internal package because it really
>>>isn't as useful as IOclHelper (but is used internally by the helper).
>>>
>>>Thanks!
>>>
>>>Christian
>>>
>>>
>>>Eike Stepper wrote:
>>>
>>>
>>>
>>>>Hi Christian,
>>>>
>>>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>>>
>>>>As a client of ExpressionsUtil my plugin complains:
>>>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>>referenced from required .class files
>>>>
>>>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>>>saves time for others, if you simply require and re-export antlr...
>>>>
>>>>Cheers
>>>>/Eike
>>>
>>>
>
Re: Antlr Dependency [message #18312 is a reply to message #18159] Mon, 30 January 2006 07:38 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: solomono.yahoo.com

Hi
What is the reason you are changing the parser generator from Antlr,
what is it being changed to. Will it be possible to extend this new
implementation, indeed is it possible to extend the Antlr
implementation to support perhaps ASL
Thanks
Solomon

Christian W. Damus wrote:
> Hello, Eike,
>
> Yes, it was an oversight not to re-export ANTLR despite the ExpressionsUtil
> API's client dependency.
>
> The reason why this was missed is that the IOclHelper API has superseded the
> ExpressionsUtil as a much more user-friendly interface for working with OCL
> constraints of all kinds. If you use IOclHelper (created by the factory
> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
> this API abstracts parsing problems as an OclParsingException.
>
> We happen to be in the process of actually replace the ANTLR implementation
> of the parser with something different, so this will help to insulate you
> from that, as well.
>
> All that said, we still have a bug here if you care to raise a bugzilla:
> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
> We should also move that class to an internal package because it really
> isn't as useful as IOclHelper (but is used internally by the helper).
>
> Thanks!
>
> Christian
>
>
> Eike Stepper wrote:
>
>
>>Hi Christian,
>>
>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>
>>As a client of ExpressionsUtil my plugin complains:
>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>referenced from required .class files
>>
>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>saves time for others, if you simply require and re-export antlr...
>>
>>Cheers
>>/Eike
>
>
Re: Antlr Dependency [message #18395 is a reply to message #18312] Mon, 30 January 2006 14:05 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hi, Solomon,

The licensing of ANTLR is in doubt, vis-a-vis originality of all of the
code, of which many contributions are apparently unattributed. It can't be
redistributed under the Eclipse license.

We are looking for another open-source parser, possibly the Jikes parser
generator that is used by Eclipse JDT. Also a possibility is reworking the
OCL code to support plugging in any parser implementation. Perhaps this
would address your extension requirement.

In any case, the plan is not yet settled, so I don't have a clear answer for
you. This iteration has the ANTLR replacement scheduled; add yourself to
the cc list of https://bugs.eclipse.org/bugs/show_bug.cgi?id=114106 to keep
abreast of things.

Cheers,

Christian


Solomon Obi wrote:

> Hi
> What is the reason you are changing the parser generator from Antlr,
> what is it being changed to. Will it be possible to extend this new
> implementation, indeed is it possible to extend the Antlr
> implementation to support perhaps ASL
> Thanks
> Solomon
>
Re: Antlr Dependency [message #18421 is a reply to message #18261] Tue, 31 January 2006 07:06 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: stepper.sympedia.de

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

Hi Christian,

Sorry, I have to raise this issue again.
When I look into the ocl manifest.mf (in the jar), it is:

Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.edit,
org.eclipse.emf.ecore.edit,
com.ibm.icu,
antlr;visibility:=reexport
Eclipse-LazyStart: true

However, when the ocl plugin is loaded, the manifest is displayed as:

Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.edit,
org.eclipse.emf.ecore.edit
Eclipse-AutoStart: true
Import-Package: antlr,
antlr.collections.impl

I have the feeling that this is not particularly OCL related,
but on the other hand this effect only occurs with the
stupid antlr dependency ;-(

With respect to your former question, whether I have antlr.jar properly installed,
the plugin-registry looks like in the attached jpg.

Any idea why the ocl manifest is altered by Eclipse?
In addition Eclipse-LazyStart is turned into Eclipse-AutoStart...

Cheers
/Eike



Christian W. Damus schrieb:
> Hi, Eike,
>
> I'm thinking that I have to reject your bug as "works for me" because ...
> well ... it does. The OCL plug-in's bundle manifest does re-export the
> ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
> with only a dependency on org.eclipse.emf.ocl, and invocations of
> ExpressionsUtil compile and work.
>
> Could something be amiss in your configuration? Do you have an extra antlr
> plug-in on your classpath that is missing the antlr.jar from its lib/
> directory?
>
> cW
>
>
> Eike Stepper wrote:
>
>> Thx!
>>
>> I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>>
>> Cheers
>> /Eike
>>
>>
>>
>> Christian W. Damus schrieb:
>>> Hello, Eike,
>>>
>>> Yes, it was an oversight not to re-export ANTLR despite the
>>> ExpressionsUtil API's client dependency.
>>>
>>> The reason why this was missed is that the IOclHelper API has superseded
>>> the ExpressionsUtil as a much more user-friendly interface for working
>>> with OCL
>>> constraints of all kinds. If you use IOclHelper (created by the factory
>>> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
>>> this API abstracts parsing problems as an OclParsingException.
>>>
>>> We happen to be in the process of actually replace the ANTLR
>>> implementation of the parser with something different, so this will help
>>> to insulate you from that, as well.
>>>
>>> All that said, we still have a bug here if you care to raise a bugzilla:
>>> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
>>> We should also move that class to an internal package because it really
>>> isn't as useful as IOclHelper (but is used internally by the helper).
>>>
>>> Thanks!
>>>
>>> Christian
>>>
>>>
>>> Eike Stepper wrote:
>>>
>>>
>>>> Hi Christian,
>>>>
>>>> I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>>> the antlr plugin. Actually it even doesn't list it as a required bundle.
>>>>
>>>> As a client of ExpressionsUtil my plugin complains:
>>>> The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>> referenced from required .class files
>>>>
>>>> Of course I can add a dependency on antlr to my own plugin, but maybe it
>>>> saves time for others, if you simply require and re-export antlr...
>>>>
>>>> Cheers
>>>> /Eike
>>>
>


--------------020003030002010500020006
Content-Type: image/jpeg;
name="plugin-rgistry.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="plugin-rgistry.jpg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkSEw8UHRof
Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwL DBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAAR
CAClAc4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI CQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS 0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI CQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2bxH4ksfDWnG6u23MeI4l PzOfQV5vJ8Zb
/wAxvL0i3MeTtLSMDjtmrHxc3vqenx7m2eSW254zu64rA0TS4LW1nvBdATCJ 5YhtKttX+JT6
bsjPqPavdwmFwscKq1Zczleyu1s7dDzK9es6zp03ZI1f+Fy6l/0CLX/v41H/ AAuXUv8AoEWv
/fxqseOVtprUWLXVqrwOZFIjCu+EB2sFGMndwcADB65rk9L8O2+oW1uXu5or i5uGt4Y0tw67
gFOWbcCB846A4wTV5b/ZuNoOr7Pls7NXk/x6/IjFPF0KnJz367JHSf8AC5dS /wCgRa/9/Go/
4XLqX/QItf8Av41c1qHhqaC8tYbaNpFuRGsZZ1+aQojMO2Blx1qu/hy/jsTe PCixBBIQZk3h
CcBtmd2CSOcd69FZflzSfLv/AHn/AJnK8Xi07X/Bf5HW/wDC5dS/6BFr/wB/ Go/4XLqX/QIt
f+/jVylp4du76yFxbR7gC+8u6IihdvO5mH98ZyB9TzhbXw+7as1jeu1vsieV 2RRL8qoX+XDA
NkDg5xzTeXZcr+7t5v8AzEsXi3bXfyX+R1X/AAuXUv8AoEWv/fxqP+Fy6l/0 CLX/AL+NXMT+
HGaW3+wyGaGeEzq84WDYoYqS+WKryODu5yO5xSReFNUmlaNbeMEOIwXuI1Ds RkBCWAfIIPy5
6j1pf2fltruP4tfqP63i+/4L/I6j/hcupf8AQItf+/jUf8Ll1L/oEWv/AH8a uXk8L3yo0iRD
y1QPmWSNC3yByFG75sA54ycYyB0qW98IXtojSo1vLAkUcjyC4jG0sm7BG76g euOOtH1DLbpW
X/gT/wAx/WsZ3/Bf5HR/8Ll1L/oEWv8A38aj/hcupf8AQItf+/jVxs+i3dsk zyxBVhZFc71I
y4LLjB5yBnjNRWkFsLyH7YJDbbx5vlY37c87c8ZxVPLMAouShe3Zv/MlY3E3 ScreqX+R39p8
YbiSQLdWEUCkgbkBfA7k8jp+Ndho/itddjLWN9aOw5ZDbsGAz3G/2rg9T8Da Vo+m3Wr3F/LN
YTIP7NSJSJHZxuXfkYAA/Meh4PGWzT2c6zW0rxSL0ZDjvn+leYsuwuNjKWFv G1t9vTv6/qdb
xdfDtKvZ3+//ACPoT7VqH/Pa1/78N/8AF0fatQ/57Wv/AH4b/wCLrl/CniuP WoBb3JEd8g5H
Zx6iunr52tTqUZunU0aPVpzjUipR2F+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+ G/8Ai6Sis+Zl
2F+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+G/8Ai6SijmYWF+1ah/z2tf8Avw3/ AMXR9q1D/nta
/wDfhv8A4ukoo5mFhftWof8APa1/78N/8XR9q1D/AJ7Wv/fhv/i6SijmYWF+ 1ah/z2tf+/Df
/F0fatQ/57Wv/fhv/i6SijmYWF+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+G/8A i6SijmYWF+1a
h/z2tf8Avw3/AMXR9q1D/nta/wDfhv8A4ukoo5mFhftWof8APa1/78N/8XR9 q1D/AJ7Wv/fh
v/i6SijmYWF+1ah/z2tf+/Df/F0fatQ/57Wv/fhv/i6SobpkFs6vIqbwUBI3 ZJHTHf6d6OZh
Yn+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+G/8Ai6oR3TLMY/mJUfNFtJZVGOd3 8R5GRk9eOnzX
EkSVA8bq6noynINHMwsP+1ah/wA9rX/vw3/xdH2rUP8Anta/9+G/+Lpg+eTy w23jLN6D29+P
89CixTpuVfKZdx2lpTnGeO3pT94NCT7VqH/Pa1/78N/8XR9q1D/nta/9+G/+ LpiOJI1cZwwB
GarefczTzJawwMIXCOZZih3bQ3ACnjDD9azlV5NWxqN9i59q1D/nta/9+G/+ Lo+1ah/z2tf+
/Df/ABdUAk+nWjXVxKHG55LhBIXCLuJBUkA4C4BXHbI54a9ShV50OULC/atQ /wCe1r/34b/4
uj7VqH/Pa1/78N/8XVC5vka0kNrPH5ol8kAsAd4OCozxvxnGeM47Vlw6la29 4zWnnLDLcpC8
cijY0hCKcH7wcZBIbrhu+SM54pQkl3LjRck2dBJe30UbSPPahVBYnyG4A/4H Tzc6irEGW1yO
D+4b/wCLqtf/APIOuv8Ark/8jVuX/XP/ALxro5mZWG/atQ/57Wv/AH4b/wCL o+1ah/z2tf8A
vw3/AMXWVDDcXl5NHFOE2AsS5kOcyOMDDgDAUVP9nvLC5g8y4jljnfyyu18j Cs2QWc+lauEk
r3M1NN2sXvtWof8APa1/78N/8XR9q1D/AJ7Wv/fhv/i6ZJGksbRyIrowKsrD IIPUEVj/APCP
WflfY/7O0/7N/wA9/JXztv8Aczj/AMfzuxxjd89ZKT7mljb+1ah/z2tf+/Df /F0fatQ/57Wv
/fhv/i6ZHGkUaxxoqIoCqqjAAHQAVlTaL5l7c3HlaXN57h/9LsPOZcIq4Dbx x8uenc0KT7hY
2PtWof8APa1/78N/8XR9q1D/AJ7Wv/fhv/i6zdO0z7Dc3E+2zTzURPLtLbyV G0sckbjknd+g
pl7pcOra5ZQTthVtp3H7qOTndEOkisO/pmmm27XA1DdaiBkSWrH08lhn8dxx +VXbO+W63Iy+
XOn3oyc8diD3HvXNXPh610nUdLngfLNcsh/0eCPjyZD1jjU9vXFbFqANYjI6 m3fPvhkx/M/n
TTadmI4X4oR+Zq9j7QH/ANCNVNGXQ59KtYdXvWi8mMoEQnJVpHLo2I+jDZzu J44287t3xtYS
an4ksLSIoJHgOC5wOCx7fSsWXwXeQqGlurKNSwUF5GAJJwB93qSQK+io1KDw dOnUnyvV/i0e
PVjVWJnOEbrRfgit4v1Sz1EW9lYwxLb2zM0ZiTauG7Y/X/PGLHqF3BpH9n28 s0MbSO8nlylR
IGVRtIHX7v6103/CDah/z2tP++2/+Jo/4QbUP+e1p/323/xNdWGr4HD0lSU0 0u5hWp4qrUdT
ltcy4tdg8yzefT3kazdHh2T7RlURTu+U5HyA8Yx70+e8sm0qafeP7Snt4oMR O2AEZSCQUABw
g5Dnnt6aP/CDah/z2tP++2/+Jo/4QbUP+e1p/wB9t/8AE1X1rA3TU7fNkqli rWcfwMN9bup9
Kls7szXMkgYefLMWIBaM459PL9e9Rx6pJDqi38UbJIlsIF2yYKkReXuBx+Nd AfA2oAEme0AH
+23/AMTTYvBV7PEksV1ZSRuoZHSRiGB6EHbyKtYzApNKS1/Un2GK0vF6GXB4 gkSf7TLHcNdy
Q+RPcRXJjeRRjaQcHDDaATyCOozk1csdTsZ5o7jUZZz9luPtEPnXLPMThcgk REMPkGMlcetW
j4G1AAkz2gA/22/+JpsXgq9niSWK6spI3UMjpIxDA9CDt5FRLE4F7Tt8y40s Wvs3Mxtcje3k
jksnfdGECNMGiyI1QMUKn5htyCCp5xmqt7qMd3p32cWrJK3k+ZJ5uVPloUGF xxkH1Nb/APwg
2of89rT/AL7b/wCJo/4QbUP+e1p/323/AMTVRxeBi7qS+9kuji3vH8jn9Tux daZp9orBzDHm
VgpGW6KD67VCis63X7PcxT+VHJ5bh9kq7lbBzhh3B712P/CDah/z2tP++2/+ JqtD4Xe4vJ7O
DUtMlurfHnQJPueLPTcoGRn3qljsHyOnzqzv+JP1fE8ylyvS34FKfxXrF3/a CXUkc8N6hRoJ
V3Rx+hQZ+Ujt78nJ5rn/ALP7V23/AAg2of8APa0/77b/AOJo/wCEG1D/AJ7W n/fbf/E1NHF4
Cjf2ckr2/AqpRxdS3Om7HGwrJbzJNCxSRDlWXqDXpPh/xbBfRx296wiusYLH hWx3z2rI/wCE
G1D/AJ7Wn/fbf/E0xPBd5K0ix3Vk7RttcLIxKnAOD8vBwQfxrnx1TA4uPvTS a2f9dDXDRxWH
ekbrsehAgjI5FFchZ6B4hsWzBqEAGclTIxBPv8tX/s3in/n9sf8Avk//ABNf PTwqTtGpF/M9
eNdtawaOgorn/s3in/n9sf8Avk//ABNH2bxT/wA/tj/3yf8A4mp+r/34/eP2 391/cdBRXP8A
2bxT/wA/tj/3yf8A4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBRXP8A2bxT /wA/tj/3yf8A
4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBRXP8A2bxT/wA/tj/3yf8A4mj7 N4p/5/bH/vk/
/E0fV/78fvD2391/cdBRXP8A2bxT/wA/tj/3yf8A4mj7N4p/5/bH/vk//E0f V/78fvD2391/
cdBRXP8A2bxT/wA/tj/3yf8A4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBR XP8A2bxT/wA/
tj/3yf8A4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBTXRZFCuMgEN+IOR+o rB+zeKf+f2x/
75P/AMTR9m8U/wDP7Y/98n/4mj6v/fj94e2/uv7jQhD/ANtzkxMF2ff8sAHh MfNjJ/i7+lXo
0WKNY0GFUBQPQCsH7N4p/wCf2x/75P8A8TR9m8U/8/tj/wB8n/4mj6v/AH4/ eHtv7r+43ZE3
gEHaw6N6f/WqKO3+T96zlySTiVscmsf7N4p/5/bH/vk//E0fZvFP/P7Y/wDf J/8AiaPq7/nX
3h7b+6/uN8AKAAAAOABVWbTreeVpW85Hb73lTvGGPTJCkAnGBn2HpWV9m8U/ 8/tj/wB8n/4m
j7N4p/5/bH/vk/8AxNTLCqStKUX8xqu1tFl2y0+dPlvJvMiilZoU3s+RuJUu W5JAIAHIGM5J
xt065/7N4p/5/bH/AL5P/wATR9m8U/8AP7Y/98n/AOJpQwcYK0ZR+8csQ5O7 i/uJrqFrO5iY
2P2yF5HClCd67w5IZcbWXLMAzEY3/UnStYJEs44rlhK6nJz82OcgZPJxwMnk 4z1rH+zeKf8A
n9sf++T/APE0fZvFP/P7Y/8AfJ/+JqIYCMJOSmtfMqWKclblf3Gxf/8AIOuv +uT/AMjVuX/X
P/vGuc+zeKf+f2x/75P/AMTR9m8U/wDP7Y/98n/4mtvq/wDfj95n7b+6/uLU mnW0l1Mmo6Wm
pWrhWRWjjYK25z0duvz9R606HT7C2ng/szQl08ebvmZI4kDAI4GdjEnlv1NU /s3in/n9sf8A
vk//ABNH2bxT/wA/tj/3yf8A4mteSVuXnj95HNG9+V/cdBRXP/ZvFP8Az+2P /fJ/+Jo+zeKf
+f2x/wC+T/8AE1l9X/vx+8v2391/cdBRXP8A2bxT/wA/tj/3yf8A4mj7N4p/ 5/bH/vk//E0f
V/78fvD2391/cdBVe4sobqWOVzMskasqvDO8ZwcZGVIyPlH5Vj/ZvFP/AD+2 P/fJ/wDiaPs3
in/n9sf++T/8TR9X/vx+8Pbf3X9xqJpsCTxTF7qR4mLJ513LIFJBGcMxGcEj 8au2v/IXi/64
Sf8AoSVz32bxT/z+2P8A3yf/AImp/DdzqD+JLq01CWOSS3g4MYwPmKn0HtT+ rtJyUk7dn8v1
D2ybUWmrmH8TLX7bq+m2u23bzWgTFxD5sZzMPvJkbh7ZFULvS20O802x8nSY 1kmSU/2dpwtV
z9oth03Mc+vIB444FdbrUby+PNJSN1RjA+GZdwHD9sj+dbX9nXn/AD9wf+A5 /wDi60rN8tK3
RP8A9KkKl8VT1/RHk76vf6XbiztvEUUCm9vPtE17cwW/kSCUlI9xt3A3KzPh ly2MqQBg9j4Y
udS1Ca7ub7Uo5liZIlhtQpgJMMTllfbuYZZsHIGD0PGOn/s68/5+4P8AwHP/ AMXTZLK5ijaS
S+tkRAWZmgIAA6knfXKovsbto88udV15EurlNakCrFe3CxfZ4tq+RNtRM7c7 Spw2TngYK85d
F4hv7zxe9lDqQ+zTSTWzWhuIWmgKoxD+UsOUBKZUvI2Qfu88egx2VzLGskd9 bOjgMrLASCD0
IO+ua8X69eeFPsfyQXX2nf8AwlNu3b7nP3v0qoUZ1H7OKu9f6+RM6kYrmbOa 0TVok0zSrK48
WtawLZReWXa2VriX7rwEsn8GFXaAH+bknimrqGtaH4b082+pGdZ9LjlxNGiJ agNCpZWVCQAk
jElw4G0HGAQT/hZt5/0DoP8Avs0f8LNvP+gdB/32a6v7PxV78n4rz8/MxWLo 9/zJIdevZLK2
i1DxZYw2srThdQsbmC4MjKE2QmQwrHuO5ztEYJCjHQ53IjpX/CutMXWZLRLN rOAFr5QYd20b
d4JAIzjgkCqfh7xtea9rttpn2WCDzt37zlsYUt0yPT1ruv7OvP8An7g/8Bz/ APF1z1sPUpPl
nGzdv1NadWM1zRfc8quJfDCeHbKxvv7JS5me5Swup2SKCGPzPmnhLYCLyCiq SfugMQC9dG+j
6PqfjC0ltrCxeWyVbu5vkhTzZHIxEpkAyeMueeydjXZf2def8/cH/gOf/i6P 7OvP+fuD/wAB
z/8AF1nZ/wBf1/TLdmcRf65eQ+KWtV1TZcLeQQwaTsjH2iBgu+Xld7bcucqQ o8vBHXN3whZt
Y6LeST6hdXKPd3TMJVQbMTSbiNiKcnqc59sdK6r+zrz/AJ+4P/Ac/wDxdH9n Xn/P3B/4Dn/4
ulyvltYL6nmMM/g6xi1idk0i60IpAcWUaC3Z97bI5Bkq0uSCWZgMFchQMmeT S9C1PwxYWEMG
jahc3k0kVs8Kx3MdmjMXkEbYICxrwOgyFGBkCvR/7OvP+fuD/wABz/8AF0f2 def8/cH/AIDn
/wCLo5WFzjfEF/Do97punHxCmg2H2OXa5MILMhjCKDKrDoTwBk1k6D4jnsrt 5tcuIrD7WrPM
JgI1Nz5NthRu6Ny+EznrwcV6E2iTNeR3ZuIDPHG0av5DcKxBIxvx1UflU39n Xn/P3B/4Dn/4
uhJ282GmljzS18T3k8li114h+y3jy2SR6dthU3UcgjLyYZS7ZLOMoVA24xkG tPXNQ1uHWbWM
rZ2Lyfu4pYWFwxRriBSTvjXacMflGR0POBXUT+FPtOpR3812XljIKoWm8oEd D5Xm7MjrnbnO
D1FaH9nXn/P3B/4Dn/4unbVOwjzXV9d1TSZJLWXxCwS3uJUDn7Ml3c/u4mVU V0EUmDIcqNjE
YwSeD31pfW949xHDIWktnEUwKldrlVbHPsynj1q21heKpb7XBwM/8e5/+Lqr L58TFTcRtgkZ
Fv8A/bKFCUlZIG0ixRVNJpXcr9oRTtLfNbccDPaSp1hutm5rqEc44tyf/Z6U qco6SQKSexLR
UflT/wDP3F/4DH/4ujyp/wDn7i/8Bj/8XU2GSUVH5U//AD9xf+Ax/wDi6PKn /wCfuL/wGP8A
8XRYCSio/Kn/AOfuL/wGP/xdHlT/APP3F/4DH/4uiwElFR+VP/z9xf8AgMf/ AIujyp/+fuL/
AMBj/wDF0WAkoqPyp/8An7i/8Bj/APF0eVP/AM/cX/gMf/i6LASUVH5U/wDz 9xf+Ax/+Lqnq
lzPpml3N6Z4pPJQsEFuRuPYZ38UWA0KKY0FwrFTdw5Bx/wAex/8Ai6Typ/8A n7i/8Bj/APF0
WAkoqPyp/wDn7i/8Bj/8XR5U/wDz9xf+Ax/+LosBJRUflT/8/cX/AIDH/wCL o8qf/n7i/wDA
Y/8AxdFgJKKj8qf/AJ+4v/AY/wDxdHlT/wDP3F/4DH/4uiwElFR+VP8A8/cX /gMf/i6PKn/5
+4v/AAGP/wAXRYCSio/Kn/5+4v8AwGP/AMXR5U//AD9xf+Ax/wDi6LASUVH5 U/8Az9xf+Ax/
+Lo8qf8A5+4v/AY//F0WAkoqPyp/+fuL/wABj/8AF0eVP/z9xf8AgMf/AIui wElFR+VP/wA/
cX/gMf8A4ujyp/8An7i/8Bj/APF0WAkoqPyp/wDn7i/8Bj/8XTZEuIwCbmI5 GcC3PTP+/wC1
OMHJ2QNpbk1Y+if8j3qv/XBP5JVo3Ein5p1A9fs3/wBsqpoQZfHWrK7q7LCo LKu0HG0dMn+d
ddGnKEKnMun/ALdE56sk5Qt3/Rk+o/8AJQ9H/wCuEn/oL1Zv7i4hu7gx6Vq2 pfvtuLK6jjEQ
EaHkPLGOSx6Z6HOOKraj/wAlD0f/AK4Sf+gvW3dWcIZpt0qPJIm7bO6g5IXo GAzjA/oehqt8
FP0f/pUh0vjn6/oiLS5Zdswa3ulzIp8uaUO8OUjJVjuIyCx6Ejg4J4zz/ii7 1RjJBd2rQaO7
xBZkVWZmJXCvhjgbs84HIAyc89db20VsriMN87bmLuWJOAOpJPQCm3dpb39p Ja3UQkhkGGU/
mCD1BB5BHIIyKzpS5JXaLnHmVjidDvbiO0ji0d5Z5lklWSDG9BiUgbskBPl3 EcruI71W+IVr
JqE/h2K5TDFJ3nG8R7QFQuc/NjGD03dOM13unwW1rZJb2kQigiLIqg56Egkn JySckk85PPOa
5jx1oGo6udPu9PvIrR7MyEyM7q2W2gbdoJJ4xjryMU8GlTxTqylo7vXZXuTX TnRUEtdDz+70
PRbK0W+L3dxby+V5SxTAffMgPzNGCf8AV5Hyjr+NXbawsbGOS2WCRp0k1CAX G5RuCxdxtyeD
wM8HJ74qT/hBfE2q7/N1iGZlILLcSzhu+Dh0zjlsH6+9WF+Hni1FmVNZt1WZ i0oF1KBIT1Lf
LyfrXte3pSX8RP5/1/wTg9nOL+D+v6sUvDFtZ2XxQtbSzE+yB54y0zhixCOM 8AYHtz/SvZK8
48NeAtZ0nxTbatfXdpMqF2kKyOzsWRhnlRnk+tej152OnGc48rvp/mdeGi4x d1bUKKKK4joC
iiigAooooAKKKKACiiigBsn+qf8A3TXCeIpdUubw6dpyNCJnk829J4iUNyBz ncc/4dyvdyf6
p/8AdNc9dW5W4kO1CWYk4nYc9+PLOPzNb4dpNmdTYwtEuNQeC5h1KDZcQRyJ 5q42Tfuydy//
AKv6gdaf+Pdf94/yFZcFujysreWu6NgT5zNxg5wDGvOM9/zq1cx6vKqDTo7E xgks1xK6nPoA
qnj3z39uZxbvJWCjomefxXGr2sN9rFnBqAa1lvXmmvr4yW06K0gREi8xiuGC c7UwFPJzg62q
a9renG5Hm6ax0+0W9uV8h91wrO4CRjf8hATG47ssR8o6Vt/2Vrxt3t/sWheR Ju3xb5NrbiS2
RswcknPrmorvQNWv57ee80vw9cTWzboJJt7tE3BypKfKeB09BXNZ6aG19zAv PFus6bZjVJ4r
Gezea7hS1jjZJV8oSsGMhYgg+VgjaMbs54wZLTW/Fkr2tvc2VravdThIrmeF dpXypHOI47iT
JBReS65DdBjNaOm+EdR0m4mubXTNAW7naRpbnLCV97liCwjBIyeh9BUtj4Wv tMbdYaJ4ZtG3
b8wK0Z3YIzxH1wSPxNFvIG+xnpqeq6fda7eT3ltPYWuoRq8ZiYNDEUj3NuMh ACht2NvZj346
DRru4v8ASoby4RUM+ZI1VSpEZJKZBP3tu3Pvnis+98N6zfJd7rPRYpruIQz3 EUjrK8f90vsz
jqPx4xV9bPxMqhVh0cADAAmk/wDiKnldrWC+poUVQ+y+J/8AnlpH/f6X/wCI o+y+J/8AnlpH
/f6X/wCIo5WFy/RVD7L4n/55aR/3+l/+Io+y+J/+eWkf9/pf/iKOVhcv1keK f+RY1D/rl/UV
Y+y+J/8AnlpH/f6X/wCIqrqWk+JNQ024tJE0pUlQgss0mR/45RysLlvxKLka Xey2Zk+0Qjzo
1RsFyh3bfocYx71y1z4g1H7GbvR3N1NfSy3EEZhEyfZowE3AtNEqgnDfeJO/ gHkjq5bfxNJK
7LDpAViSAZ5DgfXZWdceGtSu4LeC50fw3NDbY8iOUMyxY4G0GP5fwo5X/X9e n4hdGL4a8QPd
andMUijjvI2vWBOSpENtwDnp85z+FN0vxV4h1e/t/sulJLZr9nW6ZFjwPMjR 2cM04ZQA/C+W
+dvXnjam8L39xFHFPonhmWONxIiOrMFYAKGAMfBAAGfQCh/C19LdW91Jonhl 7i2VVglZWLxB
fuhT5eVA7Y6Vdtdu39foLob9FUPsvif/AJ5aR/3+l/8AiKPsvif/AJ5aR/3+ l/8AiKjlY7l+
iqH2XxP/AM8tI/7/AEv/AMRR9l8T/wDPLSP+/wBL/wDEUcrC5foqh9l8T/8A PLSP+/0v/wAR
R9l8T/8APLSP+/0v/wARRysLl+iqH2XxP/zy0j/v9L/8RR9l8T/88tI/7/S/ /EUcrC5foqh9
l8T/APPLSP8Av9L/APEUfZfE/wDzy0j/AL/S/wDxFHKwuX6KofZfE/8Azy0j /v8AS/8AxFH2
XxP/AM8tI/7/AEv/AMRRysLl+iqH2XxP/wA8tI/7/S//ABFH2XxP/wA8tI/7 /S//ABFHKwuX
6yfEV5d2dqGsbRrq4aNVRAQACWYZbnoO/wDQZIn+y+J/+eWkf9/pf/iKmube UpC06w+cIwr7
JWUA85x8jZGc4PH0rowytPUzqaxOS03+2rG9NnqR+2RSKZVuk4CN/Eh6cZPH t2xwu34fOfHe
t/Rv/QhU5hTcN6x4z3uHx/6KqLQ08vx5rC5BPlgsR0ydpP65rvnK9Ofp/wC3 ROW3vx9f0ZPq
P/JQ9H/64Sf+gvXSXJ2xKc4/eIOuP4h7j/PY9Dzeo/8AJQ9H/wCuEn/oL10l ySIlwGJ8xPug
k/eHoRx6+3Y9K5a3wU/R/wDpUjal8c/X9ES1n6szrHBsjnl/eMfKgk2PJiNy FBLKMkgdSB6k
VoVFcW0VyqCQN8jblKOVIOCOoIPQmsDYwrK6uZLiF30jV7AiXaEvLqOTzgY5 DhQkzjgqPvY6
jHfFvVpiJtP3xlB9qIy5GD+7lHY+2fxHvi6lhBHKkoMzMhyu+d3AOCOhJHQm pp4IbqFobiKO
WJvvJIoZT35BrOpBzg4oqEuWV2eeS+NtBu5vI/sqb7X8w23losYjIBJDFuh4 xgck4Heu20Jx
JpELqwKMzlAD91d7bV9sDAx2xiuM/wCFZsLkS/2tF9pJMnn/AGFt27P3t3mf eyc12Oi6R/Y0
dzClwZIJJjJFGVx5QP8ADkk57VzU4SVbmULRtbfr3/T+mavSm1Kak76WT2OT 0bXtQufEKwjV
L+5c3N39os7mzWKCO3jZ1DRSeUpchvKU4d/vHI7jVuvGMkFnpM0OmedLqNvH Msfn7dheSJAu
dvOPNzn/AGenNbEmgaZLDBE1sdsFw1zEVkZWSRiSxDA553MCM4IJBGDiqdt4 N0O1lSSK1mLR
48oSXUrrEA6uFQMxCqGRSFGAMYxiu5W0v/X9foYPq0JZ+JW8qVNUsJYLqK6+ yullHLeJu2qw
O5IwQuGHLKoBz9a5+18Xa5b+X9tsYZ5ZZ54oEiuwFfF0kK78wgrt39icgEkE njuILSC2luJI
U2vcSebKck7m2hc89OFA49KzU8KaMl21ytq/mNKZsG4kKq5dZCVXdtXLorEA AE59TlLdX+Yd
DBfx9dW1q815ohRirrCkE7TF5UmWBlIWPdt3sCCoZiuflBwpuDxJfXvgrVtT +wzade2scoUS
RSAEhdwZfOjRmHI6oOQRzjJ1Z/DOj3MJhlswyESD/WOCPMkEjEHOQd4DAjkE DGKkj0GxTSLj
S2N3NaXCssguLyaZyGGCA7sWHHoeO1NbD6mJ4u1a8s7nT7az80yytG4VZRGr 4uIFwx2k4Icg
4OME8Nxh1j4s1C71gaS2j28d5DJIt2ftpMUSp5TZVvLBfKzKQCq8gg461dfw do0lv5Mq38oH
3ZJdSuXkT5kb5ZDIWXmNDwRjHuc3LHQNN010e2gbzFV18yWZ5HYOVLbmYksT tXliTgAdKFov
v/4Ajl4/iFNJdS26aSk25k+ySwyzCO4Vpkj3B5IUUj51bKFwRnnpl1942vtN uZbMaVJdX/ms
GijM0sUYWOJmCtDbs+N0oxuTnkkjha27fwdodrMksdtOzx48vzbyaQRgMrhV DOQqhkU7Rgcd
KlvfDGk38rTSwzJO0plM1vdSwSBiqqcPGwYAhFyoODtBxkUlsHUzbHxfPea/ bae+l/Yop0Vk
N9K0E8hMXmHy4mTEgX7rYfcpzlQME9VWTD4b02DUUv1W6edMbfNvJpEDBdm7 Yzld+0Y3Y3Hn
nk1rU3boA2T/AFT/AO6a5u4/4+Jv+uj/AMzXSSf6p/8AdNc3cf8AHxP/ANdH /ma3w27M6mxX
HWb/AK4Sf+gNXS2X+pP+9XNd5v8ArhJ/6A1dJZ7vKOAD83c0Yr40Kjsy1RTc v/dX/vr/AOtS
HcQQUUg9s/8A1q5jU85s/GT2+t6lft/aE9rcwXEkEU0E0cKmD7gjdl2HzEDO SpP3a1dSk8Sx
S6Fv1nTN892+fJspFjdPIdtpHn/N90kHPXBxxz1X2K38uCP7HbeXbkGBdoxF gFRtGOOCRx2J
FUovDGhQWbWcWg6VHatIJmhS2QIZB0YrtxuHr1o6WH1uYmleItQa10+2kSAT 3UdrNAx3sPJZ
N0uSWLMy7JOSf4kznnOPeeLNcutN1mMlLaGTTJr3T7023kny1IG7AuHblWBB YRkH+E9B6DHZ
wRPC8dpbo0EZiiKqAY0OMqvHA+VeBxwPSqtroGkWLTNaaNp1u04YSmGBEMgb 727C85wM564q
m9b+v9fl+PcS/wAjmofEPilvED2MWnRXtrZSxQXk0MKIG3Irs4LXO5MB/u7H zt4bn5XaDf6j
qniXStQvrixZLvSpp4ILaJg0KM8JwzlzvPQZCryDx6b48M6Gs9rOug6UJrRQ ttILZN0IByAh
2/KASTxU9no2m6fcy3NlpVjbTzFmllhhVGcsQWJIXJJIGc9cUJ2d/wCtv69A e1vQ0KKbl/7q
/wDfX/1qMv8A3V/76/8ArUgHU2T/AFb/AENGX/ur/wB9f/Wprl/LbKr0Pf8A +tSA4zxdA0ni
nTrm7msDpljZT3jw3dg1zh0aP94oDj5wD8pwSPm67uMlvEmvTX8MWoWEQ1Gx lM8EbqlsJN9t
PtVgJ5QvKdSw68gYyfRpbaKd98ttBI2xo8uATsbG5enQ4GR3xVCDw3olrbtb 2+haXDCwIMcd
siqQQwIwFxyGYfRj6mmnpb+tx9bnIP4v8TM8OmWtrDc6sWlMqrYeUYgixkoY pblAxzJ99JXX
AGAc5He2MtxPp9vLd2/2a5eJWlg3BvLYjlcjg4PGRWe3hfQn01NNbQNKawR/ MS1NqhiV/wC8
E24B5POK04Ylt4I4YIYooo1CoifKqqOAAAOBTvoIlopuX/ur/wB9f/Woy/8A dX/vr/61IB1F
Ny/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V/wC+v/rUZf8Aur/31/8AWoAd RTcv/dX/AL6/
+tRl/wC6v/fX/wBagB1FNy/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V/wC+ v/rUZf8Aur/3
1/8AWoAdRTcv/dX/AL6/+tRl/wC6v/fX/wBagB1YeoZ+28Ak+WcYGe7ex/ka 2sv/AHV/76/+
tWLqEUk1w2LeVxgr8mxgRk9dzL6n17VrRaUtSJp20MuYybl3hwMH7yEen/TN f60zw/8A8j3r
f0b/ANCFW00t9wK2NwnqVSIcf9/Kr6FGY/HmsBvvGMMQDnBO04/Wuyc4unNR fT/26JzWanG/
f9GT6j/yUPR/+uEn/oL10lyN0SjGf3iHpn+Iex/z3HUc3qP/ACUPR/8ArhJ/ 6C9dFdlRCpYj
Hmxjn13jHY9//wBY6jlrfBT9H/6VI2pfHP1/RE9FFFYGwUUUUAQSELdRMVJ+ RlyFJxkr6D+o
+hxkOFyjYwsvOOsTDrj2/wBofr6HEtFAHk118R/E9pdXFrJb6D5sEjxMfOcD cpKngsDjIrp/
DWtx3mtSvEZvst+Xkh83GSQT/dJGPlkH0UVWT4eXCIq/2tbHAxk6fkn/AMiV e0/wU9jNbTf2
ghliuPNZo7bZuX5Pl+9x91uefvniuGu8RVlCShbld916P8DahRhS5uarzJra z+RZ1/W7jS9a
soUl2wTQtuXyg+XM0KKeoI4c9+M5wcYqHw34s+3WFnHqVtd2tw+nreefcLGq XCALvddrEgAs
Mhgp+YcVq6r4ftNXu7e4uJJleAAKI2AB/eJJzkHvGv4E1j/8IWbfS3totSur yX7MtjE96Yx5
FsWXzFXy41ySq9TkkqORzXcvht1/4e36fIxe5DbeOYLGbSrDV1kW81CNZVZp bdSvmElU8rzB
IccLkIRxknqadc+Oi2iXV7aaPfpKNPa+tPtKxhbhBjJAEmRjcuQ20nPGav3P hC2uL+W4F/ew
wzTxXElpF5QjeSPbtYkoX6Ioxuxx0qaTwrYS2ENm8lwYotPfTh84BMbBQSSB 975ByPfinp/X
9d/wBbmdpfiu4m1eewudNvzcSXB8qALF/o8apDu3sH28GXPBYnnGeBWzqWqv Y6lp1qLeVkum
kUyKqFcrGzBcl1Kk7SQcMOCDjINQ6Z4ag03UDfm9u7q6ZXDyTmP5twjBJCKo z+6XoB1P4UdS
8MT6nJb2FxKZtKVriWWae4Lzs0qyL5YXbgIok4O44Cgbe9D2XcF5law+I2ma mu2ysru4uTOI
Bb28ttMxYozg745WjAwjdWBBHOMg12I6elc/ZeE4bXUotRn1O/vbqMqQ9wYg MKsigbURQBiV
ugHQe+egodugtQooopDGyf6p/wDdNc3P/wAfM/8A10f+ZrpJP9U/+6a5uf8A 4+Z/+ur/APoR
row27M6mxX7y/wDXCT/0Bq6Wy/1J/wB6ua/il/64Sf8AoDV0lnu8o4APzdzR ivjQqOzLVBGQ
R603L/3V/wC+v/rUh3EEFFIPbP8A9auY1OD0mfV7aOPT9Ku490zX07z6o894 y+VOI1VQ0gON
px94Yxnkk5ls/FOt395a+YtpZWl5Cotz9nebzJGg8w/vUfCFWONjqu4DKsc4 HUWGh6XpQI07
SNPswd2RbwrHndjd91R12rn1wPSiDQtKtb8X9vo+nw3oQRi4jgVZAgAAXcFz jAAx6AUPVW/r
qPrc4VfFfiDTPDGmTxyw6m8OnxXd8y2eAImHykyPcr8xCvyokJIztHAOn4OJ Op62VznacY6/
8fN1XQN4V0BmRm8PaSWjLFCbWPKluWI+XjOefWtCCzgtXd7e0t4mf77RqFLc k84HPLMfqT60
5PmT8xbHB65ql2vw/wBCuIL648+ayd3kinIeQi0kbO4EEndg5z1waLO6uIGv IoX1SxjjvNPQ
2Wo3zT3ClphvfcZH/dupVRhyCUcYBzXYReHtHguLq4h0TTY57sMtxIlugaYM ckOQuWyeualv
9F03Vf8AkI6VYXnyeX/pEKyfLkHb8ynjKg49QPSq5vev/W9wtpY0KKq2Njba ZaJaWFlbWltH
nZDAgjRcnJwoGBySasZf+6v/AH1/9apAdTZP9W/0NGX/ALq/99f/AFqa5fy2 yq9D3/8ArUgO
Y8S63rOnTalJp7aettpunpeyJcQu7zkmXKBg4CZEYwcNyehrnT4p1PSdJZ9M txOltLc3N9G9
sDsja5k25kaaPaTtcfKsh46dAe1ufDel3utrrF5ptpc3sccccMk8auYdjMwK ErlTl+oPYelP
uPD2j3ksctzommzyRbvLeW3Rim4ktgleMkkn1yaq6urA9jjNbTW9Rg121Gq2 RtH1m1txDNZv
JiNvJyjfvQChDDK4GQW/vcObxNquiaT5kEOjmzQ3VpbWdtbNH5L26OdzYcgI TEfkCgrvX5jj
nuW0uxe7e7bTrM3LhA8xjXe2w5XLYycHkelRnQ9La9uL1tI083dzH5U85hXf KnHys23LDgcH
0FKLsrf1sl/XqP8Ar+v66HOX+t+JbO/Nssmkv5f2USE28g3GeV4xj95xsAU9 92D93PGlo2sX
969kLubTVyt0lwillkkeKUIHjUk4Tglsk43KMmtl7OCWQySWlu7nZlmUEnYc rzjsSSPQ1Xud
Itbi3liW2hgd4pYlmhVRJGJOXKkqcEnk+pAJzRfTT+tBJa6nExa7rdrY6vqd kdOSGO3/ALWd
LiF2edXaTZGGDgIfLijAbDc9qsaT4jnsdD15lWBfsMc13GJAc7nuLjhuenyD 0710Z8KaPJq0
epT6ZaXFzDFFFA08auYBGWKlCVypy3UHsKsXPh/SLySKS60XTZ3i3mNpbdGK bjlsErxkkk+u
ad1sG/8AX9eZyWqeKNaFhPfK9gLCWW7tkthFKsyGFJfmMokGCTF0CggHrxmt TTtd1ma+spbp
tP8AsF3eXNosUcTiRPLMm1y5cg5EeCu0dc57VMPBGmP4mm125jjubiUMPLkt 4AoDLtOWWIO4
25GHZhz04GNe60q3urGS0EEcKsJNjxBQ0TOGDOuVIDfM3OO5z1pX003C12cL P4m1TS7F9Q06
3ScS7tSvka2B2wu5EWZGnTaTGmPlWQ/LnHQHYg13Xp5YJHfTktbu5urSJEgf zIzH5u2Qtvw3
+r5UAdfvdq3Z/D2kXZt2u9H0+5e2j8qF54VkaNcYwCVJAq4tnAnl7LS3Xy3a RMKBtZs7mHHB
O5snvk+tJ2asGt7/ANf1c850DUteW701FvbG4vNRsbNWupYHKqnl3DglfMy7 fKMncM5PSvTX
GY2Bbbxyw4x71QtdF0yxk8y00mwt33l90MKodxzzwvX5m5/2j61Uk0TUJb1p m8Ral9nZ9xtP
LtTEVz9zmDdtxx97OO/enJ8wJWKPhz7PaTXV3BqF22iyCKG3lv715hPLuILx tIxO1iyKMEBi
MqMEFmX2nxT+NrNbS71GOWL/AE29I1GfyhHyqJ5W/YNzAn7uMRt3Oa1bPwvo OnFjY6BpVrvK
s3kWqJuKncpOF7EAj0IzWilvHHLNKltCsk2PNcDBkwMDccc4HHNDfVB3/r+v 6ZzniYW2pWtq
1jqF49/cxN/Zy2F88aMTg+cwRgrIvBJbK4OMEsAb1huu/E99O5DiygjtFbHO 9h5kh9OQYvyN
S3nhnQ9Rit4r3QdKuY7ZPLgWe2RxEv8AdUFflHA4HpVnTdOj0uCSG3X5ZJXl OSOCxzgYAAAG
APYDrQmv6/rsD1L1VP8Alo3+8f51Zy/91f8Avr/61Vh/rGz6n+dJjJ0rmNK/ 5KDrH/XFf5JX
TpXMaV/yUHWP+uK/ySt6PwVPT/26JhV+KHr+jHaj/wAlD0f/AK4Sf+gvTvEP imz0EltR1Sys
42uooIUlIDvkxgtzIuVUyAtjooJOelN1H/koej/9cJP/AEF61b3SGvDKjyQt C9xFchHiYlZI
yjIcq46NGpx+ByKdb4Kfp/7dIdL45+v6Ik07Uo7qJna7tZkLKYZYThJUZUYM vJyDvHIPOR61
naz4jihims9Nl83UcLgKhYIrYO/J4PB4xnkjjGa2bW3kgMzSyLI8sm8lE2gf KFxjJ/u1ma94
dg1S2lkt4oIdR3JIlxt2lipB2sw5KkDHOccHBwKzpcvN75c7290raX4ilFhC +qRH5iyefEC2
Sr7MsoGQSdo+XPJ7Ctq51G1tNOa/uJDHbKgcsUOcHoAuMknIAXGSTjGayNI8 LQ2tpGupP9sl
BdzG3MSF2LEAYG4ZI5bPQEBelaGqaUL/AEr7FbyLatG0bwOI9yxujBk+XIyo KjjI47jrXOva
+0le3Ld272v8v66mi5eVd+pSfxlosRhEst3E0o3bZbCdGjXdtDSAoDEpOcM+ 0HBweDTJPHHh
6KaSJ72UNGzKx+yzFflbY53bcFVbhmBwuRkjIqnfeFdW1JZxda1aD7dbi11B YrBlWSIMxHl5
lJjbDsCSXHQ4GOZZfBwktJbcX20SW95Bnys48+USZ+9/DjHv7VsraEsu+KNd Og6RJdJ5Bk2S
FPNLYJWNn7Dn7vcrxnnOAYT420JYmZ7i5R1kEZhaxnEpYqWGI9m8gqrEEAg7 Tg8UzXPDN1rd
vNDLqoVTJI0ANsCIVaAxbeGG75mZ8nnnHvTIPCt0+rR6tqOpQz3ysoY29qYo zGscqqoUuxBz
MxJyc8DApPbQOxq6Vr2ma35v9nXPnCMKxPlsoKsMqy7gNynBwwyDg88VVHin TkMccrSvNJJI
oS0tprjaFkKbn2p8gyDywAyDgkDNRWPhu506OMWup+XItvZ2zP8AZwdyQsS3 BPG9WK/7PXmo
bfwxf6fdtPp2qW6CcuLpJ7Myb0MryAIRIuxh5jDJ3A8HFOX90Ftqbdtqtldt arBNvN1AbmH5
WG6Mbfm5HH314PPNXK5zRPDl9pl5aSXWqQ3UNlaNZ28cdqYm2Epgu29tzYQZ ICg56Cujodun
9f0gCiiikAUUUUAFFFFADZP9U/8AumubuOLib/rq/wDM10kn+qf/AHTXOXH/ AB8Tf9dH/ma6
MNuzOpsVupl/64Sf+gNXS2X+pP8AvVzQ6zf9cJP/AEBq6Sz3eUcAH5u5oxXx oVHZlqmTEiCQ
g4IU8/hS5f8Aur/31/8AWpDuIIKKQe2f/rVzPVWNluecWWvXWj6f4ej1PUZy jxG8W4kZpGmi
+zOzqwB3OUfB+hTvU9r4r8UzXn9lT29na35lXElzahQI2ilcZjjuJOcxd3HB 6DHPcNp9q8MM
L2Nq0UIKxIUBWMbSuFGOBtJHHY4qvZaBpOmqq2OjadahTlRBAiYOCMjC+jN/ 30fWnJ3uJdDj
n8a+IRbW0cdlaTXt+ttJbCCPIiEscrlSsksYkI8ojO9M7unGG7TRLjUbrSIJ dWs/sl8ciWL5
exIBwruBkAHG5sZxk4on0XTbq1e1uNKsJbZ0SNoZIVZGRDlVIK4IHYdqns7K 3060jtLGzt7W
2jGEhgUIi854UDAptrWwdizRTcv/AHV/76/+tRl/7q/99f8A1qQDqKbl/wC6 v/fX/wBajL/3
V/76/wDrUAOpsn+rf6GjL/3V/wC+v/rU1y/ltlV6Hv8A/WpAcZ491u4sprW2 sW1D7RBG1+Us
reaUyFCAkb+Wpwrnd97A+Ws3UNcuobDxHq8GoTtp1x+7ibzTi2Y28bROhz8o YsQcfxMp9a9E
EQEzTCGISsoRn/iKjJAJx0GT+ZqvHpdjDZyWcenWaWsg2vAsahGGAuCuMHgA fQCnGy/r+umg
M4jVdKSyn8QzW+oayrWmmJcQA6vdMqSN5uTtMhB+6vBGBjirvjKZ01awD2ut 3dutjcTPFpV6
0DAq0WHYLKhfAJ4G488A11s1lb3CzrNZ20qzx+VMHUMJE5+Vsjkcng+pqDTt D0vSBjTNI0+y
HPFtCsfXGfuqOu1c/QelAI5/V57v/hX2nO11Nf3Eps1lm0258prndIgYxyBk wGycHKjB7VkR
XGpaHrdhJcRzRRyloraC/uTcTQwyT2qEPJubc24uR8zYBUZ4xXex6faQ24t4 rG1SESeaI1QB
d+7duxjGd3OeueaLuwtb9GS8sbW4V42iYTIHBQ4ypyOhwMj2FNStLm8/0C2l jmrjxFq13r9z
o+my6fBJDJMRPcQvMNkaQkrtV1y26bruGAvQ5zRceJL99C0q5bS583Is5Hu0 dUgDO6ZUASiT
v0IK9iSM1Z1jwPpOraXDpqW1vY2kUnmCK2s7ZlJ27c7ZInAIHGQAfetuLTra HT7ewW1hNrbq
ixRv8wUJjb1HUYHPtS6fd/wQ6/eYPh3WtZvbnTxqZsGj1DT/ALZGttE6GEjZ lSzOd4PmdcLj
HfrXVVXjtIYTEYrWBDDH5UZVQNicfKOOBwOB6Cpsv/dX/vr/AOtTbXQB1FNy /wDdX/vr/wCt
Rl/7q/8AfX/1qQDqKbl/7q/99f8A1qMv/dX/AL6/+tQA6im5f+6v/fX/ANaj L/3V/wC+v/rU
AOopuX/ur/31/wDWoy/91f8Avr/61ADqqf8ALRv94/zqzl/7q/8AfX/1qrD/ AFjZ9T/Okxk6
VzGlf8lB1j/riv8AJK6dK5jSv+Sg6x/1xX+SVvR+Cp6f+3RMKvxQ9f0Z0zW1 u9wlw0ETToMJ
KUBZR7HqOpqWiisbm1gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigBsn+qf
/dNc3cybJLg+Zs/fNzv29z/tr/M10kn+qf8A3TXN3AxcTf8AXV/5mujDbszq bFSN97XB37v3
UnO7d/yzPfc3866iy/1J/wB6ua6mX/rhJ/6A1dJZ7vKOAD83c0Yv416Co7Mt UyYkQSEHBCnn
8KXL/wB1f++v/rUh3EEFFIPbP/1q5nqrGy3PNNEudesdIsNStIL6JLiG2hmO sX7XS3Esskai
SNRK5RQrSHGUzuX5eON2bxDrNvqLq8unSW9re22n3ESQOJpZJVT94v7whFBk B2EMSFPzc8dT
9kh+zx2/2WDyItvlx7RtTbgrgYwMYGPTFQyaTYTanFqcum2T6hEuyO6aJTKi 88B8ZA5Pfuar
mV/6/rv/AEkLoczN4k1CWK3jeKESW8sMV+E3qfOa4WMBMNwpCu2CTkMmcgnO Lc+JdYgnsNdk
NhcSXemlrS1t49phEs8Cje7ygSY3D/nmCQRkZyPRDZW5MhNnbZkkWZztHzOu MMeOWG1cHqMD
0qrH4e0eE3Ji0XTUN0HFwVt0HnBvvb/l+bOBnPWknb+vIZhaVrHiq61KzsNQ srWxkZZZZXmh
G6SNGixtSOdwhO9l5dsFQcc7aXVL28sPFV/fLcy/YbWyg+0QFzsVGaXdKB0B XapJ/ug+1b+n
6LpukqF03SrCzUbsC2hWMDdjP3VHXaufoPSrfkJ5skv2eHzJFCO2OWUZwCcc gZP5mlLVWQl5
nn1n4v1eG30ZoU+12Hl2lveTSQDImkRT/rWnDMfnVvliYc43A5xZsfFXiJ1t Z7pdLaF0sppE
hhkDFbhim0EuQCpGd2DuBxhcZPU/8I7o32qO6/sTTPtEaLHHN9nTeirjaoO3 IAwMDtirK6da
KqqthagKEUAIOAhyg6fwnkenaqbTv6/1/XyFb8jnPB/iDxDrsi3WoaUsGmXN v58EyiMBCSMJ
lZ5DJkE/MUj+705wOtk/1b/Q1QtNE0uwvp76z0mwtryfPnXEMKpJJk5O5guT k881dcv5bZVe
h7//AFqTasPqSUU3L/3V/wC+v/rUZf8Aur/31/8AWoAdRTcv/dX/AL6/+tRl /wC6v/fX/wBa
gB1FNy/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V/wC+v/rUZf8Aur/31/8A WoAdRTcv/dX/
AL6/+tRl/wC6v/fX/wBagB1FNy/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V /wC+v/rUZf8A
ur/31/8AWoAdRTcv/dX/AL6/+tRl/wC6v/fX/wBagB1FNy/91f8Avr/61GX/ ALq/99f/AFqA
HVU/5aN/vH+dWcv/AHV/76/+tVYf6xs+p/nSYydK5jSv+Sg6x/1xX+SV06Vz Glf8lB1j/riv
8krej8FT0/8AbomFX4oev6M6uiiisTYKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAbJ/qn/wB01zlx/wAfE3/XR/5mujk/1T/7prm5/wDj5n/66v8AzNdG G3ZnU2K46zf9
cJP/AEBq6Wy/1J/3q5r+KX/rhJ/6A1dJZ7vKOAD83c0Yr40Kjsy1TJc+S+3O dpxily/91f8A
vr/61GX/ALq/99f/AFq5nqrGyODvtdvbHwb4b1G3uPOuTatMwkkJE5W0kb58 HLDcAT70/UfE
2r6PfvFqK2l2bZDdL9kWSHcpgnbYQXYMQYup4Oc7QQDXTReHtHguLq4h0TTY 57sMtxIlugaY
MckOQuWyeuauNZW73AuHs7dpxgCQqCwwCBzjPRmH/Aj61Une7EtDmLPX9Zg8 R2ulajcabcLc
GNlktrd4sB453wN0jZOYhzxwTxWc/jLxHe35ttF0qK8MIeSQRrGfMUTyxqAX njKcRfeAkGW+
6MYPQQ+CvD0BvFj0PThbXaxiW0+zR+SxQsQ2zbjd83U+gq3ceGtEvIoIrnQt LnjtyTCktsjC
Ik5O0FeMnk4our3Ao+JYTLqegt593F/pLhlgupIlcCF3AYIwDDci8HPcdCc5 Ogxtpw8LzQah
fzz6pCPtcF1fSXAZfJLmUCRmK4fYPlwP3mCDxjq7zSNP1Ge3nvtMsrqa2bdB JPErtEeDlSR8
p4HT0FM03QtK0ZpW0vR9PsWlx5htYFiL46Z2qM9T+dJOwM0qKbl/7q/99f8A 1qMv/dX/AL6/
+tQA6myf6t/oaMv/AHV/76/+tTXL+W2VXoe//wBakByni/xLqmiT50yBbiO1 gFzeo1sCFjLE
KfMaaPbna4+VZDxnHQFkGu69PLBI76clrd3N1aRIkD+ZGY/N2yFt+G/1fKgD r97tXQ32iaZq
dxFcX+k2F3PEpWOSeFZGQHqASuQKsLZwJ5ey0t18t2kTCgbWbO5hxwTubJ75 PrQ7ONg63POd
A1LXlu9NRb2xuLzUbGzVrqWByqp5dw4JXzMu3yjJ3DOT0r08dOetZ1roumWM nmWmk2Fu+8vu
hhVDuOeeF6/M3P8AtH1q/l/7q/8AfX/1qqUru4rDqKbl/wC6v/fX/wBajL/3 V/76/wDrUhjq
Kbl/7q/99f8A1qMv/dX/AL6/+tQA6im5f+6v/fX/ANajL/3V/wC+v/rUAOop uX/ur/31/wDW
oy/91f8Avr/61ADqKbl/7q/99f8A1qMv/dX/AL6/+tQA6im5f+6v/fX/ANaj L/3V/wC+v/rU
AOopuX/ur/31/wDWoy/91f8Avr/61ADqqf8ALRv94/zqzl/7q/8AfX/1qrD/ AFjZ9T/Okxk6
VzGlf8lB1j/riv8AJK6dK5jSv+Sg6x/1xX+SVvR+Cp6f+3RMKvxQ9f0Z1dFF FYmwUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2T/VP/umubuOLif/AK6v /wChGukk/wBU
/wDumucuP+Pib/ro/wDM10YbdmdTYrdWl/64Sf8AoDV0tl/qT/vVzQ6zf9cJ P/QGrpLPd5Rw
Afm7mjFfGhUdmWqQjII9fSky/wDdX/vr/wCtRl/7q/8AfX/1q5jU8+fxDqVh ZTuhkubnSQLB
0eUESTSTiNHfLKGIjCvhmXPmDlc5rR0zWfFVxqFpY6hZWljIyzTSvPEMyRo0 WNqRzOEzvZeX
bG0HHO2uoksbeWK5iks7Z47r/j4RlBE3yhfnGPm+UAc9gBUGn6LpmkqF03Sb CzUbsC2hWMDd
jP3VHXaufXA9Kaf9f15/hoNnEN401i1QTapBbrcwo1wbNI5IfLXyJnA80SPH Mp2D51yBzlVY
ADRHiDxEurRaIZtJlvJXjYXiW0ghVHilYDZ5hLMDF/eAIYdK6Sy0DSdNGLDR tOtRv8zEECJ8
2Cu7heuCRn0Jp1jommaZGsdhpNhaIshlVbeFYwHI2lgAvUjjPXHFO6E/Ib4f vrnUdISe8EX2
lZZYZDCpVGKSMm4AkkA7c4ycZ6nrWnUUUSwJshhijTcW2pwMk5J4HUkk/jT8 v/dX/vr/AOtS
uA6im5f+6v8A31/9ajL/AN1f++v/AK1ADqbJ/q3+hoy/91f++v8A61Ncv5bZ Veh7/wD1qQHO
+LbeO5WGGC7v01WRHWxhtLySEb+P3rqpAZE4JL5XtglgDoam+nXGj3i3186w 2Y3XUltdvA8Z
VQ5y0bBl4IOM9CPWn6noGka08b6ro2nX7RghGuoElKg9QNynFTf2ZZ+RJB/Z 9p5UrK0kflja
5UAKSMckBVA9No9KOlh9TK8LQtY6LFbXt3Ot5diS6WC6u2lmhjJGFBkZmOwM gJyRk+4qPwtb
hbm8uLG7vp9IdI0ge8u5LjznG7fKjSMSEOVAxhTtJAwQTvSWsU0wlktoHlCN GHYAkI2Ny5x0
OBkd8CqemeH9I0WSSTStF02weQBXa1t0iLD0JVRmnfUXQ1KKbl/7q/8AfX/1 qMv/AHV/76/+
tQA6im5f+6v/AH1/9ajL/wB1f++v/rUAOopuX/ur/wB9f/Woy/8AdX/vr/61 ADqKbl/7q/8A
fX/1qMv/AHV/76/+tQA6im5f+6v/AH1/9ajL/wB1f++v/rUAOopuX/ur/wB9 f/Woy/8AdX/v
r/61ADqKbl/7q/8AfX/1qMv/AHV/76/+tQA6qn/LRv8AeP8AOrOX/ur/AN9f /WqsP9Y2fU/z
pMZOlcxpX/JQdY/64r/JK6dK5jSv+Sg6x/1xX+SVvR+Cp6f+3RMKvxQ9f0Z1 dFFFYmwUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2T/VP/umubn/4+Z/+ uj/zNFFdGG3Z
nU2K/eX/AK4Sf+gNXS2X+pP+9RRRivjQqWzLNFFFc5qFFFFABRRRQAUUUUAF FFFABTZP9W/0
NFFADqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKqf8tG/ 3j/OiikwJ0rm
NK/5KDrH/XFf5JRRW9H4Knp/7dExq/FD1/Rn/9k=
--------------020003030002010500020006--
Re: Antlr Dependency [message #18430 is a reply to message #18421] Tue, 31 January 2006 07:15 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: stepper.sympedia.de

Ok, I think I solved my problem:
For some mysterious reason I had an additional unpacked ocl plugin in my plugins folder.
this one was always chosen by Eclipse and its manifest.mf is wrong (see former mail).
Removing this folder-plugin solved the issue. Now I have to see where it came from...

Cheers
/Eike



Eike Stepper schrieb:
> Hi Christian,
>
> Sorry, I have to raise this issue again.
> When I look into the ocl manifest.mf (in the jar), it is:
>
> Require-Bundle: org.eclipse.core.runtime,
> org.eclipse.emf.ecore;visibility:=reexport,
> org.eclipse.emf.edit,
> org.eclipse.emf.ecore.edit,
> com.ibm.icu,
> antlr;visibility:=reexport
> Eclipse-LazyStart: true
>
> However, when the ocl plugin is loaded, the manifest is displayed as:
>
> Require-Bundle: org.eclipse.core.runtime,
> org.eclipse.emf.ecore;visibility:=reexport,
> org.eclipse.emf.edit,
> org.eclipse.emf.ecore.edit
> Eclipse-AutoStart: true
> Import-Package: antlr,
> antlr.collections.impl
>
> I have the feeling that this is not particularly OCL related,
> but on the other hand this effect only occurs with the
> stupid antlr dependency ;-(
>
> With respect to your former question, whether I have antlr.jar properly
> installed,
> the plugin-registry looks like in the attached jpg.
>
> Any idea why the ocl manifest is altered by Eclipse?
> In addition Eclipse-LazyStart is turned into Eclipse-AutoStart...
>
> Cheers
> /Eike
>
>
>
> Christian W. Damus schrieb:
>> Hi, Eike,
>>
>> I'm thinking that I have to reject your bug as "works for me" because ...
>> well ... it does. The OCL plug-in's bundle manifest does re-export the
>> ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
>> with only a dependency on org.eclipse.emf.ocl, and invocations of
>> ExpressionsUtil compile and work.
>>
>> Could something be amiss in your configuration? Do you have an extra
>> antlr
>> plug-in on your classpath that is missing the antlr.jar from its lib/
>> directory?
>>
>> cW
>>
>>
>> Eike Stepper wrote:
>>
>>> Thx!
>>>
>>> I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>>>
>>> Cheers
>>> /Eike
>>>
>>>
>>>
>>> Christian W. Damus schrieb:
>>>> Hello, Eike,
>>>>
>>>> Yes, it was an oversight not to re-export ANTLR despite the
>>>> ExpressionsUtil API's client dependency.
>>>>
>>>> The reason why this was missed is that the IOclHelper API has
>>>> superseded
>>>> the ExpressionsUtil as a much more user-friendly interface for working
>>>> with OCL
>>>> constraints of all kinds. If you use IOclHelper (created by the
>>>> factory
>>>> methods on OclHelperUtil) then you will not have an ANTLR
>>>> dependency, as
>>>> this API abstracts parsing problems as an OclParsingException.
>>>>
>>>> We happen to be in the process of actually replace the ANTLR
>>>> implementation of the parser with something different, so this will
>>>> help
>>>> to insulate you from that, as well.
>>>>
>>>> All that said, we still have a bug here if you care to raise a
>>>> bugzilla:
>>>> the ANTLR plug-in should be reexported as long as ExpressionsUtil is
>>>> API.
>>>> We should also move that class to an internal package because it really
>>>> isn't as useful as IOclHelper (but is used internally by the helper).
>>>>
>>>> Thanks!
>>>>
>>>> Christian
>>>>
>>>>
>>>> Eike Stepper wrote:
>>>>
>>>>
>>>>> Hi Christian,
>>>>>
>>>>> I just stumbled about an issue with the OCL plugin. It doesn't
>>>>> re-export
>>>>> the antlr plugin. Actually it even doesn't list it as a required
>>>>> bundle.
>>>>>
>>>>> As a client of ExpressionsUtil my plugin complains:
>>>>> The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>>> referenced from required .class files
>>>>>
>>>>> Of course I can add a dependency on antlr to my own plugin, but
>>>>> maybe it
>>>>> saves time for others, if you simply require and re-export antlr...
>>>>>
>>>>> Cheers
>>>>> /Eike
>>>>
>>
>
Re: Antlr Dependency [message #19517 is a reply to message #18430] Tue, 31 January 2006 15:15 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

So, Eike,

All is cleared up for you, then? I don't even recognize that other form of
the manifest that you saw in the older installation of the antlr plug-in,
with that "Import-Package" header ...

Cheers,

Christian


Eike Stepper wrote:

> Ok, I think I solved my problem:
> For some mysterious reason I had an additional unpacked ocl plugin in my
> plugins folder. this one was always chosen by Eclipse and its manifest.mf
> is wrong (see former mail). Removing this folder-plugin solved the issue.
> Now I have to see where it came from...
>
> Cheers
> /Eike
>
>
>
> Eike Stepper schrieb:
>> Hi Christian,
>>
>> Sorry, I have to raise this issue again.
>> When I look into the ocl manifest.mf (in the jar), it is:
>>
>> Require-Bundle: org.eclipse.core.runtime,
>> org.eclipse.emf.ecore;visibility:=reexport,
>> org.eclipse.emf.edit,
>> org.eclipse.emf.ecore.edit,
>> com.ibm.icu,
>> antlr;visibility:=reexport
>> Eclipse-LazyStart: true
>>
>> However, when the ocl plugin is loaded, the manifest is displayed as:
>>
>> Require-Bundle: org.eclipse.core.runtime,
>> org.eclipse.emf.ecore;visibility:=reexport,
>> org.eclipse.emf.edit,
>> org.eclipse.emf.ecore.edit
>> Eclipse-AutoStart: true
>> Import-Package: antlr,
>> antlr.collections.impl
>>
Re: Antlr Dependency [message #21364 is a reply to message #18395] Fri, 03 February 2006 19:56 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

> The licensing of ANTLR is in doubt, vis-a-vis originality of all of the
> code, of which many contributions are apparently unattributed. It can't be
> redistributed under the Eclipse license.

What is the problem?

"We reserve no legal rights to the ANTLR--it is fully in the
public domain. An individual or company may do whatever
they wish with source code distributed with ANTLR or the
code generated by ANTLR, including the incorporation of
ANTLR, or its output, into commerical software."

seems extremely clear and generous. There is no need to redistribute
ANTLR under the Eclipse license, merely to reference the alternate
licensing from about.html etc.

Regards

Ed Willink
Re: Antlr Dependency [message #21372 is a reply to message #21364] Fri, 03 February 2006 21:11 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

Ed,

The Eclipse legal folks will not allow us to bundle this in our
downloads. There are apparently issues with the pedigree of this code.
It's best to ask about these issues directly from the legal team, since
it's a legal question. ;-)


Ed Willink wrote:

> Hi
>
>> The licensing of ANTLR is in doubt, vis-a-vis originality of all of the
>> code, of which many contributions are apparently unattributed. It
>> can't be
>> redistributed under the Eclipse license.
>
>
> What is the problem?
>
> "We reserve no legal rights to the ANTLR--it is fully in the
> public domain. An individual or company may do whatever
> they wish with source code distributed with ANTLR or the
> code generated by ANTLR, including the incorporation of
> ANTLR, or its output, into commerical software."
>
> seems extremely clear and generous. There is no need to redistribute
> ANTLR under the Eclipse license, merely to reference the alternate
> licensing from about.html etc.
>
> Regards
>
> Ed Willink
Re: Antlr Dependency [message #21388 is a reply to message #19517] Sat, 04 February 2006 09:42 Go to previous message
Eclipse UserFriend
Originally posted by: stepper.sympedia.de

Hi Christian,

*Now* all is cleared up ;-)
I found the root cause of my problems to be the Topcased feature,
which comes with an own copy of your ocl plugin, unpacked and with a modified manifest ;-(

Ok, I'll discuss that with those guys...

Cheers
/Eike


Christian W. Damus schrieb:
> So, Eike,
>
> All is cleared up for you, then? I don't even recognize that other form of
> the manifest that you saw in the older installation of the antlr plug-in,
> with that "Import-Package" header ...
>
> Cheers,
>
> Christian
>
>
> Eike Stepper wrote:
>
>> Ok, I think I solved my problem:
>> For some mysterious reason I had an additional unpacked ocl plugin in my
>> plugins folder. this one was always chosen by Eclipse and its manifest.mf
>> is wrong (see former mail). Removing this folder-plugin solved the issue.
>> Now I have to see where it came from...
>>
>> Cheers
>> /Eike
>>
>>
>>
>> Eike Stepper schrieb:
>>> Hi Christian,
>>>
>>> Sorry, I have to raise this issue again.
>>> When I look into the ocl manifest.mf (in the jar), it is:
>>>
>>> Require-Bundle: org.eclipse.core.runtime,
>>> org.eclipse.emf.ecore;visibility:=reexport,
>>> org.eclipse.emf.edit,
>>> org.eclipse.emf.ecore.edit,
>>> com.ibm.icu,
>>> antlr;visibility:=reexport
>>> Eclipse-LazyStart: true
>>>
>>> However, when the ocl plugin is loaded, the manifest is displayed as:
>>>
>>> Require-Bundle: org.eclipse.core.runtime,
>>> org.eclipse.emf.ecore;visibility:=reexport,
>>> org.eclipse.emf.edit,
>>> org.eclipse.emf.ecore.edit
>>> Eclipse-AutoStart: true
>>> Import-Package: antlr,
>>> antlr.collections.impl
>>>
>
Re: Antlr Dependency [message #564519 is a reply to message #18141] Fri, 27 January 2006 14:21 Go to previous message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hello, Eike,

Yes, it was an oversight not to re-export ANTLR despite the ExpressionsUtil
API's client dependency.

The reason why this was missed is that the IOclHelper API has superseded the
ExpressionsUtil as a much more user-friendly interface for working with OCL
constraints of all kinds. If you use IOclHelper (created by the factory
methods on OclHelperUtil) then you will not have an ANTLR dependency, as
this API abstracts parsing problems as an OclParsingException.

We happen to be in the process of actually replace the ANTLR implementation
of the parser with something different, so this will help to insulate you
from that, as well.

All that said, we still have a bug here if you care to raise a bugzilla:
the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
We should also move that class to an internal package because it really
isn't as useful as IOclHelper (but is used internally by the helper).

Thanks!

Christian


Eike Stepper wrote:

> Hi Christian,
>
> I just stumbled about an issue with the OCL plugin. It doesn't re-export
> the antlr plugin. Actually it even doesn't list it as a required bundle.
>
> As a client of ExpressionsUtil my plugin complains:
> The type antlr.ANTLRException cannot be resolved. It is indirectly
> referenced from required .class files
>
> Of course I can add a dependency on antlr to my own plugin, but maybe it
> saves time for others, if you simply require and re-export antlr...
>
> Cheers
> /Eike
Re: Antlr Dependency [message #564526 is a reply to message #18159] Fri, 27 January 2006 14:50 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Thx!

I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479

Cheers
/Eike



Christian W. Damus schrieb:
> Hello, Eike,
>
> Yes, it was an oversight not to re-export ANTLR despite the ExpressionsUtil
> API's client dependency.
>
> The reason why this was missed is that the IOclHelper API has superseded the
> ExpressionsUtil as a much more user-friendly interface for working with OCL
> constraints of all kinds. If you use IOclHelper (created by the factory
> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
> this API abstracts parsing problems as an OclParsingException.
>
> We happen to be in the process of actually replace the ANTLR implementation
> of the parser with something different, so this will help to insulate you
> from that, as well.
>
> All that said, we still have a bug here if you care to raise a bugzilla:
> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
> We should also move that class to an internal package because it really
> isn't as useful as IOclHelper (but is used internally by the helper).
>
> Thanks!
>
> Christian
>
>
> Eike Stepper wrote:
>
>
>>Hi Christian,
>>
>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>
>>As a client of ExpressionsUtil my plugin complains:
>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>referenced from required .class files
>>
>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>saves time for others, if you simply require and re-export antlr...
>>
>>Cheers
>>/Eike
>
>


Re: Antlr Dependency [message #564679 is a reply to message #18175] Fri, 27 January 2006 19:38 Go to previous message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hi, Eike,

I'm thinking that I have to reject your bug as "works for me" because ...
well ... it does. The OCL plug-in's bundle manifest does re-export the
ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
with only a dependency on org.eclipse.emf.ocl, and invocations of
ExpressionsUtil compile and work.

Could something be amiss in your configuration? Do you have an extra antlr
plug-in on your classpath that is missing the antlr.jar from its lib/
directory?

cW


Eike Stepper wrote:

> Thx!
>
> I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>
> Cheers
> /Eike
>
>
>
> Christian W. Damus schrieb:
>> Hello, Eike,
>>
>> Yes, it was an oversight not to re-export ANTLR despite the
>> ExpressionsUtil API's client dependency.
>>
>> The reason why this was missed is that the IOclHelper API has superseded
>> the ExpressionsUtil as a much more user-friendly interface for working
>> with OCL
>> constraints of all kinds. If you use IOclHelper (created by the factory
>> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
>> this API abstracts parsing problems as an OclParsingException.
>>
>> We happen to be in the process of actually replace the ANTLR
>> implementation of the parser with something different, so this will help
>> to insulate you from that, as well.
>>
>> All that said, we still have a bug here if you care to raise a bugzilla:
>> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
>> We should also move that class to an internal package because it really
>> isn't as useful as IOclHelper (but is used internally by the helper).
>>
>> Thanks!
>>
>> Christian
>>
>>
>> Eike Stepper wrote:
>>
>>
>>>Hi Christian,
>>>
>>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>>
>>>As a client of ExpressionsUtil my plugin complains:
>>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>referenced from required .class files
>>>
>>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>>saves time for others, if you simply require and re-export antlr...
>>>
>>>Cheers
>>>/Eike
>>
>>
Re: Antlr Dependency [message #564701 is a reply to message #18261] Fri, 27 January 2006 21:31 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Gosh, you're completely right!!!

I have no idea, why it didn't work earlier this day. Now, that I removed my extra dependency, everything works.
Maybe it's because I'm frequently exporting plugins to my install location.
From time to time it confuses Eclipse's internal caches, especially when a jar-plugin changes to a normal plugin or vice versa.

Anyway, please forget about the request.

Cheers
/Eike


Christian W. Damus schrieb:
> Hi, Eike,
>
> I'm thinking that I have to reject your bug as "works for me" because ...
> well ... it does. The OCL plug-in's bundle manifest does re-export the
> ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
> with only a dependency on org.eclipse.emf.ocl, and invocations of
> ExpressionsUtil compile and work.
>
> Could something be amiss in your configuration? Do you have an extra antlr
> plug-in on your classpath that is missing the antlr.jar from its lib/
> directory?
>
> cW
>
>
> Eike Stepper wrote:
>
>
>>Thx!
>>
>>I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>>
>>Cheers
>>/Eike
>>
>>
>>
>>Christian W. Damus schrieb:
>>
>>>Hello, Eike,
>>>
>>>Yes, it was an oversight not to re-export ANTLR despite the
>>>ExpressionsUtil API's client dependency.
>>>
>>>The reason why this was missed is that the IOclHelper API has superseded
>>>the ExpressionsUtil as a much more user-friendly interface for working
>>>with OCL
>>>constraints of all kinds. If you use IOclHelper (created by the factory
>>>methods on OclHelperUtil) then you will not have an ANTLR dependency, as
>>>this API abstracts parsing problems as an OclParsingException.
>>>
>>>We happen to be in the process of actually replace the ANTLR
>>>implementation of the parser with something different, so this will help
>>>to insulate you from that, as well.
>>>
>>>All that said, we still have a bug here if you care to raise a bugzilla:
>>>the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
>>>We should also move that class to an internal package because it really
>>>isn't as useful as IOclHelper (but is used internally by the helper).
>>>
>>>Thanks!
>>>
>>>Christian
>>>
>>>
>>>Eike Stepper wrote:
>>>
>>>
>>>
>>>>Hi Christian,
>>>>
>>>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>>>
>>>>As a client of ExpressionsUtil my plugin complains:
>>>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>>referenced from required .class files
>>>>
>>>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>>>saves time for others, if you simply require and re-export antlr...
>>>>
>>>>Cheers
>>>>/Eike
>>>
>>>
>


Re: Antlr Dependency [message #564766 is a reply to message #18159] Mon, 30 January 2006 07:38 Go to previous message
Eclipse UserFriend
Originally posted by: solomono.yahoo.com

Hi
What is the reason you are changing the parser generator from Antlr,
what is it being changed to. Will it be possible to extend this new
implementation, indeed is it possible to extend the Antlr
implementation to support perhaps ASL
Thanks
Solomon

Christian W. Damus wrote:
> Hello, Eike,
>
> Yes, it was an oversight not to re-export ANTLR despite the ExpressionsUtil
> API's client dependency.
>
> The reason why this was missed is that the IOclHelper API has superseded the
> ExpressionsUtil as a much more user-friendly interface for working with OCL
> constraints of all kinds. If you use IOclHelper (created by the factory
> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
> this API abstracts parsing problems as an OclParsingException.
>
> We happen to be in the process of actually replace the ANTLR implementation
> of the parser with something different, so this will help to insulate you
> from that, as well.
>
> All that said, we still have a bug here if you care to raise a bugzilla:
> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
> We should also move that class to an internal package because it really
> isn't as useful as IOclHelper (but is used internally by the helper).
>
> Thanks!
>
> Christian
>
>
> Eike Stepper wrote:
>
>
>>Hi Christian,
>>
>>I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>the antlr plugin. Actually it even doesn't list it as a required bundle.
>>
>>As a client of ExpressionsUtil my plugin complains:
>>The type antlr.ANTLRException cannot be resolved. It is indirectly
>>referenced from required .class files
>>
>>Of course I can add a dependency on antlr to my own plugin, but maybe it
>>saves time for others, if you simply require and re-export antlr...
>>
>>Cheers
>>/Eike
>
>
Re: Antlr Dependency [message #564935 is a reply to message #18312] Mon, 30 January 2006 14:05 Go to previous message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

Hi, Solomon,

The licensing of ANTLR is in doubt, vis-a-vis originality of all of the
code, of which many contributions are apparently unattributed. It can't be
redistributed under the Eclipse license.

We are looking for another open-source parser, possibly the Jikes parser
generator that is used by Eclipse JDT. Also a possibility is reworking the
OCL code to support plugging in any parser implementation. Perhaps this
would address your extension requirement.

In any case, the plan is not yet settled, so I don't have a clear answer for
you. This iteration has the ANTLR replacement scheduled; add yourself to
the cc list of https://bugs.eclipse.org/bugs/show_bug.cgi?id=114106 to keep
abreast of things.

Cheers,

Christian


Solomon Obi wrote:

> Hi
> What is the reason you are changing the parser generator from Antlr,
> what is it being changed to. Will it be possible to extend this new
> implementation, indeed is it possible to extend the Antlr
> implementation to support perhaps ASL
> Thanks
> Solomon
>
Re: Antlr Dependency [message #564993 is a reply to message #18261] Tue, 31 January 2006 07:06 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------020003030002010500020006
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi Christian,

Sorry, I have to raise this issue again.
When I look into the ocl manifest.mf (in the jar), it is:

Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.edit,
org.eclipse.emf.ecore.edit,
com.ibm.icu,
antlr;visibility:=reexport
Eclipse-LazyStart: true

However, when the ocl plugin is loaded, the manifest is displayed as:

Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.edit,
org.eclipse.emf.ecore.edit
Eclipse-AutoStart: true
Import-Package: antlr,
antlr.collections.impl

I have the feeling that this is not particularly OCL related,
but on the other hand this effect only occurs with the
stupid antlr dependency ;-(

With respect to your former question, whether I have antlr.jar properly installed,
the plugin-registry looks like in the attached jpg.

Any idea why the ocl manifest is altered by Eclipse?
In addition Eclipse-LazyStart is turned into Eclipse-AutoStart...

Cheers
/Eike



Christian W. Damus schrieb:
> Hi, Eike,
>
> I'm thinking that I have to reject your bug as "works for me" because ...
> well ... it does. The OCL plug-in's bundle manifest does re-export the
> ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
> with only a dependency on org.eclipse.emf.ocl, and invocations of
> ExpressionsUtil compile and work.
>
> Could something be amiss in your configuration? Do you have an extra antlr
> plug-in on your classpath that is missing the antlr.jar from its lib/
> directory?
>
> cW
>
>
> Eike Stepper wrote:
>
>> Thx!
>>
>> I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>>
>> Cheers
>> /Eike
>>
>>
>>
>> Christian W. Damus schrieb:
>>> Hello, Eike,
>>>
>>> Yes, it was an oversight not to re-export ANTLR despite the
>>> ExpressionsUtil API's client dependency.
>>>
>>> The reason why this was missed is that the IOclHelper API has superseded
>>> the ExpressionsUtil as a much more user-friendly interface for working
>>> with OCL
>>> constraints of all kinds. If you use IOclHelper (created by the factory
>>> methods on OclHelperUtil) then you will not have an ANTLR dependency, as
>>> this API abstracts parsing problems as an OclParsingException.
>>>
>>> We happen to be in the process of actually replace the ANTLR
>>> implementation of the parser with something different, so this will help
>>> to insulate you from that, as well.
>>>
>>> All that said, we still have a bug here if you care to raise a bugzilla:
>>> the ANTLR plug-in should be reexported as long as ExpressionsUtil is API.
>>> We should also move that class to an internal package because it really
>>> isn't as useful as IOclHelper (but is used internally by the helper).
>>>
>>> Thanks!
>>>
>>> Christian
>>>
>>>
>>> Eike Stepper wrote:
>>>
>>>
>>>> Hi Christian,
>>>>
>>>> I just stumbled about an issue with the OCL plugin. It doesn't re-export
>>>> the antlr plugin. Actually it even doesn't list it as a required bundle.
>>>>
>>>> As a client of ExpressionsUtil my plugin complains:
>>>> The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>> referenced from required .class files
>>>>
>>>> Of course I can add a dependency on antlr to my own plugin, but maybe it
>>>> saves time for others, if you simply require and re-export antlr...
>>>>
>>>> Cheers
>>>> /Eike
>>>
>


--------------020003030002010500020006
Content-Type: image/jpeg;
name="plugin-rgistry.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="plugin-rgistry.jpg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkSEw8UHRof
Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwL DBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAAR
CAClAc4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI CQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS 0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI CQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2bxH4ksfDWnG6u23MeI4l PzOfQV5vJ8Zb
/wAxvL0i3MeTtLSMDjtmrHxc3vqenx7m2eSW254zu64rA0TS4LW1nvBdATCJ 5YhtKttX+JT6
bsjPqPavdwmFwscKq1Zczleyu1s7dDzK9es6zp03ZI1f+Fy6l/0CLX/v41H/ AAuXUv8AoEWv
/fxqseOVtprUWLXVqrwOZFIjCu+EB2sFGMndwcADB65rk9L8O2+oW1uXu5or i5uGt4Y0tw67
gFOWbcCB846A4wTV5b/ZuNoOr7Pls7NXk/x6/IjFPF0KnJz367JHSf8AC5dS /wCgRa/9/Go/
4XLqX/QItf8Av41c1qHhqaC8tYbaNpFuRGsZZ1+aQojMO2Blx1qu/hy/jsTe PCixBBIQZk3h
CcBtmd2CSOcd69FZflzSfLv/AHn/AJnK8Xi07X/Bf5HW/wDC5dS/6BFr/wB/ Go/4XLqX/QIt
f+/jVylp4du76yFxbR7gC+8u6IihdvO5mH98ZyB9TzhbXw+7as1jeu1vsieV 2RRL8qoX+XDA
NkDg5xzTeXZcr+7t5v8AzEsXi3bXfyX+R1X/AAuXUv8AoEWv/fxqP+Fy6l/0 CLX/AL+NXMT+
HGaW3+wyGaGeEzq84WDYoYqS+WKryODu5yO5xSReFNUmlaNbeMEOIwXuI1Ds RkBCWAfIIPy5
6j1pf2fltruP4tfqP63i+/4L/I6j/hcupf8AQItf+/jUf8Ll1L/oEWv/AH8a uXk8L3yo0iRD
y1QPmWSNC3yByFG75sA54ycYyB0qW98IXtojSo1vLAkUcjyC4jG0sm7BG76g euOOtH1DLbpW
X/gT/wAx/WsZ3/Bf5HR/8Ll1L/oEWv8A38aj/hcupf8AQItf+/jVxs+i3dsk zyxBVhZFc71I
y4LLjB5yBnjNRWkFsLyH7YJDbbx5vlY37c87c8ZxVPLMAouShe3Zv/MlY3E3 ScreqX+R39p8
YbiSQLdWEUCkgbkBfA7k8jp+Ndho/itddjLWN9aOw5ZDbsGAz3G/2rg9T8Da Vo+m3Wr3F/LN
YTIP7NSJSJHZxuXfkYAA/Meh4PGWzT2c6zW0rxSL0ZDjvn+leYsuwuNjKWFv G1t9vTv6/qdb
xdfDtKvZ3+//ACPoT7VqH/Pa1/78N/8AF0fatQ/57Wv/AH4b/wCLrl/CniuP WoBb3JEd8g5H
Zx6iunr52tTqUZunU0aPVpzjUipR2F+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+ G/8Ai6Sis+Zl
2F+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+G/8Ai6SijmYWF+1ah/z2tf8Avw3/ AMXR9q1D/nta
/wDfhv8A4ukoo5mFhftWof8APa1/78N/8XR9q1D/AJ7Wv/fhv/i6SijmYWF+ 1ah/z2tf+/Df
/F0fatQ/57Wv/fhv/i6SijmYWF+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+G/8A i6SijmYWF+1a
h/z2tf8Avw3/AMXR9q1D/nta/wDfhv8A4ukoo5mFhftWof8APa1/78N/8XR9 q1D/AJ7Wv/fh
v/i6SijmYWF+1ah/z2tf+/Df/F0fatQ/57Wv/fhv/i6SobpkFs6vIqbwUBI3 ZJHTHf6d6OZh
Yn+1ah/z2tf+/Df/ABdH2rUP+e1r/wB+G/8Ai6oR3TLMY/mJUfNFtJZVGOd3 8R5GRk9eOnzX
EkSVA8bq6noynINHMwsP+1ah/wA9rX/vw3/xdH2rUP8Anta/9+G/+Lpg+eTy w23jLN6D29+P
89CixTpuVfKZdx2lpTnGeO3pT94NCT7VqH/Pa1/78N/8XR9q1D/nta/9+G/+ LpiOJI1cZwwB
GarefczTzJawwMIXCOZZih3bQ3ACnjDD9azlV5NWxqN9i59q1D/nta/9+G/+ Lo+1ah/z2tf+
/Df/ABdUAk+nWjXVxKHG55LhBIXCLuJBUkA4C4BXHbI54a9ShV50OULC/atQ /wCe1r/34b/4
uj7VqH/Pa1/78N/8XVC5vka0kNrPH5ol8kAsAd4OCozxvxnGeM47Vlw6la29 4zWnnLDLcpC8
cijY0hCKcH7wcZBIbrhu+SM54pQkl3LjRck2dBJe30UbSPPahVBYnyG4A/4H Tzc6irEGW1yO
D+4b/wCLqtf/APIOuv8Ark/8jVuX/XP/ALxro5mZWG/atQ/57Wv/AH4b/wCL o+1ah/z2tf8A
vw3/AMXWVDDcXl5NHFOE2AsS5kOcyOMDDgDAUVP9nvLC5g8y4jljnfyyu18j Cs2QWc+lauEk
r3M1NN2sXvtWof8APa1/78N/8XR9q1D/AJ7Wv/fhv/i6ZJGksbRyIrowKsrD IIPUEVj/APCP
WflfY/7O0/7N/wA9/JXztv8Aczj/AMfzuxxjd89ZKT7mljb+1ah/z2tf+/Df /F0fatQ/57Wv
/fhv/i6ZHGkUaxxoqIoCqqjAAHQAVlTaL5l7c3HlaXN57h/9LsPOZcIq4Dbx x8uenc0KT7hY
2PtWof8APa1/78N/8XR9q1D/AJ7Wv/fhv/i6zdO0z7Dc3E+2zTzURPLtLbyV G0sckbjknd+g
pl7pcOra5ZQTthVtp3H7qOTndEOkisO/pmmm27XA1DdaiBkSWrH08lhn8dxx +VXbO+W63Iy+
XOn3oyc8diD3HvXNXPh610nUdLngfLNcsh/0eCPjyZD1jjU9vXFbFqANYjI6 m3fPvhkx/M/n
TTadmI4X4oR+Zq9j7QH/ANCNVNGXQ59KtYdXvWi8mMoEQnJVpHLo2I+jDZzu J44287t3xtYS
an4ksLSIoJHgOC5wOCx7fSsWXwXeQqGlurKNSwUF5GAJJwB93qSQK+io1KDw dOnUnyvV/i0e
PVjVWJnOEbrRfgit4v1Sz1EW9lYwxLb2zM0ZiTauG7Y/X/PGLHqF3BpH9n28 s0MbSO8nlylR
IGVRtIHX7v6103/CDah/z2tP++2/+Jo/4QbUP+e1p/323/xNdWGr4HD0lSU0 0u5hWp4qrUdT
ltcy4tdg8yzefT3kazdHh2T7RlURTu+U5HyA8Yx70+e8sm0qafeP7Snt4oMR O2AEZSCQUABw
g5Dnnt6aP/CDah/z2tP++2/+Jo/4QbUP+e1p/wB9t/8AE1X1rA3TU7fNkqli rWcfwMN9bup9
Kls7szXMkgYefLMWIBaM459PL9e9Rx6pJDqi38UbJIlsIF2yYKkReXuBx+Nd AfA2oAEme0AH
+23/AMTTYvBV7PEksV1ZSRuoZHSRiGB6EHbyKtYzApNKS1/Un2GK0vF6GXB4 gkSf7TLHcNdy
Q+RPcRXJjeRRjaQcHDDaATyCOozk1csdTsZ5o7jUZZz9luPtEPnXLPMThcgk REMPkGMlcetW
j4G1AAkz2gA/22/+JpsXgq9niSWK6spI3UMjpIxDA9CDt5FRLE4F7Tt8y40s Wvs3Mxtcje3k
jksnfdGECNMGiyI1QMUKn5htyCCp5xmqt7qMd3p32cWrJK3k+ZJ5uVPloUGF xxkH1Nb/APwg
2of89rT/AL7b/wCJo/4QbUP+e1p/323/AMTVRxeBi7qS+9kuji3vH8jn9Tux daZp9orBzDHm
VgpGW6KD67VCis63X7PcxT+VHJ5bh9kq7lbBzhh3B712P/CDah/z2tP++2/+ JqtD4Xe4vJ7O
DUtMlurfHnQJPueLPTcoGRn3qljsHyOnzqzv+JP1fE8ylyvS34FKfxXrF3/a CXUkc8N6hRoJ
V3Rx+hQZ+Ujt78nJ5rn/ALP7V23/AAg2of8APa0/77b/AOJo/wCEG1D/AJ7W n/fbf/E1NHF4
Cjf2ckr2/AqpRxdS3Om7HGwrJbzJNCxSRDlWXqDXpPh/xbBfRx296wiusYLH hWx3z2rI/wCE
G1D/AJ7Wn/fbf/E0xPBd5K0ix3Vk7RttcLIxKnAOD8vBwQfxrnx1TA4uPvTS a2f9dDXDRxWH
ekbrsehAgjI5FFchZ6B4hsWzBqEAGclTIxBPv8tX/s3in/n9sf8Avk//ABNf PTwqTtGpF/M9
eNdtawaOgorn/s3in/n9sf8Avk//ABNH2bxT/wA/tj/3yf8A4mp+r/34/eP2 391/cdBRXP8A
2bxT/wA/tj/3yf8A4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBRXP8A2bxT /wA/tj/3yf8A
4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBRXP8A2bxT/wA/tj/3yf8A4mj7 N4p/5/bH/vk/
/E0fV/78fvD2391/cdBRXP8A2bxT/wA/tj/3yf8A4mj7N4p/5/bH/vk//E0f V/78fvD2391/
cdBRXP8A2bxT/wA/tj/3yf8A4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBR XP8A2bxT/wA/
tj/3yf8A4mj7N4p/5/bH/vk//E0fV/78fvD2391/cdBTXRZFCuMgEN+IOR+o rB+zeKf+f2x/
75P/AMTR9m8U/wDP7Y/98n/4mj6v/fj94e2/uv7jQhD/ANtzkxMF2ff8sAHh MfNjJ/i7+lXo
0WKNY0GFUBQPQCsH7N4p/wCf2x/75P8A8TR9m8U/8/tj/wB8n/4mj6v/AH4/ eHtv7r+43ZE3
gEHaw6N6f/WqKO3+T96zlySTiVscmsf7N4p/5/bH/vk//E0fZvFP/P7Y/wDf J/8AiaPq7/nX
3h7b+6/uN8AKAAAAOABVWbTreeVpW85Hb73lTvGGPTJCkAnGBn2HpWV9m8U/ 8/tj/wB8n/4m
j7N4p/5/bH/vk/8AxNTLCqStKUX8xqu1tFl2y0+dPlvJvMiilZoU3s+RuJUu W5JAIAHIGM5J
xt065/7N4p/5/bH/AL5P/wATR9m8U/8AP7Y/98n/AOJpQwcYK0ZR+8csQ5O7 i/uJrqFrO5iY
2P2yF5HClCd67w5IZcbWXLMAzEY3/UnStYJEs44rlhK6nJz82OcgZPJxwMnk 4z1rH+zeKf8A
n9sf++T/APE0fZvFP/P7Y/8AfJ/+JqIYCMJOSmtfMqWKclblf3Gxf/8AIOuv +uT/AMjVuX/X
P/vGuc+zeKf+f2x/75P/AMTR9m8U/wDP7Y/98n/4mtvq/wDfj95n7b+6/uLU mnW0l1Mmo6Wm
pWrhWRWjjYK25z0duvz9R606HT7C2ng/szQl08ebvmZI4kDAI4GdjEnlv1NU /s3in/n9sf8A
vk//ABNH2bxT/wA/tj/3yf8A4mteSVuXnj95HNG9+V/cdBRXP/ZvFP8Az+2P /fJ/+Jo+zeKf
+f2x/wC+T/8AE1l9X/vx+8v2391/cdBRXP8A2bxT/wA/tj/3yf8A4mj7N4p/ 5/bH/vk//E0f
V/78fvD2391/cdBVe4sobqWOVzMskasqvDO8ZwcZGVIyPlH5Vj/ZvFP/AD+2 P/fJ/wDiaPs3
in/n9sf++T/8TR9X/vx+8Pbf3X9xqJpsCTxTF7qR4mLJ513LIFJBGcMxGcEj 8au2v/IXi/64
Sf8AoSVz32bxT/z+2P8A3yf/AImp/DdzqD+JLq01CWOSS3g4MYwPmKn0HtT+ rtJyUk7dn8v1
D2ybUWmrmH8TLX7bq+m2u23bzWgTFxD5sZzMPvJkbh7ZFULvS20O802x8nSY 1kmSU/2dpwtV
z9oth03Mc+vIB444FdbrUby+PNJSN1RjA+GZdwHD9sj+dbX9nXn/AD9wf+A5 /wDi60rN8tK3
RP8A9KkKl8VT1/RHk76vf6XbiztvEUUCm9vPtE17cwW/kSCUlI9xt3A3KzPh ly2MqQBg9j4Y
udS1Ca7ub7Uo5liZIlhtQpgJMMTllfbuYZZsHIGD0PGOn/s68/5+4P8AwHP/ AMXTZLK5ijaS
S+tkRAWZmgIAA6knfXKovsbto88udV15EurlNakCrFe3CxfZ4tq+RNtRM7c7 Spw2TngYK85d
F4hv7zxe9lDqQ+zTSTWzWhuIWmgKoxD+UsOUBKZUvI2Qfu88egx2VzLGskd9 bOjgMrLASCD0
IO+ua8X69eeFPsfyQXX2nf8AwlNu3b7nP3v0qoUZ1H7OKu9f6+RM6kYrmbOa 0TVok0zSrK48
WtawLZReWXa2VriX7rwEsn8GFXaAH+bknimrqGtaH4b082+pGdZ9LjlxNGiJ agNCpZWVCQAk
jElw4G0HGAQT/hZt5/0DoP8Avs0f8LNvP+gdB/32a6v7PxV78n4rz8/MxWLo 9/zJIdevZLK2
i1DxZYw2srThdQsbmC4MjKE2QmQwrHuO5ztEYJCjHQ53IjpX/CutMXWZLRLN rOAFr5QYd20b
d4JAIzjgkCqfh7xtea9rttpn2WCDzt37zlsYUt0yPT1ruv7OvP8An7g/8Bz/ APF1z1sPUpPl
nGzdv1NadWM1zRfc8quJfDCeHbKxvv7JS5me5Swup2SKCGPzPmnhLYCLyCiq SfugMQC9dG+j
6PqfjC0ltrCxeWyVbu5vkhTzZHIxEpkAyeMueeydjXZf2def8/cH/gOf/i6P 7OvP+fuD/wAB
z/8AF1nZ/wBf1/TLdmcRf65eQ+KWtV1TZcLeQQwaTsjH2iBgu+Xld7bcucqQ o8vBHXN3whZt
Y6LeST6hdXKPd3TMJVQbMTSbiNiKcnqc59sdK6r+zrz/AJ+4P/Ac/wDxdH9n Xn/P3B/4Dn/4
ulyvltYL6nmMM/g6xi1idk0i60IpAcWUaC3Z97bI5Bkq0uSCWZgMFchQMmeT S9C1PwxYWEMG
jahc3k0kVs8Kx3MdmjMXkEbYICxrwOgyFGBkCvR/7OvP+fuD/wABz/8AF0f2 def8/cH/AIDn
/wCLo5WFzjfEF/Do97punHxCmg2H2OXa5MILMhjCKDKrDoTwBk1k6D4jnsrt 5tcuIrD7WrPM
JgI1Nz5NthRu6Ny+EznrwcV6E2iTNeR3ZuIDPHG0av5DcKxBIxvx1UflU39n Xn/P3B/4Dn/4
uhJ282GmljzS18T3k8li114h+y3jy2SR6dthU3UcgjLyYZS7ZLOMoVA24xkG tPXNQ1uHWbWM
rZ2Lyfu4pYWFwxRriBSTvjXacMflGR0POBXUT+FPtOpR3812XljIKoWm8oEd D5Xm7MjrnbnO
D1FaH9nXn/P3B/4Dn/4unbVOwjzXV9d1TSZJLWXxCwS3uJUDn7Ml3c/u4mVU V0EUmDIcqNjE
YwSeD31pfW949xHDIWktnEUwKldrlVbHPsynj1q21heKpb7XBwM/8e5/+Lqr L58TFTcRtgkZ
Fv8A/bKFCUlZIG0ixRVNJpXcr9oRTtLfNbccDPaSp1hutm5rqEc44tyf/Z6U qco6SQKSexLR
UflT/wDP3F/4DH/4ujyp/wDn7i/8Bj/8XU2GSUVH5U//AD9xf+Ax/wDi6PKn /wCfuL/wGP8A
8XRYCSio/Kn/AOfuL/wGP/xdHlT/APP3F/4DH/4uiwElFR+VP/z9xf8AgMf/ AIujyp/+fuL/
AMBj/wDF0WAkoqPyp/8An7i/8Bj/APF0eVP/AM/cX/gMf/i6LASUVH5U/wDz 9xf+Ax/+Lqnq
lzPpml3N6Z4pPJQsEFuRuPYZ38UWA0KKY0FwrFTdw5Bx/wAex/8Ai6Typ/8A n7i/8Bj/APF0
WAkoqPyp/wDn7i/8Bj/8XR5U/wDz9xf+Ax/+LosBJRUflT/8/cX/AIDH/wCL o8qf/n7i/wDA
Y/8AxdFgJKKj8qf/AJ+4v/AY/wDxdHlT/wDP3F/4DH/4uiwElFR+VP8A8/cX /gMf/i6PKn/5
+4v/AAGP/wAXRYCSio/Kn/5+4v8AwGP/AMXR5U//AD9xf+Ax/wDi6LASUVH5 U/8Az9xf+Ax/
+Lo8qf8A5+4v/AY//F0WAkoqPyp/+fuL/wABj/8AF0eVP/z9xf8AgMf/AIui wElFR+VP/wA/
cX/gMf8A4ujyp/8An7i/8Bj/APF0WAkoqPyp/wDn7i/8Bj/8XTZEuIwCbmI5 GcC3PTP+/wC1
OMHJ2QNpbk1Y+if8j3qv/XBP5JVo3Ein5p1A9fs3/wBsqpoQZfHWrK7q7LCo LKu0HG0dMn+d
ddGnKEKnMun/ALdE56sk5Qt3/Rk+o/8AJQ9H/wCuEn/oL1Zv7i4hu7gx6Vq2 pfvtuLK6jjEQ
EaHkPLGOSx6Z6HOOKraj/wAlD0f/AK4Sf+gvW3dWcIZpt0qPJIm7bO6g5IXo GAzjA/oehqt8
FP0f/pUh0vjn6/oiLS5Zdswa3ulzIp8uaUO8OUjJVjuIyCx6Ejg4J4zz/ii7 1RjJBd2rQaO7
xBZkVWZmJXCvhjgbs84HIAyc89db20VsriMN87bmLuWJOAOpJPQCm3dpb39p Ja3UQkhkGGU/
mCD1BB5BHIIyKzpS5JXaLnHmVjidDvbiO0ji0d5Z5lklWSDG9BiUgbskBPl3 EcruI71W+IVr
JqE/h2K5TDFJ3nG8R7QFQuc/NjGD03dOM13unwW1rZJb2kQigiLIqg56Egkn JySckk85PPOa
5jx1oGo6udPu9PvIrR7MyEyM7q2W2gbdoJJ4xjryMU8GlTxTqylo7vXZXuTX TnRUEtdDz+70
PRbK0W+L3dxby+V5SxTAffMgPzNGCf8AV5Hyjr+NXbawsbGOS2WCRp0k1CAX G5RuCxdxtyeD
wM8HJ74qT/hBfE2q7/N1iGZlILLcSzhu+Dh0zjlsH6+9WF+Hni1FmVNZt1WZ i0oF1KBIT1Lf
LyfrXte3pSX8RP5/1/wTg9nOL+D+v6sUvDFtZ2XxQtbSzE+yB54y0zhixCOM 8AYHtz/SvZK8
48NeAtZ0nxTbatfXdpMqF2kKyOzsWRhnlRnk+tej152OnGc48rvp/mdeGi4x d1bUKKKK4joC
iiigAooooAKKKKACiiigBsn+qf8A3TXCeIpdUubw6dpyNCJnk829J4iUNyBz ncc/4dyvdyf6
p/8AdNc9dW5W4kO1CWYk4nYc9+PLOPzNb4dpNmdTYwtEuNQeC5h1KDZcQRyJ 5q42Tfuydy//
AKv6gdaf+Pdf94/yFZcFujysreWu6NgT5zNxg5wDGvOM9/zq1cx6vKqDTo7E xgks1xK6nPoA
qnj3z39uZxbvJWCjomefxXGr2sN9rFnBqAa1lvXmmvr4yW06K0gREi8xiuGC c7UwFPJzg62q
a9renG5Hm6ax0+0W9uV8h91wrO4CRjf8hATG47ssR8o6Vt/2Vrxt3t/sWheR Ju3xb5NrbiS2
RswcknPrmorvQNWv57ee80vw9cTWzboJJt7tE3BypKfKeB09BXNZ6aG19zAv PFus6bZjVJ4r
Gezea7hS1jjZJV8oSsGMhYgg+VgjaMbs54wZLTW/Fkr2tvc2VravdThIrmeF dpXypHOI47iT
JBReS65DdBjNaOm+EdR0m4mubXTNAW7naRpbnLCV97liCwjBIyeh9BUtj4Wv tMbdYaJ4ZtG3
b8wK0Z3YIzxH1wSPxNFvIG+xnpqeq6fda7eT3ltPYWuoRq8ZiYNDEUj3NuMh ACht2NvZj346
DRru4v8ASoby4RUM+ZI1VSpEZJKZBP3tu3Pvnis+98N6zfJd7rPRYpruIQz3 EUjrK8f90vsz
jqPx4xV9bPxMqhVh0cADAAmk/wDiKnldrWC+poUVQ+y+J/8AnlpH/f6X/wCI o+y+J/8AnlpH
/f6X/wCIo5WFy/RVD7L4n/55aR/3+l/+Io+y+J/+eWkf9/pf/iKOVhcv1keK f+RY1D/rl/UV
Y+y+J/8AnlpH/f6X/wCIqrqWk+JNQ024tJE0pUlQgss0mR/45RysLlvxKLka Xey2Zk+0Qjzo
1RsFyh3bfocYx71y1z4g1H7GbvR3N1NfSy3EEZhEyfZowE3AtNEqgnDfeJO/ gHkjq5bfxNJK
7LDpAViSAZ5DgfXZWdceGtSu4LeC50fw3NDbY8iOUMyxY4G0GP5fwo5X/X9e n4hdGL4a8QPd
andMUijjvI2vWBOSpENtwDnp85z+FN0vxV4h1e/t/sulJLZr9nW6ZFjwPMjR 2cM04ZQA/C+W
+dvXnjam8L39xFHFPonhmWONxIiOrMFYAKGAMfBAAGfQCh/C19LdW91Jonhl 7i2VVglZWLxB
fuhT5eVA7Y6Vdtdu39foLob9FUPsvif/AJ5aR/3+l/8AiKPsvif/AJ5aR/3+ l/8AiKjlY7l+
iqH2XxP/AM8tI/7/AEv/AMRR9l8T/wDPLSP+/wBL/wDEUcrC5foqh9l8T/8A PLSP+/0v/wAR
R9l8T/8APLSP+/0v/wARRysLl+iqH2XxP/zy0j/v9L/8RR9l8T/88tI/7/S/ /EUcrC5foqh9
l8T/APPLSP8Av9L/APEUfZfE/wDzy0j/AL/S/wDxFHKwuX6KofZfE/8Azy0j /v8AS/8AxFH2
XxP/AM8tI/7/AEv/AMRRysLl+iqH2XxP/wA8tI/7/S//ABFH2XxP/wA8tI/7 /S//ABFHKwuX
6yfEV5d2dqGsbRrq4aNVRAQACWYZbnoO/wDQZIn+y+J/+eWkf9/pf/iKmube UpC06w+cIwr7
JWUA85x8jZGc4PH0rowytPUzqaxOS03+2rG9NnqR+2RSKZVuk4CN/Eh6cZPH t2xwu34fOfHe
t/Rv/QhU5hTcN6x4z3uHx/6KqLQ08vx5rC5BPlgsR0ydpP65rvnK9Ofp/wC3 ROW3vx9f0ZPq
P/JQ9H/64Sf+gvXSXJ2xKc4/eIOuP4h7j/PY9Dzeo/8AJQ9H/wCuEn/oL10l ySIlwGJ8xPug
k/eHoRx6+3Y9K5a3wU/R/wDpUjal8c/X9ES1n6szrHBsjnl/eMfKgk2PJiNy FBLKMkgdSB6k
VoVFcW0VyqCQN8jblKOVIOCOoIPQmsDYwrK6uZLiF30jV7AiXaEvLqOTzgY5 DhQkzjgqPvY6
jHfFvVpiJtP3xlB9qIy5GD+7lHY+2fxHvi6lhBHKkoMzMhyu+d3AOCOhJHQm pp4IbqFobiKO
WJvvJIoZT35BrOpBzg4oqEuWV2eeS+NtBu5vI/sqb7X8w23losYjIBJDFuh4 xgck4Heu20Jx
JpELqwKMzlAD91d7bV9sDAx2xiuM/wCFZsLkS/2tF9pJMnn/AGFt27P3t3mf eyc12Oi6R/Y0
dzClwZIJJjJFGVx5QP8ADkk57VzU4SVbmULRtbfr3/T+mavSm1Kak76WT2OT 0bXtQufEKwjV
L+5c3N39os7mzWKCO3jZ1DRSeUpchvKU4d/vHI7jVuvGMkFnpM0OmedLqNvH Msfn7dheSJAu
dvOPNzn/AGenNbEmgaZLDBE1sdsFw1zEVkZWSRiSxDA553MCM4IJBGDiqdt4 N0O1lSSK1mLR
48oSXUrrEA6uFQMxCqGRSFGAMYxiu5W0v/X9foYPq0JZ+JW8qVNUsJYLqK6+ yullHLeJu2qw
O5IwQuGHLKoBz9a5+18Xa5b+X9tsYZ5ZZ54oEiuwFfF0kK78wgrt39icgEkE njuILSC2luJI
U2vcSebKck7m2hc89OFA49KzU8KaMl21ytq/mNKZsG4kKq5dZCVXdtXLorEA AE59TlLdX+Yd
DBfx9dW1q815ohRirrCkE7TF5UmWBlIWPdt3sCCoZiuflBwpuDxJfXvgrVtT +wzade2scoUS
RSAEhdwZfOjRmHI6oOQRzjJ1Z/DOj3MJhlswyESD/WOCPMkEjEHOQd4DAjkE DGKkj0GxTSLj
S2N3NaXCssguLyaZyGGCA7sWHHoeO1NbD6mJ4u1a8s7nT7az80yytG4VZRGr 4uIFwx2k4Icg
4OME8Nxh1j4s1C71gaS2j28d5DJIt2ftpMUSp5TZVvLBfKzKQCq8gg461dfw do0lv5Mq38oH
3ZJdSuXkT5kb5ZDIWXmNDwRjHuc3LHQNN010e2gbzFV18yWZ5HYOVLbmYksT tXliTgAdKFov
v/4Ajl4/iFNJdS26aSk25k+ySwyzCO4Vpkj3B5IUUj51bKFwRnnpl1942vtN uZbMaVJdX/ms
GijM0sUYWOJmCtDbs+N0oxuTnkkjha27fwdodrMksdtOzx48vzbyaQRgMrhV DOQqhkU7Rgcd
KlvfDGk38rTSwzJO0plM1vdSwSBiqqcPGwYAhFyoODtBxkUlsHUzbHxfPea/ bae+l/Yop0Vk
N9K0E8hMXmHy4mTEgX7rYfcpzlQME9VWTD4b02DUUv1W6edMbfNvJpEDBdm7 Yzld+0Y3Y3Hn
nk1rU3boA2T/AFT/AO6a5u4/4+Jv+uj/AMzXSSf6p/8AdNc3cf8AHxP/ANdH /ma3w27M6mxX
HWb/AK4Sf+gNXS2X+pP+9XNd5v8ArhJ/6A1dJZ7vKOAD83c0Yr40Kjsy1RTc v/dX/vr/AOtS
HcQQUUg9s/8A1q5jU85s/GT2+t6lft/aE9rcwXEkEU0E0cKmD7gjdl2HzEDO SpP3a1dSk8Sx
S6Fv1nTN892+fJspFjdPIdtpHn/N90kHPXBxxz1X2K38uCP7HbeXbkGBdoxF gFRtGOOCRx2J
FUovDGhQWbWcWg6VHatIJmhS2QIZB0YrtxuHr1o6WH1uYmleItQa10+2kSAT 3UdrNAx3sPJZ
N0uSWLMy7JOSf4kznnOPeeLNcutN1mMlLaGTTJr3T7023kny1IG7AuHblWBB YRkH+E9B6DHZ
wRPC8dpbo0EZiiKqAY0OMqvHA+VeBxwPSqtroGkWLTNaaNp1u04YSmGBEMgb 727C85wM564q
m9b+v9fl+PcS/wAjmofEPilvED2MWnRXtrZSxQXk0MKIG3Irs4LXO5MB/u7H zt4bn5XaDf6j
qniXStQvrixZLvSpp4ILaJg0KM8JwzlzvPQZCryDx6b48M6Gs9rOug6UJrRQ ttILZN0IByAh
2/KASTxU9no2m6fcy3NlpVjbTzFmllhhVGcsQWJIXJJIGc9cUJ2d/wCtv69A e1vQ0KKbl/7q
/wDfX/1qMv8A3V/76/8ArUgHU2T/AFb/AENGX/ur/wB9f/Wprl/LbKr0Pf8A +tSA4zxdA0ni
nTrm7msDpljZT3jw3dg1zh0aP94oDj5wD8pwSPm67uMlvEmvTX8MWoWEQ1Gx lM8EbqlsJN9t
PtVgJ5QvKdSw68gYyfRpbaKd98ttBI2xo8uATsbG5enQ4GR3xVCDw3olrbtb 2+haXDCwIMcd
siqQQwIwFxyGYfRj6mmnpb+tx9bnIP4v8TM8OmWtrDc6sWlMqrYeUYgixkoY pblAxzJ99JXX
AGAc5He2MtxPp9vLd2/2a5eJWlg3BvLYjlcjg4PGRWe3hfQn01NNbQNKawR/ MS1NqhiV/wC8
E24B5POK04Ylt4I4YIYooo1CoifKqqOAAAOBTvoIlopuX/ur/wB9f/Woy/8A dX/vr/61IB1F
Ny/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V/wC+v/rUZf8Aur/31/8AWoAd RTcv/dX/AL6/
+tRl/wC6v/fX/wBagB1FNy/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V/wC+ v/rUZf8Aur/3
1/8AWoAdRTcv/dX/AL6/+tRl/wC6v/fX/wBagB1YeoZ+28Ak+WcYGe7ex/ka 2sv/AHV/76/+
tWLqEUk1w2LeVxgr8mxgRk9dzL6n17VrRaUtSJp20MuYybl3hwMH7yEen/TN f60zw/8A8j3r
f0b/ANCFW00t9wK2NwnqVSIcf9/Kr6FGY/HmsBvvGMMQDnBO04/Wuyc4unNR fT/26JzWanG/
f9GT6j/yUPR/+uEn/oL10lyN0SjGf3iHpn+Iex/z3HUc3qP/ACUPR/8ArhJ/ 6C9dFdlRCpYj
Hmxjn13jHY9//wBY6jlrfBT9H/6VI2pfHP1/RE9FFFYGwUUUUAQSELdRMVJ+ RlyFJxkr6D+o
+hxkOFyjYwsvOOsTDrj2/wBofr6HEtFAHk118R/E9pdXFrJb6D5sEjxMfOcD cpKngsDjIrp/
DWtx3mtSvEZvst+Xkh83GSQT/dJGPlkH0UVWT4eXCIq/2tbHAxk6fkn/AMiV e0/wU9jNbTf2
ghliuPNZo7bZuX5Pl+9x91uefvniuGu8RVlCShbld916P8DahRhS5uarzJra z+RZ1/W7jS9a
soUl2wTQtuXyg+XM0KKeoI4c9+M5wcYqHw34s+3WFnHqVtd2tw+nreefcLGq XCALvddrEgAs
Mhgp+YcVq6r4ftNXu7e4uJJleAAKI2AB/eJJzkHvGv4E1j/8IWbfS3totSur yX7MtjE96Yx5
FsWXzFXy41ySq9TkkqORzXcvht1/4e36fIxe5DbeOYLGbSrDV1kW81CNZVZp bdSvmElU8rzB
IccLkIRxknqadc+Oi2iXV7aaPfpKNPa+tPtKxhbhBjJAEmRjcuQ20nPGav3P hC2uL+W4F/ew
wzTxXElpF5QjeSPbtYkoX6Ioxuxx0qaTwrYS2ENm8lwYotPfTh84BMbBQSSB 975ByPfinp/X
9d/wBbmdpfiu4m1eewudNvzcSXB8qALF/o8apDu3sH28GXPBYnnGeBWzqWqv Y6lp1qLeVkum
kUyKqFcrGzBcl1Kk7SQcMOCDjINQ6Z4ag03UDfm9u7q6ZXDyTmP5twjBJCKo z+6XoB1P4UdS
8MT6nJb2FxKZtKVriWWae4Lzs0qyL5YXbgIok4O44Cgbe9D2XcF5law+I2ma mu2ysru4uTOI
Bb28ttMxYozg745WjAwjdWBBHOMg12I6elc/ZeE4bXUotRn1O/vbqMqQ9wYg MKsigbURQBiV
ugHQe+egodugtQooopDGyf6p/wDdNc3P/wAfM/8A10f+ZrpJP9U/+6a5uf8A 4+Z/+ur/APoR
row27M6mxX7y/wDXCT/0Bq6Wy/1J/wB6ua/il/64Sf8AoDV0lnu8o4APzdzR ivjQqOzLVBGQ
R603L/3V/wC+v/rUh3EEFFIPbP8A9auY1OD0mfV7aOPT9Ku490zX07z6o894 y+VOI1VQ0gON
px94Yxnkk5ls/FOt395a+YtpZWl5Cotz9nebzJGg8w/vUfCFWONjqu4DKsc4 HUWGh6XpQI07
SNPswd2RbwrHndjd91R12rn1wPSiDQtKtb8X9vo+nw3oQRi4jgVZAgAAXcFz jAAx6AUPVW/r
qPrc4VfFfiDTPDGmTxyw6m8OnxXd8y2eAImHykyPcr8xCvyokJIztHAOn4OJ Op62VznacY6/
8fN1XQN4V0BmRm8PaSWjLFCbWPKluWI+XjOefWtCCzgtXd7e0t4mf77RqFLc k84HPLMfqT60
5PmT8xbHB65ql2vw/wBCuIL648+ayd3kinIeQi0kbO4EEndg5z1waLO6uIGv IoX1SxjjvNPQ
2Wo3zT3ClphvfcZH/dupVRhyCUcYBzXYReHtHguLq4h0TTY57sMtxIlugaYM ckOQuWyeualv
9F03Vf8AkI6VYXnyeX/pEKyfLkHb8ynjKg49QPSq5vev/W9wtpY0KKq2Njba ZaJaWFlbWltH
nZDAgjRcnJwoGBySasZf+6v/AH1/9apAdTZP9W/0NGX/ALq/99f/AFqa5fy2 yq9D3/8ArUgO
Y8S63rOnTalJp7aettpunpeyJcQu7zkmXKBg4CZEYwcNyehrnT4p1PSdJZ9M txOltLc3N9G9
sDsja5k25kaaPaTtcfKsh46dAe1ufDel3utrrF5ptpc3sccccMk8auYdjMwK ErlTl+oPYelP
uPD2j3ksctzommzyRbvLeW3Rim4ktgleMkkn1yaq6urA9jjNbTW9Rg121Gq2 RtH1m1txDNZv
JiNvJyjfvQChDDK4GQW/vcObxNquiaT5kEOjmzQ3VpbWdtbNH5L26OdzYcgI TEfkCgrvX5jj
nuW0uxe7e7bTrM3LhA8xjXe2w5XLYycHkelRnQ9La9uL1tI083dzH5U85hXf KnHys23LDgcH
0FKLsrf1sl/XqP8Ar+v66HOX+t+JbO/Nssmkv5f2USE28g3GeV4xj95xsAU9 92D93PGlo2sX
969kLubTVyt0lwillkkeKUIHjUk4Tglsk43KMmtl7OCWQySWlu7nZlmUEnYc rzjsSSPQ1Xud
Itbi3liW2hgd4pYlmhVRJGJOXKkqcEnk+pAJzRfTT+tBJa6nExa7rdrY6vqd kdOSGO3/ALWd
LiF2edXaTZGGDgIfLijAbDc9qsaT4jnsdD15lWBfsMc13GJAc7nuLjhuenyD 0710Z8KaPJq0
epT6ZaXFzDFFFA08auYBGWKlCVypy3UHsKsXPh/SLySKS60XTZ3i3mNpbdGK bjlsErxkkk+u
ad1sG/8AX9eZyWqeKNaFhPfK9gLCWW7tkthFKsyGFJfmMokGCTF0CggHrxmt TTtd1ma+spbp
tP8AsF3eXNosUcTiRPLMm1y5cg5EeCu0dc57VMPBGmP4mm125jjubiUMPLkt 4AoDLtOWWIO4
25GHZhz04GNe60q3urGS0EEcKsJNjxBQ0TOGDOuVIDfM3OO5z1pX003C12cL P4m1TS7F9Q06
3ScS7tSvka2B2wu5EWZGnTaTGmPlWQ/LnHQHYg13Xp5YJHfTktbu5urSJEgf zIzH5u2Qtvw3
+r5UAdfvdq3Z/D2kXZt2u9H0+5e2j8qF54VkaNcYwCVJAq4tnAnl7LS3Xy3a RMKBtZs7mHHB
O5snvk+tJ2asGt7/ANf1c850DUteW701FvbG4vNRsbNWupYHKqnl3DglfMy7 fKMncM5PSvTX
GY2Bbbxyw4x71QtdF0yxk8y00mwt33l90MKodxzzwvX5m5/2j61Uk0TUJb1p m8Ral9nZ9xtP
LtTEVz9zmDdtxx97OO/enJ8wJWKPhz7PaTXV3BqF22iyCKG3lv715hPLuILx tIxO1iyKMEBi
MqMEFmX2nxT+NrNbS71GOWL/AE29I1GfyhHyqJ5W/YNzAn7uMRt3Oa1bPwvo OnFjY6BpVrvK
s3kWqJuKncpOF7EAj0IzWilvHHLNKltCsk2PNcDBkwMDccc4HHNDfVB3/r+v 6ZzniYW2pWtq
1jqF49/cxN/Zy2F88aMTg+cwRgrIvBJbK4OMEsAb1huu/E99O5DiygjtFbHO 9h5kh9OQYvyN
S3nhnQ9Rit4r3QdKuY7ZPLgWe2RxEv8AdUFflHA4HpVnTdOj0uCSG3X5ZJXl OSOCxzgYAAAG
APYDrQmv6/rsD1L1VP8Alo3+8f51Zy/91f8Avr/61Vh/rGz6n+dJjJ0rmNK/ 5KDrH/XFf5JX
TpXMaV/yUHWP+uK/ySt6PwVPT/26JhV+KHr+jHaj/wAlD0f/AK4Sf+gvTvEP imz0EltR1Sys
42uooIUlIDvkxgtzIuVUyAtjooJOelN1H/koej/9cJP/AEF61b3SGvDKjyQt C9xFchHiYlZI
yjIcq46NGpx+ByKdb4Kfp/7dIdL45+v6Ik07Uo7qJna7tZkLKYZYThJUZUYM vJyDvHIPOR61
naz4jihims9Nl83UcLgKhYIrYO/J4PB4xnkjjGa2bW3kgMzSyLI8sm8lE2gf KFxjJ/u1ma94
dg1S2lkt4oIdR3JIlxt2lipB2sw5KkDHOccHBwKzpcvN75c7290raX4ilFhC +qRH5iyefEC2
Sr7MsoGQSdo+XPJ7Ctq51G1tNOa/uJDHbKgcsUOcHoAuMknIAXGSTjGayNI8 LQ2tpGupP9sl
BdzG3MSF2LEAYG4ZI5bPQEBelaGqaUL/AEr7FbyLatG0bwOI9yxujBk+XIyo KjjI47jrXOva
+0le3Ld272v8v66mi5eVd+pSfxlosRhEst3E0o3bZbCdGjXdtDSAoDEpOcM+ 0HBweDTJPHHh
6KaSJ72UNGzKx+yzFflbY53bcFVbhmBwuRkjIqnfeFdW1JZxda1aD7dbi11B YrBlWSIMxHl5
lJjbDsCSXHQ4GOZZfBwktJbcX20SW95Bnys48+USZ+9/DjHv7VsraEsu+KNd Og6RJdJ5Bk2S
FPNLYJWNn7Dn7vcrxnnOAYT420JYmZ7i5R1kEZhaxnEpYqWGI9m8gqrEEAg7 Tg8UzXPDN1rd
vNDLqoVTJI0ANsCIVaAxbeGG75mZ8nnnHvTIPCt0+rR6tqOpQz3ysoY29qYo zGscqqoUuxBz
MxJyc8DApPbQOxq6Vr2ma35v9nXPnCMKxPlsoKsMqy7gNynBwwyDg88VVHin TkMccrSvNJJI
oS0tprjaFkKbn2p8gyDywAyDgkDNRWPhu506OMWup+XItvZ2zP8AZwdyQsS3 BPG9WK/7PXmo
bfwxf6fdtPp2qW6CcuLpJ7Myb0MryAIRIuxh5jDJ3A8HFOX90Ftqbdtqtldt arBNvN1AbmH5
WG6Mbfm5HH314PPNXK5zRPDl9pl5aSXWqQ3UNlaNZ28cdqYm2Epgu29tzYQZ ICg56Cujodun
9f0gCiiikAUUUUAFFFFADZP9U/8AumubuOLib/rq/wDM10kn+qf/AHTXOXH/ AB8Tf9dH/ma6
MNuzOpsVupl/64Sf+gNXS2X+pP8AvVzQ6zf9cJP/AEBq6Sz3eUcAH5u5oxXx oVHZlqmTEiCQ
g4IU8/hS5f8Aur/31/8AWpDuIIKKQe2f/rVzPVWNluecWWvXWj6f4ej1PUZy jxG8W4kZpGmi
+zOzqwB3OUfB+hTvU9r4r8UzXn9lT29na35lXElzahQI2ilcZjjuJOcxd3HB 6DHPcNp9q8MM
L2Nq0UIKxIUBWMbSuFGOBtJHHY4qvZaBpOmqq2OjadahTlRBAiYOCMjC+jN/ 30fWnJ3uJdDj
n8a+IRbW0cdlaTXt+ttJbCCPIiEscrlSsksYkI8ojO9M7unGG7TRLjUbrSIJ dWs/sl8ciWL5
exIBwruBkAHG5sZxk4on0XTbq1e1uNKsJbZ0SNoZIVZGRDlVIK4IHYdqns7K 3060jtLGzt7W
2jGEhgUIi854UDAptrWwdizRTcv/AHV/76/+tRl/7q/99f8A1qQDqKbl/wC6 v/fX/wBajL/3
V/76/wDrUAOpsn+rf6GjL/3V/wC+v/rU1y/ltlV6Hv8A/WpAcZ491u4sprW2 sW1D7RBG1+Us
reaUyFCAkb+Wpwrnd97A+Ws3UNcuobDxHq8GoTtp1x+7ibzTi2Y28bROhz8o YsQcfxMp9a9E
EQEzTCGISsoRn/iKjJAJx0GT+ZqvHpdjDZyWcenWaWsg2vAsahGGAuCuMHgA fQCnGy/r+umg
M4jVdKSyn8QzW+oayrWmmJcQA6vdMqSN5uTtMhB+6vBGBjirvjKZ01awD2ut 3dutjcTPFpV6
0DAq0WHYLKhfAJ4G488A11s1lb3CzrNZ20qzx+VMHUMJE5+Vsjkcng+pqDTt D0vSBjTNI0+y
HPFtCsfXGfuqOu1c/QelAI5/V57v/hX2nO11Nf3Eps1lm0258prndIgYxyBk wGycHKjB7VkR
XGpaHrdhJcRzRRyloraC/uTcTQwyT2qEPJubc24uR8zYBUZ4xXex6faQ24t4 rG1SESeaI1QB
d+7duxjGd3OeueaLuwtb9GS8sbW4V42iYTIHBQ4ypyOhwMj2FNStLm8/0C2l jmrjxFq13r9z
o+my6fBJDJMRPcQvMNkaQkrtV1y26bruGAvQ5zRceJL99C0q5bS583Is5Hu0 dUgDO6ZUASiT
v0IK9iSM1Z1jwPpOraXDpqW1vY2kUnmCK2s7ZlJ27c7ZInAIHGQAfetuLTra HT7ewW1hNrbq
ixRv8wUJjb1HUYHPtS6fd/wQ6/eYPh3WtZvbnTxqZsGj1DT/ALZGttE6GEjZ lSzOd4PmdcLj
HfrXVVXjtIYTEYrWBDDH5UZVQNicfKOOBwOB6Cpsv/dX/vr/AOtTbXQB1FNy /wDdX/vr/wCt
Rl/7q/8AfX/1qQDqKbl/7q/99f8A1qMv/dX/AL6/+tQA6im5f+6v/fX/ANaj L/3V/wC+v/rU
AOopuX/ur/31/wDWoy/91f8Avr/61ADqqf8ALRv94/zqzl/7q/8AfX/1qrD/ AFjZ9T/Okxk6
VzGlf8lB1j/riv8AJK6dK5jSv+Sg6x/1xX+SVvR+Cp6f+3RMKvxQ9f0Z0zW1 u9wlw0ETToMJ
KUBZR7HqOpqWiisbm1gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigBsn+qf
/dNc3cybJLg+Zs/fNzv29z/tr/M10kn+qf8A3TXN3AxcTf8AXV/5mujDbszq bFSN97XB37v3
UnO7d/yzPfc3866iy/1J/wB6ua6mX/rhJ/6A1dJZ7vKOAD83c0Yv416Co7Mt UyYkQSEHBCnn
8KXL/wB1f++v/rUh3EEFFIPbP/1q5nqrGy3PNNEudesdIsNStIL6JLiG2hmO sX7XS3Esskai
SNRK5RQrSHGUzuX5eON2bxDrNvqLq8unSW9re22n3ESQOJpZJVT94v7whFBk B2EMSFPzc8dT
9kh+zx2/2WDyItvlx7RtTbgrgYwMYGPTFQyaTYTanFqcum2T6hEuyO6aJTKi 88B8ZA5Pfuar
mV/6/rv/AEkLoczN4k1CWK3jeKESW8sMV+E3qfOa4WMBMNwpCu2CTkMmcgnO Lc+JdYgnsNdk
NhcSXemlrS1t49phEs8Cje7ygSY3D/nmCQRkZyPRDZW5MhNnbZkkWZztHzOu MMeOWG1cHqMD
0qrH4e0eE3Ji0XTUN0HFwVt0HnBvvb/l+bOBnPWknb+vIZhaVrHiq61KzsNQ srWxkZZZZXmh
G6SNGixtSOdwhO9l5dsFQcc7aXVL28sPFV/fLcy/YbWyg+0QFzsVGaXdKB0B XapJ/ug+1b+n
6LpukqF03SrCzUbsC2hWMDdjP3VHXaufoPSrfkJ5skv2eHzJFCO2OWUZwCcc gZP5mlLVWQl5
nn1n4v1eG30ZoU+12Hl2lveTSQDImkRT/rWnDMfnVvliYc43A5xZsfFXiJ1t Z7pdLaF0sppE
hhkDFbhim0EuQCpGd2DuBxhcZPU/8I7o32qO6/sTTPtEaLHHN9nTeirjaoO3 IAwMDtirK6da
KqqthagKEUAIOAhyg6fwnkenaqbTv6/1/XyFb8jnPB/iDxDrsi3WoaUsGmXN v58EyiMBCSMJ
lZ5DJkE/MUj+705wOtk/1b/Q1QtNE0uwvp76z0mwtryfPnXEMKpJJk5O5guT k881dcv5bZVe
h7//AFqTasPqSUU3L/3V/wC+v/rUZf8Aur/31/8AWoAdRTcv/dX/AL6/+tRl /wC6v/fX/wBa
gB1FNy/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V/wC+v/rUZf8Aur/31/8A WoAdRTcv/dX/
AL6/+tRl/wC6v/fX/wBagB1FNy/91f8Avr/61GX/ALq/99f/AFqAHUU3L/3V /wC+v/rUZf8A
ur/31/8AWoAdRTcv/dX/AL6/+tRl/wC6v/fX/wBagB1FNy/91f8Avr/61GX/ ALq/99f/AFqA
HVU/5aN/vH+dWcv/AHV/76/+tVYf6xs+p/nSYydK5jSv+Sg6x/1xX+SV06Vz Glf8lB1j/riv
8krej8FT0/8AbomFX4oev6M6uiiisTYKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAbJ/qn/wB01zlx/wAfE3/XR/5mujk/1T/7prm5/wDj5n/66v8AzNdG G3ZnU2K46zf9
cJP/AEBq6Wy/1J/3q5r+KX/rhJ/6A1dJZ7vKOAD83c0Yr40Kjsy1TJc+S+3O dpxily/91f8A
vr/61GX/ALq/99f/AFq5nqrGyODvtdvbHwb4b1G3uPOuTatMwkkJE5W0kb58 HLDcAT70/UfE
2r6PfvFqK2l2bZDdL9kWSHcpgnbYQXYMQYup4Oc7QQDXTReHtHguLq4h0TTY 57sMtxIlugaY
MckOQuWyeuauNZW73AuHs7dpxgCQqCwwCBzjPRmH/Aj61Une7EtDmLPX9Zg8 R2ulajcabcLc
GNlktrd4sB453wN0jZOYhzxwTxWc/jLxHe35ttF0qK8MIeSQRrGfMUTyxqAX njKcRfeAkGW+
6MYPQQ+CvD0BvFj0PThbXaxiW0+zR+SxQsQ2zbjd83U+gq3ceGtEvIoIrnQt LnjtyTCktsjC
Ik5O0FeMnk4our3Ao+JYTLqegt593F/pLhlgupIlcCF3AYIwDDci8HPcdCc5 Ogxtpw8LzQah
fzz6pCPtcF1fSXAZfJLmUCRmK4fYPlwP3mCDxjq7zSNP1Ge3nvtMsrqa2bdB JPErtEeDlSR8
p4HT0FM03QtK0ZpW0vR9PsWlx5htYFiL46Z2qM9T+dJOwM0qKbl/7q/99f8A 1qMv/dX/AL6/
+tQA6myf6t/oaMv/AHV/76/+tTXL+W2VXoe//wBakByni/xLqmiT50yBbiO1 gFzeo1sCFjLE
KfMaaPbna4+VZDxnHQFkGu69PLBI76clrd3N1aRIkD+ZGY/N2yFt+G/1fKgD r97tXQ32iaZq
dxFcX+k2F3PEpWOSeFZGQHqASuQKsLZwJ5ey0t18t2kTCgbWbO5hxwTubJ75 PrQ7ONg63POd
A1LXlu9NRb2xuLzUbGzVrqWByqp5dw4JXzMu3yjJ3DOT0r08dOetZ1roumWM nmWmk2Fu+8vu
hhVDuOeeF6/M3P8AtH1q/l/7q/8AfX/1qqUru4rDqKbl/wC6v/fX/wBajL/3 V/76/wDrUhjq
Kbl/7q/99f8A1qMv/dX/AL6/+tQA6im5f+6v/fX/ANajL/3V/wC+v/rUAOop uX/ur/31/wDW
oy/91f8Avr/61ADqKbl/7q/99f8A1qMv/dX/AL6/+tQA6im5f+6v/fX/ANaj L/3V/wC+v/rU
AOopuX/ur/31/wDWoy/91f8Avr/61ADqqf8ALRv94/zqzl/7q/8AfX/1qrD/ AFjZ9T/Okxk6
VzGlf8lB1j/riv8AJK6dK5jSv+Sg6x/1xX+SVvR+Cp6f+3RMKvxQ9f0Z1dFF FYmwUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2T/VP/umubuOLif/AK6v /wChGukk/wBU
/wDumucuP+Pib/ro/wDM10YbdmdTYrdWl/64Sf8AoDV0tl/qT/vVzQ6zf9cJ P/QGrpLPd5Rw
Afm7mjFfGhUdmWqQjII9fSky/wDdX/vr/wCtRl/7q/8AfX/1q5jU8+fxDqVh ZTuhkubnSQLB
0eUESTSTiNHfLKGIjCvhmXPmDlc5rR0zWfFVxqFpY6hZWljIyzTSvPEMyRo0 WNqRzOEzvZeX
bG0HHO2uoksbeWK5iks7Z47r/j4RlBE3yhfnGPm+UAc9gBUGn6LpmkqF03Sb CzUbsC2hWMDd
jP3VHXaufXA9Kaf9f15/hoNnEN401i1QTapBbrcwo1wbNI5IfLXyJnA80SPH Mp2D51yBzlVY
ADRHiDxEurRaIZtJlvJXjYXiW0ghVHilYDZ5hLMDF/eAIYdK6Sy0DSdNGLDR tOtRv8zEECJ8
2Cu7heuCRn0Jp1jommaZGsdhpNhaIshlVbeFYwHI2lgAvUjjPXHFO6E/Ib4f vrnUdISe8EX2
lZZYZDCpVGKSMm4AkkA7c4ycZ6nrWnUUUSwJshhijTcW2pwMk5J4HUkk/jT8 v/dX/vr/AOtS
uA6im5f+6v8A31/9ajL/AN1f++v/AK1ADqbJ/q3+hoy/91f++v8A61Ncv5bZ Veh7/wD1qQHO
+LbeO5WGGC7v01WRHWxhtLySEb+P3rqpAZE4JL5XtglgDoam+nXGj3i3186w 2Y3XUltdvA8Z
VQ5y0bBl4IOM9CPWn6noGka08b6ro2nX7RghGuoElKg9QNynFTf2ZZ+RJB/Z 9p5UrK0kflja
5UAKSMckBVA9No9KOlh9TK8LQtY6LFbXt3Ot5diS6WC6u2lmhjJGFBkZmOwM gJyRk+4qPwtb
hbm8uLG7vp9IdI0ge8u5LjznG7fKjSMSEOVAxhTtJAwQTvSWsU0wlktoHlCN GHYAkI2Ny5x0
OBkd8CqemeH9I0WSSTStF02weQBXa1t0iLD0JVRmnfUXQ1KKbl/7q/8AfX/1 qMv/AHV/76/+
tQA6im5f+6v/AH1/9ajL/wB1f++v/rUAOopuX/ur/wB9f/Woy/8AdX/vr/61 ADqKbl/7q/8A
fX/1qMv/AHV/76/+tQA6im5f+6v/AH1/9ajL/wB1f++v/rUAOopuX/ur/wB9 f/Woy/8AdX/v
r/61ADqKbl/7q/8AfX/1qMv/AHV/76/+tQA6qn/LRv8AeP8AOrOX/ur/AN9f /WqsP9Y2fU/z
pMZOlcxpX/JQdY/64r/JK6dK5jSv+Sg6x/1xX+SVvR+Cp6f+3RMKvxQ9f0Z1 dFFFYmwUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2T/VP/umubn/4+Z/+ uj/zNFFdGG3Z
nU2K/eX/AK4Sf+gNXS2X+pP+9RRRivjQqWzLNFFFc5qFFFFABRRRQAUUUUAF FFFABTZP9W/0
NFFADqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKqf8tG/ 3j/OiikwJ0rm
NK/5KDrH/XFf5JRRW9H4Knp/7dExq/FD1/Rn/9k=
--------------020003030002010500020006--


Re: Antlr Dependency [message #565008 is a reply to message #18421] Tue, 31 January 2006 07:15 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Ok, I think I solved my problem:
For some mysterious reason I had an additional unpacked ocl plugin in my plugins folder.
this one was always chosen by Eclipse and its manifest.mf is wrong (see former mail).
Removing this folder-plugin solved the issue. Now I have to see where it came from...

Cheers
/Eike



Eike Stepper schrieb:
> Hi Christian,
>
> Sorry, I have to raise this issue again.
> When I look into the ocl manifest.mf (in the jar), it is:
>
> Require-Bundle: org.eclipse.core.runtime,
> org.eclipse.emf.ecore;visibility:=reexport,
> org.eclipse.emf.edit,
> org.eclipse.emf.ecore.edit,
> com.ibm.icu,
> antlr;visibility:=reexport
> Eclipse-LazyStart: true
>
> However, when the ocl plugin is loaded, the manifest is displayed as:
>
> Require-Bundle: org.eclipse.core.runtime,
> org.eclipse.emf.ecore;visibility:=reexport,
> org.eclipse.emf.edit,
> org.eclipse.emf.ecore.edit
> Eclipse-AutoStart: true
> Import-Package: antlr,
> antlr.collections.impl
>
> I have the feeling that this is not particularly OCL related,
> but on the other hand this effect only occurs with the
> stupid antlr dependency ;-(
>
> With respect to your former question, whether I have antlr.jar properly
> installed,
> the plugin-registry looks like in the attached jpg.
>
> Any idea why the ocl manifest is altered by Eclipse?
> In addition Eclipse-LazyStart is turned into Eclipse-AutoStart...
>
> Cheers
> /Eike
>
>
>
> Christian W. Damus schrieb:
>> Hi, Eike,
>>
>> I'm thinking that I have to reject your bug as "works for me" because ...
>> well ... it does. The OCL plug-in's bundle manifest does re-export the
>> ANTLR plug-in. Moreover, I tried creating another plug-in from scratch
>> with only a dependency on org.eclipse.emf.ocl, and invocations of
>> ExpressionsUtil compile and work.
>>
>> Could something be amiss in your configuration? Do you have an extra
>> antlr
>> plug-in on your classpath that is missing the antlr.jar from its lib/
>> directory?
>>
>> cW
>>
>>
>> Eike Stepper wrote:
>>
>>> Thx!
>>>
>>> I filed http://bugs.eclipse.org/bugs/show_bug.cgi?id=125479
>>>
>>> Cheers
>>> /Eike
>>>
>>>
>>>
>>> Christian W. Damus schrieb:
>>>> Hello, Eike,
>>>>
>>>> Yes, it was an oversight not to re-export ANTLR despite the
>>>> ExpressionsUtil API's client dependency.
>>>>
>>>> The reason why this was missed is that the IOclHelper API has
>>>> superseded
>>>> the ExpressionsUtil as a much more user-friendly interface for working
>>>> with OCL
>>>> constraints of all kinds. If you use IOclHelper (created by the
>>>> factory
>>>> methods on OclHelperUtil) then you will not have an ANTLR
>>>> dependency, as
>>>> this API abstracts parsing problems as an OclParsingException.
>>>>
>>>> We happen to be in the process of actually replace the ANTLR
>>>> implementation of the parser with something different, so this will
>>>> help
>>>> to insulate you from that, as well.
>>>>
>>>> All that said, we still have a bug here if you care to raise a
>>>> bugzilla:
>>>> the ANTLR plug-in should be reexported as long as ExpressionsUtil is
>>>> API.
>>>> We should also move that class to an internal package because it really
>>>> isn't as useful as IOclHelper (but is used internally by the helper).
>>>>
>>>> Thanks!
>>>>
>>>> Christian
>>>>
>>>>
>>>> Eike Stepper wrote:
>>>>
>>>>
>>>>> Hi Christian,
>>>>>
>>>>> I just stumbled about an issue with the OCL plugin. It doesn't
>>>>> re-export
>>>>> the antlr plugin. Actually it even doesn't list it as a required
>>>>> bundle.
>>>>>
>>>>> As a client of ExpressionsUtil my plugin complains:
>>>>> The type antlr.ANTLRException cannot be resolved. It is indirectly
>>>>> referenced from required .class files
>>>>>
>>>>> Of course I can add a dependency on antlr to my own plugin, but
>>>>> maybe it
>>>>> saves time for others, if you simply require and re-export antlr...
>>>>>
>>>>> Cheers
>>>>> /Eike
>>>>
>>
>


Re: Antlr Dependency [message #565171 is a reply to message #18430] Tue, 31 January 2006 15:15 Go to previous message
Eclipse UserFriend
Originally posted by: cdamus.ca.ibm.com

So, Eike,

All is cleared up for you, then? I don't even recognize that other form of
the manifest that you saw in the older installation of the antlr plug-in,
with that "Import-Package" header ...

Cheers,

Christian


Eike Stepper wrote:

> Ok, I think I solved my problem:
> For some mysterious reason I had an additional unpacked ocl plugin in my
> plugins folder. this one was always chosen by Eclipse and its manifest.mf
> is wrong (see former mail). Removing this folder-plugin solved the issue.
> Now I have to see where it came from...
>
> Cheers
> /Eike
>
>
>
> Eike Stepper schrieb:
>> Hi Christian,
>>
>> Sorry, I have to raise this issue again.
>> When I look into the ocl manifest.mf (in the jar), it is:
>>
>> Require-Bundle: org.eclipse.core.runtime,
>> org.eclipse.emf.ecore;visibility:=reexport,
>> org.eclipse.emf.edit,
>> org.eclipse.emf.ecore.edit,
>> com.ibm.icu,
>> antlr;visibility:=reexport
>> Eclipse-LazyStart: true
>>
>> However, when the ocl plugin is loaded, the manifest is displayed as:
>>
>> Require-Bundle: org.eclipse.core.runtime,
>> org.eclipse.emf.ecore;visibility:=reexport,
>> org.eclipse.emf.edit,
>> org.eclipse.emf.ecore.edit
>> Eclipse-AutoStart: true
>> Import-Package: antlr,
>> antlr.collections.impl
>>
Re: Antlr Dependency [message #565738 is a reply to message #18395] Fri, 03 February 2006 19:56 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

> The licensing of ANTLR is in doubt, vis-a-vis originality of all of the
> code, of which many contributions are apparently unattributed. It can't be
> redistributed under the Eclipse license.

What is the problem?

"We reserve no legal rights to the ANTLR--it is fully in the
public domain. An individual or company may do whatever
they wish with source code distributed with ANTLR or the
code generated by ANTLR, including the incorporation of
ANTLR, or its output, into commerical software."

seems extremely clear and generous. There is no need to redistribute
ANTLR under the Eclipse license, merely to reference the alternate
licensing from about.html etc.

Regards

Ed Willink
Re: Antlr Dependency [message #565794 is a reply to message #21364] Fri, 03 February 2006 21:11 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33137
Registered: July 2009
Senior Member
Ed,

The Eclipse legal folks will not allow us to bundle this in our
downloads. There are apparently issues with the pedigree of this code.
It's best to ask about these issues directly from the legal team, since
it's a legal question. ;-)


Ed Willink wrote:

> Hi
>
>> The licensing of ANTLR is in doubt, vis-a-vis originality of all of the
>> code, of which many contributions are apparently unattributed. It
>> can't be
>> redistributed under the Eclipse license.
>
>
> What is the problem?
>
> "We reserve no legal rights to the ANTLR--it is fully in the
> public domain. An individual or company may do whatever
> they wish with source code distributed with ANTLR or the
> code generated by ANTLR, including the incorporation of
> ANTLR, or its output, into commerical software."
>
> seems extremely clear and generous. There is no need to redistribute
> ANTLR under the Eclipse license, merely to reference the alternate
> licensing from about.html etc.
>
> Regards
>
> Ed Willink


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Antlr Dependency [message #565890 is a reply to message #19517] Sat, 04 February 2006 09:42 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Hi Christian,

*Now* all is cleared up ;-)
I found the root cause of my problems to be the Topcased feature,
which comes with an own copy of your ocl plugin, unpacked and with a modified manifest ;-(

Ok, I'll discuss that with those guys...

Cheers
/Eike


Christian W. Damus schrieb:
> So, Eike,
>
> All is cleared up for you, then? I don't even recognize that other form of
> the manifest that you saw in the older installation of the antlr plug-in,
> with that "Import-Package" header ...
>
> Cheers,
>
> Christian
>
>
> Eike Stepper wrote:
>
>> Ok, I think I solved my problem:
>> For some mysterious reason I had an additional unpacked ocl plugin in my
>> plugins folder. this one was always chosen by Eclipse and its manifest.mf
>> is wrong (see former mail). Removing this folder-plugin solved the issue.
>> Now I have to see where it came from...
>>
>> Cheers
>> /Eike
>>
>>
>>
>> Eike Stepper schrieb:
>>> Hi Christian,
>>>
>>> Sorry, I have to raise this issue again.
>>> When I look into the ocl manifest.mf (in the jar), it is:
>>>
>>> Require-Bundle: org.eclipse.core.runtime,
>>> org.eclipse.emf.ecore;visibility:=reexport,
>>> org.eclipse.emf.edit,
>>> org.eclipse.emf.ecore.edit,
>>> com.ibm.icu,
>>> antlr;visibility:=reexport
>>> Eclipse-LazyStart: true
>>>
>>> However, when the ocl plugin is loaded, the manifest is displayed as:
>>>
>>> Require-Bundle: org.eclipse.core.runtime,
>>> org.eclipse.emf.ecore;visibility:=reexport,
>>> org.eclipse.emf.edit,
>>> org.eclipse.emf.ecore.edit
>>> Eclipse-AutoStart: true
>>> Import-Package: antlr,
>>> antlr.collections.impl
>>>
>


Previous Topic:name and type of a Variable(Declaration)
Next Topic:Always getting result as 'true' in 'isUnique' operation
Goto Forum:
  


Current Time: Sat Apr 20 02:50:40 GMT 2024

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

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

Back to the top