Re: Class not found

Eric Dalquist <[email protected]> Thu, 25 Aug 2011 07:46:23 -0500
Newsgroups gmane.comp.jakarta.pluto.user
Organization UW DoIT
Message-ID <[email protected]>
This is a cryptographically signed message in MIME format.

--------------ms050404030705080301020502
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

You need to have the portlet-api JAR in the tomcat/shared/lib=20
classloader and have that classloader enabled in catalina.properties.

-Eric

On 8/24/11 8:26 PM, David Daniel wrote:
> Hello all,
>   I tried my best to follow the instructions for embedding Pluto in=20
> tomcat 6 but I keep getting an error.  The instructions are a little=20
> outdated so if you happen to know what file I forgot to copy where=20
> then please let me know.
> org.springframework.beans.factory.CannotLoadBeanClassException: Error=20
> loading class=20
> [org.apache.pluto.driver.services.container.PortalContextImpl] for=20
> bean with name 'PortalContext' defined in ServletContext resource=20
> [/WEB-INF/pluto-portal-driver-services-config.xml]: problem with class =

> file or dependent class; nested exception is=20
> java.lang.NoClassDefFoundError: javax/portlet/PortalContext
> Caused by: java.lang.NoClassDefFoundError: javax/portlet/PortalContext
>  at java.lang.ClassLoader.defineClass1(Native Method)
>  at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
>  at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
>  at=20
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)=

>  at=20
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappCl=
assLoader.java:1850)
>  at=20
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoade=
r.java:890)
>  at=20
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoade=
r.java:1354)
>  at=20
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoade=
r.java:1233)
>  at org.springframework.util.ClassUtils.forName(ClassUtils.java:183)
>  at=20
> org.springframework.beans.factory.support.AbstractBeanDefinition.resolv=
eBeanClass(AbstractBeanDefinition.java:317)
>  at=20
> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBe=
anClass(AbstractBeanFactory.java:1044)
>  at=20
> org.springframework.beans.factory.support.AbstractBeanFactory.isBeanCla=
ssMatch(AbstractBeanFactory.java:1072)
>  at=20
> org.springframework.beans.factory.support.DefaultListableBeanFactory.ge=
tBeanNamesForType(DefaultListableBeanFactory.java:165)
>  at=20
> org.springframework.context.support.AbstractApplicationContext.getBeanN=
amesForType(AbstractApplicationContext.java:691)
>  at=20
> org.springframework.context.support.AbstractApplicationContext.invokeBe=
anFactoryPostProcessors(AbstractApplicationContext.java:395)
>  at=20
> org.springframework.context.support.AbstractApplicationContext.refresh(=
AbstractApplicationContext.java:328)
>  at=20
> org.springframework.web.context.support.AbstractRefreshableWebApplicati=
onContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>  at=20
> org.springframework.web.context.ContextLoader.createWebApplicationConte=
xt(ContextLoader.java:246)
>  at=20
> org.springframework.web.context.ContextLoader.initWebApplicationContext=
(ContextLoader.java:184)
>  at=20
> org.springframework.web.context.ContextLoaderListener.contextInitialize=
d(ContextLoaderListener.java:49)
>  at=20
> org.apache.pluto.driver.PortalStartupListener.contextInitialized(Portal=
StartupListener.java:108)
>  at=20
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.=
java:3934)
>  at=20
> org.apache.catalina.core.StandardContext.start(StandardContext.java:442=
9)
>  at=20
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.j=
ava:791)
>  at=20
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)=

>  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:52=
6)
>  at=20
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java=
:630)
>  at=20
> org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.jav=
a:556)
>  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:4=
91)
>  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
>  at=20
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:3=
14)
>  at=20
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleS=
upport.java:119)
>  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:105=
3)
>  at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
>  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:104=
5)
>  at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:4=
43)
>  at=20
> org.apache.catalina.core.StandardService.start(StandardService.java:516=
)
>  at org.apache.catalina.core.StandardServer.start(StandardServer.java:7=
10)
>  at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at=20
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja=
va:39)
>  at=20
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso=
rImpl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:597)
>  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Caused by: java.lang.ClassNotFoundException: javax.portlet.PortalContex=
t
>  at=20
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoade=
r.java:1387)
>  at=20
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoade=
r.java:1233)
>  ... 45 more
> Aug 24, 2011 9:21:12 PM org.apache.pluto.driver.PortalStartupListener=20
> contextDestroyed
> INFO: Shutting down Pluto Portal Driver...
> Aug 24, 2011 9:21:12 PM org.apache.pluto.driver.PortalStartupListener=20
> destroyContainer
> INFO: Shutting down Pluto Portal Driver...
> Aug 24, 2011 9:21:12 PM org.apache.pluto.driver.PortalStartupListener=20
> contextDestroyed
> INFO: ********** Pluto Portal Driver Shut Down **********


--------------ms050404030705080301020502
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIZOjCC
BJ8wggQIoAMCAQICBEaekRowDQYJKoZIhvcNAQEFBQAwgcMxCzAJBgNVBAYTAlVTMRQwEgYD
VQQKEwtFbnRydXN0Lm5ldDE7MDkGA1UECxMyd3d3LmVudHJ1c3QubmV0L0NQUyBpbmNvcnAu
IGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0
IExpbWl0ZWQxOjA4BgNVBAMTMUVudHJ1c3QubmV0IFNlY3VyZSBTZXJ2ZXIgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkwHhcNMDkwMzIzMTUxODI3WhcNMTkwMzIzMTU0ODI3WjCBtDEUMBIG
A1UEChMLRW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1
c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0
aG9yaXR5ICgyMDQ4KTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK1NS6kShrLq
oyAHFRZkKitL0b8LSk2O7YB2pWe3eEDAc0LIaMDbUyvdXrh2mDWTixqdfBM6Dh9btx7P5SQU
HrGBqY19uMxrSwPxAgzcq6VAJAB/dJShnQgps4gL9Yd3nVXN5MN+12pkq4UUhpVblzJQbz3I
umYM4/y9uEnBdolJGf3AqL2Jo2cvxp+8cRlguC3pLMmQdmZ7lOKveNZlU1081pyyzykD+S+k
ULLUSM4FMlWK/bJkTA7kmAd123/fuQhVYIUwKfl7SKRphuM1Px6GXXp6Fb3vAI4VIlQXAJAm
k7wOSWiRv/hH052VQsEOTd9vJs/DGCFiZkNw1tXAB+ECAwEAAaOCAScwggEjMA4GA1UdDwEB
/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYX
aHR0cDovL29jc3AuZW50cnVzdC5uZXQwMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5l
bnRydXN0Lm5ldC9zZXJ2ZXIxLmNybDA7BgNVHSAENDAyMDAGBFUdIAAwKDAmBggrBgEFBQcC
ARYaaHR0cDovL3d3dy5lbnRydXN0Lm5ldC9DUFMwHQYDVR0OBBYEFFXkgdERgL7YibkIozH5
oSQJFrlwMB8GA1UdIwQYMBaAFPAXYhNVPbP/CgBr+1CEl/PtYtAaMBkGCSqGSIb2fQdBAAQM
MAobBFY3LjEDAgCBMA0GCSqGSIb3DQEBBQUAA4GBAI9lojCOJquK7DUWmOkD8I0XX7xMbAL2
dFLgwsYfzvKmEQyosQ5NhItxNu+zNUXzwfiWxYtVpMxrgxYgMtq++6+bt5/hfoSfnjxQpz9c
wr6LhrgIku74QisNE+N2hUgKSr/QpTsKsFS4beMI+TSNC46LEswXGjOHlcieCtxQUxd7MIIF
ozCCBIugAwIBAgIETA5iEjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4g
KGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQx
MzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAe
Fw0xMDA2MzAxODM0NTRaFw0yMDA2MzAxOTA0NTRaMIGAMQswCQYDVQQGEwJVUzEQMA4GA1UE
ChMHRW50cnVzdDEiMCAGA1UECxMZQ2VydGlmaWNhdGlvbiBBdXRob3JpdGllczE7MDkGA1UE
AxMyRW50cnVzdCBNYW5hZ2VkIFNlcnZpY2VzIENvbW1lcmNpYWwgUHVibGljIFJvb3QgQ0Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMXI+wxZoiWKTiB15DT/VyF8eTSWED
/vatNS6/Y+s9kbGo2oI8Qlk/lsWn7lv9UeJmIVeu+Pp6iNTyQ09kOAyBBmAQ/yKq4PRHnsrP
uxgkirXZ5t3AumSPVr62v2kHVce9S94LjCR2UIov0EMvs8/qq95KIGxGLTgdoeDVXI/5RZeA
sGTquePKvbHest1FmPQaly2pRPdnlRHEmJQ2NkaR45AeQvKKn8kzpYeCoBLyCsD0HbHzlIfP
aujKqEcQZIbJUyD0y++KNajSPATWImCt2eXdeHEUcnmcHGq9ha1EEI02oW8zT2R0xhjdLoR5
Ds+xg43iGyxLPdoliIxHVPhhAgMBAAGjggHtMIIB6TAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0T
AQH/BAgwBgEB/wIBATAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3Nw
LmVudHJ1c3QubmV0MIIBGAYDVR0gBIIBDzCCAQswVwYNYIZIAYb6a4FIAwoCBDBGMEQGCCsG
AQUFBwIBFjhodHRwOi8vY29tcHViLm1hbmFnZWQuZW50cnVzdC5jb20vQ1AvRU1TQ29tbWVy
Y2lhbENQLnBkZjBXBg1ghkgBhvprgUgDCgIFMEYwRAYIKwYBBQUHAgEWOGh0dHA6Ly9jb21w
dWIubWFuYWdlZC5lbnRydXN0LmNvbS9DUC9FTVNDb21tZXJjaWFsQ1AucGRmMFcGDWCGSAGG
+muBSAMKAgYwRjBEBggrBgEFBQcCARY4aHR0cDovL2NvbXB1Yi5tYW5hZ2VkLmVudHJ1c3Qu
Y29tL0NQL0VNU0NvbW1lcmNpYWxDUC5wZGYwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2Ny
bC5lbnRydXN0Lm5ldC8yMDQ4Y2EuY3JsMB0GA1UdDgQWBBTAMkkFZmaDhxlpua6DJQYZiwXX
dDAfBgNVHSMEGDAWgBRV5IHREYC+2Im5CKMx+aEkCRa5cDANBgkqhkiG9w0BAQUFAAOCAQEA
D7NwMLoCbvFzWEObVh724gCE6XY+xB2NpOrYpu7dlh98kzn7upnY1BMhjvLHiWDMcxIIsar/
XFNI7AePCF4PGpvfudBtB/U5umTxFVYgLLexxsN2cUOP5yd0mJb6k3wU6NOi8mPZNtSfullU
s7avzGHWx787no9d97XrIKKCMV8HwJjtZCt0OKFXVCYWMNMcFqVvBX2pbqgSlSBtZhzTIfi3
MYkEOY9Zgrtsh+2hP22OJuskImNEHqlYbM//OqlCGQz+4sK6Ai/3HMfKFKJ/6Oyf8j48dO12
3nPRMQAy/oBHEITGQQUK0hdDZyglGOzTHGWH2Ae33vrzs+8T9rG8GzCCBxEwggX5oAMCAQIC
BEwfo4cwDQYJKoZIhvcNAQEFBQAwgYAxCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdFbnRydXN0
MSIwIAYDVQQLExlDZXJ0aWZpY2F0aW9uIEF1dGhvcml0aWVzMTswOQYDVQQDEzJFbnRydXN0
IE1hbmFnZWQgU2VydmljZXMgQ29tbWVyY2lhbCBQdWJsaWMgUm9vdCBDQTAeFw0xMDA3MDcy
MDE0NTRaFw0zMDA2MDcyMDQ0NTRaMHcxCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdFbnRydXN0
MSIwIAYDVQQLExlDZXJ0aWZpY2F0aW9uIEF1dGhvcml0aWVzMTIwMAYDVQQDEylFbnRydXN0
IEVkdWNhdGlvbiBTaGFyZWQgU2VydmljZSBQcm92aWRlcjCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAOtRQhPAzU32kb0lQD4Zbvrz4z1/uMOXoAURJ8//Dm3SQFuuG+lDwyE4
zkk85mtmqJgbGsA2cQOiv7189VBAHxgvOkc322Riwi5TKErPAk/tU9ay2Zne1S4oDeMiHp9K
pgde0OcjKE7fx6PZmB/i0QWqVvm6C20cjFUcjYOs8QH79lh10w0bUuvR8/jk5FJ8Ss2cxDl2
CIB826jCZW2SKsQ1LlRSJIJ9AOfn6fr/m5aBHCEoqAkrI0zK+CT3OTtMTRzoGvyh9Wv2oWVV
OjlpUdD5HtxuFrDmps4Z2ZAE3+KCpX0G183hhEKzBRIDv3eC1Wv8J2mG/s+aNRqcgLmWFQcC
AwEAAaOCA5kwggOVMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMDwGA1Ud
IAQ1MDMwDwYNYIZIAYb6a4FIAwoCBDAPBg1ghkgBhvprgUgDCgIFMA8GDWCGSAGG+muBSAMK
AgYwggE/BggrBgEFBQcBAQSCATEwggEtMFUGCCsGAQUFBzAChklodHRwOi8vY29tcHVid2Vi
Lm1hbmFnZWQuZW50cnVzdC5jb20vQUlBL0NlcnRzSXNzdWVkVG9FTVNDb21QdWJSb290Q0Eu
cDdjMIHTBggrBgEFBQcwAoaBxmxkYXA6Ly9jb21wdWJzaGFkLm1hbmFnZWQuZW50cnVzdC5j
b20vb3U9RW50cnVzdCUyME1hbmFnZWQlMjBTZXJ2aWNlcyUyMENvbW1lcmNpYWwlMjBQdWJs
aWMlMjBSb290JTIwQ0Esb3U9Q2VydGlmaWNhdGlvbiUyMEF1dGhvcml0aWVzLG89RW50cnVz
dCxjPVVTP2NBQ2VydGlmaWNhdGU7YmluYXJ5LGNyb3NzQ2VydGlmaWNhdGVQYWlyO2JpbmFy
eTCCAawGA1UdHwSCAaMwggGfMIH+oIH7oIH4hj1odHRwOi8vY29tcHVid2ViLm1hbmFnZWQu
ZW50cnVzdC5jb20vQ1JMcy9FTVNDb21QdWJSb290Q0EuY3JshoG2bGRhcDovL2NvbXB1YnNo
YWQubWFuYWdlZC5lbnRydXN0LmNvbS9jbj1FbnRydXN0JTIwTWFuYWdlZCUyMFNlcnZpY2Vz
JTIwQ29tbWVyY2lhbCUyMFB1YmxpYyUyMFJvb3QlMjBDQSxvdT1DZXJ0aWZpY2F0aW9uJTIw
QXV0aG9yaXRpZXMsbz1FbnRydXN0LGM9VVM/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDti
aW5hcnkwgZuggZiggZWkgZIwgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdFbnRydXN0MSIw
IAYDVQQLExlDZXJ0aWZpY2F0aW9uIEF1dGhvcml0aWVzMTswOQYDVQQDEzJFbnRydXN0IE1h
bmFnZWQgU2VydmljZXMgQ29tbWVyY2lhbCBQdWJsaWMgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
MTAfBgNVHSMEGDAWgBTAMkkFZmaDhxlpua6DJQYZiwXXdDAdBgNVHQ4EFgQUIt2i+lhOgz5T
iwGAExY11IEVtn8wDQYJKoZIhvcNAQEFBQADggEBAHQ4kWFG0YwlCojUFLo5/Btbxr51qNZL
52Mf5QVC9O09b7YZE1ZcAUJlYxerhKPV66xQAhro9ch/VUYDKu1/qTAX5OGRH5sq5lBO2Rat
B7tEyEuY3S6SWXCsJcvyi7eUrPov5Ojo0GsMymqNbdU+Uy/e3I58daQx9BzVGIGXg8iAxt+7
cG4NtiXeCOXXfjPemC/OxuzH9k6SEv16ztlnfOFBJVs5jI1iKCtKDSd74K/k3CgvBK8zEvgL
jXzLgWS/pUqIv8jjhAFEu0pfxsXkpn69ORT3pw972+q+A2rg8lilyd9KIzvcpi07orohVeXn
Q+67NIscURgNDDtfFRWrq3cwggfXMIIGv6ADAgECAgRMH9d4MA0GCSqGSIb3DQEBBQUAMHcx
CzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdFbnRydXN0MSIwIAYDVQQLExlDZXJ0aWZpY2F0aW9u
IEF1dGhvcml0aWVzMTIwMAYDVQQDEylFbnRydXN0IEVkdWNhdGlvbiBTaGFyZWQgU2Vydmlj
ZSBQcm92aWRlcjAeFw0xMTA3MjgxODAxMjFaFw0xNjA3MjgxODMxMjFaMIGsMQswCQYDVQQG
EwJVUzESMBAGA1UECBMJV2lzY29uc2luMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIFdpc2Nv
bnNpbjEQMA4GA1UECxMHTWFkaXNvbjFVMBEGA1UEBRMKMDAwMDAwMDU1NDAWBgNVBAMTD0Vy
aWMgQiBEYWxxdWlzdDAoBgkqhkiG9w0BCQEWG2VyaWMuZGFscXVpc3RAZG9pdC53aXNjLmVk
dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKh4khZd6cTV19M5evwKbBEWDijA
DofaXZL3WpVqn2PFr3/g/vkO6wWIF3yKE/MuHt5Q5o4Pbkf5i1vZCOIXoHhrBKozID/lmbeu
ea69gW9RpdBwkCUitiwnnzYsrKUxReMV6pUzfK6cRcVIEU/joXHaJSJs3/UuvWE+fC8zFQ0c
DBJI4RCdHLvh0VshokZhISF6JsHXKzAgp2CXTrLTTMUyEbtfG5PvDnYpnQTRdaAdQGAg/xnf
WM1SSvAI5X/Gd56cMoIuH4w2+1k9IyhYGQAwP4lW4vkGm0eSP10xvqkMA0ZreDeBkQcanIem
ERXKM9ppUWQILtSuEqDMcmUFRFcCAwEAAaOCBDMwggQvMA4GA1UdDwEB/wQEAwIFoDArBgNV
HRAEJDAigA8yMDExMDcyODE4MDEyMVqBDzIwMTUwMTI3MTUzMTIxWjCCATMGCCsGAQUFBwEB
BIIBJTCCASEwUwYIKwYBBQUHMAKGR2h0dHA6Ly9lZHVjYXRpb253ZWIubWFuYWdlZC5lbnRy
dXN0LmNvbS9BSUEvQ2VydHNJc3N1ZWRUb0VNU0VkU1NQQ0EucDdjMIHJBggrBgEFBQcwAoaB
vGxkYXA6Ly9lZHVjYXRpb25zaGFkLm1hbmFnZWQuZW50cnVzdC5jb20vY249RW50cnVzdCUy
MEVkdWNhdGlvbiUyMFNoYXJlZCUyMFNlcnZpY2UlMjBQcm92aWRlcixvdT1DZXJ0aWZpY2F0
aW9uJTIwQXV0aG9yaXRpZXMsbz1FbnRydXN0LGM9VVM/Y0FDZXJ0aWZpY2F0ZTtiaW5hcnks
Y3Jvc3NDZXJ0aWZpY2F0ZVBhaXI7YmluYXJ5MCsGA1UdIAQkMCIwDwYNYIZIAYb6a4FIAwoC
BDAPBg1ghkgBhvprgUgDCgIFMFgGCWCGSAGG+mseAQRLDElUaGUgcHJpdmF0ZSBrZXkgY29y
cmVzcG9uZGluZyB0byB0aGlzIGNlcnRpZmljYXRlIG1heSBoYXZlIGJlZW4gZXhwb3J0ZWQu
MCYGA1UdEQQfMB2BG2VyaWMuZGFscXVpc3RAZG9pdC53aXNjLmVkdTCCAaIGA1UdHwSCAZkw
ggGVMIH9oIH6oIH3hkZodHRwOi8vZWR1Y2F0aW9ud2ViLm1hbmFnZWQuZW50cnVzdC5jb20v
Q1JMcy9FbnRydXN0RURVQ0FUSU9OU1NQQ0EuY3JshoGsbGRhcDovL2VkdWNhdGlvbnNoYWQu
bWFuYWdlZC5lbnRydXN0LmNvbS9jbj1FbnRydXN0JTIwRWR1Y2F0aW9uJTIwU2hhcmVkJTIw
U2VydmljZSUyMFByb3ZpZGVyLG91PUNlcnRpZmljYXRpb24lMjBBdXRob3JpdGllcyxvPUVu
dHJ1c3QsYz1VUz9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0O2JpbmFyeTCBkqCBj6CBjKSB
iTCBhjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VudHJ1c3QxIjAgBgNVBAsTGUNlcnRpZmlj
YXRpb24gQXV0aG9yaXRpZXMxMjAwBgNVBAMTKUVudHJ1c3QgRWR1Y2F0aW9uIFNoYXJlZCBT
ZXJ2aWNlIFByb3ZpZGVyMQ0wCwYDVQQDEwRDUkwyMB8GA1UdIwQYMBaAFCLdovpYToM+U4sB
gBMWNdSBFbZ/MB0GA1UdDgQWBBSjX9p6AvNODW6BCg5FfXxGJxptGzAJBgNVHRMEAjAAMBkG
CSqGSIb2fQdBAAQMMAobBFY4LjADAgSwMA0GCSqGSIb3DQEBBQUAA4IBAQCSQc6gRB27L8OG
WuMgsUMYVFcsPNyxn+waiQ+vL2SlomlTxMRLzOgI4OZbds5PzlgQuwZyY/R3lTem3btd+GbT
uusk6jToZ6s51o6jCQrRND4AOh7831kKdZm5Dxr6lwvgITuduNOlehiEAFbcBxNyMb7q8YTh
03fVtnn69CmZvgkqc50hDTQ13mXfKRWrSIsnfu3jQeA6WBZgZZUjhzd5Z+q/cxOYiH282/zY
HF2tN7iCa1rkOWPwHYgHKQgDfL9oyFFriYrXda1Yogb/T/OzrTxpKLuB21F++eooM6kNRPIS
kqQ3iuWYVH0XiWRb2lDAH3jDz6HLh2n6CSJGFFAnMYIDjjCCA4oCAQEwfzB3MQswCQYDVQQG
EwJVUzEQMA4GA1UEChMHRW50cnVzdDEiMCAGA1UECxMZQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dGllczEyMDAGA1UEAxMpRW50cnVzdCBFZHVjYXRpb24gU2hhcmVkIFNlcnZpY2UgUHJvdmlk
ZXICBEwf13gwCQYFKw4DAhoFAKCCAeQwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkq
hkiG9w0BCQUxDxcNMTEwODI1MTI0NjIzWjAjBgkqhkiG9w0BCQQxFgQUHKKvB17pREy+/oE3
d62+NHbrdj4wXwYJKoZIhvcNAQkPMVIwUDALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYI
KoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGP
BgkrBgEEAYI3EAQxgYEwfzB3MQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRW50cnVzdDEiMCAG
A1UECxMZQ2VydGlmaWNhdGlvbiBBdXRob3JpdGllczEyMDAGA1UEAxMpRW50cnVzdCBFZHVj
YXRpb24gU2hhcmVkIFNlcnZpY2UgUHJvdmlkZXICBEwf13gwgZEGCyqGSIb3DQEJEAILMYGB
oH8wdzELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VudHJ1c3QxIjAgBgNVBAsTGUNlcnRpZmlj
YXRpb24gQXV0aG9yaXRpZXMxMjAwBgNVBAMTKUVudHJ1c3QgRWR1Y2F0aW9uIFNoYXJlZCBT
ZXJ2aWNlIFByb3ZpZGVyAgRMH9d4MA0GCSqGSIb3DQEBAQUABIIBADGry6UGAEwkjeEroUIF
FXb/gjah1Yv9xgtnVgNSF7BJBi+VpzpheIZqoaUYlvMiDtGmBrGUJJK59vGiQVhMk8nc+cvJ
T6dUk2thgyeMG7oeEX1L9kEh+GGuF2tRhGAlhNeN5HC77v3scSibYHbLQf0Lv5j7tGM0IwzH
v3MVyLFTid/Ou0p8jSPl5PfEZK5NH80miZJJPEzt8N8kx4JGkvOJ5RTL69IH9QnYtWaPmwRA
NJIc3bZDbezYUaPsDtp19I4u/T8rLWcVZVcIspK4+2OS9InkOtpqsVUuhCE7u5mE4j8fyiCH
BSqxqB/elESzXWTKn+TJ0WNHLiCT5aTyT/MAAAAAAAA=
--------------ms050404030705080301020502--