From do-not-reply at jboss.com Thu Aug 9 06:25:43 2012
Content-Type: multipart/mixed; boundary="===============4836555587293809784=="
MIME-Version: 1.0
From: Thomas Setiabudi
To: jboss-user at lists.jboss.org
Subject: [jboss-user] [jBPM] - Re: Process Parameters through REST API?
Date: Thu, 09 Aug 2012 06:25:43 -0400
Message-ID: <2-751738-3-111525-1343929553234-2-752796-3-112016-1344507934389.jivesbs.jivemailuser@https://community.jboss.org>
In-Reply-To: 2-751738-3-111525-1343929553234-2-752502-3-111525-1344410949115.jivesbs.jivemailuser@https://community.jboss.org
--===============4836555587293809784==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Thomas Setiabudi [https://community.jboss.org/people/thomas.setiabudi] crea=
ted the discussion
"Re: Process Parameters through REST API?"
To view the discussion, visit: https://community.jboss.org/message/752796#7=
52796
--------------------------------------------------------------
Hi Franck,
I tried the http://localhost:8080/gwt-console-server/rs/form/process/proce=
ss_id/complete http://localhost:8080/gwt-console-server/rs/form/process/pro=
cess_id/complete =
here is my code =
=EF=BB=BF
public String instantiateDemoEvaluation(String address, String username,
=C2=A0=C2=A0 String reason, String processName) {
=C2=A0 String responseString =3D "";
=C2=A0 List formparams =3D new ArrayList();
=C2=A0 formparams.add(new BasicNameValuePair("employee", "thomas"));
=C2=A0 formparams.add(new BasicNameValuePair("reason", "test"));
=C2=A0 HttpPost httpPost =3D new HttpPost(" http:// http://" + "localhost:8=
888"
=C2=A0=C2=A0=C2=A0 + "/gwt-console-server/rs/form/process/" + "com.sample.e=
valuation"
=C2=A0=C2=A0=C2=A0 + "/complete");
=C2=A0 InputStreamReader inputStreamReader =3D null;
=C2=A0 BufferedReader bufferedReader =3D null;
=C2=A0 try {
=C2=A0=C2=A0 UrlEncodedFormEntity entity =3D new UrlEncodedFormEntity(formp=
arams,
=C2=A0=C2=A0=C2=A0=C2=A0 "UTF-8");// UrlEncodedFormEntity(formparams,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // "multipart/form-data"); =
=C2=A0=C2=A0 =
=C2=A0=C2=A0 httpPost.setEntity(entity);
=C2=A0=C2=A0 HttpResponse response =3D httpClient.execute(httpPost);
=C2=A0=C2=A0 InputStream inputStream =3D response.getEntity().getContent();
=C2=A0=C2=A0 inputStreamReader =3D new InputStreamReader(inputStream);
=C2=A0=C2=A0 bufferedReader =3D new BufferedReader(inputStreamReader);
=C2=A0=C2=A0 StringBuilder stringBuilder =3D new StringBuilder();
=C2=A0=C2=A0 String line =3D bufferedReader.readLine();
=C2=A0=C2=A0 while (line !=3D null) {
=C2=A0=C2=A0=C2=A0 stringBuilder.append(line);
=C2=A0=C2=A0=C2=A0 line =3D bufferedReader.readLine();
=C2=A0=C2=A0 }
=C2=A0=C2=A0 responseString =3D stringBuilder.toString();
=C2=A0 } catch (Exception e) {
=C2=A0=C2=A0 throw new RuntimeException(e);
=C2=A0 } finally {
=C2=A0=C2=A0 if (inputStreamReader !=3D null) {
=C2=A0=C2=A0=C2=A0 try {
=C2=A0=C2=A0=C2=A0=C2=A0 inputStreamReader.close();
=C2=A0=C2=A0=C2=A0 } catch (Exception e) {
=C2=A0=C2=A0=C2=A0=C2=A0 throw new RuntimeException(e);
=C2=A0=C2=A0=C2=A0 }
=C2=A0=C2=A0 }
=C2=A0=C2=A0 if (bufferedReader !=3D null) {
=C2=A0=C2=A0=C2=A0 try {
=C2=A0=C2=A0=C2=A0=C2=A0 bufferedReader.close();
=C2=A0=C2=A0=C2=A0 } catch (Exception e) {
=C2=A0=C2=A0=C2=A0=C2=A0 throw new RuntimeException(e);
=C2=A0=C2=A0=C2=A0 }
=C2=A0=C2=A0 }
=C2=A0 }
=C2=A0 return responseString;
}
and I got this error
JBoss Web/7.0.1.Final - Error report HTTP Status 500 -
<=
b>type Exception report
message
descripti=
on The server encountered an internal error () that prevented it fro=
m fulfilling this request.
exception
org.jboss.restea=
sy.spi.UnhandledException: java.lang.RuntimeException: Timeout : unable to =
retrieve Task org.jboss.resteasy.core.SynchronousDispatcher.unwrapException=
(SynchronousDispatcher.java:345) org.jboss.resteasy.core.SynchronousDispatc=
her.handleApplicationException(SynchronousDispatcher.java:321) org.jboss.re=
steasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.jav=
a:214) org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException=
(SynchronousDispatcher.java:190) org.jboss.resteasy.core.SynchronousDispatc=
her.getResponse(SynchronousDispatcher.java:534) org.jboss.resteasy.core.Syn=
chronousDispatcher.invoke(SynchronousDispatcher.java:496) org.jboss.resteas=
y.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) org.jbo=
ss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(Servl=
etContainerDispatcher.java:208) org.jboss.resteasy.plugins.server.servlet.H=
ttpServletDispatcher.service(HttpServletDispatcher.java:55) org.jboss.reste=
asy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatc=
her.java:50) javax.servlet.http.HttpServlet.service(HttpServlet.java:847) o=
rg.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:=
59)
root cause
java.lang.RuntimeException: Timeout =
: unable to retrieve Task org.jbpm.task.service.responsehandlers.BlockingGe=
tTaskResponseHandler.getTask(BlockingGetTaskResponseHandler.java:41) org.jb=
pm.task.service.SyncTaskServiceWrapper.getTask(SyncTaskServiceWrapper.java:=
369) org.jbpm.integration.console.forms.TaskFormDispatcher.provideForm(Task=
FormDispatcher.java:64) org.jbpm.integration.console.forms.FormDispatcherCo=
mposite.provideForm(FormDispatcherComposite.java:50) org.jboss.bpm.console.=
server.FormProcessingFacade.provideForm(FormProcessingFacade.java:205) org.=
jboss.bpm.console.server.FormProcessingFacade.renderTaskUI(FormProcessingFa=
cade.java:127) sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source=
) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI=
mpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.jboss.res=
teasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) org.jboss=
.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255) org.j=
boss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220) org.jboss=
.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209) org.jboss.res=
teasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519=
) org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatche=
r.java:496) org.jboss.resteasy.core.SynchronousDispatcher.invoke(Synchronou=
sDispatcher.java:119) org.jboss.resteasy.plugins.server.servlet.ServletCont=
ainerDispatcher.service(ServletContainerDispatcher.java:208) org.jboss.rest=
easy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispat=
cher.java:55) org.jboss.resteasy.plugins.server.servlet.HttpServletDispatch=
er.service(HttpServletDispatcher.java:50) javax.servlet.http.HttpServlet.se=
rvice(HttpServlet.java:847) org.jboss.bpm.console.server.util.GWTJsonFilter=
.doFilter(GWTJsonFilter.java:59)
note The full stack =
trace of the root cause is available in the JBoss Web/7.0.1.Final logs.=
JBoss Web/7.0.1.Final
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/752796#752796]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=3D1&co=
ntainerType=3D14&container=3D2034]
--===============4836555587293809784==
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
emU6IDE3cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgIFJlOiBQcm9jZXNzIFBhcmFtZXRl
cnMgdGhyb3VnaCBSRVNUIEFQST8KPC9oMz4KPHNwYW4gc3R5bGU9Im1hcmdpbi1ib3R0b206IDEw
cHg7Ij4KICAgIGNyZWF0ZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly9jb21tdW5pdHkuamJvc3Mub3Jn
L3Blb3BsZS90aG9tYXMuc2V0aWFidWRpIj5UaG9tYXMgU2V0aWFidWRpPC9hPiBpbiA8aT5qQlBN
PC9pPiAtIDxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5Lmpib3NzLm9yZy9tZXNzYWdlLzc1Mjc5
NiM3NTI3OTYiPlZpZXcgdGhlIGZ1bGwgZGlzY3Vzc2lvbjwvYT4KPC9zcGFuPgo8aHIgc3R5bGU9
Im1hcmdpbjogMjBweCAwOyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7
IGhlaWdodDogMXB4OyI+Cgo8ZGl2IGNsYXNzPSJqaXZlLXJlbmRlcmVkLWNvbnRlbnQiPjxwPkhp
IEZyYW5jayw8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRp
bmc6IDBweDsiPiYjMTYwOzwvcD48cD5JIHRyaWVkIHRoZSA8YSBjbGFzcz0iaml2ZS1saW5rLWV4
dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwODAvZ3d0LWNvbnNvbGUtc2Vy
dmVyL3JzL2Zvcm0vcHJvY2Vzcy9wcm9jZXNzX2lkL2NvbXBsZXRlIj5odHRwOi8vbG9jYWxob3N0
OjgwODAvZ3d0LWNvbnNvbGUtc2VydmVyL3JzL2Zvcm0vcHJvY2Vzcy9wcm9jZXNzX2lkL2NvbXBs
ZXRlPC9hPiA8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRp
bmc6IDBweDsiPiYjMTYwOzwvcD48cD5oZXJlIGlzIG15IGNvZGUgPC9wPjxwIHN0eWxlPSJtaW4t
aGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PGRpdiBj
bGFzcz0ibWNlUGFzdGUiIGlkPSJfbWNlUGFzdGUiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7
IHRvcDogMHB4OyBsZWZ0OiAwcHg7Ij7vu788L2Rpdj48cD5wdWJsaWMgU3RyaW5nIGluc3RhbnRp
YXRlRGVtb0V2YWx1YXRpb24oU3RyaW5nIGFkZHJlc3MsIFN0cmluZyB1c2VybmFtZSw8YnIvPiYj
MTYwOyYjMTYwOyBTdHJpbmcgcmVhc29uLCBTdHJpbmcgcHJvY2Vzc05hbWUpIHs8YnIvPiYjMTYw
OyBTdHJpbmcgcmVzcG9uc2VTdHJpbmcgPSAiIjs8YnIvPiYjMTYwOyBMaXN0Jmx0O05hbWVWYWx1
ZVBhaXImZ3Q7IGZvcm1wYXJhbXMgPSBuZXcgQXJyYXlMaXN0Jmx0O05hbWVWYWx1ZVBhaXImZ3Q7
KCk7PGJyLz4mIzE2MDsgZm9ybXBhcmFtcy5hZGQobmV3IEJhc2ljTmFtZVZhbHVlUGFpcigiZW1w
bG95ZWUiLCAidGhvbWFzIikpOzxici8+JiMxNjA7IGZvcm1wYXJhbXMuYWRkKG5ldyBCYXNpY05h
bWVWYWx1ZVBhaXIoInJlYXNvbiIsICJ0ZXN0IikpOzwvcD48cD48c3Bhbj4mIzE2MDsgSHR0cFBv
c3QgaHR0cFBvc3QgPSBuZXcgSHR0cFBvc3QoIjwvc3Bhbj48YSBjbGFzcz0iaml2ZS1saW5rLWV4
dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovLzwvYT48
c3Bhbj4iICsgImxvY2FsaG9zdDo4ODg4Ijwvc3Bhbj48YnIvPiYjMTYwOyYjMTYwOyYjMTYwOyAr
ICIvZ3d0LWNvbnNvbGUtc2VydmVyL3JzL2Zvcm0vcHJvY2Vzcy8iICsgImNvbS5zYW1wbGUuZXZh
bHVhdGlvbiI8YnIvPiYjMTYwOyYjMTYwOyYjMTYwOyArICIvY29tcGxldGUiKTs8YnIvPiYjMTYw
OyBJbnB1dFN0cmVhbVJlYWRlciBpbnB1dFN0cmVhbVJlYWRlciA9IG51bGw7PGJyLz4mIzE2MDsg
QnVmZmVyZWRSZWFkZXIgYnVmZmVyZWRSZWFkZXIgPSBudWxsOzwvcD48cD4mIzE2MDsgdHJ5IHs8
YnIvPiYjMTYwOyYjMTYwOyBVcmxFbmNvZGVkRm9ybUVudGl0eSBlbnRpdHkgPSBuZXcgVXJsRW5j
b2RlZEZvcm1FbnRpdHkoZm9ybXBhcmFtcyw8YnIvPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAi
VVRGLTgiKTsvLyBVcmxFbmNvZGVkRm9ybUVudGl0eShmb3JtcGFyYW1zLDxici8+JiMxNjA7JiMx
NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IC8vICJtdWx0aXBhcnQvZm9ybS1kYXRh
Iik7IDxici8+JiMxNjA7JiMxNjA7IDxici8+JiMxNjA7JiMxNjA7IGh0dHBQb3N0LnNldEVudGl0
eShlbnRpdHkpOzxici8+JiMxNjA7JiMxNjA7IEh0dHBSZXNwb25zZSByZXNwb25zZSA9IGh0dHBD
bGllbnQuZXhlY3V0ZShodHRwUG9zdCk7PGJyLz4mIzE2MDsmIzE2MDsgSW5wdXRTdHJlYW0gaW5w
dXRTdHJlYW0gPSByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRDb250ZW50KCk7PGJyLz4mIzE2MDsm
IzE2MDsgaW5wdXRTdHJlYW1SZWFkZXIgPSBuZXcgSW5wdXRTdHJlYW1SZWFkZXIoaW5wdXRTdHJl
YW0pOzxici8+JiMxNjA7JiMxNjA7IGJ1ZmZlcmVkUmVhZGVyID0gbmV3IEJ1ZmZlcmVkUmVhZGVy
KGlucHV0U3RyZWFtUmVhZGVyKTs8YnIvPiYjMTYwOyYjMTYwOyBTdHJpbmdCdWlsZGVyIHN0cmlu
Z0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpOzxici8+JiMxNjA7JiMxNjA7IFN0cmluZyBs
aW5lID0gYnVmZmVyZWRSZWFkZXIucmVhZExpbmUoKTs8YnIvPiYjMTYwOyYjMTYwOyB3aGlsZSAo
bGluZSAhPSBudWxsKSB7PGJyLz4mIzE2MDsmIzE2MDsmIzE2MDsgc3RyaW5nQnVpbGRlci5hcHBl
bmQobGluZSk7PGJyLz4mIzE2MDsmIzE2MDsmIzE2MDsgbGluZSA9IGJ1ZmZlcmVkUmVhZGVyLnJl
YWRMaW5lKCk7PGJyLz4mIzE2MDsmIzE2MDsgfTxici8+JiMxNjA7JiMxNjA7IHJlc3BvbnNlU3Ry
aW5nID0gc3RyaW5nQnVpbGRlci50b1N0cmluZygpOzxici8+JiMxNjA7IH0gY2F0Y2ggKEV4Y2Vw
dGlvbiBlKSB7PGJyLz4mIzE2MDsmIzE2MDsgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oZSk7
PGJyLz4mIzE2MDsgfSBmaW5hbGx5IHs8YnIvPiYjMTYwOyYjMTYwOyBpZiAoaW5wdXRTdHJlYW1S
ZWFkZXIgIT0gbnVsbCkgezxici8+JiMxNjA7JiMxNjA7JiMxNjA7IHRyeSB7PGJyLz4mIzE2MDsm
IzE2MDsmIzE2MDsmIzE2MDsgaW5wdXRTdHJlYW1SZWFkZXIuY2xvc2UoKTs8YnIvPiYjMTYwOyYj
MTYwOyYjMTYwOyB9IGNhdGNoIChFeGNlcHRpb24gZSkgezxici8+JiMxNjA7JiMxNjA7JiMxNjA7
JiMxNjA7IHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKGUpOzxici8+JiMxNjA7JiMxNjA7JiMx
NjA7IH08YnIvPiYjMTYwOyYjMTYwOyB9PGJyLz4mIzE2MDsmIzE2MDsgaWYgKGJ1ZmZlcmVkUmVh
ZGVyICE9IG51bGwpIHs8YnIvPiYjMTYwOyYjMTYwOyYjMTYwOyB0cnkgezxici8+JiMxNjA7JiMx
NjA7JiMxNjA7JiMxNjA7IGJ1ZmZlcmVkUmVhZGVyLmNsb3NlKCk7PGJyLz4mIzE2MDsmIzE2MDsm
IzE2MDsgfSBjYXRjaCAoRXhjZXB0aW9uIGUpIHs8YnIvPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw
OyB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbihlKTs8YnIvPiYjMTYwOyYjMTYwOyYjMTYwOyB9
PGJyLz4mIzE2MDsmIzE2MDsgfTxici8+JiMxNjA7IH08L3A+PHA+JiMxNjA7IHJldHVybiByZXNw
b25zZVN0cmluZzs8YnIvPiB9PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDog
OHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsg
aGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5hbmQgSSBnb3QgdGhpcyBl
cnJvcjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzog
MHB4OyI+JiMxNjA7PC9wPjxwPiZsdDtodG1sJmd0OyZsdDtoZWFkJmd0OyZsdDt0aXRsZSZndDtK
Qm9zcyBXZWIvNy4wLjEuRmluYWwgLSBFcnJvciByZXBvcnQmbHQ7L3RpdGxlJmd0OyZsdDtzdHls
ZSZndDsmbHQ7IS0tSDEge2ZvbnQtZmFtaWx5OlRhaG9tYSxBcmlhbCxzYW5zLXNlcmlmO2NvbG9y
OndoaXRlO2JhY2tncm91bmQtY29sb3I6IzUyNUQ3Njtmb250LXNpemU6MjJweDt9IEgyIHtmb250
LWZhbWlseTpUYWhvbWEsQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNv
bG9yOiM1MjVENzY7Zm9udC1zaXplOjE2cHg7fSBIMyB7Zm9udC1mYW1pbHk6VGFob21hLEFyaWFs
LHNhbnMtc2VyaWY7Y29sb3I6d2hpdGU7YmFja2dyb3VuZC1jb2xvcjojNTI1RDc2O2ZvbnQtc2l6
ZToxNHB4O30gQk9EWSB7Zm9udC1mYW1pbHk6VGFob21hLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6
YmxhY2s7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTt9IEIge2ZvbnQtZmFtaWx5OlRhaG9tYSxBcmlh
bCxzYW5zLXNlcmlmO2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6IzUyNUQ3Njt9IFAge2Zv
bnQtZmFtaWx5OlRhaG9tYSxBcmlhbCxzYW5zLXNlcmlmO2JhY2tncm91bmQ6d2hpdGU7Y29sb3I6
YmxhY2s7Zm9udC1zaXplOjEycHg7fUEge2NvbG9yIDogYmxhY2s7fUEubmFtZSB7Y29sb3IgOiBi
bGFjazt9SFIge2NvbG9yIDogIzUyNUQ3Njt9LS0mZ3Q7Jmx0Oy9zdHlsZSZndDsgJmx0Oy9oZWFk
Jmd0OyZsdDtib2R5Jmd0OyZsdDtoMSZndDtIVFRQIFN0YXR1cyA1MDAgLSAmbHQ7L2gxJmd0OyZs
dDtIUiBzaXplPSIxIiBub3NoYWRlPSJub3NoYWRlIiZndDsmbHQ7cCZndDsmbHQ7YiZndDt0eXBl
Jmx0Oy9iJmd0OyBFeGNlcHRpb24gcmVwb3J0Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtiJmd0O21l
c3NhZ2UmbHQ7L2ImZ3Q7ICZsdDt1Jmd0OyZsdDsvdSZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0
O2ImZ3Q7ZGVzY3JpcHRpb24mbHQ7L2ImZ3Q7ICZsdDt1Jmd0O1RoZSBzZXJ2ZXIgZW5jb3VudGVy
ZWQgYW4gaW50ZXJuYWwgZXJyb3IgKCkgdGhhdCBwcmV2ZW50ZWQgaXQgZnJvbSBmdWxmaWxsaW5n
IHRoaXMgcmVxdWVzdC4mbHQ7L3UmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtiJmd0O2V4Y2Vw
dGlvbiZsdDsvYiZndDsgJmx0O3ByZSZndDtvcmcuamJvc3MucmVzdGVhc3kuc3BpLlVuaGFuZGxl
ZEV4Y2VwdGlvbjogamF2YS5sYW5nLlJ1bnRpbWVFeGNlcHRpb246IFRpbWVvdXQgOiB1bmFibGUg
dG8gcmV0cmlldmUgVGFzayBvcmcuamJvc3MucmVzdGVhc3kuY29yZS5TeW5jaHJvbm91c0Rpc3Bh
dGNoZXIudW53cmFwRXhjZXB0aW9uKFN5bmNocm9ub3VzRGlzcGF0Y2hlci5qYXZhOjM0NSkgb3Jn
Lmpib3NzLnJlc3RlYXN5LmNvcmUuU3luY2hyb25vdXNEaXNwYXRjaGVyLmhhbmRsZUFwcGxpY2F0
aW9uRXhjZXB0aW9uKFN5bmNocm9ub3VzRGlzcGF0Y2hlci5qYXZhOjMyMSkgb3JnLmpib3NzLnJl
c3RlYXN5LmNvcmUuU3luY2hyb25vdXNEaXNwYXRjaGVyLmhhbmRsZUV4Y2VwdGlvbihTeW5jaHJv
bm91c0Rpc3BhdGNoZXIuamF2YToyMTQpIG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlN5bmNocm9u
b3VzRGlzcGF0Y2hlci5oYW5kbGVJbnZva2VyRXhjZXB0aW9uKFN5bmNocm9ub3VzRGlzcGF0Y2hl
ci5qYXZhOjE5MCkgb3JnLmpib3NzLnJlc3RlYXN5LmNvcmUuU3luY2hyb25vdXNEaXNwYXRjaGVy
LmdldFJlc3BvbnNlKFN5bmNocm9ub3VzRGlzcGF0Y2hlci5qYXZhOjUzNCkgb3JnLmpib3NzLnJl
c3RlYXN5LmNvcmUuU3luY2hyb25vdXNEaXNwYXRjaGVyLmludm9rZShTeW5jaHJvbm91c0Rpc3Bh
dGNoZXIuamF2YTo0OTYpIG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlN5bmNocm9ub3VzRGlzcGF0
Y2hlci5pbnZva2UoU3luY2hyb25vdXNEaXNwYXRjaGVyLmphdmE6MTE5KSBvcmcuamJvc3MucmVz
dGVhc3kucGx1Z2lucy5zZXJ2ZXIuc2VydmxldC5TZXJ2bGV0Q29udGFpbmVyRGlzcGF0Y2hlci5z
ZXJ2aWNlKFNlcnZsZXRDb250YWluZXJEaXNwYXRjaGVyLmphdmE6MjA4KSBvcmcuamJvc3MucmVz
dGVhc3kucGx1Z2lucy5zZXJ2ZXIuc2VydmxldC5IdHRwU2VydmxldERpc3BhdGNoZXIuc2Vydmlj
ZShIdHRwU2VydmxldERpc3BhdGNoZXIuamF2YTo1NSkgb3JnLmpib3NzLnJlc3RlYXN5LnBsdWdp
bnMuc2VydmVyLnNlcnZsZXQuSHR0cFNlcnZsZXREaXNwYXRjaGVyLnNlcnZpY2UoSHR0cFNlcnZs
ZXREaXNwYXRjaGVyLmphdmE6NTApIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldC5zZXJ2
aWNlKEh0dHBTZXJ2bGV0LmphdmE6ODQ3KSBvcmcuamJvc3MuYnBtLmNvbnNvbGUuc2VydmVyLnV0
aWwuR1dUSnNvbkZpbHRlci5kb0ZpbHRlcihHV1RKc29uRmlsdGVyLmphdmE6NTkpJmx0Oy9wcmUm
Z3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtiJmd0O3Jvb3QgY2F1c2UmbHQ7L2ImZ3Q7ICZsdDtw
cmUmZ3Q7amF2YS5sYW5nLlJ1bnRpbWVFeGNlcHRpb246IFRpbWVvdXQgOiB1bmFibGUgdG8gcmV0
cmlldmUgVGFzayBvcmcuamJwbS50YXNrLnNlcnZpY2UucmVzcG9uc2VoYW5kbGVycy5CbG9ja2lu
Z0dldFRhc2tSZXNwb25zZUhhbmRsZXIuZ2V0VGFzayhCbG9ja2luZ0dldFRhc2tSZXNwb25zZUhh
bmRsZXIuamF2YTo0MSkgb3JnLmpicG0udGFzay5zZXJ2aWNlLlN5bmNUYXNrU2VydmljZVdyYXBw
ZXIuZ2V0VGFzayhTeW5jVGFza1NlcnZpY2VXcmFwcGVyLmphdmE6MzY5KSBvcmcuamJwbS5pbnRl
Z3JhdGlvbi5jb25zb2xlLmZvcm1zLlRhc2tGb3JtRGlzcGF0Y2hlci5wcm92aWRlRm9ybShUYXNr
Rm9ybURpc3BhdGNoZXIuamF2YTo2NCkgb3JnLmpicG0uaW50ZWdyYXRpb24uY29uc29sZS5mb3Jt
cy5Gb3JtRGlzcGF0Y2hlckNvbXBvc2l0ZS5wcm92aWRlRm9ybShGb3JtRGlzcGF0Y2hlckNvbXBv
c2l0ZS5qYXZhOjUwKSBvcmcuamJvc3MuYnBtLmNvbnNvbGUuc2VydmVyLkZvcm1Qcm9jZXNzaW5n
RmFjYWRlLnByb3ZpZGVGb3JtKEZvcm1Qcm9jZXNzaW5nRmFjYWRlLmphdmE6MjA1KSBvcmcuamJv
c3MuYnBtLmNvbnNvbGUuc2VydmVyLkZvcm1Qcm9jZXNzaW5nRmFjYWRlLnJlbmRlclRhc2tVSShG
b3JtUHJvY2Vzc2luZ0ZhY2FkZS5qYXZhOjEyNykgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9k
QWNjZXNzb3IxMDEuaW52b2tlKFVua25vd24gU291cmNlKSBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5n
TWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmph
dmE6MjUpIGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTk3KSBv
cmcuamJvc3MucmVzdGVhc3kuY29yZS5NZXRob2RJbmplY3RvckltcGwuaW52b2tlKE1ldGhvZElu
amVjdG9ySW1wbC5qYXZhOjE0MCkgb3JnLmpib3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VNZXRo
b2QuaW52b2tlT25UYXJnZXQoUmVzb3VyY2VNZXRob2QuamF2YToyNTUpIG9yZy5qYm9zcy5yZXN0
ZWFzeS5jb3JlLlJlc291cmNlTWV0aG9kLmludm9rZShSZXNvdXJjZU1ldGhvZC5qYXZhOjIyMCkg
b3JnLmpib3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VNZXRob2QuaW52b2tlKFJlc291cmNlTWV0
aG9kLmphdmE6MjA5KSBvcmcuamJvc3MucmVzdGVhc3kuY29yZS5TeW5jaHJvbm91c0Rpc3BhdGNo
ZXIuZ2V0UmVzcG9uc2UoU3luY2hyb25vdXNEaXNwYXRjaGVyLmphdmE6NTE5KSBvcmcuamJvc3Mu
cmVzdGVhc3kuY29yZS5TeW5jaHJvbm91c0Rpc3BhdGNoZXIuaW52b2tlKFN5bmNocm9ub3VzRGlz
cGF0Y2hlci5qYXZhOjQ5Nikgb3JnLmpib3NzLnJlc3RlYXN5LmNvcmUuU3luY2hyb25vdXNEaXNw
YXRjaGVyLmludm9rZShTeW5jaHJvbm91c0Rpc3BhdGNoZXIuamF2YToxMTkpIG9yZy5qYm9zcy5y
ZXN0ZWFzeS5wbHVnaW5zLnNlcnZlci5zZXJ2bGV0LlNlcnZsZXRDb250YWluZXJEaXNwYXRjaGVy
LnNlcnZpY2UoU2VydmxldENvbnRhaW5lckRpc3BhdGNoZXIuamF2YToyMDgpIG9yZy5qYm9zcy5y
ZXN0ZWFzeS5wbHVnaW5zLnNlcnZlci5zZXJ2bGV0Lkh0dHBTZXJ2bGV0RGlzcGF0Y2hlci5zZXJ2
aWNlKEh0dHBTZXJ2bGV0RGlzcGF0Y2hlci5qYXZhOjU1KSBvcmcuamJvc3MucmVzdGVhc3kucGx1
Z2lucy5zZXJ2ZXIuc2VydmxldC5IdHRwU2VydmxldERpc3BhdGNoZXIuc2VydmljZShIdHRwU2Vy
dmxldERpc3BhdGNoZXIuamF2YTo1MCkgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNl
cnZpY2UoSHR0cFNlcnZsZXQuamF2YTo4NDcpIG9yZy5qYm9zcy5icG0uY29uc29sZS5zZXJ2ZXIu
dXRpbC5HV1RKc29uRmlsdGVyLmRvRmlsdGVyKEdXVEpzb25GaWx0ZXIuamF2YTo1OSkmbHQ7L3By
ZSZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O2ImZ3Q7bm90ZSZsdDsvYiZndDsgJmx0O3UmZ3Q7
VGhlIGZ1bGwgc3RhY2sgdHJhY2Ugb2YgdGhlIHJvb3QgY2F1c2UgaXMgYXZhaWxhYmxlIGluIHRo
ZSBKQm9zcyBXZWIvNy4wLjEuRmluYWwgbG9ncy4mbHQ7L3UmZ3Q7Jmx0Oy9wJmd0OyZsdDtIUiBz
aXplPSIxIiBub3NoYWRlPSJub3NoYWRlIiZndDsmbHQ7aDMmZ3Q7SkJvc3MgV2ViLzcuMC4xLkZp
bmFsJmx0Oy9oMyZndDsmbHQ7L2JvZHkmZ3Q7Jmx0Oy9odG1sJmd0OzwvcD48L2Rpdj4KCjxkaXYg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IHBhZGRpbmc6IDEwcHg7IG1hcmdpbi10
b3A6IDIwcHg7Ij4KICAgIDxwIHN0eWxlPSJtYXJnaW46IDA7Ij5SZXBseSB0byB0aGlzIG1lc3Nh
Z2UgYnkgPGEgaHJlZj0iaHR0cHM6Ly9jb21tdW5pdHkuamJvc3Mub3JnL21lc3NhZ2UvNzUyNzk2
Izc1Mjc5NiI+Z29pbmcgdG8gQ29tbXVuaXR5PC9hPjwvcD4KCTxwIHN0eWxlPSJtYXJnaW46IDA7
Ij5TdGFydCBhIG5ldyBkaXNjdXNzaW9uIGluIGpCUE0gYXQgPGEgaHJlZj0iaHR0cHM6Ly9jb21t
dW5pdHkuamJvc3Mub3JnL2Nob29zZS1jb250YWluZXIhaW5wdXQuanNwYT9jb250ZW50VHlwZT0x
JmNvbnRhaW5lclR5cGU9MTQmY29udGFpbmVyPTIwMzQiPkNvbW11bml0eTwvYT48L3A+CjwvZGl2
PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAg
PC90Ym9keT4KICAgICAgICAgICAgICAgIDwvdGFibGU+CgoKICAgICAgICAgICAgICAgIDwvdGQ+
CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90Ym9keT4KICAgIDwvdGFibGU+Cgo8L2Rpdj4K
CjwvYm9keT4KPC9odG1sPg==
--===============4836555587293809784==--