<HTML><HEAD><TITLE>Re: [Gvsig_english] gvSIG, Oracle Spatial and Views</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.17023" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText8826>
<DIV><FONT face="Times New Roman" color=#000000 size=3>Hello, Kornel.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>That's a very interesting test.</DIV>
<DIV>&nbsp;</DIV>
<DIV>This is my first impression: the gvSIG Oracle Spatial driver sets FETCH_SIZE to 15000. This probably means that in a single access to the database, a portion of the resulting data&nbsp;(15000 rows) needs to be stored in memory. Since each row in the last test needs about 25 KB, the total space needed n memory is about 375 MB, which causes an out of memory error.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If you increase the amount of memory assigned to gvSIG, this problem is less likely to happen, of course. You can change it in this script if you are on Linux:</DIV>
<DIV>&nbsp;</DIV>
<DIV>$HOME/gvSIG_1.1.1/gvsig.sh&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Perhaps we should change the 15000 and make it inversely proportional to the size of each row. I'll look into it</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Regards,</DIV>
<DIV><FONT face="Times New Roman" color=#000000 size=3></FONT>&nbsp;</DIV></DIV>
<DIV id=idSignature45911>
<DIV><FONT face="Courier New" size=2><FONT face="Times New Roman" size=3>Juan Lucas Domínguez Rubio<BR></FONT>---</FONT></DIV>
<DIV><FONT face="Courier New" size=2><FONT face="Courier New" size=2><FONT face="Courier New" size=2>Prodevelop SL, Valencia (España)</FONT></DIV>
<DIV>
<DIV><FONT face="Courier New" size=2>Tlf.: 96.351.06.12 -- Fax: 96.351.09.68<BR></FONT><A href="http://www.prodevelop.es/"><FONT face="Courier New" size=2>http://www.prodevelop.es</FONT></A><BR><FONT face="Courier New" size=2>---</FONT></DIV></FONT></DIV></FONT></DIV>
<DIV><BR>
<HR>
<FONT face=Tahoma size=2><B>De:</B> gvsig_internacional-bounces@listserv.gva.es en nombre de K.Kiss<BR><B>Enviado el:</B> mié 14/04/2010 16:43<BR><B>Para:</B> gvsig_internacional@listserv.gva.es<BR><B>Asunto:</B> Re: [Gvsig_english] gvSIG, Oracle Spatial and Views<BR></FONT><BR></DIV>
<DIV><BR>
<P><FONT size=2>Hello,<BR><BR>i changed my original problem. I´ve converted the original view in standard<BR>oracle-table. Here the create skript:<BR><BR>delete from user_sdo_geom_metadata where table_name='MOBIL_R'<BR>/<BR>insert into user_sdo_geom_metadata values(<BR>'MOBIL_R','GEOM',mdsys.sdo_dim_array(mdsys.sdo_dim_element( 'X', 4356000,<BR>4612550, 0.0005),mdsys.sdo_dim_element( 'Y', 522550, 5496000,<BR>0.0005),mdsys.sdo_dim_element( 'Z', -255, 255, 0.0005)),82032)<BR>/<BR>DROP TABLE MOBIL_R CASCADE CONSTRAINTS<BR>/<BR>CREATE TABLE MOBIL_R<BR>(<BR>&nbsp; OBJEKT_ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER,<BR>&nbsp; NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(80 BYTE),<BR>&nbsp; STRASSEHAUSNR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(80 BYTE),<BR>&nbsp; PLZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; ORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; GEOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MDSYS.SDO_GEOMETRY,<BR>&nbsp; ANNOTATIONO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; CITYO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; CLASSIFICATIONO&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; EASTINGO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; EPLUSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; EPLUSUMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; EUROO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; INITIALOPERATIONO&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; NEWOPERATIONO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; NORTHINGO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; OFFICESO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; OTHERSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; O2O&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; O2UMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; RADIOSTATIONSKWO&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; RADIOSTATIONSUKWO&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; SAFETYDISTANCEO&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; TMOBILEO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; TMOBILEUMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; TVSTATIONSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; VODAFONEO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE),<BR>&nbsp; VODAFONEUMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(255 BYTE)<BR>)<BR>/<BR>CREATE INDEX MOBIL_PUNKT_GEOM_R ON MOBIL_R<BR>(GEOM)<BR>INDEXTYPE IS MDSYS.SPATIAL_INDEX<BR>/<BR>insert into mobil_r&nbsp; select * from&nbsp; UIS_GIS_MUC_MOBILFUNKANL_V_R<BR>/<BR>commit<BR>/<BR>So wide so good, the loading of the data of the oracle-table work!<BR>----------------------------------------------------------------<BR><BR>Change to 1000Byte&nbsp; Varchar2()!<BR><BR>delete from user_sdo_geom_metadata where table_name='MOBIL_R'<BR>/<BR>insert into user_sdo_geom_metadata values(<BR>'MOBIL_R','GEOM',mdsys.sdo_dim_array(mdsys.sdo_dim_element( 'X', 4356000,<BR>46110000, 0.0005),mdsys.sdo_dim_element( 'Y', 5210000, 5496000,<BR>0.0005),mdsys.sdo_dim_element( 'Z', -1000, 1000, 0.0005)),82032)<BR>/<BR>DROP TABLE MOBIL_R CASCADE CONSTRAINTS<BR>/<BR>CREATE TABLE MOBIL_R<BR>(<BR>&nbsp; OBJEKT_ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER,<BR>&nbsp; NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(80 BYTE),<BR>&nbsp; STRASSEHAUSNR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(80 BYTE),<BR>&nbsp; PLZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; ORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; GEOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MDSYS.SDO_GEOMETRY,<BR>&nbsp; ANNOTATIONO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; CITYO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; CLASSIFICATIONO&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; EASTINGO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; EPLUSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; EPLUSUMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; EUROO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; INITIALOPERATIONO&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; NEWOPERATIONO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; NORTHINGO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; OFFICESO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; OTHERSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; O2O&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; O2UMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; RADIOSTATIONSKWO&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; RADIOSTATIONSUKWO&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; SAFETYDISTANCEO&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; TMOBILEO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; TMOBILEUMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; TVSTATIONSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; VODAFONEO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE),<BR>&nbsp; VODAFONEUMTSO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1000 BYTE)<BR>)<BR>/<BR>CREATE INDEX MOBIL_PUNKT_GEOM_R ON MOBIL_R<BR>(GEOM)<BR>INDEXTYPE IS MDSYS.SPATIAL_INDEX<BR>/<BR>insert into mobil_r&nbsp; select * from&nbsp; UIS_GIS_MUC_MOBILFUNKANL_V_R<BR>/<BR>commit<BR>/<BR><BR><BR>The same datas producing any errors in GVSIG:<BR><BR>ERROR AWT-EventQueue-1<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver -<BR>===============<BR>DEBUG Thread-26<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver - SQL<BR>para leer ids: select rowid, c.GEOM.SDO_ELEM_INFO from UMSYSGIS.MOBIL_R c<BR>INFO Thread-26<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver -<BR>FETCH_SIZE = 15000<BR>DEBUG Thread-26<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver -<BR>Beginning of result set:<BR>INFO Thread-26<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver - IDs<BR>read: 0<BR>DEBUG AWT-EventQueue-1 com.iver.cit.gvsig.fmap.layers.FLyrDefault -<BR>setTocStatusImage sun.awt.image.ToolkitImage@55fd43 sobre capa<BR>UMSYSGIS.MOBIL_R<BR>INFO Thread-26<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver - Ids<BR>thread delayed by: 953 ms.<BR>DEBUG AWT-EventQueue-1 com.iver.andami.ui.mdiFrame.MDIFrame - Memory usage<BR>60236 KB<BR>DEBUG AWT-EventQueue-1 com.iver.andami.ui.mdiFrame.MDIFrame - Memory usage<BR>60236 KB<BR>DEBUG Thread-26 com.iver.cit.gvsig.fmap.layers.FLyrDefault -<BR>setTocStatusImage null sobre capa UMSYSGIS.MOBIL_R<BR>DEBUG Thread-19<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver - MAIN<BR>SEL = select ROWID, c."OBJEKT_ID", c."NAME", c."STRASSEHAUSNR", c."PLZ",<BR>c."ORT", c."ANNOTATIONO", c."CITYO", c."CLASSIFICATIONO", c."EASTINGO",<BR>c."EPLUSO", c."EPLUSUMTSO", c."EUROO", c."INITIALOPERATIONO",<BR>c."NEWOPERATIONO", c."NORTHINGO", c."OFFICESO", c."OTHERSO", c."O2O",<BR>c."O2UMTSO", c."RADIOSTATIONSKWO", c."RADIOSTATIONSUKWO",<BR>c."SAFETYDISTANCEO", c."TMOBILEO", c."TMOBILEUMTSO", c."TVSTATIONSO",<BR>c."VODAFONEO", c."VODAFONEUMTSO", c.GEOM from UMSYSGIS.MOBIL_R c where<BR>(sdo_relate(GEOM, mdsys.sdo_geometry(2003, 82032, null,<BR>mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array(4356000.0,<BR>-1.40906537313433E7, 4.611E7, 2.47966537313433E7)), 'mask=anyinteract<BR>querytype=window') = 'TRUE')<BR>DEBUG Thread-19 com.iver.andami.messages.NotificationManager - Java heap<BR>space<BR>java.lang.OutOfMemoryError: Java heap space<BR>DEBUG Thread-19<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver - MAIN<BR>SEL = select ROWID, c."OBJEKT_ID", c."NAME", c."STRASSEHAUSNR", c."PLZ",<BR>c."ORT", c."ANNOTATIONO", c."CITYO", c."CLASSIFICATIONO", c."EASTINGO",<BR>c."EPLUSO", c."EPLUSUMTSO", c."EUROO", c."INITIALOPERATIONO",<BR>c."NEWOPERATIONO", c."NORTHINGO", c."OFFICESO", c."OTHERSO", c."O2O",<BR>c."O2UMTSO", c."RADIOSTATIONSKWO", c."RADIOSTATIONSUKWO",<BR>c."SAFETYDISTANCEO", c."TMOBILEO", c."TMOBILEUMTSO", c."TVSTATIONSO",<BR>c."VODAFONEO", c."VODAFONEUMTSO", c.GEOM from UMSYSGIS.MOBIL_R c where<BR>(sdo_relate(GEOM, mdsys.sdo_geometry(2003, 82032, null,<BR>mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array(4356000.0,<BR>-1.40906537313433E7, 4.611E7, 2.47966537313433E7)), 'mask=anyinteract<BR>querytype=window') = 'TRUE')<BR>WARN AWT-EventQueue-1 com.iver.andami.PluginServices - Plugin com.iver.core<BR>-- Konnte Übersetzung nicht finden für: Informations-Konsole<BR>WARN AWT-EventQueue-1 com.iver.andami.PluginServices - Plugin com.iver.core<BR>-- Konnte Übersetzung nicht finden für: Aktiviert das Fenster<BR>DEBUG Thread-19 com.iver.andami.messages.NotificationManager - Java heap<BR>space<BR>java.lang.OutOfMemoryError: Java heap space<BR>DEBUG AWT-EventQueue-1 com.iver.core.mdiManager.NewSkin - Activando<BR>Informations-Konsole<BR>DEBUG AWT-EventQueue-1 com.iver.andami.ui.mdiFrame.MDIFrame - Memory usage<BR>52627 KB<BR>DEBUG Thread-19<BR>es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialDriver - MAIN<BR>SEL = select ROWID, c."OBJEKT_ID", c."NAME", c."STRASSEHAUSNR", c."PLZ",<BR>c."ORT", c."ANNOTATIONO", c."CITYO", c."CLASSIFICATIONO", c."EASTINGO",<BR>c."EPLUSO", c."EPLUSUMTSO", c."EUROO", c."INITIALOPERATIONO",<BR>c."NEWOPERATIONO", c."NORTHINGO", c."OFFICESO", c."OTHERSO", c."O2O",<BR>c."O2UMTSO", c."RADIOSTATIONSKWO", c."RADIOSTATIONSUKWO",<BR>c."SAFETYDISTANCEO", c."TMOBILEO", c."TMOBILEUMTSO", c."TVSTATIONSO",<BR>c."VODAFONEO", c."VODAFONEUMTSO", c.GEOM from UMSYSGIS.MOBIL_R c where<BR>(sdo_relate(GEOM, mdsys.sdo_geometry(2003, 82032, null,<BR>mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array(4356000.0,<BR>-1.40906537313433E7, 4.611E7, 2.47966537313433E7)), 'mask=anyinteract<BR>querytype=window') = 'TRUE')<BR>DEBUG Thread-19 com.iver.andami.messages.NotificationManager - Java heap<BR>space<BR>java.lang.OutOfMemoryError: Java heap space<BR>.................................<BR><BR>--<BR>View this message in context: <A href="http://n2.nabble.com/gvSIG-Oracle-Spatial-and-Views-tp4611156p4902016.html">http://n2.nabble.com/gvSIG-Oracle-Spatial-and-Views-tp4611156p4902016.html</A><BR>Sent from the gvSIG international mailing list archive at Nabble.com.<BR>_______________________________________________<BR>Gvsig_internacional mailing list<BR>Gvsig_internacional@listserv.gva.es<BR><A href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional</A><BR></FONT></P></DIV></BODY></HTML>