From do-not-reply at jboss.com Mon Jun 11 06:42:45 2012
Content-Type: multipart/mixed; boundary="===============2050385977997405522=="
MIME-Version: 1.0
From: Paul Robinson
To: jboss-user at lists.jboss.org
Subject: [jboss-user] [JBoss Web Services] - Unable to obtain wsdl when
running in IPv6 mode
Date: Mon, 11 Jun 2012 06:42:44 -0400
Message-ID: <2-740945-3-11488-1339411356333.jivesbs.jivemailuser@https://community.jboss.org>
--===============2050385977997405522==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Paul Robinson [https://community.jboss.org/people/paul.robinson] created th=
e discussion
"Unable to obtain wsdl when running in IPv6 mode"
To view the discussion, visit: https://community.jboss.org/message/740945#7=
40945
--------------------------------------------------------------
All,
I'm experiencing a problem when I try to obtain the wsdl of a JAX-WS servic=
e when the latest (master as of 9am BST today) build of JBossAS is started =
in IPv6 mode. I think I'm configuring the server correctly for IPv6 as I us=
e the same config as JBoss QE use.
To reproduce:
Build today's JBossAS7 master (~9am if having trouble reproducing)
Download the attatched simple project and unzip
cd jax-ws-simple
mvn install
cp target/echo_service-1.0.war $JBOSS_HOME/standalone/deployments/
Start jboss:
sh bin/standalone.sh -Djboss.bind.address=3Dlocalhost -Djboss.bind.address.=
management=3Dlocalhost -Djboss.bind.address.unsecure=3Dlocalhost -Djava.net=
.preferIPv4Stack=3Dfalse -Djava.net.preferIPv6Addresses=3Dtrue
Try to obtain the wsdl:
curl http://localhost:8080/echo_service-1.0/EchoServiceService?wsdl
Observe the following from curl:
JBoss Web/7.0.16.Final - Error report HTTP Status 500 -
=
type Exception report
message
descript=
ion The server encountered an internal error () that prevented it fr=
om fulfilling this request.
exception
javax.servlet.S=
ervletException: Cannot obtain destination for: /echo_service-1.0/EchoServi=
ceService
=C2=A0=C2=A0=C2=A0 org.jboss.wsf.stack.cxf.RequestHandlerImpl.findDestinati=
on(RequestHandlerImpl.java:164)
=C2=A0=C2=A0=C2=A0 org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpReq=
uest(RequestHandlerImpl.java:81)
=C2=A0=C2=A0=C2=A0 org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequ=
estHandler(ServletHelper.java:169)
=C2=A0=C2=A0=C2=A0 org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletE=
xt.java:87)
=C2=A0=C2=A0=C2=A0 org.apache.cxf.transport.servlet.AbstractHTTPServlet.han=
dleRequest(AbstractHTTPServlet.java:187)
=C2=A0=C2=A0=C2=A0 org.apache.cxf.transport.servlet.AbstractHTTPServlet.doG=
et(AbstractHTTPServlet.java:115)
=C2=A0=C2=A0=C2=A0 javax.servlet.http.HttpServlet.service(HttpServlet.java:=
734)
=C2=A0=C2=A0=C2=A0 org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServlet=
Ext.java:135)
=C2=A0=C2=A0=C2=A0 org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServl=
et.java:140)
=C2=A0=C2=A0=C2=A0 javax.servlet.http.HttpServlet.service(HttpServlet.java:=
847)
note The full stack trace of the root cause is avail=
able in the JBoss Web/7.0.16.Final logs.
JBoss Web/7.0.16.Final
admins-MacBook-Pro:jax=
-ws-simple paul
And the following on the JBossAS console output:
11:38:06,110 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[def=
ault-host].[/echo_service-1.0].[org.my.simple.server.EchoServiceImpl]] (htt=
p-/0:0:0:0:0:0:0:1:8080-1) Servlet.service() for servlet org.my.simple.serv=
er.EchoServiceImpl threw exception: javax.servlet.ServletException: Cannot =
obtain destination for: /echo_service-1.0/EchoServiceService
=C2=A0=C2=A0=C2=A0 at org.jboss.wsf.stack.cxf.RequestHandlerImpl.findDestin=
ation(RequestHandlerImpl.java:164)
=C2=A0=C2=A0=C2=A0 at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttp=
Request(RequestHandlerImpl.java:81)
=C2=A0=C2=A0=C2=A0 at org.jboss.wsf.stack.cxf.transport.ServletHelper.callR=
equestHandler(ServletHelper.java:169)
=C2=A0=C2=A0=C2=A0 at org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServl=
etExt.java:87)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.=
handleRequest(AbstractHTTPServlet.java:187)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.=
doGet(AbstractHTTPServlet.java:115)
=C2=A0=C2=A0=C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.ja=
va:734) [jboss-servlet-api_3.0_spec-1.0.1.Final.jar:1.0.1.Final]
=C2=A0=C2=A0=C2=A0 at org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServ=
letExt.java:135)
=C2=A0=C2=A0=C2=A0 at org.jboss.wsf.spi.deployment.WSFServlet.service(WSFSe=
rvlet.java:140) [jbossws-spi-2.1.0.Beta1.jar:2.1.0.Beta1]
=C2=A0=C2=A0=C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.ja=
va:847) [jboss-servlet-api_3.0_spec-1.0.1.Final.jar:1.0.1.Final]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFilterChain.inter=
nalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFilterChain.doFil=
ter(ApplicationFilterChain.java:248) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardWrapperValve.invoke(=
StandardWrapperValve.java:275) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardContextValve.invoke(=
StandardContextValve.java:161) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.jboss.as.web.security.SecurityContextAssociationV=
alve.invoke(SecurityContextAssociationValve.java:156) [jboss-as-web-7.2.0.A=
lpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardHostValve.invoke(Sta=
ndardHostValve.java:155) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.valves.ErrorReportValve.invoke(Er=
rorReportValve.java:102) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardEngineValve.invoke(S=
tandardEngineValve.java:109) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.connector.CoyoteAdapter.service(C=
oyoteAdapter.java:368) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.coyote.http11.Http11Processor.process(Http=
11Processor.java:877) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.coyote.http11.Http11Protocol$Http11Connect=
ionHandler.process(Http11Protocol.java:679) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIo=
Endpoint.java:931) [jbossweb-7.0.16.Final.jar:]
=C2=A0=C2=A0=C2=A0 at java.lang.Thread.run(Thread.java:680) [classes.jar:1.=
6.0_31]
If you repeat, by starting up the server without my additional parameters, =
you should see that the wsdl is returned without issue.
Thanks,
Paul.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/740945#740945]
Start a new discussion in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=3D1&co=
ntainerType=3D14&container=3D2044]
--===============2050385977997405522==
Content-Type: text/html
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="attachment.html"
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIj4KPGh0bWw+Cjxib2R5IGxpbms9IiMzNTU0OTEiIGFsaW5rPSIjNDI2MmExIiB2bGluaz0i
IzM1NTQ5MSIgc3R5bGU9ImJhY2tncm91bmQ6ICNlMmUyZTI7IG1hcmdpbjogMDsgcGFkZGluZzog
MjBweDsiPgoKPGRpdj4KCTx0YWJsZSBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI0ZGRkZGRiIg
Ym9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICNkYWRh
ZGE7IG1hcmdpbi1ib3R0b206IDMwcHg7IHdpZHRoOiAxMDAlOyAtbW96LWJvcmRlci1yYWRpdXM6
IDZweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7Ij4KCQk8dGJvZHk+CgkJCTx0cj4KCgkJ
CQk8dGQ+CgoJCQkJCTx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCIgYmdjb2xvcj0iI0ZGRkZGRiIgc3R5bGU9ImJvcmRlcjogc29saWQgMnB4ICNjY2M7IGJh
Y2tncm91bmQ6ICNkYWRhZGE7IHdpZHRoOiAxMDAlOyAtbW96LWJvcmRlci1yYWRpdXM6IDZweDsg
LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7Ij4KCQkJCQkJPHRib2R5PgoJCQkJCQkJPHRyPgoJ
CQkJCQkJCTx0ZCBiZ2NvbG9yPSIjMDAwMDAwIiB2YWxpZ249Im1pZGRsZSIgaGVpZ2h0PSI1OHB4
IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IHBhZGRpbmc6IDIwcHg7IC1t
b3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAzcHg7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdo
dDogM3B4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IC13ZWJraXQtYm9y
ZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OyI+CgkJCQkJCQkJCTxoMSBzdHlsZT0iY29sb3I6ICMz
MzMzMzM7IGZvbnQ6IGJvbGQgMjJweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBtYXJn
aW46IDA7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Ij4KCQkJCQkJCQkJPCEtLSBUbyBoYXZl
IGEgaGVhZGVyIGltYWdlL2xvZ28gcmVwbGFjZSB0aGUgbmFtZSBiZWxvdyB3aXRoIHlvdXIgaW1n
IHRhZyAtLT4KCQkJCQkJCQkJPCEtLSBFbWFpbCBjbGllbnRzIHdpbGwgcmVuZGVyIHRoZSBpbWFn
ZXMgd2hlbiB0aGUgbWVzc2FnZSBpcyByZWFkIHNvIGFueSBpbWFnZSAtLT4KCQkJCQkJCQkJPCEt
LSBtdXN0IGJlIG1hZGUgYXZhaWxhYmxlIG9uIGEgcHVibGljIHNlcnZlciwgc28gdGhhdCBhbGwg
cmVjaXBpZW50cyBjYW4gbG9hZCB0aGUgaW1hZ2UuIC0tPgoJCQkJCQkJCQk8YSBocmVmPSJodHRw
czovL2NvbW11bml0eS5qYm9zcy5vcmcvaW5kZXguanNwYSIgc3R5bGU9InRleHQtZGVjb3JhdGlv
bjogbm9uZTsgY29sb3I6ICNFMUUxRTEiPkpCb3NzIENvbW11bml0eTwvYT48L2gxPgoJCQkJCQkJ
CTwvdGQ+CgoJCQkJCQkJPC90cj4KCQkJCQkJCTx0cj4KCQkJCQkJCQk8dGQgYmdjb2xvcj0iI0ZG
RkZGRiIgc3R5bGU9ImZvbnQ6IG5vcm1hbCAxMnB4IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy
aWY7IGNvbG9yOiMzMzMzMzM7IHBhZGRpbmc6IDIwcHg7ICAtbW96LWJvcmRlci1yYWRpdXMtYm90
dG9tbGVmdDogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtp
dC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20t
bGVmdC1yYWRpdXM6IDVweDsiPjxoMyBzdHlsZT0ibWFyZ2luOiAxMHB4IDAgNXB4OyBmb250LXNp
emU6IDE3cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgIFVuYWJsZSB0byBvYnRhaW4gd3Nk
bCB3aGVuIHJ1bm5pbmcgaW4gSVB2NiBtb2RlCjwvaDM+CjxzcGFuIHN0eWxlPSJtYXJnaW4tYm90
dG9tOiAxMHB4OyI+CiAgICBjcmVhdGVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5Lmpi
b3NzLm9yZy9wZW9wbGUvcGF1bC5yb2JpbnNvbiI+UGF1bCBSb2JpbnNvbjwvYT4gaW4gPGk+SkJv
c3MgV2ViIFNlcnZpY2VzPC9pPiAtIDxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5Lmpib3NzLm9y
Zy9tZXNzYWdlLzc0MDk0NSM3NDA5NDUiPlZpZXcgdGhlIGZ1bGwgZGlzY3Vzc2lvbjwvYT4KPC9z
cGFuPgo8aHIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQt
Y29sb3I6ICNkYWRhZGE7IGhlaWdodDogMXB4OyI+Cgo8ZGl2IGNsYXNzPSJqaXZlLXJlbmRlcmVk
LWNvbnRlbnQiPjxwPkFsbCw8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4
cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5JJ20gZXhwZXJpZW5jaW5nIGEgcHJvYmxl
bSB3aGVuIEkgdHJ5IHRvIG9idGFpbiB0aGUgd3NkbCBvZiBhIEpBWC1XUyBzZXJ2aWNlIHdoZW4g
dGhlIGxhdGVzdCAobWFzdGVyIGFzIG9mIDlhbSBCU1QgdG9kYXkpIGJ1aWxkIG9mIEpCb3NzQVMg
aXMgc3RhcnRlZCBpbiBJUHY2IG1vZGUuIEkgdGhpbmsgSSdtIGNvbmZpZ3VyaW5nIHRoZSBzZXJ2
ZXIgY29ycmVjdGx5IGZvciBJUHY2IGFzIEkgdXNlIHRoZSBzYW1lIGNvbmZpZyBhcyBKQm9zcyBR
RSB1c2UuPC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5n
OiAwcHg7Ij4mIzE2MDs8L3A+PHA+VG8gcmVwcm9kdWNlOjwvcD48cCBzdHlsZT0ibWluLWhlaWdo
dDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJt
aW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHBy
ZSBjbGFzcz0iaml2ZS1wcmUiPjxjb2RlIGNsYXNzPSJqaXZlLWNvZGUiPkJ1aWxkIHRvZGF5J3Mg
SkJvc3NBUzcgbWFzdGVyICh+OWFtIGlmIGhhdmluZyB0cm91YmxlIHJlcHJvZHVjaW5nKQoKRG93
bmxvYWQgdGhlIGF0dGF0Y2hlZCBzaW1wbGUgcHJvamVjdCBhbmQgdW56aXAKCmNkIGpheC13cy1z
aW1wbGUKbXZuIGluc3RhbGwKY3AgdGFyZ2V0L2VjaG9fc2VydmljZS0xLjAud2FyICRKQk9TU19I
T01FL3N0YW5kYWxvbmUvZGVwbG95bWVudHMvCgpTdGFydCBqYm9zczoKc2ggYmluL3N0YW5kYWxv
bmUuc2ggLURqYm9zcy5iaW5kLmFkZHJlc3M9bG9jYWxob3N0IC1EamJvc3MuYmluZC5hZGRyZXNz
Lm1hbmFnZW1lbnQ9bG9jYWxob3N0IC1EamJvc3MuYmluZC5hZGRyZXNzLnVuc2VjdXJlPWxvY2Fs
aG9zdCAtRGphdmEubmV0LnByZWZlcklQdjRTdGFjaz1mYWxzZSAtRGphdmEubmV0LnByZWZlcklQ
djZBZGRyZXNzZXM9dHJ1ZQoKVHJ5IHRvIG9idGFpbiB0aGUgd3NkbDoKY3VybCBodHRwOi8vbG9j
YWxob3N0OjgwODAvZWNob19zZXJ2aWNlLTEuMC9FY2hvU2VydmljZVNlcnZpY2U/d3NkbAoKCk9i
c2VydmUgdGhlIGZvbGxvd2luZyBmcm9tIGN1cmw6CgombHQ7aHRtbCZndDsmbHQ7aGVhZCZndDsm
bHQ7dGl0bGUmZ3Q7SkJvc3MgV2ViLzcuMC4xNi5GaW5hbCAtIEVycm9yIHJlcG9ydCZsdDsvdGl0
bGUmZ3Q7Jmx0O3N0eWxlJmd0OyZsdDshLS1IMSB7Zm9udC1mYW1pbHk6VGFob21hLEFyaWFsLHNh
bnMtc2VyaWY7Y29sb3I6d2hpdGU7YmFja2dyb3VuZC1jb2xvcjojNTI1RDc2O2ZvbnQtc2l6ZToy
MnB4O30gSDIge2ZvbnQtZmFtaWx5OlRhaG9tYSxBcmlhbCxzYW5zLXNlcmlmO2NvbG9yOndoaXRl
O2JhY2tncm91bmQtY29sb3I6IzUyNUQ3Njtmb250LXNpemU6MTZweDt9IEgzIHtmb250LWZhbWls
eTpUYWhvbWEsQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOiM1
MjVENzY7Zm9udC1zaXplOjE0cHg7fSBCT0RZIHtmb250LWZhbWlseTpUYWhvbWEsQXJpYWwsc2Fu
cy1zZXJpZjtjb2xvcjpibGFjaztiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO30gQiB7Zm9udC1mYW1p
bHk6VGFob21hLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6d2hpdGU7YmFja2dyb3VuZC1jb2xvcjoj
NTI1RDc2O30gUCB7Zm9udC1mYW1pbHk6VGFob21hLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3Vu
ZDp3aGl0ZTtjb2xvcjpibGFjaztmb250LXNpemU6MTJweDt9QSB7Y29sb3IgOiBibGFjazt9QS5u
YW1lIHtjb2xvciA6IGJsYWNrO31IUiB7Y29sb3IgOiAjNTI1RDc2O30tLSZndDsmbHQ7L3N0eWxl
Jmd0OyAmbHQ7L2hlYWQmZ3Q7Jmx0O2JvZHkmZ3Q7Jmx0O2gxJmd0O0hUVFAgU3RhdHVzIDUwMCAt
ICZsdDsvaDEmZ3Q7Jmx0O0hSIHNpemU9IjEiIG5vc2hhZGU9Im5vc2hhZGUiJmd0OyZsdDtwJmd0
OyZsdDtiJmd0O3R5cGUmbHQ7L2ImZ3Q7IEV4Y2VwdGlvbiByZXBvcnQmbHQ7L3AmZ3Q7Jmx0O3Am
Z3Q7Jmx0O2ImZ3Q7bWVzc2FnZSZsdDsvYiZndDsgJmx0O3UmZ3Q7Jmx0Oy91Jmd0OyZsdDsvcCZn
dDsmbHQ7cCZndDsmbHQ7YiZndDtkZXNjcmlwdGlvbiZsdDsvYiZndDsgJmx0O3UmZ3Q7VGhlIHNl
cnZlciBlbmNvdW50ZXJlZCBhbiBpbnRlcm5hbCBlcnJvciAoKSB0aGF0IHByZXZlbnRlZCBpdCBm
cm9tIGZ1bGZpbGxpbmcgdGhpcyByZXF1ZXN0LiZsdDsvdSZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7
Jmx0O2ImZ3Q7ZXhjZXB0aW9uJmx0Oy9iJmd0OyAmbHQ7cHJlJmd0O2phdmF4LnNlcnZsZXQuU2Vy
dmxldEV4Y2VwdGlvbjogQ2Fubm90IG9idGFpbiBkZXN0aW5hdGlvbiBmb3I6IC9lY2hvX3NlcnZp
Y2UtMS4wL0VjaG9TZXJ2aWNlU2VydmljZQomIzE2MDsmIzE2MDsmIzE2MDsgb3JnLmpib3NzLndz
Zi5zdGFjay5jeGYuUmVxdWVzdEhhbmRsZXJJbXBsLmZpbmREZXN0aW5hdGlvbihSZXF1ZXN0SGFu
ZGxlckltcGwuamF2YToxNjQpCiYjMTYwOyYjMTYwOyYjMTYwOyBvcmcuamJvc3Mud3NmLnN0YWNr
LmN4Zi5SZXF1ZXN0SGFuZGxlckltcGwuaGFuZGxlSHR0cFJlcXVlc3QoUmVxdWVzdEhhbmRsZXJJ
bXBsLmphdmE6ODEpCiYjMTYwOyYjMTYwOyYjMTYwOyBvcmcuamJvc3Mud3NmLnN0YWNrLmN4Zi50
cmFuc3BvcnQuU2VydmxldEhlbHBlci5jYWxsUmVxdWVzdEhhbmRsZXIoU2VydmxldEhlbHBlci5q
YXZhOjE2OSkKJiMxNjA7JiMxNjA7JiMxNjA7IG9yZy5qYm9zcy53c2Yuc3RhY2suY3hmLkNYRlNl
cnZsZXRFeHQuaW52b2tlKENYRlNlcnZsZXRFeHQuamF2YTo4NykKJiMxNjA7JiMxNjA7JiMxNjA7
IG9yZy5hcGFjaGUuY3hmLnRyYW5zcG9ydC5zZXJ2bGV0LkFic3RyYWN0SFRUUFNlcnZsZXQuaGFu
ZGxlUmVxdWVzdChBYnN0cmFjdEhUVFBTZXJ2bGV0LmphdmE6MTg3KQomIzE2MDsmIzE2MDsmIzE2
MDsgb3JnLmFwYWNoZS5jeGYudHJhbnNwb3J0LnNlcnZsZXQuQWJzdHJhY3RIVFRQU2VydmxldC5k
b0dldChBYnN0cmFjdEhUVFBTZXJ2bGV0LmphdmE6MTE1KQomIzE2MDsmIzE2MDsmIzE2MDsgamF2
YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo3MzQp
CiYjMTYwOyYjMTYwOyYjMTYwOyBvcmcuamJvc3Mud3NmLnN0YWNrLmN4Zi5DWEZTZXJ2bGV0RXh0
LnNlcnZpY2UoQ1hGU2VydmxldEV4dC5qYXZhOjEzNSkKJiMxNjA7JiMxNjA7JiMxNjA7IG9yZy5q
Ym9zcy53c2Yuc3BpLmRlcGxveW1lbnQuV1NGU2VydmxldC5zZXJ2aWNlKFdTRlNlcnZsZXQuamF2
YToxNDApCiYjMTYwOyYjMTYwOyYjMTYwOyBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQu
c2VydmljZShIdHRwU2VydmxldC5qYXZhOjg0NykKJmx0Oy9wcmUmZ3Q7Jmx0Oy9wJmd0OyZsdDtw
Jmd0OyZsdDtiJmd0O25vdGUmbHQ7L2ImZ3Q7ICZsdDt1Jmd0O1RoZSBmdWxsIHN0YWNrIHRyYWNl
IG9mIHRoZSByb290IGNhdXNlIGlzIGF2YWlsYWJsZSBpbiB0aGUgSkJvc3MgV2ViLzcuMC4xNi5G
aW5hbCBsb2dzLiZsdDsvdSZndDsmbHQ7L3AmZ3Q7Jmx0O0hSIHNpemU9IjEiIG5vc2hhZGU9Im5v
c2hhZGUiJmd0OyZsdDtoMyZndDtKQm9zcyBXZWIvNy4wLjE2LkZpbmFsJmx0Oy9oMyZndDsmbHQ7
L2JvZHkmZ3Q7Jmx0Oy9odG1sJmd0O2FkbWlucy1NYWNCb29rLVBybzpqYXgtd3Mtc2ltcGxlIHBh
dWwKCkFuZCB0aGUgZm9sbG93aW5nIG9uIHRoZSBKQm9zc0FTIGNvbnNvbGUgb3V0cHV0OgoKCjEx
OjM4OjA2LDExMCBFUlJPUiBbb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2Uu
W2pib3NzLndlYl0uW2RlZmF1bHQtaG9zdF0uWy9lY2hvX3NlcnZpY2UtMS4wXS5bb3JnLm15LnNp
bXBsZS5zZXJ2ZXIuRWNob1NlcnZpY2VJbXBsXV0gKGh0dHAtLzA6MDowOjA6MDowOjA6MTo4MDgw
LTEpIFNlcnZsZXQuc2VydmljZSgpIGZvciBzZXJ2bGV0IG9yZy5teS5zaW1wbGUuc2VydmVyLkVj
aG9TZXJ2aWNlSW1wbCB0aHJldyBleGNlcHRpb246IGphdmF4LnNlcnZsZXQuU2VydmxldEV4Y2Vw
dGlvbjogQ2Fubm90IG9idGFpbiBkZXN0aW5hdGlvbiBmb3I6IC9lY2hvX3NlcnZpY2UtMS4wL0Vj
aG9TZXJ2aWNlU2VydmljZQomIzE2MDsmIzE2MDsmIzE2MDsgYXQgb3JnLmpib3NzLndzZi5zdGFj
ay5jeGYuUmVxdWVzdEhhbmRsZXJJbXBsLmZpbmREZXN0aW5hdGlvbihSZXF1ZXN0SGFuZGxlcklt
cGwuamF2YToxNjQpCiYjMTYwOyYjMTYwOyYjMTYwOyBhdCBvcmcuamJvc3Mud3NmLnN0YWNrLmN4
Zi5SZXF1ZXN0SGFuZGxlckltcGwuaGFuZGxlSHR0cFJlcXVlc3QoUmVxdWVzdEhhbmRsZXJJbXBs
LmphdmE6ODEpCiYjMTYwOyYjMTYwOyYjMTYwOyBhdCBvcmcuamJvc3Mud3NmLnN0YWNrLmN4Zi50
cmFuc3BvcnQuU2VydmxldEhlbHBlci5jYWxsUmVxdWVzdEhhbmRsZXIoU2VydmxldEhlbHBlci5q
YXZhOjE2OSkKJiMxNjA7JiMxNjA7JiMxNjA7IGF0IG9yZy5qYm9zcy53c2Yuc3RhY2suY3hmLkNY
RlNlcnZsZXRFeHQuaW52b2tlKENYRlNlcnZsZXRFeHQuamF2YTo4NykKJiMxNjA7JiMxNjA7JiMx
NjA7IGF0IG9yZy5hcGFjaGUuY3hmLnRyYW5zcG9ydC5zZXJ2bGV0LkFic3RyYWN0SFRUUFNlcnZs
ZXQuaGFuZGxlUmVxdWVzdChBYnN0cmFjdEhUVFBTZXJ2bGV0LmphdmE6MTg3KQomIzE2MDsmIzE2
MDsmIzE2MDsgYXQgb3JnLmFwYWNoZS5jeGYudHJhbnNwb3J0LnNlcnZsZXQuQWJzdHJhY3RIVFRQ
U2VydmxldC5kb0dldChBYnN0cmFjdEhUVFBTZXJ2bGV0LmphdmE6MTE1KQomIzE2MDsmIzE2MDsm
IzE2MDsgYXQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZs
ZXQuamF2YTo3MzQpIFtqYm9zcy1zZXJ2bGV0LWFwaV8zLjBfc3BlYy0xLjAuMS5GaW5hbC5qYXI6
MS4wLjEuRmluYWxdCiYjMTYwOyYjMTYwOyYjMTYwOyBhdCBvcmcuamJvc3Mud3NmLnN0YWNrLmN4
Zi5DWEZTZXJ2bGV0RXh0LnNlcnZpY2UoQ1hGU2VydmxldEV4dC5qYXZhOjEzNSkKJiMxNjA7JiMx
NjA7JiMxNjA7IGF0IG9yZy5qYm9zcy53c2Yuc3BpLmRlcGxveW1lbnQuV1NGU2VydmxldC5zZXJ2
aWNlKFdTRlNlcnZsZXQuamF2YToxNDApIFtqYm9zc3dzLXNwaS0yLjEuMC5CZXRhMS5qYXI6Mi4x
LjAuQmV0YTFdCiYjMTYwOyYjMTYwOyYjMTYwOyBhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNl
cnZsZXQuc2VydmljZShIdHRwU2VydmxldC5qYXZhOjg0NykgW2pib3NzLXNlcnZsZXQtYXBpXzMu
MF9zcGVjLTEuMC4xLkZpbmFsLmphcjoxLjAuMS5GaW5hbF0KJiMxNjA7JiMxNjA7JiMxNjA7IGF0
IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmludGVybmFs
RG9GaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5qYXZhOjMyOSkgW2pib3Nzd2ViLTcuMC4x
Ni5GaW5hbC5qYXI6XQomIzE2MDsmIzE2MDsmIzE2MDsgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5j
b3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJDaGFp
bi5qYXZhOjI0OCkgW2pib3Nzd2ViLTcuMC4xNi5GaW5hbC5qYXI6XQomIzE2MDsmIzE2MDsmIzE2
MDsgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkV3JhcHBlclZhbHZlLmludm9r
ZShTdGFuZGFyZFdyYXBwZXJWYWx2ZS5qYXZhOjI3NSkgW2pib3Nzd2ViLTcuMC4xNi5GaW5hbC5q
YXI6XQomIzE2MDsmIzE2MDsmIzE2MDsgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5k
YXJkQ29udGV4dFZhbHZlLmludm9rZShTdGFuZGFyZENvbnRleHRWYWx2ZS5qYXZhOjE2MSkgW2pi
b3Nzd2ViLTcuMC4xNi5GaW5hbC5qYXI6XQomIzE2MDsmIzE2MDsmIzE2MDsgYXQgb3JnLmpib3Nz
LmFzLndlYi5zZWN1cml0eS5TZWN1cml0eUNvbnRleHRBc3NvY2lhdGlvblZhbHZlLmludm9rZShT
ZWN1cml0eUNvbnRleHRBc3NvY2lhdGlvblZhbHZlLmphdmE6MTU2KSBbamJvc3MtYXMtd2ViLTcu
Mi4wLkFscGhhMS1TTkFQU0hPVC5qYXI6Ny4yLjAuQWxwaGExLVNOQVBTSE9UXQomIzE2MDsmIzE2
MDsmIzE2MDsgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkSG9zdFZhbHZlLmlu
dm9rZShTdGFuZGFyZEhvc3RWYWx2ZS5qYXZhOjE1NSkgW2pib3Nzd2ViLTcuMC4xNi5GaW5hbC5q
YXI6XQomIzE2MDsmIzE2MDsmIzE2MDsgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52YWx2ZXMuRXJy
b3JSZXBvcnRWYWx2ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qYXZhOjEwMikgW2pib3Nzd2Vi
LTcuMC4xNi5GaW5hbC5qYXI6XQomIzE2MDsmIzE2MDsmIzE2MDsgYXQgb3JnLmFwYWNoZS5jYXRh
bGluYS5jb3JlLlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5kYXJkRW5naW5lVmFsdmUu
amF2YToxMDkpIFtqYm9zc3dlYi03LjAuMTYuRmluYWwuamFyOl0KJiMxNjA7JiMxNjA7JiMxNjA7
IGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29ubmVjdG9yLkNveW90ZUFkYXB0ZXIuc2VydmljZShD
b3lvdGVBZGFwdGVyLmphdmE6MzY4KSBbamJvc3N3ZWItNy4wLjE2LkZpbmFsLmphcjpdCiYjMTYw
OyYjMTYwOyYjMTYwOyBhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvY2Vzc29y
LnByb2Nlc3MoSHR0cDExUHJvY2Vzc29yLmphdmE6ODc3KSBbamJvc3N3ZWItNy4wLjE2LkZpbmFs
LmphcjpdCiYjMTYwOyYjMTYwOyYjMTYwOyBhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0
cDExUHJvdG9jb2wkSHR0cDExQ29ubmVjdGlvbkhhbmRsZXIucHJvY2VzcyhIdHRwMTFQcm90b2Nv
bC5qYXZhOjY3OSkgW2pib3Nzd2ViLTcuMC4xNi5GaW5hbC5qYXI6XQomIzE2MDsmIzE2MDsmIzE2
MDsgYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC5uZXQuSklvRW5kcG9pbnQkV29ya2VyLnJ1bihK
SW9FbmRwb2ludC5qYXZhOjkzMSkgW2pib3Nzd2ViLTcuMC4xNi5GaW5hbC5qYXI6XQomIzE2MDsm
IzE2MDsmIzE2MDsgYXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NjgwKSBbY2xh
c3Nlcy5qYXI6MS42LjBfMzFdCjwvY29kZT48L3ByZT48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0
OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwIHN0eWxlPSJtaW4taGVp
Z2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+SWYgeW91
IHJlcGVhdCwgYnkgc3RhcnRpbmcgdXAgdGhlIHNlcnZlciB3aXRob3V0IG15IGFkZGl0aW9uYWwg
cGFyYW1ldGVycywgeW91IHNob3VsZCBzZWUgdGhhdCB0aGUgd3NkbCBpcyByZXR1cm5lZCB3aXRo
b3V0IGlzc3VlLjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFk
ZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPlRoYW5rcyw8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6
IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5QYXVsLjwvcD48
L2Rpdj4KCjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IHBhZGRpbmc6IDEw
cHg7IG1hcmdpbi10b3A6IDIwcHg7Ij4KICAgIDxwIHN0eWxlPSJtYXJnaW46IDA7Ij5SZXBseSB0
byB0aGlzIG1lc3NhZ2UgYnkgPGEgaHJlZj0iaHR0cHM6Ly9jb21tdW5pdHkuamJvc3Mub3JnL21l
c3NhZ2UvNzQwOTQ1Izc0MDk0NSI+Z29pbmcgdG8gQ29tbXVuaXR5PC9hPjwvcD4KCTxwIHN0eWxl
PSJtYXJnaW46IDA7Ij5TdGFydCBhIG5ldyBkaXNjdXNzaW9uIGluIEpCb3NzIFdlYiBTZXJ2aWNl
cyBhdCA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5vcmcvY2hvb3NlLWNvbnRhaW5l
ciFpbnB1dC5qc3BhP2NvbnRlbnRUeXBlPTEmY29udGFpbmVyVHlwZT0xNCZjb250YWluZXI9MjA0
NCI+Q29tbXVuaXR5PC9hPjwvcD4KPC9kaXY+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAg
PC90cj4KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgPC90YWJs
ZT4KCgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICA8L3Ri
b2R5PgogICAgPC90YWJsZT4KCjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+
--===============2050385977997405522==--