[xgws-user] WSIF Dyn. Invoker with Axis2

Andre P. andre.p.piazza_at_gmail.com
Thu, 16 Nov 2006 16:12:33 -0200


------=_Part_75620_4229172.1163700753281
Content-Type: multipart/alternative; 
	boundary="----=_Part_75621_11415264.1163700753281"

------=_Part_75621_11415264.1163700753281
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello Alek!!! Thanks (again) for the answer!!!
I'm pretty confused with this Axis2 stuff ! Yes, that AddService was not
including the right input parameters! I'll send that to axis-dev!
But now I created now a really simple service, and even this one is getting
a fault, and I'm not finding the problem in the WSDL (it seems fine to me, i
altered). It seems that XSUL is not dealing with some WS-Addressing tags!
I'm attaching it to you, including the messages I get from the xsul tracer!

THANK YOU very much for any help!!!

Best regards!

Andre

On 11/14/06, Aleksander Slominski <aslom_at_cs.indiana.edu> wrote:
>
> Andre P. wrote:
> > Hello list!
> >
> > Has anybody worked with XSUL Dynamic Invoker with Axis2, and faced
> > some problems when invoking the SOAP (and not the REST :) services?
> > I used to work with Axis 1, and everything works fine with Dyn.
> > Invoker, but I seems that there is a lot of differences between Axis 1
> > and 2.
> > I tried to change in the services.xml the class
> > org.apache.axis2.rpc.receivers.RPCMessageReceiver to
> > org.apache.axis2.receivers.RawXMLINOutMessageReceiver but I didn't
> > work too.
> >
> > Anyone experienced the same problems? I guess maybe it's something in
> > the code of my service, so I'm attaching it, with also the WSDL
> > (auto-generated by AXIS2), and my .AAR file (that I deployed in Axis2).
> your WSDL does nto really corresppond to code in MyAddService (which
> expects two elements with string inside that are representing integer
> numbers and returns element called "result" not "return" and type of
> element should be xsd:int not anyType
>
> you should send this question to axis-dev.
>
> best,
>
> alek
> >
> > Thanks in advance for any help!
> >
> > Best regards,
> >
> > Andre
> >
> > ------------------------------------------------------------------------
> >
> > <wsdl:definitions targetNamespace="http://ws.apache.org/axis2">
> > <wsdl:documentation>AddService</wsdl:documentation>
> >
> > <wsdl:types>
> >
> >       <xs:schema attributeFormDefault="qualified"
> elementFormDefault="qualified" targetNamespace="
> http://ws.apache.org/axis2/xsd">
> >
> >       <xs:element name="add">
> >
> >       <xs:complexType>
> >
> >       <xs:sequence>
> > <xs:element name="param0" nillable="true" type="xs:anyType"/>
> > </xs:sequence>
> > </xs:complexType>
> > </xs:element>
> >
> >       <xs:element name="addResponse">
> >
> >       <xs:complexType>
> >
> >       <xs:sequence>
> > <xs:element name="return" nillable="true" type="xs:anyType"/>
> > </xs:sequence>
> > </xs:complexType>
> > </xs:element>
> > </xs:schema>
> > </wsdl:types>
> >
> >       <wsdl:message name="addMessage">
> > <wsdl:part name="part1" element="ns0:add"/>
> > </wsdl:message>
> >
> >       <wsdl:message name="addResponse">
> > <wsdl:part name="part1" element="ns0:addResponse"/>
> > </wsdl:message>
> >
> >       <wsdl:portType name="AddServicePortType">
> >
> >       <wsdl:operation name="add">
> > <wsdl:input message="axis2:addMessage" wsaw:Action="urn:add"/>
> > <wsdl:output message="axis2:addResponse"/>
> > </wsdl:operation>
> > </wsdl:portType>
> >
> >       <wsdl:binding name="AddServiceSOAP11Binding"
> type="axis2:AddServicePortType">
> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
> >
> >       <wsdl:operation name="add">
> > <soap:operation soapAction="urn:add" style="document"/>
> >
> >       <wsdl:input>
> > <soap:body use="literal"/>
> > </wsdl:input>
> >
> >       <wsdl:output>
> > <soap:body use="literal"/>
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> >
> >       <wsdl:binding name="AddServiceSOAP12Binding"
> type="axis2:AddServicePortType">
> > <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
> >
> >       <wsdl:operation name="add">
> > <soap12:operation soapAction="urn:add" style="document"/>
> >
> >       <wsdl:input>
> > <soap12:body use="literal"/>
> > </wsdl:input>
> >
> >       <wsdl:output>
> > <soap12:body use="literal"/>
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> >
> >       <wsdl:binding name="AddServiceHttpBinding"
> type="axis2:AddServicePortType">
> > <http:binding verb="POST"/>
> >
> >       <wsdl:operation name="add">
> > <http:operation location="add"/>
> >
> >       <wsdl:input>
> > <mime:content type="text/xml"/>
> > </wsdl:input>
> >
> >       <wsdl:output>
> > <mime:content type="text/xml"/>
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> >
> > <wsdl:service name="AddService">
> >
> > <wsdl:port name="AddServiceSOAP11port_http"
> binding="axis2:AddServiceSOAP11Binding">
> > <soap:address location="http://localhost:8080/axis2/services/AddService
> "/>
> > </wsdl:port>
> >
> > <wsdl:port name="AddServiceSOAP12port_http"
> binding="axis2:AddServiceSOAP12Binding">
> > <soap12:address location="
> http://localhost:8080/axis2/services/AddService"/>
> > </wsdl:port>
> >
> > <wsdl:port name="AddServiceHttpport1"
> binding="axis2:AddServiceHttpBinding">
> > <http:address location="http://localhost:8080/axis2/rest/AddService"/>
> > </wsdl:port>
> > </wsdl:service>
> > </wsdl:definitions>
> > ------------------------------------------------------------------------
> >
> > import java.util.Iterator;
> > import org.apache.axiom.om.*;
> >
> > public class MyAddService
> > {
> >
> >     public MyAddService()
> >     {
> >     }
> >
> >     public OMElement add(OMElement omelement)
> >     {
> >         Iterator iterator = omelement.getChildElements();
> >         String s = ((OMElement)iterator.next()).getText();
> >         String s1 = ((OMElement)iterator.next()).getText();
> >         int i = Integer.parseInt(s);
> >         int j = Integer.parseInt(s1);
> >         int k = i + j;
> >         OMFactory omfactory = OMAbstractFactory.getOMFactory();
> >         org.apache.axiom.om.OMNamespace omnamespace =
> omfactory.createOMNamespace("http://axis2/test/namespace1", "ns1");
> >         OMElement omelement1 = omfactory.createOMElement("result",
> omnamespace);
> >         omelement1.setText(Integer.toString(k));
> >         return omelement1;
> >     }
> > }
>
>
> --
> The best way to predict the future is to invent it - Alan Kay
>
>

------=_Part_75621_11415264.1163700753281
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello Alek!!! Thanks (again) for the answer!!!<br>I'm pretty confused with this Axis2 stuff ! Yes, that AddService was not including the right input parameters! I'll send that to axis-dev!<br>But now I created now a really simple service, and even this one is getting a fault, and I'm not finding the problem in the WSDL (it seems fine to me, i altered). It seems that XSUL is not dealing with some WS-Addressing tags!
<br>I'm attaching it to you, including the messages I get from the xsul tracer!<br><br>THANK YOU very much for any help!!!<br><br>Best regards!<br><br>Andre<br><br><div><span class="gmail_quote">On 11/14/06, <b class="gmail_sendername">
Aleksander Slominski</b> &lt;<a href="mailto:aslom_at_cs.indiana.edu">aslom_at_cs.indiana.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Andre P. wrote:<br>&gt; Hello list!<br>&gt;<br>&gt; Has anybody worked with XSUL Dynamic Invoker with Axis2, and faced<br>&gt; some problems when invoking the SOAP (and not the REST :) services?<br>&gt; I used to work with Axis 1, and everything works fine with Dyn.
<br>&gt; Invoker, but I seems that there is a lot of differences between Axis 1<br>&gt; and 2.<br>&gt; I tried to change in the services.xml the class<br>&gt; org.apache.axis2.rpc.receivers.RPCMessageReceiver to<br>&gt; org.apache.axis2.receivers.RawXMLINOutMessageReceiver
 but I didn't<br>&gt; work too.<br>&gt;<br>&gt; Anyone experienced the same problems? I guess maybe it's something in<br>&gt; the code of my service, so I'm attaching it, with also the WSDL<br>&gt; (auto-generated by AXIS2), and my .AAR file (that I deployed in Axis2).
<br>your WSDL does nto really corresppond to code in MyAddService (which<br>expects two elements with string inside that are representing integer<br>numbers and returns element called &quot;result&quot; not &quot;return&quot; and type of
<br>element should be xsd:int not anyType<br><br>you should send this question to axis-dev.<br><br>best,<br><br>alek<br>&gt;<br>&gt; Thanks in advance for any help!<br>&gt;<br>&gt; Best regards,<br>&gt;<br>&gt; Andre<br>&gt;
<br>&gt; ------------------------------------------------------------------------<br>&gt;<br>&gt; &lt;wsdl:definitions targetNamespace=&quot;<a href="http://ws.apache.org/axis2">http://ws.apache.org/axis2</a>&quot;&gt;<br>
&gt; &lt;wsdl:documentation&gt;AddService&lt;/wsdl:documentation&gt;<br>&gt;<br>&gt; &lt;wsdl:types&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:schema attributeFormDefault=&quot;qualified&quot; elementFormDefault=&quot;qualified&quot; targetNamespace=&quot;
<a href="http://ws.apache.org/axis2/xsd">http://ws.apache.org/axis2/xsd</a>&quot;&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:element name=&quot;add&quot;&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:complexType&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:sequence&gt;
<br>&gt; &lt;xs:element name=&quot;param0&quot; nillable=&quot;true&quot; type=&quot;xs:anyType&quot;/&gt;<br>&gt; &lt;/xs:sequence&gt;<br>&gt; &lt;/xs:complexType&gt;<br>&gt; &lt;/xs:element&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:element name=&quot;addResponse&quot;&gt;
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:complexType&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:sequence&gt;<br>&gt; &lt;xs:element name=&quot;return&quot; nillable=&quot;true&quot; type=&quot;xs:anyType&quot;/&gt;<br>&gt; &lt;/xs:sequence&gt;
<br>&gt; &lt;/xs:complexType&gt;<br>&gt; &lt;/xs:element&gt;<br>&gt; &lt;/xs:schema&gt;<br>&gt; &lt;/wsdl:types&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:message name=&quot;addMessage&quot;&gt;<br>&gt; &lt;wsdl:part name=&quot;part1&quot; element=&quot;ns0:add&quot;/&gt;
<br>&gt; &lt;/wsdl:message&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:message name=&quot;addResponse&quot;&gt;<br>&gt; &lt;wsdl:part name=&quot;part1&quot; element=&quot;ns0:addResponse&quot;/&gt;<br>&gt; &lt;/wsdl:message&gt;<br>
&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:portType name=&quot;AddServicePortType&quot;&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:operation name=&quot;add&quot;&gt;<br>&gt; &lt;wsdl:input message=&quot;axis2:addMessage&quot; wsaw:Action=&quot;urn:add&quot;/&gt;
<br>&gt; &lt;wsdl:output message=&quot;axis2:addResponse&quot;/&gt;<br>&gt; &lt;/wsdl:operation&gt;<br>&gt; &lt;/wsdl:portType&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:binding name=&quot;AddServiceSOAP11Binding&quot; type=&quot;axis2:AddServicePortType&quot;&gt;
<br>&gt; &lt;soap:binding transport=&quot;<a href="http://schemas.xmlsoap.org/soap/http">http://schemas.xmlsoap.org/soap/http</a>&quot; style=&quot;document&quot;/&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:operation name=&quot;add&quot;&gt;
<br>&gt; &lt;soap:operation soapAction=&quot;urn:add&quot; style=&quot;document&quot;/&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:input&gt;<br>&gt; &lt;soap:body use=&quot;literal&quot;/&gt;<br>&gt; &lt;/wsdl:input&gt;<br>&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:output&gt;<br>&gt; &lt;soap:body use=&quot;literal&quot;/&gt;<br>&gt; &lt;/wsdl:output&gt;<br>&gt; &lt;/wsdl:operation&gt;<br>&gt; &lt;/wsdl:binding&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:binding name=&quot;AddServiceSOAP12Binding&quot; type=&quot;axis2:AddServicePortType&quot;&gt;
<br>&gt; &lt;soap12:binding transport=&quot;<a href="http://schemas.xmlsoap.org/soap/http">http://schemas.xmlsoap.org/soap/http</a>&quot; style=&quot;document&quot;/&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:operation name=&quot;add&quot;&gt;
<br>&gt; &lt;soap12:operation soapAction=&quot;urn:add&quot; style=&quot;document&quot;/&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:input&gt;<br>&gt; &lt;soap12:body use=&quot;literal&quot;/&gt;<br>&gt; &lt;/wsdl:input&gt;<br>&gt;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:output&gt;<br>&gt; &lt;soap12:body use=&quot;literal&quot;/&gt;<br>&gt; &lt;/wsdl:output&gt;<br>&gt; &lt;/wsdl:operation&gt;<br>&gt; &lt;/wsdl:binding&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:binding name=&quot;AddServiceHttpBinding&quot; type=&quot;axis2:AddServicePortType&quot;&gt;
<br>&gt; &lt;http:binding verb=&quot;POST&quot;/&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:operation name=&quot;add&quot;&gt;<br>&gt; &lt;http:operation location=&quot;add&quot;/&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:input&gt;<br>&gt; &lt;mime:content type=&quot;text/xml&quot;/&gt;
<br>&gt; &lt;/wsdl:input&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;wsdl:output&gt;<br>&gt; &lt;mime:content type=&quot;text/xml&quot;/&gt;<br>&gt; &lt;/wsdl:output&gt;<br>&gt; &lt;/wsdl:operation&gt;<br>&gt; &lt;/wsdl:binding&gt;<br>
&gt;<br>&gt; &lt;wsdl:service name=&quot;AddService&quot;&gt;<br>&gt;<br>&gt; &lt;wsdl:port name=&quot;AddServiceSOAP11port_http&quot; binding=&quot;axis2:AddServiceSOAP11Binding&quot;&gt;<br>&gt; &lt;soap:address location=&quot;
<a href="http://localhost:8080/axis2/services/AddService">http://localhost:8080/axis2/services/AddService</a>&quot;/&gt;<br>&gt; &lt;/wsdl:port&gt;<br>&gt;<br>&gt; &lt;wsdl:port name=&quot;AddServiceSOAP12port_http&quot; binding=&quot;axis2:AddServiceSOAP12Binding&quot;&gt;
<br>&gt; &lt;soap12:address location=&quot;<a href="http://localhost:8080/axis2/services/AddService">http://localhost:8080/axis2/services/AddService</a>&quot;/&gt;<br>&gt; &lt;/wsdl:port&gt;<br>&gt;<br>&gt; &lt;wsdl:port name=&quot;AddServiceHttpport1&quot; binding=&quot;axis2:AddServiceHttpBinding&quot;&gt;
<br>&gt; &lt;http:address location=&quot;<a href="http://localhost:8080/axis2/rest/AddService">http://localhost:8080/axis2/rest/AddService</a>&quot;/&gt;<br>&gt; &lt;/wsdl:port&gt;<br>&gt; &lt;/wsdl:service&gt;<br>&gt; &lt;/wsdl:definitions&gt;
<br>&gt; ------------------------------------------------------------------------<br>&gt;<br>&gt; import java.util.Iterator;<br>&gt; import org.apache.axiom.om.*;<br>&gt;<br>&gt; public class MyAddService<br>&gt; {<br>&gt;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; public MyAddService()<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; public OMElement add(OMElement omelement)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Iterator iterator = omelement.getChildElements();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String s = ((OMElement)iterator.next()).getText();
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String s1 = ((OMElement)iterator.next()).getText();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = Integer.parseInt(s);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int j = Integer.parseInt(s1);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int k = i + j;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OMFactory omfactory = 
OMAbstractFactory.getOMFactory();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.axiom.om.OMNamespace omnamespace = omfactory.createOMNamespace(&quot;<a href="http://axis2/test/namespace1">http://axis2/test/namespace1</a>&quot;, &quot;ns1&quot;);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OMElement omelement1 = omfactory.createOMElement(&quot;result&quot;, omnamespace);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; omelement1.setText(Integer.toString(k));<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return omelement1;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt; }<br><br>
<br>--<br>The best way to predict the future is to invent it - Alan Kay<br><br></blockquote></div><br>

------=_Part_75621_11415264.1163700753281--

------=_Part_75620_4229172.1163700753281
Content-Type: text/java; name=Test.java; charset=ANSI_X3.4-1968
Content-Transfer-Encoding: base64
X-Attachment-Id: f_eulhe3wr
Content-Disposition: attachment; filename="Test.java"

cHVibGljIGNsYXNzIFRlc3Qgew0KICAgICAgICBwdWJsaWMgU3RyaW5nIGRvVGVzdCAoKSB0aHJv
d3MgRXhjZXB0aW9uIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIlRlc3RlZCBPSyEiOw0KICAg
ICAgICB9DQp9
------=_Part_75620_4229172.1163700753281
Content-Type: text/plain; name=Test_XSULTracer.txt; charset=ANSI_X3.4-1968
Content-Transfer-Encoding: base64
X-Attachment-Id: f_eulhe92j
Content-Disposition: attachment; filename="Test_XSULTracer.txt"

TUxvZ2dlciAkUmV2aXNpb246IDEuOCAkICREYXRlOiAyMDA1LzAyLzE2IDA1OjUyOjUxICQgKEdN
VCkgY29uZmlndXJlZCBhcyAnOkFMTCcgIChYU1VMIHZlcnNpb24gY29tcGlsZS10aW1lOjIuNy45
IHJ1bnRpbWU6Mi43LjE2KQ0KWyAxNzo0MDoyMC41NjIgbWFpbjogeHN1bC53c2lmLmltcGwuV1NJ
Rk1lc3NhZ2VFbGVtZW50LmphdmE6ODkgYWRkUGxhY2Vob2xkZXJGb3JQYXJhbWV0ZXJzIDVdIGVs
ZW1lbnRQYXJ0UU5hbWU9e2h0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMyL3hzZH1kb1Rlc3RSZXNw
b25zZQ0KWyAxNzo0MDoyMC41NzggbWFpbjogeHN1bC53c2lmLmltcGwuV1NJRk1lc3NhZ2VFbGVt
ZW50LmphdmE6MjUzIGFkZExpc3RPZkVsZW1lbnROYW1lcyAzXSBhZGRpbmcgc2VxdWVuY2UgZWxl
bWVudCB0eXBlIG5hbWU9cmV0dXJuIHR5cGVRTmFtZT17aHR0cDovL3d3dy53My5vcmcvMjAwMS9Y
TUxTY2hlbWF9c3RyaW5nDQpbIDE3OjQwOjIwLjY0MCBtYWluOiB4c3VsLndzaWYuaW1wbC5XU0lG
TWVzc2FnZUVsZW1lbnQuamF2YToyNjAgYWRkTGlzdE9mRWxlbWVudE5hbWVzIDNdIGFkZGluZyBz
ZXF1ZW5jZSBlbGVtZW50IG5hbWU9cmV0dXJuDQpbIDE3OjQwOjIwLjY0MCBtYWluOiB4c3VsLndz
aWYuaW1wbC5XU0lGTWVzc2FnZUVsZW1lbnQuamF2YToxNzggYWRkUGxhY2Vob2xkZXJGb3JQYXJh
bWV0ZXJzIDFdIG5hbWU9cmV0dXJuDQpbIDE3OjQwOjIwLjY0MCBtYWluOiB4c3VsLndzaWYuaW1w
bC5XU0lGTWVzc2FnZUVsZW1lbnQuamF2YToxOTAgYWRkUGxhY2Vob2xkZXJGb3JQYXJhbWV0ZXJz
IDVdIHNwZWNpYWwgbWVzc2FnZUluPTxuMTpkb1Rlc3RSZXNwb25zZSB4bWxuczpuMT0iaHR0cDov
L3dzLmFwYWNoZS5vcmcvYXhpczIveHNkIj48bjE6cmV0dXJuIC8+PC9uMTpkb1Rlc3RSZXNwb25z
ZT4NClsgMTc6NDA6MjAuNjQwIG1haW46IHhzdWwud3NpZi5pbXBsLldTSUZNZXNzYWdlRWxlbWVu
dC5qYXZhOjIwMSBhZGRQbGFjZWhvbGRlckZvclBhcmFtZXRlcnMgNV0gbWVzc2FnZUluPTxuMTpk
b1Rlc3RSZXNwb25zZSB4bWxuczpuMT0iaHR0cDovL3dzLmFwYWNoZS5vcmcvYXhpczIveHNkIj48
bjE6cmV0dXJuIC8+PC9uMTpkb1Rlc3RSZXNwb25zZT4NClsgMTc6NDA6MjAuNjU2IG1haW46IHhz
dWwuaW52b2tlci5odHRwLkh0dHBEeW5hbWljSW5mb3NldEludm9rZXIuamF2YToyNDggaW52b2tl
WG1sIDFdIGhvc3Q9bG9jYWxob3N0IHBvcnQ9ODA4MCBzZWN1cmU9ZmFsc2UNClsgMTc6NDA6MjAu
NjU2IG1haW46IHhzdWwuaHR0cF9jbGllbnQucGxhaW5faW1wbC5QbGFpbkNsaWVudFNvY2tldEZh
Y3RvcnkuamF2YTo0NSBjb25uZWN0IDFdIGNvbm5lY3QgbG9jYWxob3N0OjgwODAgdGltZW91dDoy
NDAwMDANClsgMTc6NDA6MjAuNzM0IG1haW46IHRyYWNlLnhzdWwuaHR0cC5jbGllbnQub3V0IHhz
dWwuaHR0cF9jbGllbnQuSHR0cENsaWVudFJlcXVlc3QuamF2YToyNDQgd3JpdGVIZWFkZXJzIDFd
IFRSQUNFOiBzZW5kaW5nIHJlcXVlc3QgaGVhZGVyczotLS0NClBPU1QgL2F4aXMyL3NlcnZpY2Vz
L1Rlc3RTZXJ2aWNlIEhUVFAvMS4wXHINCkhvc3Q6IGxvY2FsaG9zdDo4MDgwXHINClVzZXItQWdl
bnQ6IFhTVUwvMi43LjE2XHINCkNvbnRlbnQtVHlwZTogdGV4dC94bWw7IGNoYXJzZXQ9dXRmLThc
cg0KQ29udGVudC1MZW5ndGg6IDUyN1xyDQpLZWVwLUFsaXZlOiAzMDBccg0KU09BUEFjdGlvbjog
XCJ1cm46ZG9UZXN0XCJccg0KQ29ubmVjdGlvbjoga2VlcC1hbGl2ZVxyDQpccg0KLS0tDQoNClsg
MTc6NDA6MjAuNzM0IG1haW46IHRyYWNlLnhzdWwuaHR0cC5jbGllbnQub3V0IHhzdWwuaHR0cF9j
bGllbnQuSHR0cENsaWVudFJlcXVlc3QuamF2YToyODQgY2xvc2VSZXF1ZXN0IDFdIFRSQUNFOiBz
ZW5kaW5nIHJlcXVlc3QgYm9keTotLS0NCjw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0
Zi04Jz8+PFM6RW52ZWxvcGUgeG1sbnM6eHNkPSdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj
aGVtYScgeG1sbnM6eHNpPSdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5j
ZScgeG1sbnM6d3NhPSdodHRwOi8vd3d3LnczLm9yZy8yMDA1LzA4L2FkZHJlc3NpbmcnIHhtbG5z
OndzcD0naHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwMi8xMi9wb2xpY3knIHhtbG5z
OlM9J2h0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvJz48UzpIZWFkZXI+
PHdzYTpUbz5odHRwOi8vbG9jYWxob3N0OjgwODAvYXhpczIvc2VydmljZXMvVGVzdFNlcnZpY2U8
L3dzYTpUbz48d3NhOkFjdGlvbj5odHRwOi8vd3MuYXBhY2hlLm9yZy9heGlzMi9UZXN0U2Vydmlj
ZVBvcnRUeXBlL2RvVGVzdDwvd3NhOkFjdGlvbj48L1M6SGVhZGVyPjxTOkJvZHk+PGRvVGVzdE1l
c3NhZ2UgLz48L1M6Qm9keT48L1M6RW52ZWxvcGU+LS0tDQoNClsgMTc6NDA6MjAuNzUwIG1haW46
IHRyYWNlLnhzdWwuaHR0cC5jbGllbnQuaW4geHN1bC5odHRwX2NsaWVudC5IdHRwQ2xpZW50UmVz
cG9uc2UuamF2YToxMTIgcmVhZFN0YXR1c0xpbmUgMV0gSFRUUC8xLjEgNTAwIEludGVybmFsIFNl
cnZlciBFcnJvcg0KWyAxNzo0MDoyMC43NTAgbWFpbjogdHJhY2UueHN1bC5odHRwLmNsaWVudC5p
biB4c3VsLmh0dHBfY2xpZW50Lkh0dHBDbGllbnRSZXNwb25zZS5qYXZhOjIwMCByZWFkSGVhZGVy
cyAxXSBTZXJ2ZXI6IEFwYWNoZS1Db3lvdGUvMS4xDQpbIDE3OjQwOjIwLjc1MCBtYWluOiB0cmFj
ZS54c3VsLmh0dHAuY2xpZW50LmluIHhzdWwuaHR0cF9jbGllbnQuSHR0cENsaWVudFJlc3BvbnNl
LmphdmE6MjAwIHJlYWRIZWFkZXJzIDFdIFNldC1Db29raWU6IEpTRVNTSU9OSUQ9NkIwQTVEQkZE
REI5NDFDQ0YzRTI2Rjg0Njg1QTRBMzM7IFBhdGg9L2F4aXMyDQpbIDE3OjQwOjIwLjc1MCBtYWlu
OiB0cmFjZS54c3VsLmh0dHAuY2xpZW50LmluIHhzdWwuaHR0cF9jbGllbnQuSHR0cENsaWVudFJl
c3BvbnNlLmphdmE6MjAwIHJlYWRIZWFkZXJzIDFdIENvbnRlbnQtVHlwZTogdGV4dC94bWw7Y2hh
cnNldD11dGYtOA0KWyAxNzo0MDoyMC43NTAgbWFpbjogdHJhY2UueHN1bC5odHRwLmNsaWVudC5p
biB4c3VsLmh0dHBfY2xpZW50Lkh0dHBDbGllbnRSZXNwb25zZS5qYXZhOjIwMCByZWFkSGVhZGVy
cyAxXSBEYXRlOiBUaHUsIDE2IE5vdiAyMDA2IDE3OjQyOjA4IEdNVA0KWyAxNzo0MDoyMC43NTAg
bWFpbjogdHJhY2UueHN1bC5odHRwLmNsaWVudC5pbiB4c3VsLmh0dHBfY2xpZW50Lkh0dHBDbGll
bnRSZXNwb25zZS5qYXZhOjIwMCByZWFkSGVhZGVycyAxXSBDb25uZWN0aW9uOiBjbG9zZQ0KWyAx
Nzo0MDoyMC43NTAgbWFpbjogdHJhY2UueHN1bC5odHRwLmNsaWVudC5pbiB4c3VsLmh0dHBfY2xp
ZW50Lkh0dHBDbGllbnRSZXNwb25zZS5qYXZhOjIwMCByZWFkSGVhZGVycyAxXSANClsgMTc6NDA6
MjAuNzUwIG1haW46IHRyYWNlLnhzdWwuaHR0cC5jbGllbnQuaW4geHN1bC5odHRwX2NsaWVudC5I
dHRwQ2xpZW50UmVzcG9uc2UuamF2YTozODkgZ2V0Qm9keUlucHV0U3RyZWFtIDFdIFRSQUNFOiBy
ZWNlaXZlZCByZXNwb25zZTotLS0NCjw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04
Jz8+PHNvYXBlbnY6RW52ZWxvcGUgeG1sbnM6d3NhPVwiaHR0cDovL3d3dy53My5vcmcvMjAwNS8w
OC9hZGRyZXNzaW5nXCIgeG1sbnM6c29hcGVudj1cImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3Jn
L3NvYXAvZW52ZWxvcGUvXCI+PHNvYXBlbnY6SGVhZGVyPjx3c2E6UmVwbHlUbz48d3NhOkFkZHJl
c3M+aHR0cDovL3d3dy53My5vcmcvMjAwNS8wOC9hZGRyZXNzaW5nL25vbmU8L3dzYTpBZGRyZXNz
Pjwvd3NhOlJlcGx5VG8+PHdzYTpNZXNzYWdlSUQ+dXJuOnV1aWQ6OTc0N0VBODk4N0RBM0E4RUI1
MTE2MzY5ODkyODU4Nzc8L3dzYTpNZXNzYWdlSUQ+PHdzYTpBY3Rpb24+aHR0cDovL3d3dy53My5v
cmcvMjAwNS8wOC9hZGRyZXNzaW5nL2ZhdWx0PC93c2E6QWN0aW9uPjx3c2E6RmF1bHREZXRhaWw+
PHdzYTpQcm9ibGVtSGVhZGVyUU5hbWU+d3NhOkFjdGlvbjwvd3NhOlByb2JsZW1IZWFkZXJRTmFt
ZT48L3dzYTpGYXVsdERldGFpbD48L3NvYXBlbnY6SGVhZGVyPjxzb2FwZW52OkJvZHk+PHNvYXBl
bnY6RmF1bHQ+PGZhdWx0Y29kZT53c2E6SW52YWxpZEFkZHJlc3NpbmdIZWFkZXI8L2ZhdWx0Y29k
ZT48ZmF1bHRzdHJpbmc+QSBoZWFkZXIgcmVwcmVzZW50aW5nIGEgTWVzc2FnZSBBZGRyZXNzaW5n
IFByb3BlcnR5IGlzIG5vdCB2YWxpZCBhbmQgdGhlIG1lc3NhZ2UgY2Fubm90IGJlIHByb2Nlc3Nl
ZDwvZmF1bHRzdHJpbmc+PGRldGFpbCAvPjwvc29hcGVudjpGYXVsdD48L3NvYXBlbnY6Qm9keT48
L3NvYXBlbnY6RW52ZWxvcGU+LS0tDQoNClsgMTc6NDA6MjAuNzY1IG1haW46IHhzdWwuaW52b2tl
ci5zb2FwX292ZXJfaHR0cC5Tb2FwSHR0cER5bmFtaWNJbmZvc2V0SW52b2tlci5qYXZhOjkxIGV4
dHJhY3RCb2R5Q29udGVudCAxXSByZXNwIGRvYzogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0idXRmLTgiPz48c29hcGVudjpFbnZlbG9wZSB4bWxuczp3c2E9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDUvMDgvYWRkcmVzc2luZyIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29h
cC5vcmcvc29hcC9lbnZlbG9wZS8iPjxzb2FwZW52OkhlYWRlcj48d3NhOlJlcGx5VG8+PHdzYTpB
ZGRyZXNzPmh0dHA6Ly93d3cudzMub3JnLzIwMDUvMDgvYWRkcmVzc2luZy9ub25lPC93c2E6QWRk
cmVzcz48L3dzYTpSZXBseVRvPjx3c2E6TWVzc2FnZUlEPnVybjp1dWlkOjk3NDdFQTg5ODdEQTNB
OEVCNTExNjM2OTg5Mjg1ODc3PC93c2E6TWVzc2FnZUlEPjx3c2E6QWN0aW9uPmh0dHA6Ly93d3cu
dzMub3JnLzIwMDUvMDgvYWRkcmVzc2luZy9mYXVsdDwvd3NhOkFjdGlvbj48d3NhOkZhdWx0RGV0
YWlsPjx3c2E6UHJvYmxlbUhlYWRlclFOYW1lPndzYTpBY3Rpb248L3dzYTpQcm9ibGVtSGVhZGVy
UU5hbWU+PC93c2E6RmF1bHREZXRhaWw+PC9zb2FwZW52OkhlYWRlcj48c29hcGVudjpCb2R5Pjxz
b2FwZW52OkZhdWx0PjxmYXVsdGNvZGU+d3NhOkludmFsaWRBZGRyZXNzaW5nSGVhZGVyPC9mYXVs
dGNvZGU+PGZhdWx0c3RyaW5nPkEgaGVhZGVyIHJlcHJlc2VudGluZyBhIE1lc3NhZ2UgQWRkcmVz
c2luZyBQcm9wZXJ0eSBpcyBub3QgdmFsaWQgYW5kIHRoZSBtZXNzYWdlIGNhbm5vdCBiZSBwcm9j
ZXNzZWQ8L2ZhdWx0c3RyaW5nPjxkZXRhaWwgLz48L3NvYXBlbnY6RmF1bHQ+PC9zb2FwZW52OkJv
ZHk+PC9zb2FwZW52OkVudmVsb3BlPg0KWyAxNzo0MDoyMC43NjUgbWFpbjogeHN1bC5pbnZva2Vy
LnNvYXBfb3Zlcl9odHRwLlNvYXBIdHRwRHluYW1pY0luZm9zZXRJbnZva2VyLmphdmE6OTYgZXh0
cmFjdEJvZHlDb250ZW50IDFdIGNvbnRlbnQgeG1sOiA8c29hcGVudjpGYXVsdCB4bWxuczpzb2Fw
ZW52PSJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy9zb2FwL2VudmVsb3BlLyI+PGZhdWx0Y29k
ZT53c2E6SW52YWxpZEFkZHJlc3NpbmdIZWFkZXI8L2ZhdWx0Y29kZT48ZmF1bHRzdHJpbmc+QSBo
ZWFkZXIgcmVwcmVzZW50aW5nIGEgTWVzc2FnZSBBZGRyZXNzaW5nIFByb3BlcnR5IGlzIG5vdCB2
YWxpZCBhbmQgdGhlIG1lc3NhZ2UgY2Fubm90IGJlIHByb2Nlc3NlZDwvZmF1bHRzdHJpbmc+PGRl
dGFpbCAvPjwvc29hcGVudjpGYXVsdD4NCnJlY2VpdmVkIGZhdWx0Og0KIDxkZXRhaWwgLz4NCg==

------=_Part_75620_4229172.1163700753281
Content-Type: text/xml; name=TestService.wsdl; charset=ANSI_X3.4-1968
Content-Transfer-Encoding: base64
X-Attachment-Id: f_eulhecaf
Content-Disposition: attachment; filename="TestService.wsdl"

PHdzZGw6ZGVmaW5pdGlvbnMgeG1sbnM6YXhpczI9Imh0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMy
IiB4bWxuczptaW1lPSJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93c2RsL21pbWUvIiAKICB4
bWxuczpodHRwPSJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93c2RsL2h0dHAvIiAKICB4bWxu
czpuczA9Imh0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMyL3hzZCIgCiAgeG1sbnM6c29hcDEyPSJo
dHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93c2RsL3NvYXAxMi8iIAogIHhtbG5zOm5zMT0iaHR0
cDovL29yZy5hcGFjaGUuYXhpczIveHNkIiAKICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMS9YTUxTY2hlbWEiIAogIHhtbG5zOnNvYXA9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3Jn
L3dzZGwvc29hcC8iIAogIHhtbG5zOndzZGw9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dz
ZGwvIiAKICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMyIj4KCjx3
c2RsOmRvY3VtZW50YXRpb24+VGVzdFNlcnZpY2U8L3dzZGw6ZG9jdW1lbnRhdGlvbj4KCjx3c2Rs
OnR5cGVzPgogIDx4czpzY2hlbWEgeG1sbnM6bnM9Imh0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMy
L3hzZCIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiIHRhcmdldE5hbWVzcGFjZT0iaHR0
cDovL3dzLmFwYWNoZS5vcmcvYXhpczIveHNkIj4KICAgIDx4czplbGVtZW50IG5hbWU9ImRvVGVz
dFJlc3BvbnNlIj4KICAgICAgPHhzOmNvbXBsZXhUeXBlPgogICAgICAgIDx4czpzZXF1ZW5jZT4K
ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9InJldHVybiIgbWluT2NjdXJzPSIxIiBtYXhPY2N1
cnM9IjEiIHR5cGU9InhzOnN0cmluZyIvPgogICAgICAgIDwveHM6c2VxdWVuY2U+CiAgICAgIDwv
eHM6Y29tcGxleFR5cGU+CiAgICA8L3hzOmVsZW1lbnQ+CiAgICA8eHM6ZWxlbWVudCBuYW1lPSJk
b1Rlc3RGYXVsdCI+CiAgICAgIDx4czpjb21wbGV4VHlwZT4KICAgICAgICA8eHM6c2VxdWVuY2U+
CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJkb1Rlc3RGYXVsdCIgdHlwZT0ieHM6YW55VHlw
ZSIvPgogICAgICAgIDwveHM6c2VxdWVuY2U+CiAgICAgIDwveHM6Y29tcGxleFR5cGU+CiAgICA8
L3hzOmVsZW1lbnQ+CiAgPC94czpzY2hlbWE+Cjwvd3NkbDp0eXBlcz4KCjx3c2RsOm1lc3NhZ2Ug
bmFtZT0iZG9UZXN0TWVzc2FnZSIvPgoKPHdzZGw6bWVzc2FnZSBuYW1lPSJkb1Rlc3RSZXNwb25z
ZSI+CiAgPHdzZGw6cGFydCBuYW1lPSJwYXJ0MSIgZWxlbWVudD0ibnMwOmRvVGVzdFJlc3BvbnNl
Ii8+Cjwvd3NkbDptZXNzYWdlPgoKPHdzZGw6bWVzc2FnZSBuYW1lPSJkb1Rlc3RGYXVsdCI+CiAg
PHdzZGw6cGFydCBuYW1lPSJwYXJ0MSIgZWxlbWVudD0ibnMwOmRvVGVzdEZhdWx0Ii8+Cjwvd3Nk
bDptZXNzYWdlPgoKPHdzZGw6cG9ydFR5cGUgbmFtZT0iVGVzdFNlcnZpY2VQb3J0VHlwZSI+CiAg
PHdzZGw6b3BlcmF0aW9uIG5hbWU9ImRvVGVzdCI+CiAgICA8d3NkbDppbnB1dCBtZXNzYWdlPSJh
eGlzMjpkb1Rlc3RNZXNzYWdlIiAvPgogICAgPHdzZGw6b3V0cHV0IG1lc3NhZ2U9ImF4aXMyOmRv
VGVzdFJlc3BvbnNlIi8+CiAgICA8d3NkbDpmYXVsdCBtZXNzYWdlPSJheGlzMjpkb1Rlc3RGYXVs
dCIgbmFtZT0iZG9UZXN0RmF1bHQiLz4KICA8L3dzZGw6b3BlcmF0aW9uPgo8L3dzZGw6cG9ydFR5
cGU+Cgo8d3NkbDpiaW5kaW5nIG5hbWU9IlRlc3RTZXJ2aWNlU09BUDExQmluZGluZyIgdHlwZT0i
YXhpczI6VGVzdFNlcnZpY2VQb3J0VHlwZSI+CiAgPHNvYXA6YmluZGluZyB0cmFuc3BvcnQ9Imh0
dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvaHR0cCIgc3R5bGU9ImRvY3VtZW50Ii8+CiAg
PHdzZGw6b3BlcmF0aW9uIG5hbWU9ImRvVGVzdCI+CiAgICA8c29hcDpvcGVyYXRpb24gc29hcEFj
dGlvbj0idXJuOmRvVGVzdCIgc3R5bGU9ImRvY3VtZW50Ii8+CiAgICA8d3NkbDppbnB1dD4KICAg
ICAgPHNvYXA6Ym9keSB1c2U9ImxpdGVyYWwiLz4KICAgIDwvd3NkbDppbnB1dD4KICAgIDx3c2Rs
Om91dHB1dD4KICAgICAgPHNvYXA6Ym9keSB1c2U9ImxpdGVyYWwiLz4KICAgIDwvd3NkbDpvdXRw
dXQ+CiAgICA8d3NkbDpmYXVsdCBuYW1lPSJkb1Rlc3RGYXVsdCI+CiAgICAgIDxzb2FwOmJvZHkg
dXNlPSJsaXRlcmFsIi8+CiAgICA8L3dzZGw6ZmF1bHQ+CiAgPC93c2RsOm9wZXJhdGlvbj4KPC93
c2RsOmJpbmRpbmc+Cgo8d3NkbDpiaW5kaW5nIG5hbWU9IlRlc3RTZXJ2aWNlU09BUDEyQmluZGlu
ZyIgdHlwZT0iYXhpczI6VGVzdFNlcnZpY2VQb3J0VHlwZSI+CiAgPHNvYXAxMjpiaW5kaW5nIHRy
YW5zcG9ydD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9odHRwIiBzdHlsZT0iZG9j
dW1lbnQiLz4KICA8d3NkbDpvcGVyYXRpb24gbmFtZT0iZG9UZXN0Ij4KICAgIDxzb2FwMTI6b3Bl
cmF0aW9uIHNvYXBBY3Rpb249InVybjpkb1Rlc3QiIHN0eWxlPSJkb2N1bWVudCIvPgogICAgPHdz
ZGw6aW5wdXQ+CiAgICAgIDxzb2FwMTI6Ym9keSB1c2U9ImxpdGVyYWwiLz4KICAgIDwvd3NkbDpp
bnB1dD4KICAgIDx3c2RsOm91dHB1dD4KICAgICAgPHNvYXAxMjpib2R5IHVzZT0ibGl0ZXJhbCIv
PgogICAgPC93c2RsOm91dHB1dD4KICAgIDx3c2RsOmZhdWx0IG5hbWU9ImRvVGVzdEZhdWx0Ij4K
ICAgICAgPHNvYXAxMjpmYXVsdCB1c2U9ImxpdGVyYWwiIG5hbWU9ImRvVGVzdEZhdWx0Ii8+CiAg
ICA8L3dzZGw6ZmF1bHQ+CiAgPC93c2RsOm9wZXJhdGlvbj4KPC93c2RsOmJpbmRpbmc+Cgo8d3Nk
bDpiaW5kaW5nIG5hbWU9IlRlc3RTZXJ2aWNlSHR0cEJpbmRpbmciIHR5cGU9ImF4aXMyOlRlc3RT
ZXJ2aWNlUG9ydFR5cGUiPgogIDxodHRwOmJpbmRpbmcgdmVyYj0iUE9TVCIvPgogIDx3c2RsOm9w
ZXJhdGlvbiBuYW1lPSJkb1Rlc3QiPgogICAgPGh0dHA6b3BlcmF0aW9uIGxvY2F0aW9uPSJkb1Rl
c3QiLz4KICAgIDx3c2RsOmlucHV0PgogICAgICA8bWltZTpjb250ZW50IHR5cGU9InRleHQveG1s
Ii8+CiAgICA8L3dzZGw6aW5wdXQ+CiAgICA8d3NkbDpvdXRwdXQ+CiAgICAgIDxtaW1lOmNvbnRl
bnQgdHlwZT0idGV4dC94bWwiLz4KICAgIDwvd3NkbDpvdXRwdXQ+CiAgICA8L3dzZGw6b3BlcmF0
aW9uPgo8L3dzZGw6YmluZGluZz4KCjx3c2RsOnNlcnZpY2UgbmFtZT0iVGVzdFNlcnZpY2UiPgog
ICAgPHdzZGw6cG9ydCBuYW1lPSJUZXN0U2VydmljZVNPQVAxMXBvcnRfaHR0cCIgYmluZGluZz0i
YXhpczI6VGVzdFNlcnZpY2VTT0FQMTFCaW5kaW5nIj4KICAgICAgPHNvYXA6YWRkcmVzcyBsb2Nh
dGlvbj0iaHR0cDovL2xvY2FsaG9zdDo4MDgwL2F4aXMyL3NlcnZpY2VzL1Rlc3RTZXJ2aWNlIi8+
CiAgICA8L3dzZGw6cG9ydD4KICAgIDx3c2RsOnBvcnQgbmFtZT0iVGVzdFNlcnZpY2VTT0FQMTJw
b3J0X2h0dHAiIGJpbmRpbmc9ImF4aXMyOlRlc3RTZXJ2aWNlU09BUDEyQmluZGluZyI+CiAgICAg
IDxzb2FwMTI6YWRkcmVzcyBsb2NhdGlvbj0iaHR0cDovL2xvY2FsaG9zdDo4MDgwL2F4aXMyL3Nl
cnZpY2VzL1Rlc3RTZXJ2aWNlIi8+CiAgICA8L3dzZGw6cG9ydD4KICAgIDx3c2RsOnBvcnQgbmFt
ZT0iVGVzdFNlcnZpY2VIdHRwcG9ydDEiIGJpbmRpbmc9ImF4aXMyOlRlc3RTZXJ2aWNlSHR0cEJp
bmRpbmciPgogICAgICA8aHR0cDphZGRyZXNzIGxvY2F0aW9uPSJodHRwOi8vbG9jYWxob3N0Ojgw
ODAvYXhpczIvcmVzdC9UZXN0U2VydmljZSIvPgogICAgPC93c2RsOnBvcnQ+Cjwvd3NkbDpzZXJ2
aWNlPgoKPC93c2RsOmRlZmluaXRpb25zPg==
------=_Part_75620_4229172.1163700753281--