Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 30068 invoked from network); 2 Aug 2010 08:55:26 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Aug 2010 08:55:26 -0000 Received: (qmail 27358 invoked by uid 500); 2 Aug 2010 08:55:26 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 25847 invoked by uid 500); 2 Aug 2010 08:55:23 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 25839 invoked by uid 99); 2 Aug 2010 08:55:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Aug 2010 08:55:22 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of david.delbecq@oma.be designates 193.190.231.70 as permitted sender) Received: from [193.190.231.70] (HELO bonnie2.oma.be) (193.190.231.70) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Aug 2010 08:55:13 +0000 Received: from bonnie2.oma.be (localhost [127.0.0.1]) by bonnie2.oma.be (8.13.6/8.11.1) with ESMTP id o728srdN029122 for ; Mon, 2 Aug 2010 08:54:53 GMT Received: from [192.168.15.40] (cal-12.oma.be [192.168.15.40]) by bonnie2.oma.be (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id o728srXF029119 for ; Mon, 2 Aug 2010 08:54:53 GMT Message-ID: <4C5687F8.3010501@oma.be> Date: Mon, 02 Aug 2010 10:55:20 +0200 From: David Delbecq User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100528 Thunderbird/3.0.5 MIME-Version: 1.0 To: users@activemq.apache.org Subject: createQueueConnection throws "Setting clientID on a used Connection is not allowed" Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms060802090403000202020300" X-Virus-Checked: Checked by ClamAV on apache.org --------------ms060802090403000202020300 Content-Type: multipart/alternative; boundary="------------040309060406010309050908" This is a multi-part message in MIME format. --------------040309060406010309050908 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hello, We are using activeMQ 5.2 We followed activeMQ instructions on how to add a queue to JBoss server, = we are using it with following code, which worked great when we were=20 using activemq + tomcat 5.5: try { initCtx =3D new InitialContext(); QueueConnectionFactory connectionFactory =3D (QueueConnectionFactory)initCtx.lookup(this.connectionFactoryJNDIName= ); Queue destination =3D (Queue)initCtx.lookup(this.queueJNDIName); QueueConnection queueConnection =3D null; try{ queueConnection =3D connectionFactory.createQueueConnection(); // throws error // snip } finally { try{ if (queueConnection!=3Dnull) queueConnection.close(); } catch (JMSException e){ log.error("Could not close event queue"+queueJNDIName,e); } } However, on a regular basis, we get this error message from this code,=20 which happens for unknown reasons: javax.jms.IllegalStateException: Setting clientID on a used Connection is not allowed at org.apache.activemq.ra.ActiveMQManagedConnectionFactory.matchManagedC= onnections(ActiveMQManagedConnectionFactory.java:192) at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.ge= tConnection(InternalManagedConnectionPool.java:219) at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BaseP= ool.getConnection(JBossManagedConnectionPool.java:622) at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManage= dConnection(BaseConnectionManager2.java:404) at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedCo= nnection(TxConnectionManager.java:381) at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateC= onnection(BaseConnectionManager2.java:496) at org.jboss.resource.connectionmanager.BaseConnectionManager2$Connectio= nManagerProxy.allocateConnection(BaseConnectionManager2.java:941) at org.apache.activemq.ra.ActiveMQConnectionFactory.createConnection(Act= iveMQConnectionFactory.java:94) at org.apache.activemq.ra.ActiveMQConnectionFactory.createConnection(Act= iveMQConnectionFactory.java:67) at org.apache.activemq.ra.ActiveMQConnectionFactory.createQueueConnectio= n(ActiveMQConnectionFactory.java:120) at be.rmi.shark.JMSEventManager.sendEvent(JMSEventManager.java:131) This is a major problem for us, as if message are not delivered to=20 queue, the processes that must send those messages refuse their=20 operations, leading to user operation being canceled, leading to angry=20 users. Why is activeMQ sending those error message, how to prevent them? = Did i do sometinh wrong. Also, here is our queue definition in jboss: activemq/QueueConnectionFactory false activemq-5.2.0.rar javax.jms.QueueConnectionFactory tcp://localhost:61616 ******* ******* 1 200 30000 3 activemq/queue/myqueueentry jboss.jca:service=3DRARDeployment= ,name=3D'activemq-5.2.0.rar' javax.jms.Queue PhysicalName=3DWF.IncomingEvents At about the same time, on a regular basis, randomly, one of our=20 activeMQ clients get stuck in a receive() call. The analysis of activemq = server show that this client is not longer connected (number of=20 consumers on queue=3D0), and a netstat on the client machine show that=20 there is no more TCP connection between client and server. However, for=20 some unknown reason, the receive() call does not fail, it just get=20 frozen inside activemq api, on a wait() call, which does not look very=20 reliable. thanks for any kind of help, we are a bit clueless on this for now. --=20 David Delbecq ICT Institut Royal M=C3=A9t=C3=A9orologique Ext:557 --------------040309060406010309050908 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable = Hello,

We are using activeMQ 5.2


We followed activeMQ instructions on how to add a queue to JBoss server, we are using it with following code, which worked great when we were using activemq + tomcat 5.5:

try {
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 initCtx =3D= new InitialContext();
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 QueueConne= ctionFactory connectionFactory =3D (QueueConnectionFactory)initCtx.lookup(this.connectionFactoryJNDIName);
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 Queue dest= ination =3D (Queue)initCtx.lookup(this.queueJNDIName);
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 QueueConne= ction queueConnection =3D null;
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 try{<= br> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0= =C2=A0 queueConnection =3D connectionFactory.createQueueConnection(); // throws error
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 // snip
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 } finally = {
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0= =C2=A0 try{
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0= =C2=A0 =C2=A0=C2=A0=C2=A0 if (queueConnection!=3Dnull)
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0= =C2=A0 =C2=A0=C2=A0=C2=A0 queueConnection.close();
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0= =C2=A0 } catch (JMSException e){
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0= =C2=A0 =C2=A0=C2=A0=C2=A0 log.error("Could not close event queue"+queueJNDIName,e);
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0= =C2=A0 }
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 }
=

However, on a regular basis, we get this error message from this code, which happens for unknown reasons:

javax.jms.IllegalStateException: Setting clientID on a used Connection is not allowed
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.apache.activemq.ra.ActiveMQManagedConnectionFactory.matchManagedConne= ctions(ActiveMQManagedConnectionFactory.java:192)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getCon= nection(InternalManagedConnectionPool.java:219)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.= getConnection(JBossManagedConnectionPool.java:622)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedCon= nection(BaseConnectionManager2.java:404)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnec= tion(TxConnectionManager.java:381)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConne= ction(BaseConnectionManager2.java:496)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionMan= agerProxy.allocateConnection(BaseConnectionManager2.java:941)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.apache.activemq.ra.ActiveMQConnectionFactory.createConnection(ActiveM= QConnectionFactory.java:94)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.apache.activemq.ra.ActiveMQConnectionFactory.createConnection(ActiveM= QConnectionFactory.java:67)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at org.apache.activemq.ra.ActiveMQConnectionFactory.createQueueConnection(Ac= tiveMQConnectionFactory.java:120)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at be.rmi.shark.JMSEventManager.sendEvent(JMSEventManager.java:131)
=
This is a major problem for us, as if message are not delivered to queue, the processes that must send those messages refuse their operations, leading to user operation being canceled, leading to angry users. Why is activeMQ sending those error message, how to prevent them? Did=C2=A0 i do sometinh wrong. Also, here is our queue definition i= n jboss:

=C2=A0=C2=A0 <tx-connection-factory>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <jndi-name>activemq/QueueConnectionF= actory</jndi-name>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <local-transaction/>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <use-java-context>false</use-java= -context>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <track-connection-by-tx/>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <rar-name>activemq-5.2.0.rar</rar= -name>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <connection-definition>javax.jms.QueueConnectionFactory</connect= ion-definition>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <ServerUrl>tcp://localhost:61616<= /ServerUrl>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <UserName>*******</UserName> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <Password>*******</Password> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <min-pool-size>1</min-pool-size&g= t;
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <max-pool-size>200</max-pool-size= >
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <blocking-timeout-millis>30000</blocking-timeout-millis>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <idle-timeout-minutes>3</idle-tim= eout-minutes>
=C2=A0=C2=A0 </tx-connection-factory>

=C2=A0=C2=A0 <mbean code=3D"org.jboss.resource.deployment.AdminObject"= name=3D"activemq.queue:name=3Dmyqueue">
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <attribute name=3D"JNDIName">activemq/queue/myqueueentry</attribute>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <depends optional-attribute-name=3D"RARName">jboss.jca:service=3DRARDeployment,= name=3D'activemq-5.2.0.rar'</depends>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <attribute name=3D"Type">javax.jms.Q= ueue</attribute>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <attribute name=3D"Properties">PhysicalName=3DWF.IncomingEvents</attribute>=
=C2=A0=C2=A0 </mbean>

=C2=A0

At about the same time, on a regular basis, randomly, one of our activeMQ clients get stuck in a receive() call. The analysis of activemq server show that this client is not longer connected (number of consumers on queue=3D0), and a netstat on the client machine show that= there is no more TCP connection between client and server. However, for some unknown reason, the receive() call does not fail, it just get frozen inside activemq api, on a wait() call, which does not look very reliable.


thanks for any kind of help, we are a bit clueless on this for now.
--=20
David Delbecq
ICT
Institut Royal M=C3=A9t=C3=A9orologique
Ext:557
--------------040309060406010309050908-- --------------ms060802090403000202020300 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIQ9jCC BIowggNyoAMCAQICECf06hH0eobEbp27bqkXBwcwDQYJKoZIhvcNAQEFBQAwbzELMAkGA1UE BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9vdDAeFw0w NTA2MDcwODA5MTBaFw0yMDA1MzAxMDQ4MzhaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMC VVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5l dHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVRO LVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVN NRm5pELlzkniii8efNIxB8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQy lbsMTzC9mKALi+VuG6JG+ni8om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXq vgvOdjp6Dpvq/NonWz1zHyLmSGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6 hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu 9mIwFIws6wIDAQABo4HhMIHeMB8GA1UdIwQYMBaAFK29mHo0tCb3+sQmVO8DveAky1QaMB0G A1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zB7BgNVHR8EdDByMDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BZGRU cnVzdEV4dGVybmFsQ0FSb290LmNybDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L0Fk ZFRydXN0RXh0ZXJuYWxDQVJvb3QuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQAZ2IkRbyispgCi 54fBm5AD236hEv0e8+LwAamUVEJrmgnEoG3XkJIEA2Z5Q3H8+G+v23ZF4jcaPd3kWQR4rBz0 g0bzes9bhHIt5UbBuhgRKfPLSXmHPLptBZ2kbWhPrXIUNqi5sf2/z3/wpGqUNVCPz4FtVbHd WTBK322gnGQfSXzvNrv042n0+DmPWq1LhTq3Du3Tzw1EovsEv+QvcI4l+1pUBrPQxLxtjftz Mizpm4QkLdZ/kXpoAlAfDj9N6cz1u2fo3BwuO/xOzf4CjuOoEwqlJkRl6RDyTVKnrtw+ymsy XEFs/vVdoOr/0fqbhlhtPZZH5f4ulQTCAMyOofK7MIIGMDCCBRigAwIBAgIRAPahsPx1/sHL s4hgB6tfPmIwDQYJKoZIhvcNAQEFBQAwga4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEX MBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29y azEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMTYwNAYDVQQDEy1VVE4tVVNF UkZpcnN0LUNsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgRW1haWwwHhcNMTAwNjA3MDAwMDAw WhcNMTEwNjA3MjM1OTU5WjCB3TE1MDMGA1UECxMsQ29tb2RvIFRydXN0IE5ldHdvcmsgLSBQ RVJTT05BIE5PVCBWQUxJREFURUQxRjBEBgNVBAsTPVRlcm1zIGFuZCBDb25kaXRpb25zIG9m IHVzZTogaHR0cDovL3d3dy5jb21vZG8ubmV0L3JlcG9zaXRvcnkxHzAdBgNVBAsTFihjKTIw MDMgQ29tb2RvIExpbWl0ZWQxFjAUBgNVBAMTDURhdmlkIERlbGJlY3ExIzAhBgkqhkiG9w0B CQEWFGRhdmlkLmRlbGJlY3FAb21hLmJlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAwfHE7IYsrjXpCS2/FJckqDpCvfjF4sYkktSPFZdyxScd6qj0Z0F2x+kPEHzuBwVifoZX e944qGI31kJcDl4OZsQKhjJUB5mh7xCv8rvfCxUJKBA8J5xiRh7oPcxLpezkJbPFZv/UO3Qf u8cbrYhSCIV7jUi8KzD0CflzM2EdD5riLELVtblGhSCOhBUV2yl74fTTgnUtYiQXBRP+EPHs HO9HSIM7AtkwRVAzEsr7t6GUJjYPIKjsGWhRxdCyRX3cZZvNEOwk7Ujb+Qym8meg6feyUFZ8 UafW3ecp1I/2cMKUsZnvzlhdAuHbRc7NPE7LmaJWhoB77EeOWJ76TpbDowIDAQABo4ICFjCC AhIwHwYDVR0jBBgwFoAUiYJnfcSdJnAAS7RQSHzePa4Ebn0wHQYDVR0OBBYEFOwxQRT5Cm9c m+gqTk92kg1Bqfq+MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMCAGA1UdJQQZMBcG CCsGAQUFBwMEBgsrBgEEAbIxAQMFAjARBglghkgBhvhCAQEEBAMCBSAwRgYDVR0gBD8wPTA7 BgwrBgEEAbIxAQIBAQEwKzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5l dC9DUFMwgaUGA1UdHwSBnTCBmjBMoEqgSIZGaHR0cDovL2NybC5jb21vZG9jYS5jb20vVVRO LVVTRVJGaXJzdC1DbGllbnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDBKoEigRoZEaHR0 cDovL2NybC5jb21vZG8ubmV0L1VUTi1VU0VSRmlyc3QtQ2xpZW50QXV0aGVudGljYXRpb25h bmRFbWFpbC5jcmwwbAYIKwYBBQUHAQEEYDBeMDYGCCsGAQUFBzAChipodHRwOi8vY3J0LmNv bW9kb2NhLmNvbS9VVE5BQUFDbGllbnRDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw LmNvbW9kb2NhLmNvbTAfBgNVHREEGDAWgRRkYXZpZC5kZWxiZWNxQG9tYS5iZTANBgkqhkiG 9w0BAQUFAAOCAQEAaM2juZzJrhTZuFl/LNqOn1fbStud8tBYyRz47qqGyqwXWRv/x6jtTdIz 0/kdjGfOqYlErV4vdHROtk6+CYpRJoLf+ujjwyxyJjPuKHZVD6JzE3Cm/X1nP5CpE/3QyHs9 RpE4BKjNI+VUoBB2QqnsMsW26MwiT7XQ/UweA2jzpLhj6rz5BiLglAzYBHAeLlOGFY9ZokD3 1k/D0f8PGIQ4SCCYl/xPlfwBp+i3OICd4nVja20gHwiKYHYV5fQsdQzDvG0fiyqc3BVsIdT7 6V+iLvDkTCmtuPvlB8DyLaWrHlf6H+jv/b8QXGB2ADFJxjW/3nWH2EMOHcM2A2Fzv8wylDCC BjAwggUYoAMCAQICEQD2obD8df7By7OIYAerXz5iMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD VQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0 LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5k IEVtYWlsMB4XDTEwMDYwNzAwMDAwMFoXDTExMDYwNzIzNTk1OVowgd0xNTAzBgNVBAsTLENv bW9kbyBUcnVzdCBOZXR3b3JrIC0gUEVSU09OQSBOT1QgVkFMSURBVEVEMUYwRAYDVQQLEz1U ZXJtcyBhbmQgQ29uZGl0aW9ucyBvZiB1c2U6IGh0dHA6Ly93d3cuY29tb2RvLm5ldC9yZXBv c2l0b3J5MR8wHQYDVQQLExYoYykyMDAzIENvbW9kbyBMaW1pdGVkMRYwFAYDVQQDEw1EYXZp ZCBEZWxiZWNxMSMwIQYJKoZIhvcNAQkBFhRkYXZpZC5kZWxiZWNxQG9tYS5iZTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMHxxOyGLK416QktvxSXJKg6Qr34xeLGJJLUjxWX csUnHeqo9GdBdsfpDxB87gcFYn6GV3veOKhiN9ZCXA5eDmbECoYyVAeZoe8Qr/K73wsVCSgQ PCecYkYe6D3MS6Xs5CWzxWb/1Dt0H7vHG62IUgiFe41IvCsw9An5czNhHQ+a4ixC1bW5RoUg joQVFdspe+H004J1LWIkFwUT/hDx7BzvR0iDOwLZMEVQMxLK+7ehlCY2DyCo7BloUcXQskV9 3GWbzRDsJO1I2/kMpvJnoOn3slBWfFGn1t3nKdSP9nDClLGZ785YXQLh20XOzTxOy5miVoaA e+xHjlie+k6Ww6MCAwEAAaOCAhYwggISMB8GA1UdIwQYMBaAFImCZ33EnSZwAEu0UEh83j2u BG59MB0GA1UdDgQWBBTsMUEU+QpvXJvoKk5PdpINQan6vjAOBgNVHQ8BAf8EBAMCBaAwDAYD VR0TAQH/BAIwADAgBgNVHSUEGTAXBggrBgEFBQcDBAYLKwYBBAGyMQEDBQIwEQYJYIZIAYb4 QgEBBAQDAgUgMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQEBMCswKQYIKwYBBQUHAgEWHWh0 dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMIGlBgNVHR8EgZ0wgZowTKBKoEiGRmh0dHA6 Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1VU0VSRmlyc3QtQ2xpZW50QXV0aGVudGljYXRpb25h bmRFbWFpbC5jcmwwSqBIoEaGRGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9VVE4tVVNFUkZpcnN0 LUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kRW1haWwuY3JsMGwGCCsGAQUFBwEBBGAwXjA2Bggr BgEFBQcwAoYqaHR0cDovL2NydC5jb21vZG9jYS5jb20vVVROQUFBQ2xpZW50Q0EuY3J0MCQG CCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wHwYDVR0RBBgwFoEUZGF2aWQu ZGVsYmVjcUBvbWEuYmUwDQYJKoZIhvcNAQEFBQADggEBAGjNo7mcya4U2bhZfyzajp9X20rb nfLQWMkc+O6qhsqsF1kb/8eo7U3SM9P5HYxnzqmJRK1eL3R0TrZOvgmKUSaC3/ro48MsciYz 7ih2VQ+icxNwpv19Zz+QqRP90Mh7PUaROASozSPlVKAQdkKp7DLFtujMIk+10P1MHgNo86S4 Y+q8+QYi4JQM2ARwHi5ThhWPWaJA99ZPw9H/DxiEOEggmJf8T5X8AafotziAneJ1Y2ttIB8I imB2FeX0LHUMw7xtH4sqnNwVbCHU++lfoi7w5Ewprbj75QfA8i2lqx5X+h/o7/2/EFxgdgAx ScY1v951h9hDDh3DNgNhc7/MMpQxggRgMIIEXAIBATCBxDCBrjELMAkGA1UEBhMCVVMxCzAJ BgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJU UlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNV BAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbAIRAPah sPx1/sHLs4hgB6tfPmIwCQYFKw4DAhoFAKCCAnAwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEH ATAcBgkqhkiG9w0BCQUxDxcNMTAwODAyMDg1NTIwWjAjBgkqhkiG9w0BCQQxFgQUG5dZqxHK NLCrSt8/3G0zRcPgob0wXwYJKoZIhvcNAQkPMVIwUDALBglghkgBZQMEAQIwCgYIKoZIhvcN AwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMC AgEoMIHVBgkrBgEEAYI3EAQxgccwgcQwga4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEX MBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29y azEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMTYwNAYDVQQDEy1VVE4tVVNF UkZpcnN0LUNsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgRW1haWwCEQD2obD8df7By7OIYAer Xz5iMIHXBgsqhkiG9w0BCRACCzGBx6CBxDCBrjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVU MRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3 b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1V U0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbAIRAPahsPx1/sHLs4hg B6tfPmIwDQYJKoZIhvcNAQEBBQAEggEArV9a75HfaxsA0ScMl1wHWBU7ID5QoepsvaUS3fnr bR8AFjYj5SsyAS/iodk7WR/q6WCmW9CaXS9dbApsAVmseBms0tyROxKHFp85e9ospP+jkw12 3oLxtjTlPMatoPpJnVN/bQG37dOVSZ8FnQcPcDDPHJYg/+6ggZjfmuXBIawt8qHtv5fnj99L nJ4rRM3dDKCBZy7L7Ypw25w2y3DpZHU8Oh+ii6Qrg0K7yUefT+pIYlTM1tPSlM6+hXtQ/sci +v5VF7G+dfhMfcNNZF7mEXDcDyOs7wBlIDAZIQ2FsD9F5sxVJsSvqJUu9f4lr5RuJ84ud+Kh VBKetgKUdOVHqQAAAAAAAA== --------------ms060802090403000202020300--